swiper.min.js 166 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578
  1. /**
  2. * Swiper 4.5.0
  3. * Most modern mobile touch slider and framework with hardware accelerated transitions
  4. * http://www.idangero.us/swiper/
  5. *
  6. * Copyright 2014-2019 Vladimir Kharlampidi
  7. *
  8. * Released under the MIT License
  9. *
  10. * Released on: February 22, 2019
  11. */
  12. ! function(e, t) {
  13. "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define &&
  14. define.amd ? define(t) : (e = e || self).Swiper = t()
  15. }(this, function() {
  16. "use strict";
  17. var f = "undefined" == typeof document ? {
  18. body: {},
  19. addEventListener: function() {},
  20. removeEventListener: function() {},
  21. activeElement: {
  22. blur: function() {},
  23. nodeName: ""
  24. },
  25. querySelector: function() {
  26. return null
  27. },
  28. querySelectorAll: function() {
  29. return []
  30. },
  31. getElementById: function() {
  32. return null
  33. },
  34. createEvent: function() {
  35. return {
  36. initEvent: function() {}
  37. }
  38. },
  39. createElement: function() {
  40. return {
  41. children: [],
  42. childNodes: [],
  43. style: {},
  44. setAttribute: function() {},
  45. getElementsByTagName: function() {
  46. return []
  47. }
  48. }
  49. },
  50. location: {
  51. hash: ""
  52. }
  53. } : document,
  54. J = "undefined" == typeof window ? {
  55. document: f,
  56. navigator: {
  57. userAgent: ""
  58. },
  59. location: {},
  60. history: {},
  61. CustomEvent: function() {
  62. return this
  63. },
  64. addEventListener: function() {},
  65. removeEventListener: function() {},
  66. getComputedStyle: function() {
  67. return {
  68. getPropertyValue: function() {
  69. return ""
  70. }
  71. }
  72. },
  73. Image: function() {},
  74. Date: function() {},
  75. screen: {},
  76. setTimeout: function() {},
  77. clearTimeout: function() {}
  78. } : window,
  79. l = function(e) {
  80. for (var t = 0; t < e.length; t += 1) this[t] = e[t];
  81. return this.length = e.length, this
  82. };
  83. function L(e, t) {
  84. var a = [],
  85. i = 0;
  86. if (e && !t && e instanceof l) return e;
  87. if (e)
  88. if ("string" == typeof e) {
  89. var s, r, n = e.trim();
  90. if (0 <= n.indexOf("<") && 0 <= n.indexOf(">")) {
  91. var o = "div";
  92. for (0 === n.indexOf("<li") && (o = "ul"), 0 === n.indexOf("<tr") && (o = "tbody"), 0 !== n
  93. .indexOf("<td") && 0 !== n.indexOf("<th") || (o = "tr"), 0 === n.indexOf("<tbody") && (o =
  94. "table"), 0 === n.indexOf("<option") && (o = "select"), (r = f.createElement(o))
  95. .innerHTML = n, i = 0; i < r.childNodes.length; i += 1) a.push(r.childNodes[i])
  96. } else
  97. for (s = t || "#" !== e[0] || e.match(/[ .<>:~]/) ? (t || f).querySelectorAll(e.trim()) : [f
  98. .getElementById(e.trim().split("#")[1])
  99. ], i = 0; i < s.length; i += 1) s[i] && a.push(s[i])
  100. } else if (e.nodeType || e === J || e === f) a.push(e);
  101. else if (0 < e.length && e[0].nodeType)
  102. for (i = 0; i < e.length; i += 1) a.push(e[i]);
  103. return new l(a)
  104. }
  105. function r(e) {
  106. for (var t = [], a = 0; a < e.length; a += 1) - 1 === t.indexOf(e[a]) && t.push(e[a]);
  107. return t
  108. }
  109. L.fn = l.prototype, L.Class = l, L.Dom7 = l;
  110. var t = {
  111. addClass: function(e) {
  112. if (void 0 === e) return this;
  113. for (var t = e.split(" "), a = 0; a < t.length; a += 1)
  114. for (var i = 0; i < this.length; i += 1) void 0 !== this[i] && void 0 !== this[i]
  115. .classList && this[i].classList.add(t[a]);
  116. return this
  117. },
  118. removeClass: function(e) {
  119. for (var t = e.split(" "), a = 0; a < t.length; a += 1)
  120. for (var i = 0; i < this.length; i += 1) void 0 !== this[i] && void 0 !== this[i]
  121. .classList && this[i].classList.remove(t[a]);
  122. return this
  123. },
  124. hasClass: function(e) {
  125. return !!this[0] && this[0].classList.contains(e)
  126. },
  127. toggleClass: function(e) {
  128. for (var t = e.split(" "), a = 0; a < t.length; a += 1)
  129. for (var i = 0; i < this.length; i += 1) void 0 !== this[i] && void 0 !== this[i]
  130. .classList && this[i].classList.toggle(t[a]);
  131. return this
  132. },
  133. attr: function(e, t) {
  134. var a = arguments;
  135. if (1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getAttribute(e) :
  136. void 0;
  137. for (var i = 0; i < this.length; i += 1)
  138. if (2 === a.length) this[i].setAttribute(e, t);
  139. else
  140. for (var s in e) this[i][s] = e[s], this[i].setAttribute(s, e[s]);
  141. return this
  142. },
  143. removeAttr: function(e) {
  144. for (var t = 0; t < this.length; t += 1) this[t].removeAttribute(e);
  145. return this
  146. },
  147. data: function(e, t) {
  148. var a;
  149. if (void 0 !== t) {
  150. for (var i = 0; i < this.length; i += 1)(a = this[i]).dom7ElementDataStorage || (a
  151. .dom7ElementDataStorage = {}), a.dom7ElementDataStorage[e] = t;
  152. return this
  153. }
  154. if (a = this[0]) {
  155. if (a.dom7ElementDataStorage && e in a.dom7ElementDataStorage) return a
  156. .dom7ElementDataStorage[e];
  157. var s = a.getAttribute("data-" + e);
  158. return s || void 0
  159. }
  160. },
  161. transform: function(e) {
  162. for (var t = 0; t < this.length; t += 1) {
  163. var a = this[t].style;
  164. a.webkitTransform = e, a.transform = e
  165. }
  166. return this
  167. },
  168. transition: function(e) {
  169. "string" != typeof e && (e += "ms");
  170. for (var t = 0; t < this.length; t += 1) {
  171. var a = this[t].style;
  172. a.webkitTransitionDuration = e, a.transitionDuration = e
  173. }
  174. return this
  175. },
  176. on: function() {
  177. for (var e, t = [], a = arguments.length; a--;) t[a] = arguments[a];
  178. var i = t[0],
  179. r = t[1],
  180. n = t[2],
  181. s = t[3];
  182. function o(e) {
  183. var t = e.target;
  184. if (t) {
  185. var a = e.target.dom7EventData || [];
  186. if (a.indexOf(e) < 0 && a.unshift(e), L(t).is(r)) n.apply(t, a);
  187. else
  188. for (var i = L(t).parents(), s = 0; s < i.length; s += 1) L(i[s]).is(r) && n.apply(
  189. i[s], a)
  190. }
  191. }
  192. function l(e) {
  193. var t = e && e.target && e.target.dom7EventData || [];
  194. t.indexOf(e) < 0 && t.unshift(e), n.apply(this, t)
  195. }
  196. "function" == typeof t[1] && (i = (e = t)[0], n = e[1], s = e[2], r = void 0), s || (s = !1);
  197. for (var d, p = i.split(" "), c = 0; c < this.length; c += 1) {
  198. var u = this[c];
  199. if (r)
  200. for (d = 0; d < p.length; d += 1) {
  201. var h = p[d];
  202. u.dom7LiveListeners || (u.dom7LiveListeners = {}), u.dom7LiveListeners[h] || (u
  203. .dom7LiveListeners[h] = []), u.dom7LiveListeners[h].push({
  204. listener: n,
  205. proxyListener: o
  206. }), u.addEventListener(h, o, s)
  207. } else
  208. for (d = 0; d < p.length; d += 1) {
  209. var v = p[d];
  210. u.dom7Listeners || (u.dom7Listeners = {}), u.dom7Listeners[v] || (u
  211. .dom7Listeners[v] = []), u.dom7Listeners[v].push({
  212. listener: n,
  213. proxyListener: l
  214. }), u.addEventListener(v, l, s)
  215. }
  216. }
  217. return this
  218. },
  219. off: function() {
  220. for (var e, t = [], a = arguments.length; a--;) t[a] = arguments[a];
  221. var i = t[0],
  222. s = t[1],
  223. r = t[2],
  224. n = t[3];
  225. "function" == typeof t[1] && (i = (e = t)[0], r = e[1], n = e[2], s = void 0), n || (n = !1);
  226. for (var o = i.split(" "), l = 0; l < o.length; l += 1)
  227. for (var d = o[l], p = 0; p < this.length; p += 1) {
  228. var c = this[p],
  229. u = void 0;
  230. if (!s && c.dom7Listeners ? u = c.dom7Listeners[d] : s && c.dom7LiveListeners && (u = c
  231. .dom7LiveListeners[d]), u && u.length)
  232. for (var h = u.length - 1; 0 <= h; h -= 1) {
  233. var v = u[h];
  234. r && v.listener === r ? (c.removeEventListener(d, v.proxyListener, n), u.splice(
  235. h, 1)) : r && v.listener && v.listener.dom7proxy && v.listener
  236. .dom7proxy === r ? (c.removeEventListener(d, v.proxyListener, n), u.splice(
  237. h, 1)) : r || (c.removeEventListener(d, v.proxyListener, n), u.splice(h,
  238. 1))
  239. }
  240. }
  241. return this
  242. },
  243. trigger: function() {
  244. for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
  245. for (var a = e[0].split(" "), i = e[1], s = 0; s < a.length; s += 1)
  246. for (var r = a[s], n = 0; n < this.length; n += 1) {
  247. var o = this[n],
  248. l = void 0;
  249. try {
  250. l = new J.CustomEvent(r, {
  251. detail: i,
  252. bubbles: !0,
  253. cancelable: !0
  254. })
  255. } catch (e) {
  256. (l = f.createEvent("Event")).initEvent(r, !0, !0), l.detail = i
  257. }
  258. o.dom7EventData = e.filter(function(e, t) {
  259. return 0 < t
  260. }), o.dispatchEvent(l), o.dom7EventData = [], delete o.dom7EventData
  261. }
  262. return this
  263. },
  264. transitionEnd: function(t) {
  265. var a, i = ["webkitTransitionEnd", "transitionend"],
  266. s = this;
  267. function r(e) {
  268. if (e.target === this)
  269. for (t.call(this, e), a = 0; a < i.length; a += 1) s.off(i[a], r)
  270. }
  271. if (t)
  272. for (a = 0; a < i.length; a += 1) s.on(i[a], r);
  273. return this
  274. },
  275. outerWidth: function(e) {
  276. if (0 < this.length) {
  277. if (e) {
  278. var t = this.styles();
  279. return this[0].offsetWidth + parseFloat(t.getPropertyValue("margin-right")) +
  280. parseFloat(t.getPropertyValue("margin-left"))
  281. }
  282. return this[0].offsetWidth
  283. }
  284. return null
  285. },
  286. outerHeight: function(e) {
  287. if (0 < this.length) {
  288. if (e) {
  289. var t = this.styles();
  290. return this[0].offsetHeight + parseFloat(t.getPropertyValue("margin-top")) + parseFloat(
  291. t.getPropertyValue("margin-bottom"))
  292. }
  293. return this[0].offsetHeight
  294. }
  295. return null
  296. },
  297. offset: function() {
  298. if (0 < this.length) {
  299. var e = this[0],
  300. t = e.getBoundingClientRect(),
  301. a = f.body,
  302. i = e.clientTop || a.clientTop || 0,
  303. s = e.clientLeft || a.clientLeft || 0,
  304. r = e === J ? J.scrollY : e.scrollTop,
  305. n = e === J ? J.scrollX : e.scrollLeft;
  306. return {
  307. top: t.top + r - i,
  308. left: t.left + n - s
  309. }
  310. }
  311. return null
  312. },
  313. css: function(e, t) {
  314. var a;
  315. if (1 === arguments.length) {
  316. if ("string" != typeof e) {
  317. for (a = 0; a < this.length; a += 1)
  318. for (var i in e) this[a].style[i] = e[i];
  319. return this
  320. }
  321. if (this[0]) return J.getComputedStyle(this[0], null).getPropertyValue(e)
  322. }
  323. if (2 === arguments.length && "string" == typeof e) {
  324. for (a = 0; a < this.length; a += 1) this[a].style[e] = t;
  325. return this
  326. }
  327. return this
  328. },
  329. each: function(e) {
  330. if (!e) return this;
  331. for (var t = 0; t < this.length; t += 1)
  332. if (!1 === e.call(this[t], t, this[t])) return this;
  333. return this
  334. },
  335. html: function(e) {
  336. if (void 0 === e) return this[0] ? this[0].innerHTML : void 0;
  337. for (var t = 0; t < this.length; t += 1) this[t].innerHTML = e;
  338. return this
  339. },
  340. text: function(e) {
  341. if (void 0 === e) return this[0] ? this[0].textContent.trim() : null;
  342. for (var t = 0; t < this.length; t += 1) this[t].textContent = e;
  343. return this
  344. },
  345. is: function(e) {
  346. var t, a, i = this[0];
  347. if (!i || void 0 === e) return !1;
  348. if ("string" == typeof e) {
  349. if (i.matches) return i.matches(e);
  350. if (i.webkitMatchesSelector) return i.webkitMatchesSelector(e);
  351. if (i.msMatchesSelector) return i.msMatchesSelector(e);
  352. for (t = L(e), a = 0; a < t.length; a += 1)
  353. if (t[a] === i) return !0;
  354. return !1
  355. }
  356. if (e === f) return i === f;
  357. if (e === J) return i === J;
  358. if (e.nodeType || e instanceof l) {
  359. for (t = e.nodeType ? [e] : e, a = 0; a < t.length; a += 1)
  360. if (t[a] === i) return !0;
  361. return !1
  362. }
  363. return !1
  364. },
  365. index: function() {
  366. var e, t = this[0];
  367. if (t) {
  368. for (e = 0; null !== (t = t.previousSibling);) 1 === t.nodeType && (e += 1);
  369. return e
  370. }
  371. },
  372. eq: function(e) {
  373. if (void 0 === e) return this;
  374. var t, a = this.length;
  375. return new l(a - 1 < e ? [] : e < 0 ? (t = a + e) < 0 ? [] : [this[t]] : [this[e]])
  376. },
  377. append: function() {
  378. for (var e, t = [], a = arguments.length; a--;) t[a] = arguments[a];
  379. for (var i = 0; i < t.length; i += 1) {
  380. e = t[i];
  381. for (var s = 0; s < this.length; s += 1)
  382. if ("string" == typeof e) {
  383. var r = f.createElement("div");
  384. for (r.innerHTML = e; r.firstChild;) this[s].appendChild(r.firstChild)
  385. } else if (e instanceof l)
  386. for (var n = 0; n < e.length; n += 1) this[s].appendChild(e[n]);
  387. else this[s].appendChild(e)
  388. }
  389. return this
  390. },
  391. prepend: function(e) {
  392. var t, a;
  393. for (t = 0; t < this.length; t += 1)
  394. if ("string" == typeof e) {
  395. var i = f.createElement("div");
  396. for (i.innerHTML = e, a = i.childNodes.length - 1; 0 <= a; a -= 1) this[t].insertBefore(
  397. i.childNodes[a], this[t].childNodes[0])
  398. } else if (e instanceof l)
  399. for (a = 0; a < e.length; a += 1) this[t].insertBefore(e[a], this[t].childNodes[0]);
  400. else this[t].insertBefore(e, this[t].childNodes[0]);
  401. return this
  402. },
  403. next: function(e) {
  404. return 0 < this.length ? e ? this[0].nextElementSibling && L(this[0].nextElementSibling).is(e) ?
  405. new l([this[0].nextElementSibling]) : new l([]) : this[0].nextElementSibling ? new l([this[
  406. 0].nextElementSibling]) : new l([]) : new l([])
  407. },
  408. nextAll: function(e) {
  409. var t = [],
  410. a = this[0];
  411. if (!a) return new l([]);
  412. for (; a.nextElementSibling;) {
  413. var i = a.nextElementSibling;
  414. e ? L(i).is(e) && t.push(i) : t.push(i), a = i
  415. }
  416. return new l(t)
  417. },
  418. prev: function(e) {
  419. if (0 < this.length) {
  420. var t = this[0];
  421. return e ? t.previousElementSibling && L(t.previousElementSibling).is(e) ? new l([t
  422. .previousElementSibling
  423. ]) : new l([]) : t.previousElementSibling ? new l([t.previousElementSibling]) : new l(
  424. [])
  425. }
  426. return new l([])
  427. },
  428. prevAll: function(e) {
  429. var t = [],
  430. a = this[0];
  431. if (!a) return new l([]);
  432. for (; a.previousElementSibling;) {
  433. var i = a.previousElementSibling;
  434. e ? L(i).is(e) && t.push(i) : t.push(i), a = i
  435. }
  436. return new l(t)
  437. },
  438. parent: function(e) {
  439. for (var t = [], a = 0; a < this.length; a += 1) null !== this[a].parentNode && (e ? L(this[a]
  440. .parentNode).is(e) && t.push(this[a].parentNode) : t.push(this[a].parentNode));
  441. return L(r(t))
  442. },
  443. parents: function(e) {
  444. for (var t = [], a = 0; a < this.length; a += 1)
  445. for (var i = this[a].parentNode; i;) e ? L(i).is(e) && t.push(i) : t.push(i), i = i
  446. .parentNode;
  447. return L(r(t))
  448. },
  449. closest: function(e) {
  450. var t = this;
  451. return void 0 === e ? new l([]) : (t.is(e) || (t = t.parents(e).eq(0)), t)
  452. },
  453. find: function(e) {
  454. for (var t = [], a = 0; a < this.length; a += 1)
  455. for (var i = this[a].querySelectorAll(e), s = 0; s < i.length; s += 1) t.push(i[s]);
  456. return new l(t)
  457. },
  458. children: function(e) {
  459. for (var t = [], a = 0; a < this.length; a += 1)
  460. for (var i = this[a].childNodes, s = 0; s < i.length; s += 1) e ? 1 === i[s].nodeType && L(
  461. i[s]).is(e) && t.push(i[s]) : 1 === i[s].nodeType && t.push(i[s]);
  462. return new l(r(t))
  463. },
  464. remove: function() {
  465. for (var e = 0; e < this.length; e += 1) this[e].parentNode && this[e].parentNode.removeChild(
  466. this[e]);
  467. return this
  468. },
  469. add: function() {
  470. for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
  471. var a, i;
  472. for (a = 0; a < e.length; a += 1) {
  473. var s = L(e[a]);
  474. for (i = 0; i < s.length; i += 1) this[this.length] = s[i], this.length += 1
  475. }
  476. return this
  477. },
  478. styles: function() {
  479. return this[0] ? J.getComputedStyle(this[0], null) : {}
  480. }
  481. };
  482. Object.keys(t).forEach(function(e) {
  483. L.fn[e] = t[e]
  484. });
  485. var e, a, i, s, ee = {
  486. deleteProps: function(e) {
  487. var t = e;
  488. Object.keys(t).forEach(function(e) {
  489. try {
  490. t[e] = null
  491. } catch (e) {}
  492. try {
  493. delete t[e]
  494. } catch (e) {}
  495. })
  496. },
  497. nextTick: function(e, t) {
  498. return void 0 === t && (t = 0), setTimeout(e, t)
  499. },
  500. now: function() {
  501. return Date.now()
  502. },
  503. getTranslate: function(e, t) {
  504. var a, i, s;
  505. void 0 === t && (t = "x");
  506. var r = J.getComputedStyle(e, null);
  507. return J.WebKitCSSMatrix ? (6 < (i = r.transform || r.webkitTransform).split(",").length && (i =
  508. i.split(", ").map(function(e) {
  509. return e.replace(",", ".")
  510. }).join(", ")), s = new J.WebKitCSSMatrix("none" === i ? "" : i)) : a = (s = r
  511. .MozTransform || r.OTransform || r.MsTransform || r.msTransform || r.transform || r
  512. .getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,")).toString()
  513. .split(","), "x" === t && (i = J.WebKitCSSMatrix ? s.m41 : 16 === a.length ? parseFloat(a[
  514. 12]) : parseFloat(a[4])), "y" === t && (i = J.WebKitCSSMatrix ? s.m42 : 16 === a
  515. .length ? parseFloat(a[13]) : parseFloat(a[5])), i || 0
  516. },
  517. parseUrlQuery: function(e) {
  518. var t, a, i, s, r = {},
  519. n = e || J.location.href;
  520. if ("string" == typeof n && n.length)
  521. for (s = (a = (n = -1 < n.indexOf("?") ? n.replace(/\S*\?/, "") : "").split("&").filter(
  522. function(e) {
  523. return "" !== e
  524. })).length, t = 0; t < s; t += 1) i = a[t].replace(/#\S+/g, "").split("="), r[
  525. decodeURIComponent(i[0])] = void 0 === i[1] ? void 0 : decodeURIComponent(i[1]) ||
  526. "";
  527. return r
  528. },
  529. isObject: function(e) {
  530. return "object" == typeof e && null !== e && e.constructor && e.constructor === Object
  531. },
  532. extend: function() {
  533. for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
  534. for (var a = Object(e[0]), i = 1; i < e.length; i += 1) {
  535. var s = e[i];
  536. if (null != s)
  537. for (var r = Object.keys(Object(s)), n = 0, o = r.length; n < o; n += 1) {
  538. var l = r[n],
  539. d = Object.getOwnPropertyDescriptor(s, l);
  540. void 0 !== d && d.enumerable && (ee.isObject(a[l]) && ee.isObject(s[l]) ? ee.extend(
  541. a[l], s[l]) : !ee.isObject(a[l]) && ee.isObject(s[l]) ? (a[l] = {}, ee
  542. .extend(a[l], s[l])) : a[l] = s[l])
  543. }
  544. }
  545. return a
  546. }
  547. },
  548. te = (i = f.createElement("div"), {
  549. touch: J.Modernizr && !0 === J.Modernizr.touch || !!(0 < J.navigator.maxTouchPoints ||
  550. "ontouchstart" in J || J.DocumentTouch && f instanceof J.DocumentTouch),
  551. pointerEvents: !!(J.navigator.pointerEnabled || J.PointerEvent || "maxTouchPoints" in J.navigator &&
  552. 0 < J.navigator.maxTouchPoints),
  553. prefixedPointerEvents: !!J.navigator.msPointerEnabled,
  554. transition: (a = i.style, "transition" in a || "webkitTransition" in a || "MozTransition" in a),
  555. transforms3d: J.Modernizr && !0 === J.Modernizr.csstransforms3d || (e = i.style,
  556. "webkitPerspective" in e || "MozPerspective" in e || "OPerspective" in e ||
  557. "MsPerspective" in e || "perspective" in e),
  558. flexbox: function() {
  559. for (var e = i.style, t =
  560. "alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient"
  561. .split(" "), a = 0; a < t.length; a += 1)
  562. if (t[a] in e) return !0;
  563. return !1
  564. }(),
  565. observer: "MutationObserver" in J || "WebkitMutationObserver" in J,
  566. passiveListener: function() {
  567. var e = !1;
  568. try {
  569. var t = Object.defineProperty({}, "passive", {
  570. get: function() {
  571. e = !0
  572. }
  573. });
  574. J.addEventListener("testPassiveListener", null, t)
  575. } catch (e) {}
  576. return e
  577. }(),
  578. gestures: "ongesturestart" in J
  579. }),
  580. I = {
  581. isIE: !!J.navigator.userAgent.match(/Trident/g) || !!J.navigator.userAgent.match(/MSIE/g),
  582. isEdge: !!J.navigator.userAgent.match(/Edge/g),
  583. isSafari: (s = J.navigator.userAgent.toLowerCase(), 0 <= s.indexOf("safari") && s.indexOf("chrome") <
  584. 0 && s.indexOf("android") < 0),
  585. isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(J.navigator.userAgent)
  586. },
  587. n = function(e) {
  588. void 0 === e && (e = {});
  589. var t = this;
  590. t.params = e, t.eventsListeners = {}, t.params && t.params.on && Object.keys(t.params.on).forEach(
  591. function(e) {
  592. t.on(e, t.params.on[e])
  593. })
  594. },
  595. o = {
  596. components: {
  597. configurable: !0
  598. }
  599. };
  600. n.prototype.on = function(e, t, a) {
  601. var i = this;
  602. if ("function" != typeof t) return i;
  603. var s = a ? "unshift" : "push";
  604. return e.split(" ").forEach(function(e) {
  605. i.eventsListeners[e] || (i.eventsListeners[e] = []), i.eventsListeners[e][s](t)
  606. }), i
  607. }, n.prototype.once = function(a, i, e) {
  608. var s = this;
  609. if ("function" != typeof i) return s;
  610. function r() {
  611. for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
  612. i.apply(s, e), s.off(a, r), r.f7proxy && delete r.f7proxy
  613. }
  614. return r.f7proxy = i, s.on(a, r, e)
  615. }, n.prototype.off = function(e, i) {
  616. var s = this;
  617. return s.eventsListeners && e.split(" ").forEach(function(a) {
  618. void 0 === i ? s.eventsListeners[a] = [] : s.eventsListeners[a] && s.eventsListeners[a]
  619. .length && s.eventsListeners[a].forEach(function(e, t) {
  620. (e === i || e.f7proxy && e.f7proxy === i) && s.eventsListeners[a].splice(t, 1)
  621. })
  622. }), s
  623. }, n.prototype.emit = function() {
  624. for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
  625. var a, i, s, r = this;
  626. return r.eventsListeners && ("string" == typeof e[0] || Array.isArray(e[0]) ? (a = e[0], i = e.slice(1,
  627. e.length), s = r) : (a = e[0].events, i = e[0].data, s = e[0].context || r), (Array.isArray(
  628. a) ? a : a.split(" ")).forEach(function(e) {
  629. if (r.eventsListeners && r.eventsListeners[e]) {
  630. var t = [];
  631. r.eventsListeners[e].forEach(function(e) {
  632. t.push(e)
  633. }), t.forEach(function(e) {
  634. e.apply(s, i)
  635. })
  636. }
  637. })), r
  638. }, n.prototype.useModulesParams = function(a) {
  639. var i = this;
  640. i.modules && Object.keys(i.modules).forEach(function(e) {
  641. var t = i.modules[e];
  642. t.params && ee.extend(a, t.params)
  643. })
  644. }, n.prototype.useModules = function(i) {
  645. void 0 === i && (i = {});
  646. var s = this;
  647. s.modules && Object.keys(s.modules).forEach(function(e) {
  648. var a = s.modules[e],
  649. t = i[e] || {};
  650. a.instance && Object.keys(a.instance).forEach(function(e) {
  651. var t = a.instance[e];
  652. s[e] = "function" == typeof t ? t.bind(s) : t
  653. }), a.on && s.on && Object.keys(a.on).forEach(function(e) {
  654. s.on(e, a.on[e])
  655. }), a.create && a.create.bind(s)(t)
  656. })
  657. }, o.components.set = function(e) {
  658. this.use && this.use(e)
  659. }, n.installModule = function(t) {
  660. for (var e = [], a = arguments.length - 1; 0 < a--;) e[a] = arguments[a + 1];
  661. var i = this;
  662. i.prototype.modules || (i.prototype.modules = {});
  663. var s = t.name || Object.keys(i.prototype.modules).length + "_" + ee.now();
  664. return (i.prototype.modules[s] = t).proto && Object.keys(t.proto).forEach(function(e) {
  665. i.prototype[e] = t.proto[e]
  666. }), t.static && Object.keys(t.static).forEach(function(e) {
  667. i[e] = t.static[e]
  668. }), t.install && t.install.apply(i, e), i
  669. }, n.use = function(e) {
  670. for (var t = [], a = arguments.length - 1; 0 < a--;) t[a] = arguments[a + 1];
  671. var i = this;
  672. return Array.isArray(e) ? (e.forEach(function(e) {
  673. return i.installModule(e)
  674. }), i) : i.installModule.apply(i, [e].concat(t))
  675. }, Object.defineProperties(n, o);
  676. var d = {
  677. updateSize: function() {
  678. var e, t, a = this,
  679. i = a.$el;
  680. e = void 0 !== a.params.width ? a.params.width : i[0].clientWidth, t = void 0 !== a.params
  681. .height ? a.params.height : i[0].clientHeight, 0 === e && a.isHorizontal() || 0 === t && a
  682. .isVertical() || (e = e - parseInt(i.css("padding-left"), 10) - parseInt(i.css(
  683. "padding-right"), 10), t = t - parseInt(i.css("padding-top"), 10) - parseInt(i.css(
  684. "padding-bottom"), 10), ee.extend(a, {
  685. width: e,
  686. height: t,
  687. size: a.isHorizontal() ? e : t
  688. }))
  689. },
  690. updateSlides: function() {
  691. var e = this,
  692. t = e.params,
  693. a = e.$wrapperEl,
  694. i = e.size,
  695. s = e.rtlTranslate,
  696. r = e.wrongRTL,
  697. n = e.virtual && t.virtual.enabled,
  698. o = n ? e.virtual.slides.length : e.slides.length,
  699. l = a.children("." + e.params.slideClass),
  700. d = n ? e.virtual.slides.length : l.length,
  701. p = [],
  702. c = [],
  703. u = [],
  704. h = t.slidesOffsetBefore;
  705. "function" == typeof h && (h = t.slidesOffsetBefore.call(e));
  706. var v = t.slidesOffsetAfter;
  707. "function" == typeof v && (v = t.slidesOffsetAfter.call(e));
  708. var f = e.snapGrid.length,
  709. m = e.snapGrid.length,
  710. g = t.spaceBetween,
  711. b = -h,
  712. w = 0,
  713. y = 0;
  714. if (void 0 !== i) {
  715. var x, T;
  716. "string" == typeof g && 0 <= g.indexOf("%") && (g = parseFloat(g.replace("%", "")) / 100 *
  717. i), e.virtualSize = -g, s ? l.css({
  718. marginLeft: "",
  719. marginTop: ""
  720. }) : l.css({
  721. marginRight: "",
  722. marginBottom: ""
  723. }), 1 < t.slidesPerColumn && (x = Math.floor(d / t.slidesPerColumn) === d / e.params
  724. .slidesPerColumn ? d : Math.ceil(d / t.slidesPerColumn) * t.slidesPerColumn,
  725. "auto" !== t.slidesPerView && "row" === t.slidesPerColumnFill && (x = Math.max(x, t
  726. .slidesPerView * t.slidesPerColumn)));
  727. for (var E, S = t.slidesPerColumn, C = x / S, M = Math.floor(d / t.slidesPerColumn), z =
  728. 0; z < d; z += 1) {
  729. T = 0;
  730. var P = l.eq(z);
  731. if (1 < t.slidesPerColumn) {
  732. var k = void 0,
  733. $ = void 0,
  734. L = void 0;
  735. "column" === t.slidesPerColumnFill ? (L = z - ($ = Math.floor(z / S)) * S, (M < $ ||
  736. $ === M && L === S - 1) && S <= (L += 1) && (L = 0, $ += 1), k = $ + L *
  737. x / S, P.css({
  738. "-webkit-box-ordinal-group": k,
  739. "-moz-box-ordinal-group": k,
  740. "-ms-flex-order": k,
  741. "-webkit-order": k,
  742. order: k
  743. })) : $ = z - (L = Math.floor(z / C)) * C, P.css("margin-" + (e
  744. .isHorizontal() ? "top" : "left"), 0 !== L && t.spaceBetween && t
  745. .spaceBetween + "px").attr("data-swiper-column", $).attr("data-swiper-row",
  746. L)
  747. }
  748. if ("none" !== P.css("display")) {
  749. if ("auto" === t.slidesPerView) {
  750. var I = J.getComputedStyle(P[0], null),
  751. D = P[0].style.transform,
  752. O = P[0].style.webkitTransform;
  753. if (D && (P[0].style.transform = "none"), O && (P[0].style.webkitTransform =
  754. "none"), t.roundLengths) T = e.isHorizontal() ? P.outerWidth(!0) : P
  755. .outerHeight(!0);
  756. else if (e.isHorizontal()) {
  757. var A = parseFloat(I.getPropertyValue("width")),
  758. H = parseFloat(I.getPropertyValue("padding-left")),
  759. N = parseFloat(I.getPropertyValue("padding-right")),
  760. G = parseFloat(I.getPropertyValue("margin-left")),
  761. B = parseFloat(I.getPropertyValue("margin-right")),
  762. X = I.getPropertyValue("box-sizing");
  763. T = X && "border-box" === X ? A + G + B : A + H + N + G + B
  764. } else {
  765. var Y = parseFloat(I.getPropertyValue("height")),
  766. V = parseFloat(I.getPropertyValue("padding-top")),
  767. F = parseFloat(I.getPropertyValue("padding-bottom")),
  768. R = parseFloat(I.getPropertyValue("margin-top")),
  769. q = parseFloat(I.getPropertyValue("margin-bottom")),
  770. W = I.getPropertyValue("box-sizing");
  771. T = W && "border-box" === W ? Y + R + q : Y + V + F + R + q
  772. }
  773. D && (P[0].style.transform = D), O && (P[0].style.webkitTransform = O), t
  774. .roundLengths && (T = Math.floor(T))
  775. } else T = (i - (t.slidesPerView - 1) * g) / t.slidesPerView, t.roundLengths && (T =
  776. Math.floor(T)), l[z] && (e.isHorizontal() ? l[z].style.width = T + "px" : l[
  777. z].style.height = T + "px");
  778. l[z] && (l[z].swiperSlideSize = T), u.push(T), t.centeredSlides ? (b = b + T / 2 +
  779. w / 2 + g, 0 === w && 0 !== z && (b = b - i / 2 - g), 0 === z && (b = b -
  780. i / 2 - g), Math.abs(b) < .001 && (b = 0), t.roundLengths && (b = Math
  781. .floor(b)), y % t.slidesPerGroup == 0 && p.push(b), c.push(b)) : (t
  782. .roundLengths && (b = Math.floor(b)), y % t.slidesPerGroup == 0 && p.push(
  783. b), c.push(b), b = b + T + g), e.virtualSize += T + g, w = T, y += 1
  784. }
  785. }
  786. if (e.virtualSize = Math.max(e.virtualSize, i) + v, s && r && ("slide" === t.effect ||
  787. "coverflow" === t.effect) && a.css({
  788. width: e.virtualSize + t.spaceBetween + "px"
  789. }), te.flexbox && !t.setWrapperSize || (e.isHorizontal() ? a.css({
  790. width: e.virtualSize + t.spaceBetween + "px"
  791. }) : a.css({
  792. height: e.virtualSize + t.spaceBetween + "px"
  793. })), 1 < t.slidesPerColumn && (e.virtualSize = (T + t.spaceBetween) * x, e.virtualSize =
  794. Math.ceil(e.virtualSize / t.slidesPerColumn) - t.spaceBetween, e.isHorizontal() ? a
  795. .css({
  796. width: e.virtualSize + t.spaceBetween + "px"
  797. }) : a.css({
  798. height: e.virtualSize + t.spaceBetween + "px"
  799. }), t.centeredSlides)) {
  800. E = [];
  801. for (var j = 0; j < p.length; j += 1) {
  802. var U = p[j];
  803. t.roundLengths && (U = Math.floor(U)), p[j] < e.virtualSize + p[0] && E.push(U)
  804. }
  805. p = E
  806. }
  807. if (!t.centeredSlides) {
  808. E = [];
  809. for (var K = 0; K < p.length; K += 1) {
  810. var _ = p[K];
  811. t.roundLengths && (_ = Math.floor(_)), p[K] <= e.virtualSize - i && E.push(_)
  812. }
  813. p = E, 1 < Math.floor(e.virtualSize - i) - Math.floor(p[p.length - 1]) && p.push(e
  814. .virtualSize - i)
  815. }
  816. if (0 === p.length && (p = [0]), 0 !== t.spaceBetween && (e.isHorizontal() ? s ? l.css({
  817. marginLeft: g + "px"
  818. }) : l.css({
  819. marginRight: g + "px"
  820. }) : l.css({
  821. marginBottom: g + "px"
  822. })), t.centerInsufficientSlides) {
  823. var Z = 0;
  824. if (u.forEach(function(e) {
  825. Z += e + (t.spaceBetween ? t.spaceBetween : 0)
  826. }), (Z -= t.spaceBetween) < i) {
  827. var Q = (i - Z) / 2;
  828. p.forEach(function(e, t) {
  829. p[t] = e - Q
  830. }), c.forEach(function(e, t) {
  831. c[t] = e + Q
  832. })
  833. }
  834. }
  835. ee.extend(e, {
  836. slides: l,
  837. snapGrid: p,
  838. slidesGrid: c,
  839. slidesSizesGrid: u
  840. }), d !== o && e.emit("slidesLengthChange"), p.length !== f && (e.params
  841. .watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")), c.length !==
  842. m && e.emit("slidesGridLengthChange"), (t.watchSlidesProgress || t
  843. .watchSlidesVisibility) && e.updateSlidesOffset()
  844. }
  845. },
  846. updateAutoHeight: function(e) {
  847. var t, a = this,
  848. i = [],
  849. s = 0;
  850. if ("number" == typeof e ? a.setTransition(e) : !0 === e && a.setTransition(a.params.speed),
  851. "auto" !== a.params.slidesPerView && 1 < a.params.slidesPerView)
  852. for (t = 0; t < Math.ceil(a.params.slidesPerView); t += 1) {
  853. var r = a.activeIndex + t;
  854. if (r > a.slides.length) break;
  855. i.push(a.slides.eq(r)[0])
  856. } else i.push(a.slides.eq(a.activeIndex)[0]);
  857. for (t = 0; t < i.length; t += 1)
  858. if (void 0 !== i[t]) {
  859. var n = i[t].offsetHeight;
  860. s = s < n ? n : s
  861. } s && a.$wrapperEl.css("height", s + "px")
  862. },
  863. updateSlidesOffset: function() {
  864. for (var e = this.slides, t = 0; t < e.length; t += 1) e[t].swiperSlideOffset = this
  865. .isHorizontal() ? e[t].offsetLeft : e[t].offsetTop
  866. },
  867. updateSlidesProgress: function(e) {
  868. void 0 === e && (e = this && this.translate || 0);
  869. var t = this,
  870. a = t.params,
  871. i = t.slides,
  872. s = t.rtlTranslate;
  873. if (0 !== i.length) {
  874. void 0 === i[0].swiperSlideOffset && t.updateSlidesOffset();
  875. var r = -e;
  876. s && (r = e), i.removeClass(a.slideVisibleClass), t.visibleSlidesIndexes = [], t
  877. .visibleSlides = [];
  878. for (var n = 0; n < i.length; n += 1) {
  879. var o = i[n],
  880. l = (r + (a.centeredSlides ? t.minTranslate() : 0) - o.swiperSlideOffset) / (o
  881. .swiperSlideSize + a.spaceBetween);
  882. if (a.watchSlidesVisibility) {
  883. var d = -(r - o.swiperSlideOffset),
  884. p = d + t.slidesSizesGrid[n];
  885. (0 <= d && d < t.size || 0 < p && p <= t.size || d <= 0 && p >= t.size) && (t
  886. .visibleSlides.push(o), t.visibleSlidesIndexes.push(n), i.eq(n).addClass(a
  887. .slideVisibleClass))
  888. }
  889. o.progress = s ? -l : l
  890. }
  891. t.visibleSlides = L(t.visibleSlides)
  892. }
  893. },
  894. updateProgress: function(e) {
  895. void 0 === e && (e = this && this.translate || 0);
  896. var t = this,
  897. a = t.params,
  898. i = t.maxTranslate() - t.minTranslate(),
  899. s = t.progress,
  900. r = t.isBeginning,
  901. n = t.isEnd,
  902. o = r,
  903. l = n;
  904. 0 === i ? n = r = !(s = 0) : (r = (s = (e - t.minTranslate()) / i) <= 0, n = 1 <= s), ee.extend(
  905. t, {
  906. progress: s,
  907. isBeginning: r,
  908. isEnd: n
  909. }), (a.watchSlidesProgress || a.watchSlidesVisibility) && t.updateSlidesProgress(e),
  910. r && !o && t.emit("reachBeginning toEdge"), n && !l && t.emit("reachEnd toEdge"), (o && !
  911. r || l && !n) && t.emit("fromEdge"), t.emit("progress", s)
  912. },
  913. updateSlidesClasses: function() {
  914. var e, t = this,
  915. a = t.slides,
  916. i = t.params,
  917. s = t.$wrapperEl,
  918. r = t.activeIndex,
  919. n = t.realIndex,
  920. o = t.virtual && i.virtual.enabled;
  921. a.removeClass(i.slideActiveClass + " " + i.slideNextClass + " " + i.slidePrevClass + " " + i
  922. .slideDuplicateActiveClass + " " + i.slideDuplicateNextClass + " " + i
  923. .slideDuplicatePrevClass), (e = o ? t.$wrapperEl.find("." + i.slideClass +
  924. '[data-swiper-slide-index="' + r + '"]') : a.eq(r)).addClass(i.slideActiveClass), i
  925. .loop && (e.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i
  926. .slideDuplicateClass + ')[data-swiper-slide-index="' + n + '"]').addClass(i
  927. .slideDuplicateActiveClass) : s.children("." + i.slideClass + "." + i
  928. .slideDuplicateClass + '[data-swiper-slide-index="' + n + '"]').addClass(i
  929. .slideDuplicateActiveClass));
  930. var l = e.nextAll("." + i.slideClass).eq(0).addClass(i.slideNextClass);
  931. i.loop && 0 === l.length && (l = a.eq(0)).addClass(i.slideNextClass);
  932. var d = e.prevAll("." + i.slideClass).eq(0).addClass(i.slidePrevClass);
  933. i.loop && 0 === d.length && (d = a.eq(-1)).addClass(i.slidePrevClass), i.loop && (l.hasClass(i
  934. .slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i
  935. .slideDuplicateClass + ')[data-swiper-slide-index="' + l.attr(
  936. "data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass) : s
  937. .children("." + i.slideClass + "." + i.slideDuplicateClass +
  938. '[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addClass(i
  939. .slideDuplicateNextClass), d.hasClass(i.slideDuplicateClass) ? s.children("." + i
  940. .slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + d
  941. .attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass) : s
  942. .children("." + i.slideClass + "." + i.slideDuplicateClass +
  943. '[data-swiper-slide-index="' + d.attr("data-swiper-slide-index") + '"]').addClass(i
  944. .slideDuplicatePrevClass))
  945. },
  946. updateActiveIndex: function(e) {
  947. var t, a = this,
  948. i = a.rtlTranslate ? a.translate : -a.translate,
  949. s = a.slidesGrid,
  950. r = a.snapGrid,
  951. n = a.params,
  952. o = a.activeIndex,
  953. l = a.realIndex,
  954. d = a.snapIndex,
  955. p = e;
  956. if (void 0 === p) {
  957. for (var c = 0; c < s.length; c += 1) void 0 !== s[c + 1] ? i >= s[c] && i < s[c + 1] - (s[
  958. c + 1] - s[c]) / 2 ? p = c : i >= s[c] && i < s[c + 1] && (p = c + 1) : i >= s[c] &&
  959. (p = c);
  960. n.normalizeSlideIndex && (p < 0 || void 0 === p) && (p = 0)
  961. }
  962. if ((t = 0 <= r.indexOf(i) ? r.indexOf(i) : Math.floor(p / n.slidesPerGroup)) >= r.length && (
  963. t = r.length - 1), p !== o) {
  964. var u = parseInt(a.slides.eq(p).attr("data-swiper-slide-index") || p, 10);
  965. ee.extend(a, {
  966. snapIndex: t,
  967. realIndex: u,
  968. previousIndex: o,
  969. activeIndex: p
  970. }), a.emit("activeIndexChange"), a.emit("snapIndexChange"), l !== u && a.emit(
  971. "realIndexChange"), a.emit("slideChange")
  972. } else t !== d && (a.snapIndex = t, a.emit("snapIndexChange"))
  973. },
  974. updateClickedSlide: function(e) {
  975. var t = this,
  976. a = t.params,
  977. i = L(e.target).closest("." + a.slideClass)[0],
  978. s = !1;
  979. if (i)
  980. for (var r = 0; r < t.slides.length; r += 1) t.slides[r] === i && (s = !0);
  981. if (!i || !s) return t.clickedSlide = void 0, void(t.clickedIndex = void 0);
  982. t.clickedSlide = i, t.virtual && t.params.virtual.enabled ? t.clickedIndex = parseInt(L(i).attr(
  983. "data-swiper-slide-index"), 10) : t.clickedIndex = L(i).index(), a
  984. .slideToClickedSlide && void 0 !== t.clickedIndex && t.clickedIndex !== t.activeIndex && t
  985. .slideToClickedSlide()
  986. }
  987. };
  988. var p = {
  989. getTranslate: function(e) {
  990. void 0 === e && (e = this.isHorizontal() ? "x" : "y");
  991. var t = this.params,
  992. a = this.rtlTranslate,
  993. i = this.translate,
  994. s = this.$wrapperEl;
  995. if (t.virtualTranslate) return a ? -i : i;
  996. var r = ee.getTranslate(s[0], e);
  997. return a && (r = -r), r || 0
  998. },
  999. setTranslate: function(e, t) {
  1000. var a = this,
  1001. i = a.rtlTranslate,
  1002. s = a.params,
  1003. r = a.$wrapperEl,
  1004. n = a.progress,
  1005. o = 0,
  1006. l = 0;
  1007. a.isHorizontal() ? o = i ? -e : e : l = e, s.roundLengths && (o = Math.floor(o), l = Math.floor(
  1008. l)), s.virtualTranslate || (te.transforms3d ? r.transform("translate3d(" + o + "px, " +
  1009. l + "px, 0px)") : r.transform("translate(" + o + "px, " + l + "px)")), a
  1010. .previousTranslate = a.translate, a.translate = a.isHorizontal() ? o : l;
  1011. var d = a.maxTranslate() - a.minTranslate();
  1012. (0 === d ? 0 : (e - a.minTranslate()) / d) !== n && a.updateProgress(e), a.emit("setTranslate",
  1013. a.translate, t)
  1014. },
  1015. minTranslate: function() {
  1016. return -this.snapGrid[0]
  1017. },
  1018. maxTranslate: function() {
  1019. return -this.snapGrid[this.snapGrid.length - 1]
  1020. }
  1021. };
  1022. var c = {
  1023. setTransition: function(e, t) {
  1024. this.$wrapperEl.transition(e), this.emit("setTransition", e, t)
  1025. },
  1026. transitionStart: function(e, t) {
  1027. void 0 === e && (e = !0);
  1028. var a = this,
  1029. i = a.activeIndex,
  1030. s = a.params,
  1031. r = a.previousIndex;
  1032. s.autoHeight && a.updateAutoHeight();
  1033. var n = t;
  1034. if (n || (n = r < i ? "next" : i < r ? "prev" : "reset"), a.emit("transitionStart"), e && i !==
  1035. r) {
  1036. if ("reset" === n) return void a.emit("slideResetTransitionStart");
  1037. a.emit("slideChangeTransitionStart"), "next" === n ? a.emit("slideNextTransitionStart") : a
  1038. .emit("slidePrevTransitionStart")
  1039. }
  1040. },
  1041. transitionEnd: function(e, t) {
  1042. void 0 === e && (e = !0);
  1043. var a = this,
  1044. i = a.activeIndex,
  1045. s = a.previousIndex;
  1046. a.animating = !1, a.setTransition(0);
  1047. var r = t;
  1048. if (r || (r = s < i ? "next" : i < s ? "prev" : "reset"), a.emit("transitionEnd"), e && i !==
  1049. s) {
  1050. if ("reset" === r) return void a.emit("slideResetTransitionEnd");
  1051. a.emit("slideChangeTransitionEnd"), "next" === r ? a.emit("slideNextTransitionEnd") : a
  1052. .emit("slidePrevTransitionEnd")
  1053. }
  1054. }
  1055. };
  1056. var u = {
  1057. slideTo: function(e, t, a, i) {
  1058. void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0);
  1059. var s = this,
  1060. r = e;
  1061. r < 0 && (r = 0);
  1062. var n = s.params,
  1063. o = s.snapGrid,
  1064. l = s.slidesGrid,
  1065. d = s.previousIndex,
  1066. p = s.activeIndex,
  1067. c = s.rtlTranslate;
  1068. if (s.animating && n.preventInteractionOnTransition) return !1;
  1069. var u = Math.floor(r / n.slidesPerGroup);
  1070. u >= o.length && (u = o.length - 1), (p || n.initialSlide || 0) === (d || 0) && a && s.emit(
  1071. "beforeSlideChangeStart");
  1072. var h, v = -o[u];
  1073. if (s.updateProgress(v), n.normalizeSlideIndex)
  1074. for (var f = 0; f < l.length; f += 1) - Math.floor(100 * v) >= Math.floor(100 * l[f]) && (
  1075. r = f);
  1076. if (s.initialized && r !== p) {
  1077. if (!s.allowSlideNext && v < s.translate && v < s.minTranslate()) return !1;
  1078. if (!s.allowSlidePrev && v > s.translate && v > s.maxTranslate() && (p || 0) !== r) return !
  1079. 1
  1080. }
  1081. return h = p < r ? "next" : r < p ? "prev" : "reset", c && -v === s.translate || !c && v === s
  1082. .translate ? (s.updateActiveIndex(r), n.autoHeight && s.updateAutoHeight(), s
  1083. .updateSlidesClasses(), "slide" !== n.effect && s.setTranslate(v), "reset" !== h && (s
  1084. .transitionStart(a, h), s.transitionEnd(a, h)), !1) : (0 !== t && te.transition ? (s
  1085. .setTransition(t), s.setTranslate(v), s.updateActiveIndex(r), s
  1086. .updateSlidesClasses(), s.emit("beforeTransitionStart", t, i), s.transitionStart(a,
  1087. h), s.animating || (s.animating = !0, s.onSlideToWrapperTransitionEnd || (s
  1088. .onSlideToWrapperTransitionEnd = function(e) {
  1089. s && !s.destroyed && e.target === this && (s.$wrapperEl[0]
  1090. .removeEventListener("transitionend", s
  1091. .onSlideToWrapperTransitionEnd), s.$wrapperEl[0]
  1092. .removeEventListener("webkitTransitionEnd", s
  1093. .onSlideToWrapperTransitionEnd), s
  1094. .onSlideToWrapperTransitionEnd = null, delete s
  1095. .onSlideToWrapperTransitionEnd, s.transitionEnd(a, h))
  1096. }), s.$wrapperEl[0].addEventListener("transitionend", s
  1097. .onSlideToWrapperTransitionEnd), s.$wrapperEl[0].addEventListener(
  1098. "webkitTransitionEnd", s.onSlideToWrapperTransitionEnd))) : (s.setTransition(0),
  1099. s.setTranslate(v), s.updateActiveIndex(r), s.updateSlidesClasses(), s.emit(
  1100. "beforeTransitionStart", t, i), s.transitionStart(a, h), s.transitionEnd(a, h)),
  1101. !0)
  1102. },
  1103. slideToLoop: function(e, t, a, i) {
  1104. void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0);
  1105. var s = e;
  1106. return this.params.loop && (s += this.loopedSlides), this.slideTo(s, t, a, i)
  1107. },
  1108. slideNext: function(e, t, a) {
  1109. void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
  1110. var i = this,
  1111. s = i.params,
  1112. r = i.animating;
  1113. return s.loop ? !r && (i.loopFix(), i._clientLeft = i.$wrapperEl[0].clientLeft, i.slideTo(i
  1114. .activeIndex + s.slidesPerGroup, e, t, a)) : i.slideTo(i.activeIndex + s.slidesPerGroup,
  1115. e, t, a)
  1116. },
  1117. slidePrev: function(e, t, a) {
  1118. void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
  1119. var i = this,
  1120. s = i.params,
  1121. r = i.animating,
  1122. n = i.snapGrid,
  1123. o = i.slidesGrid,
  1124. l = i.rtlTranslate;
  1125. if (s.loop) {
  1126. if (r) return !1;
  1127. i.loopFix(), i._clientLeft = i.$wrapperEl[0].clientLeft
  1128. }
  1129. function d(e) {
  1130. return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e)
  1131. }
  1132. var p, c = d(l ? i.translate : -i.translate),
  1133. u = n.map(function(e) {
  1134. return d(e)
  1135. }),
  1136. h = (o.map(function(e) {
  1137. return d(e)
  1138. }), n[u.indexOf(c)], n[u.indexOf(c) - 1]);
  1139. return void 0 !== h && (p = o.indexOf(h)) < 0 && (p = i.activeIndex - 1), i.slideTo(p, e, t, a)
  1140. },
  1141. slideReset: function(e, t, a) {
  1142. return void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), this.slideTo(this
  1143. .activeIndex, e, t, a)
  1144. },
  1145. slideToClosest: function(e, t, a) {
  1146. void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
  1147. var i = this,
  1148. s = i.activeIndex,
  1149. r = Math.floor(s / i.params.slidesPerGroup);
  1150. if (r < i.snapGrid.length - 1) {
  1151. var n = i.rtlTranslate ? i.translate : -i.translate,
  1152. o = i.snapGrid[r];
  1153. (i.snapGrid[r + 1] - o) / 2 < n - o && (s = i.params.slidesPerGroup)
  1154. }
  1155. return i.slideTo(s, e, t, a)
  1156. },
  1157. slideToClickedSlide: function() {
  1158. var e, t = this,
  1159. a = t.params,
  1160. i = t.$wrapperEl,
  1161. s = "auto" === a.slidesPerView ? t.slidesPerViewDynamic() : a.slidesPerView,
  1162. r = t.clickedIndex;
  1163. if (a.loop) {
  1164. if (t.animating) return;
  1165. e = parseInt(L(t.clickedSlide).attr("data-swiper-slide-index"), 10), a.centeredSlides ? r <
  1166. t.loopedSlides - s / 2 || r > t.slides.length - t.loopedSlides + s / 2 ? (t.loopFix(),
  1167. r = i.children("." + a.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' +
  1168. a.slideDuplicateClass + ")").eq(0).index(), ee.nextTick(function() {
  1169. t.slideTo(r)
  1170. })) : t.slideTo(r) : r > t.slides.length - s ? (t.loopFix(), r = i.children("." + a
  1171. .slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + a
  1172. .slideDuplicateClass + ")").eq(0).index(), ee.nextTick(function() {
  1173. t.slideTo(r)
  1174. })) : t.slideTo(r)
  1175. } else t.slideTo(r)
  1176. }
  1177. };
  1178. var h = {
  1179. loopCreate: function() {
  1180. var i = this,
  1181. e = i.params,
  1182. t = i.$wrapperEl;
  1183. t.children("." + e.slideClass + "." + e.slideDuplicateClass).remove();
  1184. var s = t.children("." + e.slideClass);
  1185. if (e.loopFillGroupWithBlank) {
  1186. var a = e.slidesPerGroup - s.length % e.slidesPerGroup;
  1187. if (a !== e.slidesPerGroup) {
  1188. for (var r = 0; r < a; r += 1) {
  1189. var n = L(f.createElement("div")).addClass(e.slideClass + " " + e.slideBlankClass);
  1190. t.append(n)
  1191. }
  1192. s = t.children("." + e.slideClass)
  1193. }
  1194. }
  1195. "auto" !== e.slidesPerView || e.loopedSlides || (e.loopedSlides = s.length), i.loopedSlides =
  1196. parseInt(e.loopedSlides || e.slidesPerView, 10), i.loopedSlides += e.loopAdditionalSlides, i
  1197. .loopedSlides > s.length && (i.loopedSlides = s.length);
  1198. var o = [],
  1199. l = [];
  1200. s.each(function(e, t) {
  1201. var a = L(t);
  1202. e < i.loopedSlides && l.push(t), e < s.length && e >= s.length - i.loopedSlides && o
  1203. .push(t), a.attr("data-swiper-slide-index", e)
  1204. });
  1205. for (var d = 0; d < l.length; d += 1) t.append(L(l[d].cloneNode(!0)).addClass(e
  1206. .slideDuplicateClass));
  1207. for (var p = o.length - 1; 0 <= p; p -= 1) t.prepend(L(o[p].cloneNode(!0)).addClass(e
  1208. .slideDuplicateClass))
  1209. },
  1210. loopFix: function() {
  1211. var e, t = this,
  1212. a = t.params,
  1213. i = t.activeIndex,
  1214. s = t.slides,
  1215. r = t.loopedSlides,
  1216. n = t.allowSlidePrev,
  1217. o = t.allowSlideNext,
  1218. l = t.snapGrid,
  1219. d = t.rtlTranslate;
  1220. t.allowSlidePrev = !0, t.allowSlideNext = !0;
  1221. var p = -l[i] - t.getTranslate();
  1222. i < r ? (e = s.length - 3 * r + i, e += r, t.slideTo(e, 0, !1, !0) && 0 !== p && t.setTranslate(
  1223. (d ? -t.translate : t.translate) - p)) : ("auto" === a.slidesPerView && 2 * r <= i ||
  1224. i >= s.length - r) && (e = -s.length + i + r, e += r, t.slideTo(e, 0, !1, !0) && 0 !==
  1225. p && t.setTranslate((d ? -t.translate : t.translate) - p));
  1226. t.allowSlidePrev = n, t.allowSlideNext = o
  1227. },
  1228. loopDestroy: function() {
  1229. var e = this.$wrapperEl,
  1230. t = this.params,
  1231. a = this.slides;
  1232. e.children("." + t.slideClass + "." + t.slideDuplicateClass + ",." + t.slideClass + "." + t
  1233. .slideBlankClass).remove(), a.removeAttr("data-swiper-slide-index")
  1234. }
  1235. };
  1236. var v = {
  1237. setGrabCursor: function(e) {
  1238. if (!(te.touch || !this.params.simulateTouch || this.params.watchOverflow && this.isLocked)) {
  1239. var t = this.el;
  1240. t.style.cursor = "move", t.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab", t.style
  1241. .cursor = e ? "-moz-grabbin" : "-moz-grab", t.style.cursor = e ? "grabbing" : "grab"
  1242. }
  1243. },
  1244. unsetGrabCursor: function() {
  1245. te.touch || this.params.watchOverflow && this.isLocked || (this.el.style.cursor = "")
  1246. }
  1247. };
  1248. var m = {
  1249. appendSlide: function(e) {
  1250. var t = this,
  1251. a = t.$wrapperEl,
  1252. i = t.params;
  1253. if (i.loop && t.loopDestroy(), "object" == typeof e && "length" in e)
  1254. for (var s = 0; s < e.length; s += 1) e[s] && a.append(e[s]);
  1255. else a.append(e);
  1256. i.loop && t.loopCreate(), i.observer && te.observer || t.update()
  1257. },
  1258. prependSlide: function(e) {
  1259. var t = this,
  1260. a = t.params,
  1261. i = t.$wrapperEl,
  1262. s = t.activeIndex;
  1263. a.loop && t.loopDestroy();
  1264. var r = s + 1;
  1265. if ("object" == typeof e && "length" in e) {
  1266. for (var n = 0; n < e.length; n += 1) e[n] && i.prepend(e[n]);
  1267. r = s + e.length
  1268. } else i.prepend(e);
  1269. a.loop && t.loopCreate(), a.observer && te.observer || t.update(), t.slideTo(r, 0, !1)
  1270. },
  1271. addSlide: function(e, t) {
  1272. var a = this,
  1273. i = a.$wrapperEl,
  1274. s = a.params,
  1275. r = a.activeIndex;
  1276. s.loop && (r -= a.loopedSlides, a.loopDestroy(), a.slides = i.children("." + s.slideClass));
  1277. var n = a.slides.length;
  1278. if (e <= 0) a.prependSlide(t);
  1279. else if (n <= e) a.appendSlide(t);
  1280. else {
  1281. for (var o = e < r ? r + 1 : r, l = [], d = n - 1; e <= d; d -= 1) {
  1282. var p = a.slides.eq(d);
  1283. p.remove(), l.unshift(p)
  1284. }
  1285. if ("object" == typeof t && "length" in t) {
  1286. for (var c = 0; c < t.length; c += 1) t[c] && i.append(t[c]);
  1287. o = e < r ? r + t.length : r
  1288. } else i.append(t);
  1289. for (var u = 0; u < l.length; u += 1) i.append(l[u]);
  1290. s.loop && a.loopCreate(), s.observer && te.observer || a.update(), s.loop ? a.slideTo(o + a
  1291. .loopedSlides, 0, !1) : a.slideTo(o, 0, !1)
  1292. }
  1293. },
  1294. removeSlide: function(e) {
  1295. var t = this,
  1296. a = t.params,
  1297. i = t.$wrapperEl,
  1298. s = t.activeIndex;
  1299. a.loop && (s -= t.loopedSlides, t.loopDestroy(), t.slides = i.children("." + a.slideClass));
  1300. var r, n = s;
  1301. if ("object" == typeof e && "length" in e) {
  1302. for (var o = 0; o < e.length; o += 1) r = e[o], t.slides[r] && t.slides.eq(r).remove(), r <
  1303. n && (n -= 1);
  1304. n = Math.max(n, 0)
  1305. } else r = e, t.slides[r] && t.slides.eq(r).remove(), r < n && (n -= 1), n = Math.max(n, 0);
  1306. a.loop && t.loopCreate(), a.observer && te.observer || t.update(), a.loop ? t.slideTo(n + t
  1307. .loopedSlides, 0, !1) : t.slideTo(n, 0, !1)
  1308. },
  1309. removeAllSlides: function() {
  1310. for (var e = [], t = 0; t < this.slides.length; t += 1) e.push(t);
  1311. this.removeSlide(e)
  1312. }
  1313. },
  1314. g = function() {
  1315. var e = J.navigator.userAgent,
  1316. t = {
  1317. ios: !1,
  1318. android: !1,
  1319. androidChrome: !1,
  1320. desktop: !1,
  1321. windows: !1,
  1322. iphone: !1,
  1323. ipod: !1,
  1324. ipad: !1,
  1325. cordova: J.cordova || J.phonegap,
  1326. phonegap: J.cordova || J.phonegap
  1327. },
  1328. a = e.match(/(Windows Phone);?[\s\/]+([\d.]+)?/),
  1329. i = e.match(/(Android);?[\s\/]+([\d.]+)?/),
  1330. s = e.match(/(iPad).*OS\s([\d_]+)/),
  1331. r = e.match(/(iPod)(.*OS\s([\d_]+))?/),
  1332. n = !s && e.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
  1333. if (a && (t.os = "windows", t.osVersion = a[2], t.windows = !0), i && !a && (t.os = "android", t
  1334. .osVersion = i[2], t.android = !0, t.androidChrome = 0 <= e.toLowerCase().indexOf("chrome")), (
  1335. s || n || r) && (t.os = "ios", t.ios = !0), n && !r && (t.osVersion = n[2].replace(/_/g, "."), t
  1336. .iphone = !0), s && (t.osVersion = s[2].replace(/_/g, "."), t.ipad = !0), r && (t.osVersion = r[
  1337. 3] ? r[3].replace(/_/g, ".") : null, t.iphone = !0), t.ios && t.osVersion && 0 <= e.indexOf(
  1338. "Version/") && "10" === t.osVersion.split(".")[0] && (t.osVersion = e.toLowerCase().split(
  1339. "version/")[1].split(" ")[0]), t.desktop = !(t.os || t.android || t.webView), t.webView = (n ||
  1340. s || r) && e.match(/.*AppleWebKit(?!.*Safari)/i), t.os && "ios" === t.os) {
  1341. var o = t.osVersion.split("."),
  1342. l = f.querySelector('meta[name="viewport"]');
  1343. t.minimalUi = !t.webView && (r || n) && (1 * o[0] == 7 ? 1 <= 1 * o[1] : 7 < 1 * o[0]) && l && 0 <=
  1344. l.getAttribute("content").indexOf("minimal-ui")
  1345. }
  1346. return t.pixelRatio = J.devicePixelRatio || 1, t
  1347. }();
  1348. function b() {
  1349. var e = this,
  1350. t = e.params,
  1351. a = e.el;
  1352. if (!a || 0 !== a.offsetWidth) {
  1353. t.breakpoints && e.setBreakpoint();
  1354. var i = e.allowSlideNext,
  1355. s = e.allowSlidePrev,
  1356. r = e.snapGrid;
  1357. if (e.allowSlideNext = !0, e.allowSlidePrev = !0, e.updateSize(), e.updateSlides(), t.freeMode) {
  1358. var n = Math.min(Math.max(e.translate, e.maxTranslate()), e.minTranslate());
  1359. e.setTranslate(n), e.updateActiveIndex(), e.updateSlidesClasses(), t.autoHeight && e
  1360. .updateAutoHeight()
  1361. } else e.updateSlidesClasses(), ("auto" === t.slidesPerView || 1 < t.slidesPerView) && e.isEnd && !e
  1362. .params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1,
  1363. !0);
  1364. e.allowSlidePrev = s, e.allowSlideNext = i, e.params.watchOverflow && r !== e.snapGrid && e
  1365. .checkOverflow()
  1366. }
  1367. }
  1368. var w = {
  1369. init: !0,
  1370. direction: "horizontal",
  1371. touchEventsTarget: "container",
  1372. initialSlide: 0,
  1373. speed: 300,
  1374. preventInteractionOnTransition: !1,
  1375. edgeSwipeDetection: !1,
  1376. edgeSwipeThreshold: 20,
  1377. freeMode: !1,
  1378. freeModeMomentum: !0,
  1379. freeModeMomentumRatio: 1,
  1380. freeModeMomentumBounce: !0,
  1381. freeModeMomentumBounceRatio: 1,
  1382. freeModeMomentumVelocityRatio: 1,
  1383. freeModeSticky: !1,
  1384. freeModeMinimumVelocity: .02,
  1385. autoHeight: !1,
  1386. setWrapperSize: !1,
  1387. virtualTranslate: !1,
  1388. effect: "slide",
  1389. breakpoints: void 0,
  1390. breakpointsInverse: !1,
  1391. spaceBetween: 0,
  1392. slidesPerView: 1,
  1393. slidesPerColumn: 1,
  1394. slidesPerColumnFill: "column",
  1395. slidesPerGroup: 1,
  1396. centeredSlides: !1,
  1397. slidesOffsetBefore: 0,
  1398. slidesOffsetAfter: 0,
  1399. normalizeSlideIndex: !0,
  1400. centerInsufficientSlides: !1,
  1401. watchOverflow: !1,
  1402. roundLengths: !1,
  1403. touchRatio: 1,
  1404. touchAngle: 45,
  1405. simulateTouch: !0,
  1406. shortSwipes: !0,
  1407. longSwipes: !0,
  1408. longSwipesRatio: .5,
  1409. longSwipesMs: 300,
  1410. followFinger: !0,
  1411. allowTouchMove: !0,
  1412. threshold: 0,
  1413. touchMoveStopPropagation: !0,
  1414. touchStartPreventDefault: !0,
  1415. touchStartForcePreventDefault: !1,
  1416. touchReleaseOnEdges: !1,
  1417. uniqueNavElements: !0,
  1418. resistance: !0,
  1419. resistanceRatio: .85,
  1420. watchSlidesProgress: !1,
  1421. watchSlidesVisibility: !1,
  1422. grabCursor: !1,
  1423. preventClicks: !0,
  1424. preventClicksPropagation: !0,
  1425. slideToClickedSlide: !1,
  1426. preloadImages: !0,
  1427. updateOnImagesReady: !0,
  1428. loop: !1,
  1429. loopAdditionalSlides: 0,
  1430. loopedSlides: null,
  1431. loopFillGroupWithBlank: !1,
  1432. allowSlidePrev: !0,
  1433. allowSlideNext: !0,
  1434. swipeHandler: null,
  1435. noSwiping: !0,
  1436. noSwipingClass: "swiper-no-swiping",
  1437. noSwipingSelector: null,
  1438. passiveListeners: !0,
  1439. containerModifierClass: "swiper-container-",
  1440. slideClass: "swiper-slide",
  1441. slideBlankClass: "swiper-slide-invisible-blank",
  1442. slideActiveClass: "swiper-slide-active",
  1443. slideDuplicateActiveClass: "swiper-slide-duplicate-active",
  1444. slideVisibleClass: "swiper-slide-visible",
  1445. slideDuplicateClass: "swiper-slide-duplicate",
  1446. slideNextClass: "swiper-slide-next",
  1447. slideDuplicateNextClass: "swiper-slide-duplicate-next",
  1448. slidePrevClass: "swiper-slide-prev",
  1449. slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
  1450. wrapperClass: "swiper-wrapper",
  1451. runCallbacksOnInit: !0
  1452. },
  1453. y = {
  1454. update: d,
  1455. translate: p,
  1456. transition: c,
  1457. slide: u,
  1458. loop: h,
  1459. grabCursor: v,
  1460. manipulation: m,
  1461. events: {
  1462. attachEvents: function() {
  1463. var e = this,
  1464. t = e.params,
  1465. a = e.touchEvents,
  1466. i = e.el,
  1467. s = e.wrapperEl;
  1468. e.onTouchStart = function(e) {
  1469. var t = this,
  1470. a = t.touchEventsData,
  1471. i = t.params,
  1472. s = t.touches;
  1473. if (!t.animating || !i.preventInteractionOnTransition) {
  1474. var r = e;
  1475. if (r.originalEvent && (r = r.originalEvent), a.isTouchEvent = "touchstart" ===
  1476. r.type, (a.isTouchEvent || !("which" in r) || 3 !== r.which) && !(!a
  1477. .isTouchEvent && "button" in r && 0 < r.button || a.isTouched && a
  1478. .isMoved))
  1479. if (i.noSwiping && L(r.target).closest(i.noSwipingSelector ? i
  1480. .noSwipingSelector : "." + i.noSwipingClass)[0]) t.allowClick = !0;
  1481. else if (!i.swipeHandler || L(r).closest(i.swipeHandler)[0]) {
  1482. s.currentX = "touchstart" === r.type ? r.targetTouches[0].pageX : r.pageX, s
  1483. .currentY = "touchstart" === r.type ? r.targetTouches[0].pageY : r
  1484. .pageY;
  1485. var n = s.currentX,
  1486. o = s.currentY,
  1487. l = i.edgeSwipeDetection || i.iOSEdgeSwipeDetection,
  1488. d = i.edgeSwipeThreshold || i.iOSEdgeSwipeThreshold;
  1489. if (!l || !(n <= d || n >= J.screen.width - d)) {
  1490. if (ee.extend(a, {
  1491. isTouched: !0,
  1492. isMoved: !1,
  1493. allowTouchCallbacks: !0,
  1494. isScrolling: void 0,
  1495. startMoving: void 0
  1496. }), s.startX = n, s.startY = o, a.touchStartTime = ee.now(), t
  1497. .allowClick = !0, t.updateSize(), t.swipeDirection = void 0, 0 < i
  1498. .threshold && (a.allowThresholdMove = !1), "touchstart" !== r.type
  1499. ) {
  1500. var p = !0;
  1501. L(r.target).is(a.formElements) && (p = !1), f.activeElement && L(f
  1502. .activeElement).is(a.formElements) && f.activeElement !== r
  1503. .target && f.activeElement.blur();
  1504. var c = p && t.allowTouchMove && i.touchStartPreventDefault;
  1505. (i.touchStartForcePreventDefault || c) && r.preventDefault()
  1506. }
  1507. t.emit("touchStart", r)
  1508. }
  1509. }
  1510. }
  1511. }.bind(e), e.onTouchMove = function(e) {
  1512. var t = this,
  1513. a = t.touchEventsData,
  1514. i = t.params,
  1515. s = t.touches,
  1516. r = t.rtlTranslate,
  1517. n = e;
  1518. if (n.originalEvent && (n = n.originalEvent), a.isTouched) {
  1519. if (!a.isTouchEvent || "mousemove" !== n.type) {
  1520. var o = "touchmove" === n.type ? n.targetTouches[0].pageX : n.pageX,
  1521. l = "touchmove" === n.type ? n.targetTouches[0].pageY : n.pageY;
  1522. if (n.preventedByNestedSwiper) return s.startX = o, void(s.startY = l);
  1523. if (!t.allowTouchMove) return t.allowClick = !1, void(a.isTouched && (ee
  1524. .extend(s, {
  1525. startX: o,
  1526. startY: l,
  1527. currentX: o,
  1528. currentY: l
  1529. }), a.touchStartTime = ee.now()));
  1530. if (a.isTouchEvent && i.touchReleaseOnEdges && !i.loop)
  1531. if (t.isVertical()) {
  1532. if (l < s.startY && t.translate <= t.maxTranslate() || l > s
  1533. .startY && t.translate >= t.minTranslate()) return a
  1534. .isTouched = !1, void(a.isMoved = !1)
  1535. } else if (o < s.startX && t.translate <= t.maxTranslate() || o > s
  1536. .startX && t.translate >= t.minTranslate()) return;
  1537. if (a.isTouchEvent && f.activeElement && n.target === f.activeElement && L(n
  1538. .target).is(a.formElements)) return a.isMoved = !0, void(t
  1539. .allowClick = !1);
  1540. if (a.allowTouchCallbacks && t.emit("touchMove", n), !(n.targetTouches &&
  1541. 1 < n.targetTouches.length)) {
  1542. s.currentX = o, s.currentY = l;
  1543. var d, p = s.currentX - s.startX,
  1544. c = s.currentY - s.startY;
  1545. if (!(t.params.threshold && Math.sqrt(Math.pow(p, 2) + Math.pow(c, 2)) <
  1546. t.params.threshold))
  1547. if (void 0 === a.isScrolling && (t.isHorizontal() && s.currentY ===
  1548. s.startY || t.isVertical() && s.currentX === s.startX ? a
  1549. .isScrolling = !1 : 25 <= p * p + c * c && (d = 180 * Math
  1550. .atan2(Math.abs(c), Math.abs(p)) / Math.PI, a
  1551. .isScrolling = t.isHorizontal() ? d > i.touchAngle :
  1552. 90 - d > i.touchAngle)), a.isScrolling && t.emit(
  1553. "touchMoveOpposite", n), void 0 === a.startMoving && (s
  1554. .currentX === s.startX && s.currentY === s.startY || (a
  1555. .startMoving = !0)), a.isScrolling) a.isTouched = !1;
  1556. else if (a.startMoving) {
  1557. t.allowClick = !1, n.preventDefault(), i.touchMoveStopPropagation &&
  1558. !i.nested && n.stopPropagation(), a.isMoved || (i.loop && t
  1559. .loopFix(), a.startTranslate = t.getTranslate(), t
  1560. .setTransition(0), t.animating && t.$wrapperEl.trigger(
  1561. "webkitTransitionEnd transitionend"), a
  1562. .allowMomentumBounce = !1, !i.grabCursor || !0 !== t
  1563. .allowSlideNext && !0 !== t.allowSlidePrev || t
  1564. .setGrabCursor(!0), t.emit("sliderFirstMove", n)), t.emit(
  1565. "sliderMove", n), a.isMoved = !0;
  1566. var u = t.isHorizontal() ? p : c;
  1567. s.diff = u, u *= i.touchRatio, r && (u = -u), t.swipeDirection = 0 <
  1568. u ? "prev" : "next", a.currentTranslate = u + a.startTranslate;
  1569. var h = !0,
  1570. v = i.resistanceRatio;
  1571. if (i.touchReleaseOnEdges && (v = 0), 0 < u && a.currentTranslate >
  1572. t.minTranslate() ? (h = !1, i.resistance && (a
  1573. .currentTranslate = t.minTranslate() - 1 + Math.pow(-t
  1574. .minTranslate() + a.startTranslate + u, v))) : u < 0 &&
  1575. a.currentTranslate < t.maxTranslate() && (h = !1, i
  1576. .resistance && (a.currentTranslate = t.maxTranslate() + 1 -
  1577. Math.pow(t.maxTranslate() - a.startTranslate - u, v))),
  1578. h && (n.preventedByNestedSwiper = !0), !t.allowSlideNext &&
  1579. "next" === t.swipeDirection && a.currentTranslate < a
  1580. .startTranslate && (a.currentTranslate = a.startTranslate), !t
  1581. .allowSlidePrev && "prev" === t.swipeDirection && a
  1582. .currentTranslate > a.startTranslate && (a.currentTranslate = a
  1583. .startTranslate), 0 < i.threshold) {
  1584. if (!(Math.abs(u) > i.threshold || a.allowThresholdMove))
  1585. return void(a.currentTranslate = a.startTranslate);
  1586. if (!a.allowThresholdMove) return a.allowThresholdMove = !0, s
  1587. .startX = s.currentX, s.startY = s.currentY, a
  1588. .currentTranslate = a.startTranslate, void(s.diff = t
  1589. .isHorizontal() ? s.currentX - s.startX : s
  1590. .currentY - s.startY)
  1591. }
  1592. i.followFinger && ((i.freeMode || i.watchSlidesProgress || i
  1593. .watchSlidesVisibility) && (t.updateActiveIndex(), t
  1594. .updateSlidesClasses()), i.freeMode && (0 === a
  1595. .velocities.length && a.velocities.push({
  1596. position: s[t.isHorizontal() ? "startX" :
  1597. "startY"],
  1598. time: a.touchStartTime
  1599. }), a.velocities.push({
  1600. position: s[t.isHorizontal() ? "currentX" :
  1601. "currentY"],
  1602. time: ee.now()
  1603. })), t.updateProgress(a.currentTranslate), t
  1604. .setTranslate(a.currentTranslate))
  1605. }
  1606. }
  1607. }
  1608. } else a.startMoving && a.isScrolling && t.emit("touchMoveOpposite", n)
  1609. }.bind(e), e.onTouchEnd = function(e) {
  1610. var t = this,
  1611. a = t.touchEventsData,
  1612. i = t.params,
  1613. s = t.touches,
  1614. r = t.rtlTranslate,
  1615. n = t.$wrapperEl,
  1616. o = t.slidesGrid,
  1617. l = t.snapGrid,
  1618. d = e;
  1619. if (d.originalEvent && (d = d.originalEvent), a.allowTouchCallbacks && t.emit(
  1620. "touchEnd", d), a.allowTouchCallbacks = !1, !a.isTouched) return a
  1621. .isMoved && i.grabCursor && t.setGrabCursor(!1), a.isMoved = !1, void(a
  1622. .startMoving = !1);
  1623. i.grabCursor && a.isMoved && a.isTouched && (!0 === t.allowSlideNext || !0 === t
  1624. .allowSlidePrev) && t.setGrabCursor(!1);
  1625. var p, c = ee.now(),
  1626. u = c - a.touchStartTime;
  1627. if (t.allowClick && (t.updateClickedSlide(d), t.emit("tap", d), u < 300 && 300 < c -
  1628. a.lastClickTime && (a.clickTimeout && clearTimeout(a.clickTimeout), a
  1629. .clickTimeout = ee.nextTick(function() {
  1630. t && !t.destroyed && t.emit("click", d)
  1631. }, 300)), u < 300 && c - a.lastClickTime < 300 && (a.clickTimeout &&
  1632. clearTimeout(a.clickTimeout), t.emit("doubleTap", d))), a
  1633. .lastClickTime = ee.now(), ee.nextTick(function() {
  1634. t.destroyed || (t.allowClick = !0)
  1635. }), !a.isTouched || !a.isMoved || !t.swipeDirection || 0 === s.diff || a
  1636. .currentTranslate === a.startTranslate) return a.isTouched = !1, a.isMoved = !1,
  1637. void(a.startMoving = !1);
  1638. if (a.isTouched = !1, a.isMoved = !1, a.startMoving = !1, p = i.followFinger ? r ? t
  1639. .translate : -t.translate : -a.currentTranslate, i.freeMode) {
  1640. if (p < -t.minTranslate()) return void t.slideTo(t.activeIndex);
  1641. if (p > -t.maxTranslate()) return void(t.slides.length < l.length ? t.slideTo(l
  1642. .length - 1) : t.slideTo(t.slides.length - 1));
  1643. if (i.freeModeMomentum) {
  1644. if (1 < a.velocities.length) {
  1645. var h = a.velocities.pop(),
  1646. v = a.velocities.pop(),
  1647. f = h.position - v.position,
  1648. m = h.time - v.time;
  1649. t.velocity = f / m, t.velocity /= 2, Math.abs(t.velocity) < i
  1650. .freeModeMinimumVelocity && (t.velocity = 0), (150 < m || 300 < ee
  1651. .now() - h.time) && (t.velocity = 0)
  1652. } else t.velocity = 0;
  1653. t.velocity *= i.freeModeMomentumVelocityRatio, a.velocities.length = 0;
  1654. var g = 1e3 * i.freeModeMomentumRatio,
  1655. b = t.velocity * g,
  1656. w = t.translate + b;
  1657. r && (w = -w);
  1658. var y, x, T = !1,
  1659. E = 20 * Math.abs(t.velocity) * i.freeModeMomentumBounceRatio;
  1660. if (w < t.maxTranslate()) i.freeModeMomentumBounce ? (w + t.maxTranslate() <
  1661. -E && (w = t.maxTranslate() - E), y = t.maxTranslate(), T = !0, a
  1662. .allowMomentumBounce = !0) : w = t.maxTranslate(), i.loop && i
  1663. .centeredSlides && (x = !0);
  1664. else if (w > t.minTranslate()) i.freeModeMomentumBounce ? (w - t
  1665. .minTranslate() > E && (w = t.minTranslate() + E), y = t
  1666. .minTranslate(), T = !0, a.allowMomentumBounce = !0) : w = t
  1667. .minTranslate(), i.loop && i.centeredSlides && (x = !0);
  1668. else if (i.freeModeSticky) {
  1669. for (var S, C = 0; C < l.length; C += 1)
  1670. if (l[C] > -w) {
  1671. S = C;
  1672. break
  1673. } w = -(w = Math.abs(l[S] - w) < Math.abs(l[S - 1] - w) ||
  1674. "next" === t.swipeDirection ? l[S] : l[S - 1])
  1675. }
  1676. if (x && t.once("transitionEnd", function() {
  1677. t.loopFix()
  1678. }), 0 !== t.velocity) g = r ? Math.abs((-w - t.translate) / t
  1679. .velocity) : Math.abs((w - t.translate) / t.velocity);
  1680. else if (i.freeModeSticky) return void t.slideToClosest();
  1681. i.freeModeMomentumBounce && T ? (t.updateProgress(y), t.setTransition(g), t
  1682. .setTranslate(w), t.transitionStart(!0, t.swipeDirection), t
  1683. .animating = !0, n.transitionEnd(function() {
  1684. t && !t.destroyed && a.allowMomentumBounce && (t.emit(
  1685. "momentumBounce"), t.setTransition(i.speed), t
  1686. .setTranslate(y), n.transitionEnd(function() {
  1687. t && !t.destroyed && t.transitionEnd()
  1688. }))
  1689. })) : t.velocity ? (t.updateProgress(w), t.setTransition(g), t
  1690. .setTranslate(w), t.transitionStart(!0, t.swipeDirection), t
  1691. .animating || (t.animating = !0, n.transitionEnd(function() {
  1692. t && !t.destroyed && t.transitionEnd()
  1693. }))) : t.updateProgress(w), t.updateActiveIndex(), t
  1694. .updateSlidesClasses()
  1695. } else if (i.freeModeSticky) return void t.slideToClosest();
  1696. (!i.freeModeMomentum || u >= i.longSwipesMs) && (t.updateProgress(), t
  1697. .updateActiveIndex(), t.updateSlidesClasses())
  1698. } else {
  1699. for (var M = 0, z = t.slidesSizesGrid[0], P = 0; P < o.length; P += i
  1700. .slidesPerGroup) void 0 !== o[P + i.slidesPerGroup] ? p >= o[P] && p < o[P +
  1701. i.slidesPerGroup] && (z = o[(M = P) + i.slidesPerGroup] - o[P]) : p >=
  1702. o[P] && (M = P, z = o[o.length - 1] - o[o.length - 2]);
  1703. var k = (p - o[M]) / z;
  1704. if (u > i.longSwipesMs) {
  1705. if (!i.longSwipes) return void t.slideTo(t.activeIndex);
  1706. "next" === t.swipeDirection && (k >= i.longSwipesRatio ? t.slideTo(M + i
  1707. .slidesPerGroup) : t.slideTo(M)), "prev" === t.swipeDirection && (
  1708. k > 1 - i.longSwipesRatio ? t.slideTo(M + i.slidesPerGroup) : t
  1709. .slideTo(M))
  1710. } else {
  1711. if (!i.shortSwipes) return void t.slideTo(t.activeIndex);
  1712. "next" === t.swipeDirection && t.slideTo(M + i.slidesPerGroup), "prev" === t
  1713. .swipeDirection && t.slideTo(M)
  1714. }
  1715. }
  1716. }.bind(e), e.onClick = function(e) {
  1717. this.allowClick || (this.params.preventClicks && e.preventDefault(), this.params
  1718. .preventClicksPropagation && this.animating && (e.stopPropagation(), e
  1719. .stopImmediatePropagation()))
  1720. }.bind(e);
  1721. var r = "container" === t.touchEventsTarget ? i : s,
  1722. n = !!t.nested;
  1723. if (te.touch || !te.pointerEvents && !te.prefixedPointerEvents) {
  1724. if (te.touch) {
  1725. var o = !("touchstart" !== a.start || !te.passiveListener || !t.passiveListeners) &&
  1726. {
  1727. passive: !0,
  1728. capture: !1
  1729. };
  1730. r.addEventListener(a.start, e.onTouchStart, o), r.addEventListener(a.move, e
  1731. .onTouchMove, te.passiveListener ? {
  1732. passive: !1,
  1733. capture: n
  1734. } : n), r.addEventListener(a.end, e.onTouchEnd, o)
  1735. }(t.simulateTouch && !g.ios && !g.android || t.simulateTouch && !te.touch && g.ios) && (
  1736. r.addEventListener("mousedown", e.onTouchStart, !1), f.addEventListener("mousemove",
  1737. e.onTouchMove, n), f.addEventListener("mouseup", e.onTouchEnd, !1))
  1738. } else r.addEventListener(a.start, e.onTouchStart, !1), f.addEventListener(a.move, e
  1739. .onTouchMove, n), f.addEventListener(a.end, e.onTouchEnd, !1);
  1740. (t.preventClicks || t.preventClicksPropagation) && r.addEventListener("click", e.onClick, !
  1741. 0), e.on(g.ios || g.android ? "resize orientationchange observerUpdate" :
  1742. "resize observerUpdate", b, !0)
  1743. },
  1744. detachEvents: function() {
  1745. var e = this,
  1746. t = e.params,
  1747. a = e.touchEvents,
  1748. i = e.el,
  1749. s = e.wrapperEl,
  1750. r = "container" === t.touchEventsTarget ? i : s,
  1751. n = !!t.nested;
  1752. if (te.touch || !te.pointerEvents && !te.prefixedPointerEvents) {
  1753. if (te.touch) {
  1754. var o = !("onTouchStart" !== a.start || !te.passiveListener || !t
  1755. .passiveListeners) && {
  1756. passive: !0,
  1757. capture: !1
  1758. };
  1759. r.removeEventListener(a.start, e.onTouchStart, o), r.removeEventListener(a.move, e
  1760. .onTouchMove, n), r.removeEventListener(a.end, e.onTouchEnd, o)
  1761. }(t.simulateTouch && !g.ios && !g.android || t.simulateTouch && !te.touch && g.ios) && (
  1762. r.removeEventListener("mousedown", e.onTouchStart, !1), f.removeEventListener(
  1763. "mousemove", e.onTouchMove, n), f.removeEventListener("mouseup", e.onTouchEnd, !
  1764. 1))
  1765. } else r.removeEventListener(a.start, e.onTouchStart, !1), f.removeEventListener(a.move, e
  1766. .onTouchMove, n), f.removeEventListener(a.end, e.onTouchEnd, !1);
  1767. (t.preventClicks || t.preventClicksPropagation) && r.removeEventListener("click", e.onClick,
  1768. !0), e.off(g.ios || g.android ? "resize orientationchange observerUpdate" :
  1769. "resize observerUpdate", b)
  1770. }
  1771. },
  1772. breakpoints: {
  1773. setBreakpoint: function() {
  1774. var e = this,
  1775. t = e.activeIndex,
  1776. a = e.initialized,
  1777. i = e.loopedSlides;
  1778. void 0 === i && (i = 0);
  1779. var s = e.params,
  1780. r = s.breakpoints;
  1781. if (r && (!r || 0 !== Object.keys(r).length)) {
  1782. var n = e.getBreakpoint(r);
  1783. if (n && e.currentBreakpoint !== n) {
  1784. var o = n in r ? r[n] : void 0;
  1785. o && ["slidesPerView", "spaceBetween", "slidesPerGroup"].forEach(function(e) {
  1786. var t = o[e];
  1787. void 0 !== t && (o[e] = "slidesPerView" !== e || "AUTO" !== t &&
  1788. "auto" !== t ? "slidesPerView" === e ? parseFloat(t) : parseInt(
  1789. t, 10) : "auto")
  1790. });
  1791. var l = o || e.originalParams,
  1792. d = l.direction && l.direction !== s.direction,
  1793. p = s.loop && (l.slidesPerView !== s.slidesPerView || d);
  1794. d && a && e.changeDirection(), ee.extend(e.params, l), ee.extend(e, {
  1795. allowTouchMove: e.params.allowTouchMove,
  1796. allowSlideNext: e.params.allowSlideNext,
  1797. allowSlidePrev: e.params.allowSlidePrev
  1798. }), e.currentBreakpoint = n, p && a && (e.loopDestroy(), e.loopCreate(), e
  1799. .updateSlides(), e.slideTo(t - i + e.loopedSlides, 0, !1)), e.emit(
  1800. "breakpoint", l)
  1801. }
  1802. }
  1803. },
  1804. getBreakpoint: function(e) {
  1805. if (e) {
  1806. var t = !1,
  1807. a = [];
  1808. Object.keys(e).forEach(function(e) {
  1809. a.push(e)
  1810. }), a.sort(function(e, t) {
  1811. return parseInt(e, 10) - parseInt(t, 10)
  1812. });
  1813. for (var i = 0; i < a.length; i += 1) {
  1814. var s = a[i];
  1815. this.params.breakpointsInverse ? s <= J.innerWidth && (t = s) : s >= J.innerWidth &&
  1816. !t && (t = s)
  1817. }
  1818. return t || "max"
  1819. }
  1820. }
  1821. },
  1822. checkOverflow: {
  1823. checkOverflow: function() {
  1824. var e = this,
  1825. t = e.isLocked;
  1826. e.isLocked = 1 === e.snapGrid.length, e.allowSlideNext = !e.isLocked, e.allowSlidePrev = !e
  1827. .isLocked, t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock"), t && t !== e
  1828. .isLocked && (e.isEnd = !1, e.navigation.update())
  1829. }
  1830. },
  1831. classes: {
  1832. addClasses: function() {
  1833. var t = this.classNames,
  1834. a = this.params,
  1835. e = this.rtl,
  1836. i = this.$el,
  1837. s = [];
  1838. s.push("initialized"), s.push(a.direction), a.freeMode && s.push("free-mode"), te.flexbox ||
  1839. s.push("no-flexbox"), a.autoHeight && s.push("autoheight"), e && s.push("rtl"), 1 < a
  1840. .slidesPerColumn && s.push("multirow"), g.android && s.push("android"), g.ios && s.push(
  1841. "ios"), (I.isIE || I.isEdge) && (te.pointerEvents || te.prefixedPointerEvents) && s
  1842. .push("wp8-" + a.direction), s.forEach(function(e) {
  1843. t.push(a.containerModifierClass + e)
  1844. }), i.addClass(t.join(" "))
  1845. },
  1846. removeClasses: function() {
  1847. var e = this.$el,
  1848. t = this.classNames;
  1849. e.removeClass(t.join(" "))
  1850. }
  1851. },
  1852. images: {
  1853. loadImage: function(e, t, a, i, s, r) {
  1854. var n;
  1855. function o() {
  1856. r && r()
  1857. }
  1858. e.complete && s ? o() : t ? ((n = new J.Image).onload = o, n.onerror = o, i && (n.sizes =
  1859. i), a && (n.srcset = a), t && (n.src = t)) : o()
  1860. },
  1861. preloadImages: function() {
  1862. var e = this;
  1863. function t() {
  1864. null != e && e && !e.destroyed && (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1), e
  1865. .imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady && e
  1866. .update(), e.emit("imagesReady")))
  1867. }
  1868. e.imagesToLoad = e.$el.find("img");
  1869. for (var a = 0; a < e.imagesToLoad.length; a += 1) {
  1870. var i = e.imagesToLoad[a];
  1871. e.loadImage(i, i.currentSrc || i.getAttribute("src"), i.srcset || i.getAttribute(
  1872. "srcset"), i.sizes || i.getAttribute("sizes"), !0, t)
  1873. }
  1874. }
  1875. }
  1876. },
  1877. x = {},
  1878. T = function(u) {
  1879. function h() {
  1880. for (var e, t, s, a = [], i = arguments.length; i--;) a[i] = arguments[i];
  1881. 1 === a.length && a[0].constructor && a[0].constructor === Object ? s = a[0] : (t = (e = a)[0], s =
  1882. e[1]), s || (s = {}), s = ee.extend({}, s), t && !s.el && (s.el = t), u.call(this, s),
  1883. Object.keys(y).forEach(function(t) {
  1884. Object.keys(y[t]).forEach(function(e) {
  1885. h.prototype[e] || (h.prototype[e] = y[t][e])
  1886. })
  1887. });
  1888. var r = this;
  1889. void 0 === r.modules && (r.modules = {}), Object.keys(r.modules).forEach(function(e) {
  1890. var t = r.modules[e];
  1891. if (t.params) {
  1892. var a = Object.keys(t.params)[0],
  1893. i = t.params[a];
  1894. if ("object" != typeof i || null === i) return;
  1895. if (!(a in s && "enabled" in i)) return;
  1896. !0 === s[a] && (s[a] = {
  1897. enabled: !0
  1898. }), "object" != typeof s[a] || "enabled" in s[a] || (s[a].enabled = !0), s[a] ||
  1899. (s[a] = {
  1900. enabled: !1
  1901. })
  1902. }
  1903. });
  1904. var n = ee.extend({}, w);
  1905. r.useModulesParams(n), r.params = ee.extend({}, n, x, s), r.originalParams = ee.extend({}, r
  1906. .params), r.passedParams = ee.extend({}, s);
  1907. var o = (r.$ = L)(r.params.el);
  1908. if (t = o[0]) {
  1909. if (1 < o.length) {
  1910. var l = [];
  1911. return o.each(function(e, t) {
  1912. var a = ee.extend({}, s, {
  1913. el: t
  1914. });
  1915. l.push(new h(a))
  1916. }), l
  1917. }
  1918. t.swiper = r, o.data("swiper", r);
  1919. var d, p, c = o.children("." + r.params.wrapperClass);
  1920. return ee.extend(r, {
  1921. $el: o,
  1922. el: t,
  1923. $wrapperEl: c,
  1924. wrapperEl: c[0],
  1925. classNames: [],
  1926. slides: L(),
  1927. slidesGrid: [],
  1928. snapGrid: [],
  1929. slidesSizesGrid: [],
  1930. isHorizontal: function() {
  1931. return "horizontal" === r.params.direction
  1932. },
  1933. isVertical: function() {
  1934. return "vertical" === r.params.direction
  1935. },
  1936. rtl: "rtl" === t.dir.toLowerCase() || "rtl" === o.css("direction"),
  1937. rtlTranslate: "horizontal" === r.params.direction && ("rtl" === t.dir
  1938. .toLowerCase() || "rtl" === o.css("direction")),
  1939. wrongRTL: "-webkit-box" === c.css("display"),
  1940. activeIndex: 0,
  1941. realIndex: 0,
  1942. isBeginning: !0,
  1943. isEnd: !1,
  1944. translate: 0,
  1945. previousTranslate: 0,
  1946. progress: 0,
  1947. velocity: 0,
  1948. animating: !1,
  1949. allowSlideNext: r.params.allowSlideNext,
  1950. allowSlidePrev: r.params.allowSlidePrev,
  1951. touchEvents: (d = ["touchstart", "touchmove", "touchend"], p = ["mousedown",
  1952. "mousemove", "mouseup"
  1953. ], te.pointerEvents ? p = ["pointerdown", "pointermove", "pointerup"] : te
  1954. .prefixedPointerEvents && (p = ["MSPointerDown", "MSPointerMove",
  1955. "MSPointerUp"
  1956. ]), r.touchEventsTouch = {
  1957. start: d[0],
  1958. move: d[1],
  1959. end: d[2]
  1960. }, r.touchEventsDesktop = {
  1961. start: p[0],
  1962. move: p[1],
  1963. end: p[2]
  1964. }, te.touch || !r.params.simulateTouch ? r.touchEventsTouch : r
  1965. .touchEventsDesktop),
  1966. touchEventsData: {
  1967. isTouched: void 0,
  1968. isMoved: void 0,
  1969. allowTouchCallbacks: void 0,
  1970. touchStartTime: void 0,
  1971. isScrolling: void 0,
  1972. currentTranslate: void 0,
  1973. startTranslate: void 0,
  1974. allowThresholdMove: void 0,
  1975. formElements: "input, select, option, textarea, button, video",
  1976. lastClickTime: ee.now(),
  1977. clickTimeout: void 0,
  1978. velocities: [],
  1979. allowMomentumBounce: void 0,
  1980. isTouchEvent: void 0,
  1981. startMoving: void 0
  1982. },
  1983. allowClick: !0,
  1984. allowTouchMove: r.params.allowTouchMove,
  1985. touches: {
  1986. startX: 0,
  1987. startY: 0,
  1988. currentX: 0,
  1989. currentY: 0,
  1990. diff: 0
  1991. },
  1992. imagesToLoad: [],
  1993. imagesLoaded: 0
  1994. }), r.useModules(), r.params.init && r.init(), r
  1995. }
  1996. }
  1997. u && (h.__proto__ = u);
  1998. var e = {
  1999. extendedDefaults: {
  2000. configurable: !0
  2001. },
  2002. defaults: {
  2003. configurable: !0
  2004. },
  2005. Class: {
  2006. configurable: !0
  2007. },
  2008. $: {
  2009. configurable: !0
  2010. }
  2011. };
  2012. return ((h.prototype = Object.create(u && u.prototype)).constructor = h).prototype
  2013. .slidesPerViewDynamic = function() {
  2014. var e = this,
  2015. t = e.params,
  2016. a = e.slides,
  2017. i = e.slidesGrid,
  2018. s = e.size,
  2019. r = e.activeIndex,
  2020. n = 1;
  2021. if (t.centeredSlides) {
  2022. for (var o, l = a[r].swiperSlideSize, d = r + 1; d < a.length; d += 1) a[d] && !o && (n +=
  2023. 1, s < (l += a[d].swiperSlideSize) && (o = !0));
  2024. for (var p = r - 1; 0 <= p; p -= 1) a[p] && !o && (n += 1, s < (l += a[p]
  2025. .swiperSlideSize) && (o = !0))
  2026. } else
  2027. for (var c = r + 1; c < a.length; c += 1) i[c] - i[r] < s && (n += 1);
  2028. return n
  2029. }, h.prototype.update = function() {
  2030. var a = this;
  2031. if (a && !a.destroyed) {
  2032. var e = a.snapGrid,
  2033. t = a.params;
  2034. t.breakpoints && a.setBreakpoint(), a.updateSize(), a.updateSlides(), a.updateProgress(), a
  2035. .updateSlidesClasses(), a.params.freeMode ? (i(), a.params.autoHeight && a
  2036. .updateAutoHeight()) : (("auto" === a.params.slidesPerView || 1 < a.params
  2037. .slidesPerView) && a.isEnd && !a.params.centeredSlides ? a.slideTo(a.slides
  2038. .length - 1, 0, !1, !0) : a.slideTo(a.activeIndex, 0, !1, !0)) || i(), t
  2039. .watchOverflow && e !== a.snapGrid && a.checkOverflow(), a.emit("update")
  2040. }
  2041. function i() {
  2042. var e = a.rtlTranslate ? -1 * a.translate : a.translate,
  2043. t = Math.min(Math.max(e, a.maxTranslate()), a.minTranslate());
  2044. a.setTranslate(t), a.updateActiveIndex(), a.updateSlidesClasses()
  2045. }
  2046. }, h.prototype.changeDirection = function(a, e) {
  2047. void 0 === e && (e = !0);
  2048. var t = this,
  2049. i = t.params.direction;
  2050. return a || (a = "horizontal" === i ? "vertical" : "horizontal"), a === i || "horizontal" !==
  2051. a && "vertical" !== a || ("vertical" === i && (t.$el.removeClass(t.params
  2052. .containerModifierClass + "vertical wp8-vertical").addClass("" + t.params
  2053. .containerModifierClass + a), (I.isIE || I.isEdge) && (te.pointerEvents || te
  2054. .prefixedPointerEvents) && t.$el.addClass(t.params.containerModifierClass +
  2055. "wp8-" + a)), "horizontal" === i && (t.$el.removeClass(t.params
  2056. .containerModifierClass + "horizontal wp8-horizontal").addClass("" + t.params
  2057. .containerModifierClass + a), (I.isIE || I.isEdge) && (te.pointerEvents || te
  2058. .prefixedPointerEvents) && t.$el.addClass(t.params.containerModifierClass +
  2059. "wp8-" + a)), t.params.direction = a, t.slides.each(function(e, t) {
  2060. "vertical" === a ? t.style.width = "" : t.style.height = ""
  2061. }), t.emit("changeDirection"), e && t.update()), t
  2062. }, h.prototype.init = function() {
  2063. var e = this;
  2064. e.initialized || (e.emit("beforeInit"), e.params.breakpoints && e.setBreakpoint(), e
  2065. .addClasses(), e.params.loop && e.loopCreate(), e.updateSize(), e.updateSlides(), e
  2066. .params.watchOverflow && e.checkOverflow(), e.params.grabCursor && e.setGrabCursor(), e
  2067. .params.preloadImages && e.preloadImages(), e.params.loop ? e.slideTo(e.params
  2068. .initialSlide + e.loopedSlides, 0, e.params.runCallbacksOnInit) : e.slideTo(e.params
  2069. .initialSlide, 0, e.params.runCallbacksOnInit), e.attachEvents(), e.initialized = !
  2070. 0, e.emit("init"))
  2071. }, h.prototype.destroy = function(e, t) {
  2072. void 0 === e && (e = !0), void 0 === t && (t = !0);
  2073. var a = this,
  2074. i = a.params,
  2075. s = a.$el,
  2076. r = a.$wrapperEl,
  2077. n = a.slides;
  2078. return void 0 === a.params || a.destroyed || (a.emit("beforeDestroy"), a.initialized = !1, a
  2079. .detachEvents(), i.loop && a.loopDestroy(), t && (a.removeClasses(), s.removeAttr(
  2080. "style"), r.removeAttr("style"), n && n.length && n.removeClass([i
  2081. .slideVisibleClass, i.slideActiveClass, i.slideNextClass, i.slidePrevClass
  2082. ].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index").removeAttr(
  2083. "data-swiper-column").removeAttr("data-swiper-row")), a.emit("destroy"), Object
  2084. .keys(a.eventsListeners).forEach(function(e) {
  2085. a.off(e)
  2086. }), !1 !== e && (a.$el[0].swiper = null, a.$el.data("swiper", null), ee.deleteProps(a)),
  2087. a.destroyed = !0), null
  2088. }, h.extendDefaults = function(e) {
  2089. ee.extend(x, e)
  2090. }, e.extendedDefaults.get = function() {
  2091. return x
  2092. }, e.defaults.get = function() {
  2093. return w
  2094. }, e.Class.get = function() {
  2095. return u
  2096. }, e.$.get = function() {
  2097. return L
  2098. }, Object.defineProperties(h, e), h
  2099. }(n),
  2100. E = {
  2101. name: "device",
  2102. proto: {
  2103. device: g
  2104. },
  2105. static: {
  2106. device: g
  2107. }
  2108. },
  2109. S = {
  2110. name: "support",
  2111. proto: {
  2112. support: te
  2113. },
  2114. static: {
  2115. support: te
  2116. }
  2117. },
  2118. C = {
  2119. name: "browser",
  2120. proto: {
  2121. browser: I
  2122. },
  2123. static: {
  2124. browser: I
  2125. }
  2126. },
  2127. M = {
  2128. name: "resize",
  2129. create: function() {
  2130. var e = this;
  2131. ee.extend(e, {
  2132. resize: {
  2133. resizeHandler: function() {
  2134. e && !e.destroyed && e.initialized && (e.emit("beforeResize"), e.emit(
  2135. "resize"))
  2136. },
  2137. orientationChangeHandler: function() {
  2138. e && !e.destroyed && e.initialized && e.emit("orientationchange")
  2139. }
  2140. }
  2141. })
  2142. },
  2143. on: {
  2144. init: function() {
  2145. J.addEventListener("resize", this.resize.resizeHandler), J.addEventListener(
  2146. "orientationchange", this.resize.orientationChangeHandler)
  2147. },
  2148. destroy: function() {
  2149. J.removeEventListener("resize", this.resize.resizeHandler), J.removeEventListener(
  2150. "orientationchange", this.resize.orientationChangeHandler)
  2151. }
  2152. }
  2153. },
  2154. z = {
  2155. func: J.MutationObserver || J.WebkitMutationObserver,
  2156. attach: function(e, t) {
  2157. void 0 === t && (t = {});
  2158. var a = this,
  2159. i = new z.func(function(e) {
  2160. if (1 !== e.length) {
  2161. var t = function() {
  2162. a.emit("observerUpdate", e[0])
  2163. };
  2164. J.requestAnimationFrame ? J.requestAnimationFrame(t) : J.setTimeout(t, 0)
  2165. } else a.emit("observerUpdate", e[0])
  2166. });
  2167. i.observe(e, {
  2168. attributes: void 0 === t.attributes || t.attributes,
  2169. childList: void 0 === t.childList || t.childList,
  2170. characterData: void 0 === t.characterData || t.characterData
  2171. }), a.observer.observers.push(i)
  2172. },
  2173. init: function() {
  2174. var e = this;
  2175. if (te.observer && e.params.observer) {
  2176. if (e.params.observeParents)
  2177. for (var t = e.$el.parents(), a = 0; a < t.length; a += 1) e.observer.attach(t[a]);
  2178. e.observer.attach(e.$el[0], {
  2179. childList: e.params.observeSlideChildren
  2180. }), e.observer.attach(e.$wrapperEl[0], {
  2181. attributes: !1
  2182. })
  2183. }
  2184. },
  2185. destroy: function() {
  2186. this.observer.observers.forEach(function(e) {
  2187. e.disconnect()
  2188. }), this.observer.observers = []
  2189. }
  2190. },
  2191. P = {
  2192. name: "observer",
  2193. params: {
  2194. observer: !1,
  2195. observeParents: !1,
  2196. observeSlideChildren: !1
  2197. },
  2198. create: function() {
  2199. ee.extend(this, {
  2200. observer: {
  2201. init: z.init.bind(this),
  2202. attach: z.attach.bind(this),
  2203. destroy: z.destroy.bind(this),
  2204. observers: []
  2205. }
  2206. })
  2207. },
  2208. on: {
  2209. init: function() {
  2210. this.observer.init()
  2211. },
  2212. destroy: function() {
  2213. this.observer.destroy()
  2214. }
  2215. }
  2216. },
  2217. k = {
  2218. update: function(e) {
  2219. var t = this,
  2220. a = t.params,
  2221. i = a.slidesPerView,
  2222. s = a.slidesPerGroup,
  2223. r = a.centeredSlides,
  2224. n = t.params.virtual,
  2225. o = n.addSlidesBefore,
  2226. l = n.addSlidesAfter,
  2227. d = t.virtual,
  2228. p = d.from,
  2229. c = d.to,
  2230. u = d.slides,
  2231. h = d.slidesGrid,
  2232. v = d.renderSlide,
  2233. f = d.offset;
  2234. t.updateActiveIndex();
  2235. var m, g, b, w = t.activeIndex || 0;
  2236. m = t.rtlTranslate ? "right" : t.isHorizontal() ? "left" : "top", r ? (g = Math.floor(i / 2) +
  2237. s + o, b = Math.floor(i / 2) + s + l) : (g = i + (s - 1) + o, b = s + l);
  2238. var y = Math.max((w || 0) - b, 0),
  2239. x = Math.min((w || 0) + g, u.length - 1),
  2240. T = (t.slidesGrid[y] || 0) - (t.slidesGrid[0] || 0);
  2241. function E() {
  2242. t.updateSlides(), t.updateProgress(), t.updateSlidesClasses(), t.lazy && t.params.lazy
  2243. .enabled && t.lazy.load()
  2244. }
  2245. if (ee.extend(t.virtual, {
  2246. from: y,
  2247. to: x,
  2248. offset: T,
  2249. slidesGrid: t.slidesGrid
  2250. }), p === y && c === x && !e) return t.slidesGrid !== h && T !== f && t.slides.css(m, T +
  2251. "px"), void t.updateProgress();
  2252. if (t.params.virtual.renderExternal) return t.params.virtual.renderExternal.call(t, {
  2253. offset: T,
  2254. from: y,
  2255. to: x,
  2256. slides: function() {
  2257. for (var e = [], t = y; t <= x; t += 1) e.push(u[t]);
  2258. return e
  2259. }()
  2260. }), void E();
  2261. var S = [],
  2262. C = [];
  2263. if (e) t.$wrapperEl.find("." + t.params.slideClass).remove();
  2264. else
  2265. for (var M = p; M <= c; M += 1)(M < y || x < M) && t.$wrapperEl.find("." + t.params
  2266. .slideClass + '[data-swiper-slide-index="' + M + '"]').remove();
  2267. for (var z = 0; z < u.length; z += 1) y <= z && z <= x && (void 0 === c || e ? C.push(z) : (c <
  2268. z && C.push(z), z < p && S.push(z)));
  2269. C.forEach(function(e) {
  2270. t.$wrapperEl.append(v(u[e], e))
  2271. }), S.sort(function(e, t) {
  2272. return t - e
  2273. }).forEach(function(e) {
  2274. t.$wrapperEl.prepend(v(u[e], e))
  2275. }), t.$wrapperEl.children(".swiper-slide").css(m, T + "px"), E()
  2276. },
  2277. renderSlide: function(e, t) {
  2278. var a = this,
  2279. i = a.params.virtual;
  2280. if (i.cache && a.virtual.cache[t]) return a.virtual.cache[t];
  2281. var s = i.renderSlide ? L(i.renderSlide.call(a, e, t)) : L('<div class="' + a.params
  2282. .slideClass + '" data-swiper-slide-index="' + t + '">' + e + "</div>");
  2283. return s.attr("data-swiper-slide-index") || s.attr("data-swiper-slide-index", t), i.cache && (a
  2284. .virtual.cache[t] = s), s
  2285. },
  2286. appendSlide: function(e) {
  2287. if ("object" == typeof e && "length" in e)
  2288. for (var t = 0; t < e.length; t += 1) e[t] && this.virtual.slides.push(e[t]);
  2289. else this.virtual.slides.push(e);
  2290. this.virtual.update(!0)
  2291. },
  2292. prependSlide: function(e) {
  2293. var t = this,
  2294. a = t.activeIndex,
  2295. i = a + 1,
  2296. s = 1;
  2297. if (Array.isArray(e)) {
  2298. for (var r = 0; r < e.length; r += 1) e[r] && t.virtual.slides.unshift(e[r]);
  2299. i = a + e.length, s = e.length
  2300. } else t.virtual.slides.unshift(e);
  2301. if (t.params.virtual.cache) {
  2302. var n = t.virtual.cache,
  2303. o = {};
  2304. Object.keys(n).forEach(function(e) {
  2305. o[parseInt(e, 10) + s] = n[e]
  2306. }), t.virtual.cache = o
  2307. }
  2308. t.virtual.update(!0), t.slideTo(i, 0)
  2309. },
  2310. removeSlide: function(e) {
  2311. var t = this;
  2312. if (null != e) {
  2313. var a = t.activeIndex;
  2314. if (Array.isArray(e))
  2315. for (var i = e.length - 1; 0 <= i; i -= 1) t.virtual.slides.splice(e[i], 1), t.params
  2316. .virtual.cache && delete t.virtual.cache[e[i]], e[i] < a && (a -= 1), a = Math.max(
  2317. a, 0);
  2318. else t.virtual.slides.splice(e, 1), t.params.virtual.cache && delete t.virtual.cache[e], e <
  2319. a && (a -= 1), a = Math.max(a, 0);
  2320. t.virtual.update(!0), t.slideTo(a, 0)
  2321. }
  2322. },
  2323. removeAllSlides: function() {
  2324. var e = this;
  2325. e.virtual.slides = [], e.params.virtual.cache && (e.virtual.cache = {}), e.virtual.update(!0), e
  2326. .slideTo(0, 0)
  2327. }
  2328. },
  2329. $ = {
  2330. name: "virtual",
  2331. params: {
  2332. virtual: {
  2333. enabled: !1,
  2334. slides: [],
  2335. cache: !0,
  2336. renderSlide: null,
  2337. renderExternal: null,
  2338. addSlidesBefore: 0,
  2339. addSlidesAfter: 0
  2340. }
  2341. },
  2342. create: function() {
  2343. var e = this;
  2344. ee.extend(e, {
  2345. virtual: {
  2346. update: k.update.bind(e),
  2347. appendSlide: k.appendSlide.bind(e),
  2348. prependSlide: k.prependSlide.bind(e),
  2349. removeSlide: k.removeSlide.bind(e),
  2350. removeAllSlides: k.removeAllSlides.bind(e),
  2351. renderSlide: k.renderSlide.bind(e),
  2352. slides: e.params.virtual.slides,
  2353. cache: {}
  2354. }
  2355. })
  2356. },
  2357. on: {
  2358. beforeInit: function() {
  2359. var e = this;
  2360. if (e.params.virtual.enabled) {
  2361. e.classNames.push(e.params.containerModifierClass + "virtual");
  2362. var t = {
  2363. watchSlidesProgress: !0
  2364. };
  2365. ee.extend(e.params, t), ee.extend(e.originalParams, t), e.params.initialSlide || e
  2366. .virtual.update()
  2367. }
  2368. },
  2369. setTranslate: function() {
  2370. this.params.virtual.enabled && this.virtual.update()
  2371. }
  2372. }
  2373. },
  2374. D = {
  2375. handle: function(e) {
  2376. var t = this,
  2377. a = t.rtlTranslate,
  2378. i = e;
  2379. i.originalEvent && (i = i.originalEvent);
  2380. var s = i.keyCode || i.charCode;
  2381. if (!t.allowSlideNext && (t.isHorizontal() && 39 === s || t.isVertical() && 40 === s)) return !
  2382. 1;
  2383. if (!t.allowSlidePrev && (t.isHorizontal() && 37 === s || t.isVertical() && 38 === s)) return !
  2384. 1;
  2385. if (!(i.shiftKey || i.altKey || i.ctrlKey || i.metaKey || f.activeElement && f.activeElement
  2386. .nodeName && ("input" === f.activeElement.nodeName.toLowerCase() || "textarea" === f
  2387. .activeElement.nodeName.toLowerCase()))) {
  2388. if (t.params.keyboard.onlyInViewport && (37 === s || 39 === s || 38 === s || 40 === s)) {
  2389. var r = !1;
  2390. if (0 < t.$el.parents("." + t.params.slideClass).length && 0 === t.$el.parents("." + t
  2391. .params.slideActiveClass).length) return;
  2392. var n = J.innerWidth,
  2393. o = J.innerHeight,
  2394. l = t.$el.offset();
  2395. a && (l.left -= t.$el[0].scrollLeft);
  2396. for (var d = [
  2397. [l.left, l.top],
  2398. [l.left + t.width, l.top],
  2399. [l.left, l.top + t.height],
  2400. [l.left + t.width, l.top + t.height]
  2401. ], p = 0; p < d.length; p += 1) {
  2402. var c = d[p];
  2403. 0 <= c[0] && c[0] <= n && 0 <= c[1] && c[1] <= o && (r = !0)
  2404. }
  2405. if (!r) return
  2406. }
  2407. t.isHorizontal() ? (37 !== s && 39 !== s || (i.preventDefault ? i.preventDefault() : i
  2408. .returnValue = !1), (39 === s && !a || 37 === s && a) && t.slideNext(), (37 ===
  2409. s && !a || 39 === s && a) && t.slidePrev()) : (38 !== s && 40 !== s || (i
  2410. .preventDefault ? i.preventDefault() : i.returnValue = !1), 40 === s && t
  2411. .slideNext(), 38 === s && t.slidePrev()), t.emit("keyPress", s)
  2412. }
  2413. },
  2414. enable: function() {
  2415. this.keyboard.enabled || (L(f).on("keydown", this.keyboard.handle), this.keyboard.enabled = !0)
  2416. },
  2417. disable: function() {
  2418. this.keyboard.enabled && (L(f).off("keydown", this.keyboard.handle), this.keyboard.enabled = !1)
  2419. }
  2420. },
  2421. O = {
  2422. name: "keyboard",
  2423. params: {
  2424. keyboard: {
  2425. enabled: !1,
  2426. onlyInViewport: !0
  2427. }
  2428. },
  2429. create: function() {
  2430. ee.extend(this, {
  2431. keyboard: {
  2432. enabled: !1,
  2433. enable: D.enable.bind(this),
  2434. disable: D.disable.bind(this),
  2435. handle: D.handle.bind(this)
  2436. }
  2437. })
  2438. },
  2439. on: {
  2440. init: function() {
  2441. this.params.keyboard.enabled && this.keyboard.enable()
  2442. },
  2443. destroy: function() {
  2444. this.keyboard.enabled && this.keyboard.disable()
  2445. }
  2446. }
  2447. };
  2448. var A = {
  2449. lastScrollTime: ee.now(),
  2450. event: -1 < J.navigator.userAgent.indexOf("firefox") ? "DOMMouseScroll" : function() {
  2451. var e = "onwheel",
  2452. t = e in f;
  2453. if (!t) {
  2454. var a = f.createElement("div");
  2455. a.setAttribute(e, "return;"), t = "function" == typeof a[e]
  2456. }
  2457. return !t && f.implementation && f.implementation.hasFeature && !0 !== f.implementation
  2458. .hasFeature("", "") && (t = f.implementation.hasFeature("Events.wheel", "3.0")), t
  2459. }() ? "wheel" : "mousewheel",
  2460. normalize: function(e) {
  2461. var t = 0,
  2462. a = 0,
  2463. i = 0,
  2464. s = 0;
  2465. return "detail" in e && (a = e.detail), "wheelDelta" in e && (a = -e.wheelDelta / 120),
  2466. "wheelDeltaY" in e && (a = -e.wheelDeltaY / 120), "wheelDeltaX" in e && (t = -e
  2467. .wheelDeltaX / 120), "axis" in e && e.axis === e.HORIZONTAL_AXIS && (t = a, a = 0), i =
  2468. 10 * t, s = 10 * a, "deltaY" in e && (s = e.deltaY), "deltaX" in e && (i = e.deltaX), (i ||
  2469. s) && e.deltaMode && (1 === e.deltaMode ? (i *= 40, s *= 40) : (i *= 800, s *= 800)),
  2470. i && !t && (t = i < 1 ? -1 : 1), s && !a && (a = s < 1 ? -1 : 1), {
  2471. spinX: t,
  2472. spinY: a,
  2473. pixelX: i,
  2474. pixelY: s
  2475. }
  2476. },
  2477. handleMouseEnter: function() {
  2478. this.mouseEntered = !0
  2479. },
  2480. handleMouseLeave: function() {
  2481. this.mouseEntered = !1
  2482. },
  2483. handle: function(e) {
  2484. var t = e,
  2485. a = this,
  2486. i = a.params.mousewheel;
  2487. if (!a.mouseEntered && !i.releaseOnEdges) return !0;
  2488. t.originalEvent && (t = t.originalEvent);
  2489. var s = 0,
  2490. r = a.rtlTranslate ? -1 : 1,
  2491. n = A.normalize(t);
  2492. if (i.forceToAxis)
  2493. if (a.isHorizontal()) {
  2494. if (!(Math.abs(n.pixelX) > Math.abs(n.pixelY))) return !0;
  2495. s = n.pixelX * r
  2496. } else {
  2497. if (!(Math.abs(n.pixelY) > Math.abs(n.pixelX))) return !0;
  2498. s = n.pixelY
  2499. }
  2500. else s = Math.abs(n.pixelX) > Math.abs(n.pixelY) ? -n.pixelX * r : -n.pixelY;
  2501. if (0 === s) return !0;
  2502. if (i.invert && (s = -s), a.params.freeMode) {
  2503. a.params.loop && a.loopFix();
  2504. var o = a.getTranslate() + s * i.sensitivity,
  2505. l = a.isBeginning,
  2506. d = a.isEnd;
  2507. if (o >= a.minTranslate() && (o = a.minTranslate()), o <= a.maxTranslate() && (o = a
  2508. .maxTranslate()), a.setTransition(0), a.setTranslate(o), a.updateProgress(), a
  2509. .updateActiveIndex(), a.updateSlidesClasses(), (!l && a.isBeginning || !d && a.isEnd) &&
  2510. a.updateSlidesClasses(), a.params.freeModeSticky && (clearTimeout(a.mousewheel.timeout),
  2511. a.mousewheel.timeout = ee.nextTick(function() {
  2512. a.slideToClosest()
  2513. }, 300)), a.emit("scroll", t), a.params.autoplay && a.params
  2514. .autoplayDisableOnInteraction && a.autoplay.stop(), o === a.minTranslate() || o === a
  2515. .maxTranslate()) return !0
  2516. } else {
  2517. if (60 < ee.now() - a.mousewheel.lastScrollTime)
  2518. if (s < 0)
  2519. if (a.isEnd && !a.params.loop || a.animating) {
  2520. if (i.releaseOnEdges) return !0
  2521. } else a.slideNext(), a.emit("scroll", t);
  2522. else if (a.isBeginning && !a.params.loop || a.animating) {
  2523. if (i.releaseOnEdges) return !0
  2524. } else a.slidePrev(), a.emit("scroll", t);
  2525. a.mousewheel.lastScrollTime = (new J.Date).getTime()
  2526. }
  2527. return t.preventDefault ? t.preventDefault() : t.returnValue = !1, !1
  2528. },
  2529. enable: function() {
  2530. var e = this;
  2531. if (!A.event) return !1;
  2532. if (e.mousewheel.enabled) return !1;
  2533. var t = e.$el;
  2534. return "container" !== e.params.mousewheel.eventsTarged && (t = L(e.params.mousewheel
  2535. .eventsTarged)), t.on("mouseenter", e.mousewheel.handleMouseEnter), t.on("mouseleave", e
  2536. .mousewheel.handleMouseLeave), t.on(A.event, e.mousewheel.handle), e.mousewheel
  2537. .enabled = !0
  2538. },
  2539. disable: function() {
  2540. var e = this;
  2541. if (!A.event) return !1;
  2542. if (!e.mousewheel.enabled) return !1;
  2543. var t = e.$el;
  2544. return "container" !== e.params.mousewheel.eventsTarged && (t = L(e.params.mousewheel
  2545. .eventsTarged)), t.off(A.event, e.mousewheel.handle), !(e.mousewheel.enabled = !1)
  2546. }
  2547. },
  2548. H = {
  2549. update: function() {
  2550. var e = this,
  2551. t = e.params.navigation;
  2552. if (!e.params.loop) {
  2553. var a = e.navigation,
  2554. i = a.$nextEl,
  2555. s = a.$prevEl;
  2556. s && 0 < s.length && (e.isBeginning ? s.addClass(t.disabledClass) : s.removeClass(t
  2557. .disabledClass), s[e.params.watchOverflow && e.isLocked ? "addClass" :
  2558. "removeClass"](t.lockClass)), i && 0 < i.length && (e.isEnd ? i.addClass(t
  2559. .disabledClass) : i.removeClass(t.disabledClass), i[e.params.watchOverflow && e
  2560. .isLocked ? "addClass" : "removeClass"](t.lockClass))
  2561. }
  2562. },
  2563. onPrevClick: function(e) {
  2564. e.preventDefault(), this.isBeginning && !this.params.loop || this.slidePrev()
  2565. },
  2566. onNextClick: function(e) {
  2567. e.preventDefault(), this.isEnd && !this.params.loop || this.slideNext()
  2568. },
  2569. init: function() {
  2570. var e, t, a = this,
  2571. i = a.params.navigation;
  2572. (i.nextEl || i.prevEl) && (i.nextEl && (e = L(i.nextEl), a.params.uniqueNavElements &&
  2573. "string" == typeof i.nextEl && 1 < e.length && 1 === a.$el.find(i.nextEl).length && (e =
  2574. a.$el.find(i.nextEl))), i.prevEl && (t = L(i.prevEl), a.params.uniqueNavElements &&
  2575. "string" == typeof i.prevEl && 1 < t.length && 1 === a.$el.find(i.prevEl).length && (t =
  2576. a.$el.find(i.prevEl))), e && 0 < e.length && e.on("click", a.navigation
  2577. .onNextClick), t && 0 < t.length && t.on("click", a.navigation.onPrevClick), ee.extend(a
  2578. .navigation, {
  2579. $nextEl: e,
  2580. nextEl: e && e[0],
  2581. $prevEl: t,
  2582. prevEl: t && t[0]
  2583. }))
  2584. },
  2585. destroy: function() {
  2586. var e = this,
  2587. t = e.navigation,
  2588. a = t.$nextEl,
  2589. i = t.$prevEl;
  2590. a && a.length && (a.off("click", e.navigation.onNextClick), a.removeClass(e.params.navigation
  2591. .disabledClass)), i && i.length && (i.off("click", e.navigation.onPrevClick), i
  2592. .removeClass(e.params.navigation.disabledClass))
  2593. }
  2594. },
  2595. N = {
  2596. update: function() {
  2597. var e = this,
  2598. t = e.rtl,
  2599. s = e.params.pagination;
  2600. if (s.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) {
  2601. var r, a = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides
  2602. .length,
  2603. i = e.pagination.$el,
  2604. n = e.params.loop ? Math.ceil((a - 2 * e.loopedSlides) / e.params.slidesPerGroup) : e
  2605. .snapGrid.length;
  2606. if (e.params.loop ? ((r = Math.ceil((e.activeIndex - e.loopedSlides) / e.params
  2607. .slidesPerGroup)) > a - 1 - 2 * e.loopedSlides && (r -= a - 2 * e.loopedSlides),
  2608. n - 1 < r && (r -= n), r < 0 && "bullets" !== e.params.paginationType && (r = n + r)
  2609. ) : r = void 0 !== e.snapIndex ? e.snapIndex : e.activeIndex || 0, "bullets" === s
  2610. .type && e.pagination.bullets && 0 < e.pagination.bullets.length) {
  2611. var o, l, d, p = e.pagination.bullets;
  2612. if (s.dynamicBullets && (e.pagination.bulletSize = p.eq(0)[e.isHorizontal() ?
  2613. "outerWidth" : "outerHeight"](!0), i.css(e.isHorizontal() ? "width" :
  2614. "height", e.pagination.bulletSize * (s.dynamicMainBullets + 4) + "px"), 1 <
  2615. s.dynamicMainBullets && void 0 !== e.previousIndex && (e.pagination
  2616. .dynamicBulletIndex += r - e.previousIndex, e.pagination
  2617. .dynamicBulletIndex > s.dynamicMainBullets - 1 ? e.pagination
  2618. .dynamicBulletIndex = s.dynamicMainBullets - 1 : e.pagination
  2619. .dynamicBulletIndex < 0 && (e.pagination.dynamicBulletIndex = 0)), o = r - e
  2620. .pagination.dynamicBulletIndex, d = ((l = o + (Math.min(p.length, s
  2621. .dynamicMainBullets) - 1)) + o) / 2), p.removeClass(s.bulletActiveClass +
  2622. " " + s.bulletActiveClass + "-next " + s.bulletActiveClass + "-next-next " + s
  2623. .bulletActiveClass + "-prev " + s.bulletActiveClass + "-prev-prev " + s
  2624. .bulletActiveClass + "-main"), 1 < i.length) p.each(function(e, t) {
  2625. var a = L(t),
  2626. i = a.index();
  2627. i === r && a.addClass(s.bulletActiveClass), s.dynamicBullets && (o <= i &&
  2628. i <= l && a.addClass(s.bulletActiveClass + "-main"), i === o && a
  2629. .prev().addClass(s.bulletActiveClass + "-prev").prev().addClass(s
  2630. .bulletActiveClass + "-prev-prev"), i === l && a.next()
  2631. .addClass(s.bulletActiveClass + "-next").next().addClass(s
  2632. .bulletActiveClass + "-next-next"))
  2633. });
  2634. else if (p.eq(r).addClass(s.bulletActiveClass), s.dynamicBullets) {
  2635. for (var c = p.eq(o), u = p.eq(l), h = o; h <= l; h += 1) p.eq(h).addClass(s
  2636. .bulletActiveClass + "-main");
  2637. c.prev().addClass(s.bulletActiveClass + "-prev").prev().addClass(s
  2638. .bulletActiveClass + "-prev-prev"), u.next().addClass(s.bulletActiveClass +
  2639. "-next").next().addClass(s.bulletActiveClass + "-next-next")
  2640. }
  2641. if (s.dynamicBullets) {
  2642. var v = Math.min(p.length, s.dynamicMainBullets + 4),
  2643. f = (e.pagination.bulletSize * v - e.pagination.bulletSize) / 2 - d * e
  2644. .pagination.bulletSize,
  2645. m = t ? "right" : "left";
  2646. p.css(e.isHorizontal() ? m : "top", f + "px")
  2647. }
  2648. }
  2649. if ("fraction" === s.type && (i.find("." + s.currentClass).text(s.formatFractionCurrent(r +
  2650. 1)), i.find("." + s.totalClass).text(s.formatFractionTotal(n))), "progressbar" === s
  2651. .type) {
  2652. var g;
  2653. g = s.progressbarOpposite ? e.isHorizontal() ? "vertical" : "horizontal" : e
  2654. .isHorizontal() ? "horizontal" : "vertical";
  2655. var b = (r + 1) / n,
  2656. w = 1,
  2657. y = 1;
  2658. "horizontal" === g ? w = b : y = b, i.find("." + s.progressbarFillClass).transform(
  2659. "translate3d(0,0,0) scaleX(" + w + ") scaleY(" + y + ")").transition(e.params
  2660. .speed)
  2661. }
  2662. "custom" === s.type && s.renderCustom ? (i.html(s.renderCustom(e, r + 1, n)), e.emit(
  2663. "paginationRender", e, i[0])) : e.emit("paginationUpdate", e, i[0]), i[e.params
  2664. .watchOverflow && e.isLocked ? "addClass" : "removeClass"](s.lockClass)
  2665. }
  2666. },
  2667. render: function() {
  2668. var e = this,
  2669. t = e.params.pagination;
  2670. if (t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) {
  2671. var a = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length,
  2672. i = e.pagination.$el,
  2673. s = "";
  2674. if ("bullets" === t.type) {
  2675. for (var r = e.params.loop ? Math.ceil((a - 2 * e.loopedSlides) / e.params
  2676. .slidesPerGroup) : e.snapGrid.length, n = 0; n < r; n += 1) t.renderBullet ?
  2677. s += t.renderBullet.call(e, n, t.bulletClass) : s += "<" + t.bulletElement +
  2678. ' class="' + t.bulletClass + '"></' + t.bulletElement + ">";
  2679. i.html(s), e.pagination.bullets = i.find("." + t.bulletClass)
  2680. }
  2681. "fraction" === t.type && (s = t.renderFraction ? t.renderFraction.call(e, t.currentClass, t
  2682. .totalClass) : '<span class="' + t.currentClass + '"></span> / <span class="' +
  2683. t.totalClass + '"></span>', i.html(s)), "progressbar" === t.type && (s = t
  2684. .renderProgressbar ? t.renderProgressbar.call(e, t.progressbarFillClass) :
  2685. '<span class="' + t.progressbarFillClass + '"></span>', i.html(s)), "custom" !== t
  2686. .type && e.emit("paginationRender", e.pagination.$el[0])
  2687. }
  2688. },
  2689. init: function() {
  2690. var a = this,
  2691. e = a.params.pagination;
  2692. if (e.el) {
  2693. var t = L(e.el);
  2694. 0 !== t.length && (a.params.uniqueNavElements && "string" == typeof e.el && 1 < t.length &&
  2695. 1 === a.$el.find(e.el).length && (t = a.$el.find(e.el)), "bullets" === e.type && e
  2696. .clickable && t.addClass(e.clickableClass), t.addClass(e.modifierClass + e.type),
  2697. "bullets" === e.type && e.dynamicBullets && (t.addClass("" + e.modifierClass + e
  2698. .type + "-dynamic"), a.pagination.dynamicBulletIndex = 0, e
  2699. .dynamicMainBullets < 1 && (e.dynamicMainBullets = 1)), "progressbar" === e
  2700. .type && e.progressbarOpposite && t.addClass(e.progressbarOppositeClass), e
  2701. .clickable && t.on("click", "." + e.bulletClass, function(e) {
  2702. e.preventDefault();
  2703. var t = L(this).index() * a.params.slidesPerGroup;
  2704. a.params.loop && (t += a.loopedSlides), a.slideTo(t)
  2705. }), ee.extend(a.pagination, {
  2706. $el: t,
  2707. el: t[0]
  2708. }))
  2709. }
  2710. },
  2711. destroy: function() {
  2712. var e = this,
  2713. t = e.params.pagination;
  2714. if (t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) {
  2715. var a = e.pagination.$el;
  2716. a.removeClass(t.hiddenClass), a.removeClass(t.modifierClass + t.type), e.pagination
  2717. .bullets && e.pagination.bullets.removeClass(t.bulletActiveClass), t.clickable && a.off(
  2718. "click", "." + t.bulletClass)
  2719. }
  2720. }
  2721. },
  2722. G = {
  2723. setTranslate: function() {
  2724. var e = this;
  2725. if (e.params.scrollbar.el && e.scrollbar.el) {
  2726. var t = e.scrollbar,
  2727. a = e.rtlTranslate,
  2728. i = e.progress,
  2729. s = t.dragSize,
  2730. r = t.trackSize,
  2731. n = t.$dragEl,
  2732. o = t.$el,
  2733. l = e.params.scrollbar,
  2734. d = s,
  2735. p = (r - s) * i;
  2736. a ? 0 < (p = -p) ? (d = s - p, p = 0) : r < -p + s && (d = r + p) : p < 0 ? (d = s + p, p =
  2737. 0) : r < p + s && (d = r - p), e.isHorizontal() ? (te.transforms3d ? n.transform(
  2738. "translate3d(" + p + "px, 0, 0)") : n.transform("translateX(" + p + "px)"), n[0]
  2739. .style.width = d + "px") : (te.transforms3d ? n.transform("translate3d(0px, " + p +
  2740. "px, 0)") : n.transform("translateY(" + p + "px)"), n[0].style.height = d +
  2741. "px"), l.hide && (clearTimeout(e.scrollbar.timeout), o[0].style.opacity = 1, e
  2742. .scrollbar.timeout = setTimeout(function() {
  2743. o[0].style.opacity = 0, o.transition(400)
  2744. }, 1e3))
  2745. }
  2746. },
  2747. setTransition: function(e) {
  2748. this.params.scrollbar.el && this.scrollbar.el && this.scrollbar.$dragEl.transition(e)
  2749. },
  2750. updateSize: function() {
  2751. var e = this;
  2752. if (e.params.scrollbar.el && e.scrollbar.el) {
  2753. var t = e.scrollbar,
  2754. a = t.$dragEl,
  2755. i = t.$el;
  2756. a[0].style.width = "", a[0].style.height = "";
  2757. var s, r = e.isHorizontal() ? i[0].offsetWidth : i[0].offsetHeight,
  2758. n = e.size / e.virtualSize,
  2759. o = n * (r / e.size);
  2760. s = "auto" === e.params.scrollbar.dragSize ? r * n : parseInt(e.params.scrollbar.dragSize,
  2761. 10), e.isHorizontal() ? a[0].style.width = s + "px" : a[0].style.height = s + "px",
  2762. i[0].style.display = 1 <= n ? "none" : "", e.params.scrollbar.hide && (i[0].style
  2763. .opacity = 0), ee.extend(t, {
  2764. trackSize: r,
  2765. divider: n,
  2766. moveDivider: o,
  2767. dragSize: s
  2768. }), t.$el[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](e.params
  2769. .scrollbar.lockClass)
  2770. }
  2771. },
  2772. setDragPosition: function(e) {
  2773. var t, a = this,
  2774. i = a.scrollbar,
  2775. s = a.rtlTranslate,
  2776. r = i.$el,
  2777. n = i.dragSize,
  2778. o = i.trackSize;
  2779. t = ((a.isHorizontal() ? "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0]
  2780. .pageX : e.pageX || e.clientX : "touchstart" === e.type || "touchmove" === e.type ?
  2781. e.targetTouches[0].pageY : e.pageY || e.clientY) - r.offset()[a.isHorizontal() ?
  2782. "left" : "top"] - n / 2) / (o - n), t = Math.max(Math.min(t, 1), 0), s && (t = 1 - t);
  2783. var l = a.minTranslate() + (a.maxTranslate() - a.minTranslate()) * t;
  2784. a.updateProgress(l), a.setTranslate(l), a.updateActiveIndex(), a.updateSlidesClasses()
  2785. },
  2786. onDragStart: function(e) {
  2787. var t = this,
  2788. a = t.params.scrollbar,
  2789. i = t.scrollbar,
  2790. s = t.$wrapperEl,
  2791. r = i.$el,
  2792. n = i.$dragEl;
  2793. t.scrollbar.isTouched = !0, e.preventDefault(), e.stopPropagation(), s.transition(100), n
  2794. .transition(100), i.setDragPosition(e), clearTimeout(t.scrollbar.dragTimeout), r.transition(
  2795. 0), a.hide && r.css("opacity", 1), t.emit("scrollbarDragStart", e)
  2796. },
  2797. onDragMove: function(e) {
  2798. var t = this.scrollbar,
  2799. a = this.$wrapperEl,
  2800. i = t.$el,
  2801. s = t.$dragEl;
  2802. this.scrollbar.isTouched && (e.preventDefault ? e.preventDefault() : e.returnValue = !1, t
  2803. .setDragPosition(e), a.transition(0), i.transition(0), s.transition(0), this.emit(
  2804. "scrollbarDragMove", e))
  2805. },
  2806. onDragEnd: function(e) {
  2807. var t = this,
  2808. a = t.params.scrollbar,
  2809. i = t.scrollbar.$el;
  2810. t.scrollbar.isTouched && (t.scrollbar.isTouched = !1, a.hide && (clearTimeout(t.scrollbar
  2811. .dragTimeout), t.scrollbar.dragTimeout = ee.nextTick(function() {
  2812. i.css("opacity", 0), i.transition(400)
  2813. }, 1e3)), t.emit("scrollbarDragEnd", e), a.snapOnRelease && t.slideToClosest())
  2814. },
  2815. enableDraggable: function() {
  2816. var e = this;
  2817. if (e.params.scrollbar.el) {
  2818. var t = e.scrollbar,
  2819. a = e.touchEventsTouch,
  2820. i = e.touchEventsDesktop,
  2821. s = e.params,
  2822. r = t.$el[0],
  2823. n = !(!te.passiveListener || !s.passiveListeners) && {
  2824. passive: !1,
  2825. capture: !1
  2826. },
  2827. o = !(!te.passiveListener || !s.passiveListeners) && {
  2828. passive: !0,
  2829. capture: !1
  2830. };
  2831. te.touch ? (r.addEventListener(a.start, e.scrollbar.onDragStart, n), r.addEventListener(a
  2832. .move, e.scrollbar.onDragMove, n), r.addEventListener(a.end, e.scrollbar
  2833. .onDragEnd, o)) : (r.addEventListener(i.start, e.scrollbar.onDragStart, n), f
  2834. .addEventListener(i.move, e.scrollbar.onDragMove, n), f.addEventListener(i.end, e
  2835. .scrollbar.onDragEnd, o))
  2836. }
  2837. },
  2838. disableDraggable: function() {
  2839. var e = this;
  2840. if (e.params.scrollbar.el) {
  2841. var t = e.scrollbar,
  2842. a = e.touchEventsTouch,
  2843. i = e.touchEventsDesktop,
  2844. s = e.params,
  2845. r = t.$el[0],
  2846. n = !(!te.passiveListener || !s.passiveListeners) && {
  2847. passive: !1,
  2848. capture: !1
  2849. },
  2850. o = !(!te.passiveListener || !s.passiveListeners) && {
  2851. passive: !0,
  2852. capture: !1
  2853. };
  2854. te.touch ? (r.removeEventListener(a.start, e.scrollbar.onDragStart, n), r
  2855. .removeEventListener(a.move, e.scrollbar.onDragMove, n), r.removeEventListener(a
  2856. .end, e.scrollbar.onDragEnd, o)) : (r.removeEventListener(i.start, e.scrollbar
  2857. .onDragStart, n), f.removeEventListener(i.move, e.scrollbar.onDragMove, n), f
  2858. .removeEventListener(i.end, e.scrollbar.onDragEnd, o))
  2859. }
  2860. },
  2861. init: function() {
  2862. var e = this;
  2863. if (e.params.scrollbar.el) {
  2864. var t = e.scrollbar,
  2865. a = e.$el,
  2866. i = e.params.scrollbar,
  2867. s = L(i.el);
  2868. e.params.uniqueNavElements && "string" == typeof i.el && 1 < s.length && 1 === a.find(i.el)
  2869. .length && (s = a.find(i.el));
  2870. var r = s.find("." + e.params.scrollbar.dragClass);
  2871. 0 === r.length && (r = L('<div class="' + e.params.scrollbar.dragClass + '"></div>'), s
  2872. .append(r)), ee.extend(t, {
  2873. $el: s,
  2874. el: s[0],
  2875. $dragEl: r,
  2876. dragEl: r[0]
  2877. }), i.draggable && t.enableDraggable()
  2878. }
  2879. },
  2880. destroy: function() {
  2881. this.scrollbar.disableDraggable()
  2882. }
  2883. },
  2884. B = {
  2885. setTransform: function(e, t) {
  2886. var a = this.rtl,
  2887. i = L(e),
  2888. s = a ? -1 : 1,
  2889. r = i.attr("data-swiper-parallax") || "0",
  2890. n = i.attr("data-swiper-parallax-x"),
  2891. o = i.attr("data-swiper-parallax-y"),
  2892. l = i.attr("data-swiper-parallax-scale"),
  2893. d = i.attr("data-swiper-parallax-opacity");
  2894. if (n || o ? (n = n || "0", o = o || "0") : this.isHorizontal() ? (n = r, o = "0") : (o = r, n =
  2895. "0"), n = 0 <= n.indexOf("%") ? parseInt(n, 10) * t * s + "%" : n * t * s + "px", o =
  2896. 0 <= o.indexOf("%") ? parseInt(o, 10) * t + "%" : o * t + "px", null != d) {
  2897. var p = d - (d - 1) * (1 - Math.abs(t));
  2898. i[0].style.opacity = p
  2899. }
  2900. if (null == l) i.transform("translate3d(" + n + ", " + o + ", 0px)");
  2901. else {
  2902. var c = l - (l - 1) * (1 - Math.abs(t));
  2903. i.transform("translate3d(" + n + ", " + o + ", 0px) scale(" + c + ")")
  2904. }
  2905. },
  2906. setTranslate: function() {
  2907. var i = this,
  2908. e = i.$el,
  2909. t = i.slides,
  2910. s = i.progress,
  2911. r = i.snapGrid;
  2912. e.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(
  2913. function(e, t) {
  2914. i.parallax.setTransform(t, s)
  2915. }), t.each(function(e, t) {
  2916. var a = t.progress;
  2917. 1 < i.params.slidesPerGroup && "auto" !== i.params.slidesPerView && (a += Math.ceil(
  2918. e / 2) - s * (r.length - 1)), a = Math.min(Math.max(a, -1), 1), L(t).find(
  2919. "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]"
  2920. ).each(function(e, t) {
  2921. i.parallax.setTransform(t, a)
  2922. })
  2923. })
  2924. },
  2925. setTransition: function(s) {
  2926. void 0 === s && (s = this.params.speed);
  2927. this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]")
  2928. .each(function(e, t) {
  2929. var a = L(t),
  2930. i = parseInt(a.attr("data-swiper-parallax-duration"), 10) || s;
  2931. 0 === s && (i = 0), a.transition(i)
  2932. })
  2933. }
  2934. },
  2935. X = {
  2936. getDistanceBetweenTouches: function(e) {
  2937. if (e.targetTouches.length < 2) return 1;
  2938. var t = e.targetTouches[0].pageX,
  2939. a = e.targetTouches[0].pageY,
  2940. i = e.targetTouches[1].pageX,
  2941. s = e.targetTouches[1].pageY;
  2942. return Math.sqrt(Math.pow(i - t, 2) + Math.pow(s - a, 2))
  2943. },
  2944. onGestureStart: function(e) {
  2945. var t = this,
  2946. a = t.params.zoom,
  2947. i = t.zoom,
  2948. s = i.gesture;
  2949. if (i.fakeGestureTouched = !1, i.fakeGestureMoved = !1, !te.gestures) {
  2950. if ("touchstart" !== e.type || "touchstart" === e.type && e.targetTouches.length < 2)
  2951. return;
  2952. i.fakeGestureTouched = !0, s.scaleStart = X.getDistanceBetweenTouches(e)
  2953. }
  2954. s.$slideEl && s.$slideEl.length || (s.$slideEl = L(e.target).closest(".swiper-slide"), 0 === s
  2955. .$slideEl.length && (s.$slideEl = t.slides.eq(t.activeIndex)), s.$imageEl = s.$slideEl
  2956. .find("img, svg, canvas"), s.$imageWrapEl = s.$imageEl.parent("." + a.containerClass), s
  2957. .maxRatio = s.$imageWrapEl.attr("data-swiper-zoom") || a.maxRatio, 0 !== s.$imageWrapEl
  2958. .length) ? (s.$imageEl.transition(0), t.zoom.isScaling = !0) : s.$imageEl = void 0
  2959. },
  2960. onGestureChange: function(e) {
  2961. var t = this.params.zoom,
  2962. a = this.zoom,
  2963. i = a.gesture;
  2964. if (!te.gestures) {
  2965. if ("touchmove" !== e.type || "touchmove" === e.type && e.targetTouches.length < 2) return;
  2966. a.fakeGestureMoved = !0, i.scaleMove = X.getDistanceBetweenTouches(e)
  2967. }
  2968. i.$imageEl && 0 !== i.$imageEl.length && (a.scale = te.gestures ? e.scale * a.currentScale : i
  2969. .scaleMove / i.scaleStart * a.currentScale, a.scale > i.maxRatio && (a.scale = i
  2970. .maxRatio - 1 + Math.pow(a.scale - i.maxRatio + 1, .5)), a.scale < t.minRatio && (a
  2971. .scale = t.minRatio + 1 - Math.pow(t.minRatio - a.scale + 1, .5)), i.$imageEl
  2972. .transform("translate3d(0,0,0) scale(" + a.scale + ")"))
  2973. },
  2974. onGestureEnd: function(e) {
  2975. var t = this.params.zoom,
  2976. a = this.zoom,
  2977. i = a.gesture;
  2978. if (!te.gestures) {
  2979. if (!a.fakeGestureTouched || !a.fakeGestureMoved) return;
  2980. if ("touchend" !== e.type || "touchend" === e.type && e.changedTouches.length < 2 && !g
  2981. .android) return;
  2982. a.fakeGestureTouched = !1, a.fakeGestureMoved = !1
  2983. }
  2984. i.$imageEl && 0 !== i.$imageEl.length && (a.scale = Math.max(Math.min(a.scale, i.maxRatio), t
  2985. .minRatio), i.$imageEl.transition(this.params.speed).transform(
  2986. "translate3d(0,0,0) scale(" + a.scale + ")"), a.currentScale = a.scale, a
  2987. .isScaling = !1, 1 === a.scale && (i.$slideEl = void 0))
  2988. },
  2989. onTouchStart: function(e) {
  2990. var t = this.zoom,
  2991. a = t.gesture,
  2992. i = t.image;
  2993. a.$imageEl && 0 !== a.$imageEl.length && (i.isTouched || (g.android && e.preventDefault(), i
  2994. .isTouched = !0, i.touchesStart.x = "touchstart" === e.type ? e.targetTouches[0]
  2995. .pageX : e.pageX, i.touchesStart.y = "touchstart" === e.type ? e.targetTouches[0]
  2996. .pageY : e.pageY))
  2997. },
  2998. onTouchMove: function(e) {
  2999. var t = this,
  3000. a = t.zoom,
  3001. i = a.gesture,
  3002. s = a.image,
  3003. r = a.velocity;
  3004. if (i.$imageEl && 0 !== i.$imageEl.length && (t.allowClick = !1, s.isTouched && i.$slideEl)) {
  3005. s.isMoved || (s.width = i.$imageEl[0].offsetWidth, s.height = i.$imageEl[0].offsetHeight, s
  3006. .startX = ee.getTranslate(i.$imageWrapEl[0], "x") || 0, s.startY = ee.getTranslate(i
  3007. .$imageWrapEl[0], "y") || 0, i.slideWidth = i.$slideEl[0].offsetWidth, i
  3008. .slideHeight = i.$slideEl[0].offsetHeight, i.$imageWrapEl.transition(0), t.rtl && (s
  3009. .startX = -s.startX, s.startY = -s.startY));
  3010. var n = s.width * a.scale,
  3011. o = s.height * a.scale;
  3012. if (!(n < i.slideWidth && o < i.slideHeight)) {
  3013. if (s.minX = Math.min(i.slideWidth / 2 - n / 2, 0), s.maxX = -s.minX, s.minY = Math.min(
  3014. i.slideHeight / 2 - o / 2, 0), s.maxY = -s.minY, s.touchesCurrent.x =
  3015. "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX, s.touchesCurrent.y =
  3016. "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY, !s.isMoved && !a
  3017. .isScaling) {
  3018. if (t.isHorizontal() && (Math.floor(s.minX) === Math.floor(s.startX) && s
  3019. .touchesCurrent.x < s.touchesStart.x || Math.floor(s.maxX) === Math.floor(s
  3020. .startX) && s.touchesCurrent.x > s.touchesStart.x)) return void(s
  3021. .isTouched = !1);
  3022. if (!t.isHorizontal() && (Math.floor(s.minY) === Math.floor(s.startY) && s
  3023. .touchesCurrent.y < s.touchesStart.y || Math.floor(s.maxY) === Math.floor(s
  3024. .startY) && s.touchesCurrent.y > s.touchesStart.y)) return void(s
  3025. .isTouched = !1)
  3026. }
  3027. e.preventDefault(), e.stopPropagation(), s.isMoved = !0, s.currentX = s.touchesCurrent
  3028. .x - s.touchesStart.x + s.startX, s.currentY = s.touchesCurrent.y - s.touchesStart
  3029. .y + s.startY, s.currentX < s.minX && (s.currentX = s.minX + 1 - Math.pow(s.minX - s
  3030. .currentX + 1, .8)), s.currentX > s.maxX && (s.currentX = s.maxX - 1 + Math.pow(
  3031. s.currentX - s.maxX + 1, .8)), s.currentY < s.minY && (s.currentY = s.minY + 1 -
  3032. Math.pow(s.minY - s.currentY + 1, .8)), s.currentY > s.maxY && (s.currentY = s
  3033. .maxY - 1 + Math.pow(s.currentY - s.maxY + 1, .8)), r.prevPositionX || (r
  3034. .prevPositionX = s.touchesCurrent.x), r.prevPositionY || (r.prevPositionY = s
  3035. .touchesCurrent.y), r.prevTime || (r.prevTime = Date.now()), r.x = (s
  3036. .touchesCurrent.x - r.prevPositionX) / (Date.now() - r.prevTime) / 2, r.y = (s
  3037. .touchesCurrent.y - r.prevPositionY) / (Date.now() - r.prevTime) / 2, Math.abs(s
  3038. .touchesCurrent.x - r.prevPositionX) < 2 && (r.x = 0), Math.abs(s.touchesCurrent
  3039. .y - r.prevPositionY) < 2 && (r.y = 0), r.prevPositionX = s.touchesCurrent.x, r
  3040. .prevPositionY = s.touchesCurrent.y, r.prevTime = Date.now(), i.$imageWrapEl
  3041. .transform("translate3d(" + s.currentX + "px, " + s.currentY + "px,0)")
  3042. }
  3043. }
  3044. },
  3045. onTouchEnd: function() {
  3046. var e = this.zoom,
  3047. t = e.gesture,
  3048. a = e.image,
  3049. i = e.velocity;
  3050. if (t.$imageEl && 0 !== t.$imageEl.length) {
  3051. if (!a.isTouched || !a.isMoved) return a.isTouched = !1, void(a.isMoved = !1);
  3052. a.isTouched = !1, a.isMoved = !1;
  3053. var s = 300,
  3054. r = 300,
  3055. n = i.x * s,
  3056. o = a.currentX + n,
  3057. l = i.y * r,
  3058. d = a.currentY + l;
  3059. 0 !== i.x && (s = Math.abs((o - a.currentX) / i.x)), 0 !== i.y && (r = Math.abs((d - a
  3060. .currentY) / i.y));
  3061. var p = Math.max(s, r);
  3062. a.currentX = o, a.currentY = d;
  3063. var c = a.width * e.scale,
  3064. u = a.height * e.scale;
  3065. a.minX = Math.min(t.slideWidth / 2 - c / 2, 0), a.maxX = -a.minX, a.minY = Math.min(t
  3066. .slideHeight / 2 - u / 2, 0), a.maxY = -a.minY, a.currentX = Math.max(Math.min(a
  3067. .currentX, a.maxX), a.minX), a.currentY = Math.max(Math.min(a.currentY, a.maxY), a
  3068. .minY), t.$imageWrapEl.transition(p).transform("translate3d(" + a.currentX +
  3069. "px, " + a.currentY + "px,0)")
  3070. }
  3071. },
  3072. onTransitionEnd: function() {
  3073. var e = this.zoom,
  3074. t = e.gesture;
  3075. t.$slideEl && this.previousIndex !== this.activeIndex && (t.$imageEl.transform(
  3076. "translate3d(0,0,0) scale(1)"), t.$imageWrapEl.transform("translate3d(0,0,0)"), e
  3077. .scale = 1, e.currentScale = 1, t.$slideEl = void 0, t.$imageEl = void 0, t
  3078. .$imageWrapEl = void 0)
  3079. },
  3080. toggle: function(e) {
  3081. var t = this.zoom;
  3082. t.scale && 1 !== t.scale ? t.out() : t.in(e)
  3083. },
  3084. in: function(e) {
  3085. var t, a, i, s, r, n, o, l, d, p, c, u, h, v, f, m, g = this,
  3086. b = g.zoom,
  3087. w = g.params.zoom,
  3088. y = b.gesture,
  3089. x = b.image;
  3090. (y.$slideEl || (y.$slideEl = g.clickedSlide ? L(g.clickedSlide) : g.slides.eq(g.activeIndex), y
  3091. .$imageEl = y.$slideEl.find("img, svg, canvas"), y.$imageWrapEl = y.$imageEl.parent(
  3092. "." + w.containerClass)), y.$imageEl && 0 !== y.$imageEl.length) && (y.$slideEl
  3093. .addClass("" + w.zoomedSlideClass), void 0 === x.touchesStart.x && e ? (t = "touchend" === e
  3094. .type ? e.changedTouches[0].pageX : e.pageX, a = "touchend" === e.type ? e
  3095. .changedTouches[0].pageY : e.pageY) : (t = x.touchesStart.x, a = x.touchesStart.y), b
  3096. .scale = y.$imageWrapEl.attr("data-swiper-zoom") || w.maxRatio, b.currentScale = y
  3097. .$imageWrapEl.attr("data-swiper-zoom") || w.maxRatio, e ? (f = y.$slideEl[0].offsetWidth,
  3098. m = y.$slideEl[0].offsetHeight, i = y.$slideEl.offset().left + f / 2 - t, s = y.$slideEl
  3099. .offset().top + m / 2 - a, o = y.$imageEl[0].offsetWidth, l = y.$imageEl[0]
  3100. .offsetHeight, d = o * b.scale, p = l * b.scale, h = -(c = Math.min(f / 2 - d / 2, 0)),
  3101. v = -(u = Math.min(m / 2 - p / 2, 0)), (r = i * b.scale) < c && (r = c), h < r && (r =
  3102. h), (n = s * b.scale) < u && (n = u), v < n && (n = v)) : n = r = 0, y.$imageWrapEl
  3103. .transition(300).transform("translate3d(" + r + "px, " + n + "px,0)"), y.$imageEl
  3104. .transition(300).transform("translate3d(0,0,0) scale(" + b.scale + ")"))
  3105. },
  3106. out: function() {
  3107. var e = this,
  3108. t = e.zoom,
  3109. a = e.params.zoom,
  3110. i = t.gesture;
  3111. i.$slideEl || (i.$slideEl = e.clickedSlide ? L(e.clickedSlide) : e.slides.eq(e.activeIndex), i
  3112. .$imageEl = i.$slideEl.find("img, svg, canvas"), i.$imageWrapEl = i.$imageEl.parent(
  3113. "." + a.containerClass)), i.$imageEl && 0 !== i.$imageEl.length && (t.scale = 1, t
  3114. .currentScale = 1, i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"), i
  3115. .$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"), i.$slideEl
  3116. .removeClass("" + a.zoomedSlideClass), i.$slideEl = void 0)
  3117. },
  3118. enable: function() {
  3119. var e = this,
  3120. t = e.zoom;
  3121. if (!t.enabled) {
  3122. t.enabled = !0;
  3123. var a = !("touchstart" !== e.touchEvents.start || !te.passiveListener || !e.params
  3124. .passiveListeners) && {
  3125. passive: !0,
  3126. capture: !1
  3127. };
  3128. te.gestures ? (e.$wrapperEl.on("gesturestart", ".swiper-slide", t.onGestureStart, a), e
  3129. .$wrapperEl.on("gesturechange", ".swiper-slide", t.onGestureChange, a), e.$wrapperEl
  3130. .on("gestureend", ".swiper-slide", t.onGestureEnd, a)) : "touchstart" === e
  3131. .touchEvents.start && (e.$wrapperEl.on(e.touchEvents.start, ".swiper-slide", t
  3132. .onGestureStart, a), e.$wrapperEl.on(e.touchEvents.move, ".swiper-slide", t
  3133. .onGestureChange, a), e.$wrapperEl.on(e.touchEvents.end, ".swiper-slide", t
  3134. .onGestureEnd, a)), e.$wrapperEl.on(e.touchEvents.move, "." + e.params.zoom
  3135. .containerClass, t.onTouchMove)
  3136. }
  3137. },
  3138. disable: function() {
  3139. var e = this,
  3140. t = e.zoom;
  3141. if (t.enabled) {
  3142. e.zoom.enabled = !1;
  3143. var a = !("touchstart" !== e.touchEvents.start || !te.passiveListener || !e.params
  3144. .passiveListeners) && {
  3145. passive: !0,
  3146. capture: !1
  3147. };
  3148. te.gestures ? (e.$wrapperEl.off("gesturestart", ".swiper-slide", t.onGestureStart, a), e
  3149. .$wrapperEl.off("gesturechange", ".swiper-slide", t.onGestureChange, a), e
  3150. .$wrapperEl.off("gestureend", ".swiper-slide", t.onGestureEnd, a)) :
  3151. "touchstart" === e.touchEvents.start && (e.$wrapperEl.off(e.touchEvents.start,
  3152. ".swiper-slide", t.onGestureStart, a), e.$wrapperEl.off(e.touchEvents.move,
  3153. ".swiper-slide", t.onGestureChange, a), e.$wrapperEl.off(e.touchEvents.end,
  3154. ".swiper-slide", t.onGestureEnd, a)), e.$wrapperEl.off(e.touchEvents.move, "." + e
  3155. .params.zoom.containerClass, t.onTouchMove)
  3156. }
  3157. }
  3158. },
  3159. Y = {
  3160. loadInSlide: function(e, l) {
  3161. void 0 === l && (l = !0);
  3162. var d = this,
  3163. p = d.params.lazy;
  3164. if (void 0 !== e && 0 !== d.slides.length) {
  3165. var c = d.virtual && d.params.virtual.enabled ? d.$wrapperEl.children("." + d.params
  3166. .slideClass + '[data-swiper-slide-index="' + e + '"]') : d.slides.eq(e),
  3167. t = c.find("." + p.elementClass + ":not(." + p.loadedClass + "):not(." + p
  3168. .loadingClass + ")");
  3169. !c.hasClass(p.elementClass) || c.hasClass(p.loadedClass) || c.hasClass(p.loadingClass) || (
  3170. t = t.add(c[0])), 0 !== t.length && t.each(function(e, t) {
  3171. var i = L(t);
  3172. i.addClass(p.loadingClass);
  3173. var s = i.attr("data-background"),
  3174. r = i.attr("data-src"),
  3175. n = i.attr("data-srcset"),
  3176. o = i.attr("data-sizes");
  3177. d.loadImage(i[0], r || s, n, o, !1, function() {
  3178. if (null != d && d && (!d || d.params) && !d.destroyed) {
  3179. if (s ? (i.css("background-image", 'url("' + s + '")'), i
  3180. .removeAttr("data-background")) : (n && (i.attr(
  3181. "srcset", n), i.removeAttr("data-srcset")), o && (i
  3182. .attr("sizes", o), i.removeAttr("data-sizes")), r &&
  3183. (i.attr("src", r), i.removeAttr("data-src"))), i
  3184. .addClass(p.loadedClass).removeClass(p.loadingClass), c
  3185. .find("." + p.preloaderClass).remove(), d.params.loop && l
  3186. ) {
  3187. var e = c.attr("data-swiper-slide-index");
  3188. if (c.hasClass(d.params.slideDuplicateClass)) {
  3189. var t = d.$wrapperEl.children(
  3190. '[data-swiper-slide-index="' + e + '"]:not(.' +
  3191. d.params.slideDuplicateClass + ")");
  3192. d.lazy.loadInSlide(t.index(), !1)
  3193. } else {
  3194. var a = d.$wrapperEl.children("." + d.params
  3195. .slideDuplicateClass +
  3196. '[data-swiper-slide-index="' + e + '"]');
  3197. d.lazy.loadInSlide(a.index(), !1)
  3198. }
  3199. }
  3200. d.emit("lazyImageReady", c[0], i[0])
  3201. }
  3202. }), d.emit("lazyImageLoad", c[0], i[0])
  3203. })
  3204. }
  3205. },
  3206. load: function() {
  3207. var i = this,
  3208. t = i.$wrapperEl,
  3209. a = i.params,
  3210. s = i.slides,
  3211. e = i.activeIndex,
  3212. r = i.virtual && a.virtual.enabled,
  3213. n = a.lazy,
  3214. o = a.slidesPerView;
  3215. function l(e) {
  3216. if (r) {
  3217. if (t.children("." + a.slideClass + '[data-swiper-slide-index="' + e + '"]').length)
  3218. return !0
  3219. } else if (s[e]) return !0;
  3220. return !1
  3221. }
  3222. function d(e) {
  3223. return r ? L(e).attr("data-swiper-slide-index") : L(e).index()
  3224. }
  3225. if ("auto" === o && (o = 0), i.lazy.initialImageLoaded || (i.lazy.initialImageLoaded = !0), i
  3226. .params.watchSlidesVisibility) t.children("." + a.slideVisibleClass).each(function(e, t) {
  3227. var a = r ? L(t).attr("data-swiper-slide-index") : L(t).index();
  3228. i.lazy.loadInSlide(a)
  3229. });
  3230. else if (1 < o)
  3231. for (var p = e; p < e + o; p += 1) l(p) && i.lazy.loadInSlide(p);
  3232. else i.lazy.loadInSlide(e);
  3233. if (n.loadPrevNext)
  3234. if (1 < o || n.loadPrevNextAmount && 1 < n.loadPrevNextAmount) {
  3235. for (var c = n.loadPrevNextAmount, u = o, h = Math.min(e + u + Math.max(c, u), s
  3236. .length), v = Math.max(e - Math.max(u, c), 0), f = e + o; f < h; f += 1) l(f) &&
  3237. i.lazy.loadInSlide(f);
  3238. for (var m = v; m < e; m += 1) l(m) && i.lazy.loadInSlide(m)
  3239. } else {
  3240. var g = t.children("." + a.slideNextClass);
  3241. 0 < g.length && i.lazy.loadInSlide(d(g));
  3242. var b = t.children("." + a.slidePrevClass);
  3243. 0 < b.length && i.lazy.loadInSlide(d(b))
  3244. }
  3245. }
  3246. },
  3247. V = {
  3248. LinearSpline: function(e, t) {
  3249. var a, i, s, r, n, o = function(e, t) {
  3250. for (i = -1, a = e.length; 1 < a - i;) e[s = a + i >> 1] <= t ? i = s : a = s;
  3251. return a
  3252. };
  3253. return this.x = e, this.y = t, this.lastIndex = e.length - 1, this.interpolate = function(e) {
  3254. return e ? (n = o(this.x, e), r = n - 1, (e - this.x[r]) * (this.y[n] - this.y[r]) / (
  3255. this.x[n] - this.x[r]) + this.y[r]) : 0
  3256. }, this
  3257. },
  3258. getInterpolateFunction: function(e) {
  3259. var t = this;
  3260. t.controller.spline || (t.controller.spline = t.params.loop ? new V.LinearSpline(t.slidesGrid, e
  3261. .slidesGrid) : new V.LinearSpline(t.snapGrid, e.snapGrid))
  3262. },
  3263. setTranslate: function(e, t) {
  3264. var a, i, s = this,
  3265. r = s.controller.control;
  3266. function n(e) {
  3267. var t = s.rtlTranslate ? -s.translate : s.translate;
  3268. "slide" === s.params.controller.by && (s.controller.getInterpolateFunction(e), i = -s
  3269. .controller.spline.interpolate(-t)), i && "container" !== s.params.controller.by ||
  3270. (a = (e.maxTranslate() - e.minTranslate()) / (s.maxTranslate() - s.minTranslate()), i =
  3271. (t - s.minTranslate()) * a + e.minTranslate()), s.params.controller.inverse && (i =
  3272. e.maxTranslate() - i), e.updateProgress(i), e.setTranslate(i, s), e
  3273. .updateActiveIndex(), e.updateSlidesClasses()
  3274. }
  3275. if (Array.isArray(r))
  3276. for (var o = 0; o < r.length; o += 1) r[o] !== t && r[o] instanceof T && n(r[o]);
  3277. else r instanceof T && t !== r && n(r)
  3278. },
  3279. setTransition: function(t, e) {
  3280. var a, i = this,
  3281. s = i.controller.control;
  3282. function r(e) {
  3283. e.setTransition(t, i), 0 !== t && (e.transitionStart(), e.params.autoHeight && ee.nextTick(
  3284. function() {
  3285. e.updateAutoHeight()
  3286. }), e.$wrapperEl.transitionEnd(function() {
  3287. s && (e.params.loop && "slide" === i.params.controller.by && e.loopFix(), e
  3288. .transitionEnd())
  3289. }))
  3290. }
  3291. if (Array.isArray(s))
  3292. for (a = 0; a < s.length; a += 1) s[a] !== e && s[a] instanceof T && r(s[a]);
  3293. else s instanceof T && e !== s && r(s)
  3294. }
  3295. },
  3296. F = {
  3297. makeElFocusable: function(e) {
  3298. return e.attr("tabIndex", "0"), e
  3299. },
  3300. addElRole: function(e, t) {
  3301. return e.attr("role", t), e
  3302. },
  3303. addElLabel: function(e, t) {
  3304. return e.attr("aria-label", t), e
  3305. },
  3306. disableEl: function(e) {
  3307. return e.attr("aria-disabled", !0), e
  3308. },
  3309. enableEl: function(e) {
  3310. return e.attr("aria-disabled", !1), e
  3311. },
  3312. onEnterKey: function(e) {
  3313. var t = this,
  3314. a = t.params.a11y;
  3315. if (13 === e.keyCode) {
  3316. var i = L(e.target);
  3317. t.navigation && t.navigation.$nextEl && i.is(t.navigation.$nextEl) && (t.isEnd && !t.params
  3318. .loop || t.slideNext(), t.isEnd ? t.a11y.notify(a.lastSlideMessage) : t.a11y.notify(
  3319. a.nextSlideMessage)), t.navigation && t.navigation.$prevEl && i.is(t.navigation
  3320. .$prevEl) && (t.isBeginning && !t.params.loop || t.slidePrev(), t.isBeginning ? t
  3321. .a11y.notify(a.firstSlideMessage) : t.a11y.notify(a.prevSlideMessage)), t
  3322. .pagination && i.is("." + t.params.pagination.bulletClass) && i[0].click()
  3323. }
  3324. },
  3325. notify: function(e) {
  3326. var t = this.a11y.liveRegion;
  3327. 0 !== t.length && (t.html(""), t.html(e))
  3328. },
  3329. updateNavigation: function() {
  3330. var e = this;
  3331. if (!e.params.loop) {
  3332. var t = e.navigation,
  3333. a = t.$nextEl,
  3334. i = t.$prevEl;
  3335. i && 0 < i.length && (e.isBeginning ? e.a11y.disableEl(i) : e.a11y.enableEl(i)), a && 0 < a
  3336. .length && (e.isEnd ? e.a11y.disableEl(a) : e.a11y.enableEl(a))
  3337. }
  3338. },
  3339. updatePagination: function() {
  3340. var i = this,
  3341. s = i.params.a11y;
  3342. i.pagination && i.params.pagination.clickable && i.pagination.bullets && i.pagination.bullets
  3343. .length && i.pagination.bullets.each(function(e, t) {
  3344. var a = L(t);
  3345. i.a11y.makeElFocusable(a), i.a11y.addElRole(a, "button"), i.a11y.addElLabel(a, s
  3346. .paginationBulletMessage.replace(/{{index}}/, a.index() + 1))
  3347. })
  3348. },
  3349. init: function() {
  3350. var e = this;
  3351. e.$el.append(e.a11y.liveRegion);
  3352. var t, a, i = e.params.a11y;
  3353. e.navigation && e.navigation.$nextEl && (t = e.navigation.$nextEl), e.navigation && e.navigation
  3354. .$prevEl && (a = e.navigation.$prevEl), t && (e.a11y.makeElFocusable(t), e.a11y.addElRole(t,
  3355. "button"), e.a11y.addElLabel(t, i.nextSlideMessage), t.on("keydown", e.a11y
  3356. .onEnterKey)), a && (e.a11y.makeElFocusable(a), e.a11y.addElRole(a, "button"), e.a11y
  3357. .addElLabel(a, i.prevSlideMessage), a.on("keydown", e.a11y.onEnterKey)), e.pagination &&
  3358. e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length && e
  3359. .pagination.$el.on("keydown", "." + e.params.pagination.bulletClass, e.a11y.onEnterKey)
  3360. },
  3361. destroy: function() {
  3362. var e, t, a = this;
  3363. a.a11y.liveRegion && 0 < a.a11y.liveRegion.length && a.a11y.liveRegion.remove(), a.navigation &&
  3364. a.navigation.$nextEl && (e = a.navigation.$nextEl), a.navigation && a.navigation.$prevEl &&
  3365. (t = a.navigation.$prevEl), e && e.off("keydown", a.a11y.onEnterKey), t && t.off("keydown",
  3366. a.a11y.onEnterKey), a.pagination && a.params.pagination.clickable && a.pagination
  3367. .bullets && a.pagination.bullets.length && a.pagination.$el.off("keydown", "." + a.params
  3368. .pagination.bulletClass, a.a11y.onEnterKey)
  3369. }
  3370. },
  3371. R = {
  3372. init: function() {
  3373. var e = this;
  3374. if (e.params.history) {
  3375. if (!J.history || !J.history.pushState) return e.params.history.enabled = !1, void(e.params
  3376. .hashNavigation.enabled = !0);
  3377. var t = e.history;
  3378. t.initialized = !0, t.paths = R.getPathValues(), (t.paths.key || t.paths.value) && (t
  3379. .scrollToSlide(0, t.paths.value, e.params.runCallbacksOnInit), e.params.history
  3380. .replaceState || J.addEventListener("popstate", e.history.setHistoryPopState))
  3381. }
  3382. },
  3383. destroy: function() {
  3384. this.params.history.replaceState || J.removeEventListener("popstate", this.history
  3385. .setHistoryPopState)
  3386. },
  3387. setHistoryPopState: function() {
  3388. this.history.paths = R.getPathValues(), this.history.scrollToSlide(this.params.speed, this
  3389. .history.paths.value, !1)
  3390. },
  3391. getPathValues: function() {
  3392. var e = J.location.pathname.slice(1).split("/").filter(function(e) {
  3393. return "" !== e
  3394. }),
  3395. t = e.length;
  3396. return {
  3397. key: e[t - 2],
  3398. value: e[t - 1]
  3399. }
  3400. },
  3401. setHistory: function(e, t) {
  3402. if (this.history.initialized && this.params.history.enabled) {
  3403. var a = this.slides.eq(t),
  3404. i = R.slugify(a.attr("data-history"));
  3405. J.location.pathname.includes(e) || (i = e + "/" + i);
  3406. var s = J.history.state;
  3407. s && s.value === i || (this.params.history.replaceState ? J.history.replaceState({
  3408. value: i
  3409. }, null, i) : J.history.pushState({
  3410. value: i
  3411. }, null, i))
  3412. }
  3413. },
  3414. slugify: function(e) {
  3415. return e.toString().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(
  3416. /^-+/, "").replace(/-+$/, "")
  3417. },
  3418. scrollToSlide: function(e, t, a) {
  3419. var i = this;
  3420. if (t)
  3421. for (var s = 0, r = i.slides.length; s < r; s += 1) {
  3422. var n = i.slides.eq(s);
  3423. if (R.slugify(n.attr("data-history")) === t && !n.hasClass(i.params
  3424. .slideDuplicateClass)) {
  3425. var o = n.index();
  3426. i.slideTo(o, e, a)
  3427. }
  3428. } else i.slideTo(0, e, a)
  3429. }
  3430. },
  3431. q = {
  3432. onHashCange: function() {
  3433. var e = this,
  3434. t = f.location.hash.replace("#", "");
  3435. if (t !== e.slides.eq(e.activeIndex).attr("data-hash")) {
  3436. var a = e.$wrapperEl.children("." + e.params.slideClass + '[data-hash="' + t + '"]')
  3437. .index();
  3438. if (void 0 === a) return;
  3439. e.slideTo(a)
  3440. }
  3441. },
  3442. setHash: function() {
  3443. var e = this;
  3444. if (e.hashNavigation.initialized && e.params.hashNavigation.enabled)
  3445. if (e.params.hashNavigation.replaceState && J.history && J.history.replaceState) J.history
  3446. .replaceState(null, null, "#" + e.slides.eq(e.activeIndex).attr("data-hash") || "");
  3447. else {
  3448. var t = e.slides.eq(e.activeIndex),
  3449. a = t.attr("data-hash") || t.attr("data-history");
  3450. f.location.hash = a || ""
  3451. }
  3452. },
  3453. init: function() {
  3454. var e = this;
  3455. if (!(!e.params.hashNavigation.enabled || e.params.history && e.params.history.enabled)) {
  3456. e.hashNavigation.initialized = !0;
  3457. var t = f.location.hash.replace("#", "");
  3458. if (t)
  3459. for (var a = 0, i = e.slides.length; a < i; a += 1) {
  3460. var s = e.slides.eq(a);
  3461. if ((s.attr("data-hash") || s.attr("data-history")) === t && !s.hasClass(e.params
  3462. .slideDuplicateClass)) {
  3463. var r = s.index();
  3464. e.slideTo(r, 0, e.params.runCallbacksOnInit, !0)
  3465. }
  3466. }
  3467. e.params.hashNavigation.watchState && L(J).on("hashchange", e.hashNavigation.onHashCange)
  3468. }
  3469. },
  3470. destroy: function() {
  3471. this.params.hashNavigation.watchState && L(J).off("hashchange", this.hashNavigation.onHashCange)
  3472. }
  3473. },
  3474. W = {
  3475. run: function() {
  3476. var e = this,
  3477. t = e.slides.eq(e.activeIndex),
  3478. a = e.params.autoplay.delay;
  3479. t.attr("data-swiper-autoplay") && (a = t.attr("data-swiper-autoplay") || e.params.autoplay
  3480. .delay), e.autoplay.timeout = ee.nextTick(function() {
  3481. e.params.autoplay.reverseDirection ? e.params.loop ? (e.loopFix(), e.slidePrev(e
  3482. .params.speed, !0, !0), e.emit("autoplay")) : e.isBeginning ? e.params
  3483. .autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(e.slides.length - 1,
  3484. e.params.speed, !0, !0), e.emit("autoplay")) : (e.slidePrev(e.params.speed,
  3485. !0, !0), e.emit("autoplay")) : e.params.loop ? (e.loopFix(), e.slideNext(e
  3486. .params.speed, !0, !0), e.emit("autoplay")) : e.isEnd ? e.params.autoplay
  3487. .stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(0, e.params.speed, !0, !0), e
  3488. .emit("autoplay")) : (e.slideNext(e.params.speed, !0, !0), e.emit(
  3489. "autoplay"))
  3490. }, a)
  3491. },
  3492. start: function() {
  3493. var e = this;
  3494. return void 0 === e.autoplay.timeout && (!e.autoplay.running && (e.autoplay.running = !0, e
  3495. .emit("autoplayStart"), e.autoplay.run(), !0))
  3496. },
  3497. stop: function() {
  3498. var e = this;
  3499. return !!e.autoplay.running && (void 0 !== e.autoplay.timeout && (e.autoplay.timeout && (
  3500. clearTimeout(e.autoplay.timeout), e.autoplay.timeout = void 0), e.autoplay
  3501. .running = !1, e.emit("autoplayStop"), !0))
  3502. },
  3503. pause: function(e) {
  3504. var t = this;
  3505. t.autoplay.running && (t.autoplay.paused || (t.autoplay.timeout && clearTimeout(t.autoplay
  3506. .timeout), t.autoplay.paused = !0, 0 !== e && t.params.autoplay
  3507. .waitForTransition ? (t.$wrapperEl[0].addEventListener("transitionend", t.autoplay
  3508. .onTransitionEnd), t.$wrapperEl[0].addEventListener("webkitTransitionEnd", t
  3509. .autoplay.onTransitionEnd)) : (t.autoplay.paused = !1, t.autoplay.run())))
  3510. }
  3511. },
  3512. j = {
  3513. setTranslate: function() {
  3514. for (var e = this, t = e.slides, a = 0; a < t.length; a += 1) {
  3515. var i = e.slides.eq(a),
  3516. s = -i[0].swiperSlideOffset;
  3517. e.params.virtualTranslate || (s -= e.translate);
  3518. var r = 0;
  3519. e.isHorizontal() || (r = s, s = 0);
  3520. var n = e.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(i[0].progress), 0) : 1 + Math
  3521. .min(Math.max(i[0].progress, -1), 0);
  3522. i.css({
  3523. opacity: n
  3524. }).transform("translate3d(" + s + "px, " + r + "px, 0px)")
  3525. }
  3526. },
  3527. setTransition: function(e) {
  3528. var a = this,
  3529. t = a.slides,
  3530. i = a.$wrapperEl;
  3531. if (t.transition(e), a.params.virtualTranslate && 0 !== e) {
  3532. var s = !1;
  3533. t.transitionEnd(function() {
  3534. if (!s && a && !a.destroyed) {
  3535. s = !0, a.animating = !1;
  3536. for (var e = ["webkitTransitionEnd", "transitionend"], t = 0; t < e
  3537. .length; t += 1) i.trigger(e[t])
  3538. }
  3539. })
  3540. }
  3541. }
  3542. },
  3543. U = {
  3544. setTranslate: function() {
  3545. var e, t = this,
  3546. a = t.$el,
  3547. i = t.$wrapperEl,
  3548. s = t.slides,
  3549. r = t.width,
  3550. n = t.height,
  3551. o = t.rtlTranslate,
  3552. l = t.size,
  3553. d = t.params.cubeEffect,
  3554. p = t.isHorizontal(),
  3555. c = t.virtual && t.params.virtual.enabled,
  3556. u = 0;
  3557. d.shadow && (p ? (0 === (e = i.find(".swiper-cube-shadow")).length && (e = L(
  3558. '<div class="swiper-cube-shadow"></div>'), i.append(e)), e.css({
  3559. height: r + "px"
  3560. })) : 0 === (e = a.find(".swiper-cube-shadow")).length && (e = L(
  3561. '<div class="swiper-cube-shadow"></div>'), a.append(e)));
  3562. for (var h = 0; h < s.length; h += 1) {
  3563. var v = s.eq(h),
  3564. f = h;
  3565. c && (f = parseInt(v.attr("data-swiper-slide-index"), 10));
  3566. var m = 90 * f,
  3567. g = Math.floor(m / 360);
  3568. o && (m = -m, g = Math.floor(-m / 360));
  3569. var b = Math.max(Math.min(v[0].progress, 1), -1),
  3570. w = 0,
  3571. y = 0,
  3572. x = 0;
  3573. f % 4 == 0 ? (w = 4 * -g * l, x = 0) : (f - 1) % 4 == 0 ? (w = 0, x = 4 * -g * l) : (f -
  3574. 2) % 4 == 0 ? (w = l + 4 * g * l, x = l) : (f - 3) % 4 == 0 && (w = -l, x = 3 * l + 4 *
  3575. l * g), o && (w = -w), p || (y = w, w = 0);
  3576. var T = "rotateX(" + (p ? 0 : -m) + "deg) rotateY(" + (p ? m : 0) + "deg) translate3d(" +
  3577. w + "px, " + y + "px, " + x + "px)";
  3578. if (b <= 1 && -1 < b && (u = 90 * f + 90 * b, o && (u = 90 * -f - 90 * b)), v.transform(T),
  3579. d.slideShadows) {
  3580. var E = p ? v.find(".swiper-slide-shadow-left") : v.find(".swiper-slide-shadow-top"),
  3581. S = p ? v.find(".swiper-slide-shadow-right") : v.find(
  3582. ".swiper-slide-shadow-bottom");
  3583. 0 === E.length && (E = L('<div class="swiper-slide-shadow-' + (p ? "left" : "top") +
  3584. '"></div>'), v.append(E)), 0 === S.length && (S = L(
  3585. '<div class="swiper-slide-shadow-' + (p ? "right" : "bottom") + '"></div>'),
  3586. v.append(S)), E.length && (E[0].style.opacity = Math.max(-b, 0)), S.length && (
  3587. S[0].style.opacity = Math.max(b, 0))
  3588. }
  3589. }
  3590. if (i.css({
  3591. "-webkit-transform-origin": "50% 50% -" + l / 2 + "px",
  3592. "-moz-transform-origin": "50% 50% -" + l / 2 + "px",
  3593. "-ms-transform-origin": "50% 50% -" + l / 2 + "px",
  3594. "transform-origin": "50% 50% -" + l / 2 + "px"
  3595. }), d.shadow)
  3596. if (p) e.transform("translate3d(0px, " + (r / 2 + d.shadowOffset) + "px, " + -r / 2 +
  3597. "px) rotateX(90deg) rotateZ(0deg) scale(" + d.shadowScale + ")");
  3598. else {
  3599. var C = Math.abs(u) - 90 * Math.floor(Math.abs(u) / 90),
  3600. M = 1.5 - (Math.sin(2 * C * Math.PI / 360) / 2 + Math.cos(2 * C * Math.PI / 360) /
  3601. 2),
  3602. z = d.shadowScale,
  3603. P = d.shadowScale / M,
  3604. k = d.shadowOffset;
  3605. e.transform("scale3d(" + z + ", 1, " + P + ") translate3d(0px, " + (n / 2 + k) +
  3606. "px, " + -n / 2 / P + "px) rotateX(-90deg)")
  3607. } var $ = I.isSafari || I.isUiWebView ? -l / 2 : 0;
  3608. i.transform("translate3d(0px,0," + $ + "px) rotateX(" + (t.isHorizontal() ? 0 : u) +
  3609. "deg) rotateY(" + (t.isHorizontal() ? -u : 0) + "deg)")
  3610. },
  3611. setTransition: function(e) {
  3612. var t = this.$el;
  3613. this.slides.transition(e).find(
  3614. ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
  3615. ).transition(e), this.params.cubeEffect.shadow && !this.isHorizontal() && t.find(
  3616. ".swiper-cube-shadow").transition(e)
  3617. }
  3618. },
  3619. K = {
  3620. setTranslate: function() {
  3621. for (var e = this, t = e.slides, a = e.rtlTranslate, i = 0; i < t.length; i += 1) {
  3622. var s = t.eq(i),
  3623. r = s[0].progress;
  3624. e.params.flipEffect.limitRotation && (r = Math.max(Math.min(s[0].progress, 1), -1));
  3625. var n = -180 * r,
  3626. o = 0,
  3627. l = -s[0].swiperSlideOffset,
  3628. d = 0;
  3629. if (e.isHorizontal() ? a && (n = -n) : (d = l, o = -n, n = l = 0), s[0].style.zIndex = -Math
  3630. .abs(Math.round(r)) + t.length, e.params.flipEffect.slideShadows) {
  3631. var p = e.isHorizontal() ? s.find(".swiper-slide-shadow-left") : s.find(
  3632. ".swiper-slide-shadow-top"),
  3633. c = e.isHorizontal() ? s.find(".swiper-slide-shadow-right") : s.find(
  3634. ".swiper-slide-shadow-bottom");
  3635. 0 === p.length && (p = L('<div class="swiper-slide-shadow-' + (e.isHorizontal() ?
  3636. "left" : "top") + '"></div>'), s.append(p)), 0 === c.length && (c = L(
  3637. '<div class="swiper-slide-shadow-' + (e.isHorizontal() ? "right" :
  3638. "bottom") + '"></div>'), s.append(c)), p.length && (p[0].style.opacity = Math
  3639. .max(-r, 0)), c.length && (c[0].style.opacity = Math.max(r, 0))
  3640. }
  3641. s.transform("translate3d(" + l + "px, " + d + "px, 0px) rotateX(" + o + "deg) rotateY(" +
  3642. n + "deg)")
  3643. }
  3644. },
  3645. setTransition: function(e) {
  3646. var a = this,
  3647. t = a.slides,
  3648. i = a.activeIndex,
  3649. s = a.$wrapperEl;
  3650. if (t.transition(e).find(
  3651. ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
  3652. ).transition(e), a.params.virtualTranslate && 0 !== e) {
  3653. var r = !1;
  3654. t.eq(i).transitionEnd(function() {
  3655. if (!r && a && !a.destroyed) {
  3656. r = !0, a.animating = !1;
  3657. for (var e = ["webkitTransitionEnd", "transitionend"], t = 0; t < e
  3658. .length; t += 1) s.trigger(e[t])
  3659. }
  3660. })
  3661. }
  3662. }
  3663. },
  3664. _ = {
  3665. setTranslate: function() {
  3666. for (var e = this, t = e.width, a = e.height, i = e.slides, s = e.$wrapperEl, r = e
  3667. .slidesSizesGrid, n = e.params.coverflowEffect, o = e.isHorizontal(), l = e.translate,
  3668. d = o ? t / 2 - l : a / 2 - l, p = o ? n.rotate : -n.rotate, c = n.depth, u = 0, h = i
  3669. .length; u < h; u += 1) {
  3670. var v = i.eq(u),
  3671. f = r[u],
  3672. m = (d - v[0].swiperSlideOffset - f / 2) / f * n.modifier,
  3673. g = o ? p * m : 0,
  3674. b = o ? 0 : p * m,
  3675. w = -c * Math.abs(m),
  3676. y = o ? 0 : n.stretch * m,
  3677. x = o ? n.stretch * m : 0;
  3678. Math.abs(x) < .001 && (x = 0), Math.abs(y) < .001 && (y = 0), Math.abs(w) < .001 && (w = 0),
  3679. Math.abs(g) < .001 && (g = 0), Math.abs(b) < .001 && (b = 0);
  3680. var T = "translate3d(" + x + "px," + y + "px," + w + "px) rotateX(" + b + "deg) rotateY(" +
  3681. g + "deg)";
  3682. if (v.transform(T), v[0].style.zIndex = 1 - Math.abs(Math.round(m)), n.slideShadows) {
  3683. var E = o ? v.find(".swiper-slide-shadow-left") : v.find(".swiper-slide-shadow-top"),
  3684. S = o ? v.find(".swiper-slide-shadow-right") : v.find(
  3685. ".swiper-slide-shadow-bottom");
  3686. 0 === E.length && (E = L('<div class="swiper-slide-shadow-' + (o ? "left" : "top") +
  3687. '"></div>'), v.append(E)), 0 === S.length && (S = L(
  3688. '<div class="swiper-slide-shadow-' + (o ? "right" : "bottom") + '"></div>'),
  3689. v.append(S)), E.length && (E[0].style.opacity = 0 < m ? m : 0), S.length && (S[
  3690. 0].style.opacity = 0 < -m ? -m : 0)
  3691. }
  3692. }(te.pointerEvents || te.prefixedPointerEvents) && (s[0].style.perspectiveOrigin = d + "px 50%")
  3693. },
  3694. setTransition: function(e) {
  3695. this.slides.transition(e).find(
  3696. ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
  3697. ).transition(e)
  3698. }
  3699. },
  3700. Z = {
  3701. init: function() {
  3702. var e = this,
  3703. t = e.params.thumbs,
  3704. a = e.constructor;
  3705. t.swiper instanceof a ? (e.thumbs.swiper = t.swiper, ee.extend(e.thumbs.swiper.originalParams, {
  3706. watchSlidesProgress: !0,
  3707. slideToClickedSlide: !1
  3708. }), ee.extend(e.thumbs.swiper.params, {
  3709. watchSlidesProgress: !0,
  3710. slideToClickedSlide: !1
  3711. })) : ee.isObject(t.swiper) && (e.thumbs.swiper = new a(ee.extend({}, t.swiper, {
  3712. watchSlidesVisibility: !0,
  3713. watchSlidesProgress: !0,
  3714. slideToClickedSlide: !1
  3715. })), e.thumbs.swiperCreated = !0), e.thumbs.swiper.$el.addClass(e.params.thumbs
  3716. .thumbsContainerClass), e.thumbs.swiper.on("tap", e.thumbs.onThumbClick)
  3717. },
  3718. onThumbClick: function() {
  3719. var e = this,
  3720. t = e.thumbs.swiper;
  3721. if (t) {
  3722. var a = t.clickedIndex,
  3723. i = t.clickedSlide;
  3724. if (!(i && L(i).hasClass(e.params.thumbs.slideThumbActiveClass) || null == a)) {
  3725. var s;
  3726. if (s = t.params.loop ? parseInt(L(t.clickedSlide).attr("data-swiper-slide-index"),
  3727. 10) : a, e.params.loop) {
  3728. var r = e.activeIndex;
  3729. e.slides.eq(r).hasClass(e.params.slideDuplicateClass) && (e.loopFix(), e
  3730. ._clientLeft = e.$wrapperEl[0].clientLeft, r = e.activeIndex);
  3731. var n = e.slides.eq(r).prevAll('[data-swiper-slide-index="' + s + '"]').eq(0)
  3732. .index(),
  3733. o = e.slides.eq(r).nextAll('[data-swiper-slide-index="' + s + '"]').eq(0)
  3734. .index();
  3735. s = void 0 === n ? o : void 0 === o ? n : o - r < r - n ? o : n
  3736. }
  3737. e.slideTo(s)
  3738. }
  3739. }
  3740. },
  3741. update: function(e) {
  3742. var t = this,
  3743. a = t.thumbs.swiper;
  3744. if (a) {
  3745. var i = "auto" === a.params.slidesPerView ? a.slidesPerViewDynamic() : a.params
  3746. .slidesPerView;
  3747. if (t.realIndex !== a.realIndex) {
  3748. var s, r = a.activeIndex;
  3749. if (a.params.loop) {
  3750. a.slides.eq(r).hasClass(a.params.slideDuplicateClass) && (a.loopFix(), a
  3751. ._clientLeft = a.$wrapperEl[0].clientLeft, r = a.activeIndex);
  3752. var n = a.slides.eq(r).prevAll('[data-swiper-slide-index="' + t.realIndex + '"]')
  3753. .eq(0).index(),
  3754. o = a.slides.eq(r).nextAll('[data-swiper-slide-index="' + t.realIndex + '"]')
  3755. .eq(0).index();
  3756. s = void 0 === n ? o : void 0 === o ? n : o - r == r - n ? r : o - r < r - n ? o : n
  3757. } else s = t.realIndex;
  3758. a.visibleSlidesIndexes.indexOf(s) < 0 && (a.params.centeredSlides ? s = r < s ? s - Math
  3759. .floor(i / 2) + 1 : s + Math.floor(i / 2) - 1 : r < s && (s = s - i + 1), a
  3760. .slideTo(s, e ? 0 : void 0))
  3761. }
  3762. var l = 1,
  3763. d = t.params.thumbs.slideThumbActiveClass;
  3764. if (1 < t.params.slidesPerView && !t.params.centeredSlides && (l = t.params.slidesPerView),
  3765. a.slides.removeClass(d), a.params.loop)
  3766. for (var p = 0; p < l; p += 1) a.$wrapperEl.children('[data-swiper-slide-index="' + (t
  3767. .realIndex + p) + '"]').addClass(d);
  3768. else
  3769. for (var c = 0; c < l; c += 1) a.slides.eq(t.realIndex + c).addClass(d)
  3770. }
  3771. }
  3772. },
  3773. Q = [E, S, C, M, P, $, O, {
  3774. name: "mousewheel",
  3775. params: {
  3776. mousewheel: {
  3777. enabled: !1,
  3778. releaseOnEdges: !1,
  3779. invert: !1,
  3780. forceToAxis: !1,
  3781. sensitivity: 1,
  3782. eventsTarged: "container"
  3783. }
  3784. },
  3785. create: function() {
  3786. var e = this;
  3787. ee.extend(e, {
  3788. mousewheel: {
  3789. enabled: !1,
  3790. enable: A.enable.bind(e),
  3791. disable: A.disable.bind(e),
  3792. handle: A.handle.bind(e),
  3793. handleMouseEnter: A.handleMouseEnter.bind(e),
  3794. handleMouseLeave: A.handleMouseLeave.bind(e),
  3795. lastScrollTime: ee.now()
  3796. }
  3797. })
  3798. },
  3799. on: {
  3800. init: function() {
  3801. this.params.mousewheel.enabled && this.mousewheel.enable()
  3802. },
  3803. destroy: function() {
  3804. this.mousewheel.enabled && this.mousewheel.disable()
  3805. }
  3806. }
  3807. }, {
  3808. name: "navigation",
  3809. params: {
  3810. navigation: {
  3811. nextEl: null,
  3812. prevEl: null,
  3813. hideOnClick: !1,
  3814. disabledClass: "swiper-button-disabled",
  3815. hiddenClass: "swiper-button-hidden",
  3816. lockClass: "swiper-button-lock"
  3817. }
  3818. },
  3819. create: function() {
  3820. var e = this;
  3821. ee.extend(e, {
  3822. navigation: {
  3823. init: H.init.bind(e),
  3824. update: H.update.bind(e),
  3825. destroy: H.destroy.bind(e),
  3826. onNextClick: H.onNextClick.bind(e),
  3827. onPrevClick: H.onPrevClick.bind(e)
  3828. }
  3829. })
  3830. },
  3831. on: {
  3832. init: function() {
  3833. this.navigation.init(), this.navigation.update()
  3834. },
  3835. toEdge: function() {
  3836. this.navigation.update()
  3837. },
  3838. fromEdge: function() {
  3839. this.navigation.update()
  3840. },
  3841. destroy: function() {
  3842. this.navigation.destroy()
  3843. },
  3844. click: function(e) {
  3845. var t, a = this,
  3846. i = a.navigation,
  3847. s = i.$nextEl,
  3848. r = i.$prevEl;
  3849. !a.params.navigation.hideOnClick || L(e.target).is(r) || L(e.target).is(s) || (s ? t = s
  3850. .hasClass(a.params.navigation.hiddenClass) : r && (t = r.hasClass(a.params
  3851. .navigation.hiddenClass)), !0 === t ? a.emit("navigationShow", a) : a.emit(
  3852. "navigationHide", a), s && s.toggleClass(a.params.navigation.hiddenClass),
  3853. r && r.toggleClass(a.params.navigation.hiddenClass))
  3854. }
  3855. }
  3856. }, {
  3857. name: "pagination",
  3858. params: {
  3859. pagination: {
  3860. el: null,
  3861. bulletElement: "span",
  3862. clickable: !1,
  3863. hideOnClick: !1,
  3864. renderBullet: null,
  3865. renderProgressbar: null,
  3866. renderFraction: null,
  3867. renderCustom: null,
  3868. progressbarOpposite: !1,
  3869. type: "bullets",
  3870. dynamicBullets: !1,
  3871. dynamicMainBullets: 1,
  3872. formatFractionCurrent: function(e) {
  3873. return e
  3874. },
  3875. formatFractionTotal: function(e) {
  3876. return e
  3877. },
  3878. bulletClass: "swiper-pagination-bullet",
  3879. bulletActiveClass: "swiper-pagination-bullet-active",
  3880. modifierClass: "swiper-pagination-",
  3881. currentClass: "swiper-pagination-current",
  3882. totalClass: "swiper-pagination-total",
  3883. hiddenClass: "swiper-pagination-hidden",
  3884. progressbarFillClass: "swiper-pagination-progressbar-fill",
  3885. progressbarOppositeClass: "swiper-pagination-progressbar-opposite",
  3886. clickableClass: "swiper-pagination-clickable",
  3887. lockClass: "swiper-pagination-lock"
  3888. }
  3889. },
  3890. create: function() {
  3891. var e = this;
  3892. ee.extend(e, {
  3893. pagination: {
  3894. init: N.init.bind(e),
  3895. render: N.render.bind(e),
  3896. update: N.update.bind(e),
  3897. destroy: N.destroy.bind(e),
  3898. dynamicBulletIndex: 0
  3899. }
  3900. })
  3901. },
  3902. on: {
  3903. init: function() {
  3904. this.pagination.init(), this.pagination.render(), this.pagination.update()
  3905. },
  3906. activeIndexChange: function() {
  3907. this.params.loop ? this.pagination.update() : void 0 === this.snapIndex && this
  3908. .pagination.update()
  3909. },
  3910. snapIndexChange: function() {
  3911. this.params.loop || this.pagination.update()
  3912. },
  3913. slidesLengthChange: function() {
  3914. this.params.loop && (this.pagination.render(), this.pagination.update())
  3915. },
  3916. snapGridLengthChange: function() {
  3917. this.params.loop || (this.pagination.render(), this.pagination.update())
  3918. },
  3919. destroy: function() {
  3920. this.pagination.destroy()
  3921. },
  3922. click: function(e) {
  3923. var t = this;
  3924. t.params.pagination.el && t.params.pagination.hideOnClick && 0 < t.pagination.$el
  3925. .length && !L(e.target).hasClass(t.params.pagination.bulletClass) && (!0 === t
  3926. .pagination.$el.hasClass(t.params.pagination.hiddenClass) ? t.emit(
  3927. "paginationShow", t) : t.emit("paginationHide", t), t.pagination.$el
  3928. .toggleClass(t.params.pagination.hiddenClass))
  3929. }
  3930. }
  3931. }, {
  3932. name: "scrollbar",
  3933. params: {
  3934. scrollbar: {
  3935. el: null,
  3936. dragSize: "auto",
  3937. hide: !1,
  3938. draggable: !1,
  3939. snapOnRelease: !0,
  3940. lockClass: "swiper-scrollbar-lock",
  3941. dragClass: "swiper-scrollbar-drag"
  3942. }
  3943. },
  3944. create: function() {
  3945. var e = this;
  3946. ee.extend(e, {
  3947. scrollbar: {
  3948. init: G.init.bind(e),
  3949. destroy: G.destroy.bind(e),
  3950. updateSize: G.updateSize.bind(e),
  3951. setTranslate: G.setTranslate.bind(e),
  3952. setTransition: G.setTransition.bind(e),
  3953. enableDraggable: G.enableDraggable.bind(e),
  3954. disableDraggable: G.disableDraggable.bind(e),
  3955. setDragPosition: G.setDragPosition.bind(e),
  3956. onDragStart: G.onDragStart.bind(e),
  3957. onDragMove: G.onDragMove.bind(e),
  3958. onDragEnd: G.onDragEnd.bind(e),
  3959. isTouched: !1,
  3960. timeout: null,
  3961. dragTimeout: null
  3962. }
  3963. })
  3964. },
  3965. on: {
  3966. init: function() {
  3967. this.scrollbar.init(), this.scrollbar.updateSize(), this.scrollbar.setTranslate()
  3968. },
  3969. update: function() {
  3970. this.scrollbar.updateSize()
  3971. },
  3972. resize: function() {
  3973. this.scrollbar.updateSize()
  3974. },
  3975. observerUpdate: function() {
  3976. this.scrollbar.updateSize()
  3977. },
  3978. setTranslate: function() {
  3979. this.scrollbar.setTranslate()
  3980. },
  3981. setTransition: function(e) {
  3982. this.scrollbar.setTransition(e)
  3983. },
  3984. destroy: function() {
  3985. this.scrollbar.destroy()
  3986. }
  3987. }
  3988. }, {
  3989. name: "parallax",
  3990. params: {
  3991. parallax: {
  3992. enabled: !1
  3993. }
  3994. },
  3995. create: function() {
  3996. ee.extend(this, {
  3997. parallax: {
  3998. setTransform: B.setTransform.bind(this),
  3999. setTranslate: B.setTranslate.bind(this),
  4000. setTransition: B.setTransition.bind(this)
  4001. }
  4002. })
  4003. },
  4004. on: {
  4005. beforeInit: function() {
  4006. this.params.parallax.enabled && (this.params.watchSlidesProgress = !0, this
  4007. .originalParams.watchSlidesProgress = !0)
  4008. },
  4009. init: function() {
  4010. this.params.parallax.enabled && this.parallax.setTranslate()
  4011. },
  4012. setTranslate: function() {
  4013. this.params.parallax.enabled && this.parallax.setTranslate()
  4014. },
  4015. setTransition: function(e) {
  4016. this.params.parallax.enabled && this.parallax.setTransition(e)
  4017. }
  4018. }
  4019. }, {
  4020. name: "zoom",
  4021. params: {
  4022. zoom: {
  4023. enabled: !1,
  4024. maxRatio: 3,
  4025. minRatio: 1,
  4026. toggle: !0,
  4027. containerClass: "swiper-zoom-container",
  4028. zoomedSlideClass: "swiper-slide-zoomed"
  4029. }
  4030. },
  4031. create: function() {
  4032. var i = this,
  4033. t = {
  4034. enabled: !1,
  4035. scale: 1,
  4036. currentScale: 1,
  4037. isScaling: !1,
  4038. gesture: {
  4039. $slideEl: void 0,
  4040. slideWidth: void 0,
  4041. slideHeight: void 0,
  4042. $imageEl: void 0,
  4043. $imageWrapEl: void 0,
  4044. maxRatio: 3
  4045. },
  4046. image: {
  4047. isTouched: void 0,
  4048. isMoved: void 0,
  4049. currentX: void 0,
  4050. currentY: void 0,
  4051. minX: void 0,
  4052. minY: void 0,
  4053. maxX: void 0,
  4054. maxY: void 0,
  4055. width: void 0,
  4056. height: void 0,
  4057. startX: void 0,
  4058. startY: void 0,
  4059. touchesStart: {},
  4060. touchesCurrent: {}
  4061. },
  4062. velocity: {
  4063. x: void 0,
  4064. y: void 0,
  4065. prevPositionX: void 0,
  4066. prevPositionY: void 0,
  4067. prevTime: void 0
  4068. }
  4069. };
  4070. "onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out"
  4071. .split(" ").forEach(function(e) {
  4072. t[e] = X[e].bind(i)
  4073. }), ee.extend(i, {
  4074. zoom: t
  4075. });
  4076. var s = 1;
  4077. Object.defineProperty(i.zoom, "scale", {
  4078. get: function() {
  4079. return s
  4080. },
  4081. set: function(e) {
  4082. if (s !== e) {
  4083. var t = i.zoom.gesture.$imageEl ? i.zoom.gesture.$imageEl[0] :
  4084. void 0,
  4085. a = i.zoom.gesture.$slideEl ? i.zoom.gesture.$slideEl[0] :
  4086. void 0;
  4087. i.emit("zoomChange", e, t, a)
  4088. }
  4089. s = e
  4090. }
  4091. })
  4092. },
  4093. on: {
  4094. init: function() {
  4095. this.params.zoom.enabled && this.zoom.enable()
  4096. },
  4097. destroy: function() {
  4098. this.zoom.disable()
  4099. },
  4100. touchStart: function(e) {
  4101. this.zoom.enabled && this.zoom.onTouchStart(e)
  4102. },
  4103. touchEnd: function(e) {
  4104. this.zoom.enabled && this.zoom.onTouchEnd(e)
  4105. },
  4106. doubleTap: function(e) {
  4107. this.params.zoom.enabled && this.zoom.enabled && this.params.zoom.toggle && this.zoom
  4108. .toggle(e)
  4109. },
  4110. transitionEnd: function() {
  4111. this.zoom.enabled && this.params.zoom.enabled && this.zoom.onTransitionEnd()
  4112. }
  4113. }
  4114. }, {
  4115. name: "lazy",
  4116. params: {
  4117. lazy: {
  4118. enabled: !1,
  4119. loadPrevNext: !1,
  4120. loadPrevNextAmount: 1,
  4121. loadOnTransitionStart: !1,
  4122. elementClass: "swiper-lazy",
  4123. loadingClass: "swiper-lazy-loading",
  4124. loadedClass: "swiper-lazy-loaded",
  4125. preloaderClass: "swiper-lazy-preloader"
  4126. }
  4127. },
  4128. create: function() {
  4129. ee.extend(this, {
  4130. lazy: {
  4131. initialImageLoaded: !1,
  4132. load: Y.load.bind(this),
  4133. loadInSlide: Y.loadInSlide.bind(this)
  4134. }
  4135. })
  4136. },
  4137. on: {
  4138. beforeInit: function() {
  4139. this.params.lazy.enabled && this.params.preloadImages && (this.params.preloadImages = !
  4140. 1)
  4141. },
  4142. init: function() {
  4143. this.params.lazy.enabled && !this.params.loop && 0 === this.params.initialSlide && this
  4144. .lazy.load()
  4145. },
  4146. scroll: function() {
  4147. this.params.freeMode && !this.params.freeModeSticky && this.lazy.load()
  4148. },
  4149. resize: function() {
  4150. this.params.lazy.enabled && this.lazy.load()
  4151. },
  4152. scrollbarDragMove: function() {
  4153. this.params.lazy.enabled && this.lazy.load()
  4154. },
  4155. transitionStart: function() {
  4156. var e = this;
  4157. e.params.lazy.enabled && (e.params.lazy.loadOnTransitionStart || !e.params.lazy
  4158. .loadOnTransitionStart && !e.lazy.initialImageLoaded) && e.lazy.load()
  4159. },
  4160. transitionEnd: function() {
  4161. this.params.lazy.enabled && !this.params.lazy.loadOnTransitionStart && this.lazy.load()
  4162. }
  4163. }
  4164. }, {
  4165. name: "controller",
  4166. params: {
  4167. controller: {
  4168. control: void 0,
  4169. inverse: !1,
  4170. by: "slide"
  4171. }
  4172. },
  4173. create: function() {
  4174. var e = this;
  4175. ee.extend(e, {
  4176. controller: {
  4177. control: e.params.controller.control,
  4178. getInterpolateFunction: V.getInterpolateFunction.bind(e),
  4179. setTranslate: V.setTranslate.bind(e),
  4180. setTransition: V.setTransition.bind(e)
  4181. }
  4182. })
  4183. },
  4184. on: {
  4185. update: function() {
  4186. this.controller.control && this.controller.spline && (this.controller.spline = void 0,
  4187. delete this.controller.spline)
  4188. },
  4189. resize: function() {
  4190. this.controller.control && this.controller.spline && (this.controller.spline = void 0,
  4191. delete this.controller.spline)
  4192. },
  4193. observerUpdate: function() {
  4194. this.controller.control && this.controller.spline && (this.controller.spline = void 0,
  4195. delete this.controller.spline)
  4196. },
  4197. setTranslate: function(e, t) {
  4198. this.controller.control && this.controller.setTranslate(e, t)
  4199. },
  4200. setTransition: function(e, t) {
  4201. this.controller.control && this.controller.setTransition(e, t)
  4202. }
  4203. }
  4204. }, {
  4205. name: "a11y",
  4206. params: {
  4207. a11y: {
  4208. enabled: !0,
  4209. notificationClass: "swiper-notification",
  4210. prevSlideMessage: "Previous slide",
  4211. nextSlideMessage: "Next slide",
  4212. firstSlideMessage: "This is the first slide",
  4213. lastSlideMessage: "This is the last slide",
  4214. paginationBulletMessage: "Go to slide {{index}}"
  4215. }
  4216. },
  4217. create: function() {
  4218. var t = this;
  4219. ee.extend(t, {
  4220. a11y: {
  4221. liveRegion: L('<span class="' + t.params.a11y.notificationClass +
  4222. '" aria-live="assertive" aria-atomic="true"></span>')
  4223. }
  4224. }), Object.keys(F).forEach(function(e) {
  4225. t.a11y[e] = F[e].bind(t)
  4226. })
  4227. },
  4228. on: {
  4229. init: function() {
  4230. this.params.a11y.enabled && (this.a11y.init(), this.a11y.updateNavigation())
  4231. },
  4232. toEdge: function() {
  4233. this.params.a11y.enabled && this.a11y.updateNavigation()
  4234. },
  4235. fromEdge: function() {
  4236. this.params.a11y.enabled && this.a11y.updateNavigation()
  4237. },
  4238. paginationUpdate: function() {
  4239. this.params.a11y.enabled && this.a11y.updatePagination()
  4240. },
  4241. destroy: function() {
  4242. this.params.a11y.enabled && this.a11y.destroy()
  4243. }
  4244. }
  4245. }, {
  4246. name: "history",
  4247. params: {
  4248. history: {
  4249. enabled: !1,
  4250. replaceState: !1,
  4251. key: "slides"
  4252. }
  4253. },
  4254. create: function() {
  4255. var e = this;
  4256. ee.extend(e, {
  4257. history: {
  4258. init: R.init.bind(e),
  4259. setHistory: R.setHistory.bind(e),
  4260. setHistoryPopState: R.setHistoryPopState.bind(e),
  4261. scrollToSlide: R.scrollToSlide.bind(e),
  4262. destroy: R.destroy.bind(e)
  4263. }
  4264. })
  4265. },
  4266. on: {
  4267. init: function() {
  4268. this.params.history.enabled && this.history.init()
  4269. },
  4270. destroy: function() {
  4271. this.params.history.enabled && this.history.destroy()
  4272. },
  4273. transitionEnd: function() {
  4274. this.history.initialized && this.history.setHistory(this.params.history.key, this
  4275. .activeIndex)
  4276. }
  4277. }
  4278. }, {
  4279. name: "hash-navigation",
  4280. params: {
  4281. hashNavigation: {
  4282. enabled: !1,
  4283. replaceState: !1,
  4284. watchState: !1
  4285. }
  4286. },
  4287. create: function() {
  4288. var e = this;
  4289. ee.extend(e, {
  4290. hashNavigation: {
  4291. initialized: !1,
  4292. init: q.init.bind(e),
  4293. destroy: q.destroy.bind(e),
  4294. setHash: q.setHash.bind(e),
  4295. onHashCange: q.onHashCange.bind(e)
  4296. }
  4297. })
  4298. },
  4299. on: {
  4300. init: function() {
  4301. this.params.hashNavigation.enabled && this.hashNavigation.init()
  4302. },
  4303. destroy: function() {
  4304. this.params.hashNavigation.enabled && this.hashNavigation.destroy()
  4305. },
  4306. transitionEnd: function() {
  4307. this.hashNavigation.initialized && this.hashNavigation.setHash()
  4308. }
  4309. }
  4310. }, {
  4311. name: "autoplay",
  4312. params: {
  4313. autoplay: {
  4314. enabled: !1,
  4315. delay: 3e3,
  4316. waitForTransition: !0,
  4317. disableOnInteraction: !0,
  4318. stopOnLastSlide: !1,
  4319. reverseDirection: !1
  4320. }
  4321. },
  4322. create: function() {
  4323. var t = this;
  4324. ee.extend(t, {
  4325. autoplay: {
  4326. running: !1,
  4327. paused: !1,
  4328. run: W.run.bind(t),
  4329. start: W.start.bind(t),
  4330. stop: W.stop.bind(t),
  4331. pause: W.pause.bind(t),
  4332. onTransitionEnd: function(e) {
  4333. t && !t.destroyed && t.$wrapperEl && e.target === this && (t
  4334. .$wrapperEl[0].removeEventListener("transitionend", t
  4335. .autoplay.onTransitionEnd), t.$wrapperEl[0]
  4336. .removeEventListener("webkitTransitionEnd", t.autoplay
  4337. .onTransitionEnd), t.autoplay.paused = !1, t.autoplay
  4338. .running ? t.autoplay.run() : t.autoplay.stop())
  4339. }
  4340. }
  4341. })
  4342. },
  4343. on: {
  4344. init: function() {
  4345. this.params.autoplay.enabled && this.autoplay.start()
  4346. },
  4347. beforeTransitionStart: function(e, t) {
  4348. this.autoplay.running && (t || !this.params.autoplay.disableOnInteraction ? this
  4349. .autoplay.pause(e) : this.autoplay.stop())
  4350. },
  4351. sliderFirstMove: function() {
  4352. this.autoplay.running && (this.params.autoplay.disableOnInteraction ? this.autoplay
  4353. .stop() : this.autoplay.pause())
  4354. },
  4355. destroy: function() {
  4356. this.autoplay.running && this.autoplay.stop()
  4357. }
  4358. }
  4359. }, {
  4360. name: "effect-fade",
  4361. params: {
  4362. fadeEffect: {
  4363. crossFade: !1
  4364. }
  4365. },
  4366. create: function() {
  4367. ee.extend(this, {
  4368. fadeEffect: {
  4369. setTranslate: j.setTranslate.bind(this),
  4370. setTransition: j.setTransition.bind(this)
  4371. }
  4372. })
  4373. },
  4374. on: {
  4375. beforeInit: function() {
  4376. var e = this;
  4377. if ("fade" === e.params.effect) {
  4378. e.classNames.push(e.params.containerModifierClass + "fade");
  4379. var t = {
  4380. slidesPerView: 1,
  4381. slidesPerColumn: 1,
  4382. slidesPerGroup: 1,
  4383. watchSlidesProgress: !0,
  4384. spaceBetween: 0,
  4385. virtualTranslate: !0
  4386. };
  4387. ee.extend(e.params, t), ee.extend(e.originalParams, t)
  4388. }
  4389. },
  4390. setTranslate: function() {
  4391. "fade" === this.params.effect && this.fadeEffect.setTranslate()
  4392. },
  4393. setTransition: function(e) {
  4394. "fade" === this.params.effect && this.fadeEffect.setTransition(e)
  4395. }
  4396. }
  4397. }, {
  4398. name: "effect-cube",
  4399. params: {
  4400. cubeEffect: {
  4401. slideShadows: !0,
  4402. shadow: !0,
  4403. shadowOffset: 20,
  4404. shadowScale: .94
  4405. }
  4406. },
  4407. create: function() {
  4408. ee.extend(this, {
  4409. cubeEffect: {
  4410. setTranslate: U.setTranslate.bind(this),
  4411. setTransition: U.setTransition.bind(this)
  4412. }
  4413. })
  4414. },
  4415. on: {
  4416. beforeInit: function() {
  4417. var e = this;
  4418. if ("cube" === e.params.effect) {
  4419. e.classNames.push(e.params.containerModifierClass + "cube"), e.classNames.push(e
  4420. .params.containerModifierClass + "3d");
  4421. var t = {
  4422. slidesPerView: 1,
  4423. slidesPerColumn: 1,
  4424. slidesPerGroup: 1,
  4425. watchSlidesProgress: !0,
  4426. resistanceRatio: 0,
  4427. spaceBetween: 0,
  4428. centeredSlides: !1,
  4429. virtualTranslate: !0
  4430. };
  4431. ee.extend(e.params, t), ee.extend(e.originalParams, t)
  4432. }
  4433. },
  4434. setTranslate: function() {
  4435. "cube" === this.params.effect && this.cubeEffect.setTranslate()
  4436. },
  4437. setTransition: function(e) {
  4438. "cube" === this.params.effect && this.cubeEffect.setTransition(e)
  4439. }
  4440. }
  4441. }, {
  4442. name: "effect-flip",
  4443. params: {
  4444. flipEffect: {
  4445. slideShadows: !0,
  4446. limitRotation: !0
  4447. }
  4448. },
  4449. create: function() {
  4450. ee.extend(this, {
  4451. flipEffect: {
  4452. setTranslate: K.setTranslate.bind(this),
  4453. setTransition: K.setTransition.bind(this)
  4454. }
  4455. })
  4456. },
  4457. on: {
  4458. beforeInit: function() {
  4459. var e = this;
  4460. if ("flip" === e.params.effect) {
  4461. e.classNames.push(e.params.containerModifierClass + "flip"), e.classNames.push(e
  4462. .params.containerModifierClass + "3d");
  4463. var t = {
  4464. slidesPerView: 1,
  4465. slidesPerColumn: 1,
  4466. slidesPerGroup: 1,
  4467. watchSlidesProgress: !0,
  4468. spaceBetween: 0,
  4469. virtualTranslate: !0
  4470. };
  4471. ee.extend(e.params, t), ee.extend(e.originalParams, t)
  4472. }
  4473. },
  4474. setTranslate: function() {
  4475. "flip" === this.params.effect && this.flipEffect.setTranslate()
  4476. },
  4477. setTransition: function(e) {
  4478. "flip" === this.params.effect && this.flipEffect.setTransition(e)
  4479. }
  4480. }
  4481. }, {
  4482. name: "effect-coverflow",
  4483. params: {
  4484. coverflowEffect: {
  4485. rotate: 50,
  4486. stretch: 0,
  4487. depth: 100,
  4488. modifier: 1,
  4489. slideShadows: !0
  4490. }
  4491. },
  4492. create: function() {
  4493. ee.extend(this, {
  4494. coverflowEffect: {
  4495. setTranslate: _.setTranslate.bind(this),
  4496. setTransition: _.setTransition.bind(this)
  4497. }
  4498. })
  4499. },
  4500. on: {
  4501. beforeInit: function() {
  4502. var e = this;
  4503. "coverflow" === e.params.effect && (e.classNames.push(e.params.containerModifierClass +
  4504. "coverflow"), e.classNames.push(e.params.containerModifierClass + "3d"), e
  4505. .params.watchSlidesProgress = !0, e.originalParams.watchSlidesProgress = !0)
  4506. },
  4507. setTranslate: function() {
  4508. "coverflow" === this.params.effect && this.coverflowEffect.setTranslate()
  4509. },
  4510. setTransition: function(e) {
  4511. "coverflow" === this.params.effect && this.coverflowEffect.setTransition(e)
  4512. }
  4513. }
  4514. }, {
  4515. name: "thumbs",
  4516. params: {
  4517. thumbs: {
  4518. swiper: null,
  4519. slideThumbActiveClass: "swiper-slide-thumb-active",
  4520. thumbsContainerClass: "swiper-container-thumbs"
  4521. }
  4522. },
  4523. create: function() {
  4524. ee.extend(this, {
  4525. thumbs: {
  4526. swiper: null,
  4527. init: Z.init.bind(this),
  4528. update: Z.update.bind(this),
  4529. onThumbClick: Z.onThumbClick.bind(this)
  4530. }
  4531. })
  4532. },
  4533. on: {
  4534. beforeInit: function() {
  4535. var e = this.params.thumbs;
  4536. e && e.swiper && (this.thumbs.init(), this.thumbs.update(!0))
  4537. },
  4538. slideChange: function() {
  4539. this.thumbs.swiper && this.thumbs.update()
  4540. },
  4541. update: function() {
  4542. this.thumbs.swiper && this.thumbs.update()
  4543. },
  4544. resize: function() {
  4545. this.thumbs.swiper && this.thumbs.update()
  4546. },
  4547. observerUpdate: function() {
  4548. this.thumbs.swiper && this.thumbs.update()
  4549. },
  4550. setTransition: function(e) {
  4551. var t = this.thumbs.swiper;
  4552. t && t.setTransition(e)
  4553. },
  4554. beforeDestroy: function() {
  4555. var e = this.thumbs.swiper;
  4556. e && this.thumbs.swiperCreated && e && e.destroy()
  4557. }
  4558. }
  4559. }];
  4560. return void 0 === T.use && (T.use = T.Class.use, T.installModule = T.Class.installModule), T.use(Q), T
  4561. });
  4562. //# sourceMappingURL=swiper.min.js.map