Version Description
Download this release
Release Info
Developer | Narinder singh |
Plugin | Timeline Widget For Elementor (Elementor Timeline, Vertical & Horizontal Timeline) |
Version | 1.1 |
Comparing to | |
See all releases |
Code changes from version 1.0 to 1.1
- assets/css/twae-admin-feedback-notice.css +0 -28
- assets/css/twae-centered-timeline.css +21 -15
- assets/css/twae-centered-timeline.min.css +1 -0
- assets/css/twae-fontello.css +65 -0
- assets/css/twae-horizontal-styles.css +169 -0
- assets/css/twae-horizontal-styles.min.css +1 -0
- assets/font/fontello.eot +0 -0
- assets/font/fontello.svg +26 -0
- assets/font/fontello.ttf +0 -0
- assets/font/fontello.woff +0 -0
- assets/font/fontello.woff2 +0 -0
- assets/js/twae-admin-feedback-notice.js +0 -13
- assets/js/twae-horizontal-editor.js +48 -0
- assets/js/twae-horizontal.js +52 -0
- assets/js/twae-swiper.js +4027 -0
- assets/js/twae-swiper.min.js +1 -0
- includes/class-twae.php +24 -7
- includes/twae-feedback-notice.php +65 -10
- readme.txt +46 -23
- timeline-widget-addon-for-elementor.php +2 -2
- widgets/editor-layouts/horizontal-template.php +56 -0
- widgets/editor-layouts/vertical-template.php +66 -0
- widgets/frontend-layouts/twae-centered-timeline.php +65 -0
- widgets/frontend-layouts/twae-horizontal-timeline.php +68 -0
- widgets/twae-widget.php +196 -125
assets/css/twae-admin-feedback-notice.css
DELETED
@@ -1,28 +0,0 @@
|
|
1 |
-
.cool-feedback-notice-wrapper.notice.notice-info.is-dismissible {
|
2 |
-
padding: 5px;
|
3 |
-
display: inline-block;
|
4 |
-
width: 100%;
|
5 |
-
}
|
6 |
-
.cool-feedback-notice-wrapper .logo_container {
|
7 |
-
width:80px;
|
8 |
-
display:inline-block;
|
9 |
-
margin-right: 10px;
|
10 |
-
vertical-align: top;
|
11 |
-
}
|
12 |
-
.cool-feedback-notice-wrapper .logo_container img {
|
13 |
-
width:100%;
|
14 |
-
height:auto;
|
15 |
-
}
|
16 |
-
.cool-feedback-notice-wrapper .message_container {
|
17 |
-
width: calc(100% - 120px);
|
18 |
-
display: inline-block;
|
19 |
-
margin: 0;
|
20 |
-
vertical-align: top;
|
21 |
-
}
|
22 |
-
.cool-feedback-notice-wrapper ul li {
|
23 |
-
float: left;
|
24 |
-
margin: 0px 5px;
|
25 |
-
}
|
26 |
-
.clrfix{
|
27 |
-
clear:both;
|
28 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/css/twae-centered-timeline.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
-
.twae-
|
2 |
-
.twae-
|
3 |
content: "";
|
4 |
width: 20px;
|
5 |
height: 20px;
|
@@ -10,10 +10,10 @@
|
|
10 |
left: calc(50% - 12px);
|
11 |
z-index: 9;
|
12 |
}
|
13 |
-
.twae-
|
14 |
top: -10px;
|
15 |
}
|
16 |
-
.twae-
|
17 |
bottom: 20px;
|
18 |
}
|
19 |
.twae-timeline-centered {
|
@@ -21,7 +21,7 @@
|
|
21 |
margin-bottom: 30px;
|
22 |
padding-top: 20px;
|
23 |
}
|
24 |
-
.twae-
|
25 |
margin-top: 0px!important;
|
26 |
}
|
27 |
.twae-timeline-centered.twae-timeline-sm .twae-timeline-entry {
|
@@ -145,7 +145,7 @@
|
|
145 |
line-height: 38px;
|
146 |
font-size: 22px;
|
147 |
}
|
148 |
-
.twae-
|
149 |
display: flow-root;
|
150 |
}
|
151 |
.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container {
|
@@ -155,9 +155,11 @@
|
|
155 |
-webkit-background-clip: padding-box;
|
156 |
-moz-background-clip: padding;
|
157 |
background-clip: padding-box;
|
158 |
-
-webkit-border-radius:
|
159 |
-
-moz-border-radius:
|
160 |
-
border-radius:
|
|
|
|
|
161 |
}
|
162 |
|
163 |
.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container.twae-bg-orange:after {
|
@@ -186,6 +188,8 @@
|
|
186 |
.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title {
|
187 |
margin-bottom: 10px;
|
188 |
font-weight: bold;
|
|
|
|
|
189 |
}
|
190 |
.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title span {
|
191 |
-webkit-opacity: .6;
|
@@ -235,7 +239,7 @@
|
|
235 |
.twae-timeline-centered .twae-year-container:after {
|
236 |
clear: both
|
237 |
}
|
238 |
-
.twae-
|
239 |
border: 2px solid;
|
240 |
}
|
241 |
|
@@ -243,8 +247,8 @@
|
|
243 |
|
244 |
@media only screen and (max-width: 768px) {
|
245 |
|
246 |
-
.twae-
|
247 |
-
.twae-
|
248 |
left: 10px;
|
249 |
}
|
250 |
.twae-timeline-centered:before {
|
@@ -293,6 +297,7 @@
|
|
293 |
.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container {
|
294 |
margin-left: 54px;
|
295 |
margin-right: 0;
|
|
|
296 |
}
|
297 |
.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container:after {
|
298 |
top:10px;
|
@@ -338,9 +343,10 @@
|
|
338 |
left: -2%;
|
339 |
width: 22%;
|
340 |
}
|
341 |
-
.twae-
|
342 |
-
.twae-
|
343 |
left: calc(23% - 4px);
|
344 |
}
|
345 |
|
346 |
-
}
|
|
1 |
+
.twae-vertical:before,
|
2 |
+
.twae-vertical:after {
|
3 |
content: "";
|
4 |
width: 20px;
|
5 |
height: 20px;
|
10 |
left: calc(50% - 12px);
|
11 |
z-index: 9;
|
12 |
}
|
13 |
+
.twae-vertical:before {
|
14 |
top: -10px;
|
15 |
}
|
16 |
+
.twae-vertical:after {
|
17 |
bottom: 20px;
|
18 |
}
|
19 |
.twae-timeline-centered {
|
21 |
margin-bottom: 30px;
|
22 |
padding-top: 20px;
|
23 |
}
|
24 |
+
.twae-vertical span.twae-year-container:first-child {
|
25 |
margin-top: 0px!important;
|
26 |
}
|
27 |
.twae-timeline-centered.twae-timeline-sm .twae-timeline-entry {
|
145 |
line-height: 38px;
|
146 |
font-size: 22px;
|
147 |
}
|
148 |
+
.twae-vertical .twae-timeline-centered .twae-data-container{
|
149 |
display: flow-root;
|
150 |
}
|
151 |
.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container {
|
155 |
-webkit-background-clip: padding-box;
|
156 |
-moz-background-clip: padding;
|
157 |
background-clip: padding-box;
|
158 |
+
-webkit-border-radius: 6px;
|
159 |
+
-moz-border-radius: 6px;
|
160 |
+
border-radius: 6px;
|
161 |
+
box-shadow: 0px 2px 8px -2px rgba(0, 0, 0, 0.3);
|
162 |
+
border: 1px solid rgba(0, 0, 0, 0.05);
|
163 |
}
|
164 |
|
165 |
.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container.twae-bg-orange:after {
|
188 |
.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title {
|
189 |
margin-bottom: 10px;
|
190 |
font-weight: bold;
|
191 |
+
display: inline-block;
|
192 |
+
width: 100%;
|
193 |
}
|
194 |
.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title span {
|
195 |
-webkit-opacity: .6;
|
239 |
.twae-timeline-centered .twae-year-container:after {
|
240 |
clear: both
|
241 |
}
|
242 |
+
.twae-vertical .twae-timeline-centered .twae-year{
|
243 |
border: 2px solid;
|
244 |
}
|
245 |
|
247 |
|
248 |
@media only screen and (max-width: 768px) {
|
249 |
|
250 |
+
.twae-vertical:before,
|
251 |
+
.twae-vertical:after {
|
252 |
left: 10px;
|
253 |
}
|
254 |
.twae-timeline-centered:before {
|
297 |
.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container {
|
298 |
margin-left: 54px;
|
299 |
margin-right: 0;
|
300 |
+
border-right: 1px solid rgba(0, 0, 0, 0.05) !Important;
|
301 |
}
|
302 |
.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container:after {
|
303 |
top:10px;
|
343 |
left: -2%;
|
344 |
width: 22%;
|
345 |
}
|
346 |
+
.twae-vertical.twae-one-sided-wrapper:before,
|
347 |
+
.twae-vertical.twae-one-sided-wrapper:after {
|
348 |
left: calc(23% - 4px);
|
349 |
}
|
350 |
|
351 |
+
}
|
352 |
+
|
assets/css/twae-centered-timeline.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.twae-vertical:after,.twae-vertical:before{content:"";width:20px;height:20px;background:#222;display:inline-block;border-radius:50%;position:absolute;left:calc(50% - 12px);z-index:9}.twae-vertical:before{top:-10px}.twae-vertical:after{bottom:20px}.twae-timeline-centered{position:relative;margin-bottom:30px;padding-top:20px}.twae-vertical span.twae-year-container:first-child{margin-top:0!important}.twae-timeline-centered.twae-timeline-sm .twae-timeline-entry{margin-bottom:20px!important}.twae-timeline-centered.twae-timeline-sm .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container{padding:.85em}.twae-timeline-centered:after,.twae-timeline-centered:before{content:" ";display:table}.twae-timeline-centered:after{clear:both}.twae-timeline-centered:before{content:'';position:absolute;display:block;width:4px;left:50%;top:0;bottom:0;margin-left:-4px}.twae-timeline-centered .twae-timeline-entry{position:relative;width:50%;float:right;margin-bottom:70px;clear:both}.twae-timeline-centered .twae-timeline-entry:after,.twae-timeline-centered .twae-timeline-entry:before{content:" ";display:table}.twae-timeline-centered .twae-timeline-entry:after{clear:both}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned{float:left}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner{margin-left:0;margin-right:-22px}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-label-extra-label{left:auto;right:-100%;text-align:left}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-icon{float:right}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container{margin-left:0;margin-right:70px}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container:after{left:auto;right:0;margin-left:0;margin-right:-9px;-moz-transform:rotate(180deg);-o-transform:rotate(180deg);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner{position:relative;margin-left:-27px}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner:after,.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner:before{content:" ";display:table}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner:after{clear:both}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label{position:absolute;left:-100%;width:100%;text-align:right;padding:10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label>span{display:block}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label>span:first-child{font-size:1em;font-weight:700}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label>span:last-child{font-size:.75em;margin-top:5px}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-icon{display:block;width:48px;height:48px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;border-radius:50%;text-align:center;border:4px solid;line-height:0;font-size:0;float:left;padding:0}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-icon i{line-height:38px;font-size:22px}.twae-vertical .twae-timeline-centered .twae-data-container{display:flow-root}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container{position:relative;padding:1.7em;margin-left:70px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;box-shadow:0 2px 8px -2px rgba(0,0,0,.3);border:1px solid rgba(0,0,0,.05)}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container.twae-bg-orange:after{border-color:transparent #e9662c transparent transparent}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container:after{content:'';display:block;position:absolute;width:0;height:0;border-style:solid;border-width:9px 9px 9px 0;left:0;top:14px;margin-left:-9px}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title,.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container p{margin:0}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container p+p{margin-top:15px}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title{margin-bottom:10px;font-weight:700;display:inline-block;width:100%}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title span{-webkit-opacity:.6;-moz-opacity:.6;opacity:.6}.twae-timeline-centered .twae-timeline-entry .twae-data-container .twae-timeline-img img{float:left;padding:0 5px 0 0}.twae-timeline-centered .twae-year-container .twae-year-label{border-radius:6px;display:inline-block;font-size:20px;font-weight:600;line-height:1;padding:7px 14px;text-align:center;vertical-align:baseline;white-space:nowrap}.twae-timeline-centered .twae-year-container{position:relative;float:left;clear:left;width:50%;margin-top:20px;margin-bottom:20px;top:1px;width:100%;margin-left:auto;margin-right:auto;padding:0;text-align:center}.twae-timeline-centered .twae-year-container:after,.twae-timeline-centered .twae-year-container:before{content:"";display:table}.twae-timeline-centered .twae-year-container:after{clear:both}.twae-vertical .twae-timeline-centered .twae-year{border:2px solid}@media only screen and (max-width:768px){.twae-vertical:after,.twae-vertical:before{left:10px}.twae-timeline-centered:before{left:22px}.twae-timeline-centered .twae-year-container{padding-left:54px;text-align:left;margin-bottom:5px;margin-top:20px}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner{margin-left:0}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner{margin-right:0}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label{position:relative;left:0;text-align:left;display:inline-block;width:100%;padding-left:54px}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-label-extra-label{right:0}.twae-timeline-centered .twae-timeline-entry{width:100%}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-icon{width:40px;height:40px;line-height:28px;font-size:18px!important}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-icon i{font-size:18px!important;line-height:31px}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-icon{float:left}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container,.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container{margin-left:54px;margin-right:0;border-right:1px solid rgba(0,0,0,.05)!important}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container:after{top:10px}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container:after{left:0;right:auto;margin-left:-9px;margin-right:0;-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@media only screen and (min-width:769px){.twae-timeline-centered.twae-one-sided-timeline:before{left:24%}.twae-timeline-centered.twae-one-sided-timeline .twae-year-container{text-align:right;padding-right:80%}.twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry{width:100%;float:left}.twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry .twae-timeline-entry-inner{margin-left:0}.twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container{margin-left:31%}.twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry .twae-timeline-entry-inner .twae-icon{margin-left:calc(24% - 25px)}.twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label{left:-2%;width:22%}.twae-vertical.twae-one-sided-wrapper:after,.twae-vertical.twae-one-sided-wrapper:before{left:calc(23% - 4px)}}
|
assets/css/twae-fontello.css
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@font-face {
|
2 |
+
font-family: 'fontello';
|
3 |
+
src: url('../font/fontello.eot?42994344');
|
4 |
+
src: url('../font/fontello.eot?42994344#iefix') format('embedded-opentype'),
|
5 |
+
url('../font/fontello.woff2?42994344') format('woff2'),
|
6 |
+
url('../font/fontello.woff?42994344') format('woff'),
|
7 |
+
url('../font/fontello.ttf?42994344') format('truetype'),
|
8 |
+
url('../font/fontello.svg?42994344#fontello') format('svg');
|
9 |
+
font-weight: normal;
|
10 |
+
font-style: normal;
|
11 |
+
}
|
12 |
+
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
|
13 |
+
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
|
14 |
+
/*
|
15 |
+
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
16 |
+
@font-face {
|
17 |
+
font-family: 'fontello';
|
18 |
+
src: url('../font/fontello.svg?42994344#fontello') format('svg');
|
19 |
+
}
|
20 |
+
}
|
21 |
+
*/
|
22 |
+
|
23 |
+
[class^="twae-icon-"]:before, [class*=" twae-icon-"]:before {
|
24 |
+
font-family: "fontello";
|
25 |
+
font-style: normal;
|
26 |
+
font-weight: normal;
|
27 |
+
speak: never;
|
28 |
+
|
29 |
+
display: inline-block;
|
30 |
+
text-decoration: inherit;
|
31 |
+
width: 1em;
|
32 |
+
margin-right: .2em;
|
33 |
+
text-align: center;
|
34 |
+
/* opacity: .8; */
|
35 |
+
|
36 |
+
/* For safety - reset parent styles, that can break glyph codes*/
|
37 |
+
font-variant: normal;
|
38 |
+
text-transform: none;
|
39 |
+
|
40 |
+
/* fix buttons height, for twitter bootstrap */
|
41 |
+
line-height: 1em;
|
42 |
+
|
43 |
+
/* Animation center compensation - margins should be symmetric */
|
44 |
+
/* remove if not needed */
|
45 |
+
margin-left: .2em;
|
46 |
+
|
47 |
+
/* you can be more comfortable with increased icons size */
|
48 |
+
/* font-size: 120%; */
|
49 |
+
|
50 |
+
/* Font smoothing. That was taken from TWBS */
|
51 |
+
-webkit-font-smoothing: antialiased;
|
52 |
+
-moz-osx-font-smoothing: grayscale;
|
53 |
+
|
54 |
+
/* Uncomment for 3D effect */
|
55 |
+
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
|
56 |
+
}
|
57 |
+
|
58 |
+
.twae-icon-left-open-big:before { content: '\e800'; } /* '' */
|
59 |
+
.twae-icon-left-open:before { content: '\e801'; } /* '' */
|
60 |
+
.twae-icon-left-circled:before { content: '\e802'; } /* '' */
|
61 |
+
.twae-icon-right-open:before { content: '\e803'; } /* '' */
|
62 |
+
.twae-icon-right-big:before { content: '\e804'; } /* '' */
|
63 |
+
.twae-icon-right-circled:before { content: '\e805'; } /* '' */
|
64 |
+
.twae-icon-right-open-big:before { content: '\e806'; } /* '' */
|
65 |
+
.twae-icon-left-open-1:before { content: '\f007'; } /* '' */
|
assets/css/twae-horizontal-styles.css
ADDED
@@ -0,0 +1,169 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*----Horizontal Timeline----*/
|
2 |
+
.twae-horizontal.swiper-container {
|
3 |
+
position: unset;
|
4 |
+
margin-left: auto;
|
5 |
+
margin-right: auto;
|
6 |
+
overflow: hidden;
|
7 |
+
z-index: 10;
|
8 |
+
margin: 0 32px;
|
9 |
+
}
|
10 |
+
|
11 |
+
|
12 |
+
/*----Year Label----*/
|
13 |
+
.twae-horizontal .twae-year-container {
|
14 |
+
position: absolute;
|
15 |
+
display: table;
|
16 |
+
text-align: center;
|
17 |
+
top: 96px;
|
18 |
+
left: 10px;
|
19 |
+
height: 36px;
|
20 |
+
width: 72px;
|
21 |
+
vertical-align: middle;
|
22 |
+
border-radius: 6px;
|
23 |
+
overflow: hidden;
|
24 |
+
z-index: 1;
|
25 |
+
table-layout: fixed;
|
26 |
+
word-break: break-word;
|
27 |
+
}
|
28 |
+
.twae-horizontal .twae-year-label {
|
29 |
+
padding: 2px;
|
30 |
+
vertical-align: middle;
|
31 |
+
display: table-cell;
|
32 |
+
}
|
33 |
+
|
34 |
+
|
35 |
+
/*----Extra Labels----*/
|
36 |
+
.twae-horizontal .twae-label-extra-label {
|
37 |
+
position: absolute;
|
38 |
+
display: table;
|
39 |
+
width: 100%;
|
40 |
+
height: 80px;
|
41 |
+
overflow: hidden;
|
42 |
+
text-align: center;
|
43 |
+
vertical-align: middle;
|
44 |
+
}
|
45 |
+
.twae-horizontal .twae-label-extra-label div {
|
46 |
+
display: table-cell;
|
47 |
+
vertical-align: bottom;
|
48 |
+
}
|
49 |
+
.twae-horizontal .twae-label-extra-label .twae-label,
|
50 |
+
.twae-horizontal .twae-label-extra-label .twae-extra-label {
|
51 |
+
display: inline-block;
|
52 |
+
width: 100%;
|
53 |
+
}
|
54 |
+
|
55 |
+
|
56 |
+
/*----Story Icon----*/
|
57 |
+
.twae-horizontal .twae-icon {
|
58 |
+
color: #fff;
|
59 |
+
width: 40px;
|
60 |
+
height: 40px;
|
61 |
+
top: 94px;
|
62 |
+
left: calc(50% - 20px);
|
63 |
+
text-align: center;
|
64 |
+
position: absolute;
|
65 |
+
display: block;
|
66 |
+
z-index: 100;
|
67 |
+
border-radius: 50%;
|
68 |
+
}
|
69 |
+
.twae-horizontal .twae-icon i {
|
70 |
+
line-height: 40px;
|
71 |
+
font-size: 26px;
|
72 |
+
}
|
73 |
+
.twae-horizontal .twae-icon:empty {
|
74 |
+
width: 24px;
|
75 |
+
height: 24px;
|
76 |
+
top: 102px;
|
77 |
+
left: calc(50% - 12px);
|
78 |
+
}
|
79 |
+
|
80 |
+
|
81 |
+
/*----Story Content Section----*/
|
82 |
+
.twae-horizontal .twae-story-info:before {
|
83 |
+
content: "";
|
84 |
+
display: block;
|
85 |
+
border: 13px solid transparent;
|
86 |
+
position: absolute;
|
87 |
+
left: calc(50% - 13px);
|
88 |
+
left: -moz-calc(50% - 1em);
|
89 |
+
left: -webkit-calc(50% - 13px);
|
90 |
+
left: -o-calc(50% - 13px);
|
91 |
+
top: -28px;
|
92 |
+
}
|
93 |
+
.twae-horizontal .twae-story-info {
|
94 |
+
padding: 0;
|
95 |
+
margin: 150px 4px 10px;
|
96 |
+
justify-content: center;
|
97 |
+
border-top: 4px solid;
|
98 |
+
position: relative;
|
99 |
+
transition: all 200ms ease-in;
|
100 |
+
text-align: center;
|
101 |
+
box-sizing: border-box;
|
102 |
+
box-shadow: 0px 2px 8px -2px rgba(0, 0, 0, 0.4);
|
103 |
+
-webkit-border-radius: 6px;
|
104 |
+
-moz-border-radius: 6px;
|
105 |
+
border-radius: 6px;
|
106 |
+
height: calc(100% - 160px);
|
107 |
+
}
|
108 |
+
.twae-horizontal .twae-timeline-img,
|
109 |
+
.twae-horizontal .twae-timeline-img img {
|
110 |
+
display: inline-block;
|
111 |
+
width: 100%;
|
112 |
+
height: auto;
|
113 |
+
}
|
114 |
+
.twae-horizontal .twae-title,
|
115 |
+
.twae-horizontal .twae-description {
|
116 |
+
display: inline-block;
|
117 |
+
width: 100%;
|
118 |
+
margin: 0;
|
119 |
+
line-height: 1.2em;
|
120 |
+
}
|
121 |
+
.twae-horizontal .twae-title {
|
122 |
+
padding: 8px 8px 0;
|
123 |
+
font-size: 20px;
|
124 |
+
}
|
125 |
+
.twae-horizontal .twae-description {
|
126 |
+
padding: 8px;
|
127 |
+
font-size: inherit;
|
128 |
+
}
|
129 |
+
|
130 |
+
|
131 |
+
/*----Middle Line----*/
|
132 |
+
.twae-horizontal .twae-pagination.swiper-pagination-progressbar {
|
133 |
+
position: absolute;
|
134 |
+
top: 112px;
|
135 |
+
margin: 0px 32px;
|
136 |
+
width: calc(100% - 64px);
|
137 |
+
z-index: 0;
|
138 |
+
}
|
139 |
+
.twae-horizontal .twae-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
|
140 |
+
background: rgba(0, 0, 0, 0.25);
|
141 |
+
}
|
142 |
+
|
143 |
+
|
144 |
+
/*----Next/Prev Buttons----*/
|
145 |
+
.twae-horizontal .twae-button-prev, .twae-horizontal .twae-button-next {
|
146 |
+
position: absolute;
|
147 |
+
font-size: 40px;
|
148 |
+
top: 94px;
|
149 |
+
cursor: pointer;
|
150 |
+
line-height: 0;
|
151 |
+
}
|
152 |
+
.twae-horizontal .twae-button-prev {
|
153 |
+
left: -10px;
|
154 |
+
}
|
155 |
+
.twae-horizontal .twae-button-next {
|
156 |
+
right: -10px;
|
157 |
+
}
|
158 |
+
.twae-button-prev.swiper-button-disabled,
|
159 |
+
.twae-button-next.swiper-button-disabled {
|
160 |
+
opacity: 0.35;
|
161 |
+
cursor: auto;
|
162 |
+
pointer-events: none;
|
163 |
+
}
|
164 |
+
|
165 |
+
|
166 |
+
/*----Slider Styles*/
|
167 |
+
.swiper-slide.auto-height {
|
168 |
+
height: auto;
|
169 |
+
}
|
assets/css/twae-horizontal-styles.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.twae-horizontal.swiper-container{position:unset;margin-left:auto;margin-right:auto;overflow:hidden;z-index:10;margin:0 32px}.twae-horizontal .twae-year-container{position:absolute;display:table;text-align:center;top:96px;left:10px;height:36px;width:72px;vertical-align:middle;border-radius:6px;overflow:hidden;z-index:1;table-layout:fixed;word-break:break-word}.twae-horizontal .twae-year-label{padding:2px;vertical-align:middle;display:table-cell}.twae-horizontal .twae-label-extra-label{position:absolute;display:table;width:100%;height:80px;overflow:hidden;text-align:center;vertical-align:middle}.twae-horizontal .twae-label-extra-label div{display:table-cell;vertical-align:bottom}.twae-horizontal .twae-label-extra-label .twae-extra-label,.twae-horizontal .twae-label-extra-label .twae-label{display:inline-block;width:100%}.twae-horizontal .twae-icon{color:#fff;width:40px;height:40px;top:94px;left:calc(50% - 20px);text-align:center;position:absolute;display:block;z-index:100;border-radius:50%}.twae-horizontal .twae-icon i{line-height:40px;font-size:26px}.twae-horizontal .twae-icon:empty{width:24px;height:24px;top:102px;left:calc(50% - 12px)}.twae-horizontal .twae-story-info:before{content:"";display:block;border:13px solid transparent;position:absolute;left:calc(50% - 13px);left:-moz-calc(50% - 1em);left:-webkit-calc(50% - 13px);left:-o-calc(50% - 13px);top:-28px}.twae-horizontal .twae-story-info{padding:0;margin:150px 4px 10px;justify-content:center;border-top:4px solid;position:relative;transition:all .2s ease-in;text-align:center;box-sizing:border-box;box-shadow:0 2px 8px -2px rgba(0,0,0,.4);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;height:calc(100% - 160px)}.twae-horizontal .twae-timeline-img,.twae-horizontal .twae-timeline-img img{display:inline-block;width:100%;height:auto}.twae-horizontal .twae-description,.twae-horizontal .twae-title{display:inline-block;width:100%;margin:0;line-height:1.2em}.twae-horizontal .twae-title{padding:8px 8px 0;font-size:20px}.twae-horizontal .twae-description{padding:8px;font-size:inherit}.twae-horizontal .twae-pagination.swiper-pagination-progressbar{position:absolute;top:112px;margin:0 32px;width:calc(100% - 64px);z-index:0}.twae-horizontal .twae-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:rgba(0,0,0,.25)}.twae-horizontal .twae-button-next,.twae-horizontal .twae-button-prev{position:absolute;font-size:40px;top:94px;cursor:pointer;line-height:0}.twae-horizontal .twae-button-prev{left:-10px}.twae-horizontal .twae-button-next{right:-10px}.twae-button-next.swiper-button-disabled,.twae-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-slide.auto-height{height:auto}
|
assets/font/fontello.eot
ADDED
Binary file
|
assets/font/fontello.svg
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3 |
+
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
+
<metadata>Copyright (C) 2020 by original authors @ fontello.com</metadata>
|
5 |
+
<defs>
|
6 |
+
<font id="fontello" horiz-adv-x="1000" >
|
7 |
+
<font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
|
8 |
+
<missing-glyph horiz-adv-x="1000" />
|
9 |
+
<glyph glyph-name="left-open-big" unicode="" d="M452-20q26-26 0-48-26-26-48 0l-392 394q-24 24 0 50l392 394q22 26 48 0 26-22 0-48l-358-372z" horiz-adv-x="465" />
|
10 |
+
|
11 |
+
<glyph glyph-name="left-open" unicode="" d="M654 682l-297-296 297-297q10-10 10-25t-10-25l-93-93q-11-10-25-10t-25 10l-414 415q-11 10-11 25t11 25l414 414q10 11 25 11t25-11l93-93q10-10 10-25t-10-25z" horiz-adv-x="714.3" />
|
12 |
+
|
13 |
+
<glyph glyph-name="left-circled" unicode="" d="M920 350q0-190-135-325t-325-135-325 135-135 325q0 192 135 326t325 134 325-134 135-326z m-820 0q0-148 106-254t254-106 254 106 106 254q0 150-106 255t-254 105-254-105-106-255z m552-90l-204 0 0-112-190 202 190 204 0-114 204 0 0-180z" horiz-adv-x="920" />
|
14 |
+
|
15 |
+
<glyph glyph-name="right-open" unicode="" d="M618 361l-414-415q-11-10-25-10t-25 10l-93 93q-11 11-11 25t11 25l296 297-296 296q-11 11-11 25t11 25l93 93q10 11 25 11t25-11l414-414q10-11 10-25t-10-25z" horiz-adv-x="714.3" />
|
16 |
+
|
17 |
+
<glyph glyph-name="right-big" unicode="" d="M821 314q0-30-20-50l-363-364q-22-20-51-20-29 0-50 20l-42 42q-22 21-22 51t22 51l163 163h-393q-29 0-47 21t-18 51v71q0 30 18 51t47 20h393l-163 165q-22 20-22 50t22 50l42 42q21 21 50 21 29 0 51-21l363-363q20-20 20-51z" horiz-adv-x="857.1" />
|
18 |
+
|
19 |
+
<glyph glyph-name="right-circled" unicode="" d="M0 350q0 190 135 325t325 135 325-135 135-325-135-325-325-135-325 135-135 325z m820 0q0 150-105 255t-255 105q-148 0-254-105t-106-255q0-148 106-254t254-106q150 0 255 106t105 254z m-552 90l204 0 0 114 190-204-190-202 0 112-204 0 0 180z" horiz-adv-x="920" />
|
20 |
+
|
21 |
+
<glyph glyph-name="right-open-big" unicode="" d="M13-20l358 370-358 372q-26 26 0 48 26 26 48 0l392-394q24-26 0-50l-392-394q-22-26-48 0-26 22 0 48z" horiz-adv-x="465" />
|
22 |
+
|
23 |
+
<glyph glyph-name="left-open-1" unicode="" d="M0 353l391 391q18 18 43 18 24 0 43-18 18-18 18-44t-18-43l-304-304 304-305q18-17 18-43t-18-43q-18-18-43-18t-43 18z" horiz-adv-x="495.1" />
|
24 |
+
</font>
|
25 |
+
</defs>
|
26 |
+
</svg>
|
assets/font/fontello.ttf
ADDED
Binary file
|
assets/font/fontello.woff
ADDED
Binary file
|
assets/font/fontello.woff2
ADDED
Binary file
|
assets/js/twae-admin-feedback-notice.js
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
jQuery(document).ready(function ($) {
|
2 |
-
$('.twae_dismiss_notice').on('click', function (event) {
|
3 |
-
var $this = $(this);
|
4 |
-
var wrapper=$this.parents('.cool-feedback-notice-wrapper');
|
5 |
-
var ajaxURL=wrapper.data('ajax-url');
|
6 |
-
var ajaxCallback=wrapper.data('ajax-callback');
|
7 |
-
|
8 |
-
$.post(ajaxURL, { 'action':ajaxCallback }, function( data ) {
|
9 |
-
wrapper.slideUp('fast');
|
10 |
-
}, "json");
|
11 |
-
|
12 |
-
});
|
13 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/twae-horizontal-editor.js
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(document).ready(function ($) {
|
2 |
+
|
3 |
+
elementorFrontend.hooks.addAction( 'frontend/element_ready/timeline-widget-addon.default', function($scope, $){
|
4 |
+
|
5 |
+
$(".twae-horizontal.swiper-container").each(function(index){
|
6 |
+
|
7 |
+
var slidestoshow = $(this).data("slidestoshow");
|
8 |
+
var autoplay = $(this).data("autoplay");
|
9 |
+
|
10 |
+
var swiper = new Swiper( $(this), {
|
11 |
+
spaceBetween: 10,
|
12 |
+
autoplay:autoplay,
|
13 |
+
delay: 5000,
|
14 |
+
slidesPerView: slidestoshow,
|
15 |
+
direction: 'horizontal',
|
16 |
+
pagination: {
|
17 |
+
el: '.twae-pagination',
|
18 |
+
type: 'progressbar',
|
19 |
+
},
|
20 |
+
navigation: {
|
21 |
+
nextEl: '.twae-button-next',
|
22 |
+
prevEl: '.twae-button-prev',
|
23 |
+
},
|
24 |
+
// Responsive breakpoints
|
25 |
+
breakpoints: {
|
26 |
+
// when window width is >= 320px
|
27 |
+
320: {
|
28 |
+
slidesPerView: 1,
|
29 |
+
},
|
30 |
+
// when window width is >= 480px
|
31 |
+
480: {
|
32 |
+
slidesPerView: 2,
|
33 |
+
},
|
34 |
+
// when window width is >= 640px
|
35 |
+
640: {
|
36 |
+
slidesPerView: slidestoshow,
|
37 |
+
|
38 |
+
}
|
39 |
+
},
|
40 |
+
|
41 |
+
});
|
42 |
+
|
43 |
+
|
44 |
+
});
|
45 |
+
|
46 |
+
});
|
47 |
+
|
48 |
+
});
|
assets/js/twae-horizontal.js
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(document).ready(function ($) {
|
2 |
+
|
3 |
+
|
4 |
+
$( window ).on( 'elementor/frontend/init', function() {
|
5 |
+
|
6 |
+
|
7 |
+
$(".twae-horizontal.swiper-container").each(function(index){
|
8 |
+
|
9 |
+
var slidestoshow = $(this).data("slidestoshow");
|
10 |
+
var autoplay = $(this).data("autoplay");
|
11 |
+
|
12 |
+
var swiper = new Swiper( $(this), {
|
13 |
+
spaceBetween: 10,
|
14 |
+
autoplay:autoplay,
|
15 |
+
delay: 5000,
|
16 |
+
slidesPerView: slidestoshow,
|
17 |
+
direction: 'horizontal',
|
18 |
+
pagination: {
|
19 |
+
el: '.twae-pagination',
|
20 |
+
type: 'progressbar',
|
21 |
+
},
|
22 |
+
navigation: {
|
23 |
+
nextEl: '.twae-button-next',
|
24 |
+
prevEl: '.twae-button-prev',
|
25 |
+
},
|
26 |
+
// Responsive breakpoints
|
27 |
+
breakpoints: {
|
28 |
+
// when window width is >= 320px
|
29 |
+
320: {
|
30 |
+
slidesPerView: 1,
|
31 |
+
},
|
32 |
+
// when window width is >= 480px
|
33 |
+
480: {
|
34 |
+
slidesPerView: 2,
|
35 |
+
},
|
36 |
+
// when window width is >= 640px
|
37 |
+
640: {
|
38 |
+
slidesPerView: slidestoshow,
|
39 |
+
|
40 |
+
}
|
41 |
+
},
|
42 |
+
|
43 |
+
});
|
44 |
+
|
45 |
+
|
46 |
+
});
|
47 |
+
|
48 |
+
|
49 |
+
|
50 |
+
});
|
51 |
+
|
52 |
+
});
|
assets/js/twae-swiper.js
ADDED
@@ -0,0 +1,4027 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
! function (e, t) {
|
2 |
+
"object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = e || self).Swiper = t()
|
3 |
+
}(this, (function () {
|
4 |
+
"use strict";
|
5 |
+
|
6 |
+
function e(e) {
|
7 |
+
return null !== e && "object" == typeof e && "constructor" in e && e.constructor === Object
|
8 |
+
}
|
9 |
+
|
10 |
+
function t(i, s) {
|
11 |
+
void 0 === i && (i = {}), void 0 === s && (s = {}), Object.keys(s).forEach((function (a) {
|
12 |
+
void 0 === i[a] ? i[a] = s[a] : e(s[a]) && e(i[a]) && Object.keys(s[a]).length > 0 && t(i[a], s[a])
|
13 |
+
}))
|
14 |
+
}
|
15 |
+
var i = "undefined" != typeof document ? document : {},
|
16 |
+
s = {
|
17 |
+
body: {},
|
18 |
+
addEventListener: function () {},
|
19 |
+
removeEventListener: function () {},
|
20 |
+
activeElement: {
|
21 |
+
blur: function () {},
|
22 |
+
nodeName: ""
|
23 |
+
},
|
24 |
+
querySelector: function () {
|
25 |
+
return null
|
26 |
+
},
|
27 |
+
querySelectorAll: function () {
|
28 |
+
return []
|
29 |
+
},
|
30 |
+
getElementById: function () {
|
31 |
+
return null
|
32 |
+
},
|
33 |
+
createEvent: function () {
|
34 |
+
return {
|
35 |
+
initEvent: function () {}
|
36 |
+
}
|
37 |
+
},
|
38 |
+
createElement: function () {
|
39 |
+
return {
|
40 |
+
children: [],
|
41 |
+
childNodes: [],
|
42 |
+
style: {},
|
43 |
+
setAttribute: function () {},
|
44 |
+
getElementsByTagName: function () {
|
45 |
+
return []
|
46 |
+
}
|
47 |
+
}
|
48 |
+
},
|
49 |
+
createElementNS: function () {
|
50 |
+
return {}
|
51 |
+
},
|
52 |
+
importNode: function () {
|
53 |
+
return null
|
54 |
+
},
|
55 |
+
location: {
|
56 |
+
hash: "",
|
57 |
+
host: "",
|
58 |
+
hostname: "",
|
59 |
+
href: "",
|
60 |
+
origin: "",
|
61 |
+
pathname: "",
|
62 |
+
protocol: "",
|
63 |
+
search: ""
|
64 |
+
}
|
65 |
+
};
|
66 |
+
t(i, s);
|
67 |
+
var a = "undefined" != typeof window ? window : {};
|
68 |
+
t(a, {
|
69 |
+
document: s,
|
70 |
+
navigator: {
|
71 |
+
userAgent: ""
|
72 |
+
},
|
73 |
+
location: {
|
74 |
+
hash: "",
|
75 |
+
host: "",
|
76 |
+
hostname: "",
|
77 |
+
href: "",
|
78 |
+
origin: "",
|
79 |
+
pathname: "",
|
80 |
+
protocol: "",
|
81 |
+
search: ""
|
82 |
+
},
|
83 |
+
history: {
|
84 |
+
replaceState: function () {},
|
85 |
+
pushState: function () {},
|
86 |
+
go: function () {},
|
87 |
+
back: function () {}
|
88 |
+
},
|
89 |
+
CustomEvent: function () {
|
90 |
+
return this
|
91 |
+
},
|
92 |
+
addEventListener: function () {},
|
93 |
+
removeEventListener: function () {},
|
94 |
+
getComputedStyle: function () {
|
95 |
+
return {
|
96 |
+
getPropertyValue: function () {
|
97 |
+
return ""
|
98 |
+
}
|
99 |
+
}
|
100 |
+
},
|
101 |
+
Image: function () {},
|
102 |
+
Date: function () {},
|
103 |
+
screen: {},
|
104 |
+
setTimeout: function () {},
|
105 |
+
clearTimeout: function () {},
|
106 |
+
matchMedia: function () {
|
107 |
+
return {}
|
108 |
+
}
|
109 |
+
});
|
110 |
+
var r = function (e) {
|
111 |
+
for (var t = 0; t < e.length; t += 1) this[t] = e[t];
|
112 |
+
return this.length = e.length, this
|
113 |
+
};
|
114 |
+
|
115 |
+
function n(e, t) {
|
116 |
+
var s = [],
|
117 |
+
n = 0;
|
118 |
+
if (e && !t && e instanceof r) return e;
|
119 |
+
if (e)
|
120 |
+
if ("string" == typeof e) {
|
121 |
+
var o, l, d = e.trim();
|
122 |
+
if (d.indexOf("<") >= 0 && d.indexOf(">") >= 0) {
|
123 |
+
var h = "div";
|
124 |
+
for (0 === d.indexOf("<li") && (h = "ul"), 0 === d.indexOf("<tr") && (h = "tbody"), 0 !== d.indexOf("<td") && 0 !== d.indexOf("<th") || (h = "tr"), 0 === d.indexOf("<tbody") && (h = "table"), 0 === d.indexOf("<option") && (h = "select"), (l = i.createElement(h)).innerHTML = d, n = 0; n < l.childNodes.length; n += 1) s.push(l.childNodes[n])
|
125 |
+
} else
|
126 |
+
for (o = t || "#" !== e[0] || e.match(/[ .<>:~]/) ? (t || i).querySelectorAll(e.trim()) : [i.getElementById(e.trim().split("#")[1])], n = 0; n < o.length; n += 1) o[n] && s.push(o[n])
|
127 |
+
} else if (e.nodeType || e === a || e === i) s.push(e);
|
128 |
+
else if (e.length > 0 && e[0].nodeType)
|
129 |
+
for (n = 0; n < e.length; n += 1) s.push(e[n]);
|
130 |
+
return new r(s)
|
131 |
+
}
|
132 |
+
|
133 |
+
function o(e) {
|
134 |
+
for (var t = [], i = 0; i < e.length; i += 1) - 1 === t.indexOf(e[i]) && t.push(e[i]);
|
135 |
+
return t
|
136 |
+
}
|
137 |
+
n.fn = r.prototype, n.Class = r, n.Dom7 = r;
|
138 |
+
var l = {
|
139 |
+
addClass: function (e) {
|
140 |
+
if (void 0 === e) return this;
|
141 |
+
for (var t = e.split(" "), i = 0; i < t.length; i += 1)
|
142 |
+
for (var s = 0; s < this.length; s += 1) void 0 !== this[s] && void 0 !== this[s].classList && this[s].classList.add(t[i]);
|
143 |
+
return this
|
144 |
+
},
|
145 |
+
removeClass: function (e) {
|
146 |
+
for (var t = e.split(" "), i = 0; i < t.length; i += 1)
|
147 |
+
for (var s = 0; s < this.length; s += 1) void 0 !== this[s] && void 0 !== this[s].classList && this[s].classList.remove(t[i]);
|
148 |
+
return this
|
149 |
+
},
|
150 |
+
hasClass: function (e) {
|
151 |
+
return !!this[0] && this[0].classList.contains(e)
|
152 |
+
},
|
153 |
+
toggleClass: function (e) {
|
154 |
+
for (var t = e.split(" "), i = 0; i < t.length; i += 1)
|
155 |
+
for (var s = 0; s < this.length; s += 1) void 0 !== this[s] && void 0 !== this[s].classList && this[s].classList.toggle(t[i]);
|
156 |
+
return this
|
157 |
+
},
|
158 |
+
attr: function (e, t) {
|
159 |
+
var i = arguments;
|
160 |
+
if (1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getAttribute(e) : void 0;
|
161 |
+
for (var s = 0; s < this.length; s += 1)
|
162 |
+
if (2 === i.length) this[s].setAttribute(e, t);
|
163 |
+
else
|
164 |
+
for (var a in e) this[s][a] = e[a], this[s].setAttribute(a, e[a]);
|
165 |
+
return this
|
166 |
+
},
|
167 |
+
removeAttr: function (e) {
|
168 |
+
for (var t = 0; t < this.length; t += 1) this[t].removeAttribute(e);
|
169 |
+
return this
|
170 |
+
},
|
171 |
+
data: function (e, t) {
|
172 |
+
var i;
|
173 |
+
if (void 0 !== t) {
|
174 |
+
for (var s = 0; s < this.length; s += 1)(i = this[s]).dom7ElementDataStorage || (i.dom7ElementDataStorage = {}), i.dom7ElementDataStorage[e] = t;
|
175 |
+
return this
|
176 |
+
}
|
177 |
+
if (i = this[0]) {
|
178 |
+
if (i.dom7ElementDataStorage && e in i.dom7ElementDataStorage) return i.dom7ElementDataStorage[e];
|
179 |
+
var a = i.getAttribute("data-" + e);
|
180 |
+
return a || void 0
|
181 |
+
}
|
182 |
+
},
|
183 |
+
transform: function (e) {
|
184 |
+
for (var t = 0; t < this.length; t += 1) {
|
185 |
+
var i = this[t].style;
|
186 |
+
i.webkitTransform = e, i.transform = e
|
187 |
+
}
|
188 |
+
return this
|
189 |
+
},
|
190 |
+
transition: function (e) {
|
191 |
+
"string" != typeof e && (e += "ms");
|
192 |
+
for (var t = 0; t < this.length; t += 1) {
|
193 |
+
var i = this[t].style;
|
194 |
+
i.webkitTransitionDuration = e, i.transitionDuration = e
|
195 |
+
}
|
196 |
+
return this
|
197 |
+
},
|
198 |
+
on: function () {
|
199 |
+
for (var e, t = [], i = arguments.length; i--;) t[i] = arguments[i];
|
200 |
+
var s = t[0],
|
201 |
+
a = t[1],
|
202 |
+
r = t[2],
|
203 |
+
o = t[3];
|
204 |
+
|
205 |
+
function l(e) {
|
206 |
+
var t = e.target;
|
207 |
+
if (t) {
|
208 |
+
var i = e.target.dom7EventData || [];
|
209 |
+
if (i.indexOf(e) < 0 && i.unshift(e), n(t).is(a)) r.apply(t, i);
|
210 |
+
else
|
211 |
+
for (var s = n(t).parents(), o = 0; o < s.length; o += 1) n(s[o]).is(a) && r.apply(s[o], i)
|
212 |
+
}
|
213 |
+
}
|
214 |
+
|
215 |
+
function d(e) {
|
216 |
+
var t = e && e.target && e.target.dom7EventData || [];
|
217 |
+
t.indexOf(e) < 0 && t.unshift(e), r.apply(this, t)
|
218 |
+
}
|
219 |
+
"function" == typeof t[1] && (s = (e = t)[0], r = e[1], o = e[2], a = void 0), o || (o = !1);
|
220 |
+
for (var h, p = s.split(" "), c = 0; c < this.length; c += 1) {
|
221 |
+
var u = this[c];
|
222 |
+
if (a)
|
223 |
+
for (h = 0; h < p.length; h += 1) {
|
224 |
+
var v = p[h];
|
225 |
+
u.dom7LiveListeners || (u.dom7LiveListeners = {}), u.dom7LiveListeners[v] || (u.dom7LiveListeners[v] = []), u.dom7LiveListeners[v].push({
|
226 |
+
listener: r,
|
227 |
+
proxyListener: l
|
228 |
+
}), u.addEventListener(v, l, o)
|
229 |
+
} else
|
230 |
+
for (h = 0; h < p.length; h += 1) {
|
231 |
+
var f = p[h];
|
232 |
+
u.dom7Listeners || (u.dom7Listeners = {}), u.dom7Listeners[f] || (u.dom7Listeners[f] = []), u.dom7Listeners[f].push({
|
233 |
+
listener: r,
|
234 |
+
proxyListener: d
|
235 |
+
}), u.addEventListener(f, d, o)
|
236 |
+
}
|
237 |
+
}
|
238 |
+
return this
|
239 |
+
},
|
240 |
+
off: function () {
|
241 |
+
for (var e, t = [], i = arguments.length; i--;) t[i] = arguments[i];
|
242 |
+
var s = t[0],
|
243 |
+
a = t[1],
|
244 |
+
r = t[2],
|
245 |
+
n = t[3];
|
246 |
+
"function" == typeof t[1] && (s = (e = t)[0], r = e[1], n = e[2], a = void 0), n || (n = !1);
|
247 |
+
for (var o = s.split(" "), l = 0; l < o.length; l += 1)
|
248 |
+
for (var d = o[l], h = 0; h < this.length; h += 1) {
|
249 |
+
var p = this[h],
|
250 |
+
c = void 0;
|
251 |
+
if (!a && p.dom7Listeners ? c = p.dom7Listeners[d] : a && p.dom7LiveListeners && (c = p.dom7LiveListeners[d]), c && c.length)
|
252 |
+
for (var u = c.length - 1; u >= 0; u -= 1) {
|
253 |
+
var v = c[u];
|
254 |
+
r && v.listener === r || r && v.listener && v.listener.dom7proxy && v.listener.dom7proxy === r ? (p.removeEventListener(d, v.proxyListener, n), c.splice(u, 1)) : r || (p.removeEventListener(d, v.proxyListener, n), c.splice(u, 1))
|
255 |
+
}
|
256 |
+
}
|
257 |
+
return this
|
258 |
+
},
|
259 |
+
trigger: function () {
|
260 |
+
for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
|
261 |
+
for (var s = e[0].split(" "), r = e[1], n = 0; n < s.length; n += 1)
|
262 |
+
for (var o = s[n], l = 0; l < this.length; l += 1) {
|
263 |
+
var d = this[l],
|
264 |
+
h = void 0;
|
265 |
+
try {
|
266 |
+
h = new a.CustomEvent(o, {
|
267 |
+
detail: r,
|
268 |
+
bubbles: !0,
|
269 |
+
cancelable: !0
|
270 |
+
})
|
271 |
+
} catch (e) {
|
272 |
+
(h = i.createEvent("Event")).initEvent(o, !0, !0), h.detail = r
|
273 |
+
}
|
274 |
+
d.dom7EventData = e.filter((function (e, t) {
|
275 |
+
return t > 0
|
276 |
+
})), d.dispatchEvent(h), d.dom7EventData = [], delete d.dom7EventData
|
277 |
+
}
|
278 |
+
return this
|
279 |
+
},
|
280 |
+
transitionEnd: function (e) {
|
281 |
+
var t, i = ["webkitTransitionEnd", "transitionend"],
|
282 |
+
s = this;
|
283 |
+
|
284 |
+
function a(r) {
|
285 |
+
if (r.target === this)
|
286 |
+
for (e.call(this, r), t = 0; t < i.length; t += 1) s.off(i[t], a)
|
287 |
+
}
|
288 |
+
if (e)
|
289 |
+
for (t = 0; t < i.length; t += 1) s.on(i[t], a);
|
290 |
+
return this
|
291 |
+
},
|
292 |
+
outerWidth: function (e) {
|
293 |
+
if (this.length > 0) {
|
294 |
+
if (e) {
|
295 |
+
var t = this.styles();
|
296 |
+
return this[0].offsetWidth + parseFloat(t.getPropertyValue("margin-right")) + parseFloat(t.getPropertyValue("margin-left"))
|
297 |
+
}
|
298 |
+
return this[0].offsetWidth
|
299 |
+
}
|
300 |
+
return null
|
301 |
+
},
|
302 |
+
outerHeight: function (e) {
|
303 |
+
if (this.length > 0) {
|
304 |
+
if (e) {
|
305 |
+
var t = this.styles();
|
306 |
+
return this[0].offsetHeight + parseFloat(t.getPropertyValue("margin-top")) + parseFloat(t.getPropertyValue("margin-bottom"))
|
307 |
+
}
|
308 |
+
return this[0].offsetHeight
|
309 |
+
}
|
310 |
+
return null
|
311 |
+
},
|
312 |
+
offset: function () {
|
313 |
+
if (this.length > 0) {
|
314 |
+
var e = this[0],
|
315 |
+
t = e.getBoundingClientRect(),
|
316 |
+
s = i.body,
|
317 |
+
r = e.clientTop || s.clientTop || 0,
|
318 |
+
n = e.clientLeft || s.clientLeft || 0,
|
319 |
+
o = e === a ? a.scrollY : e.scrollTop,
|
320 |
+
l = e === a ? a.scrollX : e.scrollLeft;
|
321 |
+
return {
|
322 |
+
top: t.top + o - r,
|
323 |
+
left: t.left + l - n
|
324 |
+
}
|
325 |
+
}
|
326 |
+
return null
|
327 |
+
},
|
328 |
+
css: function (e, t) {
|
329 |
+
var i;
|
330 |
+
if (1 === arguments.length) {
|
331 |
+
if ("string" != typeof e) {
|
332 |
+
for (i = 0; i < this.length; i += 1)
|
333 |
+
for (var s in e) this[i].style[s] = e[s];
|
334 |
+
return this
|
335 |
+
}
|
336 |
+
if (this[0]) return a.getComputedStyle(this[0], null).getPropertyValue(e)
|
337 |
+
}
|
338 |
+
if (2 === arguments.length && "string" == typeof e) {
|
339 |
+
for (i = 0; i < this.length; i += 1) this[i].style[e] = t;
|
340 |
+
return this
|
341 |
+
}
|
342 |
+
return this
|
343 |
+
},
|
344 |
+
each: function (e) {
|
345 |
+
if (!e) return this;
|
346 |
+
for (var t = 0; t < this.length; t += 1)
|
347 |
+
if (!1 === e.call(this[t], t, this[t])) return this;
|
348 |
+
return this
|
349 |
+
},
|
350 |
+
html: function (e) {
|
351 |
+
if (void 0 === e) return this[0] ? this[0].innerHTML : void 0;
|
352 |
+
for (var t = 0; t < this.length; t += 1) this[t].innerHTML = e;
|
353 |
+
return this
|
354 |
+
},
|
355 |
+
text: function (e) {
|
356 |
+
if (void 0 === e) return this[0] ? this[0].textContent.trim() : null;
|
357 |
+
for (var t = 0; t < this.length; t += 1) this[t].textContent = e;
|
358 |
+
return this
|
359 |
+
},
|
360 |
+
is: function (e) {
|
361 |
+
var t, s, o = this[0];
|
362 |
+
if (!o || void 0 === e) return !1;
|
363 |
+
if ("string" == typeof e) {
|
364 |
+
if (o.matches) return o.matches(e);
|
365 |
+
if (o.webkitMatchesSelector) return o.webkitMatchesSelector(e);
|
366 |
+
if (o.msMatchesSelector) return o.msMatchesSelector(e);
|
367 |
+
for (t = n(e), s = 0; s < t.length; s += 1)
|
368 |
+
if (t[s] === o) return !0;
|
369 |
+
return !1
|
370 |
+
}
|
371 |
+
if (e === i) return o === i;
|
372 |
+
if (e === a) return o === a;
|
373 |
+
if (e.nodeType || e instanceof r) {
|
374 |
+
for (t = e.nodeType ? [e] : e, s = 0; s < t.length; s += 1)
|
375 |
+
if (t[s] === o) return !0;
|
376 |
+
return !1
|
377 |
+
}
|
378 |
+
return !1
|
379 |
+
},
|
380 |
+
index: function () {
|
381 |
+
var e, t = this[0];
|
382 |
+
if (t) {
|
383 |
+
for (e = 0; null !== (t = t.previousSibling);) 1 === t.nodeType && (e += 1);
|
384 |
+
return e
|
385 |
+
}
|
386 |
+
},
|
387 |
+
eq: function (e) {
|
388 |
+
if (void 0 === e) return this;
|
389 |
+
var t, i = this.length;
|
390 |
+
return new r(e > i - 1 ? [] : e < 0 ? (t = i + e) < 0 ? [] : [this[t]] : [this[e]])
|
391 |
+
},
|
392 |
+
append: function () {
|
393 |
+
for (var e, t = [], s = arguments.length; s--;) t[s] = arguments[s];
|
394 |
+
for (var a = 0; a < t.length; a += 1) {
|
395 |
+
e = t[a];
|
396 |
+
for (var n = 0; n < this.length; n += 1)
|
397 |
+
if ("string" == typeof e) {
|
398 |
+
var o = i.createElement("div");
|
399 |
+
for (o.innerHTML = e; o.firstChild;) this[n].appendChild(o.firstChild)
|
400 |
+
} else if (e instanceof r)
|
401 |
+
for (var l = 0; l < e.length; l += 1) this[n].appendChild(e[l]);
|
402 |
+
else this[n].appendChild(e)
|
403 |
+
}
|
404 |
+
return this
|
405 |
+
},
|
406 |
+
prepend: function (e) {
|
407 |
+
var t, s;
|
408 |
+
for (t = 0; t < this.length; t += 1)
|
409 |
+
if ("string" == typeof e) {
|
410 |
+
var a = i.createElement("div");
|
411 |
+
for (a.innerHTML = e, s = a.childNodes.length - 1; s >= 0; s -= 1) this[t].insertBefore(a.childNodes[s], this[t].childNodes[0])
|
412 |
+
} else if (e instanceof r)
|
413 |
+
for (s = 0; s < e.length; s += 1) this[t].insertBefore(e[s], this[t].childNodes[0]);
|
414 |
+
else this[t].insertBefore(e, this[t].childNodes[0]);
|
415 |
+
return this
|
416 |
+
},
|
417 |
+
next: function (e) {
|
418 |
+
return this.length > 0 ? e ? this[0].nextElementSibling && n(this[0].nextElementSibling).is(e) ? new r([this[0].nextElementSibling]) : new r([]) : this[0].nextElementSibling ? new r([this[0].nextElementSibling]) : new r([]) : new r([])
|
419 |
+
},
|
420 |
+
nextAll: function (e) {
|
421 |
+
var t = [],
|
422 |
+
i = this[0];
|
423 |
+
if (!i) return new r([]);
|
424 |
+
for (; i.nextElementSibling;) {
|
425 |
+
var s = i.nextElementSibling;
|
426 |
+
e ? n(s).is(e) && t.push(s) : t.push(s), i = s
|
427 |
+
}
|
428 |
+
return new r(t)
|
429 |
+
},
|
430 |
+
prev: function (e) {
|
431 |
+
if (this.length > 0) {
|
432 |
+
var t = this[0];
|
433 |
+
return e ? t.previousElementSibling && n(t.previousElementSibling).is(e) ? new r([t.previousElementSibling]) : new r([]) : t.previousElementSibling ? new r([t.previousElementSibling]) : new r([])
|
434 |
+
}
|
435 |
+
return new r([])
|
436 |
+
},
|
437 |
+
prevAll: function (e) {
|
438 |
+
var t = [],
|
439 |
+
i = this[0];
|
440 |
+
if (!i) return new r([]);
|
441 |
+
for (; i.previousElementSibling;) {
|
442 |
+
var s = i.previousElementSibling;
|
443 |
+
e ? n(s).is(e) && t.push(s) : t.push(s), i = s
|
444 |
+
}
|
445 |
+
return new r(t)
|
446 |
+
},
|
447 |
+
parent: function (e) {
|
448 |
+
for (var t = [], i = 0; i < this.length; i += 1) null !== this[i].parentNode && (e ? n(this[i].parentNode).is(e) && t.push(this[i].parentNode) : t.push(this[i].parentNode));
|
449 |
+
return n(o(t))
|
450 |
+
},
|
451 |
+
parents: function (e) {
|
452 |
+
for (var t = [], i = 0; i < this.length; i += 1)
|
453 |
+
for (var s = this[i].parentNode; s;) e ? n(s).is(e) && t.push(s) : t.push(s), s = s.parentNode;
|
454 |
+
return n(o(t))
|
455 |
+
},
|
456 |
+
closest: function (e) {
|
457 |
+
var t = this;
|
458 |
+
return void 0 === e ? new r([]) : (t.is(e) || (t = t.parents(e).eq(0)), t)
|
459 |
+
},
|
460 |
+
find: function (e) {
|
461 |
+
for (var t = [], i = 0; i < this.length; i += 1)
|
462 |
+
for (var s = this[i].querySelectorAll(e), a = 0; a < s.length; a += 1) t.push(s[a]);
|
463 |
+
return new r(t)
|
464 |
+
},
|
465 |
+
children: function (e) {
|
466 |
+
for (var t = [], i = 0; i < this.length; i += 1)
|
467 |
+
for (var s = this[i].childNodes, a = 0; a < s.length; a += 1) e ? 1 === s[a].nodeType && n(s[a]).is(e) && t.push(s[a]) : 1 === s[a].nodeType && t.push(s[a]);
|
468 |
+
return new r(o(t))
|
469 |
+
},
|
470 |
+
filter: function (e) {
|
471 |
+
for (var t = [], i = 0; i < this.length; i += 1) e.call(this[i], i, this[i]) && t.push(this[i]);
|
472 |
+
return new r(t)
|
473 |
+
},
|
474 |
+
remove: function () {
|
475 |
+
for (var e = 0; e < this.length; e += 1) this[e].parentNode && this[e].parentNode.removeChild(this[e]);
|
476 |
+
return this
|
477 |
+
},
|
478 |
+
add: function () {
|
479 |
+
for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
|
480 |
+
var i, s, a = this;
|
481 |
+
for (i = 0; i < e.length; i += 1) {
|
482 |
+
var r = n(e[i]);
|
483 |
+
for (s = 0; s < r.length; s += 1) a[a.length] = r[s], a.length += 1
|
484 |
+
}
|
485 |
+
return a
|
486 |
+
},
|
487 |
+
styles: function () {
|
488 |
+
return this[0] ? a.getComputedStyle(this[0], null) : {}
|
489 |
+
}
|
490 |
+
};
|
491 |
+
Object.keys(l).forEach((function (e) {
|
492 |
+
n.fn[e] = n.fn[e] || l[e]
|
493 |
+
}));
|
494 |
+
var d = {
|
495 |
+
deleteProps: function (e) {
|
496 |
+
var t = e;
|
497 |
+
Object.keys(t).forEach((function (e) {
|
498 |
+
try {
|
499 |
+
t[e] = null
|
500 |
+
} catch (e) {}
|
501 |
+
try {
|
502 |
+
delete t[e]
|
503 |
+
} catch (e) {}
|
504 |
+
}))
|
505 |
+
},
|
506 |
+
nextTick: function (e, t) {
|
507 |
+
return void 0 === t && (t = 0), setTimeout(e, t)
|
508 |
+
},
|
509 |
+
now: function () {
|
510 |
+
return Date.now()
|
511 |
+
},
|
512 |
+
getTranslate: function (e, t) {
|
513 |
+
var i, s, r;
|
514 |
+
void 0 === t && (t = "x");
|
515 |
+
var n = a.getComputedStyle(e, null);
|
516 |
+
return a.WebKitCSSMatrix ? ((s = n.transform || n.webkitTransform).split(",").length > 6 && (s = s.split(", ").map((function (e) {
|
517 |
+
return e.replace(",", ".")
|
518 |
+
})).join(", ")), r = new a.WebKitCSSMatrix("none" === s ? "" : s)) : i = (r = n.MozTransform || n.OTransform || n.MsTransform || n.msTransform || n.transform || n.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,")).toString().split(","), "x" === t && (s = a.WebKitCSSMatrix ? r.m41 : 16 === i.length ? parseFloat(i[12]) : parseFloat(i[4])), "y" === t && (s = a.WebKitCSSMatrix ? r.m42 : 16 === i.length ? parseFloat(i[13]) : parseFloat(i[5])), s || 0
|
519 |
+
},
|
520 |
+
parseUrlQuery: function (e) {
|
521 |
+
var t, i, s, r, n = {},
|
522 |
+
o = e || a.location.href;
|
523 |
+
if ("string" == typeof o && o.length)
|
524 |
+
for (r = (i = (o = o.indexOf("?") > -1 ? o.replace(/\S*\?/, "") : "").split("&").filter((function (e) {
|
525 |
+
return "" !== e
|
526 |
+
}))).length, t = 0; t < r; t += 1) s = i[t].replace(/#\S+/g, "").split("="), n[decodeURIComponent(s[0])] = void 0 === s[1] ? void 0 : decodeURIComponent(s[1]) || "";
|
527 |
+
return n
|
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 i = Object(e[0]), s = 1; s < e.length; s += 1) {
|
535 |
+
var a = e[s];
|
536 |
+
if (null != a)
|
537 |
+
for (var r = Object.keys(Object(a)), n = 0, o = r.length; n < o; n += 1) {
|
538 |
+
var l = r[n],
|
539 |
+
h = Object.getOwnPropertyDescriptor(a, l);
|
540 |
+
void 0 !== h && h.enumerable && (d.isObject(i[l]) && d.isObject(a[l]) ? d.extend(i[l], a[l]) : !d.isObject(i[l]) && d.isObject(a[l]) ? (i[l] = {}, d.extend(i[l], a[l])) : i[l] = a[l])
|
541 |
+
}
|
542 |
+
}
|
543 |
+
return i
|
544 |
+
}
|
545 |
+
},
|
546 |
+
h = {
|
547 |
+
touch: !!("ontouchstart" in a || a.DocumentTouch && i instanceof a.DocumentTouch),
|
548 |
+
pointerEvents: !!a.PointerEvent && "maxTouchPoints" in a.navigator && a.navigator.maxTouchPoints >= 0,
|
549 |
+
observer: "MutationObserver" in a || "WebkitMutationObserver" in a,
|
550 |
+
passiveListener: function () {
|
551 |
+
var e = !1;
|
552 |
+
try {
|
553 |
+
var t = Object.defineProperty({}, "passive", {
|
554 |
+
get: function () {
|
555 |
+
e = !0
|
556 |
+
}
|
557 |
+
});
|
558 |
+
a.addEventListener("testPassiveListener", null, t)
|
559 |
+
} catch (e) {}
|
560 |
+
return e
|
561 |
+
}(),
|
562 |
+
gestures: "ongesturestart" in a
|
563 |
+
},
|
564 |
+
p = function (e) {
|
565 |
+
void 0 === e && (e = {});
|
566 |
+
var t = this;
|
567 |
+
t.params = e, t.eventsListeners = {}, t.params && t.params.on && Object.keys(t.params.on).forEach((function (e) {
|
568 |
+
t.on(e, t.params.on[e])
|
569 |
+
}))
|
570 |
+
},
|
571 |
+
c = {
|
572 |
+
components: {
|
573 |
+
configurable: !0
|
574 |
+
}
|
575 |
+
};
|
576 |
+
p.prototype.on = function (e, t, i) {
|
577 |
+
var s = this;
|
578 |
+
if ("function" != typeof t) return s;
|
579 |
+
var a = i ? "unshift" : "push";
|
580 |
+
return e.split(" ").forEach((function (e) {
|
581 |
+
s.eventsListeners[e] || (s.eventsListeners[e] = []), s.eventsListeners[e][a](t)
|
582 |
+
})), s
|
583 |
+
}, p.prototype.once = function (e, t, i) {
|
584 |
+
var s = this;
|
585 |
+
if ("function" != typeof t) return s;
|
586 |
+
|
587 |
+
function a() {
|
588 |
+
for (var i = [], r = arguments.length; r--;) i[r] = arguments[r];
|
589 |
+
s.off(e, a), a.f7proxy && delete a.f7proxy, t.apply(s, i)
|
590 |
+
}
|
591 |
+
return a.f7proxy = t, s.on(e, a, i)
|
592 |
+
}, p.prototype.off = function (e, t) {
|
593 |
+
var i = this;
|
594 |
+
return i.eventsListeners ? (e.split(" ").forEach((function (e) {
|
595 |
+
void 0 === t ? i.eventsListeners[e] = [] : i.eventsListeners[e] && i.eventsListeners[e].length && i.eventsListeners[e].forEach((function (s, a) {
|
596 |
+
(s === t || s.f7proxy && s.f7proxy === t) && i.eventsListeners[e].splice(a, 1)
|
597 |
+
}))
|
598 |
+
})), i) : i
|
599 |
+
}, p.prototype.emit = function () {
|
600 |
+
for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
|
601 |
+
var i, s, a, r = this;
|
602 |
+
if (!r.eventsListeners) return r;
|
603 |
+
"string" == typeof e[0] || Array.isArray(e[0]) ? (i = e[0], s = e.slice(1, e.length), a = r) : (i = e[0].events, s = e[0].data, a = e[0].context || r);
|
604 |
+
var n = Array.isArray(i) ? i : i.split(" ");
|
605 |
+
return n.forEach((function (e) {
|
606 |
+
if (r.eventsListeners && r.eventsListeners[e]) {
|
607 |
+
var t = [];
|
608 |
+
r.eventsListeners[e].forEach((function (e) {
|
609 |
+
t.push(e)
|
610 |
+
})), t.forEach((function (e) {
|
611 |
+
e.apply(a, s)
|
612 |
+
}))
|
613 |
+
}
|
614 |
+
})), r
|
615 |
+
}, p.prototype.useModulesParams = function (e) {
|
616 |
+
var t = this;
|
617 |
+
t.modules && Object.keys(t.modules).forEach((function (i) {
|
618 |
+
var s = t.modules[i];
|
619 |
+
s.params && d.extend(e, s.params)
|
620 |
+
}))
|
621 |
+
}, p.prototype.useModules = function (e) {
|
622 |
+
void 0 === e && (e = {});
|
623 |
+
var t = this;
|
624 |
+
t.modules && Object.keys(t.modules).forEach((function (i) {
|
625 |
+
var s = t.modules[i],
|
626 |
+
a = e[i] || {};
|
627 |
+
s.instance && Object.keys(s.instance).forEach((function (e) {
|
628 |
+
var i = s.instance[e];
|
629 |
+
t[e] = "function" == typeof i ? i.bind(t) : i
|
630 |
+
})), s.on && t.on && Object.keys(s.on).forEach((function (e) {
|
631 |
+
t.on(e, s.on[e])
|
632 |
+
})), s.create && s.create.bind(t)(a)
|
633 |
+
}))
|
634 |
+
}, c.components.set = function (e) {
|
635 |
+
this.use && this.use(e)
|
636 |
+
}, p.installModule = function (e) {
|
637 |
+
for (var t = [], i = arguments.length - 1; i-- > 0;) t[i] = arguments[i + 1];
|
638 |
+
var s = this;
|
639 |
+
s.prototype.modules || (s.prototype.modules = {});
|
640 |
+
var a = e.name || Object.keys(s.prototype.modules).length + "_" + d.now();
|
641 |
+
return s.prototype.modules[a] = e, e.proto && Object.keys(e.proto).forEach((function (t) {
|
642 |
+
s.prototype[t] = e.proto[t]
|
643 |
+
})), e.static && Object.keys(e.static).forEach((function (t) {
|
644 |
+
s[t] = e.static[t]
|
645 |
+
})), e.install && e.install.apply(s, t), s
|
646 |
+
}, p.use = function (e) {
|
647 |
+
for (var t = [], i = arguments.length - 1; i-- > 0;) t[i] = arguments[i + 1];
|
648 |
+
var s = this;
|
649 |
+
return Array.isArray(e) ? (e.forEach((function (e) {
|
650 |
+
return s.installModule(e)
|
651 |
+
})), s) : s.installModule.apply(s, [e].concat(t))
|
652 |
+
}, Object.defineProperties(p, c);
|
653 |
+
var u = {
|
654 |
+
updateSize: function () {
|
655 |
+
var e, t, i = this.$el;
|
656 |
+
e = void 0 !== this.params.width ? this.params.width : i[0].clientWidth, t = void 0 !== this.params.height ? this.params.height : i[0].clientHeight, 0 === e && this.isHorizontal() || 0 === t && this.isVertical() || (e = e - parseInt(i.css("padding-left"), 10) - parseInt(i.css("padding-right"), 10), t = t - parseInt(i.css("padding-top"), 10) - parseInt(i.css("padding-bottom"), 10), d.extend(this, {
|
657 |
+
width: e,
|
658 |
+
height: t,
|
659 |
+
size: this.isHorizontal() ? e : t
|
660 |
+
}))
|
661 |
+
},
|
662 |
+
updateSlides: function () {
|
663 |
+
var e = this.params,
|
664 |
+
t = this.$wrapperEl,
|
665 |
+
i = this.size,
|
666 |
+
s = this.rtlTranslate,
|
667 |
+
r = this.wrongRTL,
|
668 |
+
n = this.virtual && e.virtual.enabled,
|
669 |
+
o = n ? this.virtual.slides.length : this.slides.length,
|
670 |
+
l = t.children("." + this.params.slideClass),
|
671 |
+
h = n ? this.virtual.slides.length : l.length,
|
672 |
+
p = [],
|
673 |
+
c = [],
|
674 |
+
u = [];
|
675 |
+
|
676 |
+
function v(t) {
|
677 |
+
return !e.cssMode || t !== l.length - 1
|
678 |
+
}
|
679 |
+
var f = e.slidesOffsetBefore;
|
680 |
+
"function" == typeof f && (f = e.slidesOffsetBefore.call(this));
|
681 |
+
var m = e.slidesOffsetAfter;
|
682 |
+
"function" == typeof m && (m = e.slidesOffsetAfter.call(this));
|
683 |
+
var g = this.snapGrid.length,
|
684 |
+
b = this.snapGrid.length,
|
685 |
+
w = e.spaceBetween,
|
686 |
+
y = -f,
|
687 |
+
x = 0,
|
688 |
+
E = 0;
|
689 |
+
if (void 0 !== i) {
|
690 |
+
var T, S;
|
691 |
+
"string" == typeof w && w.indexOf("%") >= 0 && (w = parseFloat(w.replace("%", "")) / 100 * i), this.virtualSize = -w, s ? l.css({
|
692 |
+
marginLeft: "",
|
693 |
+
marginTop: ""
|
694 |
+
}) : l.css({
|
695 |
+
marginRight: "",
|
696 |
+
marginBottom: ""
|
697 |
+
}), e.slidesPerColumn > 1 && (T = Math.floor(h / e.slidesPerColumn) === h / this.params.slidesPerColumn ? h : Math.ceil(h / e.slidesPerColumn) * e.slidesPerColumn, "auto" !== e.slidesPerView && "row" === e.slidesPerColumnFill && (T = Math.max(T, e.slidesPerView * e.slidesPerColumn)));
|
698 |
+
for (var C, M = e.slidesPerColumn, P = T / M, z = Math.floor(h / e.slidesPerColumn), k = 0; k < h; k += 1) {
|
699 |
+
S = 0;
|
700 |
+
var $ = l.eq(k);
|
701 |
+
if (e.slidesPerColumn > 1) {
|
702 |
+
var L = void 0,
|
703 |
+
I = void 0,
|
704 |
+
D = void 0;
|
705 |
+
if ("row" === e.slidesPerColumnFill && e.slidesPerGroup > 1) {
|
706 |
+
var O = Math.floor(k / (e.slidesPerGroup * e.slidesPerColumn)),
|
707 |
+
A = k - e.slidesPerColumn * e.slidesPerGroup * O,
|
708 |
+
G = 0 === O ? e.slidesPerGroup : Math.min(Math.ceil((h - O * M * e.slidesPerGroup) / M), e.slidesPerGroup);
|
709 |
+
L = (I = A - (D = Math.floor(A / G)) * G + O * e.slidesPerGroup) + D * T / M, $.css({
|
710 |
+
"-webkit-box-ordinal-group": L,
|
711 |
+
"-moz-box-ordinal-group": L,
|
712 |
+
"-ms-flex-order": L,
|
713 |
+
"-webkit-order": L,
|
714 |
+
order: L
|
715 |
+
})
|
716 |
+
} else "column" === e.slidesPerColumnFill ? (D = k - (I = Math.floor(k / M)) * M, (I > z || I === z && D === M - 1) && (D += 1) >= M && (D = 0, I += 1)) : I = k - (D = Math.floor(k / P)) * P;
|
717 |
+
$.css("margin-" + (this.isHorizontal() ? "top" : "left"), 0 !== D && e.spaceBetween && e.spaceBetween + "px")
|
718 |
+
}
|
719 |
+
if ("none" !== $.css("display")) {
|
720 |
+
if ("auto" === e.slidesPerView) {
|
721 |
+
var H = a.getComputedStyle($[0], null),
|
722 |
+
B = $[0].style.transform,
|
723 |
+
N = $[0].style.webkitTransform;
|
724 |
+
if (B && ($[0].style.transform = "none"), N && ($[0].style.webkitTransform = "none"), e.roundLengths) S = this.isHorizontal() ? $.outerWidth(!0) : $.outerHeight(!0);
|
725 |
+
else if (this.isHorizontal()) {
|
726 |
+
var X = parseFloat(H.getPropertyValue("width")),
|
727 |
+
V = parseFloat(H.getPropertyValue("padding-left")),
|
728 |
+
Y = parseFloat(H.getPropertyValue("padding-right")),
|
729 |
+
F = parseFloat(H.getPropertyValue("margin-left")),
|
730 |
+
W = parseFloat(H.getPropertyValue("margin-right")),
|
731 |
+
R = H.getPropertyValue("box-sizing");
|
732 |
+
S = R && "border-box" === R ? X + F + W : X + V + Y + F + W
|
733 |
+
} else {
|
734 |
+
var q = parseFloat(H.getPropertyValue("height")),
|
735 |
+
j = parseFloat(H.getPropertyValue("padding-top")),
|
736 |
+
K = parseFloat(H.getPropertyValue("padding-bottom")),
|
737 |
+
U = parseFloat(H.getPropertyValue("margin-top")),
|
738 |
+
_ = parseFloat(H.getPropertyValue("margin-bottom")),
|
739 |
+
Z = H.getPropertyValue("box-sizing");
|
740 |
+
S = Z && "border-box" === Z ? q + U + _ : q + j + K + U + _
|
741 |
+
}
|
742 |
+
B && ($[0].style.transform = B), N && ($[0].style.webkitTransform = N), e.roundLengths && (S = Math.floor(S))
|
743 |
+
} else S = (i - (e.slidesPerView - 1) * w) / e.slidesPerView, e.roundLengths && (S = Math.floor(S)), l[k] && (this.isHorizontal() ? l[k].style.width = S + "px" : l[k].style.height = S + "px");
|
744 |
+
l[k] && (l[k].swiperSlideSize = S), u.push(S), e.centeredSlides ? (y = y + S / 2 + x / 2 + w, 0 === x && 0 !== k && (y = y - i / 2 - w), 0 === k && (y = y - i / 2 - w), Math.abs(y) < .001 && (y = 0), e.roundLengths && (y = Math.floor(y)), E % e.slidesPerGroup == 0 && p.push(y), c.push(y)) : (e.roundLengths && (y = Math.floor(y)), (E - Math.min(this.params.slidesPerGroupSkip, E)) % this.params.slidesPerGroup == 0 && p.push(y), c.push(y), y = y + S + w), this.virtualSize += S + w, x = S, E += 1
|
745 |
+
}
|
746 |
+
}
|
747 |
+
if (this.virtualSize = Math.max(this.virtualSize, i) + m, s && r && ("slide" === e.effect || "coverflow" === e.effect) && t.css({
|
748 |
+
width: this.virtualSize + e.spaceBetween + "px"
|
749 |
+
}), e.setWrapperSize && (this.isHorizontal() ? t.css({
|
750 |
+
width: this.virtualSize + e.spaceBetween + "px"
|
751 |
+
}) : t.css({
|
752 |
+
height: this.virtualSize + e.spaceBetween + "px"
|
753 |
+
})), e.slidesPerColumn > 1 && (this.virtualSize = (S + e.spaceBetween) * T, this.virtualSize = Math.ceil(this.virtualSize / e.slidesPerColumn) - e.spaceBetween, this.isHorizontal() ? t.css({
|
754 |
+
width: this.virtualSize + e.spaceBetween + "px"
|
755 |
+
}) : t.css({
|
756 |
+
height: this.virtualSize + e.spaceBetween + "px"
|
757 |
+
}), e.centeredSlides)) {
|
758 |
+
C = [];
|
759 |
+
for (var Q = 0; Q < p.length; Q += 1) {
|
760 |
+
var J = p[Q];
|
761 |
+
e.roundLengths && (J = Math.floor(J)), p[Q] < this.virtualSize + p[0] && C.push(J)
|
762 |
+
}
|
763 |
+
p = C
|
764 |
+
}
|
765 |
+
if (!e.centeredSlides) {
|
766 |
+
C = [];
|
767 |
+
for (var ee = 0; ee < p.length; ee += 1) {
|
768 |
+
var te = p[ee];
|
769 |
+
e.roundLengths && (te = Math.floor(te)), p[ee] <= this.virtualSize - i && C.push(te)
|
770 |
+
}
|
771 |
+
p = C, Math.floor(this.virtualSize - i) - Math.floor(p[p.length - 1]) > 1 && p.push(this.virtualSize - i)
|
772 |
+
}
|
773 |
+
if (0 === p.length && (p = [0]), 0 !== e.spaceBetween && (this.isHorizontal() ? s ? l.filter(v).css({
|
774 |
+
marginLeft: w + "px"
|
775 |
+
}) : l.filter(v).css({
|
776 |
+
marginRight: w + "px"
|
777 |
+
}) : l.filter(v).css({
|
778 |
+
marginBottom: w + "px"
|
779 |
+
})), e.centeredSlides && e.centeredSlidesBounds) {
|
780 |
+
var ie = 0;
|
781 |
+
u.forEach((function (t) {
|
782 |
+
ie += t + (e.spaceBetween ? e.spaceBetween : 0)
|
783 |
+
}));
|
784 |
+
var se = (ie -= e.spaceBetween) - i;
|
785 |
+
p = p.map((function (e) {
|
786 |
+
return e < 0 ? -f : e > se ? se + m : e
|
787 |
+
}))
|
788 |
+
}
|
789 |
+
if (e.centerInsufficientSlides) {
|
790 |
+
var ae = 0;
|
791 |
+
if (u.forEach((function (t) {
|
792 |
+
ae += t + (e.spaceBetween ? e.spaceBetween : 0)
|
793 |
+
})), (ae -= e.spaceBetween) < i) {
|
794 |
+
var re = (i - ae) / 2;
|
795 |
+
p.forEach((function (e, t) {
|
796 |
+
p[t] = e - re
|
797 |
+
})), c.forEach((function (e, t) {
|
798 |
+
c[t] = e + re
|
799 |
+
}))
|
800 |
+
}
|
801 |
+
}
|
802 |
+
d.extend(this, {
|
803 |
+
slides: l,
|
804 |
+
snapGrid: p,
|
805 |
+
slidesGrid: c,
|
806 |
+
slidesSizesGrid: u
|
807 |
+
}), h !== o && this.emit("slidesLengthChange"), p.length !== g && (this.params.watchOverflow && this.checkOverflow(), this.emit("snapGridLengthChange")), c.length !== b && this.emit("slidesGridLengthChange"), (e.watchSlidesProgress || e.watchSlidesVisibility) && this.updateSlidesOffset()
|
808 |
+
}
|
809 |
+
},
|
810 |
+
updateAutoHeight: function (e) {
|
811 |
+
var t, i = [],
|
812 |
+
s = 0;
|
813 |
+
if ("number" == typeof e ? this.setTransition(e) : !0 === e && this.setTransition(this.params.speed), "auto" !== this.params.slidesPerView && this.params.slidesPerView > 1)
|
814 |
+
if (this.params.centeredSlides) this.visibleSlides.each((function (e, t) {
|
815 |
+
i.push(t)
|
816 |
+
}));
|
817 |
+
else
|
818 |
+
for (t = 0; t < Math.ceil(this.params.slidesPerView); t += 1) {
|
819 |
+
var a = this.activeIndex + t;
|
820 |
+
if (a > this.slides.length) break;
|
821 |
+
i.push(this.slides.eq(a)[0])
|
822 |
+
} else i.push(this.slides.eq(this.activeIndex)[0]);
|
823 |
+
for (t = 0; t < i.length; t += 1)
|
824 |
+
if (void 0 !== i[t]) {
|
825 |
+
var r = i[t].offsetHeight;
|
826 |
+
s = r > s ? r : s
|
827 |
+
}
|
828 |
+
s && this.$wrapperEl.css("height", s + "px")
|
829 |
+
},
|
830 |
+
updateSlidesOffset: function () {
|
831 |
+
for (var e = this.slides, t = 0; t < e.length; t += 1) e[t].swiperSlideOffset = this.isHorizontal() ? e[t].offsetLeft : e[t].offsetTop
|
832 |
+
},
|
833 |
+
updateSlidesProgress: function (e) {
|
834 |
+
void 0 === e && (e = this && this.translate || 0);
|
835 |
+
var t = this.params,
|
836 |
+
i = this.slides,
|
837 |
+
s = this.rtlTranslate;
|
838 |
+
if (0 !== i.length) {
|
839 |
+
void 0 === i[0].swiperSlideOffset && this.updateSlidesOffset();
|
840 |
+
var a = -e;
|
841 |
+
s && (a = e), i.removeClass(t.slideVisibleClass), this.visibleSlidesIndexes = [], this.visibleSlides = [];
|
842 |
+
for (var r = 0; r < i.length; r += 1) {
|
843 |
+
var o = i[r],
|
844 |
+
l = (a + (t.centeredSlides ? this.minTranslate() : 0) - o.swiperSlideOffset) / (o.swiperSlideSize + t.spaceBetween);
|
845 |
+
if (t.watchSlidesVisibility || t.centeredSlides && t.autoHeight) {
|
846 |
+
var d = -(a - o.swiperSlideOffset),
|
847 |
+
h = d + this.slidesSizesGrid[r];
|
848 |
+
(d >= 0 && d < this.size - 1 || h > 1 && h <= this.size || d <= 0 && h >= this.size) && (this.visibleSlides.push(o), this.visibleSlidesIndexes.push(r), i.eq(r).addClass(t.slideVisibleClass))
|
849 |
+
}
|
850 |
+
o.progress = s ? -l : l
|
851 |
+
}
|
852 |
+
this.visibleSlides = n(this.visibleSlides)
|
853 |
+
}
|
854 |
+
},
|
855 |
+
updateProgress: function (e) {
|
856 |
+
if (void 0 === e) {
|
857 |
+
var t = this.rtlTranslate ? -1 : 1;
|
858 |
+
e = this && this.translate && this.translate * t || 0
|
859 |
+
}
|
860 |
+
var i = this.params,
|
861 |
+
s = this.maxTranslate() - this.minTranslate(),
|
862 |
+
a = this.progress,
|
863 |
+
r = this.isBeginning,
|
864 |
+
n = this.isEnd,
|
865 |
+
o = r,
|
866 |
+
l = n;
|
867 |
+
0 === s ? (a = 0, r = !0, n = !0) : (r = (a = (e - this.minTranslate()) / s) <= 0, n = a >= 1), d.extend(this, {
|
868 |
+
progress: a,
|
869 |
+
isBeginning: r,
|
870 |
+
isEnd: n
|
871 |
+
}), (i.watchSlidesProgress || i.watchSlidesVisibility || i.centeredSlides && i.autoHeight) && this.updateSlidesProgress(e), r && !o && this.emit("reachBeginning toEdge"), n && !l && this.emit("reachEnd toEdge"), (o && !r || l && !n) && this.emit("fromEdge"), this.emit("progress", a)
|
872 |
+
},
|
873 |
+
updateSlidesClasses: function () {
|
874 |
+
var e, t = this.slides,
|
875 |
+
i = this.params,
|
876 |
+
s = this.$wrapperEl,
|
877 |
+
a = this.activeIndex,
|
878 |
+
r = this.realIndex,
|
879 |
+
n = this.virtual && i.virtual.enabled;
|
880 |
+
t.removeClass(i.slideActiveClass + " " + i.slideNextClass + " " + i.slidePrevClass + " " + i.slideDuplicateActiveClass + " " + i.slideDuplicateNextClass + " " + i.slideDuplicatePrevClass), (e = n ? this.$wrapperEl.find("." + i.slideClass + '[data-swiper-slide-index="' + a + '"]') : t.eq(a)).addClass(i.slideActiveClass), i.loop && (e.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + r + '"]').addClass(i.slideDuplicateActiveClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + r + '"]').addClass(i.slideDuplicateActiveClass));
|
881 |
+
var o = e.nextAll("." + i.slideClass).eq(0).addClass(i.slideNextClass);
|
882 |
+
i.loop && 0 === o.length && (o = t.eq(0)).addClass(i.slideNextClass);
|
883 |
+
var l = e.prevAll("." + i.slideClass).eq(0).addClass(i.slidePrevClass);
|
884 |
+
i.loop && 0 === l.length && (l = t.eq(-1)).addClass(i.slidePrevClass), i.loop && (o.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + o.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + o.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass), l.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass))
|
885 |
+
},
|
886 |
+
updateActiveIndex: function (e) {
|
887 |
+
var t, i = this.rtlTranslate ? this.translate : -this.translate,
|
888 |
+
s = this.slidesGrid,
|
889 |
+
a = this.snapGrid,
|
890 |
+
r = this.params,
|
891 |
+
n = this.activeIndex,
|
892 |
+
o = this.realIndex,
|
893 |
+
l = this.snapIndex,
|
894 |
+
h = e;
|
895 |
+
if (void 0 === h) {
|
896 |
+
for (var p = 0; p < s.length; p += 1) void 0 !== s[p + 1] ? i >= s[p] && i < s[p + 1] - (s[p + 1] - s[p]) / 2 ? h = p : i >= s[p] && i < s[p + 1] && (h = p + 1) : i >= s[p] && (h = p);
|
897 |
+
r.normalizeSlideIndex && (h < 0 || void 0 === h) && (h = 0)
|
898 |
+
}
|
899 |
+
if (a.indexOf(i) >= 0) t = a.indexOf(i);
|
900 |
+
else {
|
901 |
+
var c = Math.min(r.slidesPerGroupSkip, h);
|
902 |
+
t = c + Math.floor((h - c) / r.slidesPerGroup)
|
903 |
+
}
|
904 |
+
if (t >= a.length && (t = a.length - 1), h !== n) {
|
905 |
+
var u = parseInt(this.slides.eq(h).attr("data-swiper-slide-index") || h, 10);
|
906 |
+
d.extend(this, {
|
907 |
+
snapIndex: t,
|
908 |
+
realIndex: u,
|
909 |
+
previousIndex: n,
|
910 |
+
activeIndex: h
|
911 |
+
}), this.emit("activeIndexChange"), this.emit("snapIndexChange"), o !== u && this.emit("realIndexChange"), (this.initialized || this.params.runCallbacksOnInit) && this.emit("slideChange")
|
912 |
+
} else t !== l && (this.snapIndex = t, this.emit("snapIndexChange"))
|
913 |
+
},
|
914 |
+
updateClickedSlide: function (e) {
|
915 |
+
var t = this.params,
|
916 |
+
i = n(e.target).closest("." + t.slideClass)[0],
|
917 |
+
s = !1;
|
918 |
+
if (i)
|
919 |
+
for (var a = 0; a < this.slides.length; a += 1) this.slides[a] === i && (s = !0);
|
920 |
+
if (!i || !s) return this.clickedSlide = void 0, void(this.clickedIndex = void 0);
|
921 |
+
this.clickedSlide = i, this.virtual && this.params.virtual.enabled ? this.clickedIndex = parseInt(n(i).attr("data-swiper-slide-index"), 10) : this.clickedIndex = n(i).index(), t.slideToClickedSlide && void 0 !== this.clickedIndex && this.clickedIndex !== this.activeIndex && this.slideToClickedSlide()
|
922 |
+
}
|
923 |
+
};
|
924 |
+
var v = {
|
925 |
+
getTranslate: function (e) {
|
926 |
+
void 0 === e && (e = this.isHorizontal() ? "x" : "y");
|
927 |
+
var t = this.params,
|
928 |
+
i = this.rtlTranslate,
|
929 |
+
s = this.translate,
|
930 |
+
a = this.$wrapperEl;
|
931 |
+
if (t.virtualTranslate) return i ? -s : s;
|
932 |
+
if (t.cssMode) return s;
|
933 |
+
var r = d.getTranslate(a[0], e);
|
934 |
+
return i && (r = -r), r || 0
|
935 |
+
},
|
936 |
+
setTranslate: function (e, t) {
|
937 |
+
var i = this.rtlTranslate,
|
938 |
+
s = this.params,
|
939 |
+
a = this.$wrapperEl,
|
940 |
+
r = this.wrapperEl,
|
941 |
+
n = this.progress,
|
942 |
+
o = 0,
|
943 |
+
l = 0;
|
944 |
+
this.isHorizontal() ? o = i ? -e : e : l = e, s.roundLengths && (o = Math.floor(o), l = Math.floor(l)), s.cssMode ? r[this.isHorizontal() ? "scrollLeft" : "scrollTop"] = this.isHorizontal() ? -o : -l : s.virtualTranslate || a.transform("translate3d(" + o + "px, " + l + "px, 0px)"), this.previousTranslate = this.translate, this.translate = this.isHorizontal() ? o : l;
|
945 |
+
var d = this.maxTranslate() - this.minTranslate();
|
946 |
+
(0 === d ? 0 : (e - this.minTranslate()) / d) !== n && this.updateProgress(e), this.emit("setTranslate", this.translate, t)
|
947 |
+
},
|
948 |
+
minTranslate: function () {
|
949 |
+
return -this.snapGrid[0]
|
950 |
+
},
|
951 |
+
maxTranslate: function () {
|
952 |
+
return -this.snapGrid[this.snapGrid.length - 1]
|
953 |
+
},
|
954 |
+
translateTo: function (e, t, i, s, a) {
|
955 |
+
var r;
|
956 |
+
void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === i && (i = !0), void 0 === s && (s = !0);
|
957 |
+
var n = this,
|
958 |
+
o = n.params,
|
959 |
+
l = n.wrapperEl;
|
960 |
+
if (n.animating && o.preventInteractionOnTransition) return !1;
|
961 |
+
var d, h = n.minTranslate(),
|
962 |
+
p = n.maxTranslate();
|
963 |
+
if (d = s && e > h ? h : s && e < p ? p : e, n.updateProgress(d), o.cssMode) {
|
964 |
+
var c = n.isHorizontal();
|
965 |
+
return 0 === t ? l[c ? "scrollLeft" : "scrollTop"] = -d : l.scrollTo ? l.scrollTo(((r = {})[c ? "left" : "top"] = -d, r.behavior = "smooth", r)) : l[c ? "scrollLeft" : "scrollTop"] = -d, !0
|
966 |
+
}
|
967 |
+
return 0 === t ? (n.setTransition(0), n.setTranslate(d), i && (n.emit("beforeTransitionStart", t, a), n.emit("transitionEnd"))) : (n.setTransition(t), n.setTranslate(d), i && (n.emit("beforeTransitionStart", t, a), n.emit("transitionStart")), n.animating || (n.animating = !0, n.onTranslateToWrapperTransitionEnd || (n.onTranslateToWrapperTransitionEnd = function (e) {
|
968 |
+
n && !n.destroyed && e.target === this && (n.$wrapperEl[0].removeEventListener("transitionend", n.onTranslateToWrapperTransitionEnd), n.$wrapperEl[0].removeEventListener("webkitTransitionEnd", n.onTranslateToWrapperTransitionEnd), n.onTranslateToWrapperTransitionEnd = null, delete n.onTranslateToWrapperTransitionEnd, i && n.emit("transitionEnd"))
|
969 |
+
}), n.$wrapperEl[0].addEventListener("transitionend", n.onTranslateToWrapperTransitionEnd), n.$wrapperEl[0].addEventListener("webkitTransitionEnd", n.onTranslateToWrapperTransitionEnd))), !0
|
970 |
+
}
|
971 |
+
};
|
972 |
+
var f = {
|
973 |
+
setTransition: function (e, t) {
|
974 |
+
this.params.cssMode || this.$wrapperEl.transition(e), this.emit("setTransition", e, t)
|
975 |
+
},
|
976 |
+
transitionStart: function (e, t) {
|
977 |
+
void 0 === e && (e = !0);
|
978 |
+
var i = this.activeIndex,
|
979 |
+
s = this.params,
|
980 |
+
a = this.previousIndex;
|
981 |
+
if (!s.cssMode) {
|
982 |
+
s.autoHeight && this.updateAutoHeight();
|
983 |
+
var r = t;
|
984 |
+
if (r || (r = i > a ? "next" : i < a ? "prev" : "reset"), this.emit("transitionStart"), e && i !== a) {
|
985 |
+
if ("reset" === r) return void this.emit("slideResetTransitionStart");
|
986 |
+
this.emit("slideChangeTransitionStart"), "next" === r ? this.emit("slideNextTransitionStart") : this.emit("slidePrevTransitionStart")
|
987 |
+
}
|
988 |
+
}
|
989 |
+
},
|
990 |
+
transitionEnd: function (e, t) {
|
991 |
+
void 0 === e && (e = !0);
|
992 |
+
var i = this.activeIndex,
|
993 |
+
s = this.previousIndex,
|
994 |
+
a = this.params;
|
995 |
+
if (this.animating = !1, !a.cssMode) {
|
996 |
+
this.setTransition(0);
|
997 |
+
var r = t;
|
998 |
+
if (r || (r = i > s ? "next" : i < s ? "prev" : "reset"), this.emit("transitionEnd"), e && i !== s) {
|
999 |
+
if ("reset" === r) return void this.emit("slideResetTransitionEnd");
|
1000 |
+
this.emit("slideChangeTransitionEnd"), "next" === r ? this.emit("slideNextTransitionEnd") : this.emit("slidePrevTransitionEnd")
|
1001 |
+
}
|
1002 |
+
}
|
1003 |
+
}
|
1004 |
+
};
|
1005 |
+
var m = {
|
1006 |
+
slideTo: function (e, t, i, s) {
|
1007 |
+
var a;
|
1008 |
+
void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === i && (i = !0);
|
1009 |
+
var r = this,
|
1010 |
+
n = e;
|
1011 |
+
n < 0 && (n = 0);
|
1012 |
+
var o = r.params,
|
1013 |
+
l = r.snapGrid,
|
1014 |
+
d = r.slidesGrid,
|
1015 |
+
h = r.previousIndex,
|
1016 |
+
p = r.activeIndex,
|
1017 |
+
c = r.rtlTranslate,
|
1018 |
+
u = r.wrapperEl;
|
1019 |
+
if (r.animating && o.preventInteractionOnTransition) return !1;
|
1020 |
+
var v = Math.min(r.params.slidesPerGroupSkip, n),
|
1021 |
+
f = v + Math.floor((n - v) / r.params.slidesPerGroup);
|
1022 |
+
f >= l.length && (f = l.length - 1), (p || o.initialSlide || 0) === (h || 0) && i && r.emit("beforeSlideChangeStart");
|
1023 |
+
var m, g = -l[f];
|
1024 |
+
if (r.updateProgress(g), o.normalizeSlideIndex)
|
1025 |
+
for (var b = 0; b < d.length; b += 1) - Math.floor(100 * g) >= Math.floor(100 * d[b]) && (n = b);
|
1026 |
+
if (r.initialized && n !== p) {
|
1027 |
+
if (!r.allowSlideNext && g < r.translate && g < r.minTranslate()) return !1;
|
1028 |
+
if (!r.allowSlidePrev && g > r.translate && g > r.maxTranslate() && (p || 0) !== n) return !1
|
1029 |
+
}
|
1030 |
+
if (m = n > p ? "next" : n < p ? "prev" : "reset", c && -g === r.translate || !c && g === r.translate) return r.updateActiveIndex(n), o.autoHeight && r.updateAutoHeight(), r.updateSlidesClasses(), "slide" !== o.effect && r.setTranslate(g), "reset" !== m && (r.transitionStart(i, m), r.transitionEnd(i, m)), !1;
|
1031 |
+
if (o.cssMode) {
|
1032 |
+
var w = r.isHorizontal(),
|
1033 |
+
y = -g;
|
1034 |
+
return c && (y = u.scrollWidth - u.offsetWidth - y), 0 === t ? u[w ? "scrollLeft" : "scrollTop"] = y : u.scrollTo ? u.scrollTo(((a = {})[w ? "left" : "top"] = y, a.behavior = "smooth", a)) : u[w ? "scrollLeft" : "scrollTop"] = y, !0
|
1035 |
+
}
|
1036 |
+
return 0 === t ? (r.setTransition(0), r.setTranslate(g), r.updateActiveIndex(n), r.updateSlidesClasses(), r.emit("beforeTransitionStart", t, s), r.transitionStart(i, m), r.transitionEnd(i, m)) : (r.setTransition(t), r.setTranslate(g), r.updateActiveIndex(n), r.updateSlidesClasses(), r.emit("beforeTransitionStart", t, s), r.transitionStart(i, m), r.animating || (r.animating = !0, r.onSlideToWrapperTransitionEnd || (r.onSlideToWrapperTransitionEnd = function (e) {
|
1037 |
+
r && !r.destroyed && e.target === this && (r.$wrapperEl[0].removeEventListener("transitionend", r.onSlideToWrapperTransitionEnd), r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd), r.onSlideToWrapperTransitionEnd = null, delete r.onSlideToWrapperTransitionEnd, r.transitionEnd(i, m))
|
1038 |
+
}), r.$wrapperEl[0].addEventListener("transitionend", r.onSlideToWrapperTransitionEnd), r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd))), !0
|
1039 |
+
},
|
1040 |
+
slideToLoop: function (e, t, i, s) {
|
1041 |
+
void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === i && (i = !0);
|
1042 |
+
var a = e;
|
1043 |
+
return this.params.loop && (a += this.loopedSlides), this.slideTo(a, t, i, s)
|
1044 |
+
},
|
1045 |
+
slideNext: function (e, t, i) {
|
1046 |
+
void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
|
1047 |
+
var s = this.params,
|
1048 |
+
a = this.animating,
|
1049 |
+
r = this.activeIndex < s.slidesPerGroupSkip ? 1 : s.slidesPerGroup;
|
1050 |
+
if (s.loop) {
|
1051 |
+
if (a) return !1;
|
1052 |
+
this.loopFix(), this._clientLeft = this.$wrapperEl[0].clientLeft
|
1053 |
+
}
|
1054 |
+
return this.slideTo(this.activeIndex + r, e, t, i)
|
1055 |
+
},
|
1056 |
+
slidePrev: function (e, t, i) {
|
1057 |
+
void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
|
1058 |
+
var s = this.params,
|
1059 |
+
a = this.animating,
|
1060 |
+
r = this.snapGrid,
|
1061 |
+
n = this.slidesGrid,
|
1062 |
+
o = this.rtlTranslate;
|
1063 |
+
if (s.loop) {
|
1064 |
+
if (a) return !1;
|
1065 |
+
this.loopFix(), this._clientLeft = this.$wrapperEl[0].clientLeft
|
1066 |
+
}
|
1067 |
+
|
1068 |
+
function l(e) {
|
1069 |
+
return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e)
|
1070 |
+
}
|
1071 |
+
var d, h = l(o ? this.translate : -this.translate),
|
1072 |
+
p = r.map((function (e) {
|
1073 |
+
return l(e)
|
1074 |
+
})),
|
1075 |
+
c = (n.map((function (e) {
|
1076 |
+
return l(e)
|
1077 |
+
})), r[p.indexOf(h)], r[p.indexOf(h) - 1]);
|
1078 |
+
return void 0 === c && s.cssMode && r.forEach((function (e) {
|
1079 |
+
!c && h >= e && (c = e)
|
1080 |
+
})), void 0 !== c && (d = n.indexOf(c)) < 0 && (d = this.activeIndex - 1), this.slideTo(d, e, t, i)
|
1081 |
+
},
|
1082 |
+
slideReset: function (e, t, i) {
|
1083 |
+
return void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), this.slideTo(this.activeIndex, e, t, i)
|
1084 |
+
},
|
1085 |
+
slideToClosest: function (e, t, i, s) {
|
1086 |
+
void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), void 0 === s && (s = .5);
|
1087 |
+
var a = this.activeIndex,
|
1088 |
+
r = Math.min(this.params.slidesPerGroupSkip, a),
|
1089 |
+
n = r + Math.floor((a - r) / this.params.slidesPerGroup),
|
1090 |
+
o = this.rtlTranslate ? this.translate : -this.translate;
|
1091 |
+
if (o >= this.snapGrid[n]) {
|
1092 |
+
var l = this.snapGrid[n];
|
1093 |
+
o - l > (this.snapGrid[n + 1] - l) * s && (a += this.params.slidesPerGroup)
|
1094 |
+
} else {
|
1095 |
+
var d = this.snapGrid[n - 1];
|
1096 |
+
o - d <= (this.snapGrid[n] - d) * s && (a -= this.params.slidesPerGroup)
|
1097 |
+
}
|
1098 |
+
return a = Math.max(a, 0), a = Math.min(a, this.slidesGrid.length - 1), this.slideTo(a, e, t, i)
|
1099 |
+
},
|
1100 |
+
slideToClickedSlide: function () {
|
1101 |
+
var e, t = this,
|
1102 |
+
i = t.params,
|
1103 |
+
s = t.$wrapperEl,
|
1104 |
+
a = "auto" === i.slidesPerView ? t.slidesPerViewDynamic() : i.slidesPerView,
|
1105 |
+
r = t.clickedIndex;
|
1106 |
+
if (i.loop) {
|
1107 |
+
if (t.animating) return;
|
1108 |
+
e = parseInt(n(t.clickedSlide).attr("data-swiper-slide-index"), 10), i.centeredSlides ? r < t.loopedSlides - a / 2 || r > t.slides.length - t.loopedSlides + a / 2 ? (t.loopFix(), r = s.children("." + i.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + i.slideDuplicateClass + ")").eq(0).index(), d.nextTick((function () {
|
1109 |
+
t.slideTo(r)
|
1110 |
+
}))) : t.slideTo(r) : r > t.slides.length - a ? (t.loopFix(), r = s.children("." + i.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + i.slideDuplicateClass + ")").eq(0).index(), d.nextTick((function () {
|
1111 |
+
t.slideTo(r)
|
1112 |
+
}))) : t.slideTo(r)
|
1113 |
+
} else t.slideTo(r)
|
1114 |
+
}
|
1115 |
+
};
|
1116 |
+
var g = {
|
1117 |
+
loopCreate: function () {
|
1118 |
+
var e = this,
|
1119 |
+
t = e.params,
|
1120 |
+
s = e.$wrapperEl;
|
1121 |
+
s.children("." + t.slideClass + "." + t.slideDuplicateClass).remove();
|
1122 |
+
var a = s.children("." + t.slideClass);
|
1123 |
+
if (t.loopFillGroupWithBlank) {
|
1124 |
+
var r = t.slidesPerGroup - a.length % t.slidesPerGroup;
|
1125 |
+
if (r !== t.slidesPerGroup) {
|
1126 |
+
for (var o = 0; o < r; o += 1) {
|
1127 |
+
var l = n(i.createElement("div")).addClass(t.slideClass + " " + t.slideBlankClass);
|
1128 |
+
s.append(l)
|
1129 |
+
}
|
1130 |
+
a = s.children("." + t.slideClass)
|
1131 |
+
}
|
1132 |
+
}
|
1133 |
+
"auto" !== t.slidesPerView || t.loopedSlides || (t.loopedSlides = a.length), e.loopedSlides = Math.ceil(parseFloat(t.loopedSlides || t.slidesPerView, 10)), e.loopedSlides += t.loopAdditionalSlides, e.loopedSlides > a.length && (e.loopedSlides = a.length);
|
1134 |
+
var d = [],
|
1135 |
+
h = [];
|
1136 |
+
a.each((function (t, i) {
|
1137 |
+
var s = n(i);
|
1138 |
+
t < e.loopedSlides && h.push(i), t < a.length && t >= a.length - e.loopedSlides && d.push(i), s.attr("data-swiper-slide-index", t)
|
1139 |
+
}));
|
1140 |
+
for (var p = 0; p < h.length; p += 1) s.append(n(h[p].cloneNode(!0)).addClass(t.slideDuplicateClass));
|
1141 |
+
for (var c = d.length - 1; c >= 0; c -= 1) s.prepend(n(d[c].cloneNode(!0)).addClass(t.slideDuplicateClass))
|
1142 |
+
},
|
1143 |
+
loopFix: function () {
|
1144 |
+
this.emit("beforeLoopFix");
|
1145 |
+
var e, t = this.activeIndex,
|
1146 |
+
i = this.slides,
|
1147 |
+
s = this.loopedSlides,
|
1148 |
+
a = this.allowSlidePrev,
|
1149 |
+
r = this.allowSlideNext,
|
1150 |
+
n = this.snapGrid,
|
1151 |
+
o = this.rtlTranslate;
|
1152 |
+
this.allowSlidePrev = !0, this.allowSlideNext = !0;
|
1153 |
+
var l = -n[t] - this.getTranslate();
|
1154 |
+
if (t < s) e = i.length - 3 * s + t, e += s, this.slideTo(e, 0, !1, !0) && 0 !== l && this.setTranslate((o ? -this.translate : this.translate) - l);
|
1155 |
+
else if (t >= i.length - s) {
|
1156 |
+
e = -i.length + t + s, e += s, this.slideTo(e, 0, !1, !0) && 0 !== l && this.setTranslate((o ? -this.translate : this.translate) - l)
|
1157 |
+
}
|
1158 |
+
this.allowSlidePrev = a, this.allowSlideNext = r, this.emit("loopFix")
|
1159 |
+
},
|
1160 |
+
loopDestroy: function () {
|
1161 |
+
var e = this.$wrapperEl,
|
1162 |
+
t = this.params,
|
1163 |
+
i = this.slides;
|
1164 |
+
e.children("." + t.slideClass + "." + t.slideDuplicateClass + ",." + t.slideClass + "." + t.slideBlankClass).remove(), i.removeAttr("data-swiper-slide-index")
|
1165 |
+
}
|
1166 |
+
};
|
1167 |
+
var b = {
|
1168 |
+
setGrabCursor: function (e) {
|
1169 |
+
if (!(h.touch || !this.params.simulateTouch || this.params.watchOverflow && this.isLocked || this.params.cssMode)) {
|
1170 |
+
var t = this.el;
|
1171 |
+
t.style.cursor = "move", t.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab", t.style.cursor = e ? "-moz-grabbin" : "-moz-grab", t.style.cursor = e ? "grabbing" : "grab"
|
1172 |
+
}
|
1173 |
+
},
|
1174 |
+
unsetGrabCursor: function () {
|
1175 |
+
h.touch || this.params.watchOverflow && this.isLocked || this.params.cssMode || (this.el.style.cursor = "")
|
1176 |
+
}
|
1177 |
+
};
|
1178 |
+
var w, y, x, E, T, S, C, M, P, z, k, $, L, I, D, O = {
|
1179 |
+
appendSlide: function (e) {
|
1180 |
+
var t = this.$wrapperEl,
|
1181 |
+
i = this.params;
|
1182 |
+
if (i.loop && this.loopDestroy(), "object" == typeof e && "length" in e)
|
1183 |
+
for (var s = 0; s < e.length; s += 1) e[s] && t.append(e[s]);
|
1184 |
+
else t.append(e);
|
1185 |
+
i.loop && this.loopCreate(), i.observer && h.observer || this.update()
|
1186 |
+
},
|
1187 |
+
prependSlide: function (e) {
|
1188 |
+
var t = this.params,
|
1189 |
+
i = this.$wrapperEl,
|
1190 |
+
s = this.activeIndex;
|
1191 |
+
t.loop && this.loopDestroy();
|
1192 |
+
var a = s + 1;
|
1193 |
+
if ("object" == typeof e && "length" in e) {
|
1194 |
+
for (var r = 0; r < e.length; r += 1) e[r] && i.prepend(e[r]);
|
1195 |
+
a = s + e.length
|
1196 |
+
} else i.prepend(e);
|
1197 |
+
t.loop && this.loopCreate(), t.observer && h.observer || this.update(), this.slideTo(a, 0, !1)
|
1198 |
+
},
|
1199 |
+
addSlide: function (e, t) {
|
1200 |
+
var i = this.$wrapperEl,
|
1201 |
+
s = this.params,
|
1202 |
+
a = this.activeIndex;
|
1203 |
+
s.loop && (a -= this.loopedSlides, this.loopDestroy(), this.slides = i.children("." + s.slideClass));
|
1204 |
+
var r = this.slides.length;
|
1205 |
+
if (e <= 0) this.prependSlide(t);
|
1206 |
+
else if (e >= r) this.appendSlide(t);
|
1207 |
+
else {
|
1208 |
+
for (var n = a > e ? a + 1 : a, o = [], l = r - 1; l >= e; l -= 1) {
|
1209 |
+
var d = this.slides.eq(l);
|
1210 |
+
d.remove(), o.unshift(d)
|
1211 |
+
}
|
1212 |
+
if ("object" == typeof t && "length" in t) {
|
1213 |
+
for (var p = 0; p < t.length; p += 1) t[p] && i.append(t[p]);
|
1214 |
+
n = a > e ? a + t.length : a
|
1215 |
+
} else i.append(t);
|
1216 |
+
for (var c = 0; c < o.length; c += 1) i.append(o[c]);
|
1217 |
+
s.loop && this.loopCreate(), s.observer && h.observer || this.update(), s.loop ? this.slideTo(n + this.loopedSlides, 0, !1) : this.slideTo(n, 0, !1)
|
1218 |
+
}
|
1219 |
+
},
|
1220 |
+
removeSlide: function (e) {
|
1221 |
+
var t = this.params,
|
1222 |
+
i = this.$wrapperEl,
|
1223 |
+
s = this.activeIndex;
|
1224 |
+
t.loop && (s -= this.loopedSlides, this.loopDestroy(), this.slides = i.children("." + t.slideClass));
|
1225 |
+
var a, r = s;
|
1226 |
+
if ("object" == typeof e && "length" in e) {
|
1227 |
+
for (var n = 0; n < e.length; n += 1) a = e[n], this.slides[a] && this.slides.eq(a).remove(), a < r && (r -= 1);
|
1228 |
+
r = Math.max(r, 0)
|
1229 |
+
} else a = e, this.slides[a] && this.slides.eq(a).remove(), a < r && (r -= 1), r = Math.max(r, 0);
|
1230 |
+
t.loop && this.loopCreate(), t.observer && h.observer || this.update(), t.loop ? this.slideTo(r + this.loopedSlides, 0, !1) : this.slideTo(r, 0, !1)
|
1231 |
+
},
|
1232 |
+
removeAllSlides: function () {
|
1233 |
+
for (var e = [], t = 0; t < this.slides.length; t += 1) e.push(t);
|
1234 |
+
this.removeSlide(e)
|
1235 |
+
}
|
1236 |
+
},
|
1237 |
+
A = (w = a.navigator.platform, y = a.navigator.userAgent, x = {
|
1238 |
+
ios: !1,
|
1239 |
+
android: !1,
|
1240 |
+
androidChrome: !1,
|
1241 |
+
desktop: !1,
|
1242 |
+
iphone: !1,
|
1243 |
+
ipod: !1,
|
1244 |
+
ipad: !1,
|
1245 |
+
edge: !1,
|
1246 |
+
ie: !1,
|
1247 |
+
firefox: !1,
|
1248 |
+
macos: !1,
|
1249 |
+
windows: !1,
|
1250 |
+
cordova: !(!a.cordova && !a.phonegap),
|
1251 |
+
phonegap: !(!a.cordova && !a.phonegap),
|
1252 |
+
electron: !1
|
1253 |
+
}, E = a.screen.width, T = a.screen.height, S = y.match(/(Android);?[\s\/]+([\d.]+)?/), C = y.match(/(iPad).*OS\s([\d_]+)/), M = y.match(/(iPod)(.*OS\s([\d_]+))?/), P = !C && y.match(/(iPhone\sOS|iOS)\s([\d_]+)/), z = y.indexOf("MSIE ") >= 0 || y.indexOf("Trident/") >= 0, k = y.indexOf("Edge/") >= 0, $ = y.indexOf("Gecko/") >= 0 && y.indexOf("Firefox/") >= 0, L = "Win32" === w, I = y.toLowerCase().indexOf("electron") >= 0, D = "MacIntel" === w, !C && D && h.touch && (1024 === E && 1366 === T || 834 === E && 1194 === T || 834 === E && 1112 === T || 768 === E && 1024 === T) && (C = y.match(/(Version)\/([\d.]+)/), D = !1), x.ie = z, x.edge = k, x.firefox = $, S && !L && (x.os = "android", x.osVersion = S[2], x.android = !0, x.androidChrome = y.toLowerCase().indexOf("chrome") >= 0), (C || P || M) && (x.os = "ios", x.ios = !0), P && !M && (x.osVersion = P[2].replace(/_/g, "."), x.iphone = !0), C && (x.osVersion = C[2].replace(/_/g, "."), x.ipad = !0), M && (x.osVersion = M[3] ? M[3].replace(/_/g, ".") : null, x.ipod = !0), x.ios && x.osVersion && y.indexOf("Version/") >= 0 && "10" === x.osVersion.split(".")[0] && (x.osVersion = y.toLowerCase().split("version/")[1].split(" ")[0]), x.webView = !(!(P || C || M) || !y.match(/.*AppleWebKit(?!.*Safari)/i) && !a.navigator.standalone) || a.matchMedia && a.matchMedia("(display-mode: standalone)").matches, x.webview = x.webView, x.standalone = x.webView, x.desktop = !(x.ios || x.android) || I, x.desktop && (x.electron = I, x.macos = D, x.windows = L, x.macos && (x.os = "macos"), x.windows && (x.os = "windows")), x.pixelRatio = a.devicePixelRatio || 1, x);
|
1254 |
+
|
1255 |
+
function G(e) {
|
1256 |
+
var t = this.touchEventsData,
|
1257 |
+
s = this.params,
|
1258 |
+
r = this.touches;
|
1259 |
+
if (!this.animating || !s.preventInteractionOnTransition) {
|
1260 |
+
var o = e;
|
1261 |
+
o.originalEvent && (o = o.originalEvent);
|
1262 |
+
var l = n(o.target);
|
1263 |
+
if (("wrapper" !== s.touchEventsTarget || l.closest(this.wrapperEl).length) && (t.isTouchEvent = "touchstart" === o.type, (t.isTouchEvent || !("which" in o) || 3 !== o.which) && !(!t.isTouchEvent && "button" in o && o.button > 0 || t.isTouched && t.isMoved)))
|
1264 |
+
if (s.noSwiping && l.closest(s.noSwipingSelector ? s.noSwipingSelector : "." + s.noSwipingClass)[0]) this.allowClick = !0;
|
1265 |
+
else if (!s.swipeHandler || l.closest(s.swipeHandler)[0]) {
|
1266 |
+
r.currentX = "touchstart" === o.type ? o.targetTouches[0].pageX : o.pageX, r.currentY = "touchstart" === o.type ? o.targetTouches[0].pageY : o.pageY;
|
1267 |
+
var h = r.currentX,
|
1268 |
+
p = r.currentY,
|
1269 |
+
c = s.edgeSwipeDetection || s.iOSEdgeSwipeDetection,
|
1270 |
+
u = s.edgeSwipeThreshold || s.iOSEdgeSwipeThreshold;
|
1271 |
+
if (!c || !(h <= u || h >= a.screen.width - u)) {
|
1272 |
+
if (d.extend(t, {
|
1273 |
+
isTouched: !0,
|
1274 |
+
isMoved: !1,
|
1275 |
+
allowTouchCallbacks: !0,
|
1276 |
+
isScrolling: void 0,
|
1277 |
+
startMoving: void 0
|
1278 |
+
}), r.startX = h, r.startY = p, t.touchStartTime = d.now(), this.allowClick = !0, this.updateSize(), this.swipeDirection = void 0, s.threshold > 0 && (t.allowThresholdMove = !1), "touchstart" !== o.type) {
|
1279 |
+
var v = !0;
|
1280 |
+
l.is(t.formElements) && (v = !1), i.activeElement && n(i.activeElement).is(t.formElements) && i.activeElement !== l[0] && i.activeElement.blur();
|
1281 |
+
var f = v && this.allowTouchMove && s.touchStartPreventDefault;
|
1282 |
+
(s.touchStartForcePreventDefault || f) && o.preventDefault()
|
1283 |
+
}
|
1284 |
+
this.emit("touchStart", o)
|
1285 |
+
}
|
1286 |
+
}
|
1287 |
+
}
|
1288 |
+
}
|
1289 |
+
|
1290 |
+
function H(e) {
|
1291 |
+
var t = this.touchEventsData,
|
1292 |
+
s = this.params,
|
1293 |
+
a = this.touches,
|
1294 |
+
r = this.rtlTranslate,
|
1295 |
+
o = e;
|
1296 |
+
if (o.originalEvent && (o = o.originalEvent), t.isTouched) {
|
1297 |
+
if (!t.isTouchEvent || "touchmove" === o.type) {
|
1298 |
+
var l = "touchmove" === o.type && o.targetTouches && (o.targetTouches[0] || o.changedTouches[0]),
|
1299 |
+
h = "touchmove" === o.type ? l.pageX : o.pageX,
|
1300 |
+
p = "touchmove" === o.type ? l.pageY : o.pageY;
|
1301 |
+
if (o.preventedByNestedSwiper) return a.startX = h, void(a.startY = p);
|
1302 |
+
if (!this.allowTouchMove) return this.allowClick = !1, void(t.isTouched && (d.extend(a, {
|
1303 |
+
startX: h,
|
1304 |
+
startY: p,
|
1305 |
+
currentX: h,
|
1306 |
+
currentY: p
|
1307 |
+
}), t.touchStartTime = d.now()));
|
1308 |
+
if (t.isTouchEvent && s.touchReleaseOnEdges && !s.loop)
|
1309 |
+
if (this.isVertical()) {
|
1310 |
+
if (p < a.startY && this.translate <= this.maxTranslate() || p > a.startY && this.translate >= this.minTranslate()) return t.isTouched = !1, void(t.isMoved = !1)
|
1311 |
+
} else if (h < a.startX && this.translate <= this.maxTranslate() || h > a.startX && this.translate >= this.minTranslate()) return;
|
1312 |
+
if (t.isTouchEvent && i.activeElement && o.target === i.activeElement && n(o.target).is(t.formElements)) return t.isMoved = !0, void(this.allowClick = !1);
|
1313 |
+
if (t.allowTouchCallbacks && this.emit("touchMove", o), !(o.targetTouches && o.targetTouches.length > 1)) {
|
1314 |
+
a.currentX = h, a.currentY = p;
|
1315 |
+
var c = a.currentX - a.startX,
|
1316 |
+
u = a.currentY - a.startY;
|
1317 |
+
if (!(this.params.threshold && Math.sqrt(Math.pow(c, 2) + Math.pow(u, 2)) < this.params.threshold)) {
|
1318 |
+
var v;
|
1319 |
+
if (void 0 === t.isScrolling) this.isHorizontal() && a.currentY === a.startY || this.isVertical() && a.currentX === a.startX ? t.isScrolling = !1 : c * c + u * u >= 25 && (v = 180 * Math.atan2(Math.abs(u), Math.abs(c)) / Math.PI, t.isScrolling = this.isHorizontal() ? v > s.touchAngle : 90 - v > s.touchAngle);
|
1320 |
+
if (t.isScrolling && this.emit("touchMoveOpposite", o), void 0 === t.startMoving && (a.currentX === a.startX && a.currentY === a.startY || (t.startMoving = !0)), t.isScrolling) t.isTouched = !1;
|
1321 |
+
else if (t.startMoving) {
|
1322 |
+
this.allowClick = !1, !s.cssMode && o.cancelable && o.preventDefault(), s.touchMoveStopPropagation && !s.nested && o.stopPropagation(), t.isMoved || (s.loop && this.loopFix(), t.startTranslate = this.getTranslate(), this.setTransition(0), this.animating && this.$wrapperEl.trigger("webkitTransitionEnd transitionend"), t.allowMomentumBounce = !1, !s.grabCursor || !0 !== this.allowSlideNext && !0 !== this.allowSlidePrev || this.setGrabCursor(!0), this.emit("sliderFirstMove", o)), this.emit("sliderMove", o), t.isMoved = !0;
|
1323 |
+
var f = this.isHorizontal() ? c : u;
|
1324 |
+
a.diff = f, f *= s.touchRatio, r && (f = -f), this.swipeDirection = f > 0 ? "prev" : "next", t.currentTranslate = f + t.startTranslate;
|
1325 |
+
var m = !0,
|
1326 |
+
g = s.resistanceRatio;
|
1327 |
+
if (s.touchReleaseOnEdges && (g = 0), f > 0 && t.currentTranslate > this.minTranslate() ? (m = !1, s.resistance && (t.currentTranslate = this.minTranslate() - 1 + Math.pow(-this.minTranslate() + t.startTranslate + f, g))) : f < 0 && t.currentTranslate < this.maxTranslate() && (m = !1, s.resistance && (t.currentTranslate = this.maxTranslate() + 1 - Math.pow(this.maxTranslate() - t.startTranslate - f, g))), m && (o.preventedByNestedSwiper = !0), !this.allowSlideNext && "next" === this.swipeDirection && t.currentTranslate < t.startTranslate && (t.currentTranslate = t.startTranslate), !this.allowSlidePrev && "prev" === this.swipeDirection && t.currentTranslate > t.startTranslate && (t.currentTranslate = t.startTranslate), s.threshold > 0) {
|
1328 |
+
if (!(Math.abs(f) > s.threshold || t.allowThresholdMove)) return void(t.currentTranslate = t.startTranslate);
|
1329 |
+
if (!t.allowThresholdMove) return t.allowThresholdMove = !0, a.startX = a.currentX, a.startY = a.currentY, t.currentTranslate = t.startTranslate, void(a.diff = this.isHorizontal() ? a.currentX - a.startX : a.currentY - a.startY)
|
1330 |
+
}
|
1331 |
+
s.followFinger && !s.cssMode && ((s.freeMode || s.watchSlidesProgress || s.watchSlidesVisibility) && (this.updateActiveIndex(), this.updateSlidesClasses()), s.freeMode && (0 === t.velocities.length && t.velocities.push({
|
1332 |
+
position: a[this.isHorizontal() ? "startX" : "startY"],
|
1333 |
+
time: t.touchStartTime
|
1334 |
+
}), t.velocities.push({
|
1335 |
+
position: a[this.isHorizontal() ? "currentX" : "currentY"],
|
1336 |
+
time: d.now()
|
1337 |
+
})), this.updateProgress(t.currentTranslate), this.setTranslate(t.currentTranslate))
|
1338 |
+
}
|
1339 |
+
}
|
1340 |
+
}
|
1341 |
+
}
|
1342 |
+
} else t.startMoving && t.isScrolling && this.emit("touchMoveOpposite", o)
|
1343 |
+
}
|
1344 |
+
|
1345 |
+
function B(e) {
|
1346 |
+
var t = this,
|
1347 |
+
i = t.touchEventsData,
|
1348 |
+
s = t.params,
|
1349 |
+
a = t.touches,
|
1350 |
+
r = t.rtlTranslate,
|
1351 |
+
n = t.$wrapperEl,
|
1352 |
+
o = t.slidesGrid,
|
1353 |
+
l = t.snapGrid,
|
1354 |
+
h = e;
|
1355 |
+
if (h.originalEvent && (h = h.originalEvent), i.allowTouchCallbacks && t.emit("touchEnd", h), i.allowTouchCallbacks = !1, !i.isTouched) return i.isMoved && s.grabCursor && t.setGrabCursor(!1), i.isMoved = !1, void(i.startMoving = !1);
|
1356 |
+
s.grabCursor && i.isMoved && i.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1);
|
1357 |
+
var p, c = d.now(),
|
1358 |
+
u = c - i.touchStartTime;
|
1359 |
+
if (t.allowClick && (t.updateClickedSlide(h), t.emit("tap click", h), u < 300 && c - i.lastClickTime < 300 && t.emit("doubleTap doubleClick", h)), i.lastClickTime = d.now(), d.nextTick((function () {
|
1360 |
+
t.destroyed || (t.allowClick = !0)
|
1361 |
+
})), !i.isTouched || !i.isMoved || !t.swipeDirection || 0 === a.diff || i.currentTranslate === i.startTranslate) return i.isTouched = !1, i.isMoved = !1, void(i.startMoving = !1);
|
1362 |
+
if (i.isTouched = !1, i.isMoved = !1, i.startMoving = !1, p = s.followFinger ? r ? t.translate : -t.translate : -i.currentTranslate, !s.cssMode)
|
1363 |
+
if (s.freeMode) {
|
1364 |
+
if (p < -t.minTranslate()) return void t.slideTo(t.activeIndex);
|
1365 |
+
if (p > -t.maxTranslate()) return void(t.slides.length < l.length ? t.slideTo(l.length - 1) : t.slideTo(t.slides.length - 1));
|
1366 |
+
if (s.freeModeMomentum) {
|
1367 |
+
if (i.velocities.length > 1) {
|
1368 |
+
var v = i.velocities.pop(),
|
1369 |
+
f = i.velocities.pop(),
|
1370 |
+
m = v.position - f.position,
|
1371 |
+
g = v.time - f.time;
|
1372 |
+
t.velocity = m / g, t.velocity /= 2, Math.abs(t.velocity) < s.freeModeMinimumVelocity && (t.velocity = 0), (g > 150 || d.now() - v.time > 300) && (t.velocity = 0)
|
1373 |
+
} else t.velocity = 0;
|
1374 |
+
t.velocity *= s.freeModeMomentumVelocityRatio, i.velocities.length = 0;
|
1375 |
+
var b = 1e3 * s.freeModeMomentumRatio,
|
1376 |
+
w = t.velocity * b,
|
1377 |
+
y = t.translate + w;
|
1378 |
+
r && (y = -y);
|
1379 |
+
var x, E, T = !1,
|
1380 |
+
S = 20 * Math.abs(t.velocity) * s.freeModeMomentumBounceRatio;
|
1381 |
+
if (y < t.maxTranslate()) s.freeModeMomentumBounce ? (y + t.maxTranslate() < -S && (y = t.maxTranslate() - S), x = t.maxTranslate(), T = !0, i.allowMomentumBounce = !0) : y = t.maxTranslate(), s.loop && s.centeredSlides && (E = !0);
|
1382 |
+
else if (y > t.minTranslate()) s.freeModeMomentumBounce ? (y - t.minTranslate() > S && (y = t.minTranslate() + S), x = t.minTranslate(), T = !0, i.allowMomentumBounce = !0) : y = t.minTranslate(), s.loop && s.centeredSlides && (E = !0);
|
1383 |
+
else if (s.freeModeSticky) {
|
1384 |
+
for (var C, M = 0; M < l.length; M += 1)
|
1385 |
+
if (l[M] > -y) {
|
1386 |
+
C = M;
|
1387 |
+
break
|
1388 |
+
}
|
1389 |
+
y = -(y = Math.abs(l[C] - y) < Math.abs(l[C - 1] - y) || "next" === t.swipeDirection ? l[C] : l[C - 1])
|
1390 |
+
}
|
1391 |
+
if (E && t.once("transitionEnd", (function () {
|
1392 |
+
t.loopFix()
|
1393 |
+
})), 0 !== t.velocity) {
|
1394 |
+
if (b = r ? Math.abs((-y - t.translate) / t.velocity) : Math.abs((y - t.translate) / t.velocity), s.freeModeSticky) {
|
1395 |
+
var P = Math.abs((r ? -y : y) - t.translate),
|
1396 |
+
z = t.slidesSizesGrid[t.activeIndex];
|
1397 |
+
b = P < z ? s.speed : P < 2 * z ? 1.5 * s.speed : 2.5 * s.speed
|
1398 |
+
}
|
1399 |
+
} else if (s.freeModeSticky) return void t.slideToClosest();
|
1400 |
+
s.freeModeMomentumBounce && T ? (t.updateProgress(x), t.setTransition(b), t.setTranslate(y), t.transitionStart(!0, t.swipeDirection), t.animating = !0, n.transitionEnd((function () {
|
1401 |
+
t && !t.destroyed && i.allowMomentumBounce && (t.emit("momentumBounce"), t.setTransition(s.speed), setTimeout((function () {
|
1402 |
+
t.setTranslate(x), n.transitionEnd((function () {
|
1403 |
+
t && !t.destroyed && t.transitionEnd()
|
1404 |
+
}))
|
1405 |
+
}), 0))
|
1406 |
+
}))) : t.velocity ? (t.updateProgress(y), t.setTransition(b), t.setTranslate(y), t.transitionStart(!0, t.swipeDirection), t.animating || (t.animating = !0, n.transitionEnd((function () {
|
1407 |
+
t && !t.destroyed && t.transitionEnd()
|
1408 |
+
})))) : t.updateProgress(y), t.updateActiveIndex(), t.updateSlidesClasses()
|
1409 |
+
} else if (s.freeModeSticky) return void t.slideToClosest();
|
1410 |
+
(!s.freeModeMomentum || u >= s.longSwipesMs) && (t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses())
|
1411 |
+
} else {
|
1412 |
+
for (var k = 0, $ = t.slidesSizesGrid[0], L = 0; L < o.length; L += L < s.slidesPerGroupSkip ? 1 : s.slidesPerGroup) {
|
1413 |
+
var I = L < s.slidesPerGroupSkip - 1 ? 1 : s.slidesPerGroup;
|
1414 |
+
void 0 !== o[L + I] ? p >= o[L] && p < o[L + I] && (k = L, $ = o[L + I] - o[L]) : p >= o[L] && (k = L, $ = o[o.length - 1] - o[o.length - 2])
|
1415 |
+
}
|
1416 |
+
var D = (p - o[k]) / $,
|
1417 |
+
O = k < s.slidesPerGroupSkip - 1 ? 1 : s.slidesPerGroup;
|
1418 |
+
if (u > s.longSwipesMs) {
|
1419 |
+
if (!s.longSwipes) return void t.slideTo(t.activeIndex);
|
1420 |
+
"next" === t.swipeDirection && (D >= s.longSwipesRatio ? t.slideTo(k + O) : t.slideTo(k)), "prev" === t.swipeDirection && (D > 1 - s.longSwipesRatio ? t.slideTo(k + O) : t.slideTo(k))
|
1421 |
+
} else {
|
1422 |
+
if (!s.shortSwipes) return void t.slideTo(t.activeIndex);
|
1423 |
+
t.navigation && (h.target === t.navigation.nextEl || h.target === t.navigation.prevEl) ? h.target === t.navigation.nextEl ? t.slideTo(k + O) : t.slideTo(k) : ("next" === t.swipeDirection && t.slideTo(k + O), "prev" === t.swipeDirection && t.slideTo(k))
|
1424 |
+
}
|
1425 |
+
}
|
1426 |
+
}
|
1427 |
+
|
1428 |
+
function N() {
|
1429 |
+
var e = this.params,
|
1430 |
+
t = this.el;
|
1431 |
+
if (!t || 0 !== t.offsetWidth) {
|
1432 |
+
e.breakpoints && this.setBreakpoint();
|
1433 |
+
var i = this.allowSlideNext,
|
1434 |
+
s = this.allowSlidePrev,
|
1435 |
+
a = this.snapGrid;
|
1436 |
+
this.allowSlideNext = !0, this.allowSlidePrev = !0, this.updateSize(), this.updateSlides(), this.updateSlidesClasses(), ("auto" === e.slidesPerView || e.slidesPerView > 1) && this.isEnd && !this.isBeginning && !this.params.centeredSlides ? this.slideTo(this.slides.length - 1, 0, !1, !0) : this.slideTo(this.activeIndex, 0, !1, !0), this.autoplay && this.autoplay.running && this.autoplay.paused && this.autoplay.run(), this.allowSlidePrev = s, this.allowSlideNext = i, this.params.watchOverflow && a !== this.snapGrid && this.checkOverflow()
|
1437 |
+
}
|
1438 |
+
}
|
1439 |
+
|
1440 |
+
function X(e) {
|
1441 |
+
this.allowClick || (this.params.preventClicks && e.preventDefault(), this.params.preventClicksPropagation && this.animating && (e.stopPropagation(), e.stopImmediatePropagation()))
|
1442 |
+
}
|
1443 |
+
|
1444 |
+
function V() {
|
1445 |
+
var e = this.wrapperEl,
|
1446 |
+
t = this.rtlTranslate;
|
1447 |
+
this.previousTranslate = this.translate, this.isHorizontal() ? this.translate = t ? e.scrollWidth - e.offsetWidth - e.scrollLeft : -e.scrollLeft : this.translate = -e.scrollTop, -0 === this.translate && (this.translate = 0), this.updateActiveIndex(), this.updateSlidesClasses();
|
1448 |
+
var i = this.maxTranslate() - this.minTranslate();
|
1449 |
+
(0 === i ? 0 : (this.translate - this.minTranslate()) / i) !== this.progress && this.updateProgress(t ? -this.translate : this.translate), this.emit("setTranslate", this.translate, !1)
|
1450 |
+
}
|
1451 |
+
var Y = !1;
|
1452 |
+
|
1453 |
+
function F() {}
|
1454 |
+
var W = {
|
1455 |
+
init: !0,
|
1456 |
+
direction: "horizontal",
|
1457 |
+
touchEventsTarget: "container",
|
1458 |
+
initialSlide: 0,
|
1459 |
+
speed: 300,
|
1460 |
+
cssMode: !1,
|
1461 |
+
updateOnWindowResize: !0,
|
1462 |
+
preventInteractionOnTransition: !1,
|
1463 |
+
edgeSwipeDetection: !1,
|
1464 |
+
edgeSwipeThreshold: 20,
|
1465 |
+
freeMode: !1,
|
1466 |
+
freeModeMomentum: !0,
|
1467 |
+
freeModeMomentumRatio: 1,
|
1468 |
+
freeModeMomentumBounce: !0,
|
1469 |
+
freeModeMomentumBounceRatio: 1,
|
1470 |
+
freeModeMomentumVelocityRatio: 1,
|
1471 |
+
freeModeSticky: !1,
|
1472 |
+
freeModeMinimumVelocity: .02,
|
1473 |
+
autoHeight: !1,
|
1474 |
+
setWrapperSize: !1,
|
1475 |
+
virtualTranslate: !1,
|
1476 |
+
effect: "slide",
|
1477 |
+
breakpoints: void 0,
|
1478 |
+
spaceBetween: 0,
|
1479 |
+
slidesPerView: 1,
|
1480 |
+
slidesPerColumn: 1,
|
1481 |
+
slidesPerColumnFill: "column",
|
1482 |
+
slidesPerGroup: 1,
|
1483 |
+
slidesPerGroupSkip: 0,
|
1484 |
+
centeredSlides: !1,
|
1485 |
+
centeredSlidesBounds: !1,
|
1486 |
+
slidesOffsetBefore: 0,
|
1487 |
+
slidesOffsetAfter: 0,
|
1488 |
+
normalizeSlideIndex: !0,
|
1489 |
+
centerInsufficientSlides: !1,
|
1490 |
+
watchOverflow: !1,
|
1491 |
+
roundLengths: !1,
|
1492 |
+
touchRatio: 1,
|
1493 |
+
touchAngle: 45,
|
1494 |
+
simulateTouch: !0,
|
1495 |
+
shortSwipes: !0,
|
1496 |
+
longSwipes: !0,
|
1497 |
+
longSwipesRatio: .5,
|
1498 |
+
longSwipesMs: 300,
|
1499 |
+
followFinger: !0,
|
1500 |
+
allowTouchMove: !0,
|
1501 |
+
threshold: 0,
|
1502 |
+
touchMoveStopPropagation: !1,
|
1503 |
+
touchStartPreventDefault: !0,
|
1504 |
+
touchStartForcePreventDefault: !1,
|
1505 |
+
touchReleaseOnEdges: !1,
|
1506 |
+
uniqueNavElements: !0,
|
1507 |
+
resistance: !0,
|
1508 |
+
resistanceRatio: .85,
|
1509 |
+
watchSlidesProgress: !1,
|
1510 |
+
watchSlidesVisibility: !1,
|
1511 |
+
grabCursor: !1,
|
1512 |
+
preventClicks: !0,
|
1513 |
+
preventClicksPropagation: !0,
|
1514 |
+
slideToClickedSlide: !1,
|
1515 |
+
preloadImages: !0,
|
1516 |
+
updateOnImagesReady: !0,
|
1517 |
+
loop: !1,
|
1518 |
+
loopAdditionalSlides: 0,
|
1519 |
+
loopedSlides: null,
|
1520 |
+
loopFillGroupWithBlank: !1,
|
1521 |
+
allowSlidePrev: !0,
|
1522 |
+
allowSlideNext: !0,
|
1523 |
+
swipeHandler: null,
|
1524 |
+
noSwiping: !0,
|
1525 |
+
noSwipingClass: "swiper-no-swiping",
|
1526 |
+
noSwipingSelector: null,
|
1527 |
+
passiveListeners: !0,
|
1528 |
+
containerModifierClass: "swiper-container-",
|
1529 |
+
slideClass: "swiper-slide",
|
1530 |
+
slideBlankClass: "swiper-slide-invisible-blank",
|
1531 |
+
slideActiveClass: "swiper-slide-active",
|
1532 |
+
slideDuplicateActiveClass: "swiper-slide-duplicate-active",
|
1533 |
+
slideVisibleClass: "swiper-slide-visible",
|
1534 |
+
slideDuplicateClass: "swiper-slide-duplicate",
|
1535 |
+
slideNextClass: "swiper-slide-next",
|
1536 |
+
slideDuplicateNextClass: "swiper-slide-duplicate-next",
|
1537 |
+
slidePrevClass: "swiper-slide-prev",
|
1538 |
+
slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
|
1539 |
+
wrapperClass: "swiper-wrapper",
|
1540 |
+
runCallbacksOnInit: !0
|
1541 |
+
},
|
1542 |
+
R = {
|
1543 |
+
update: u,
|
1544 |
+
translate: v,
|
1545 |
+
transition: f,
|
1546 |
+
slide: m,
|
1547 |
+
loop: g,
|
1548 |
+
grabCursor: b,
|
1549 |
+
manipulation: O,
|
1550 |
+
events: {
|
1551 |
+
attachEvents: function () {
|
1552 |
+
var e = this.params,
|
1553 |
+
t = this.touchEvents,
|
1554 |
+
s = this.el,
|
1555 |
+
a = this.wrapperEl;
|
1556 |
+
this.onTouchStart = G.bind(this), this.onTouchMove = H.bind(this), this.onTouchEnd = B.bind(this), e.cssMode && (this.onScroll = V.bind(this)), this.onClick = X.bind(this);
|
1557 |
+
var r = !!e.nested;
|
1558 |
+
if (!h.touch && h.pointerEvents) s.addEventListener(t.start, this.onTouchStart, !1), i.addEventListener(t.move, this.onTouchMove, r), i.addEventListener(t.end, this.onTouchEnd, !1);
|
1559 |
+
else {
|
1560 |
+
if (h.touch) {
|
1561 |
+
var n = !("touchstart" !== t.start || !h.passiveListener || !e.passiveListeners) && {
|
1562 |
+
passive: !0,
|
1563 |
+
capture: !1
|
1564 |
+
};
|
1565 |
+
s.addEventListener(t.start, this.onTouchStart, n), s.addEventListener(t.move, this.onTouchMove, h.passiveListener ? {
|
1566 |
+
passive: !1,
|
1567 |
+
capture: r
|
1568 |
+
} : r), s.addEventListener(t.end, this.onTouchEnd, n), t.cancel && s.addEventListener(t.cancel, this.onTouchEnd, n), Y || (i.addEventListener("touchstart", F), Y = !0)
|
1569 |
+
}(e.simulateTouch && !A.ios && !A.android || e.simulateTouch && !h.touch && A.ios) && (s.addEventListener("mousedown", this.onTouchStart, !1), i.addEventListener("mousemove", this.onTouchMove, r), i.addEventListener("mouseup", this.onTouchEnd, !1))
|
1570 |
+
}(e.preventClicks || e.preventClicksPropagation) && s.addEventListener("click", this.onClick, !0), e.cssMode && a.addEventListener("scroll", this.onScroll), e.updateOnWindowResize ? this.on(A.ios || A.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", N, !0) : this.on("observerUpdate", N, !0)
|
1571 |
+
},
|
1572 |
+
detachEvents: function () {
|
1573 |
+
var e = this.params,
|
1574 |
+
t = this.touchEvents,
|
1575 |
+
s = this.el,
|
1576 |
+
a = this.wrapperEl,
|
1577 |
+
r = !!e.nested;
|
1578 |
+
if (!h.touch && h.pointerEvents) s.removeEventListener(t.start, this.onTouchStart, !1), i.removeEventListener(t.move, this.onTouchMove, r), i.removeEventListener(t.end, this.onTouchEnd, !1);
|
1579 |
+
else {
|
1580 |
+
if (h.touch) {
|
1581 |
+
var n = !("onTouchStart" !== t.start || !h.passiveListener || !e.passiveListeners) && {
|
1582 |
+
passive: !0,
|
1583 |
+
capture: !1
|
1584 |
+
};
|
1585 |
+
s.removeEventListener(t.start, this.onTouchStart, n), s.removeEventListener(t.move, this.onTouchMove, r), s.removeEventListener(t.end, this.onTouchEnd, n), t.cancel && s.removeEventListener(t.cancel, this.onTouchEnd, n)
|
1586 |
+
}(e.simulateTouch && !A.ios && !A.android || e.simulateTouch && !h.touch && A.ios) && (s.removeEventListener("mousedown", this.onTouchStart, !1), i.removeEventListener("mousemove", this.onTouchMove, r), i.removeEventListener("mouseup", this.onTouchEnd, !1))
|
1587 |
+
}(e.preventClicks || e.preventClicksPropagation) && s.removeEventListener("click", this.onClick, !0), e.cssMode && a.removeEventListener("scroll", this.onScroll), this.off(A.ios || A.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", N)
|
1588 |
+
}
|
1589 |
+
},
|
1590 |
+
breakpoints: {
|
1591 |
+
setBreakpoint: function () {
|
1592 |
+
var e = this.activeIndex,
|
1593 |
+
t = this.initialized,
|
1594 |
+
i = this.loopedSlides;
|
1595 |
+
void 0 === i && (i = 0);
|
1596 |
+
var s = this.params,
|
1597 |
+
a = this.$el,
|
1598 |
+
r = s.breakpoints;
|
1599 |
+
if (r && (!r || 0 !== Object.keys(r).length)) {
|
1600 |
+
var n = this.getBreakpoint(r);
|
1601 |
+
if (n && this.currentBreakpoint !== n) {
|
1602 |
+
var o = n in r ? r[n] : void 0;
|
1603 |
+
o && ["slidesPerView", "spaceBetween", "slidesPerGroup", "slidesPerGroupSkip", "slidesPerColumn"].forEach((function (e) {
|
1604 |
+
var t = o[e];
|
1605 |
+
void 0 !== t && (o[e] = "slidesPerView" !== e || "AUTO" !== t && "auto" !== t ? "slidesPerView" === e ? parseFloat(t) : parseInt(t, 10) : "auto")
|
1606 |
+
}));
|
1607 |
+
var l = o || this.originalParams,
|
1608 |
+
h = s.slidesPerColumn > 1,
|
1609 |
+
p = l.slidesPerColumn > 1;
|
1610 |
+
h && !p ? a.removeClass(s.containerModifierClass + "multirow " + s.containerModifierClass + "multirow-column") : !h && p && (a.addClass(s.containerModifierClass + "multirow"), "column" === l.slidesPerColumnFill && a.addClass(s.containerModifierClass + "multirow-column"));
|
1611 |
+
var c = l.direction && l.direction !== s.direction,
|
1612 |
+
u = s.loop && (l.slidesPerView !== s.slidesPerView || c);
|
1613 |
+
c && t && this.changeDirection(), d.extend(this.params, l), d.extend(this, {
|
1614 |
+
allowTouchMove: this.params.allowTouchMove,
|
1615 |
+
allowSlideNext: this.params.allowSlideNext,
|
1616 |
+
allowSlidePrev: this.params.allowSlidePrev
|
1617 |
+
}), this.currentBreakpoint = n, u && t && (this.loopDestroy(), this.loopCreate(), this.updateSlides(), this.slideTo(e - i + this.loopedSlides, 0, !1)), this.emit("breakpoint", l)
|
1618 |
+
}
|
1619 |
+
}
|
1620 |
+
},
|
1621 |
+
getBreakpoint: function (e) {
|
1622 |
+
if (e) {
|
1623 |
+
var t = !1,
|
1624 |
+
i = Object.keys(e).map((function (e) {
|
1625 |
+
if ("string" == typeof e && 0 === e.indexOf("@")) {
|
1626 |
+
var t = parseFloat(e.substr(1));
|
1627 |
+
return {
|
1628 |
+
value: a.innerHeight * t,
|
1629 |
+
point: e
|
1630 |
+
}
|
1631 |
+
}
|
1632 |
+
return {
|
1633 |
+
value: e,
|
1634 |
+
point: e
|
1635 |
+
}
|
1636 |
+
}));
|
1637 |
+
i.sort((function (e, t) {
|
1638 |
+
return parseInt(e.value, 10) - parseInt(t.value, 10)
|
1639 |
+
}));
|
1640 |
+
for (var s = 0; s < i.length; s += 1) {
|
1641 |
+
var r = i[s],
|
1642 |
+
n = r.point;
|
1643 |
+
r.value <= a.innerWidth && (t = n)
|
1644 |
+
}
|
1645 |
+
return t || "max"
|
1646 |
+
}
|
1647 |
+
}
|
1648 |
+
},
|
1649 |
+
checkOverflow: {
|
1650 |
+
checkOverflow: function () {
|
1651 |
+
var e = this.params,
|
1652 |
+
t = this.isLocked,
|
1653 |
+
i = this.slides.length > 0 && e.slidesOffsetBefore + e.spaceBetween * (this.slides.length - 1) + this.slides[0].offsetWidth * this.slides.length;
|
1654 |
+
e.slidesOffsetBefore && e.slidesOffsetAfter && i ? this.isLocked = i <= this.size : this.isLocked = 1 === this.snapGrid.length, this.allowSlideNext = !this.isLocked, this.allowSlidePrev = !this.isLocked, t !== this.isLocked && this.emit(this.isLocked ? "lock" : "unlock"), t && t !== this.isLocked && (this.isEnd = !1, this.navigation && this.navigation.update())
|
1655 |
+
}
|
1656 |
+
},
|
1657 |
+
classes: {
|
1658 |
+
addClasses: function () {
|
1659 |
+
var e = this.classNames,
|
1660 |
+
t = this.params,
|
1661 |
+
i = this.rtl,
|
1662 |
+
s = this.$el,
|
1663 |
+
a = [];
|
1664 |
+
a.push("initialized"), a.push(t.direction), t.freeMode && a.push("free-mode"), t.autoHeight && a.push("autoheight"), i && a.push("rtl"), t.slidesPerColumn > 1 && (a.push("multirow"), "column" === t.slidesPerColumnFill && a.push("multirow-column")), A.android && a.push("android"), A.ios && a.push("ios"), t.cssMode && a.push("css-mode"), a.forEach((function (i) {
|
1665 |
+
e.push(t.containerModifierClass + i)
|
1666 |
+
})), s.addClass(e.join(" "))
|
1667 |
+
},
|
1668 |
+
removeClasses: function () {
|
1669 |
+
var e = this.$el,
|
1670 |
+
t = this.classNames;
|
1671 |
+
e.removeClass(t.join(" "))
|
1672 |
+
}
|
1673 |
+
},
|
1674 |
+
images: {
|
1675 |
+
loadImage: function (e, t, i, s, r, o) {
|
1676 |
+
var l;
|
1677 |
+
|
1678 |
+
function d() {
|
1679 |
+
o && o()
|
1680 |
+
}
|
1681 |
+
n(e).parent("picture")[0] || e.complete && r ? d() : t ? ((l = new a.Image).onload = d, l.onerror = d, s && (l.sizes = s), i && (l.srcset = i), t && (l.src = t)) : d()
|
1682 |
+
},
|
1683 |
+
preloadImages: function () {
|
1684 |
+
var e = this;
|
1685 |
+
|
1686 |
+
function t() {
|
1687 |
+
null != e && e && !e.destroyed && (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1), e.imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady && e.update(), e.emit("imagesReady")))
|
1688 |
+
}
|
1689 |
+
e.imagesToLoad = e.$el.find("img");
|
1690 |
+
for (var i = 0; i < e.imagesToLoad.length; i += 1) {
|
1691 |
+
var s = e.imagesToLoad[i];
|
1692 |
+
e.loadImage(s, s.currentSrc || s.getAttribute("src"), s.srcset || s.getAttribute("srcset"), s.sizes || s.getAttribute("sizes"), !0, t)
|
1693 |
+
}
|
1694 |
+
}
|
1695 |
+
}
|
1696 |
+
},
|
1697 |
+
q = {},
|
1698 |
+
j = function (e) {
|
1699 |
+
function t() {
|
1700 |
+
for (var i, s, a, r = [], o = arguments.length; o--;) r[o] = arguments[o];
|
1701 |
+
1 === r.length && r[0].constructor && r[0].constructor === Object ? a = r[0] : (s = (i = r)[0], a = i[1]), a || (a = {}), a = d.extend({}, a), s && !a.el && (a.el = s), e.call(this, a), Object.keys(R).forEach((function (e) {
|
1702 |
+
Object.keys(R[e]).forEach((function (i) {
|
1703 |
+
t.prototype[i] || (t.prototype[i] = R[e][i])
|
1704 |
+
}))
|
1705 |
+
}));
|
1706 |
+
var l = this;
|
1707 |
+
void 0 === l.modules && (l.modules = {}), Object.keys(l.modules).forEach((function (e) {
|
1708 |
+
var t = l.modules[e];
|
1709 |
+
if (t.params) {
|
1710 |
+
var i = Object.keys(t.params)[0],
|
1711 |
+
s = t.params[i];
|
1712 |
+
if ("object" != typeof s || null === s) return;
|
1713 |
+
if (!(i in a) || !("enabled" in s)) return;
|
1714 |
+
!0 === a[i] && (a[i] = {
|
1715 |
+
enabled: !0
|
1716 |
+
}), "object" != typeof a[i] || "enabled" in a[i] || (a[i].enabled = !0), a[i] || (a[i] = {
|
1717 |
+
enabled: !1
|
1718 |
+
})
|
1719 |
+
}
|
1720 |
+
}));
|
1721 |
+
var p = d.extend({}, W);
|
1722 |
+
l.useModulesParams(p), l.params = d.extend({}, p, q, a), l.originalParams = d.extend({}, l.params), l.passedParams = d.extend({}, a), l.$ = n;
|
1723 |
+
var c = n(l.params.el);
|
1724 |
+
if (s = c[0]) {
|
1725 |
+
if (c.length > 1) {
|
1726 |
+
var u = [];
|
1727 |
+
return c.each((function (e, i) {
|
1728 |
+
var s = d.extend({}, a, {
|
1729 |
+
el: i
|
1730 |
+
});
|
1731 |
+
u.push(new t(s))
|
1732 |
+
})), u
|
1733 |
+
}
|
1734 |
+
var v, f, m;
|
1735 |
+
return s.swiper = l, c.data("swiper", l), s && s.shadowRoot && s.shadowRoot.querySelector ? (v = n(s.shadowRoot.querySelector("." + l.params.wrapperClass))).children = function (e) {
|
1736 |
+
return c.children(e)
|
1737 |
+
} : v = c.children("." + l.params.wrapperClass), d.extend(l, {
|
1738 |
+
$el: c,
|
1739 |
+
el: s,
|
1740 |
+
$wrapperEl: v,
|
1741 |
+
wrapperEl: v[0],
|
1742 |
+
classNames: [],
|
1743 |
+
slides: n(),
|
1744 |
+
slidesGrid: [],
|
1745 |
+
snapGrid: [],
|
1746 |
+
slidesSizesGrid: [],
|
1747 |
+
isHorizontal: function () {
|
1748 |
+
return "horizontal" === l.params.direction
|
1749 |
+
},
|
1750 |
+
isVertical: function () {
|
1751 |
+
return "vertical" === l.params.direction
|
1752 |
+
},
|
1753 |
+
rtl: "rtl" === s.dir.toLowerCase() || "rtl" === c.css("direction"),
|
1754 |
+
rtlTranslate: "horizontal" === l.params.direction && ("rtl" === s.dir.toLowerCase() || "rtl" === c.css("direction")),
|
1755 |
+
wrongRTL: "-webkit-box" === v.css("display"),
|
1756 |
+
activeIndex: 0,
|
1757 |
+
realIndex: 0,
|
1758 |
+
isBeginning: !0,
|
1759 |
+
isEnd: !1,
|
1760 |
+
translate: 0,
|
1761 |
+
previousTranslate: 0,
|
1762 |
+
progress: 0,
|
1763 |
+
velocity: 0,
|
1764 |
+
animating: !1,
|
1765 |
+
allowSlideNext: l.params.allowSlideNext,
|
1766 |
+
allowSlidePrev: l.params.allowSlidePrev,
|
1767 |
+
touchEvents: (f = ["touchstart", "touchmove", "touchend", "touchcancel"], m = ["mousedown", "mousemove", "mouseup"], h.pointerEvents && (m = ["pointerdown", "pointermove", "pointerup"]), l.touchEventsTouch = {
|
1768 |
+
start: f[0],
|
1769 |
+
move: f[1],
|
1770 |
+
end: f[2],
|
1771 |
+
cancel: f[3]
|
1772 |
+
}, l.touchEventsDesktop = {
|
1773 |
+
start: m[0],
|
1774 |
+
move: m[1],
|
1775 |
+
end: m[2]
|
1776 |
+
}, h.touch || !l.params.simulateTouch ? l.touchEventsTouch : l.touchEventsDesktop),
|
1777 |
+
touchEventsData: {
|
1778 |
+
isTouched: void 0,
|
1779 |
+
isMoved: void 0,
|
1780 |
+
allowTouchCallbacks: void 0,
|
1781 |
+
touchStartTime: void 0,
|
1782 |
+
isScrolling: void 0,
|
1783 |
+
currentTranslate: void 0,
|
1784 |
+
startTranslate: void 0,
|
1785 |
+
allowThresholdMove: void 0,
|
1786 |
+
formElements: "input, select, option, textarea, button, video, label",
|
1787 |
+
lastClickTime: d.now(),
|
1788 |
+
clickTimeout: void 0,
|
1789 |
+
velocities: [],
|
1790 |
+
allowMomentumBounce: void 0,
|
1791 |
+
isTouchEvent: void 0,
|
1792 |
+
startMoving: void 0
|
1793 |
+
},
|
1794 |
+
allowClick: !0,
|
1795 |
+
allowTouchMove: l.params.allowTouchMove,
|
1796 |
+
touches: {
|
1797 |
+
startX: 0,
|
1798 |
+
startY: 0,
|
1799 |
+
currentX: 0,
|
1800 |
+
currentY: 0,
|
1801 |
+
diff: 0
|
1802 |
+
},
|
1803 |
+
imagesToLoad: [],
|
1804 |
+
imagesLoaded: 0
|
1805 |
+
}), l.useModules(), l.params.init && l.init(), l
|
1806 |
+
}
|
1807 |
+
}
|
1808 |
+
e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t;
|
1809 |
+
var i = {
|
1810 |
+
extendedDefaults: {
|
1811 |
+
configurable: !0
|
1812 |
+
},
|
1813 |
+
defaults: {
|
1814 |
+
configurable: !0
|
1815 |
+
},
|
1816 |
+
Class: {
|
1817 |
+
configurable: !0
|
1818 |
+
},
|
1819 |
+
$: {
|
1820 |
+
configurable: !0
|
1821 |
+
}
|
1822 |
+
};
|
1823 |
+
return t.prototype.slidesPerViewDynamic = function () {
|
1824 |
+
var e = this.params,
|
1825 |
+
t = this.slides,
|
1826 |
+
i = this.slidesGrid,
|
1827 |
+
s = this.size,
|
1828 |
+
a = this.activeIndex,
|
1829 |
+
r = 1;
|
1830 |
+
if (e.centeredSlides) {
|
1831 |
+
for (var n, o = t[a].swiperSlideSize, l = a + 1; l < t.length; l += 1) t[l] && !n && (r += 1, (o += t[l].swiperSlideSize) > s && (n = !0));
|
1832 |
+
for (var d = a - 1; d >= 0; d -= 1) t[d] && !n && (r += 1, (o += t[d].swiperSlideSize) > s && (n = !0))
|
1833 |
+
} else
|
1834 |
+
for (var h = a + 1; h < t.length; h += 1) i[h] - i[a] < s && (r += 1);
|
1835 |
+
return r
|
1836 |
+
}, t.prototype.update = function () {
|
1837 |
+
var e = this;
|
1838 |
+
if (e && !e.destroyed) {
|
1839 |
+
var t = e.snapGrid,
|
1840 |
+
i = e.params;
|
1841 |
+
i.breakpoints && e.setBreakpoint(), e.updateSize(), e.updateSlides(), e.updateProgress(), e.updateSlidesClasses(), e.params.freeMode ? (s(), e.params.autoHeight && e.updateAutoHeight()) : (("auto" === e.params.slidesPerView || e.params.slidesPerView > 1) && e.isEnd && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0)) || s(), i.watchOverflow && t !== e.snapGrid && e.checkOverflow(), e.emit("update")
|
1842 |
+
}
|
1843 |
+
|
1844 |
+
function s() {
|
1845 |
+
var t = e.rtlTranslate ? -1 * e.translate : e.translate,
|
1846 |
+
i = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
|
1847 |
+
e.setTranslate(i), e.updateActiveIndex(), e.updateSlidesClasses()
|
1848 |
+
}
|
1849 |
+
}, t.prototype.changeDirection = function (e, t) {
|
1850 |
+
void 0 === t && (t = !0);
|
1851 |
+
var i = this.params.direction;
|
1852 |
+
return e || (e = "horizontal" === i ? "vertical" : "horizontal"), e === i || "horizontal" !== e && "vertical" !== e || (this.$el.removeClass("" + this.params.containerModifierClass + i).addClass("" + this.params.containerModifierClass + e), this.params.direction = e, this.slides.each((function (t, i) {
|
1853 |
+
"vertical" === e ? i.style.width = "" : i.style.height = ""
|
1854 |
+
})), this.emit("changeDirection"), t && this.update()), this
|
1855 |
+
}, t.prototype.init = function () {
|
1856 |
+
this.initialized || (this.emit("beforeInit"), this.params.breakpoints && this.setBreakpoint(), this.addClasses(), this.params.loop && this.loopCreate(), this.updateSize(), this.updateSlides(), this.params.watchOverflow && this.checkOverflow(), this.params.grabCursor && this.setGrabCursor(), this.params.preloadImages && this.preloadImages(), this.params.loop ? this.slideTo(this.params.initialSlide + this.loopedSlides, 0, this.params.runCallbacksOnInit) : this.slideTo(this.params.initialSlide, 0, this.params.runCallbacksOnInit), this.attachEvents(), this.initialized = !0, this.emit("init"))
|
1857 |
+
}, t.prototype.destroy = function (e, t) {
|
1858 |
+
void 0 === e && (e = !0), void 0 === t && (t = !0);
|
1859 |
+
var i = this,
|
1860 |
+
s = i.params,
|
1861 |
+
a = i.$el,
|
1862 |
+
r = i.$wrapperEl,
|
1863 |
+
n = i.slides;
|
1864 |
+
return void 0 === i.params || i.destroyed || (i.emit("beforeDestroy"), i.initialized = !1, i.detachEvents(), s.loop && i.loopDestroy(), t && (i.removeClasses(), a.removeAttr("style"), r.removeAttr("style"), n && n.length && n.removeClass([s.slideVisibleClass, s.slideActiveClass, s.slideNextClass, s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")), i.emit("destroy"), Object.keys(i.eventsListeners).forEach((function (e) {
|
1865 |
+
i.off(e)
|
1866 |
+
})), !1 !== e && (i.$el[0].swiper = null, i.$el.data("swiper", null), d.deleteProps(i)), i.destroyed = !0), null
|
1867 |
+
}, t.extendDefaults = function (e) {
|
1868 |
+
d.extend(q, e)
|
1869 |
+
}, i.extendedDefaults.get = function () {
|
1870 |
+
return q
|
1871 |
+
}, i.defaults.get = function () {
|
1872 |
+
return W
|
1873 |
+
}, i.Class.get = function () {
|
1874 |
+
return e
|
1875 |
+
}, i.$.get = function () {
|
1876 |
+
return n
|
1877 |
+
}, Object.defineProperties(t, i), t
|
1878 |
+
}(p),
|
1879 |
+
K = {
|
1880 |
+
name: "device",
|
1881 |
+
proto: {
|
1882 |
+
device: A
|
1883 |
+
},
|
1884 |
+
static: {
|
1885 |
+
device: A
|
1886 |
+
}
|
1887 |
+
},
|
1888 |
+
U = {
|
1889 |
+
name: "support",
|
1890 |
+
proto: {
|
1891 |
+
support: h
|
1892 |
+
},
|
1893 |
+
static: {
|
1894 |
+
support: h
|
1895 |
+
}
|
1896 |
+
},
|
1897 |
+
_ = {
|
1898 |
+
isEdge: !!a.navigator.userAgent.match(/Edge/g),
|
1899 |
+
isSafari: function () {
|
1900 |
+
var e = a.navigator.userAgent.toLowerCase();
|
1901 |
+
return e.indexOf("safari") >= 0 && e.indexOf("chrome") < 0 && e.indexOf("android") < 0
|
1902 |
+
}(),
|
1903 |
+
isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(a.navigator.userAgent)
|
1904 |
+
},
|
1905 |
+
Z = {
|
1906 |
+
name: "browser",
|
1907 |
+
proto: {
|
1908 |
+
browser: _
|
1909 |
+
},
|
1910 |
+
static: {
|
1911 |
+
browser: _
|
1912 |
+
}
|
1913 |
+
},
|
1914 |
+
Q = {
|
1915 |
+
name: "resize",
|
1916 |
+
create: function () {
|
1917 |
+
var e = this;
|
1918 |
+
d.extend(e, {
|
1919 |
+
resize: {
|
1920 |
+
resizeHandler: function () {
|
1921 |
+
e && !e.destroyed && e.initialized && (e.emit("beforeResize"), e.emit("resize"))
|
1922 |
+
},
|
1923 |
+
orientationChangeHandler: function () {
|
1924 |
+
e && !e.destroyed && e.initialized && e.emit("orientationchange")
|
1925 |
+
}
|
1926 |
+
}
|
1927 |
+
})
|
1928 |
+
},
|
1929 |
+
on: {
|
1930 |
+
init: function () {
|
1931 |
+
a.addEventListener("resize", this.resize.resizeHandler), a.addEventListener("orientationchange", this.resize.orientationChangeHandler)
|
1932 |
+
},
|
1933 |
+
destroy: function () {
|
1934 |
+
a.removeEventListener("resize", this.resize.resizeHandler), a.removeEventListener("orientationchange", this.resize.orientationChangeHandler)
|
1935 |
+
}
|
1936 |
+
}
|
1937 |
+
},
|
1938 |
+
J = {
|
1939 |
+
func: a.MutationObserver || a.WebkitMutationObserver,
|
1940 |
+
attach: function (e, t) {
|
1941 |
+
void 0 === t && (t = {});
|
1942 |
+
var i = this,
|
1943 |
+
s = new(0, J.func)((function (e) {
|
1944 |
+
if (1 !== e.length) {
|
1945 |
+
var t = function () {
|
1946 |
+
i.emit("observerUpdate", e[0])
|
1947 |
+
};
|
1948 |
+
a.requestAnimationFrame ? a.requestAnimationFrame(t) : a.setTimeout(t, 0)
|
1949 |
+
} else i.emit("observerUpdate", e[0])
|
1950 |
+
}));
|
1951 |
+
s.observe(e, {
|
1952 |
+
attributes: void 0 === t.attributes || t.attributes,
|
1953 |
+
childList: void 0 === t.childList || t.childList,
|
1954 |
+
characterData: void 0 === t.characterData || t.characterData
|
1955 |
+
}), i.observer.observers.push(s)
|
1956 |
+
},
|
1957 |
+
init: function () {
|
1958 |
+
if (h.observer && this.params.observer) {
|
1959 |
+
if (this.params.observeParents)
|
1960 |
+
for (var e = this.$el.parents(), t = 0; t < e.length; t += 1) this.observer.attach(e[t]);
|
1961 |
+
this.observer.attach(this.$el[0], {
|
1962 |
+
childList: this.params.observeSlideChildren
|
1963 |
+
}), this.observer.attach(this.$wrapperEl[0], {
|
1964 |
+
attributes: !1
|
1965 |
+
})
|
1966 |
+
}
|
1967 |
+
},
|
1968 |
+
destroy: function () {
|
1969 |
+
this.observer.observers.forEach((function (e) {
|
1970 |
+
e.disconnect()
|
1971 |
+
})), this.observer.observers = []
|
1972 |
+
}
|
1973 |
+
},
|
1974 |
+
ee = {
|
1975 |
+
name: "observer",
|
1976 |
+
params: {
|
1977 |
+
observer: !1,
|
1978 |
+
observeParents: !1,
|
1979 |
+
observeSlideChildren: !1
|
1980 |
+
},
|
1981 |
+
create: function () {
|
1982 |
+
d.extend(this, {
|
1983 |
+
observer: {
|
1984 |
+
init: J.init.bind(this),
|
1985 |
+
attach: J.attach.bind(this),
|
1986 |
+
destroy: J.destroy.bind(this),
|
1987 |
+
observers: []
|
1988 |
+
}
|
1989 |
+
})
|
1990 |
+
},
|
1991 |
+
on: {
|
1992 |
+
init: function () {
|
1993 |
+
this.observer.init()
|
1994 |
+
},
|
1995 |
+
destroy: function () {
|
1996 |
+
this.observer.destroy()
|
1997 |
+
}
|
1998 |
+
}
|
1999 |
+
},
|
2000 |
+
te = {
|
2001 |
+
update: function (e) {
|
2002 |
+
var t = this,
|
2003 |
+
i = t.params,
|
2004 |
+
s = i.slidesPerView,
|
2005 |
+
a = i.slidesPerGroup,
|
2006 |
+
r = i.centeredSlides,
|
2007 |
+
n = t.params.virtual,
|
2008 |
+
o = n.addSlidesBefore,
|
2009 |
+
l = n.addSlidesAfter,
|
2010 |
+
h = t.virtual,
|
2011 |
+
p = h.from,
|
2012 |
+
c = h.to,
|
2013 |
+
u = h.slides,
|
2014 |
+
v = h.slidesGrid,
|
2015 |
+
f = h.renderSlide,
|
2016 |
+
m = h.offset;
|
2017 |
+
t.updateActiveIndex();
|
2018 |
+
var g, b, w, y = t.activeIndex || 0;
|
2019 |
+
g = t.rtlTranslate ? "right" : t.isHorizontal() ? "left" : "top", r ? (b = Math.floor(s / 2) + a + o, w = Math.floor(s / 2) + a + l) : (b = s + (a - 1) + o, w = a + l);
|
2020 |
+
var x = Math.max((y || 0) - w, 0),
|
2021 |
+
E = Math.min((y || 0) + b, u.length - 1),
|
2022 |
+
T = (t.slidesGrid[x] || 0) - (t.slidesGrid[0] || 0);
|
2023 |
+
|
2024 |
+
function S() {
|
2025 |
+
t.updateSlides(), t.updateProgress(), t.updateSlidesClasses(), t.lazy && t.params.lazy.enabled && t.lazy.load()
|
2026 |
+
}
|
2027 |
+
if (d.extend(t.virtual, {
|
2028 |
+
from: x,
|
2029 |
+
to: E,
|
2030 |
+
offset: T,
|
2031 |
+
slidesGrid: t.slidesGrid
|
2032 |
+
}), p === x && c === E && !e) return t.slidesGrid !== v && T !== m && t.slides.css(g, T + "px"), void t.updateProgress();
|
2033 |
+
if (t.params.virtual.renderExternal) return t.params.virtual.renderExternal.call(t, {
|
2034 |
+
offset: T,
|
2035 |
+
from: x,
|
2036 |
+
to: E,
|
2037 |
+
slides: function () {
|
2038 |
+
for (var e = [], t = x; t <= E; t += 1) e.push(u[t]);
|
2039 |
+
return e
|
2040 |
+
}()
|
2041 |
+
}), void S();
|
2042 |
+
var C = [],
|
2043 |
+
M = [];
|
2044 |
+
if (e) t.$wrapperEl.find("." + t.params.slideClass).remove();
|
2045 |
+
else
|
2046 |
+
for (var P = p; P <= c; P += 1)(P < x || P > E) && t.$wrapperEl.find("." + t.params.slideClass + '[data-swiper-slide-index="' + P + '"]').remove();
|
2047 |
+
for (var z = 0; z < u.length; z += 1) z >= x && z <= E && (void 0 === c || e ? M.push(z) : (z > c && M.push(z), z < p && C.push(z)));
|
2048 |
+
M.forEach((function (e) {
|
2049 |
+
t.$wrapperEl.append(f(u[e], e))
|
2050 |
+
})), C.sort((function (e, t) {
|
2051 |
+
return t - e
|
2052 |
+
})).forEach((function (e) {
|
2053 |
+
t.$wrapperEl.prepend(f(u[e], e))
|
2054 |
+
})), t.$wrapperEl.children(".swiper-slide").css(g, T + "px"), S()
|
2055 |
+
},
|
2056 |
+
renderSlide: function (e, t) {
|
2057 |
+
var i = this.params.virtual;
|
2058 |
+
if (i.cache && this.virtual.cache[t]) return this.virtual.cache[t];
|
2059 |
+
var s = i.renderSlide ? n(i.renderSlide.call(this, e, t)) : n('<div class="' + this.params.slideClass + '" data-swiper-slide-index="' + t + '">' + e + "</div>");
|
2060 |
+
return s.attr("data-swiper-slide-index") || s.attr("data-swiper-slide-index", t), i.cache && (this.virtual.cache[t] = s), s
|
2061 |
+
},
|
2062 |
+
appendSlide: function (e) {
|
2063 |
+
if ("object" == typeof e && "length" in e)
|
2064 |
+
for (var t = 0; t < e.length; t += 1) e[t] && this.virtual.slides.push(e[t]);
|
2065 |
+
else this.virtual.slides.push(e);
|
2066 |
+
this.virtual.update(!0)
|
2067 |
+
},
|
2068 |
+
prependSlide: function (e) {
|
2069 |
+
var t = this.activeIndex,
|
2070 |
+
i = t + 1,
|
2071 |
+
s = 1;
|
2072 |
+
if (Array.isArray(e)) {
|
2073 |
+
for (var a = 0; a < e.length; a += 1) e[a] && this.virtual.slides.unshift(e[a]);
|
2074 |
+
i = t + e.length, s = e.length
|
2075 |
+
} else this.virtual.slides.unshift(e);
|
2076 |
+
if (this.params.virtual.cache) {
|
2077 |
+
var r = this.virtual.cache,
|
2078 |
+
n = {};
|
2079 |
+
Object.keys(r).forEach((function (e) {
|
2080 |
+
var t = r[e],
|
2081 |
+
i = t.attr("data-swiper-slide-index");
|
2082 |
+
i && t.attr("data-swiper-slide-index", parseInt(i, 10) + 1), n[parseInt(e, 10) + s] = t
|
2083 |
+
})), this.virtual.cache = n
|
2084 |
+
}
|
2085 |
+
this.virtual.update(!0), this.slideTo(i, 0)
|
2086 |
+
},
|
2087 |
+
removeSlide: function (e) {
|
2088 |
+
if (null != e) {
|
2089 |
+
var t = this.activeIndex;
|
2090 |
+
if (Array.isArray(e))
|
2091 |
+
for (var i = e.length - 1; i >= 0; i -= 1) this.virtual.slides.splice(e[i], 1), this.params.virtual.cache && delete this.virtual.cache[e[i]], e[i] < t && (t -= 1), t = Math.max(t, 0);
|
2092 |
+
else this.virtual.slides.splice(e, 1), this.params.virtual.cache && delete this.virtual.cache[e], e < t && (t -= 1), t = Math.max(t, 0);
|
2093 |
+
this.virtual.update(!0), this.slideTo(t, 0)
|
2094 |
+
}
|
2095 |
+
},
|
2096 |
+
removeAllSlides: function () {
|
2097 |
+
this.virtual.slides = [], this.params.virtual.cache && (this.virtual.cache = {}), this.virtual.update(!0), this.slideTo(0, 0)
|
2098 |
+
}
|
2099 |
+
},
|
2100 |
+
ie = {
|
2101 |
+
name: "virtual",
|
2102 |
+
params: {
|
2103 |
+
virtual: {
|
2104 |
+
enabled: !1,
|
2105 |
+
slides: [],
|
2106 |
+
cache: !0,
|
2107 |
+
renderSlide: null,
|
2108 |
+
renderExternal: null,
|
2109 |
+
addSlidesBefore: 0,
|
2110 |
+
addSlidesAfter: 0
|
2111 |
+
}
|
2112 |
+
},
|
2113 |
+
create: function () {
|
2114 |
+
d.extend(this, {
|
2115 |
+
virtual: {
|
2116 |
+
update: te.update.bind(this),
|
2117 |
+
appendSlide: te.appendSlide.bind(this),
|
2118 |
+
prependSlide: te.prependSlide.bind(this),
|
2119 |
+
removeSlide: te.removeSlide.bind(this),
|
2120 |
+
removeAllSlides: te.removeAllSlides.bind(this),
|
2121 |
+
renderSlide: te.renderSlide.bind(this),
|
2122 |
+
slides: this.params.virtual.slides,
|
2123 |
+
cache: {}
|
2124 |
+
}
|
2125 |
+
})
|
2126 |
+
},
|
2127 |
+
on: {
|
2128 |
+
beforeInit: function () {
|
2129 |
+
if (this.params.virtual.enabled) {
|
2130 |
+
this.classNames.push(this.params.containerModifierClass + "virtual");
|
2131 |
+
var e = {
|
2132 |
+
watchSlidesProgress: !0
|
2133 |
+
};
|
2134 |
+
d.extend(this.params, e), d.extend(this.originalParams, e), this.params.initialSlide || this.virtual.update()
|
2135 |
+
}
|
2136 |
+
},
|
2137 |
+
setTranslate: function () {
|
2138 |
+
this.params.virtual.enabled && this.virtual.update()
|
2139 |
+
}
|
2140 |
+
}
|
2141 |
+
},
|
2142 |
+
se = {
|
2143 |
+
handle: function (e) {
|
2144 |
+
var t = this.rtlTranslate,
|
2145 |
+
s = e;
|
2146 |
+
s.originalEvent && (s = s.originalEvent);
|
2147 |
+
var r = s.keyCode || s.charCode,
|
2148 |
+
n = this.params.keyboard.pageUpDown,
|
2149 |
+
o = n && 33 === r,
|
2150 |
+
l = n && 34 === r,
|
2151 |
+
d = 37 === r,
|
2152 |
+
h = 39 === r,
|
2153 |
+
p = 38 === r,
|
2154 |
+
c = 40 === r;
|
2155 |
+
if (!this.allowSlideNext && (this.isHorizontal() && h || this.isVertical() && c || l)) return !1;
|
2156 |
+
if (!this.allowSlidePrev && (this.isHorizontal() && d || this.isVertical() && p || o)) return !1;
|
2157 |
+
if (!(s.shiftKey || s.altKey || s.ctrlKey || s.metaKey || i.activeElement && i.activeElement.nodeName && ("input" === i.activeElement.nodeName.toLowerCase() || "textarea" === i.activeElement.nodeName.toLowerCase()))) {
|
2158 |
+
if (this.params.keyboard.onlyInViewport && (o || l || d || h || p || c)) {
|
2159 |
+
var u = !1;
|
2160 |
+
if (this.$el.parents("." + this.params.slideClass).length > 0 && 0 === this.$el.parents("." + this.params.slideActiveClass).length) return;
|
2161 |
+
var v = a.innerWidth,
|
2162 |
+
f = a.innerHeight,
|
2163 |
+
m = this.$el.offset();
|
2164 |
+
t && (m.left -= this.$el[0].scrollLeft);
|
2165 |
+
for (var g = [
|
2166 |
+
[m.left, m.top],
|
2167 |
+
[m.left + this.width, m.top],
|
2168 |
+
[m.left, m.top + this.height],
|
2169 |
+
[m.left + this.width, m.top + this.height]
|
2170 |
+
], b = 0; b < g.length; b += 1) {
|
2171 |
+
var w = g[b];
|
2172 |
+
w[0] >= 0 && w[0] <= v && w[1] >= 0 && w[1] <= f && (u = !0)
|
2173 |
+
}
|
2174 |
+
if (!u) return
|
2175 |
+
}
|
2176 |
+
this.isHorizontal() ? ((o || l || d || h) && (s.preventDefault ? s.preventDefault() : s.returnValue = !1), ((l || h) && !t || (o || d) && t) && this.slideNext(), ((o || d) && !t || (l || h) && t) && this.slidePrev()) : ((o || l || p || c) && (s.preventDefault ? s.preventDefault() : s.returnValue = !1), (l || c) && this.slideNext(), (o || p) && this.slidePrev()), this.emit("keyPress", r)
|
2177 |
+
}
|
2178 |
+
},
|
2179 |
+
enable: function () {
|
2180 |
+
this.keyboard.enabled || (n(i).on("keydown", this.keyboard.handle), this.keyboard.enabled = !0)
|
2181 |
+
},
|
2182 |
+
disable: function () {
|
2183 |
+
this.keyboard.enabled && (n(i).off("keydown", this.keyboard.handle), this.keyboard.enabled = !1)
|
2184 |
+
}
|
2185 |
+
},
|
2186 |
+
ae = {
|
2187 |
+
name: "keyboard",
|
2188 |
+
params: {
|
2189 |
+
keyboard: {
|
2190 |
+
enabled: !1,
|
2191 |
+
onlyInViewport: !0,
|
2192 |
+
pageUpDown: !0
|
2193 |
+
}
|
2194 |
+
},
|
2195 |
+
create: function () {
|
2196 |
+
d.extend(this, {
|
2197 |
+
keyboard: {
|
2198 |
+
enabled: !1,
|
2199 |
+
enable: se.enable.bind(this),
|
2200 |
+
disable: se.disable.bind(this),
|
2201 |
+
handle: se.handle.bind(this)
|
2202 |
+
}
|
2203 |
+
})
|
2204 |
+
},
|
2205 |
+
on: {
|
2206 |
+
init: function () {
|
2207 |
+
this.params.keyboard.enabled && this.keyboard.enable()
|
2208 |
+
},
|
2209 |
+
destroy: function () {
|
2210 |
+
this.keyboard.enabled && this.keyboard.disable()
|
2211 |
+
}
|
2212 |
+
}
|
2213 |
+
};
|
2214 |
+
var re = {
|
2215 |
+
lastScrollTime: d.now(),
|
2216 |
+
lastEventBeforeSnap: void 0,
|
2217 |
+
recentWheelEvents: [],
|
2218 |
+
event: function () {
|
2219 |
+
return a.navigator.userAgent.indexOf("firefox") > -1 ? "DOMMouseScroll" : function () {
|
2220 |
+
var e = "onwheel" in i;
|
2221 |
+
if (!e) {
|
2222 |
+
var t = i.createElement("div");
|
2223 |
+
t.setAttribute("onwheel", "return;"), e = "function" == typeof t.onwheel
|
2224 |
+
}
|
2225 |
+
return !e && i.implementation && i.implementation.hasFeature && !0 !== i.implementation.hasFeature("", "") && (e = i.implementation.hasFeature("Events.wheel", "3.0")), e
|
2226 |
+
}() ? "wheel" : "mousewheel"
|
2227 |
+
},
|
2228 |
+
normalize: function (e) {
|
2229 |
+
var t = 0,
|
2230 |
+
i = 0,
|
2231 |
+
s = 0,
|
2232 |
+
a = 0;
|
2233 |
+
return "detail" in e && (i = e.detail), "wheelDelta" in e && (i = -e.wheelDelta / 120), "wheelDeltaY" in e && (i = -e.wheelDeltaY / 120), "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120), "axis" in e && e.axis === e.HORIZONTAL_AXIS && (t = i, i = 0), s = 10 * t, a = 10 * i, "deltaY" in e && (a = e.deltaY), "deltaX" in e && (s = e.deltaX), e.shiftKey && !s && (s = a, a = 0), (s || a) && e.deltaMode && (1 === e.deltaMode ? (s *= 40, a *= 40) : (s *= 800, a *= 800)), s && !t && (t = s < 1 ? -1 : 1), a && !i && (i = a < 1 ? -1 : 1), {
|
2234 |
+
spinX: t,
|
2235 |
+
spinY: i,
|
2236 |
+
pixelX: s,
|
2237 |
+
pixelY: a
|
2238 |
+
}
|
2239 |
+
},
|
2240 |
+
handleMouseEnter: function () {
|
2241 |
+
this.mouseEntered = !0
|
2242 |
+
},
|
2243 |
+
handleMouseLeave: function () {
|
2244 |
+
this.mouseEntered = !1
|
2245 |
+
},
|
2246 |
+
handle: function (e) {
|
2247 |
+
var t = e,
|
2248 |
+
i = this,
|
2249 |
+
s = i.params.mousewheel;
|
2250 |
+
i.params.cssMode && t.preventDefault();
|
2251 |
+
var a = i.$el;
|
2252 |
+
if ("container" !== i.params.mousewheel.eventsTarged && (a = n(i.params.mousewheel.eventsTarged)), !i.mouseEntered && !a[0].contains(t.target) && !s.releaseOnEdges) return !0;
|
2253 |
+
t.originalEvent && (t = t.originalEvent);
|
2254 |
+
var r = 0,
|
2255 |
+
o = i.rtlTranslate ? -1 : 1,
|
2256 |
+
l = re.normalize(t);
|
2257 |
+
if (s.forceToAxis)
|
2258 |
+
if (i.isHorizontal()) {
|
2259 |
+
if (!(Math.abs(l.pixelX) > Math.abs(l.pixelY))) return !0;
|
2260 |
+
r = -l.pixelX * o
|
2261 |
+
} else {
|
2262 |
+
if (!(Math.abs(l.pixelY) > Math.abs(l.pixelX))) return !0;
|
2263 |
+
r = -l.pixelY
|
2264 |
+
}
|
2265 |
+
else r = Math.abs(l.pixelX) > Math.abs(l.pixelY) ? -l.pixelX * o : -l.pixelY;
|
2266 |
+
if (0 === r) return !0;
|
2267 |
+
if (s.invert && (r = -r), i.params.freeMode) {
|
2268 |
+
var h = {
|
2269 |
+
time: d.now(),
|
2270 |
+
delta: Math.abs(r),
|
2271 |
+
direction: Math.sign(r)
|
2272 |
+
},
|
2273 |
+
p = i.mousewheel.lastEventBeforeSnap,
|
2274 |
+
c = p && h.time < p.time + 500 && h.delta <= p.delta && h.direction === p.direction;
|
2275 |
+
if (!c) {
|
2276 |
+
i.mousewheel.lastEventBeforeSnap = void 0, i.params.loop && i.loopFix();
|
2277 |
+
var u = i.getTranslate() + r * s.sensitivity,
|
2278 |
+
v = i.isBeginning,
|
2279 |
+
f = i.isEnd;
|
2280 |
+
if (u >= i.minTranslate() && (u = i.minTranslate()), u <= i.maxTranslate() && (u = i.maxTranslate()), i.setTransition(0), i.setTranslate(u), i.updateProgress(), i.updateActiveIndex(), i.updateSlidesClasses(), (!v && i.isBeginning || !f && i.isEnd) && i.updateSlidesClasses(), i.params.freeModeSticky) {
|
2281 |
+
clearTimeout(i.mousewheel.timeout), i.mousewheel.timeout = void 0;
|
2282 |
+
var m = i.mousewheel.recentWheelEvents;
|
2283 |
+
m.length >= 15 && m.shift();
|
2284 |
+
var g = m.length ? m[m.length - 1] : void 0,
|
2285 |
+
b = m[0];
|
2286 |
+
if (m.push(h), g && (h.delta > g.delta || h.direction !== g.direction)) m.splice(0);
|
2287 |
+
else if (m.length >= 15 && h.time - b.time < 500 && b.delta - h.delta >= 1 && h.delta <= 6) {
|
2288 |
+
var w = r > 0 ? .8 : .2;
|
2289 |
+
i.mousewheel.lastEventBeforeSnap = h, m.splice(0), i.mousewheel.timeout = d.nextTick((function () {
|
2290 |
+
i.slideToClosest(i.params.speed, !0, void 0, w)
|
2291 |
+
}), 0)
|
2292 |
+
}
|
2293 |
+
i.mousewheel.timeout || (i.mousewheel.timeout = d.nextTick((function () {
|
2294 |
+
i.mousewheel.lastEventBeforeSnap = h, m.splice(0), i.slideToClosest(i.params.speed, !0, void 0, .5)
|
2295 |
+
}), 500))
|
2296 |
+
}
|
2297 |
+
if (c || i.emit("scroll", t), i.params.autoplay && i.params.autoplayDisableOnInteraction && i.autoplay.stop(), u === i.minTranslate() || u === i.maxTranslate()) return !0
|
2298 |
+
}
|
2299 |
+
} else {
|
2300 |
+
var y = {
|
2301 |
+
time: d.now(),
|
2302 |
+
delta: Math.abs(r),
|
2303 |
+
direction: Math.sign(r),
|
2304 |
+
raw: e
|
2305 |
+
},
|
2306 |
+
x = i.mousewheel.recentWheelEvents;
|
2307 |
+
x.length >= 2 && x.shift();
|
2308 |
+
var E = x.length ? x[x.length - 1] : void 0;
|
2309 |
+
if (x.push(y), E ? (y.direction !== E.direction || y.delta > E.delta || y.time > E.time + 150) && i.mousewheel.animateSlider(y) : i.mousewheel.animateSlider(y), i.mousewheel.releaseScroll(y)) return !0
|
2310 |
+
}
|
2311 |
+
return t.preventDefault ? t.preventDefault() : t.returnValue = !1, !1
|
2312 |
+
},
|
2313 |
+
animateSlider: function (e) {
|
2314 |
+
return e.delta >= 6 && d.now() - this.mousewheel.lastScrollTime < 60 || (e.direction < 0 ? this.isEnd && !this.params.loop || this.animating || (this.slideNext(), this.emit("scroll", e.raw)) : this.isBeginning && !this.params.loop || this.animating || (this.slidePrev(), this.emit("scroll", e.raw)), this.mousewheel.lastScrollTime = (new a.Date).getTime(), !1)
|
2315 |
+
},
|
2316 |
+
releaseScroll: function (e) {
|
2317 |
+
var t = this.params.mousewheel;
|
2318 |
+
if (e.direction < 0) {
|
2319 |
+
if (this.isEnd && !this.params.loop && t.releaseOnEdges) return !0
|
2320 |
+
} else if (this.isBeginning && !this.params.loop && t.releaseOnEdges) return !0;
|
2321 |
+
return !1
|
2322 |
+
},
|
2323 |
+
enable: function () {
|
2324 |
+
var e = re.event();
|
2325 |
+
if (this.params.cssMode) return this.wrapperEl.removeEventListener(e, this.mousewheel.handle), !0;
|
2326 |
+
if (!e) return !1;
|
2327 |
+
if (this.mousewheel.enabled) return !1;
|
2328 |
+
var t = this.$el;
|
2329 |
+
return "container" !== this.params.mousewheel.eventsTarged && (t = n(this.params.mousewheel.eventsTarged)), t.on("mouseenter", this.mousewheel.handleMouseEnter), t.on("mouseleave", this.mousewheel.handleMouseLeave), t.on(e, this.mousewheel.handle), this.mousewheel.enabled = !0, !0
|
2330 |
+
},
|
2331 |
+
disable: function () {
|
2332 |
+
var e = re.event();
|
2333 |
+
if (this.params.cssMode) return this.wrapperEl.addEventListener(e, this.mousewheel.handle), !0;
|
2334 |
+
if (!e) return !1;
|
2335 |
+
if (!this.mousewheel.enabled) return !1;
|
2336 |
+
var t = this.$el;
|
2337 |
+
return "container" !== this.params.mousewheel.eventsTarged && (t = n(this.params.mousewheel.eventsTarged)), t.off(e, this.mousewheel.handle), this.mousewheel.enabled = !1, !0
|
2338 |
+
}
|
2339 |
+
},
|
2340 |
+
ne = {
|
2341 |
+
update: function () {
|
2342 |
+
var e = this.params.navigation;
|
2343 |
+
if (!this.params.loop) {
|
2344 |
+
var t = this.navigation,
|
2345 |
+
i = t.$nextEl,
|
2346 |
+
s = t.$prevEl;
|
2347 |
+
s && s.length > 0 && (this.isBeginning ? s.addClass(e.disabledClass) : s.removeClass(e.disabledClass), s[this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass"](e.lockClass)), i && i.length > 0 && (this.isEnd ? i.addClass(e.disabledClass) : i.removeClass(e.disabledClass), i[this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass"](e.lockClass))
|
2348 |
+
}
|
2349 |
+
},
|
2350 |
+
onPrevClick: function (e) {
|
2351 |
+
e.preventDefault(), this.isBeginning && !this.params.loop || this.slidePrev()
|
2352 |
+
},
|
2353 |
+
onNextClick: function (e) {
|
2354 |
+
e.preventDefault(), this.isEnd && !this.params.loop || this.slideNext()
|
2355 |
+
},
|
2356 |
+
init: function () {
|
2357 |
+
var e, t, i = this.params.navigation;
|
2358 |
+
(i.nextEl || i.prevEl) && (i.nextEl && (e = n(i.nextEl), this.params.uniqueNavElements && "string" == typeof i.nextEl && e.length > 1 && 1 === this.$el.find(i.nextEl).length && (e = this.$el.find(i.nextEl))), i.prevEl && (t = n(i.prevEl), this.params.uniqueNavElements && "string" == typeof i.prevEl && t.length > 1 && 1 === this.$el.find(i.prevEl).length && (t = this.$el.find(i.prevEl))), e && e.length > 0 && e.on("click", this.navigation.onNextClick), t && t.length > 0 && t.on("click", this.navigation.onPrevClick), d.extend(this.navigation, {
|
2359 |
+
$nextEl: e,
|
2360 |
+
nextEl: e && e[0],
|
2361 |
+
$prevEl: t,
|
2362 |
+
prevEl: t && t[0]
|
2363 |
+
}))
|
2364 |
+
},
|
2365 |
+
destroy: function () {
|
2366 |
+
var e = this.navigation,
|
2367 |
+
t = e.$nextEl,
|
2368 |
+
i = e.$prevEl;
|
2369 |
+
t && t.length && (t.off("click", this.navigation.onNextClick), t.removeClass(this.params.navigation.disabledClass)), i && i.length && (i.off("click", this.navigation.onPrevClick), i.removeClass(this.params.navigation.disabledClass))
|
2370 |
+
}
|
2371 |
+
},
|
2372 |
+
oe = {
|
2373 |
+
update: function () {
|
2374 |
+
var e = this.rtl,
|
2375 |
+
t = this.params.pagination;
|
2376 |
+
if (t.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length) {
|
2377 |
+
var i, s = this.virtual && this.params.virtual.enabled ? this.virtual.slides.length : this.slides.length,
|
2378 |
+
a = this.pagination.$el,
|
2379 |
+
r = this.params.loop ? Math.ceil((s - 2 * this.loopedSlides) / this.params.slidesPerGroup) : this.snapGrid.length;
|
2380 |
+
if (this.params.loop ? ((i = Math.ceil((this.activeIndex - this.loopedSlides) / this.params.slidesPerGroup)) > s - 1 - 2 * this.loopedSlides && (i -= s - 2 * this.loopedSlides), i > r - 1 && (i -= r), i < 0 && "bullets" !== this.params.paginationType && (i = r + i)) : i = void 0 !== this.snapIndex ? this.snapIndex : this.activeIndex || 0, "bullets" === t.type && this.pagination.bullets && this.pagination.bullets.length > 0) {
|
2381 |
+
var o, l, d, h = this.pagination.bullets;
|
2382 |
+
if (t.dynamicBullets && (this.pagination.bulletSize = h.eq(0)[this.isHorizontal() ? "outerWidth" : "outerHeight"](!0), a.css(this.isHorizontal() ? "width" : "height", this.pagination.bulletSize * (t.dynamicMainBullets + 4) + "px"), t.dynamicMainBullets > 1 && void 0 !== this.previousIndex && (this.pagination.dynamicBulletIndex += i - this.previousIndex, this.pagination.dynamicBulletIndex > t.dynamicMainBullets - 1 ? this.pagination.dynamicBulletIndex = t.dynamicMainBullets - 1 : this.pagination.dynamicBulletIndex < 0 && (this.pagination.dynamicBulletIndex = 0)), o = i - this.pagination.dynamicBulletIndex, d = ((l = o + (Math.min(h.length, t.dynamicMainBullets) - 1)) + o) / 2), h.removeClass(t.bulletActiveClass + " " + t.bulletActiveClass + "-next " + t.bulletActiveClass + "-next-next " + t.bulletActiveClass + "-prev " + t.bulletActiveClass + "-prev-prev " + t.bulletActiveClass + "-main"), a.length > 1) h.each((function (e, s) {
|
2383 |
+
var a = n(s),
|
2384 |
+
r = a.index();
|
2385 |
+
r === i && a.addClass(t.bulletActiveClass), t.dynamicBullets && (r >= o && r <= l && a.addClass(t.bulletActiveClass + "-main"), r === o && a.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(t.bulletActiveClass + "-prev-prev"), r === l && a.next().addClass(t.bulletActiveClass + "-next").next().addClass(t.bulletActiveClass + "-next-next"))
|
2386 |
+
}));
|
2387 |
+
else {
|
2388 |
+
var p = h.eq(i),
|
2389 |
+
c = p.index();
|
2390 |
+
if (p.addClass(t.bulletActiveClass), t.dynamicBullets) {
|
2391 |
+
for (var u = h.eq(o), v = h.eq(l), f = o; f <= l; f += 1) h.eq(f).addClass(t.bulletActiveClass + "-main");
|
2392 |
+
if (this.params.loop)
|
2393 |
+
if (c >= h.length - t.dynamicMainBullets) {
|
2394 |
+
for (var m = t.dynamicMainBullets; m >= 0; m -= 1) h.eq(h.length - m).addClass(t.bulletActiveClass + "-main");
|
2395 |
+
h.eq(h.length - t.dynamicMainBullets - 1).addClass(t.bulletActiveClass + "-prev")
|
2396 |
+
} else u.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(t.bulletActiveClass + "-prev-prev"), v.next().addClass(t.bulletActiveClass + "-next").next().addClass(t.bulletActiveClass + "-next-next");
|
2397 |
+
else u.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(t.bulletActiveClass + "-prev-prev"), v.next().addClass(t.bulletActiveClass + "-next").next().addClass(t.bulletActiveClass + "-next-next")
|
2398 |
+
}
|
2399 |
+
}
|
2400 |
+
if (t.dynamicBullets) {
|
2401 |
+
var g = Math.min(h.length, t.dynamicMainBullets + 4),
|
2402 |
+
b = (this.pagination.bulletSize * g - this.pagination.bulletSize) / 2 - d * this.pagination.bulletSize,
|
2403 |
+
w = e ? "right" : "left";
|
2404 |
+
h.css(this.isHorizontal() ? w : "top", b + "px")
|
2405 |
+
}
|
2406 |
+
}
|
2407 |
+
if ("fraction" === t.type && (a.find("." + t.currentClass).text(t.formatFractionCurrent(i + 1)), a.find("." + t.totalClass).text(t.formatFractionTotal(r))), "progressbar" === t.type) {
|
2408 |
+
var y;
|
2409 |
+
y = t.progressbarOpposite ? this.isHorizontal() ? "vertical" : "horizontal" : this.isHorizontal() ? "horizontal" : "vertical";
|
2410 |
+
var x = (i + 1) / r,
|
2411 |
+
E = 1,
|
2412 |
+
T = 1;
|
2413 |
+
"horizontal" === y ? E = x : T = x, a.find("." + t.progressbarFillClass).transform("translate3d(0,0,0) scaleX(" + E + ") scaleY(" + T + ")").transition(this.params.speed)
|
2414 |
+
}
|
2415 |
+
"custom" === t.type && t.renderCustom ? (a.html(t.renderCustom(this, i + 1, r)), this.emit("paginationRender", this, a[0])) : this.emit("paginationUpdate", this, a[0]), a[this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass"](t.lockClass)
|
2416 |
+
}
|
2417 |
+
},
|
2418 |
+
render: function () {
|
2419 |
+
var e = this.params.pagination;
|
2420 |
+
if (e.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length) {
|
2421 |
+
var t = this.virtual && this.params.virtual.enabled ? this.virtual.slides.length : this.slides.length,
|
2422 |
+
i = this.pagination.$el,
|
2423 |
+
s = "";
|
2424 |
+
if ("bullets" === e.type) {
|
2425 |
+
for (var a = this.params.loop ? Math.ceil((t - 2 * this.loopedSlides) / this.params.slidesPerGroup) : this.snapGrid.length, r = 0; r < a; r += 1) e.renderBullet ? s += e.renderBullet.call(this, r, e.bulletClass) : s += "<" + e.bulletElement + ' class="' + e.bulletClass + '"></' + e.bulletElement + ">";
|
2426 |
+
i.html(s), this.pagination.bullets = i.find("." + e.bulletClass)
|
2427 |
+
}
|
2428 |
+
"fraction" === e.type && (s = e.renderFraction ? e.renderFraction.call(this, e.currentClass, e.totalClass) : '<span class="' + e.currentClass + '"></span> / <span class="' + e.totalClass + '"></span>', i.html(s)), "progressbar" === e.type && (s = e.renderProgressbar ? e.renderProgressbar.call(this, e.progressbarFillClass) : '<span class="' + e.progressbarFillClass + '"></span>', i.html(s)), "custom" !== e.type && this.emit("paginationRender", this.pagination.$el[0])
|
2429 |
+
}
|
2430 |
+
},
|
2431 |
+
init: function () {
|
2432 |
+
var e = this,
|
2433 |
+
t = e.params.pagination;
|
2434 |
+
if (t.el) {
|
2435 |
+
var i = n(t.el);
|
2436 |
+
0 !== i.length && (e.params.uniqueNavElements && "string" == typeof t.el && i.length > 1 && (i = e.$el.find(t.el)), "bullets" === t.type && t.clickable && i.addClass(t.clickableClass), i.addClass(t.modifierClass + t.type), "bullets" === t.type && t.dynamicBullets && (i.addClass("" + t.modifierClass + t.type + "-dynamic"), e.pagination.dynamicBulletIndex = 0, t.dynamicMainBullets < 1 && (t.dynamicMainBullets = 1)), "progressbar" === t.type && t.progressbarOpposite && i.addClass(t.progressbarOppositeClass), t.clickable && i.on("click", "." + t.bulletClass, (function (t) {
|
2437 |
+
t.preventDefault();
|
2438 |
+
var i = n(this).index() * e.params.slidesPerGroup;
|
2439 |
+
e.params.loop && (i += e.loopedSlides), e.slideTo(i)
|
2440 |
+
})), d.extend(e.pagination, {
|
2441 |
+
$el: i,
|
2442 |
+
el: i[0]
|
2443 |
+
}))
|
2444 |
+
}
|
2445 |
+
},
|
2446 |
+
destroy: function () {
|
2447 |
+
var e = this.params.pagination;
|
2448 |
+
if (e.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length) {
|
2449 |
+
var t = this.pagination.$el;
|
2450 |
+
t.removeClass(e.hiddenClass), t.removeClass(e.modifierClass + e.type), this.pagination.bullets && this.pagination.bullets.removeClass(e.bulletActiveClass), e.clickable && t.off("click", "." + e.bulletClass)
|
2451 |
+
}
|
2452 |
+
}
|
2453 |
+
},
|
2454 |
+
le = {
|
2455 |
+
setTranslate: function () {
|
2456 |
+
if (this.params.scrollbar.el && this.scrollbar.el) {
|
2457 |
+
var e = this.scrollbar,
|
2458 |
+
t = this.rtlTranslate,
|
2459 |
+
i = this.progress,
|
2460 |
+
s = e.dragSize,
|
2461 |
+
a = e.trackSize,
|
2462 |
+
r = e.$dragEl,
|
2463 |
+
n = e.$el,
|
2464 |
+
o = this.params.scrollbar,
|
2465 |
+
l = s,
|
2466 |
+
d = (a - s) * i;
|
2467 |
+
t ? (d = -d) > 0 ? (l = s - d, d = 0) : -d + s > a && (l = a + d) : d < 0 ? (l = s + d, d = 0) : d + s > a && (l = a - d), this.isHorizontal() ? (r.transform("translate3d(" + d + "px, 0, 0)"), r[0].style.width = l + "px") : (r.transform("translate3d(0px, " + d + "px, 0)"), r[0].style.height = l + "px"), o.hide && (clearTimeout(this.scrollbar.timeout), n[0].style.opacity = 1, this.scrollbar.timeout = setTimeout((function () {
|
2468 |
+
n[0].style.opacity = 0, n.transition(400)
|
2469 |
+
}), 1e3))
|
2470 |
+
}
|
2471 |
+
},
|
2472 |
+
setTransition: function (e) {
|
2473 |
+
this.params.scrollbar.el && this.scrollbar.el && this.scrollbar.$dragEl.transition(e)
|
2474 |
+
},
|
2475 |
+
updateSize: function () {
|
2476 |
+
if (this.params.scrollbar.el && this.scrollbar.el) {
|
2477 |
+
var e = this.scrollbar,
|
2478 |
+
t = e.$dragEl,
|
2479 |
+
i = e.$el;
|
2480 |
+
t[0].style.width = "", t[0].style.height = "";
|
2481 |
+
var s, a = this.isHorizontal() ? i[0].offsetWidth : i[0].offsetHeight,
|
2482 |
+
r = this.size / this.virtualSize,
|
2483 |
+
n = r * (a / this.size);
|
2484 |
+
s = "auto" === this.params.scrollbar.dragSize ? a * r : parseInt(this.params.scrollbar.dragSize, 10), this.isHorizontal() ? t[0].style.width = s + "px" : t[0].style.height = s + "px", i[0].style.display = r >= 1 ? "none" : "", this.params.scrollbar.hide && (i[0].style.opacity = 0), d.extend(e, {
|
2485 |
+
trackSize: a,
|
2486 |
+
divider: r,
|
2487 |
+
moveDivider: n,
|
2488 |
+
dragSize: s
|
2489 |
+
}), e.$el[this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass"](this.params.scrollbar.lockClass)
|
2490 |
+
}
|
2491 |
+
},
|
2492 |
+
getPointerPosition: function (e) {
|
2493 |
+
return this.isHorizontal() ? "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].clientX : e.clientX : "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].clientY : e.clientY
|
2494 |
+
},
|
2495 |
+
setDragPosition: function (e) {
|
2496 |
+
var t, i = this.scrollbar,
|
2497 |
+
s = this.rtlTranslate,
|
2498 |
+
a = i.$el,
|
2499 |
+
r = i.dragSize,
|
2500 |
+
n = i.trackSize,
|
2501 |
+
o = i.dragStartPos;
|
2502 |
+
t = (i.getPointerPosition(e) - a.offset()[this.isHorizontal() ? "left" : "top"] - (null !== o ? o : r / 2)) / (n - r), t = Math.max(Math.min(t, 1), 0), s && (t = 1 - t);
|
2503 |
+
var l = this.minTranslate() + (this.maxTranslate() - this.minTranslate()) * t;
|
2504 |
+
this.updateProgress(l), this.setTranslate(l), this.updateActiveIndex(), this.updateSlidesClasses()
|
2505 |
+
},
|
2506 |
+
onDragStart: function (e) {
|
2507 |
+
var t = this.params.scrollbar,
|
2508 |
+
i = this.scrollbar,
|
2509 |
+
s = this.$wrapperEl,
|
2510 |
+
a = i.$el,
|
2511 |
+
r = i.$dragEl;
|
2512 |
+
this.scrollbar.isTouched = !0, this.scrollbar.dragStartPos = e.target === r[0] || e.target === r ? i.getPointerPosition(e) - e.target.getBoundingClientRect()[this.isHorizontal() ? "left" : "top"] : null, e.preventDefault(), e.stopPropagation(), s.transition(100), r.transition(100), i.setDragPosition(e), clearTimeout(this.scrollbar.dragTimeout), a.transition(0), t.hide && a.css("opacity", 1), this.params.cssMode && this.$wrapperEl.css("scroll-snap-type", "none"), this.emit("scrollbarDragStart", e)
|
2513 |
+
},
|
2514 |
+
onDragMove: function (e) {
|
2515 |
+
var t = this.scrollbar,
|
2516 |
+
i = this.$wrapperEl,
|
2517 |
+
s = t.$el,
|
2518 |
+
a = t.$dragEl;
|
2519 |
+
this.scrollbar.isTouched && (e.preventDefault ? e.preventDefault() : e.returnValue = !1, t.setDragPosition(e), i.transition(0), s.transition(0), a.transition(0), this.emit("scrollbarDragMove", e))
|
2520 |
+
},
|
2521 |
+
onDragEnd: function (e) {
|
2522 |
+
var t = this.params.scrollbar,
|
2523 |
+
i = this.scrollbar,
|
2524 |
+
s = this.$wrapperEl,
|
2525 |
+
a = i.$el;
|
2526 |
+
this.scrollbar.isTouched && (this.scrollbar.isTouched = !1, this.params.cssMode && (this.$wrapperEl.css("scroll-snap-type", ""), s.transition("")), t.hide && (clearTimeout(this.scrollbar.dragTimeout), this.scrollbar.dragTimeout = d.nextTick((function () {
|
2527 |
+
a.css("opacity", 0), a.transition(400)
|
2528 |
+
}), 1e3)), this.emit("scrollbarDragEnd", e), t.snapOnRelease && this.slideToClosest())
|
2529 |
+
},
|
2530 |
+
enableDraggable: function () {
|
2531 |
+
if (this.params.scrollbar.el) {
|
2532 |
+
var e = this.scrollbar,
|
2533 |
+
t = this.touchEventsTouch,
|
2534 |
+
s = this.touchEventsDesktop,
|
2535 |
+
a = this.params,
|
2536 |
+
r = e.$el[0],
|
2537 |
+
n = !(!h.passiveListener || !a.passiveListeners) && {
|
2538 |
+
passive: !1,
|
2539 |
+
capture: !1
|
2540 |
+
},
|
2541 |
+
o = !(!h.passiveListener || !a.passiveListeners) && {
|
2542 |
+
passive: !0,
|
2543 |
+
capture: !1
|
2544 |
+
};
|
2545 |
+
h.touch ? (r.addEventListener(t.start, this.scrollbar.onDragStart, n), r.addEventListener(t.move, this.scrollbar.onDragMove, n), r.addEventListener(t.end, this.scrollbar.onDragEnd, o)) : (r.addEventListener(s.start, this.scrollbar.onDragStart, n), i.addEventListener(s.move, this.scrollbar.onDragMove, n), i.addEventListener(s.end, this.scrollbar.onDragEnd, o))
|
2546 |
+
}
|
2547 |
+
},
|
2548 |
+
disableDraggable: function () {
|
2549 |
+
if (this.params.scrollbar.el) {
|
2550 |
+
var e = this.scrollbar,
|
2551 |
+
t = this.touchEventsTouch,
|
2552 |
+
s = this.touchEventsDesktop,
|
2553 |
+
a = this.params,
|
2554 |
+
r = e.$el[0],
|
2555 |
+
n = !(!h.passiveListener || !a.passiveListeners) && {
|
2556 |
+
passive: !1,
|
2557 |
+
capture: !1
|
2558 |
+
},
|
2559 |
+
o = !(!h.passiveListener || !a.passiveListeners) && {
|
2560 |
+
passive: !0,
|
2561 |
+
capture: !1
|
2562 |
+
};
|
2563 |
+
h.touch ? (r.removeEventListener(t.start, this.scrollbar.onDragStart, n), r.removeEventListener(t.move, this.scrollbar.onDragMove, n), r.removeEventListener(t.end, this.scrollbar.onDragEnd, o)) : (r.removeEventListener(s.start, this.scrollbar.onDragStart, n), i.removeEventListener(s.move, this.scrollbar.onDragMove, n), i.removeEventListener(s.end, this.scrollbar.onDragEnd, o))
|
2564 |
+
}
|
2565 |
+
},
|
2566 |
+
init: function () {
|
2567 |
+
if (this.params.scrollbar.el) {
|
2568 |
+
var e = this.scrollbar,
|
2569 |
+
t = this.$el,
|
2570 |
+
i = this.params.scrollbar,
|
2571 |
+
s = n(i.el);
|
2572 |
+
this.params.uniqueNavElements && "string" == typeof i.el && s.length > 1 && 1 === t.find(i.el).length && (s = t.find(i.el));
|
2573 |
+
var a = s.find("." + this.params.scrollbar.dragClass);
|
2574 |
+
0 === a.length && (a = n('<div class="' + this.params.scrollbar.dragClass + '"></div>'), s.append(a)), d.extend(e, {
|
2575 |
+
$el: s,
|
2576 |
+
el: s[0],
|
2577 |
+
$dragEl: a,
|
2578 |
+
dragEl: a[0]
|
2579 |
+
}), i.draggable && e.enableDraggable()
|
2580 |
+
}
|
2581 |
+
},
|
2582 |
+
destroy: function () {
|
2583 |
+
this.scrollbar.disableDraggable()
|
2584 |
+
}
|
2585 |
+
},
|
2586 |
+
de = {
|
2587 |
+
setTransform: function (e, t) {
|
2588 |
+
var i = this.rtl,
|
2589 |
+
s = n(e),
|
2590 |
+
a = i ? -1 : 1,
|
2591 |
+
r = s.attr("data-swiper-parallax") || "0",
|
2592 |
+
o = s.attr("data-swiper-parallax-x"),
|
2593 |
+
l = s.attr("data-swiper-parallax-y"),
|
2594 |
+
d = s.attr("data-swiper-parallax-scale"),
|
2595 |
+
h = s.attr("data-swiper-parallax-opacity");
|
2596 |
+
if (o || l ? (o = o || "0", l = l || "0") : this.isHorizontal() ? (o = r, l = "0") : (l = r, o = "0"), o = o.indexOf("%") >= 0 ? parseInt(o, 10) * t * a + "%" : o * t * a + "px", l = l.indexOf("%") >= 0 ? parseInt(l, 10) * t + "%" : l * t + "px", null != h) {
|
2597 |
+
var p = h - (h - 1) * (1 - Math.abs(t));
|
2598 |
+
s[0].style.opacity = p
|
2599 |
+
}
|
2600 |
+
if (null == d) s.transform("translate3d(" + o + ", " + l + ", 0px)");
|
2601 |
+
else {
|
2602 |
+
var c = d - (d - 1) * (1 - Math.abs(t));
|
2603 |
+
s.transform("translate3d(" + o + ", " + l + ", 0px) scale(" + c + ")")
|
2604 |
+
}
|
2605 |
+
},
|
2606 |
+
setTranslate: function () {
|
2607 |
+
var e = this,
|
2608 |
+
t = e.$el,
|
2609 |
+
i = e.slides,
|
2610 |
+
s = e.progress,
|
2611 |
+
a = e.snapGrid;
|
2612 |
+
t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function (t, i) {
|
2613 |
+
e.parallax.setTransform(i, s)
|
2614 |
+
})), i.each((function (t, i) {
|
2615 |
+
var r = i.progress;
|
2616 |
+
e.params.slidesPerGroup > 1 && "auto" !== e.params.slidesPerView && (r += Math.ceil(t / 2) - s * (a.length - 1)), r = Math.min(Math.max(r, -1), 1), n(i).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function (t, i) {
|
2617 |
+
e.parallax.setTransform(i, r)
|
2618 |
+
}))
|
2619 |
+
}))
|
2620 |
+
},
|
2621 |
+
setTransition: function (e) {
|
2622 |
+
void 0 === e && (e = this.params.speed);
|
2623 |
+
this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function (t, i) {
|
2624 |
+
var s = n(i),
|
2625 |
+
a = parseInt(s.attr("data-swiper-parallax-duration"), 10) || e;
|
2626 |
+
0 === e && (a = 0), s.transition(a)
|
2627 |
+
}))
|
2628 |
+
}
|
2629 |
+
},
|
2630 |
+
he = {
|
2631 |
+
getDistanceBetweenTouches: function (e) {
|
2632 |
+
if (e.targetTouches.length < 2) return 1;
|
2633 |
+
var t = e.targetTouches[0].pageX,
|
2634 |
+
i = e.targetTouches[0].pageY,
|
2635 |
+
s = e.targetTouches[1].pageX,
|
2636 |
+
a = e.targetTouches[1].pageY;
|
2637 |
+
return Math.sqrt(Math.pow(s - t, 2) + Math.pow(a - i, 2))
|
2638 |
+
},
|
2639 |
+
onGestureStart: function (e) {
|
2640 |
+
var t = this.params.zoom,
|
2641 |
+
i = this.zoom,
|
2642 |
+
s = i.gesture;
|
2643 |
+
if (i.fakeGestureTouched = !1, i.fakeGestureMoved = !1, !h.gestures) {
|
2644 |
+
if ("touchstart" !== e.type || "touchstart" === e.type && e.targetTouches.length < 2) return;
|
2645 |
+
i.fakeGestureTouched = !0, s.scaleStart = he.getDistanceBetweenTouches(e)
|
2646 |
+
}
|
2647 |
+
s.$slideEl && s.$slideEl.length || (s.$slideEl = n(e.target).closest("." + this.params.slideClass), 0 === s.$slideEl.length && (s.$slideEl = this.slides.eq(this.activeIndex)), s.$imageEl = s.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), s.$imageWrapEl = s.$imageEl.parent("." + t.containerClass), s.maxRatio = s.$imageWrapEl.attr("data-swiper-zoom") || t.maxRatio, 0 !== s.$imageWrapEl.length) ? (s.$imageEl && s.$imageEl.transition(0), this.zoom.isScaling = !0) : s.$imageEl = void 0
|
2648 |
+
},
|
2649 |
+
onGestureChange: function (e) {
|
2650 |
+
var t = this.params.zoom,
|
2651 |
+
i = this.zoom,
|
2652 |
+
s = i.gesture;
|
2653 |
+
if (!h.gestures) {
|
2654 |
+
if ("touchmove" !== e.type || "touchmove" === e.type && e.targetTouches.length < 2) return;
|
2655 |
+
i.fakeGestureMoved = !0, s.scaleMove = he.getDistanceBetweenTouches(e)
|
2656 |
+
}
|
2657 |
+
s.$imageEl && 0 !== s.$imageEl.length && (i.scale = h.gestures ? e.scale * i.currentScale : s.scaleMove / s.scaleStart * i.currentScale, i.scale > s.maxRatio && (i.scale = s.maxRatio - 1 + Math.pow(i.scale - s.maxRatio + 1, .5)), i.scale < t.minRatio && (i.scale = t.minRatio + 1 - Math.pow(t.minRatio - i.scale + 1, .5)), s.$imageEl.transform("translate3d(0,0,0) scale(" + i.scale + ")"))
|
2658 |
+
},
|
2659 |
+
onGestureEnd: function (e) {
|
2660 |
+
var t = this.params.zoom,
|
2661 |
+
i = this.zoom,
|
2662 |
+
s = i.gesture;
|
2663 |
+
if (!h.gestures) {
|
2664 |
+
if (!i.fakeGestureTouched || !i.fakeGestureMoved) return;
|
2665 |
+
if ("touchend" !== e.type || "touchend" === e.type && e.changedTouches.length < 2 && !A.android) return;
|
2666 |
+
i.fakeGestureTouched = !1, i.fakeGestureMoved = !1
|
2667 |
+
}
|
2668 |
+
s.$imageEl && 0 !== s.$imageEl.length && (i.scale = Math.max(Math.min(i.scale, s.maxRatio), t.minRatio), s.$imageEl.transition(this.params.speed).transform("translate3d(0,0,0) scale(" + i.scale + ")"), i.currentScale = i.scale, i.isScaling = !1, 1 === i.scale && (s.$slideEl = void 0))
|
2669 |
+
},
|
2670 |
+
onTouchStart: function (e) {
|
2671 |
+
var t = this.zoom,
|
2672 |
+
i = t.gesture,
|
2673 |
+
s = t.image;
|
2674 |
+
i.$imageEl && 0 !== i.$imageEl.length && (s.isTouched || (A.android && e.cancelable && e.preventDefault(), s.isTouched = !0, s.touchesStart.x = "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX, s.touchesStart.y = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY))
|
2675 |
+
},
|
2676 |
+
onTouchMove: function (e) {
|
2677 |
+
var t = this.zoom,
|
2678 |
+
i = t.gesture,
|
2679 |
+
s = t.image,
|
2680 |
+
a = t.velocity;
|
2681 |
+
if (i.$imageEl && 0 !== i.$imageEl.length && (this.allowClick = !1, s.isTouched && i.$slideEl)) {
|
2682 |
+
s.isMoved || (s.width = i.$imageEl[0].offsetWidth, s.height = i.$imageEl[0].offsetHeight, s.startX = d.getTranslate(i.$imageWrapEl[0], "x") || 0, s.startY = d.getTranslate(i.$imageWrapEl[0], "y") || 0, i.slideWidth = i.$slideEl[0].offsetWidth, i.slideHeight = i.$slideEl[0].offsetHeight, i.$imageWrapEl.transition(0), this.rtl && (s.startX = -s.startX, s.startY = -s.startY));
|
2683 |
+
var r = s.width * t.scale,
|
2684 |
+
n = s.height * t.scale;
|
2685 |
+
if (!(r < i.slideWidth && n < i.slideHeight)) {
|
2686 |
+
if (s.minX = Math.min(i.slideWidth / 2 - r / 2, 0), s.maxX = -s.minX, s.minY = Math.min(i.slideHeight / 2 - n / 2, 0), s.maxY = -s.minY, s.touchesCurrent.x = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX, s.touchesCurrent.y = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY, !s.isMoved && !t.isScaling) {
|
2687 |
+
if (this.isHorizontal() && (Math.floor(s.minX) === Math.floor(s.startX) && s.touchesCurrent.x < s.touchesStart.x || Math.floor(s.maxX) === Math.floor(s.startX) && s.touchesCurrent.x > s.touchesStart.x)) return void(s.isTouched = !1);
|
2688 |
+
if (!this.isHorizontal() && (Math.floor(s.minY) === Math.floor(s.startY) && s.touchesCurrent.y < s.touchesStart.y || Math.floor(s.maxY) === Math.floor(s.startY) && s.touchesCurrent.y > s.touchesStart.y)) return void(s.isTouched = !1)
|
2689 |
+
}
|
2690 |
+
e.cancelable && e.preventDefault(), e.stopPropagation(), s.isMoved = !0, s.currentX = s.touchesCurrent.x - s.touchesStart.x + s.startX, s.currentY = s.touchesCurrent.y - s.touchesStart.y + s.startY, s.currentX < s.minX && (s.currentX = s.minX + 1 - Math.pow(s.minX - s.currentX + 1, .8)), s.currentX > s.maxX && (s.currentX = s.maxX - 1 + Math.pow(s.currentX - s.maxX + 1, .8)), s.currentY < s.minY && (s.currentY = s.minY + 1 - Math.pow(s.minY - s.currentY + 1, .8)), s.currentY > s.maxY && (s.currentY = s.maxY - 1 + Math.pow(s.currentY - s.maxY + 1, .8)), a.prevPositionX || (a.prevPositionX = s.touchesCurrent.x), a.prevPositionY || (a.prevPositionY = s.touchesCurrent.y), a.prevTime || (a.prevTime = Date.now()), a.x = (s.touchesCurrent.x - a.prevPositionX) / (Date.now() - a.prevTime) / 2, a.y = (s.touchesCurrent.y - a.prevPositionY) / (Date.now() - a.prevTime) / 2, Math.abs(s.touchesCurrent.x - a.prevPositionX) < 2 && (a.x = 0), Math.abs(s.touchesCurrent.y - a.prevPositionY) < 2 && (a.y = 0), a.prevPositionX = s.touchesCurrent.x, a.prevPositionY = s.touchesCurrent.y, a.prevTime = Date.now(), i.$imageWrapEl.transform("translate3d(" + s.currentX + "px, " + s.currentY + "px,0)")
|
2691 |
+
}
|
2692 |
+
}
|
2693 |
+
},
|
2694 |
+
onTouchEnd: function () {
|
2695 |
+
var e = this.zoom,
|
2696 |
+
t = e.gesture,
|
2697 |
+
i = e.image,
|
2698 |
+
s = e.velocity;
|
2699 |
+
if (t.$imageEl && 0 !== t.$imageEl.length) {
|
2700 |
+
if (!i.isTouched || !i.isMoved) return i.isTouched = !1, void(i.isMoved = !1);
|
2701 |
+
i.isTouched = !1, i.isMoved = !1;
|
2702 |
+
var a = 300,
|
2703 |
+
r = 300,
|
2704 |
+
n = s.x * a,
|
2705 |
+
o = i.currentX + n,
|
2706 |
+
l = s.y * r,
|
2707 |
+
d = i.currentY + l;
|
2708 |
+
0 !== s.x && (a = Math.abs((o - i.currentX) / s.x)), 0 !== s.y && (r = Math.abs((d - i.currentY) / s.y));
|
2709 |
+
var h = Math.max(a, r);
|
2710 |
+
i.currentX = o, i.currentY = d;
|
2711 |
+
var p = i.width * e.scale,
|
2712 |
+
c = i.height * e.scale;
|
2713 |
+
i.minX = Math.min(t.slideWidth / 2 - p / 2, 0), i.maxX = -i.minX, i.minY = Math.min(t.slideHeight / 2 - c / 2, 0), i.maxY = -i.minY, i.currentX = Math.max(Math.min(i.currentX, i.maxX), i.minX), i.currentY = Math.max(Math.min(i.currentY, i.maxY), i.minY), t.$imageWrapEl.transition(h).transform("translate3d(" + i.currentX + "px, " + i.currentY + "px,0)")
|
2714 |
+
}
|
2715 |
+
},
|
2716 |
+
onTransitionEnd: function () {
|
2717 |
+
var e = this.zoom,
|
2718 |
+
t = e.gesture;
|
2719 |
+
t.$slideEl && this.previousIndex !== this.activeIndex && (t.$imageEl && t.$imageEl.transform("translate3d(0,0,0) scale(1)"), t.$imageWrapEl && t.$imageWrapEl.transform("translate3d(0,0,0)"), e.scale = 1, e.currentScale = 1, t.$slideEl = void 0, t.$imageEl = void 0, t.$imageWrapEl = void 0)
|
2720 |
+
},
|
2721 |
+
toggle: function (e) {
|
2722 |
+
var t = this.zoom;
|
2723 |
+
t.scale && 1 !== t.scale ? t.out() : t.in(e)
|
2724 |
+
},
|
2725 |
+
in: function (e) {
|
2726 |
+
var t, i, s, a, r, n, o, l, d, h, p, c, u, v, f, m, g = this.zoom,
|
2727 |
+
b = this.params.zoom,
|
2728 |
+
w = g.gesture,
|
2729 |
+
y = g.image;
|
2730 |
+
(w.$slideEl || (this.params.virtual && this.params.virtual.enabled && this.virtual ? w.$slideEl = this.$wrapperEl.children("." + this.params.slideActiveClass) : w.$slideEl = this.slides.eq(this.activeIndex), w.$imageEl = w.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), w.$imageWrapEl = w.$imageEl.parent("." + b.containerClass)), w.$imageEl && 0 !== w.$imageEl.length) && (w.$slideEl.addClass("" + b.zoomedSlideClass), void 0 === y.touchesStart.x && e ? (t = "touchend" === e.type ? e.changedTouches[0].pageX : e.pageX, i = "touchend" === e.type ? e.changedTouches[0].pageY : e.pageY) : (t = y.touchesStart.x, i = y.touchesStart.y), g.scale = w.$imageWrapEl.attr("data-swiper-zoom") || b.maxRatio, g.currentScale = w.$imageWrapEl.attr("data-swiper-zoom") || b.maxRatio, e ? (f = w.$slideEl[0].offsetWidth, m = w.$slideEl[0].offsetHeight, s = w.$slideEl.offset().left + f / 2 - t, a = w.$slideEl.offset().top + m / 2 - i, o = w.$imageEl[0].offsetWidth, l = w.$imageEl[0].offsetHeight, d = o * g.scale, h = l * g.scale, u = -(p = Math.min(f / 2 - d / 2, 0)), v = -(c = Math.min(m / 2 - h / 2, 0)), (r = s * g.scale) < p && (r = p), r > u && (r = u), (n = a * g.scale) < c && (n = c), n > v && (n = v)) : (r = 0, n = 0), w.$imageWrapEl.transition(300).transform("translate3d(" + r + "px, " + n + "px,0)"), w.$imageEl.transition(300).transform("translate3d(0,0,0) scale(" + g.scale + ")"))
|
2731 |
+
},
|
2732 |
+
out: function () {
|
2733 |
+
var e = this.zoom,
|
2734 |
+
t = this.params.zoom,
|
2735 |
+
i = e.gesture;
|
2736 |
+
i.$slideEl || (this.params.virtual && this.params.virtual.enabled && this.virtual ? i.$slideEl = this.$wrapperEl.children("." + this.params.slideActiveClass) : i.$slideEl = this.slides.eq(this.activeIndex), i.$imageEl = i.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), i.$imageWrapEl = i.$imageEl.parent("." + t.containerClass)), i.$imageEl && 0 !== i.$imageEl.length && (e.scale = 1, e.currentScale = 1, i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"), i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"), i.$slideEl.removeClass("" + t.zoomedSlideClass), i.$slideEl = void 0)
|
2737 |
+
},
|
2738 |
+
enable: function () {
|
2739 |
+
var e = this.zoom;
|
2740 |
+
if (!e.enabled) {
|
2741 |
+
e.enabled = !0;
|
2742 |
+
var t = !("touchstart" !== this.touchEvents.start || !h.passiveListener || !this.params.passiveListeners) && {
|
2743 |
+
passive: !0,
|
2744 |
+
capture: !1
|
2745 |
+
},
|
2746 |
+
i = !h.passiveListener || {
|
2747 |
+
passive: !1,
|
2748 |
+
capture: !0
|
2749 |
+
},
|
2750 |
+
s = "." + this.params.slideClass;
|
2751 |
+
h.gestures ? (this.$wrapperEl.on("gesturestart", s, e.onGestureStart, t), this.$wrapperEl.on("gesturechange", s, e.onGestureChange, t), this.$wrapperEl.on("gestureend", s, e.onGestureEnd, t)) : "touchstart" === this.touchEvents.start && (this.$wrapperEl.on(this.touchEvents.start, s, e.onGestureStart, t), this.$wrapperEl.on(this.touchEvents.move, s, e.onGestureChange, i), this.$wrapperEl.on(this.touchEvents.end, s, e.onGestureEnd, t), this.touchEvents.cancel && this.$wrapperEl.on(this.touchEvents.cancel, s, e.onGestureEnd, t)), this.$wrapperEl.on(this.touchEvents.move, "." + this.params.zoom.containerClass, e.onTouchMove, i)
|
2752 |
+
}
|
2753 |
+
},
|
2754 |
+
disable: function () {
|
2755 |
+
var e = this.zoom;
|
2756 |
+
if (e.enabled) {
|
2757 |
+
this.zoom.enabled = !1;
|
2758 |
+
var t = !("touchstart" !== this.touchEvents.start || !h.passiveListener || !this.params.passiveListeners) && {
|
2759 |
+
passive: !0,
|
2760 |
+
capture: !1
|
2761 |
+
},
|
2762 |
+
i = !h.passiveListener || {
|
2763 |
+
passive: !1,
|
2764 |
+
capture: !0
|
2765 |
+
},
|
2766 |
+
s = "." + this.params.slideClass;
|
2767 |
+
h.gestures ? (this.$wrapperEl.off("gesturestart", s, e.onGestureStart, t), this.$wrapperEl.off("gesturechange", s, e.onGestureChange, t), this.$wrapperEl.off("gestureend", s, e.onGestureEnd, t)) : "touchstart" === this.touchEvents.start && (this.$wrapperEl.off(this.touchEvents.start, s, e.onGestureStart, t), this.$wrapperEl.off(this.touchEvents.move, s, e.onGestureChange, i), this.$wrapperEl.off(this.touchEvents.end, s, e.onGestureEnd, t), this.touchEvents.cancel && this.$wrapperEl.off(this.touchEvents.cancel, s, e.onGestureEnd, t)), this.$wrapperEl.off(this.touchEvents.move, "." + this.params.zoom.containerClass, e.onTouchMove, i)
|
2768 |
+
}
|
2769 |
+
}
|
2770 |
+
},
|
2771 |
+
pe = {
|
2772 |
+
loadInSlide: function (e, t) {
|
2773 |
+
void 0 === t && (t = !0);
|
2774 |
+
var i = this,
|
2775 |
+
s = i.params.lazy;
|
2776 |
+
if (void 0 !== e && 0 !== i.slides.length) {
|
2777 |
+
var a = i.virtual && i.params.virtual.enabled ? i.$wrapperEl.children("." + i.params.slideClass + '[data-swiper-slide-index="' + e + '"]') : i.slides.eq(e),
|
2778 |
+
r = a.find("." + s.elementClass + ":not(." + s.loadedClass + "):not(." + s.loadingClass + ")");
|
2779 |
+
!a.hasClass(s.elementClass) || a.hasClass(s.loadedClass) || a.hasClass(s.loadingClass) || (r = r.add(a[0])), 0 !== r.length && r.each((function (e, r) {
|
2780 |
+
var o = n(r);
|
2781 |
+
o.addClass(s.loadingClass);
|
2782 |
+
var l = o.attr("data-background"),
|
2783 |
+
d = o.attr("data-src"),
|
2784 |
+
h = o.attr("data-srcset"),
|
2785 |
+
p = o.attr("data-sizes"),
|
2786 |
+
c = o.parent("picture");
|
2787 |
+
i.loadImage(o[0], d || l, h, p, !1, (function () {
|
2788 |
+
if (null != i && i && (!i || i.params) && !i.destroyed) {
|
2789 |
+
if (l ? (o.css("background-image", 'url("' + l + '")'), o.removeAttr("data-background")) : (h && (o.attr("srcset", h), o.removeAttr("data-srcset")), p && (o.attr("sizes", p), o.removeAttr("data-sizes")), c.length && c.children("source").each((function (e, t) {
|
2790 |
+
var i = n(t);
|
2791 |
+
i.attr("data-srcset") && (i.attr("srcset", i.attr("data-srcset")), i.removeAttr("data-srcset"))
|
2792 |
+
})), d && (o.attr("src", d), o.removeAttr("data-src"))), o.addClass(s.loadedClass).removeClass(s.loadingClass), a.find("." + s.preloaderClass).remove(), i.params.loop && t) {
|
2793 |
+
var e = a.attr("data-swiper-slide-index");
|
2794 |
+
if (a.hasClass(i.params.slideDuplicateClass)) {
|
2795 |
+
var r = i.$wrapperEl.children('[data-swiper-slide-index="' + e + '"]:not(.' + i.params.slideDuplicateClass + ")");
|
2796 |
+
i.lazy.loadInSlide(r.index(), !1)
|
2797 |
+
} else {
|
2798 |
+
var u = i.$wrapperEl.children("." + i.params.slideDuplicateClass + '[data-swiper-slide-index="' + e + '"]');
|
2799 |
+
i.lazy.loadInSlide(u.index(), !1)
|
2800 |
+
}
|
2801 |
+
}
|
2802 |
+
i.emit("lazyImageReady", a[0], o[0]), i.params.autoHeight && i.updateAutoHeight()
|
2803 |
+
}
|
2804 |
+
})), i.emit("lazyImageLoad", a[0], o[0])
|
2805 |
+
}))
|
2806 |
+
}
|
2807 |
+
},
|
2808 |
+
load: function () {
|
2809 |
+
var e = this,
|
2810 |
+
t = e.$wrapperEl,
|
2811 |
+
i = e.params,
|
2812 |
+
s = e.slides,
|
2813 |
+
a = e.activeIndex,
|
2814 |
+
r = e.virtual && i.virtual.enabled,
|
2815 |
+
o = i.lazy,
|
2816 |
+
l = i.slidesPerView;
|
2817 |
+
|
2818 |
+
function d(e) {
|
2819 |
+
if (r) {
|
2820 |
+
if (t.children("." + i.slideClass + '[data-swiper-slide-index="' + e + '"]').length) return !0
|
2821 |
+
} else if (s[e]) return !0;
|
2822 |
+
return !1
|
2823 |
+
}
|
2824 |
+
|
2825 |
+
function h(e) {
|
2826 |
+
return r ? n(e).attr("data-swiper-slide-index") : n(e).index()
|
2827 |
+
}
|
2828 |
+
if ("auto" === l && (l = 0), e.lazy.initialImageLoaded || (e.lazy.initialImageLoaded = !0), e.params.watchSlidesVisibility) t.children("." + i.slideVisibleClass).each((function (t, i) {
|
2829 |
+
var s = r ? n(i).attr("data-swiper-slide-index") : n(i).index();
|
2830 |
+
e.lazy.loadInSlide(s)
|
2831 |
+
}));
|
2832 |
+
else if (l > 1)
|
2833 |
+
for (var p = a; p < a + l; p += 1) d(p) && e.lazy.loadInSlide(p);
|
2834 |
+
else e.lazy.loadInSlide(a);
|
2835 |
+
if (o.loadPrevNext)
|
2836 |
+
if (l > 1 || o.loadPrevNextAmount && o.loadPrevNextAmount > 1) {
|
2837 |
+
for (var c = o.loadPrevNextAmount, u = l, v = Math.min(a + u + Math.max(c, u), s.length), f = Math.max(a - Math.max(u, c), 0), m = a + l; m < v; m += 1) d(m) && e.lazy.loadInSlide(m);
|
2838 |
+
for (var g = f; g < a; g += 1) d(g) && e.lazy.loadInSlide(g)
|
2839 |
+
} else {
|
2840 |
+
var b = t.children("." + i.slideNextClass);
|
2841 |
+
b.length > 0 && e.lazy.loadInSlide(h(b));
|
2842 |
+
var w = t.children("." + i.slidePrevClass);
|
2843 |
+
w.length > 0 && e.lazy.loadInSlide(h(w))
|
2844 |
+
}
|
2845 |
+
}
|
2846 |
+
},
|
2847 |
+
ce = {
|
2848 |
+
LinearSpline: function (e, t) {
|
2849 |
+
var i, s, a, r, n, o = function (e, t) {
|
2850 |
+
for (s = -1, i = e.length; i - s > 1;) e[a = i + s >> 1] <= t ? s = a : i = a;
|
2851 |
+
return i
|
2852 |
+
};
|
2853 |
+
return this.x = e, this.y = t, this.lastIndex = e.length - 1, this.interpolate = function (e) {
|
2854 |
+
return e ? (n = o(this.x, e), r = n - 1, (e - this.x[r]) * (this.y[n] - this.y[r]) / (this.x[n] - this.x[r]) + this.y[r]) : 0
|
2855 |
+
}, this
|
2856 |
+
},
|
2857 |
+
getInterpolateFunction: function (e) {
|
2858 |
+
this.controller.spline || (this.controller.spline = this.params.loop ? new ce.LinearSpline(this.slidesGrid, e.slidesGrid) : new ce.LinearSpline(this.snapGrid, e.snapGrid))
|
2859 |
+
},
|
2860 |
+
setTranslate: function (e, t) {
|
2861 |
+
var i, s, a = this,
|
2862 |
+
r = a.controller.control;
|
2863 |
+
|
2864 |
+
function n(e) {
|
2865 |
+
var t = a.rtlTranslate ? -a.translate : a.translate;
|
2866 |
+
"slide" === a.params.controller.by && (a.controller.getInterpolateFunction(e), s = -a.controller.spline.interpolate(-t)), s && "container" !== a.params.controller.by || (i = (e.maxTranslate() - e.minTranslate()) / (a.maxTranslate() - a.minTranslate()), s = (t - a.minTranslate()) * i + e.minTranslate()), a.params.controller.inverse && (s = e.maxTranslate() - s), e.updateProgress(s), e.setTranslate(s, a), e.updateActiveIndex(), e.updateSlidesClasses()
|
2867 |
+
}
|
2868 |
+
if (Array.isArray(r))
|
2869 |
+
for (var o = 0; o < r.length; o += 1) r[o] !== t && r[o] instanceof j && n(r[o]);
|
2870 |
+
else r instanceof j && t !== r && n(r)
|
2871 |
+
},
|
2872 |
+
setTransition: function (e, t) {
|
2873 |
+
var i, s = this,
|
2874 |
+
a = s.controller.control;
|
2875 |
+
|
2876 |
+
function r(t) {
|
2877 |
+
t.setTransition(e, s), 0 !== e && (t.transitionStart(), t.params.autoHeight && d.nextTick((function () {
|
2878 |
+
t.updateAutoHeight()
|
2879 |
+
})), t.$wrapperEl.transitionEnd((function () {
|
2880 |
+
a && (t.params.loop && "slide" === s.params.controller.by && t.loopFix(), t.transitionEnd())
|
2881 |
+
})))
|
2882 |
+
}
|
2883 |
+
if (Array.isArray(a))
|
2884 |
+
for (i = 0; i < a.length; i += 1) a[i] !== t && a[i] instanceof j && r(a[i]);
|
2885 |
+
else a instanceof j && t !== a && r(a)
|
2886 |
+
}
|
2887 |
+
},
|
2888 |
+
ue = {
|
2889 |
+
makeElFocusable: function (e) {
|
2890 |
+
return e.attr("tabIndex", "0"), e
|
2891 |
+
},
|
2892 |
+
makeElNotFocusable: function (e) {
|
2893 |
+
return e.attr("tabIndex", "-1"), e
|
2894 |
+
},
|
2895 |
+
addElRole: function (e, t) {
|
2896 |
+
return e.attr("role", t), e
|
2897 |
+
},
|
2898 |
+
addElLabel: function (e, t) {
|
2899 |
+
return e.attr("aria-label", t), e
|
2900 |
+
},
|
2901 |
+
disableEl: function (e) {
|
2902 |
+
return e.attr("aria-disabled", !0), e
|
2903 |
+
},
|
2904 |
+
enableEl: function (e) {
|
2905 |
+
return e.attr("aria-disabled", !1), e
|
2906 |
+
},
|
2907 |
+
onEnterKey: function (e) {
|
2908 |
+
var t = this.params.a11y;
|
2909 |
+
if (13 === e.keyCode) {
|
2910 |
+
var i = n(e.target);
|
2911 |
+
this.navigation && this.navigation.$nextEl && i.is(this.navigation.$nextEl) && (this.isEnd && !this.params.loop || this.slideNext(), this.isEnd ? this.a11y.notify(t.lastSlideMessage) : this.a11y.notify(t.nextSlideMessage)), this.navigation && this.navigation.$prevEl && i.is(this.navigation.$prevEl) && (this.isBeginning && !this.params.loop || this.slidePrev(), this.isBeginning ? this.a11y.notify(t.firstSlideMessage) : this.a11y.notify(t.prevSlideMessage)), this.pagination && i.is("." + this.params.pagination.bulletClass) && i[0].click()
|
2912 |
+
}
|
2913 |
+
},
|
2914 |
+
notify: function (e) {
|
2915 |
+
var t = this.a11y.liveRegion;
|
2916 |
+
0 !== t.length && (t.html(""), t.html(e))
|
2917 |
+
},
|
2918 |
+
updateNavigation: function () {
|
2919 |
+
if (!this.params.loop && this.navigation) {
|
2920 |
+
var e = this.navigation,
|
2921 |
+
t = e.$nextEl,
|
2922 |
+
i = e.$prevEl;
|
2923 |
+
i && i.length > 0 && (this.isBeginning ? (this.a11y.disableEl(i), this.a11y.makeElNotFocusable(i)) : (this.a11y.enableEl(i), this.a11y.makeElFocusable(i))), t && t.length > 0 && (this.isEnd ? (this.a11y.disableEl(t), this.a11y.makeElNotFocusable(t)) : (this.a11y.enableEl(t), this.a11y.makeElFocusable(t)))
|
2924 |
+
}
|
2925 |
+
},
|
2926 |
+
updatePagination: function () {
|
2927 |
+
var e = this,
|
2928 |
+
t = e.params.a11y;
|
2929 |
+
e.pagination && e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length && e.pagination.bullets.each((function (i, s) {
|
2930 |
+
var a = n(s);
|
2931 |
+
e.a11y.makeElFocusable(a), e.a11y.addElRole(a, "button"), e.a11y.addElLabel(a, t.paginationBulletMessage.replace(/\{\{index\}\}/, a.index() + 1))
|
2932 |
+
}))
|
2933 |
+
},
|
2934 |
+
init: function () {
|
2935 |
+
this.$el.append(this.a11y.liveRegion);
|
2936 |
+
var e, t, i = this.params.a11y;
|
2937 |
+
this.navigation && this.navigation.$nextEl && (e = this.navigation.$nextEl), this.navigation && this.navigation.$prevEl && (t = this.navigation.$prevEl), e && (this.a11y.makeElFocusable(e), this.a11y.addElRole(e, "button"), this.a11y.addElLabel(e, i.nextSlideMessage), e.on("keydown", this.a11y.onEnterKey)), t && (this.a11y.makeElFocusable(t), this.a11y.addElRole(t, "button"), this.a11y.addElLabel(t, i.prevSlideMessage), t.on("keydown", this.a11y.onEnterKey)), this.pagination && this.params.pagination.clickable && this.pagination.bullets && this.pagination.bullets.length && this.pagination.$el.on("keydown", "." + this.params.pagination.bulletClass, this.a11y.onEnterKey)
|
2938 |
+
},
|
2939 |
+
destroy: function () {
|
2940 |
+
var e, t;
|
2941 |
+
this.a11y.liveRegion && this.a11y.liveRegion.length > 0 && this.a11y.liveRegion.remove(), this.navigation && this.navigation.$nextEl && (e = this.navigation.$nextEl), this.navigation && this.navigation.$prevEl && (t = this.navigation.$prevEl), e && e.off("keydown", this.a11y.onEnterKey), t && t.off("keydown", this.a11y.onEnterKey), this.pagination && this.params.pagination.clickable && this.pagination.bullets && this.pagination.bullets.length && this.pagination.$el.off("keydown", "." + this.params.pagination.bulletClass, this.a11y.onEnterKey)
|
2942 |
+
}
|
2943 |
+
},
|
2944 |
+
ve = {
|
2945 |
+
init: function () {
|
2946 |
+
if (this.params.history) {
|
2947 |
+
if (!a.history || !a.history.pushState) return this.params.history.enabled = !1, void(this.params.hashNavigation.enabled = !0);
|
2948 |
+
var e = this.history;
|
2949 |
+
e.initialized = !0, e.paths = ve.getPathValues(), (e.paths.key || e.paths.value) && (e.scrollToSlide(0, e.paths.value, this.params.runCallbacksOnInit), this.params.history.replaceState || a.addEventListener("popstate", this.history.setHistoryPopState))
|
2950 |
+
}
|
2951 |
+
},
|
2952 |
+
destroy: function () {
|
2953 |
+
this.params.history.replaceState || a.removeEventListener("popstate", this.history.setHistoryPopState)
|
2954 |
+
},
|
2955 |
+
setHistoryPopState: function () {
|
2956 |
+
this.history.paths = ve.getPathValues(), this.history.scrollToSlide(this.params.speed, this.history.paths.value, !1)
|
2957 |
+
},
|
2958 |
+
getPathValues: function () {
|
2959 |
+
var e = a.location.pathname.slice(1).split("/").filter((function (e) {
|
2960 |
+
return "" !== e
|
2961 |
+
})),
|
2962 |
+
t = e.length;
|
2963 |
+
return {
|
2964 |
+
key: e[t - 2],
|
2965 |
+
value: e[t - 1]
|
2966 |
+
}
|
2967 |
+
},
|
2968 |
+
setHistory: function (e, t) {
|
2969 |
+
if (this.history.initialized && this.params.history.enabled) {
|
2970 |
+
var i = this.slides.eq(t),
|
2971 |
+
s = ve.slugify(i.attr("data-history"));
|
2972 |
+
a.location.pathname.includes(e) || (s = e + "/" + s);
|
2973 |
+
var r = a.history.state;
|
2974 |
+
r && r.value === s || (this.params.history.replaceState ? a.history.replaceState({
|
2975 |
+
value: s
|
2976 |
+
}, null, s) : a.history.pushState({
|
2977 |
+
value: s
|
2978 |
+
}, null, s))
|
2979 |
+
}
|
2980 |
+
},
|
2981 |
+
slugify: function (e) {
|
2982 |
+
return e.toString().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "")
|
2983 |
+
},
|
2984 |
+
scrollToSlide: function (e, t, i) {
|
2985 |
+
if (t)
|
2986 |
+
for (var s = 0, a = this.slides.length; s < a; s += 1) {
|
2987 |
+
var r = this.slides.eq(s);
|
2988 |
+
if (ve.slugify(r.attr("data-history")) === t && !r.hasClass(this.params.slideDuplicateClass)) {
|
2989 |
+
var n = r.index();
|
2990 |
+
this.slideTo(n, e, i)
|
2991 |
+
}
|
2992 |
+
} else this.slideTo(0, e, i)
|
2993 |
+
}
|
2994 |
+
},
|
2995 |
+
fe = {
|
2996 |
+
onHashCange: function () {
|
2997 |
+
this.emit("hashChange");
|
2998 |
+
var e = i.location.hash.replace("#", "");
|
2999 |
+
if (e !== this.slides.eq(this.activeIndex).attr("data-hash")) {
|
3000 |
+
var t = this.$wrapperEl.children("." + this.params.slideClass + '[data-hash="' + e + '"]').index();
|
3001 |
+
if (void 0 === t) return;
|
3002 |
+
this.slideTo(t)
|
3003 |
+
}
|
3004 |
+
},
|
3005 |
+
setHash: function () {
|
3006 |
+
if (this.hashNavigation.initialized && this.params.hashNavigation.enabled)
|
3007 |
+
if (this.params.hashNavigation.replaceState && a.history && a.history.replaceState) a.history.replaceState(null, null, "#" + this.slides.eq(this.activeIndex).attr("data-hash") || ""), this.emit("hashSet");
|
3008 |
+
else {
|
3009 |
+
var e = this.slides.eq(this.activeIndex),
|
3010 |
+
t = e.attr("data-hash") || e.attr("data-history");
|
3011 |
+
i.location.hash = t || "", this.emit("hashSet")
|
3012 |
+
}
|
3013 |
+
},
|
3014 |
+
init: function () {
|
3015 |
+
if (!(!this.params.hashNavigation.enabled || this.params.history && this.params.history.enabled)) {
|
3016 |
+
this.hashNavigation.initialized = !0;
|
3017 |
+
var e = i.location.hash.replace("#", "");
|
3018 |
+
if (e)
|
3019 |
+
for (var t = 0, s = this.slides.length; t < s; t += 1) {
|
3020 |
+
var r = this.slides.eq(t);
|
3021 |
+
if ((r.attr("data-hash") || r.attr("data-history")) === e && !r.hasClass(this.params.slideDuplicateClass)) {
|
3022 |
+
var o = r.index();
|
3023 |
+
this.slideTo(o, 0, this.params.runCallbacksOnInit, !0)
|
3024 |
+
}
|
3025 |
+
}
|
3026 |
+
this.params.hashNavigation.watchState && n(a).on("hashchange", this.hashNavigation.onHashCange)
|
3027 |
+
}
|
3028 |
+
},
|
3029 |
+
destroy: function () {
|
3030 |
+
this.params.hashNavigation.watchState && n(a).off("hashchange", this.hashNavigation.onHashCange)
|
3031 |
+
}
|
3032 |
+
},
|
3033 |
+
me = {
|
3034 |
+
run: function () {
|
3035 |
+
var e = this,
|
3036 |
+
t = e.slides.eq(e.activeIndex),
|
3037 |
+
i = e.params.autoplay.delay;
|
3038 |
+
t.attr("data-swiper-autoplay") && (i = t.attr("data-swiper-autoplay") || e.params.autoplay.delay), clearTimeout(e.autoplay.timeout), e.autoplay.timeout = d.nextTick((function () {
|
3039 |
+
e.params.autoplay.reverseDirection ? e.params.loop ? (e.loopFix(), e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.isBeginning ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(e.slides.length - 1, e.params.speed, !0, !0), e.emit("autoplay")) : (e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.params.loop ? (e.loopFix(), e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")) : e.isEnd ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(0, e.params.speed, !0, !0), e.emit("autoplay")) : (e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")), e.params.cssMode && e.autoplay.running && e.autoplay.run()
|
3040 |
+
}), i)
|
3041 |
+
},
|
3042 |
+
start: function () {
|
3043 |
+
return void 0 === this.autoplay.timeout && (!this.autoplay.running && (this.autoplay.running = !0, this.emit("autoplayStart"), this.autoplay.run(), !0))
|
3044 |
+
},
|
3045 |
+
stop: function () {
|
3046 |
+
return !!this.autoplay.running && (void 0 !== this.autoplay.timeout && (this.autoplay.timeout && (clearTimeout(this.autoplay.timeout), this.autoplay.timeout = void 0), this.autoplay.running = !1, this.emit("autoplayStop"), !0))
|
3047 |
+
},
|
3048 |
+
pause: function (e) {
|
3049 |
+
this.autoplay.running && (this.autoplay.paused || (this.autoplay.timeout && clearTimeout(this.autoplay.timeout), this.autoplay.paused = !0, 0 !== e && this.params.autoplay.waitForTransition ? (this.$wrapperEl[0].addEventListener("transitionend", this.autoplay.onTransitionEnd), this.$wrapperEl[0].addEventListener("webkitTransitionEnd", this.autoplay.onTransitionEnd)) : (this.autoplay.paused = !1, this.autoplay.run())))
|
3050 |
+
}
|
3051 |
+
},
|
3052 |
+
ge = {
|
3053 |
+
setTranslate: function () {
|
3054 |
+
for (var e = this.slides, t = 0; t < e.length; t += 1) {
|
3055 |
+
var i = this.slides.eq(t),
|
3056 |
+
s = -i[0].swiperSlideOffset;
|
3057 |
+
this.params.virtualTranslate || (s -= this.translate);
|
3058 |
+
var a = 0;
|
3059 |
+
this.isHorizontal() || (a = s, s = 0);
|
3060 |
+
var r = this.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(i[0].progress), 0) : 1 + Math.min(Math.max(i[0].progress, -1), 0);
|
3061 |
+
i.css({
|
3062 |
+
opacity: r
|
3063 |
+
}).transform("translate3d(" + s + "px, " + a + "px, 0px)")
|
3064 |
+
}
|
3065 |
+
},
|
3066 |
+
setTransition: function (e) {
|
3067 |
+
var t = this,
|
3068 |
+
i = t.slides,
|
3069 |
+
s = t.$wrapperEl;
|
3070 |
+
if (i.transition(e), t.params.virtualTranslate && 0 !== e) {
|
3071 |
+
var a = !1;
|
3072 |
+
i.transitionEnd((function () {
|
3073 |
+
if (!a && t && !t.destroyed) {
|
3074 |
+
a = !0, t.animating = !1;
|
3075 |
+
for (var e = ["webkitTransitionEnd", "transitionend"], i = 0; i < e.length; i += 1) s.trigger(e[i])
|
3076 |
+
}
|
3077 |
+
}))
|
3078 |
+
}
|
3079 |
+
}
|
3080 |
+
},
|
3081 |
+
be = {
|
3082 |
+
setTranslate: function () {
|
3083 |
+
var e, t = this.$el,
|
3084 |
+
i = this.$wrapperEl,
|
3085 |
+
s = this.slides,
|
3086 |
+
a = this.width,
|
3087 |
+
r = this.height,
|
3088 |
+
o = this.rtlTranslate,
|
3089 |
+
l = this.size,
|
3090 |
+
d = this.params.cubeEffect,
|
3091 |
+
h = this.isHorizontal(),
|
3092 |
+
p = this.virtual && this.params.virtual.enabled,
|
3093 |
+
c = 0;
|
3094 |
+
d.shadow && (h ? (0 === (e = i.find(".swiper-cube-shadow")).length && (e = n('<div class="swiper-cube-shadow"></div>'), i.append(e)), e.css({
|
3095 |
+
height: a + "px"
|
3096 |
+
})) : 0 === (e = t.find(".swiper-cube-shadow")).length && (e = n('<div class="swiper-cube-shadow"></div>'), t.append(e)));
|
3097 |
+
for (var u = 0; u < s.length; u += 1) {
|
3098 |
+
var v = s.eq(u),
|
3099 |
+
f = u;
|
3100 |
+
p && (f = parseInt(v.attr("data-swiper-slide-index"), 10));
|
3101 |
+
var m = 90 * f,
|
3102 |
+
g = Math.floor(m / 360);
|
3103 |
+
o && (m = -m, g = Math.floor(-m / 360));
|
3104 |
+
var b = Math.max(Math.min(v[0].progress, 1), -1),
|
3105 |
+
w = 0,
|
3106 |
+
y = 0,
|
3107 |
+
x = 0;
|
3108 |
+
f % 4 == 0 ? (w = 4 * -g * l, x = 0) : (f - 1) % 4 == 0 ? (w = 0, x = 4 * -g * l) : (f - 2) % 4 == 0 ? (w = l + 4 * g * l, x = l) : (f - 3) % 4 == 0 && (w = -l, x = 3 * l + 4 * l * g), o && (w = -w), h || (y = w, w = 0);
|
3109 |
+
var E = "rotateX(" + (h ? 0 : -m) + "deg) rotateY(" + (h ? m : 0) + "deg) translate3d(" + w + "px, " + y + "px, " + x + "px)";
|
3110 |
+
if (b <= 1 && b > -1 && (c = 90 * f + 90 * b, o && (c = 90 * -f - 90 * b)), v.transform(E), d.slideShadows) {
|
3111 |
+
var T = h ? v.find(".swiper-slide-shadow-left") : v.find(".swiper-slide-shadow-top"),
|
3112 |
+
S = h ? v.find(".swiper-slide-shadow-right") : v.find(".swiper-slide-shadow-bottom");
|
3113 |
+
0 === T.length && (T = n('<div class="swiper-slide-shadow-' + (h ? "left" : "top") + '"></div>'), v.append(T)), 0 === S.length && (S = n('<div class="swiper-slide-shadow-' + (h ? "right" : "bottom") + '"></div>'), v.append(S)), T.length && (T[0].style.opacity = Math.max(-b, 0)), S.length && (S[0].style.opacity = Math.max(b, 0))
|
3114 |
+
}
|
3115 |
+
}
|
3116 |
+
if (i.css({
|
3117 |
+
"-webkit-transform-origin": "50% 50% -" + l / 2 + "px",
|
3118 |
+
"-moz-transform-origin": "50% 50% -" + l / 2 + "px",
|
3119 |
+
"-ms-transform-origin": "50% 50% -" + l / 2 + "px",
|
3120 |
+
"transform-origin": "50% 50% -" + l / 2 + "px"
|
3121 |
+
}), d.shadow)
|
3122 |
+
if (h) e.transform("translate3d(0px, " + (a / 2 + d.shadowOffset) + "px, " + -a / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + d.shadowScale + ")");
|
3123 |
+
else {
|
3124 |
+
var C = Math.abs(c) - 90 * Math.floor(Math.abs(c) / 90),
|
3125 |
+
M = 1.5 - (Math.sin(2 * C * Math.PI / 360) / 2 + Math.cos(2 * C * Math.PI / 360) / 2),
|
3126 |
+
P = d.shadowScale,
|
3127 |
+
z = d.shadowScale / M,
|
3128 |
+
k = d.shadowOffset;
|
3129 |
+
e.transform("scale3d(" + P + ", 1, " + z + ") translate3d(0px, " + (r / 2 + k) + "px, " + -r / 2 / z + "px) rotateX(-90deg)")
|
3130 |
+
}
|
3131 |
+
var $ = _.isSafari || _.isWebView ? -l / 2 : 0;
|
3132 |
+
i.transform("translate3d(0px,0," + $ + "px) rotateX(" + (this.isHorizontal() ? 0 : c) + "deg) rotateY(" + (this.isHorizontal() ? -c : 0) + "deg)")
|
3133 |
+
},
|
3134 |
+
setTransition: function (e) {
|
3135 |
+
var t = this.$el;
|
3136 |
+
this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), this.params.cubeEffect.shadow && !this.isHorizontal() && t.find(".swiper-cube-shadow").transition(e)
|
3137 |
+
}
|
3138 |
+
},
|
3139 |
+
we = {
|
3140 |
+
setTranslate: function () {
|
3141 |
+
for (var e = this.slides, t = this.rtlTranslate, i = 0; i < e.length; i += 1) {
|
3142 |
+
var s = e.eq(i),
|
3143 |
+
a = s[0].progress;
|
3144 |
+
this.params.flipEffect.limitRotation && (a = Math.max(Math.min(s[0].progress, 1), -1));
|
3145 |
+
var r = -180 * a,
|
3146 |
+
o = 0,
|
3147 |
+
l = -s[0].swiperSlideOffset,
|
3148 |
+
d = 0;
|
3149 |
+
if (this.isHorizontal() ? t && (r = -r) : (d = l, l = 0, o = -r, r = 0), s[0].style.zIndex = -Math.abs(Math.round(a)) + e.length, this.params.flipEffect.slideShadows) {
|
3150 |
+
var h = this.isHorizontal() ? s.find(".swiper-slide-shadow-left") : s.find(".swiper-slide-shadow-top"),
|
3151 |
+
p = this.isHorizontal() ? s.find(".swiper-slide-shadow-right") : s.find(".swiper-slide-shadow-bottom");
|
3152 |
+
0 === h.length && (h = n('<div class="swiper-slide-shadow-' + (this.isHorizontal() ? "left" : "top") + '"></div>'), s.append(h)), 0 === p.length && (p = n('<div class="swiper-slide-shadow-' + (this.isHorizontal() ? "right" : "bottom") + '"></div>'), s.append(p)), h.length && (h[0].style.opacity = Math.max(-a, 0)), p.length && (p[0].style.opacity = Math.max(a, 0))
|
3153 |
+
}
|
3154 |
+
s.transform("translate3d(" + l + "px, " + d + "px, 0px) rotateX(" + o + "deg) rotateY(" + r + "deg)")
|
3155 |
+
}
|
3156 |
+
},
|
3157 |
+
setTransition: function (e) {
|
3158 |
+
var t = this,
|
3159 |
+
i = t.slides,
|
3160 |
+
s = t.activeIndex,
|
3161 |
+
a = t.$wrapperEl;
|
3162 |
+
if (i.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), t.params.virtualTranslate && 0 !== e) {
|
3163 |
+
var r = !1;
|
3164 |
+
i.eq(s).transitionEnd((function () {
|
3165 |
+
if (!r && t && !t.destroyed) {
|
3166 |
+
r = !0, t.animating = !1;
|
3167 |
+
for (var e = ["webkitTransitionEnd", "transitionend"], i = 0; i < e.length; i += 1) a.trigger(e[i])
|
3168 |
+
}
|
3169 |
+
}))
|
3170 |
+
}
|
3171 |
+
}
|
3172 |
+
},
|
3173 |
+
ye = {
|
3174 |
+
setTranslate: function () {
|
3175 |
+
for (var e = this.width, t = this.height, i = this.slides, s = this.$wrapperEl, a = this.slidesSizesGrid, r = this.params.coverflowEffect, o = this.isHorizontal(), l = this.translate, d = o ? e / 2 - l : t / 2 - l, p = o ? r.rotate : -r.rotate, c = r.depth, u = 0, v = i.length; u < v; u += 1) {
|
3176 |
+
var f = i.eq(u),
|
3177 |
+
m = a[u],
|
3178 |
+
g = (d - f[0].swiperSlideOffset - m / 2) / m * r.modifier,
|
3179 |
+
b = o ? p * g : 0,
|
3180 |
+
w = o ? 0 : p * g,
|
3181 |
+
y = -c * Math.abs(g),
|
3182 |
+
x = r.stretch;
|
3183 |
+
"string" == typeof x && -1 !== x.indexOf("%") && (x = parseFloat(r.stretch) / 100 * m);
|
3184 |
+
var E = o ? 0 : x * g,
|
3185 |
+
T = o ? x * g : 0,
|
3186 |
+
S = 1 - (1 - r.scale) * Math.abs(g);
|
3187 |
+
Math.abs(T) < .001 && (T = 0), Math.abs(E) < .001 && (E = 0), Math.abs(y) < .001 && (y = 0), Math.abs(b) < .001 && (b = 0), Math.abs(w) < .001 && (w = 0), Math.abs(S) < .001 && (S = 0);
|
3188 |
+
var C = "translate3d(" + T + "px," + E + "px," + y + "px) rotateX(" + w + "deg) rotateY(" + b + "deg) scale(" + S + ")";
|
3189 |
+
if (f.transform(C), f[0].style.zIndex = 1 - Math.abs(Math.round(g)), r.slideShadows) {
|
3190 |
+
var M = o ? f.find(".swiper-slide-shadow-left") : f.find(".swiper-slide-shadow-top"),
|
3191 |
+
P = o ? f.find(".swiper-slide-shadow-right") : f.find(".swiper-slide-shadow-bottom");
|
3192 |
+
0 === M.length && (M = n('<div class="swiper-slide-shadow-' + (o ? "left" : "top") + '"></div>'), f.append(M)), 0 === P.length && (P = n('<div class="swiper-slide-shadow-' + (o ? "right" : "bottom") + '"></div>'), f.append(P)), M.length && (M[0].style.opacity = g > 0 ? g : 0), P.length && (P[0].style.opacity = -g > 0 ? -g : 0)
|
3193 |
+
}
|
3194 |
+
}(h.pointerEvents || h.prefixedPointerEvents) && (s[0].style.perspectiveOrigin = d + "px 50%")
|
3195 |
+
},
|
3196 |
+
setTransition: function (e) {
|
3197 |
+
this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)
|
3198 |
+
}
|
3199 |
+
},
|
3200 |
+
xe = {
|
3201 |
+
init: function () {
|
3202 |
+
var e = this.params.thumbs,
|
3203 |
+
t = this.constructor;
|
3204 |
+
e.swiper instanceof t ? (this.thumbs.swiper = e.swiper, d.extend(this.thumbs.swiper.originalParams, {
|
3205 |
+
watchSlidesProgress: !0,
|
3206 |
+
slideToClickedSlide: !1
|
3207 |
+
}), d.extend(this.thumbs.swiper.params, {
|
3208 |
+
watchSlidesProgress: !0,
|
3209 |
+
slideToClickedSlide: !1
|
3210 |
+
})) : d.isObject(e.swiper) && (this.thumbs.swiper = new t(d.extend({}, e.swiper, {
|
3211 |
+
watchSlidesVisibility: !0,
|
3212 |
+
watchSlidesProgress: !0,
|
3213 |
+
slideToClickedSlide: !1
|
3214 |
+
})), this.thumbs.swiperCreated = !0), this.thumbs.swiper.$el.addClass(this.params.thumbs.thumbsContainerClass), this.thumbs.swiper.on("tap", this.thumbs.onThumbClick)
|
3215 |
+
},
|
3216 |
+
onThumbClick: function () {
|
3217 |
+
var e = this.thumbs.swiper;
|
3218 |
+
if (e) {
|
3219 |
+
var t = e.clickedIndex,
|
3220 |
+
i = e.clickedSlide;
|
3221 |
+
if (!(i && n(i).hasClass(this.params.thumbs.slideThumbActiveClass) || null == t)) {
|
3222 |
+
var s;
|
3223 |
+
if (s = e.params.loop ? parseInt(n(e.clickedSlide).attr("data-swiper-slide-index"), 10) : t, this.params.loop) {
|
3224 |
+
var a = this.activeIndex;
|
3225 |
+
this.slides.eq(a).hasClass(this.params.slideDuplicateClass) && (this.loopFix(), this._clientLeft = this.$wrapperEl[0].clientLeft, a = this.activeIndex);
|
3226 |
+
var r = this.slides.eq(a).prevAll('[data-swiper-slide-index="' + s + '"]').eq(0).index(),
|
3227 |
+
o = this.slides.eq(a).nextAll('[data-swiper-slide-index="' + s + '"]').eq(0).index();
|
3228 |
+
s = void 0 === r ? o : void 0 === o ? r : o - a < a - r ? o : r
|
3229 |
+
}
|
3230 |
+
this.slideTo(s)
|
3231 |
+
}
|
3232 |
+
}
|
3233 |
+
},
|
3234 |
+
update: function (e) {
|
3235 |
+
var t = this.thumbs.swiper;
|
3236 |
+
if (t) {
|
3237 |
+
var i = "auto" === t.params.slidesPerView ? t.slidesPerViewDynamic() : t.params.slidesPerView,
|
3238 |
+
s = this.params.thumbs.autoScrollOffset,
|
3239 |
+
a = s && !t.params.loop;
|
3240 |
+
if (this.realIndex !== t.realIndex || a) {
|
3241 |
+
var r, n, o = t.activeIndex;
|
3242 |
+
if (t.params.loop) {
|
3243 |
+
t.slides.eq(o).hasClass(t.params.slideDuplicateClass) && (t.loopFix(), t._clientLeft = t.$wrapperEl[0].clientLeft, o = t.activeIndex);
|
3244 |
+
var l = t.slides.eq(o).prevAll('[data-swiper-slide-index="' + this.realIndex + '"]').eq(0).index(),
|
3245 |
+
d = t.slides.eq(o).nextAll('[data-swiper-slide-index="' + this.realIndex + '"]').eq(0).index();
|
3246 |
+
r = void 0 === l ? d : void 0 === d ? l : d - o == o - l ? o : d - o < o - l ? d : l, n = this.activeIndex > this.previousIndex ? "next" : "prev"
|
3247 |
+
} else n = (r = this.realIndex) > this.previousIndex ? "next" : "prev";
|
3248 |
+
a && (r += "next" === n ? s : -1 * s), t.visibleSlidesIndexes && t.visibleSlidesIndexes.indexOf(r) < 0 && (t.params.centeredSlides ? r = r > o ? r - Math.floor(i / 2) + 1 : r + Math.floor(i / 2) - 1 : r > o && (r = r - i + 1), t.slideTo(r, e ? 0 : void 0))
|
3249 |
+
}
|
3250 |
+
var h = 1,
|
3251 |
+
p = this.params.thumbs.slideThumbActiveClass;
|
3252 |
+
if (this.params.slidesPerView > 1 && !this.params.centeredSlides && (h = this.params.slidesPerView), this.params.thumbs.multipleActiveThumbs || (h = 1), h = Math.floor(h), t.slides.removeClass(p), t.params.loop || t.params.virtual && t.params.virtual.enabled)
|
3253 |
+
for (var c = 0; c < h; c += 1) t.$wrapperEl.children('[data-swiper-slide-index="' + (this.realIndex + c) + '"]').addClass(p);
|
3254 |
+
else
|
3255 |
+
for (var u = 0; u < h; u += 1) t.slides.eq(this.realIndex + u).addClass(p)
|
3256 |
+
}
|
3257 |
+
}
|
3258 |
+
},
|
3259 |
+
Ee = [K, U, Z, Q, ee, ie, ae, {
|
3260 |
+
name: "mousewheel",
|
3261 |
+
params: {
|
3262 |
+
mousewheel: {
|
3263 |
+
enabled: !1,
|
3264 |
+
releaseOnEdges: !1,
|
3265 |
+
invert: !1,
|
3266 |
+
forceToAxis: !1,
|
3267 |
+
sensitivity: 1,
|
3268 |
+
eventsTarged: "container"
|
3269 |
+
}
|
3270 |
+
},
|
3271 |
+
create: function () {
|
3272 |
+
d.extend(this, {
|
3273 |
+
mousewheel: {
|
3274 |
+
enabled: !1,
|
3275 |
+
enable: re.enable.bind(this),
|
3276 |
+
disable: re.disable.bind(this),
|
3277 |
+
handle: re.handle.bind(this),
|
3278 |
+
handleMouseEnter: re.handleMouseEnter.bind(this),
|
3279 |
+
handleMouseLeave: re.handleMouseLeave.bind(this),
|
3280 |
+
animateSlider: re.animateSlider.bind(this),
|
3281 |
+
releaseScroll: re.releaseScroll.bind(this),
|
3282 |
+
lastScrollTime: d.now(),
|
3283 |
+
lastEventBeforeSnap: void 0,
|
3284 |
+
recentWheelEvents: []
|
3285 |
+
}
|
3286 |
+
})
|
3287 |
+
},
|
3288 |
+
on: {
|
3289 |
+
init: function () {
|
3290 |
+
!this.params.mousewheel.enabled && this.params.cssMode && this.mousewheel.disable(), this.params.mousewheel.enabled && this.mousewheel.enable()
|
3291 |
+
},
|
3292 |
+
destroy: function () {
|
3293 |
+
this.params.cssMode && this.mousewheel.enable(), this.mousewheel.enabled && this.mousewheel.disable()
|
3294 |
+
}
|
3295 |
+
}
|
3296 |
+
}, {
|
3297 |
+
name: "navigation",
|
3298 |
+
params: {
|
3299 |
+
navigation: {
|
3300 |
+
nextEl: null,
|
3301 |
+
prevEl: null,
|
3302 |
+
hideOnClick: !1,
|
3303 |
+
disabledClass: "swiper-button-disabled",
|
3304 |
+
hiddenClass: "swiper-button-hidden",
|
3305 |
+
lockClass: "swiper-button-lock"
|
3306 |
+
}
|
3307 |
+
},
|
3308 |
+
create: function () {
|
3309 |
+
d.extend(this, {
|
3310 |
+
navigation: {
|
3311 |
+
init: ne.init.bind(this),
|
3312 |
+
update: ne.update.bind(this),
|
3313 |
+
destroy: ne.destroy.bind(this),
|
3314 |
+
onNextClick: ne.onNextClick.bind(this),
|
3315 |
+
onPrevClick: ne.onPrevClick.bind(this)
|
3316 |
+
}
|
3317 |
+
})
|
3318 |
+
},
|
3319 |
+
on: {
|
3320 |
+
init: function () {
|
3321 |
+
this.navigation.init(), this.navigation.update()
|
3322 |
+
},
|
3323 |
+
toEdge: function () {
|
3324 |
+
this.navigation.update()
|
3325 |
+
},
|
3326 |
+
fromEdge: function () {
|
3327 |
+
this.navigation.update()
|
3328 |
+
},
|
3329 |
+
destroy: function () {
|
3330 |
+
this.navigation.destroy()
|
3331 |
+
},
|
3332 |
+
click: function (e) {
|
3333 |
+
var t, i = this.navigation,
|
3334 |
+
s = i.$nextEl,
|
3335 |
+
a = i.$prevEl;
|
3336 |
+
!this.params.navigation.hideOnClick || n(e.target).is(a) || n(e.target).is(s) || (s ? t = s.hasClass(this.params.navigation.hiddenClass) : a && (t = a.hasClass(this.params.navigation.hiddenClass)), !0 === t ? this.emit("navigationShow", this) : this.emit("navigationHide", this), s && s.toggleClass(this.params.navigation.hiddenClass), a && a.toggleClass(this.params.navigation.hiddenClass))
|
3337 |
+
}
|
3338 |
+
}
|
3339 |
+
}, {
|
3340 |
+
name: "pagination",
|
3341 |
+
params: {
|
3342 |
+
pagination: {
|
3343 |
+
el: null,
|
3344 |
+
bulletElement: "span",
|
3345 |
+
clickable: !1,
|
3346 |
+
hideOnClick: !1,
|
3347 |
+
renderBullet: null,
|
3348 |
+
renderProgressbar: null,
|
3349 |
+
renderFraction: null,
|
3350 |
+
renderCustom: null,
|
3351 |
+
progressbarOpposite: !1,
|
3352 |
+
type: "bullets",
|
3353 |
+
dynamicBullets: !1,
|
3354 |
+
dynamicMainBullets: 1,
|
3355 |
+
formatFractionCurrent: function (e) {
|
3356 |
+
return e
|
3357 |
+
},
|
3358 |
+
formatFractionTotal: function (e) {
|
3359 |
+
return e
|
3360 |
+
},
|
3361 |
+
bulletClass: "swiper-pagination-bullet",
|
3362 |
+
bulletActiveClass: "swiper-pagination-bullet-active",
|
3363 |
+
modifierClass: "swiper-pagination-",
|
3364 |
+
currentClass: "swiper-pagination-current",
|
3365 |
+
totalClass: "swiper-pagination-total",
|
3366 |
+
hiddenClass: "swiper-pagination-hidden",
|
3367 |
+
progressbarFillClass: "swiper-pagination-progressbar-fill",
|
3368 |
+
progressbarOppositeClass: "swiper-pagination-progressbar-opposite",
|
3369 |
+
clickableClass: "swiper-pagination-clickable",
|
3370 |
+
lockClass: "swiper-pagination-lock"
|
3371 |
+
}
|
3372 |
+
},
|
3373 |
+
create: function () {
|
3374 |
+
d.extend(this, {
|
3375 |
+
pagination: {
|
3376 |
+
init: oe.init.bind(this),
|
3377 |
+
render: oe.render.bind(this),
|
3378 |
+
update: oe.update.bind(this),
|
3379 |
+
destroy: oe.destroy.bind(this),
|
3380 |
+
dynamicBulletIndex: 0
|
3381 |
+
}
|
3382 |
+
})
|
3383 |
+
},
|
3384 |
+
on: {
|
3385 |
+
init: function () {
|
3386 |
+
this.pagination.init(), this.pagination.render(), this.pagination.update()
|
3387 |
+
},
|
3388 |
+
activeIndexChange: function () {
|
3389 |
+
(this.params.loop || void 0 === this.snapIndex) && this.pagination.update()
|
3390 |
+
},
|
3391 |
+
snapIndexChange: function () {
|
3392 |
+
this.params.loop || this.pagination.update()
|
3393 |
+
},
|
3394 |
+
slidesLengthChange: function () {
|
3395 |
+
this.params.loop && (this.pagination.render(), this.pagination.update())
|
3396 |
+
},
|
3397 |
+
snapGridLengthChange: function () {
|
3398 |
+
this.params.loop || (this.pagination.render(), this.pagination.update())
|
3399 |
+
},
|
3400 |
+
destroy: function () {
|
3401 |
+
this.pagination.destroy()
|
3402 |
+
},
|
3403 |
+
click: function (e) {
|
3404 |
+
this.params.pagination.el && this.params.pagination.hideOnClick && this.pagination.$el.length > 0 && !n(e.target).hasClass(this.params.pagination.bulletClass) && (!0 === this.pagination.$el.hasClass(this.params.pagination.hiddenClass) ? this.emit("paginationShow", this) : this.emit("paginationHide", this), this.pagination.$el.toggleClass(this.params.pagination.hiddenClass))
|
3405 |
+
}
|
3406 |
+
}
|
3407 |
+
}, {
|
3408 |
+
name: "scrollbar",
|
3409 |
+
params: {
|
3410 |
+
scrollbar: {
|
3411 |
+
el: null,
|
3412 |
+
dragSize: "auto",
|
3413 |
+
hide: !1,
|
3414 |
+
draggable: !1,
|
3415 |
+
snapOnRelease: !0,
|
3416 |
+
lockClass: "swiper-scrollbar-lock",
|
3417 |
+
dragClass: "swiper-scrollbar-drag"
|
3418 |
+
}
|
3419 |
+
},
|
3420 |
+
create: function () {
|
3421 |
+
d.extend(this, {
|
3422 |
+
scrollbar: {
|
3423 |
+
init: le.init.bind(this),
|
3424 |
+
destroy: le.destroy.bind(this),
|
3425 |
+
updateSize: le.updateSize.bind(this),
|
3426 |
+
setTranslate: le.setTranslate.bind(this),
|
3427 |
+
setTransition: le.setTransition.bind(this),
|
3428 |
+
enableDraggable: le.enableDraggable.bind(this),
|
3429 |
+
disableDraggable: le.disableDraggable.bind(this),
|
3430 |
+
setDragPosition: le.setDragPosition.bind(this),
|
3431 |
+
getPointerPosition: le.getPointerPosition.bind(this),
|
3432 |
+
onDragStart: le.onDragStart.bind(this),
|
3433 |
+
onDragMove: le.onDragMove.bind(this),
|
3434 |
+
onDragEnd: le.onDragEnd.bind(this),
|
3435 |
+
isTouched: !1,
|
3436 |
+
timeout: null,
|
3437 |
+
dragTimeout: null
|
3438 |
+
}
|
3439 |
+
})
|
3440 |
+
},
|
3441 |
+
on: {
|
3442 |
+
init: function () {
|
3443 |
+
this.scrollbar.init(), this.scrollbar.updateSize(), this.scrollbar.setTranslate()
|
3444 |
+
},
|
3445 |
+
update: function () {
|
3446 |
+
this.scrollbar.updateSize()
|
3447 |
+
},
|
3448 |
+
resize: function () {
|
3449 |
+
this.scrollbar.updateSize()
|
3450 |
+
},
|
3451 |
+
observerUpdate: function () {
|
3452 |
+
this.scrollbar.updateSize()
|
3453 |
+
},
|
3454 |
+
setTranslate: function () {
|
3455 |
+
this.scrollbar.setTranslate()
|
3456 |
+
},
|
3457 |
+
setTransition: function (e) {
|
3458 |
+
this.scrollbar.setTransition(e)
|
3459 |
+
},
|
3460 |
+
destroy: function () {
|
3461 |
+
this.scrollbar.destroy()
|
3462 |
+
}
|
3463 |
+
}
|
3464 |
+
}, {
|
3465 |
+
name: "parallax",
|
3466 |
+
params: {
|
3467 |
+
parallax: {
|
3468 |
+
enabled: !1
|
3469 |
+
}
|
3470 |
+
},
|
3471 |
+
create: function () {
|
3472 |
+
d.extend(this, {
|
3473 |
+
parallax: {
|
3474 |
+
setTransform: de.setTransform.bind(this),
|
3475 |
+
setTranslate: de.setTranslate.bind(this),
|
3476 |
+
setTransition: de.setTransition.bind(this)
|
3477 |
+
}
|
3478 |
+
})
|
3479 |
+
},
|
3480 |
+
on: {
|
3481 |
+
beforeInit: function () {
|
3482 |
+
this.params.parallax.enabled && (this.params.watchSlidesProgress = !0, this.originalParams.watchSlidesProgress = !0)
|
3483 |
+
},
|
3484 |
+
init: function () {
|
3485 |
+
this.params.parallax.enabled && this.parallax.setTranslate()
|
3486 |
+
},
|
3487 |
+
setTranslate: function () {
|
3488 |
+
this.params.parallax.enabled && this.parallax.setTranslate()
|
3489 |
+
},
|
3490 |
+
setTransition: function (e) {
|
3491 |
+
this.params.parallax.enabled && this.parallax.setTransition(e)
|
3492 |
+
}
|
3493 |
+
}
|
3494 |
+
}, {
|
3495 |
+
name: "zoom",
|
3496 |
+
params: {
|
3497 |
+
zoom: {
|
3498 |
+
enabled: !1,
|
3499 |
+
maxRatio: 3,
|
3500 |
+
minRatio: 1,
|
3501 |
+
toggle: !0,
|
3502 |
+
containerClass: "swiper-zoom-container",
|
3503 |
+
zoomedSlideClass: "swiper-slide-zoomed"
|
3504 |
+
}
|
3505 |
+
},
|
3506 |
+
create: function () {
|
3507 |
+
var e = this,
|
3508 |
+
t = {
|
3509 |
+
enabled: !1,
|
3510 |
+
scale: 1,
|
3511 |
+
currentScale: 1,
|
3512 |
+
isScaling: !1,
|
3513 |
+
gesture: {
|
3514 |
+
$slideEl: void 0,
|
3515 |
+
slideWidth: void 0,
|
3516 |
+
slideHeight: void 0,
|
3517 |
+
$imageEl: void 0,
|
3518 |
+
$imageWrapEl: void 0,
|
3519 |
+
maxRatio: 3
|
3520 |
+
},
|
3521 |
+
image: {
|
3522 |
+
isTouched: void 0,
|
3523 |
+
isMoved: void 0,
|
3524 |
+
currentX: void 0,
|
3525 |
+
currentY: void 0,
|
3526 |
+
minX: void 0,
|
3527 |
+
minY: void 0,
|
3528 |
+
maxX: void 0,
|
3529 |
+
maxY: void 0,
|
3530 |
+
width: void 0,
|
3531 |
+
height: void 0,
|
3532 |
+
startX: void 0,
|
3533 |
+
startY: void 0,
|
3534 |
+
touchesStart: {},
|
3535 |
+
touchesCurrent: {}
|
3536 |
+
},
|
3537 |
+
velocity: {
|
3538 |
+
x: void 0,
|
3539 |
+
y: void 0,
|
3540 |
+
prevPositionX: void 0,
|
3541 |
+
prevPositionY: void 0,
|
3542 |
+
prevTime: void 0
|
3543 |
+
}
|
3544 |
+
};
|
3545 |
+
"onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out".split(" ").forEach((function (i) {
|
3546 |
+
t[i] = he[i].bind(e)
|
3547 |
+
})), d.extend(e, {
|
3548 |
+
zoom: t
|
3549 |
+
});
|
3550 |
+
var i = 1;
|
3551 |
+
Object.defineProperty(e.zoom, "scale", {
|
3552 |
+
get: function () {
|
3553 |
+
return i
|
3554 |
+
},
|
3555 |
+
set: function (t) {
|
3556 |
+
if (i !== t) {
|
3557 |
+
var s = e.zoom.gesture.$imageEl ? e.zoom.gesture.$imageEl[0] : void 0,
|
3558 |
+
a = e.zoom.gesture.$slideEl ? e.zoom.gesture.$slideEl[0] : void 0;
|
3559 |
+
e.emit("zoomChange", t, s, a)
|
3560 |
+
}
|
3561 |
+
i = t
|
3562 |
+
}
|
3563 |
+
})
|
3564 |
+
},
|
3565 |
+
on: {
|
3566 |
+
init: function () {
|
3567 |
+
this.params.zoom.enabled && this.zoom.enable()
|
3568 |
+
},
|
3569 |
+
destroy: function () {
|
3570 |
+
this.zoom.disable()
|
3571 |
+
},
|
3572 |
+
touchStart: function (e) {
|
3573 |
+
this.zoom.enabled && this.zoom.onTouchStart(e)
|
3574 |
+
},
|
3575 |
+
touchEnd: function (e) {
|
3576 |
+
this.zoom.enabled && this.zoom.onTouchEnd(e)
|
3577 |
+
},
|
3578 |
+
doubleTap: function (e) {
|
3579 |
+
this.params.zoom.enabled && this.zoom.enabled && this.params.zoom.toggle && this.zoom.toggle(e)
|
3580 |
+
},
|
3581 |
+
transitionEnd: function () {
|
3582 |
+
this.zoom.enabled && this.params.zoom.enabled && this.zoom.onTransitionEnd()
|
3583 |
+
},
|
3584 |
+
slideChange: function () {
|
3585 |
+
this.zoom.enabled && this.params.zoom.enabled && this.params.cssMode && this.zoom.onTransitionEnd()
|
3586 |
+
}
|
3587 |
+
}
|
3588 |
+
}, {
|
3589 |
+
name: "lazy",
|
3590 |
+
params: {
|
3591 |
+
lazy: {
|
3592 |
+
enabled: !1,
|
3593 |
+
loadPrevNext: !1,
|
3594 |
+
loadPrevNextAmount: 1,
|
3595 |
+
loadOnTransitionStart: !1,
|
3596 |
+
elementClass: "swiper-lazy",
|
3597 |
+
loadingClass: "swiper-lazy-loading",
|
3598 |
+
loadedClass: "swiper-lazy-loaded",
|
3599 |
+
preloaderClass: "swiper-lazy-preloader"
|
3600 |
+
}
|
3601 |
+
},
|
3602 |
+
create: function () {
|
3603 |
+
d.extend(this, {
|
3604 |
+
lazy: {
|
3605 |
+
initialImageLoaded: !1,
|
3606 |
+
load: pe.load.bind(this),
|
3607 |
+
loadInSlide: pe.loadInSlide.bind(this)
|
3608 |
+
}
|
3609 |
+
})
|
3610 |
+
},
|
3611 |
+
on: {
|
3612 |
+
beforeInit: function () {
|
3613 |
+
this.params.lazy.enabled && this.params.preloadImages && (this.params.preloadImages = !1)
|
3614 |
+
},
|
3615 |
+
init: function () {
|
3616 |
+
this.params.lazy.enabled && !this.params.loop && 0 === this.params.initialSlide && this.lazy.load()
|
3617 |
+
},
|
3618 |
+
scroll: function () {
|
3619 |
+
this.params.freeMode && !this.params.freeModeSticky && this.lazy.load()
|
3620 |
+
},
|
3621 |
+
resize: function () {
|
3622 |
+
this.params.lazy.enabled && this.lazy.load()
|
3623 |
+
},
|
3624 |
+
scrollbarDragMove: function () {
|
3625 |
+
this.params.lazy.enabled && this.lazy.load()
|
3626 |
+
},
|
3627 |
+
transitionStart: function () {
|
3628 |
+
this.params.lazy.enabled && (this.params.lazy.loadOnTransitionStart || !this.params.lazy.loadOnTransitionStart && !this.lazy.initialImageLoaded) && this.lazy.load()
|
3629 |
+
},
|
3630 |
+
transitionEnd: function () {
|
3631 |
+
this.params.lazy.enabled && !this.params.lazy.loadOnTransitionStart && this.lazy.load()
|
3632 |
+
},
|
3633 |
+
slideChange: function () {
|
3634 |
+
this.params.lazy.enabled && this.params.cssMode && this.lazy.load()
|
3635 |
+
}
|
3636 |
+
}
|
3637 |
+
}, {
|
3638 |
+
name: "controller",
|
3639 |
+
params: {
|
3640 |
+
controller: {
|
3641 |
+
control: void 0,
|
3642 |
+
inverse: !1,
|
3643 |
+
by: "slide"
|
3644 |
+
}
|
3645 |
+
},
|
3646 |
+
create: function () {
|
3647 |
+
d.extend(this, {
|
3648 |
+
controller: {
|
3649 |
+
control: this.params.controller.control,
|
3650 |
+
getInterpolateFunction: ce.getInterpolateFunction.bind(this),
|
3651 |
+
setTranslate: ce.setTranslate.bind(this),
|
3652 |
+
setTransition: ce.setTransition.bind(this)
|
3653 |
+
}
|
3654 |
+
})
|
3655 |
+
},
|
3656 |
+
on: {
|
3657 |
+
update: function () {
|
3658 |
+
this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline)
|
3659 |
+
},
|
3660 |
+
resize: function () {
|
3661 |
+
this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline)
|
3662 |
+
},
|
3663 |
+
observerUpdate: function () {
|
3664 |
+
this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline)
|
3665 |
+
},
|
3666 |
+
setTranslate: function (e, t) {
|
3667 |
+
this.controller.control && this.controller.setTranslate(e, t)
|
3668 |
+
},
|
3669 |
+
setTransition: function (e, t) {
|
3670 |
+
this.controller.control && this.controller.setTransition(e, t)
|
3671 |
+
}
|
3672 |
+
}
|
3673 |
+
}, {
|
3674 |
+
name: "a11y",
|
3675 |
+
params: {
|
3676 |
+
a11y: {
|
3677 |
+
enabled: !0,
|
3678 |
+
notificationClass: "swiper-notification",
|
3679 |
+
prevSlideMessage: "Previous slide",
|
3680 |
+
nextSlideMessage: "Next slide",
|
3681 |
+
firstSlideMessage: "This is the first slide",
|
3682 |
+
lastSlideMessage: "This is the last slide",
|
3683 |
+
paginationBulletMessage: "Go to slide {{index}}"
|
3684 |
+
}
|
3685 |
+
},
|
3686 |
+
create: function () {
|
3687 |
+
var e = this;
|
3688 |
+
d.extend(e, {
|
3689 |
+
a11y: {
|
3690 |
+
liveRegion: n('<span class="' + e.params.a11y.notificationClass + '" aria-live="assertive" aria-atomic="true"></span>')
|
3691 |
+
}
|
3692 |
+
}), Object.keys(ue).forEach((function (t) {
|
3693 |
+
e.a11y[t] = ue[t].bind(e)
|
3694 |
+
}))
|
3695 |
+
},
|
3696 |
+
on: {
|
3697 |
+
init: function () {
|
3698 |
+
this.params.a11y.enabled && (this.a11y.init(), this.a11y.updateNavigation())
|
3699 |
+
},
|
3700 |
+
toEdge: function () {
|
3701 |
+
this.params.a11y.enabled && this.a11y.updateNavigation()
|
3702 |
+
},
|
3703 |
+
fromEdge: function () {
|
3704 |
+
this.params.a11y.enabled && this.a11y.updateNavigation()
|
3705 |
+
},
|
3706 |
+
paginationUpdate: function () {
|
3707 |
+
this.params.a11y.enabled && this.a11y.updatePagination()
|
3708 |
+
},
|
3709 |
+
destroy: function () {
|
3710 |
+
this.params.a11y.enabled && this.a11y.destroy()
|
3711 |
+
}
|
3712 |
+
}
|
3713 |
+
}, {
|
3714 |
+
name: "history",
|
3715 |
+
params: {
|
3716 |
+
history: {
|
3717 |
+
enabled: !1,
|
3718 |
+
replaceState: !1,
|
3719 |
+
key: "slides"
|
3720 |
+
}
|
3721 |
+
},
|
3722 |
+
create: function () {
|
3723 |
+
d.extend(this, {
|
3724 |
+
history: {
|
3725 |
+
init: ve.init.bind(this),
|
3726 |
+
setHistory: ve.setHistory.bind(this),
|
3727 |
+
setHistoryPopState: ve.setHistoryPopState.bind(this),
|
3728 |
+
scrollToSlide: ve.scrollToSlide.bind(this),
|
3729 |
+
destroy: ve.destroy.bind(this)
|
3730 |
+
}
|
3731 |
+
})
|
3732 |
+
},
|
3733 |
+
on: {
|
3734 |
+
init: function () {
|
3735 |
+
this.params.history.enabled && this.history.init()
|
3736 |
+
},
|
3737 |
+
destroy: function () {
|
3738 |
+
this.params.history.enabled && this.history.destroy()
|
3739 |
+
},
|
3740 |
+
transitionEnd: function () {
|
3741 |
+
this.history.initialized && this.history.setHistory(this.params.history.key, this.activeIndex)
|
3742 |
+
},
|
3743 |
+
slideChange: function () {
|
3744 |
+
this.history.initialized && this.params.cssMode && this.history.setHistory(this.params.history.key, this.activeIndex)
|
3745 |
+
}
|
3746 |
+
}
|
3747 |
+
}, {
|
3748 |
+
name: "hash-navigation",
|
3749 |
+
params: {
|
3750 |
+
hashNavigation: {
|
3751 |
+
enabled: !1,
|
3752 |
+
replaceState: !1,
|
3753 |
+
watchState: !1
|
3754 |
+
}
|
3755 |
+
},
|
3756 |
+
create: function () {
|
3757 |
+
d.extend(this, {
|
3758 |
+
hashNavigation: {
|
3759 |
+
initialized: !1,
|
3760 |
+
init: fe.init.bind(this),
|
3761 |
+
destroy: fe.destroy.bind(this),
|
3762 |
+
setHash: fe.setHash.bind(this),
|
3763 |
+
onHashCange: fe.onHashCange.bind(this)
|
3764 |
+
}
|
3765 |
+
})
|
3766 |
+
},
|
3767 |
+
on: {
|
3768 |
+
init: function () {
|
3769 |
+
this.params.hashNavigation.enabled && this.hashNavigation.init()
|
3770 |
+
},
|
3771 |
+
destroy: function () {
|
3772 |
+
this.params.hashNavigation.enabled && this.hashNavigation.destroy()
|
3773 |
+
},
|
3774 |
+
transitionEnd: function () {
|
3775 |
+
this.hashNavigation.initialized && this.hashNavigation.setHash()
|
3776 |
+
},
|
3777 |
+
slideChange: function () {
|
3778 |
+
this.hashNavigation.initialized && this.params.cssMode && this.hashNavigation.setHash()
|
3779 |
+
}
|
3780 |
+
}
|
3781 |
+
}, {
|
3782 |
+
name: "autoplay",
|
3783 |
+
params: {
|
3784 |
+
autoplay: {
|
3785 |
+
enabled: !1,
|
3786 |
+
delay: 3e3,
|
3787 |
+
waitForTransition: !0,
|
3788 |
+
disableOnInteraction: !0,
|
3789 |
+
stopOnLastSlide: !1,
|
3790 |
+
reverseDirection: !1
|
3791 |
+
}
|
3792 |
+
},
|
3793 |
+
create: function () {
|
3794 |
+
var e = this;
|
3795 |
+
d.extend(e, {
|
3796 |
+
autoplay: {
|
3797 |
+
running: !1,
|
3798 |
+
paused: !1,
|
3799 |
+
run: me.run.bind(e),
|
3800 |
+
start: me.start.bind(e),
|
3801 |
+
stop: me.stop.bind(e),
|
3802 |
+
pause: me.pause.bind(e),
|
3803 |
+
onVisibilityChange: function () {
|
3804 |
+
"hidden" === document.visibilityState && e.autoplay.running && e.autoplay.pause(), "visible" === document.visibilityState && e.autoplay.paused && (e.autoplay.run(), e.autoplay.paused = !1)
|
3805 |
+
},
|
3806 |
+
onTransitionEnd: function (t) {
|
3807 |
+
e && !e.destroyed && e.$wrapperEl && t.target === this && (e.$wrapperEl[0].removeEventListener("transitionend", e.autoplay.onTransitionEnd), e.$wrapperEl[0].removeEventListener("webkitTransitionEnd", e.autoplay.onTransitionEnd), e.autoplay.paused = !1, e.autoplay.running ? e.autoplay.run() : e.autoplay.stop())
|
3808 |
+
}
|
3809 |
+
}
|
3810 |
+
})
|
3811 |
+
},
|
3812 |
+
on: {
|
3813 |
+
init: function () {
|
3814 |
+
this.params.autoplay.enabled && (this.autoplay.start(), document.addEventListener("visibilitychange", this.autoplay.onVisibilityChange))
|
3815 |
+
},
|
3816 |
+
beforeTransitionStart: function (e, t) {
|
3817 |
+
this.autoplay.running && (t || !this.params.autoplay.disableOnInteraction ? this.autoplay.pause(e) : this.autoplay.stop())
|
3818 |
+
},
|
3819 |
+
sliderFirstMove: function () {
|
3820 |
+
this.autoplay.running && (this.params.autoplay.disableOnInteraction ? this.autoplay.stop() : this.autoplay.pause())
|
3821 |
+
},
|
3822 |
+
touchEnd: function () {
|
3823 |
+
this.params.cssMode && this.autoplay.paused && !this.params.autoplay.disableOnInteraction && this.autoplay.run()
|
3824 |
+
},
|
3825 |
+
destroy: function () {
|
3826 |
+
this.autoplay.running && this.autoplay.stop(), document.removeEventListener("visibilitychange", this.autoplay.onVisibilityChange)
|
3827 |
+
}
|
3828 |
+
}
|
3829 |
+
}, {
|
3830 |
+
name: "effect-fade",
|
3831 |
+
params: {
|
3832 |
+
fadeEffect: {
|
3833 |
+
crossFade: !1
|
3834 |
+
}
|
3835 |
+
},
|
3836 |
+
create: function () {
|
3837 |
+
d.extend(this, {
|
3838 |
+
fadeEffect: {
|
3839 |
+
setTranslate: ge.setTranslate.bind(this),
|
3840 |
+
setTransition: ge.setTransition.bind(this)
|
3841 |
+
}
|
3842 |
+
})
|
3843 |
+
},
|
3844 |
+
on: {
|
3845 |
+
beforeInit: function () {
|
3846 |
+
if ("fade" === this.params.effect) {
|
3847 |
+
this.classNames.push(this.params.containerModifierClass + "fade");
|
3848 |
+
var e = {
|
3849 |
+
slidesPerView: 1,
|
3850 |
+
slidesPerColumn: 1,
|
3851 |
+
slidesPerGroup: 1,
|
3852 |
+
watchSlidesProgress: !0,
|
3853 |
+
spaceBetween: 0,
|
3854 |
+
virtualTranslate: !0
|
3855 |
+
};
|
3856 |
+
d.extend(this.params, e), d.extend(this.originalParams, e)
|
3857 |
+
}
|
3858 |
+
},
|
3859 |
+
setTranslate: function () {
|
3860 |
+
"fade" === this.params.effect && this.fadeEffect.setTranslate()
|
3861 |
+
},
|
3862 |
+
setTransition: function (e) {
|
3863 |
+
"fade" === this.params.effect && this.fadeEffect.setTransition(e)
|
3864 |
+
}
|
3865 |
+
}
|
3866 |
+
}, {
|
3867 |
+
name: "effect-cube",
|
3868 |
+
params: {
|
3869 |
+
cubeEffect: {
|
3870 |
+
slideShadows: !0,
|
3871 |
+
shadow: !0,
|
3872 |
+
shadowOffset: 20,
|
3873 |
+
shadowScale: .94
|
3874 |
+
}
|
3875 |
+
},
|
3876 |
+
create: function () {
|
3877 |
+
d.extend(this, {
|
3878 |
+
cubeEffect: {
|
3879 |
+
setTranslate: be.setTranslate.bind(this),
|
3880 |
+
setTransition: be.setTransition.bind(this)
|
3881 |
+
}
|
3882 |
+
})
|
3883 |
+
},
|
3884 |
+
on: {
|
3885 |
+
beforeInit: function () {
|
3886 |
+
if ("cube" === this.params.effect) {
|
3887 |
+
this.classNames.push(this.params.containerModifierClass + "cube"), this.classNames.push(this.params.containerModifierClass + "3d");
|
3888 |
+
var e = {
|
3889 |
+
slidesPerView: 1,
|
3890 |
+
slidesPerColumn: 1,
|
3891 |
+
slidesPerGroup: 1,
|
3892 |
+
watchSlidesProgress: !0,
|
3893 |
+
resistanceRatio: 0,
|
3894 |
+
spaceBetween: 0,
|
3895 |
+
centeredSlides: !1,
|
3896 |
+
virtualTranslate: !0
|
3897 |
+
};
|
3898 |
+
d.extend(this.params, e), d.extend(this.originalParams, e)
|
3899 |
+
}
|
3900 |
+
},
|
3901 |
+
setTranslate: function () {
|
3902 |
+
"cube" === this.params.effect && this.cubeEffect.setTranslate()
|
3903 |
+
},
|
3904 |
+
setTransition: function (e) {
|
3905 |
+
"cube" === this.params.effect && this.cubeEffect.setTransition(e)
|
3906 |
+
}
|
3907 |
+
}
|
3908 |
+
}, {
|
3909 |
+
name: "effect-flip",
|
3910 |
+
params: {
|
3911 |
+
flipEffect: {
|
3912 |
+
slideShadows: !0,
|
3913 |
+
limitRotation: !0
|
3914 |
+
}
|
3915 |
+
},
|
3916 |
+
create: function () {
|
3917 |
+
d.extend(this, {
|
3918 |
+
flipEffect: {
|
3919 |
+
setTranslate: we.setTranslate.bind(this),
|
3920 |
+
setTransition: we.setTransition.bind(this)
|
3921 |
+
}
|
3922 |
+
})
|
3923 |
+
},
|
3924 |
+
on: {
|
3925 |
+
beforeInit: function () {
|
3926 |
+
if ("flip" === this.params.effect) {
|
3927 |
+
this.classNames.push(this.params.containerModifierClass + "flip"), this.classNames.push(this.params.containerModifierClass + "3d");
|
3928 |
+
var e = {
|
3929 |
+
slidesPerView: 1,
|
3930 |
+
slidesPerColumn: 1,
|
3931 |
+
slidesPerGroup: 1,
|
3932 |
+
watchSlidesProgress: !0,
|
3933 |
+
spaceBetween: 0,
|
3934 |
+
virtualTranslate: !0
|
3935 |
+
};
|
3936 |
+
d.extend(this.params, e), d.extend(this.originalParams, e)
|
3937 |
+
}
|
3938 |
+
},
|
3939 |
+
setTranslate: function () {
|
3940 |
+
"flip" === this.params.effect && this.flipEffect.setTranslate()
|
3941 |
+
},
|
3942 |
+
setTransition: function (e) {
|
3943 |
+
"flip" === this.params.effect && this.flipEffect.setTransition(e)
|
3944 |
+
}
|
3945 |
+
}
|
3946 |
+
}, {
|
3947 |
+
name: "effect-coverflow",
|
3948 |
+
params: {
|
3949 |
+
coverflowEffect: {
|
3950 |
+
rotate: 50,
|
3951 |
+
stretch: 0,
|
3952 |
+
depth: 100,
|
3953 |
+
scale: 1,
|
3954 |
+
modifier: 1,
|
3955 |
+
slideShadows: !0
|
3956 |
+
}
|
3957 |
+
},
|
3958 |
+
create: function () {
|
3959 |
+
d.extend(this, {
|
3960 |
+
coverflowEffect: {
|
3961 |
+
setTranslate: ye.setTranslate.bind(this),
|
3962 |
+
setTransition: ye.setTransition.bind(this)
|
3963 |
+
}
|
3964 |
+
})
|
3965 |
+
},
|
3966 |
+
on: {
|
3967 |
+
beforeInit: function () {
|
3968 |
+
"coverflow" === this.params.effect && (this.classNames.push(this.params.containerModifierClass + "coverflow"), this.classNames.push(this.params.containerModifierClass + "3d"), this.params.watchSlidesProgress = !0, this.originalParams.watchSlidesProgress = !0)
|
3969 |
+
},
|
3970 |
+
setTranslate: function () {
|
3971 |
+
"coverflow" === this.params.effect && this.coverflowEffect.setTranslate()
|
3972 |
+
},
|
3973 |
+
setTransition: function (e) {
|
3974 |
+
"coverflow" === this.params.effect && this.coverflowEffect.setTransition(e)
|
3975 |
+
}
|
3976 |
+
}
|
3977 |
+
}, {
|
3978 |
+
name: "thumbs",
|
3979 |
+
params: {
|
3980 |
+
thumbs: {
|
3981 |
+
swiper: null,
|
3982 |
+
multipleActiveThumbs: !0,
|
3983 |
+
autoScrollOffset: 0,
|
3984 |
+
slideThumbActiveClass: "swiper-slide-thumb-active",
|
3985 |
+
thumbsContainerClass: "swiper-container-thumbs"
|
3986 |
+
}
|
3987 |
+
},
|
3988 |
+
create: function () {
|
3989 |
+
d.extend(this, {
|
3990 |
+
thumbs: {
|
3991 |
+
swiper: null,
|
3992 |
+
init: xe.init.bind(this),
|
3993 |
+
update: xe.update.bind(this),
|
3994 |
+
onThumbClick: xe.onThumbClick.bind(this)
|
3995 |
+
}
|
3996 |
+
})
|
3997 |
+
},
|
3998 |
+
on: {
|
3999 |
+
beforeInit: function () {
|
4000 |
+
var e = this.params.thumbs;
|
4001 |
+
e && e.swiper && (this.thumbs.init(), this.thumbs.update(!0))
|
4002 |
+
},
|
4003 |
+
slideChange: function () {
|
4004 |
+
this.thumbs.swiper && this.thumbs.update()
|
4005 |
+
},
|
4006 |
+
update: function () {
|
4007 |
+
this.thumbs.swiper && this.thumbs.update()
|
4008 |
+
},
|
4009 |
+
resize: function () {
|
4010 |
+
this.thumbs.swiper && this.thumbs.update()
|
4011 |
+
},
|
4012 |
+
observerUpdate: function () {
|
4013 |
+
this.thumbs.swiper && this.thumbs.update()
|
4014 |
+
},
|
4015 |
+
setTransition: function (e) {
|
4016 |
+
var t = this.thumbs.swiper;
|
4017 |
+
t && t.setTransition(e)
|
4018 |
+
},
|
4019 |
+
beforeDestroy: function () {
|
4020 |
+
var e = this.thumbs.swiper;
|
4021 |
+
e && this.thumbs.swiperCreated && e && e.destroy()
|
4022 |
+
}
|
4023 |
+
}
|
4024 |
+
}];
|
4025 |
+
return void 0 === j.use && (j.use = j.Class.use, j.installModule = j.Class.installModule), j.use(Ee), j
|
4026 |
+
}));
|
4027 |
+
//# sourceMappingURL=swiper.min.js.map
|
assets/js/twae-swiper.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Swiper=t()}(this,(function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(i,s){void 0===i&&(i={}),void 0===s&&(s={}),Object.keys(s).forEach((function(a){void 0===i[a]?i[a]=s[a]:e(s[a])&&e(i[a])&&Object.keys(s[a]).length>0&&t(i[a],s[a])}))}var i="undefined"!=typeof document?document:{},s={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};t(i,s);var a="undefined"!=typeof window?window:{};t(a,{document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}}});var r=function(e){for(var t=0;t<e.length;t+=1)this[t]=e[t];return this.length=e.length,this};function n(e,t){var s=[],n=0;if(e&&!t&&e instanceof r)return e;if(e)if("string"==typeof e){var o,l,d=e.trim();if(d.indexOf("<")>=0&&d.indexOf(">")>=0){var h="div";for(0===d.indexOf("<li")&&(h="ul"),0===d.indexOf("<tr")&&(h="tbody"),0!==d.indexOf("<td")&&0!==d.indexOf("<th")||(h="tr"),0===d.indexOf("<tbody")&&(h="table"),0===d.indexOf("<option")&&(h="select"),(l=i.createElement(h)).innerHTML=d,n=0;n<l.childNodes.length;n+=1)s.push(l.childNodes[n])}else for(o=t||"#"!==e[0]||e.match(/[ .<>:~]/)?(t||i).querySelectorAll(e.trim()):[i.getElementById(e.trim().split("#")[1])],n=0;n<o.length;n+=1)o[n]&&s.push(o[n])}else if(e.nodeType||e===a||e===i)s.push(e);else if(e.length>0&&e[0].nodeType)for(n=0;n<e.length;n+=1)s.push(e[n]);return new r(s)}function o(e){for(var t=[],i=0;i<e.length;i+=1)-1===t.indexOf(e[i])&&t.push(e[i]);return t}n.fn=r.prototype,n.Class=r,n.Dom7=r;var l={addClass:function(e){if(void 0===e)return this;for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.add(t[i]);return this},removeClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.remove(t[i]);return this},hasClass:function(e){return!!this[0]&&this[0].classList.contains(e)},toggleClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.toggle(t[i]);return this},attr:function(e,t){var i=arguments;if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(var s=0;s<this.length;s+=1)if(2===i.length)this[s].setAttribute(e,t);else for(var a in e)this[s][a]=e[a],this[s].setAttribute(a,e[a]);return this},removeAttr:function(e){for(var t=0;t<this.length;t+=1)this[t].removeAttribute(e);return this},data:function(e,t){var i,a;if(void 0!==t){for(var s=0;s<this.length;s+=1)(i=this[s]).dom7ElementDataStorage||(i.dom7ElementDataStorage={}),i.dom7ElementDataStorage[e]=t;return this}if(i=this[0])return i.dom7ElementDataStorage&&e in i.dom7ElementDataStorage?i.dom7ElementDataStorage[e]:i.getAttribute("data-"+e)||void 0},transform:function(e){for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransform=e,i.transform=e}return this},transition:function(e){"string"!=typeof e&&(e+="ms");for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransitionDuration=e,i.transitionDuration=e}return this},on:function(){for(var e,t=[],i=arguments.length;i--;)t[i]=arguments[i];var s=t[0],a=t[1],r=t[2],o=t[3];function l(e){var t=e.target;if(t){var i=e.target.dom7EventData||[];if(i.indexOf(e)<0&&i.unshift(e),n(t).is(a))r.apply(t,i);else for(var s=n(t).parents(),o=0;o<s.length;o+=1)n(s[o]).is(a)&&r.apply(s[o],i)}}function d(e){var t=e&&e.target&&e.target.dom7EventData||[];t.indexOf(e)<0&&t.unshift(e),r.apply(this,t)}"function"==typeof t[1]&&(s=(e=t)[0],r=e[1],o=e[2],a=void 0),o||(o=!1);for(var h,p=s.split(" "),c=0;c<this.length;c+=1){var u=this[c];if(a)for(h=0;h<p.length;h+=1){var v=p[h];u.dom7LiveListeners||(u.dom7LiveListeners={}),u.dom7LiveListeners[v]||(u.dom7LiveListeners[v]=[]),u.dom7LiveListeners[v].push({listener:r,proxyListener:l}),u.addEventListener(v,l,o)}else for(h=0;h<p.length;h+=1){var f=p[h];u.dom7Listeners||(u.dom7Listeners={}),u.dom7Listeners[f]||(u.dom7Listeners[f]=[]),u.dom7Listeners[f].push({listener:r,proxyListener:d}),u.addEventListener(f,d,o)}}return this},off:function(){for(var e,t=[],i=arguments.length;i--;)t[i]=arguments[i];var s=t[0],a=t[1],r=t[2],n=t[3];"function"==typeof t[1]&&(s=(e=t)[0],r=e[1],n=e[2],a=void 0),n||(n=!1);for(var o=s.split(" "),l=0;l<o.length;l+=1)for(var d=o[l],h=0;h<this.length;h+=1){var p=this[h],c=void 0;if(!a&&p.dom7Listeners?c=p.dom7Listeners[d]:a&&p.dom7LiveListeners&&(c=p.dom7LiveListeners[d]),c&&c.length)for(var u=c.length-1;u>=0;u-=1){var v=c[u];r&&v.listener===r||r&&v.listener&&v.listener.dom7proxy&&v.listener.dom7proxy===r?(p.removeEventListener(d,v.proxyListener,n),c.splice(u,1)):r||(p.removeEventListener(d,v.proxyListener,n),c.splice(u,1))}}return this},trigger:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var s=e[0].split(" "),r=e[1],n=0;n<s.length;n+=1)for(var o=s[n],l=0;l<this.length;l+=1){var d=this[l],h=void 0;try{h=new a.CustomEvent(o,{detail:r,bubbles:!0,cancelable:!0})}catch(e){(h=i.createEvent("Event")).initEvent(o,!0,!0),h.detail=r}d.dom7EventData=e.filter((function(e,t){return t>0})),d.dispatchEvent(h),d.dom7EventData=[],delete d.dom7EventData}return this},transitionEnd:function(e){var t,i=["webkitTransitionEnd","transitionend"],s=this;function a(r){if(r.target===this)for(e.call(this,r),t=0;t<i.length;t+=1)s.off(i[t],a)}if(e)for(t=0;t<i.length;t+=1)s.on(i[t],a);return this},outerWidth:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetWidth+parseFloat(t.getPropertyValue("margin-right"))+parseFloat(t.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetHeight+parseFloat(t.getPropertyValue("margin-top"))+parseFloat(t.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},offset:function(){if(this.length>0){var e=this[0],t=e.getBoundingClientRect(),s=i.body,r=e.clientTop||s.clientTop||0,n=e.clientLeft||s.clientLeft||0,o=e===a?a.scrollY:e.scrollTop,l=e===a?a.scrollX:e.scrollLeft;return{top:t.top+o-r,left:t.left+l-n}}return null},css:function(e,t){var i;if(1===arguments.length){if("string"!=typeof e){for(i=0;i<this.length;i+=1)for(var s in e)this[i].style[s]=e[s];return this}if(this[0])return a.getComputedStyle(this[0],null).getPropertyValue(e)}if(2===arguments.length&&"string"==typeof e){for(i=0;i<this.length;i+=1)this[i].style[e]=t;return this}return this},each:function(e){if(!e)return this;for(var t=0;t<this.length;t+=1)if(!1===e.call(this[t],t,this[t]))return this;return this},html:function(e){if(void 0===e)return this[0]?this[0].innerHTML:void 0;for(var t=0;t<this.length;t+=1)this[t].innerHTML=e;return this},text:function(e){if(void 0===e)return this[0]?this[0].textContent.trim():null;for(var t=0;t<this.length;t+=1)this[t].textContent=e;return this},is:function(e){var t,s,o=this[0];if(!o||void 0===e)return!1;if("string"==typeof e){if(o.matches)return o.matches(e);if(o.webkitMatchesSelector)return o.webkitMatchesSelector(e);if(o.msMatchesSelector)return o.msMatchesSelector(e);for(t=n(e),s=0;s<t.length;s+=1)if(t[s]===o)return!0;return!1}if(e===i)return o===i;if(e===a)return o===a;if(e.nodeType||e instanceof r){for(t=e.nodeType?[e]:e,s=0;s<t.length;s+=1)if(t[s]===o)return!0;return!1}return!1},index:function(){var e,t=this[0];if(t){for(e=0;null!==(t=t.previousSibling);)1===t.nodeType&&(e+=1);return e}},eq:function(e){if(void 0===e)return this;var t,i=this.length;return new r(e>i-1?[]:e<0?(t=i+e)<0?[]:[this[t]]:[this[e]])},append:function(){for(var e,t=[],s=arguments.length;s--;)t[s]=arguments[s];for(var a=0;a<t.length;a+=1){e=t[a];for(var n=0;n<this.length;n+=1)if("string"==typeof e){var o=i.createElement("div");for(o.innerHTML=e;o.firstChild;)this[n].appendChild(o.firstChild)}else if(e instanceof r)for(var l=0;l<e.length;l+=1)this[n].appendChild(e[l]);else this[n].appendChild(e)}return this},prepend:function(e){var t,s;for(t=0;t<this.length;t+=1)if("string"==typeof e){var a=i.createElement("div");for(a.innerHTML=e,s=a.childNodes.length-1;s>=0;s-=1)this[t].insertBefore(a.childNodes[s],this[t].childNodes[0])}else if(e instanceof r)for(s=0;s<e.length;s+=1)this[t].insertBefore(e[s],this[t].childNodes[0]);else this[t].insertBefore(e,this[t].childNodes[0]);return this},next:function(e){return this.length>0?e?this[0].nextElementSibling&&n(this[0].nextElementSibling).is(e)?new r([this[0].nextElementSibling]):new r([]):this[0].nextElementSibling?new r([this[0].nextElementSibling]):new r([]):new r([])},nextAll:function(e){var t=[],i=this[0];if(!i)return new r([]);for(;i.nextElementSibling;){var s=i.nextElementSibling;e?n(s).is(e)&&t.push(s):t.push(s),i=s}return new r(t)},prev:function(e){if(this.length>0){var t=this[0];return e?t.previousElementSibling&&n(t.previousElementSibling).is(e)?new r([t.previousElementSibling]):new r([]):t.previousElementSibling?new r([t.previousElementSibling]):new r([])}return new r([])},prevAll:function(e){var t=[],i=this[0];if(!i)return new r([]);for(;i.previousElementSibling;){var s=i.previousElementSibling;e?n(s).is(e)&&t.push(s):t.push(s),i=s}return new r(t)},parent:function(e){for(var t=[],i=0;i<this.length;i+=1)null!==this[i].parentNode&&(e?n(this[i].parentNode).is(e)&&t.push(this[i].parentNode):t.push(this[i].parentNode));return n(o(t))},parents:function(e){for(var t=[],i=0;i<this.length;i+=1)for(var s=this[i].parentNode;s;)e?n(s).is(e)&&t.push(s):t.push(s),s=s.parentNode;return n(o(t))},closest:function(e){var t=this;return void 0===e?new r([]):(t.is(e)||(t=t.parents(e).eq(0)),t)},find:function(e){for(var t=[],i=0;i<this.length;i+=1)for(var s=this[i].querySelectorAll(e),a=0;a<s.length;a+=1)t.push(s[a]);return new r(t)},children:function(e){for(var t=[],i=0;i<this.length;i+=1)for(var s=this[i].childNodes,a=0;a<s.length;a+=1)e?1===s[a].nodeType&&n(s[a]).is(e)&&t.push(s[a]):1===s[a].nodeType&&t.push(s[a]);return new r(o(t))},filter:function(e){for(var t=[],i=0;i<this.length;i+=1)e.call(this[i],i,this[i])&&t.push(this[i]);return new r(t)},remove:function(){for(var e=0;e<this.length;e+=1)this[e].parentNode&&this[e].parentNode.removeChild(this[e]);return this},add:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var i,s,a=this;for(i=0;i<e.length;i+=1){var r=n(e[i]);for(s=0;s<r.length;s+=1)a[a.length]=r[s],a.length+=1}return a},styles:function(){return this[0]?a.getComputedStyle(this[0],null):{}}};Object.keys(l).forEach((function(e){n.fn[e]=n.fn[e]||l[e]}));var d={deleteProps:function(e){var t=e;Object.keys(t).forEach((function(e){try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))},nextTick:function(e,t){return void 0===t&&(t=0),setTimeout(e,t)},now:function(){return Date.now()},getTranslate:function(e,t){var i,s,r;void 0===t&&(t="x");var n=a.getComputedStyle(e,null);return a.WebKitCSSMatrix?((s=n.transform||n.webkitTransform).split(",").length>6&&(s=s.split(", ").map((function(e){return e.replace(",",".")})).join(", ")),r=new a.WebKitCSSMatrix("none"===s?"":s)):i=(r=n.MozTransform||n.OTransform||n.MsTransform||n.msTransform||n.transform||n.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===t&&(s=a.WebKitCSSMatrix?r.m41:16===i.length?parseFloat(i[12]):parseFloat(i[4])),"y"===t&&(s=a.WebKitCSSMatrix?r.m42:16===i.length?parseFloat(i[13]):parseFloat(i[5])),s||0},parseUrlQuery:function(e){var t,i,s,r,n={},o=e||a.location.href;if("string"==typeof o&&o.length)for(r=(i=(o=o.indexOf("?")>-1?o.replace(/\S*\?/,""):"").split("&").filter((function(e){return""!==e}))).length,t=0;t<r;t+=1)s=i[t].replace(/#\S+/g,"").split("="),n[decodeURIComponent(s[0])]=void 0===s[1]?void 0:decodeURIComponent(s[1])||"";return n},isObject:function(e){return"object"==typeof e&&null!==e&&e.constructor&&e.constructor===Object},extend:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var i=Object(e[0]),s=1;s<e.length;s+=1){var a=e[s];if(null!=a)for(var r=Object.keys(Object(a)),n=0,o=r.length;n<o;n+=1){var l=r[n],h=Object.getOwnPropertyDescriptor(a,l);void 0!==h&&h.enumerable&&(d.isObject(i[l])&&d.isObject(a[l])?d.extend(i[l],a[l]):!d.isObject(i[l])&&d.isObject(a[l])?(i[l]={},d.extend(i[l],a[l])):i[l]=a[l])}}return i}},h={touch:!!("ontouchstart"in a||a.DocumentTouch&&i instanceof a.DocumentTouch),pointerEvents:!!a.PointerEvent&&"maxTouchPoints"in a.navigator&&a.navigator.maxTouchPoints>=0,observer:"MutationObserver"in a||"WebkitMutationObserver"in a,passiveListener:function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});a.addEventListener("testPassiveListener",null,t)}catch(e){}return e}(),gestures:"ongesturestart"in a},p=function(e){void 0===e&&(e={});var t=this;t.params=e,t.eventsListeners={},t.params&&t.params.on&&Object.keys(t.params.on).forEach((function(e){t.on(e,t.params.on[e])}))},c={components:{configurable:!0}};p.prototype.on=function(e,t,i){var s=this;if("function"!=typeof t)return s;var a=i?"unshift":"push";return e.split(" ").forEach((function(e){s.eventsListeners[e]||(s.eventsListeners[e]=[]),s.eventsListeners[e][a](t)})),s},p.prototype.once=function(e,t,i){var s=this;if("function"!=typeof t)return s;function a(){for(var i=[],r=arguments.length;r--;)i[r]=arguments[r];s.off(e,a),a.f7proxy&&delete a.f7proxy,t.apply(s,i)}return a.f7proxy=t,s.on(e,a,i)},p.prototype.off=function(e,t){var i=this;return i.eventsListeners?(e.split(" ").forEach((function(e){void 0===t?i.eventsListeners[e]=[]:i.eventsListeners[e]&&i.eventsListeners[e].length&&i.eventsListeners[e].forEach((function(s,a){(s===t||s.f7proxy&&s.f7proxy===t)&&i.eventsListeners[e].splice(a,1)}))})),i):i},p.prototype.emit=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var i,s,a,r=this;if(!r.eventsListeners)return r;"string"==typeof e[0]||Array.isArray(e[0])?(i=e[0],s=e.slice(1,e.length),a=r):(i=e[0].events,s=e[0].data,a=e[0].context||r);var n=Array.isArray(i)?i:i.split(" ");return n.forEach((function(e){if(r.eventsListeners&&r.eventsListeners[e]){var t=[];r.eventsListeners[e].forEach((function(e){t.push(e)})),t.forEach((function(e){e.apply(a,s)}))}})),r},p.prototype.useModulesParams=function(e){var t=this;t.modules&&Object.keys(t.modules).forEach((function(i){var s=t.modules[i];s.params&&d.extend(e,s.params)}))},p.prototype.useModules=function(e){void 0===e&&(e={});var t=this;t.modules&&Object.keys(t.modules).forEach((function(i){var s=t.modules[i],a=e[i]||{};s.instance&&Object.keys(s.instance).forEach((function(e){var i=s.instance[e];t[e]="function"==typeof i?i.bind(t):i})),s.on&&t.on&&Object.keys(s.on).forEach((function(e){t.on(e,s.on[e])})),s.create&&s.create.bind(t)(a)}))},c.components.set=function(e){this.use&&this.use(e)},p.installModule=function(e){for(var t=[],i=arguments.length-1;i-- >0;)t[i]=arguments[i+1];var s=this;s.prototype.modules||(s.prototype.modules={});var a=e.name||Object.keys(s.prototype.modules).length+"_"+d.now();return s.prototype.modules[a]=e,e.proto&&Object.keys(e.proto).forEach((function(t){s.prototype[t]=e.proto[t]})),e.static&&Object.keys(e.static).forEach((function(t){s[t]=e.static[t]})),e.install&&e.install.apply(s,t),s},p.use=function(e){for(var t=[],i=arguments.length-1;i-- >0;)t[i]=arguments[i+1];var s=this;return Array.isArray(e)?(e.forEach((function(e){return s.installModule(e)})),s):s.installModule.apply(s,[e].concat(t))},Object.defineProperties(p,c);var u={updateSize:function(){var e,t,i=this.$el;e=void 0!==this.params.width?this.params.width:i[0].clientWidth,t=void 0!==this.params.height?this.params.height:i[0].clientHeight,0===e&&this.isHorizontal()||0===t&&this.isVertical()||(e=e-parseInt(i.css("padding-left"),10)-parseInt(i.css("padding-right"),10),t=t-parseInt(i.css("padding-top"),10)-parseInt(i.css("padding-bottom"),10),d.extend(this,{width:e,height:t,size:this.isHorizontal()?e:t}))},updateSlides:function(){var e=this.params,t=this.$wrapperEl,i=this.size,s=this.rtlTranslate,r=this.wrongRTL,n=this.virtual&&e.virtual.enabled,o=n?this.virtual.slides.length:this.slides.length,l=t.children("."+this.params.slideClass),h=n?this.virtual.slides.length:l.length,p=[],c=[],u=[];function v(t){return!e.cssMode||t!==l.length-1}var f=e.slidesOffsetBefore;"function"==typeof f&&(f=e.slidesOffsetBefore.call(this));var m=e.slidesOffsetAfter;"function"==typeof m&&(m=e.slidesOffsetAfter.call(this));var g=this.snapGrid.length,b=this.snapGrid.length,w=e.spaceBetween,y=-f,x=0,E=0;if(void 0!==i){var T,S;"string"==typeof w&&w.indexOf("%")>=0&&(w=parseFloat(w.replace("%",""))/100*i),this.virtualSize=-w,s?l.css({marginLeft:"",marginTop:""}):l.css({marginRight:"",marginBottom:""}),e.slidesPerColumn>1&&(T=Math.floor(h/e.slidesPerColumn)===h/this.params.slidesPerColumn?h:Math.ceil(h/e.slidesPerColumn)*e.slidesPerColumn,"auto"!==e.slidesPerView&&"row"===e.slidesPerColumnFill&&(T=Math.max(T,e.slidesPerView*e.slidesPerColumn)));for(var C,M=e.slidesPerColumn,P=T/M,z=Math.floor(h/e.slidesPerColumn),k=0;k<h;k+=1){S=0;var $=l.eq(k);if(e.slidesPerColumn>1){var L=void 0,I=void 0,D=void 0;if("row"===e.slidesPerColumnFill&&e.slidesPerGroup>1){var O=Math.floor(k/(e.slidesPerGroup*e.slidesPerColumn)),A=k-e.slidesPerColumn*e.slidesPerGroup*O,G=0===O?e.slidesPerGroup:Math.min(Math.ceil((h-O*M*e.slidesPerGroup)/M),e.slidesPerGroup);L=(I=A-(D=Math.floor(A/G))*G+O*e.slidesPerGroup)+D*T/M,$.css({"-webkit-box-ordinal-group":L,"-moz-box-ordinal-group":L,"-ms-flex-order":L,"-webkit-order":L,order:L})}else"column"===e.slidesPerColumnFill?(D=k-(I=Math.floor(k/M))*M,(I>z||I===z&&D===M-1)&&(D+=1)>=M&&(D=0,I+=1)):I=k-(D=Math.floor(k/P))*P;$.css("margin-"+(this.isHorizontal()?"top":"left"),0!==D&&e.spaceBetween&&e.spaceBetween+"px")}if("none"!==$.css("display")){if("auto"===e.slidesPerView){var H=a.getComputedStyle($[0],null),B=$[0].style.transform,N=$[0].style.webkitTransform;if(B&&($[0].style.transform="none"),N&&($[0].style.webkitTransform="none"),e.roundLengths)S=this.isHorizontal()?$.outerWidth(!0):$.outerHeight(!0);else if(this.isHorizontal()){var X=parseFloat(H.getPropertyValue("width")),V=parseFloat(H.getPropertyValue("padding-left")),Y=parseFloat(H.getPropertyValue("padding-right")),F=parseFloat(H.getPropertyValue("margin-left")),W=parseFloat(H.getPropertyValue("margin-right")),R=H.getPropertyValue("box-sizing");S=R&&"border-box"===R?X+F+W:X+V+Y+F+W}else{var q=parseFloat(H.getPropertyValue("height")),j=parseFloat(H.getPropertyValue("padding-top")),K=parseFloat(H.getPropertyValue("padding-bottom")),U=parseFloat(H.getPropertyValue("margin-top")),_=parseFloat(H.getPropertyValue("margin-bottom")),Z=H.getPropertyValue("box-sizing");S=Z&&"border-box"===Z?q+U+_:q+j+K+U+_}B&&($[0].style.transform=B),N&&($[0].style.webkitTransform=N),e.roundLengths&&(S=Math.floor(S))}else S=(i-(e.slidesPerView-1)*w)/e.slidesPerView,e.roundLengths&&(S=Math.floor(S)),l[k]&&(this.isHorizontal()?l[k].style.width=S+"px":l[k].style.height=S+"px");l[k]&&(l[k].swiperSlideSize=S),u.push(S),e.centeredSlides?(y=y+S/2+x/2+w,0===x&&0!==k&&(y=y-i/2-w),0===k&&(y=y-i/2-w),Math.abs(y)<.001&&(y=0),e.roundLengths&&(y=Math.floor(y)),E%e.slidesPerGroup==0&&p.push(y),c.push(y)):(e.roundLengths&&(y=Math.floor(y)),(E-Math.min(this.params.slidesPerGroupSkip,E))%this.params.slidesPerGroup==0&&p.push(y),c.push(y),y=y+S+w),this.virtualSize+=S+w,x=S,E+=1}}if(this.virtualSize=Math.max(this.virtualSize,i)+m,s&&r&&("slide"===e.effect||"coverflow"===e.effect)&&t.css({width:this.virtualSize+e.spaceBetween+"px"}),e.setWrapperSize&&(this.isHorizontal()?t.css({width:this.virtualSize+e.spaceBetween+"px"}):t.css({height:this.virtualSize+e.spaceBetween+"px"})),e.slidesPerColumn>1&&(this.virtualSize=(S+e.spaceBetween)*T,this.virtualSize=Math.ceil(this.virtualSize/e.slidesPerColumn)-e.spaceBetween,this.isHorizontal()?t.css({width:this.virtualSize+e.spaceBetween+"px"}):t.css({height:this.virtualSize+e.spaceBetween+"px"}),e.centeredSlides)){C=[];for(var Q=0;Q<p.length;Q+=1){var J=p[Q];e.roundLengths&&(J=Math.floor(J)),p[Q]<this.virtualSize+p[0]&&C.push(J)}p=C}if(!e.centeredSlides){C=[];for(var ee=0;ee<p.length;ee+=1){var te=p[ee];e.roundLengths&&(te=Math.floor(te)),p[ee]<=this.virtualSize-i&&C.push(te)}p=C,Math.floor(this.virtualSize-i)-Math.floor(p[p.length-1])>1&&p.push(this.virtualSize-i)}if(0===p.length&&(p=[0]),0!==e.spaceBetween&&(this.isHorizontal()?s?l.filter(v).css({marginLeft:w+"px"}):l.filter(v).css({marginRight:w+"px"}):l.filter(v).css({marginBottom:w+"px"})),e.centeredSlides&&e.centeredSlidesBounds){var ie=0;u.forEach((function(t){ie+=t+(e.spaceBetween?e.spaceBetween:0)}));var se=(ie-=e.spaceBetween)-i;p=p.map((function(e){return e<0?-f:e>se?se+m:e}))}if(e.centerInsufficientSlides){var ae=0;if(u.forEach((function(t){ae+=t+(e.spaceBetween?e.spaceBetween:0)})),(ae-=e.spaceBetween)<i){var re=(i-ae)/2;p.forEach((function(e,t){p[t]=e-re})),c.forEach((function(e,t){c[t]=e+re}))}}d.extend(this,{slides:l,snapGrid:p,slidesGrid:c,slidesSizesGrid:u}),h!==o&&this.emit("slidesLengthChange"),p.length!==g&&(this.params.watchOverflow&&this.checkOverflow(),this.emit("snapGridLengthChange")),c.length!==b&&this.emit("slidesGridLengthChange"),(e.watchSlidesProgress||e.watchSlidesVisibility)&&this.updateSlidesOffset()}},updateAutoHeight:function(e){var t,i=[],s=0;if("number"==typeof e?this.setTransition(e):!0===e&&this.setTransition(this.params.speed),"auto"!==this.params.slidesPerView&&this.params.slidesPerView>1)if(this.params.centeredSlides)this.visibleSlides.each((function(e,t){i.push(t)}));else for(t=0;t<Math.ceil(this.params.slidesPerView);t+=1){var a=this.activeIndex+t;if(a>this.slides.length)break;i.push(this.slides.eq(a)[0])}else i.push(this.slides.eq(this.activeIndex)[0]);for(t=0;t<i.length;t+=1)if(void 0!==i[t]){var r=i[t].offsetHeight;s=r>s?r:s}s&&this.$wrapperEl.css("height",s+"px")},updateSlidesOffset:function(){for(var e=this.slides,t=0;t<e.length;t+=1)e[t].swiperSlideOffset=this.isHorizontal()?e[t].offsetLeft:e[t].offsetTop},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);var t=this.params,i=this.slides,s=this.rtlTranslate;if(0!==i.length){void 0===i[0].swiperSlideOffset&&this.updateSlidesOffset();var a=-e;s&&(a=e),i.removeClass(t.slideVisibleClass),this.visibleSlidesIndexes=[],this.visibleSlides=[];for(var r=0;r<i.length;r+=1){var o=i[r],l=(a+(t.centeredSlides?this.minTranslate():0)-o.swiperSlideOffset)/(o.swiperSlideSize+t.spaceBetween);if(t.watchSlidesVisibility||t.centeredSlides&&t.autoHeight){var d=-(a-o.swiperSlideOffset),h=d+this.slidesSizesGrid[r];(d>=0&&d<this.size-1||h>1&&h<=this.size||d<=0&&h>=this.size)&&(this.visibleSlides.push(o),this.visibleSlidesIndexes.push(r),i.eq(r).addClass(t.slideVisibleClass))}o.progress=s?-l:l}this.visibleSlides=n(this.visibleSlides)}},updateProgress:function(e){if(void 0===e){var t=this.rtlTranslate?-1:1;e=this&&this.translate&&this.translate*t||0}var i=this.params,s=this.maxTranslate()-this.minTranslate(),a=this.progress,r=this.isBeginning,n=this.isEnd,o=r,l=n;0===s?(a=0,r=!0,n=!0):(r=(a=(e-this.minTranslate())/s)<=0,n=a>=1),d.extend(this,{progress:a,isBeginning:r,isEnd:n}),(i.watchSlidesProgress||i.watchSlidesVisibility||i.centeredSlides&&i.autoHeight)&&this.updateSlidesProgress(e),r&&!o&&this.emit("reachBeginning toEdge"),n&&!l&&this.emit("reachEnd toEdge"),(o&&!r||l&&!n)&&this.emit("fromEdge"),this.emit("progress",a)},updateSlidesClasses:function(){var e,t=this.slides,i=this.params,s=this.$wrapperEl,a=this.activeIndex,r=this.realIndex,n=this.virtual&&i.virtual.enabled;t.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(e=n?this.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+a+'"]'):t.eq(a)).addClass(i.slideActiveClass),i.loop&&(e.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+r+'"]').addClass(i.slideDuplicateActiveClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+r+'"]').addClass(i.slideDuplicateActiveClass));var o=e.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===o.length&&(o=t.eq(0)).addClass(i.slideNextClass);var l=e.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===l.length&&(l=t.eq(-1)).addClass(i.slidePrevClass),i.loop&&(o.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+o.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+o.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),l.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass))},updateActiveIndex:function(e){var t,i=this.rtlTranslate?this.translate:-this.translate,s=this.slidesGrid,a=this.snapGrid,r=this.params,n=this.activeIndex,o=this.realIndex,l=this.snapIndex,h=e;if(void 0===h){for(var p=0;p<s.length;p+=1)void 0!==s[p+1]?i>=s[p]&&i<s[p+1]-(s[p+1]-s[p])/2?h=p:i>=s[p]&&i<s[p+1]&&(h=p+1):i>=s[p]&&(h=p);r.normalizeSlideIndex&&(h<0||void 0===h)&&(h=0)}if(a.indexOf(i)>=0)t=a.indexOf(i);else{var c=Math.min(r.slidesPerGroupSkip,h);t=c+Math.floor((h-c)/r.slidesPerGroup)}if(t>=a.length&&(t=a.length-1),h!==n){var u=parseInt(this.slides.eq(h).attr("data-swiper-slide-index")||h,10);d.extend(this,{snapIndex:t,realIndex:u,previousIndex:n,activeIndex:h}),this.emit("activeIndexChange"),this.emit("snapIndexChange"),o!==u&&this.emit("realIndexChange"),(this.initialized||this.params.runCallbacksOnInit)&&this.emit("slideChange")}else t!==l&&(this.snapIndex=t,this.emit("snapIndexChange"))},updateClickedSlide:function(e){var t=this.params,i=n(e.target).closest("."+t.slideClass)[0],s=!1;if(i)for(var a=0;a<this.slides.length;a+=1)this.slides[a]===i&&(s=!0);if(!i||!s)return this.clickedSlide=void 0,void(this.clickedIndex=void 0);this.clickedSlide=i,this.virtual&&this.params.virtual.enabled?this.clickedIndex=parseInt(n(i).attr("data-swiper-slide-index"),10):this.clickedIndex=n(i).index(),t.slideToClickedSlide&&void 0!==this.clickedIndex&&this.clickedIndex!==this.activeIndex&&this.slideToClickedSlide()}},v={getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");var t=this.params,i=this.rtlTranslate,s=this.translate,a=this.$wrapperEl;if(t.virtualTranslate)return i?-s:s;if(t.cssMode)return s;var r=d.getTranslate(a[0],e);return i&&(r=-r),r||0},setTranslate:function(e,t){var i=this.rtlTranslate,s=this.params,a=this.$wrapperEl,r=this.wrapperEl,n=this.progress,o=0,l=0;this.isHorizontal()?o=i?-e:e:l=e,s.roundLengths&&(o=Math.floor(o),l=Math.floor(l)),s.cssMode?r[this.isHorizontal()?"scrollLeft":"scrollTop"]=this.isHorizontal()?-o:-l:s.virtualTranslate||a.transform("translate3d("+o+"px, "+l+"px, 0px)"),this.previousTranslate=this.translate,this.translate=this.isHorizontal()?o:l;var d=this.maxTranslate()-this.minTranslate();(0===d?0:(e-this.minTranslate())/d)!==n&&this.updateProgress(e),this.emit("setTranslate",this.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,i,s,a){var r;void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0),void 0===s&&(s=!0);var n=this,o=n.params,l=n.wrapperEl;if(n.animating&&o.preventInteractionOnTransition)return!1;var d,h=n.minTranslate(),p=n.maxTranslate();if(d=s&&e>h?h:s&&e<p?p:e,n.updateProgress(d),o.cssMode){var c=n.isHorizontal();return 0===t?l[c?"scrollLeft":"scrollTop"]=-d:l.scrollTo?l.scrollTo(((r={})[c?"left":"top"]=-d,r.behavior="smooth",r)):l[c?"scrollLeft":"scrollTop"]=-d,!0}return 0===t?(n.setTransition(0),n.setTranslate(d),i&&(n.emit("beforeTransitionStart",t,a),n.emit("transitionEnd"))):(n.setTransition(t),n.setTranslate(d),i&&(n.emit("beforeTransitionStart",t,a),n.emit("transitionStart")),n.animating||(n.animating=!0,n.onTranslateToWrapperTransitionEnd||(n.onTranslateToWrapperTransitionEnd=function(e){n&&!n.destroyed&&e.target===this&&(n.$wrapperEl[0].removeEventListener("transitionend",n.onTranslateToWrapperTransitionEnd),n.$wrapperEl[0].removeEventListener("webkitTransitionEnd",n.onTranslateToWrapperTransitionEnd),n.onTranslateToWrapperTransitionEnd=null,delete n.onTranslateToWrapperTransitionEnd,i&&n.emit("transitionEnd"))}),n.$wrapperEl[0].addEventListener("transitionend",n.onTranslateToWrapperTransitionEnd),n.$wrapperEl[0].addEventListener("webkitTransitionEnd",n.onTranslateToWrapperTransitionEnd))),!0}},f={setTransition:function(e,t){this.params.cssMode||this.$wrapperEl.transition(e),this.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);var i=this.activeIndex,s=this.params,a=this.previousIndex;if(!s.cssMode){s.autoHeight&&this.updateAutoHeight();var r=t;if(r||(r=i>a?"next":i<a?"prev":"reset"),this.emit("transitionStart"),e&&i!==a){if("reset"===r)return void this.emit("slideResetTransitionStart");this.emit("slideChangeTransitionStart"),"next"===r?this.emit("slideNextTransitionStart"):this.emit("slidePrevTransitionStart")}}},transitionEnd:function(e,t){void 0===e&&(e=!0);var i=this.activeIndex,s=this.previousIndex,a=this.params;if(this.animating=!1,!a.cssMode){this.setTransition(0);var r=t;if(r||(r=i>s?"next":i<s?"prev":"reset"),this.emit("transitionEnd"),e&&i!==s){if("reset"===r)return void this.emit("slideResetTransitionEnd");this.emit("slideChangeTransitionEnd"),"next"===r?this.emit("slideNextTransitionEnd"):this.emit("slidePrevTransitionEnd")}}}},m={slideTo:function(e,t,i,s){var a;void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0);var r=this,n=e;n<0&&(n=0);var o=r.params,l=r.snapGrid,d=r.slidesGrid,h=r.previousIndex,p=r.activeIndex,c=r.rtlTranslate,u=r.wrapperEl;if(r.animating&&o.preventInteractionOnTransition)return!1;var v=Math.min(r.params.slidesPerGroupSkip,n),f=v+Math.floor((n-v)/r.params.slidesPerGroup);f>=l.length&&(f=l.length-1),(p||o.initialSlide||0)===(h||0)&&i&&r.emit("beforeSlideChangeStart");var m,g=-l[f];if(r.updateProgress(g),o.normalizeSlideIndex)for(var b=0;b<d.length;b+=1)-Math.floor(100*g)>=Math.floor(100*d[b])&&(n=b);if(r.initialized&&n!==p){if(!r.allowSlideNext&&g<r.translate&&g<r.minTranslate())return!1;if(!r.allowSlidePrev&&g>r.translate&&g>r.maxTranslate()&&(p||0)!==n)return!1}if(m=n>p?"next":n<p?"prev":"reset",c&&-g===r.translate||!c&&g===r.translate)return r.updateActiveIndex(n),o.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==o.effect&&r.setTranslate(g),"reset"!==m&&(r.transitionStart(i,m),r.transitionEnd(i,m)),!1;if(o.cssMode){var w=r.isHorizontal(),y=-g;return c&&(y=u.scrollWidth-u.offsetWidth-y),0===t?u[w?"scrollLeft":"scrollTop"]=y:u.scrollTo?u.scrollTo(((a={})[w?"left":"top"]=y,a.behavior="smooth",a)):u[w?"scrollLeft":"scrollTop"]=y,!0}return 0===t?(r.setTransition(0),r.setTranslate(g),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,s),r.transitionStart(i,m),r.transitionEnd(i,m)):(r.setTransition(t),r.setTranslate(g),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,s),r.transitionStart(i,m),r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.$wrapperEl[0].removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].removeEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(i,m))}),r.$wrapperEl[0].addEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].addEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd))),!0},slideToLoop:function(e,t,i,s){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0);var a=e;return this.params.loop&&(a+=this.loopedSlides),this.slideTo(a,t,i,s)},slideNext:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this.params,a=this.animating,r=this.activeIndex<s.slidesPerGroupSkip?1:s.slidesPerGroup;if(s.loop){if(a)return!1;this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft}return this.slideTo(this.activeIndex+r,e,t,i)},slidePrev:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this.params,a=this.animating,r=this.snapGrid,n=this.slidesGrid,o=this.rtlTranslate;if(s.loop){if(a)return!1;this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft}function l(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}var d,h=l(o?this.translate:-this.translate),p=r.map((function(e){return l(e)})),c=(n.map((function(e){return l(e)})),r[p.indexOf(h)],r[p.indexOf(h)-1]);return void 0===c&&s.cssMode&&r.forEach((function(e){!c&&h>=e&&(c=e)})),void 0!==c&&(d=n.indexOf(c))<0&&(d=this.activeIndex-1),this.slideTo(d,e,t,i)},slideReset:function(e,t,i){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,i)},slideToClosest:function(e,t,i,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===s&&(s=.5);var a=this.activeIndex,r=Math.min(this.params.slidesPerGroupSkip,a),n=r+Math.floor((a-r)/this.params.slidesPerGroup),o=this.rtlTranslate?this.translate:-this.translate;if(o>=this.snapGrid[n]){var l=this.snapGrid[n];o-l>(this.snapGrid[n+1]-l)*s&&(a+=this.params.slidesPerGroup)}else{var d=this.snapGrid[n-1];o-d<=(this.snapGrid[n]-d)*s&&(a-=this.params.slidesPerGroup)}return a=Math.max(a,0),a=Math.min(a,this.slidesGrid.length-1),this.slideTo(a,e,t,i)},slideToClickedSlide:function(){var e,t=this,i=t.params,s=t.$wrapperEl,a="auto"===i.slidesPerView?t.slidesPerViewDynamic():i.slidesPerView,r=t.clickedIndex;if(i.loop){if(t.animating)return;e=parseInt(n(t.clickedSlide).attr("data-swiper-slide-index"),10),i.centeredSlides?r<t.loopedSlides-a/2||r>t.slides.length-t.loopedSlides+a/2?(t.loopFix(),r=s.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+i.slideDuplicateClass+")").eq(0).index(),d.nextTick((function(){t.slideTo(r)}))):t.slideTo(r):r>t.slides.length-a?(t.loopFix(),r=s.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+i.slideDuplicateClass+")").eq(0).index(),d.nextTick((function(){t.slideTo(r)}))):t.slideTo(r)}else t.slideTo(r)}},g={loopCreate:function(){var e=this,t=e.params,s=e.$wrapperEl;s.children("."+t.slideClass+"."+t.slideDuplicateClass).remove();var a=s.children("."+t.slideClass);if(t.loopFillGroupWithBlank){var r=t.slidesPerGroup-a.length%t.slidesPerGroup;if(r!==t.slidesPerGroup){for(var o=0;o<r;o+=1){var l=n(i.createElement("div")).addClass(t.slideClass+" "+t.slideBlankClass);s.append(l)}a=s.children("."+t.slideClass)}}"auto"!==t.slidesPerView||t.loopedSlides||(t.loopedSlides=a.length),e.loopedSlides=Math.ceil(parseFloat(t.loopedSlides||t.slidesPerView,10)),e.loopedSlides+=t.loopAdditionalSlides,e.loopedSlides>a.length&&(e.loopedSlides=a.length);var d=[],h=[];a.each((function(t,i){var s=n(i);t<e.loopedSlides&&h.push(i),t<a.length&&t>=a.length-e.loopedSlides&&d.push(i),s.attr("data-swiper-slide-index",t)}));for(var p=0;p<h.length;p+=1)s.append(n(h[p].cloneNode(!0)).addClass(t.slideDuplicateClass));for(var c=d.length-1;c>=0;c-=1)s.prepend(n(d[c].cloneNode(!0)).addClass(t.slideDuplicateClass))},loopFix:function(){this.emit("beforeLoopFix");var e,t=this.activeIndex,i=this.slides,s=this.loopedSlides,a=this.allowSlidePrev,r=this.allowSlideNext,n=this.snapGrid,o=this.rtlTranslate;this.allowSlidePrev=!0,this.allowSlideNext=!0;var l=-n[t]-this.getTranslate();t<s?(e=i.length-3*s+t,e+=s,this.slideTo(e,0,!1,!0)&&0!==l&&this.setTranslate((o?-this.translate:this.translate)-l)):t>=i.length-s&&(e=-i.length+t+s,e+=s,this.slideTo(e,0,!1,!0)&&0!==l&&this.setTranslate((o?-this.translate:this.translate)-l)),this.allowSlidePrev=a,this.allowSlideNext=r,this.emit("loopFix")},loopDestroy:function(){var e=this.$wrapperEl,t=this.params,i=this.slides;e.children("."+t.slideClass+"."+t.slideDuplicateClass+",."+t.slideClass+"."+t.slideBlankClass).remove(),i.removeAttr("data-swiper-slide-index")}},b={setGrabCursor:function(e){if(!(h.touch||!this.params.simulateTouch||this.params.watchOverflow&&this.isLocked||this.params.cssMode)){var t=this.el;t.style.cursor="move",t.style.cursor=e?"-webkit-grabbing":"-webkit-grab",t.style.cursor=e?"-moz-grabbin":"-moz-grab",t.style.cursor=e?"grabbing":"grab"}},unsetGrabCursor:function(){h.touch||this.params.watchOverflow&&this.isLocked||this.params.cssMode||(this.el.style.cursor="")}},w,y,x,E,T,S,C,M,P,z,k,$,L,I,D,O={appendSlide:function(e){var t=this.$wrapperEl,i=this.params;if(i.loop&&this.loopDestroy(),"object"==typeof e&&"length"in e)for(var s=0;s<e.length;s+=1)e[s]&&t.append(e[s]);else t.append(e);i.loop&&this.loopCreate(),i.observer&&h.observer||this.update()},prependSlide:function(e){var t=this.params,i=this.$wrapperEl,s=this.activeIndex;t.loop&&this.loopDestroy();var a=s+1;if("object"==typeof e&&"length"in e){for(var r=0;r<e.length;r+=1)e[r]&&i.prepend(e[r]);a=s+e.length}else i.prepend(e);t.loop&&this.loopCreate(),t.observer&&h.observer||this.update(),this.slideTo(a,0,!1)},addSlide:function(e,t){var i=this.$wrapperEl,s=this.params,a=this.activeIndex;s.loop&&(a-=this.loopedSlides,this.loopDestroy(),this.slides=i.children("."+s.slideClass));var r=this.slides.length;if(e<=0)this.prependSlide(t);else if(e>=r)this.appendSlide(t);else{for(var n=a>e?a+1:a,o=[],l=r-1;l>=e;l-=1){var d=this.slides.eq(l);d.remove(),o.unshift(d)}if("object"==typeof t&&"length"in t){for(var p=0;p<t.length;p+=1)t[p]&&i.append(t[p]);n=a>e?a+t.length:a}else i.append(t);for(var c=0;c<o.length;c+=1)i.append(o[c]);s.loop&&this.loopCreate(),s.observer&&h.observer||this.update(),s.loop?this.slideTo(n+this.loopedSlides,0,!1):this.slideTo(n,0,!1)}},removeSlide:function(e){var t=this.params,i=this.$wrapperEl,s=this.activeIndex;t.loop&&(s-=this.loopedSlides,this.loopDestroy(),this.slides=i.children("."+t.slideClass));var a,r=s;if("object"==typeof e&&"length"in e){for(var n=0;n<e.length;n+=1)a=e[n],this.slides[a]&&this.slides.eq(a).remove(),a<r&&(r-=1);r=Math.max(r,0)}else a=e,this.slides[a]&&this.slides.eq(a).remove(),a<r&&(r-=1),r=Math.max(r,0);t.loop&&this.loopCreate(),t.observer&&h.observer||this.update(),t.loop?this.slideTo(r+this.loopedSlides,0,!1):this.slideTo(r,0,!1)},removeAllSlides:function(){for(var e=[],t=0;t<this.slides.length;t+=1)e.push(t);this.removeSlide(e)}},A=(w=a.navigator.platform,y=a.navigator.userAgent,x={ios:!1,android:!1,androidChrome:!1,desktop:!1,iphone:!1,ipod:!1,ipad:!1,edge:!1,ie:!1,firefox:!1,macos:!1,windows:!1,cordova:!(!a.cordova&&!a.phonegap),phonegap:!(!a.cordova&&!a.phonegap),electron:!1},E=a.screen.width,T=a.screen.height,S=y.match(/(Android);?[\s\/]+([\d.]+)?/),C=y.match(/(iPad).*OS\s([\d_]+)/),M=y.match(/(iPod)(.*OS\s([\d_]+))?/),P=!C&&y.match(/(iPhone\sOS|iOS)\s([\d_]+)/),z=y.indexOf("MSIE ")>=0||y.indexOf("Trident/")>=0,k=y.indexOf("Edge/")>=0,$=y.indexOf("Gecko/")>=0&&y.indexOf("Firefox/")>=0,L="Win32"===w,I=y.toLowerCase().indexOf("electron")>=0,D="MacIntel"===w,!C&&D&&h.touch&&(1024===E&&1366===T||834===E&&1194===T||834===E&&1112===T||768===E&&1024===T)&&(C=y.match(/(Version)\/([\d.]+)/),D=!1),x.ie=z,x.edge=k,x.firefox=$,S&&!L&&(x.os="android",x.osVersion=S[2],x.android=!0,x.androidChrome=y.toLowerCase().indexOf("chrome")>=0),(C||P||M)&&(x.os="ios",x.ios=!0),P&&!M&&(x.osVersion=P[2].replace(/_/g,"."),x.iphone=!0),C&&(x.osVersion=C[2].replace(/_/g,"."),x.ipad=!0),M&&(x.osVersion=M[3]?M[3].replace(/_/g,"."):null,x.ipod=!0),x.ios&&x.osVersion&&y.indexOf("Version/")>=0&&"10"===x.osVersion.split(".")[0]&&(x.osVersion=y.toLowerCase().split("version/")[1].split(" ")[0]),x.webView=!(!(P||C||M)||!y.match(/.*AppleWebKit(?!.*Safari)/i)&&!a.navigator.standalone)||a.matchMedia&&a.matchMedia("(display-mode: standalone)").matches,x.webview=x.webView,x.standalone=x.webView,x.desktop=!(x.ios||x.android)||I,x.desktop&&(x.electron=I,x.macos=D,x.windows=L,x.macos&&(x.os="macos"),x.windows&&(x.os="windows")),x.pixelRatio=a.devicePixelRatio||1,x);function G(e){var t=this.touchEventsData,s=this.params,r=this.touches;if(!this.animating||!s.preventInteractionOnTransition){var o=e;o.originalEvent&&(o=o.originalEvent);var l=n(o.target);if(("wrapper"!==s.touchEventsTarget||l.closest(this.wrapperEl).length)&&(t.isTouchEvent="touchstart"===o.type,(t.isTouchEvent||!("which"in o)||3!==o.which)&&!(!t.isTouchEvent&&"button"in o&&o.button>0||t.isTouched&&t.isMoved)))if(s.noSwiping&&l.closest(s.noSwipingSelector?s.noSwipingSelector:"."+s.noSwipingClass)[0])this.allowClick=!0;else if(!s.swipeHandler||l.closest(s.swipeHandler)[0]){r.currentX="touchstart"===o.type?o.targetTouches[0].pageX:o.pageX,r.currentY="touchstart"===o.type?o.targetTouches[0].pageY:o.pageY;var h=r.currentX,p=r.currentY,c=s.edgeSwipeDetection||s.iOSEdgeSwipeDetection,u=s.edgeSwipeThreshold||s.iOSEdgeSwipeThreshold;if(!c||!(h<=u||h>=a.screen.width-u)){if(d.extend(t,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),r.startX=h,r.startY=p,t.touchStartTime=d.now(),this.allowClick=!0,this.updateSize(),this.swipeDirection=void 0,s.threshold>0&&(t.allowThresholdMove=!1),"touchstart"!==o.type){var v=!0;l.is(t.formElements)&&(v=!1),i.activeElement&&n(i.activeElement).is(t.formElements)&&i.activeElement!==l[0]&&i.activeElement.blur();var f=v&&this.allowTouchMove&&s.touchStartPreventDefault;(s.touchStartForcePreventDefault||f)&&o.preventDefault()}this.emit("touchStart",o)}}}}function H(e){var t=this.touchEventsData,s=this.params,a=this.touches,r=this.rtlTranslate,o=e;if(o.originalEvent&&(o=o.originalEvent),t.isTouched){if(!t.isTouchEvent||"touchmove"===o.type){var l="touchmove"===o.type&&o.targetTouches&&(o.targetTouches[0]||o.changedTouches[0]),h="touchmove"===o.type?l.pageX:o.pageX,p="touchmove"===o.type?l.pageY:o.pageY;if(o.preventedByNestedSwiper)return a.startX=h,void(a.startY=p);if(!this.allowTouchMove)return this.allowClick=!1,void(t.isTouched&&(d.extend(a,{startX:h,startY:p,currentX:h,currentY:p}),t.touchStartTime=d.now()));if(t.isTouchEvent&&s.touchReleaseOnEdges&&!s.loop)if(this.isVertical()){if(p<a.startY&&this.translate<=this.maxTranslate()||p>a.startY&&this.translate>=this.minTranslate())return t.isTouched=!1,void(t.isMoved=!1)}else if(h<a.startX&&this.translate<=this.maxTranslate()||h>a.startX&&this.translate>=this.minTranslate())return;if(t.isTouchEvent&&i.activeElement&&o.target===i.activeElement&&n(o.target).is(t.formElements))return t.isMoved=!0,void(this.allowClick=!1);if(t.allowTouchCallbacks&&this.emit("touchMove",o),!(o.targetTouches&&o.targetTouches.length>1)){a.currentX=h,a.currentY=p;var c=a.currentX-a.startX,u=a.currentY-a.startY,v;if(!(this.params.threshold&&Math.sqrt(Math.pow(c,2)+Math.pow(u,2))<this.params.threshold))if(void 0===t.isScrolling&&(this.isHorizontal()&&a.currentY===a.startY||this.isVertical()&&a.currentX===a.startX?t.isScrolling=!1:c*c+u*u>=25&&(v=180*Math.atan2(Math.abs(u),Math.abs(c))/Math.PI,t.isScrolling=this.isHorizontal()?v>s.touchAngle:90-v>s.touchAngle)),t.isScrolling&&this.emit("touchMoveOpposite",o),void 0===t.startMoving&&(a.currentX===a.startX&&a.currentY===a.startY||(t.startMoving=!0)),t.isScrolling)t.isTouched=!1;else if(t.startMoving){this.allowClick=!1,!s.cssMode&&o.cancelable&&o.preventDefault(),s.touchMoveStopPropagation&&!s.nested&&o.stopPropagation(),t.isMoved||(s.loop&&this.loopFix(),t.startTranslate=this.getTranslate(),this.setTransition(0),this.animating&&this.$wrapperEl.trigger("webkitTransitionEnd transitionend"),t.allowMomentumBounce=!1,!s.grabCursor||!0!==this.allowSlideNext&&!0!==this.allowSlidePrev||this.setGrabCursor(!0),this.emit("sliderFirstMove",o)),this.emit("sliderMove",o),t.isMoved=!0;var f=this.isHorizontal()?c:u;a.diff=f,f*=s.touchRatio,r&&(f=-f),this.swipeDirection=f>0?"prev":"next",t.currentTranslate=f+t.startTranslate;var m=!0,g=s.resistanceRatio;if(s.touchReleaseOnEdges&&(g=0),f>0&&t.currentTranslate>this.minTranslate()?(m=!1,s.resistance&&(t.currentTranslate=this.minTranslate()-1+Math.pow(-this.minTranslate()+t.startTranslate+f,g))):f<0&&t.currentTranslate<this.maxTranslate()&&(m=!1,s.resistance&&(t.currentTranslate=this.maxTranslate()+1-Math.pow(this.maxTranslate()-t.startTranslate-f,g))),m&&(o.preventedByNestedSwiper=!0),!this.allowSlideNext&&"next"===this.swipeDirection&&t.currentTranslate<t.startTranslate&&(t.currentTranslate=t.startTranslate),!this.allowSlidePrev&&"prev"===this.swipeDirection&&t.currentTranslate>t.startTranslate&&(t.currentTranslate=t.startTranslate),s.threshold>0){if(!(Math.abs(f)>s.threshold||t.allowThresholdMove))return void(t.currentTranslate=t.startTranslate);if(!t.allowThresholdMove)return t.allowThresholdMove=!0,a.startX=a.currentX,a.startY=a.currentY,t.currentTranslate=t.startTranslate,void(a.diff=this.isHorizontal()?a.currentX-a.startX:a.currentY-a.startY)}s.followFinger&&!s.cssMode&&((s.freeMode||s.watchSlidesProgress||s.watchSlidesVisibility)&&(this.updateActiveIndex(),this.updateSlidesClasses()),s.freeMode&&(0===t.velocities.length&&t.velocities.push({position:a[this.isHorizontal()?"startX":"startY"],time:t.touchStartTime}),t.velocities.push({position:a[this.isHorizontal()?"currentX":"currentY"],time:d.now()})),this.updateProgress(t.currentTranslate),this.setTranslate(t.currentTranslate))}}}}else t.startMoving&&t.isScrolling&&this.emit("touchMoveOpposite",o)}function B(e){var t=this,i=t.touchEventsData,s=t.params,a=t.touches,r=t.rtlTranslate,n=t.$wrapperEl,o=t.slidesGrid,l=t.snapGrid,h=e;if(h.originalEvent&&(h=h.originalEvent),i.allowTouchCallbacks&&t.emit("touchEnd",h),i.allowTouchCallbacks=!1,!i.isTouched)return i.isMoved&&s.grabCursor&&t.setGrabCursor(!1),i.isMoved=!1,void(i.startMoving=!1);s.grabCursor&&i.isMoved&&i.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);var p,c=d.now(),u=c-i.touchStartTime;if(t.allowClick&&(t.updateClickedSlide(h),t.emit("tap click",h),u<300&&c-i.lastClickTime<300&&t.emit("doubleTap doubleClick",h)),i.lastClickTime=d.now(),d.nextTick((function(){t.destroyed||(t.allowClick=!0)})),!i.isTouched||!i.isMoved||!t.swipeDirection||0===a.diff||i.currentTranslate===i.startTranslate)return i.isTouched=!1,i.isMoved=!1,void(i.startMoving=!1);if(i.isTouched=!1,i.isMoved=!1,i.startMoving=!1,p=s.followFinger?r?t.translate:-t.translate:-i.currentTranslate,!s.cssMode)if(s.freeMode){if(p<-t.minTranslate())return void t.slideTo(t.activeIndex);if(p>-t.maxTranslate())return void(t.slides.length<l.length?t.slideTo(l.length-1):t.slideTo(t.slides.length-1));if(s.freeModeMomentum){if(i.velocities.length>1){var v=i.velocities.pop(),f=i.velocities.pop(),m=v.position-f.position,g=v.time-f.time;t.velocity=m/g,t.velocity/=2,Math.abs(t.velocity)<s.freeModeMinimumVelocity&&(t.velocity=0),(g>150||d.now()-v.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=s.freeModeMomentumVelocityRatio,i.velocities.length=0;var b=1e3*s.freeModeMomentumRatio,w=t.velocity*b,y=t.translate+w;r&&(y=-y);var x,E,T=!1,S=20*Math.abs(t.velocity)*s.freeModeMomentumBounceRatio;if(y<t.maxTranslate())s.freeModeMomentumBounce?(y+t.maxTranslate()<-S&&(y=t.maxTranslate()-S),x=t.maxTranslate(),T=!0,i.allowMomentumBounce=!0):y=t.maxTranslate(),s.loop&&s.centeredSlides&&(E=!0);else if(y>t.minTranslate())s.freeModeMomentumBounce?(y-t.minTranslate()>S&&(y=t.minTranslate()+S),x=t.minTranslate(),T=!0,i.allowMomentumBounce=!0):y=t.minTranslate(),s.loop&&s.centeredSlides&&(E=!0);else if(s.freeModeSticky){for(var C,M=0;M<l.length;M+=1)if(l[M]>-y){C=M;break}y=-(y=Math.abs(l[C]-y)<Math.abs(l[C-1]-y)||"next"===t.swipeDirection?l[C]:l[C-1])}if(E&&t.once("transitionEnd",(function(){t.loopFix()})),0!==t.velocity){if(b=r?Math.abs((-y-t.translate)/t.velocity):Math.abs((y-t.translate)/t.velocity),s.freeModeSticky){var P=Math.abs((r?-y:y)-t.translate),z=t.slidesSizesGrid[t.activeIndex];b=P<z?s.speed:P<2*z?1.5*s.speed:2.5*s.speed}}else if(s.freeModeSticky)return void t.slideToClosest();s.freeModeMomentumBounce&&T?(t.updateProgress(x),t.setTransition(b),t.setTranslate(y),t.transitionStart(!0,t.swipeDirection),t.animating=!0,n.transitionEnd((function(){t&&!t.destroyed&&i.allowMomentumBounce&&(t.emit("momentumBounce"),t.setTransition(s.speed),setTimeout((function(){t.setTranslate(x),n.transitionEnd((function(){t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(t.updateProgress(y),t.setTransition(b),t.setTranslate(y),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,n.transitionEnd((function(){t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(y),t.updateActiveIndex(),t.updateSlidesClasses()}else if(s.freeModeSticky)return void t.slideToClosest();(!s.freeModeMomentum||u>=s.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}else{for(var k=0,$=t.slidesSizesGrid[0],L=0;L<o.length;L+=L<s.slidesPerGroupSkip?1:s.slidesPerGroup){var I=L<s.slidesPerGroupSkip-1?1:s.slidesPerGroup;void 0!==o[L+I]?p>=o[L]&&p<o[L+I]&&(k=L,$=o[L+I]-o[L]):p>=o[L]&&(k=L,$=o[o.length-1]-o[o.length-2])}var D=(p-o[k])/$,O=k<s.slidesPerGroupSkip-1?1:s.slidesPerGroup;if(u>s.longSwipesMs){if(!s.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(D>=s.longSwipesRatio?t.slideTo(k+O):t.slideTo(k)),"prev"===t.swipeDirection&&(D>1-s.longSwipesRatio?t.slideTo(k+O):t.slideTo(k))}else{if(!s.shortSwipes)return void t.slideTo(t.activeIndex);!t.navigation||h.target!==t.navigation.nextEl&&h.target!==t.navigation.prevEl?("next"===t.swipeDirection&&t.slideTo(k+O),"prev"===t.swipeDirection&&t.slideTo(k)):h.target===t.navigation.nextEl?t.slideTo(k+O):t.slideTo(k)}}}function N(){var e=this.params,t=this.el;if(!t||0!==t.offsetWidth){e.breakpoints&&this.setBreakpoint();var i=this.allowSlideNext,s=this.allowSlidePrev,a=this.snapGrid;this.allowSlideNext=!0,this.allowSlidePrev=!0,this.updateSize(),this.updateSlides(),this.updateSlidesClasses(),("auto"===e.slidesPerView||e.slidesPerView>1)&&this.isEnd&&!this.isBeginning&&!this.params.centeredSlides?this.slideTo(this.slides.length-1,0,!1,!0):this.slideTo(this.activeIndex,0,!1,!0),this.autoplay&&this.autoplay.running&&this.autoplay.paused&&this.autoplay.run(),this.allowSlidePrev=s,this.allowSlideNext=i,this.params.watchOverflow&&a!==this.snapGrid&&this.checkOverflow()}}function X(e){this.allowClick||(this.params.preventClicks&&e.preventDefault(),this.params.preventClicksPropagation&&this.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))}function V(){var e=this.wrapperEl,t=this.rtlTranslate;this.previousTranslate=this.translate,this.isHorizontal()?this.translate=t?e.scrollWidth-e.offsetWidth-e.scrollLeft:-e.scrollLeft:this.translate=-e.scrollTop,-0===this.translate&&(this.translate=0),this.updateActiveIndex(),this.updateSlidesClasses();var i=this.maxTranslate()-this.minTranslate();(0===i?0:(this.translate-this.minTranslate())/i)!==this.progress&&this.updateProgress(t?-this.translate:this.translate),this.emit("setTranslate",this.translate,!1)}var Y=!1;function F(){}var W={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,preventInteractionOnTransition:!1,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0},R={update:u,translate:v,transition:f,slide:m,loop:g,grabCursor:b,manipulation:O,events:{attachEvents:function(){var e=this.params,t=this.touchEvents,s=this.el,a=this.wrapperEl;this.onTouchStart=G.bind(this),this.onTouchMove=H.bind(this),this.onTouchEnd=B.bind(this),e.cssMode&&(this.onScroll=V.bind(this)),this.onClick=X.bind(this);var r=!!e.nested;if(!h.touch&&h.pointerEvents)s.addEventListener(t.start,this.onTouchStart,!1),i.addEventListener(t.move,this.onTouchMove,r),i.addEventListener(t.end,this.onTouchEnd,!1);else{if(h.touch){var n=!("touchstart"!==t.start||!h.passiveListener||!e.passiveListeners)&&{passive:!0,capture:!1};s.addEventListener(t.start,this.onTouchStart,n),s.addEventListener(t.move,this.onTouchMove,h.passiveListener?{passive:!1,capture:r}:r),s.addEventListener(t.end,this.onTouchEnd,n),t.cancel&&s.addEventListener(t.cancel,this.onTouchEnd,n),Y||(i.addEventListener("touchstart",F),Y=!0)}(e.simulateTouch&&!A.ios&&!A.android||e.simulateTouch&&!h.touch&&A.ios)&&(s.addEventListener("mousedown",this.onTouchStart,!1),i.addEventListener("mousemove",this.onTouchMove,r),i.addEventListener("mouseup",this.onTouchEnd,!1))}(e.preventClicks||e.preventClicksPropagation)&&s.addEventListener("click",this.onClick,!0),e.cssMode&&a.addEventListener("scroll",this.onScroll),e.updateOnWindowResize?this.on(A.ios||A.android?"resize orientationchange observerUpdate":"resize observerUpdate",N,!0):this.on("observerUpdate",N,!0)},detachEvents:function(){var e=this.params,t=this.touchEvents,s=this.el,a=this.wrapperEl,r=!!e.nested;if(!h.touch&&h.pointerEvents)s.removeEventListener(t.start,this.onTouchStart,!1),i.removeEventListener(t.move,this.onTouchMove,r),i.removeEventListener(t.end,this.onTouchEnd,!1);else{if(h.touch){var n=!("onTouchStart"!==t.start||!h.passiveListener||!e.passiveListeners)&&{passive:!0,capture:!1};s.removeEventListener(t.start,this.onTouchStart,n),s.removeEventListener(t.move,this.onTouchMove,r),s.removeEventListener(t.end,this.onTouchEnd,n),t.cancel&&s.removeEventListener(t.cancel,this.onTouchEnd,n)}(e.simulateTouch&&!A.ios&&!A.android||e.simulateTouch&&!h.touch&&A.ios)&&(s.removeEventListener("mousedown",this.onTouchStart,!1),i.removeEventListener("mousemove",this.onTouchMove,r),i.removeEventListener("mouseup",this.onTouchEnd,!1))}(e.preventClicks||e.preventClicksPropagation)&&s.removeEventListener("click",this.onClick,!0),e.cssMode&&a.removeEventListener("scroll",this.onScroll),this.off(A.ios||A.android?"resize orientationchange observerUpdate":"resize observerUpdate",N)}},breakpoints:{setBreakpoint:function(){var e=this.activeIndex,t=this.initialized,i=this.loopedSlides;void 0===i&&(i=0);var s=this.params,a=this.$el,r=s.breakpoints;if(r&&(!r||0!==Object.keys(r).length)){var n=this.getBreakpoint(r);if(n&&this.currentBreakpoint!==n){var o=n in r?r[n]:void 0;o&&["slidesPerView","spaceBetween","slidesPerGroup","slidesPerGroupSkip","slidesPerColumn"].forEach((function(e){var t=o[e];void 0!==t&&(o[e]="slidesPerView"!==e||"AUTO"!==t&&"auto"!==t?"slidesPerView"===e?parseFloat(t):parseInt(t,10):"auto")}));var l=o||this.originalParams,h=s.slidesPerColumn>1,p=l.slidesPerColumn>1;h&&!p?a.removeClass(s.containerModifierClass+"multirow "+s.containerModifierClass+"multirow-column"):!h&&p&&(a.addClass(s.containerModifierClass+"multirow"),"column"===l.slidesPerColumnFill&&a.addClass(s.containerModifierClass+"multirow-column"));var c=l.direction&&l.direction!==s.direction,u=s.loop&&(l.slidesPerView!==s.slidesPerView||c);c&&t&&this.changeDirection(),d.extend(this.params,l),d.extend(this,{allowTouchMove:this.params.allowTouchMove,allowSlideNext:this.params.allowSlideNext,allowSlidePrev:this.params.allowSlidePrev}),this.currentBreakpoint=n,u&&t&&(this.loopDestroy(),this.loopCreate(),this.updateSlides(),this.slideTo(e-i+this.loopedSlides,0,!1)),this.emit("breakpoint",l)}}},getBreakpoint:function(e){if(e){var t=!1,i=Object.keys(e).map((function(e){if("string"==typeof e&&0===e.indexOf("@")){var t=parseFloat(e.substr(1));return{value:a.innerHeight*t,point:e}}return{value:e,point:e}}));i.sort((function(e,t){return parseInt(e.value,10)-parseInt(t.value,10)}));for(var s=0;s<i.length;s+=1){var r=i[s],n=r.point;r.value<=a.innerWidth&&(t=n)}return t||"max"}}},checkOverflow:{checkOverflow:function(){var e=this.params,t=this.isLocked,i=this.slides.length>0&&e.slidesOffsetBefore+e.spaceBetween*(this.slides.length-1)+this.slides[0].offsetWidth*this.slides.length;e.slidesOffsetBefore&&e.slidesOffsetAfter&&i?this.isLocked=i<=this.size:this.isLocked=1===this.snapGrid.length,this.allowSlideNext=!this.isLocked,this.allowSlidePrev=!this.isLocked,t!==this.isLocked&&this.emit(this.isLocked?"lock":"unlock"),t&&t!==this.isLocked&&(this.isEnd=!1,this.navigation&&this.navigation.update())}},classes:{addClasses:function(){var e=this.classNames,t=this.params,i=this.rtl,s=this.$el,a=[];a.push("initialized"),a.push(t.direction),t.freeMode&&a.push("free-mode"),t.autoHeight&&a.push("autoheight"),i&&a.push("rtl"),t.slidesPerColumn>1&&(a.push("multirow"),"column"===t.slidesPerColumnFill&&a.push("multirow-column")),A.android&&a.push("android"),A.ios&&a.push("ios"),t.cssMode&&a.push("css-mode"),a.forEach((function(i){e.push(t.containerModifierClass+i)})),s.addClass(e.join(" "))},removeClasses:function(){var e=this.$el,t=this.classNames;e.removeClass(t.join(" "))}},images:{loadImage:function(e,t,i,s,r,o){var l;function d(){o&&o()}n(e).parent("picture")[0]||e.complete&&r?d():t?((l=new a.Image).onload=d,l.onerror=d,s&&(l.sizes=s),i&&(l.srcset=i),t&&(l.src=t)):d()},preloadImages:function(){var e=this;function t(){null!=e&&e&&!e.destroyed&&(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(var i=0;i<e.imagesToLoad.length;i+=1){var s=e.imagesToLoad[i];e.loadImage(s,s.currentSrc||s.getAttribute("src"),s.srcset||s.getAttribute("srcset"),s.sizes||s.getAttribute("sizes"),!0,t)}}}},q={},j=function(e){function t(){for(var i,s,a,r=[],o=arguments.length;o--;)r[o]=arguments[o];1===r.length&&r[0].constructor&&r[0].constructor===Object?a=r[0]:(s=(i=r)[0],a=i[1]),a||(a={}),a=d.extend({},a),s&&!a.el&&(a.el=s),e.call(this,a),Object.keys(R).forEach((function(e){Object.keys(R[e]).forEach((function(i){t.prototype[i]||(t.prototype[i]=R[e][i])}))}));var l=this;void 0===l.modules&&(l.modules={}),Object.keys(l.modules).forEach((function(e){var t=l.modules[e];if(t.params){var i=Object.keys(t.params)[0],s=t.params[i];if("object"!=typeof s||null===s)return;if(!(i in a&&"enabled"in s))return;!0===a[i]&&(a[i]={enabled:!0}),"object"!=typeof a[i]||"enabled"in a[i]||(a[i].enabled=!0),a[i]||(a[i]={enabled:!1})}}));var p=d.extend({},W);l.useModulesParams(p),l.params=d.extend({},p,q,a),l.originalParams=d.extend({},l.params),l.passedParams=d.extend({},a),l.$=n;var c=n(l.params.el);if(s=c[0]){if(c.length>1){var u=[];return c.each((function(e,i){var s=d.extend({},a,{el:i});u.push(new t(s))})),u}var v,f,m;return s.swiper=l,c.data("swiper",l),s&&s.shadowRoot&&s.shadowRoot.querySelector?(v=n(s.shadowRoot.querySelector("."+l.params.wrapperClass))).children=function(e){return c.children(e)}:v=c.children("."+l.params.wrapperClass),d.extend(l,{$el:c,el:s,$wrapperEl:v,wrapperEl:v[0],classNames:[],slides:n(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===l.params.direction},isVertical:function(){return"vertical"===l.params.direction},rtl:"rtl"===s.dir.toLowerCase()||"rtl"===c.css("direction"),rtlTranslate:"horizontal"===l.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===c.css("direction")),wrongRTL:"-webkit-box"===v.css("display"),activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEvents:(f=["touchstart","touchmove","touchend","touchcancel"],m=["mousedown","mousemove","mouseup"],h.pointerEvents&&(m=["pointerdown","pointermove","pointerup"]),l.touchEventsTouch={start:f[0],move:f[1],end:f[2],cancel:f[3]},l.touchEventsDesktop={start:m[0],move:m[1],end:m[2]},h.touch||!l.params.simulateTouch?l.touchEventsTouch:l.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,formElements:"input, select, option, textarea, button, video, label",lastClickTime:d.now(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.useModules(),l.params.init&&l.init(),l}}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var i={extendedDefaults:{configurable:!0},defaults:{configurable:!0},Class:{configurable:!0},$:{configurable:!0}};return t.prototype.slidesPerViewDynamic=function(){var e=this.params,t=this.slides,i=this.slidesGrid,s=this.size,a=this.activeIndex,r=1;if(e.centeredSlides){for(var n,o=t[a].swiperSlideSize,l=a+1;l<t.length;l+=1)t[l]&&!n&&(r+=1,(o+=t[l].swiperSlideSize)>s&&(n=!0));for(var d=a-1;d>=0;d-=1)t[d]&&!n&&(r+=1,(o+=t[d].swiperSlideSize)>s&&(n=!0))}else for(var h=a+1;h<t.length;h+=1)i[h]-i[a]<s&&(r+=1);return r},t.prototype.update=function(){var e=this;if(e&&!e.destroyed){var t=e.snapGrid,i=e.params;i.breakpoints&&e.setBreakpoint(),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.params.freeMode?(s(),e.params.autoHeight&&e.updateAutoHeight()):(("auto"===e.params.slidesPerView||e.params.slidesPerView>1)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0))||s(),i.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}function s(){var t=e.rtlTranslate?-1*e.translate:e.translate,i=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(i),e.updateActiveIndex(),e.updateSlidesClasses()}},t.prototype.changeDirection=function(e,t){void 0===t&&(t=!0);var i=this.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(this.$el.removeClass(""+this.params.containerModifierClass+i).addClass(""+this.params.containerModifierClass+e),this.params.direction=e,this.slides.each((function(t,i){"vertical"===e?i.style.width="":i.style.height=""})),this.emit("changeDirection"),t&&this.update()),this},t.prototype.init=function(){this.initialized||(this.emit("beforeInit"),this.params.breakpoints&&this.setBreakpoint(),this.addClasses(),this.params.loop&&this.loopCreate(),this.updateSize(),this.updateSlides(),this.params.watchOverflow&&this.checkOverflow(),this.params.grabCursor&&this.setGrabCursor(),this.params.preloadImages&&this.preloadImages(),this.params.loop?this.slideTo(this.params.initialSlide+this.loopedSlides,0,this.params.runCallbacksOnInit):this.slideTo(this.params.initialSlide,0,this.params.runCallbacksOnInit),this.attachEvents(),this.initialized=!0,this.emit("init"))},t.prototype.destroy=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);var i=this,s=i.params,a=i.$el,r=i.$wrapperEl,n=i.slides;return void 0===i.params||i.destroyed||(i.emit("beforeDestroy"),i.initialized=!1,i.detachEvents(),s.loop&&i.loopDestroy(),t&&(i.removeClasses(),a.removeAttr("style"),r.removeAttr("style"),n&&n.length&&n.removeClass([s.slideVisibleClass,s.slideActiveClass,s.slideNextClass,s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),i.emit("destroy"),Object.keys(i.eventsListeners).forEach((function(e){i.off(e)})),!1!==e&&(i.$el[0].swiper=null,i.$el.data("swiper",null),d.deleteProps(i)),i.destroyed=!0),null},t.extendDefaults=function(e){d.extend(q,e)},i.extendedDefaults.get=function(){return q},i.defaults.get=function(){return W},i.Class.get=function(){return e},i.$.get=function(){return n},Object.defineProperties(t,i),t}(p),K={name:"device",proto:{device:A},static:{device:A}},U={name:"support",proto:{support:h},static:{support:h}},_={isEdge:!!a.navigator.userAgent.match(/Edge/g),isSafari:function(){var e=a.navigator.userAgent.toLowerCase();return e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0}(),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(a.navigator.userAgent)},Z={name:"browser",proto:{browser:_},static:{browser:_}},Q={name:"resize",create:function(){var e=this;d.extend(e,{resize:{resizeHandler:function(){e&&!e.destroyed&&e.initialized&&(e.emit("beforeResize"),e.emit("resize"))},orientationChangeHandler:function(){e&&!e.destroyed&&e.initialized&&e.emit("orientationchange")}}})},on:{init:function(){a.addEventListener("resize",this.resize.resizeHandler),a.addEventListener("orientationchange",this.resize.orientationChangeHandler)},destroy:function(){a.removeEventListener("resize",this.resize.resizeHandler),a.removeEventListener("orientationchange",this.resize.orientationChangeHandler)}}},J={func:a.MutationObserver||a.WebkitMutationObserver,attach:function(e,t){void 0===t&&(t={});var i=this,s=new(0,J.func)((function(e){if(1!==e.length){var t=function(){i.emit("observerUpdate",e[0])};a.requestAnimationFrame?a.requestAnimationFrame(t):a.setTimeout(t,0)}else i.emit("observerUpdate",e[0])}));s.observe(e,{attributes:void 0===t.attributes||t.attributes,childList:void 0===t.childList||t.childList,characterData:void 0===t.characterData||t.characterData}),i.observer.observers.push(s)},init:function(){if(h.observer&&this.params.observer){if(this.params.observeParents)for(var e=this.$el.parents(),t=0;t<e.length;t+=1)this.observer.attach(e[t]);this.observer.attach(this.$el[0],{childList:this.params.observeSlideChildren}),this.observer.attach(this.$wrapperEl[0],{attributes:!1})}},destroy:function(){this.observer.observers.forEach((function(e){e.disconnect()})),this.observer.observers=[]}},ee={name:"observer",params:{observer:!1,observeParents:!1,observeSlideChildren:!1},create:function(){d.extend(this,{observer:{init:J.init.bind(this),attach:J.attach.bind(this),destroy:J.destroy.bind(this),observers:[]}})},on:{init:function(){this.observer.init()},destroy:function(){this.observer.destroy()}}},te={update:function(e){var t=this,i=t.params,s=i.slidesPerView,a=i.slidesPerGroup,r=i.centeredSlides,n=t.params.virtual,o=n.addSlidesBefore,l=n.addSlidesAfter,h=t.virtual,p=h.from,c=h.to,u=h.slides,v=h.slidesGrid,f=h.renderSlide,m=h.offset;t.updateActiveIndex();var g,b,w,y=t.activeIndex||0;g=t.rtlTranslate?"right":t.isHorizontal()?"left":"top",r?(b=Math.floor(s/2)+a+o,w=Math.floor(s/2)+a+l):(b=s+(a-1)+o,w=a+l);var x=Math.max((y||0)-w,0),E=Math.min((y||0)+b,u.length-1),T=(t.slidesGrid[x]||0)-(t.slidesGrid[0]||0);function S(){t.updateSlides(),t.updateProgress(),t.updateSlidesClasses(),t.lazy&&t.params.lazy.enabled&&t.lazy.load()}if(d.extend(t.virtual,{from:x,to:E,offset:T,slidesGrid:t.slidesGrid}),p===x&&c===E&&!e)return t.slidesGrid!==v&&T!==m&&t.slides.css(g,T+"px"),void t.updateProgress();if(t.params.virtual.renderExternal)return t.params.virtual.renderExternal.call(t,{offset:T,from:x,to:E,slides:function(){for(var e=[],t=x;t<=E;t+=1)e.push(u[t]);return e}()}),void S();var C=[],M=[];if(e)t.$wrapperEl.find("."+t.params.slideClass).remove();else for(var P=p;P<=c;P+=1)(P<x||P>E)&&t.$wrapperEl.find("."+t.params.slideClass+'[data-swiper-slide-index="'+P+'"]').remove();for(var z=0;z<u.length;z+=1)z>=x&&z<=E&&(void 0===c||e?M.push(z):(z>c&&M.push(z),z<p&&C.push(z)));M.forEach((function(e){t.$wrapperEl.append(f(u[e],e))})),C.sort((function(e,t){return t-e})).forEach((function(e){t.$wrapperEl.prepend(f(u[e],e))})),t.$wrapperEl.children(".swiper-slide").css(g,T+"px"),S()},renderSlide:function(e,t){var i=this.params.virtual;if(i.cache&&this.virtual.cache[t])return this.virtual.cache[t];var s=i.renderSlide?n(i.renderSlide.call(this,e,t)):n('<div class="'+this.params.slideClass+'" data-swiper-slide-index="'+t+'">'+e+"</div>");return s.attr("data-swiper-slide-index")||s.attr("data-swiper-slide-index",t),i.cache&&(this.virtual.cache[t]=s),s},appendSlide:function(e){if("object"==typeof e&&"length"in e)for(var t=0;t<e.length;t+=1)e[t]&&this.virtual.slides.push(e[t]);else this.virtual.slides.push(e);this.virtual.update(!0)},prependSlide:function(e){var t=this.activeIndex,i=t+1,s=1;if(Array.isArray(e)){for(var a=0;a<e.length;a+=1)e[a]&&this.virtual.slides.unshift(e[a]);i=t+e.length,s=e.length}else this.virtual.slides.unshift(e);if(this.params.virtual.cache){var r=this.virtual.cache,n={};Object.keys(r).forEach((function(e){var t=r[e],i=t.attr("data-swiper-slide-index");i&&t.attr("data-swiper-slide-index",parseInt(i,10)+1),n[parseInt(e,10)+s]=t})),this.virtual.cache=n}this.virtual.update(!0),this.slideTo(i,0)},removeSlide:function(e){if(null!=e){var t=this.activeIndex;if(Array.isArray(e))for(var i=e.length-1;i>=0;i-=1)this.virtual.slides.splice(e[i],1),this.params.virtual.cache&&delete this.virtual.cache[e[i]],e[i]<t&&(t-=1),t=Math.max(t,0);else this.virtual.slides.splice(e,1),this.params.virtual.cache&&delete this.virtual.cache[e],e<t&&(t-=1),t=Math.max(t,0);this.virtual.update(!0),this.slideTo(t,0)}},removeAllSlides:function(){this.virtual.slides=[],this.params.virtual.cache&&(this.virtual.cache={}),this.virtual.update(!0),this.slideTo(0,0)}},ie={name:"virtual",params:{virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,addSlidesBefore:0,addSlidesAfter:0}},create:function(){d.extend(this,{virtual:{update:te.update.bind(this),appendSlide:te.appendSlide.bind(this),prependSlide:te.prependSlide.bind(this),removeSlide:te.removeSlide.bind(this),removeAllSlides:te.removeAllSlides.bind(this),renderSlide:te.renderSlide.bind(this),slides:this.params.virtual.slides,cache:{}}})},on:{beforeInit:function(){if(this.params.virtual.enabled){this.classNames.push(this.params.containerModifierClass+"virtual");var e={watchSlidesProgress:!0};d.extend(this.params,e),d.extend(this.originalParams,e),this.params.initialSlide||this.virtual.update()}},setTranslate:function(){this.params.virtual.enabled&&this.virtual.update()}}},se={handle:function(e){var t=this.rtlTranslate,s=e;s.originalEvent&&(s=s.originalEvent);var r=s.keyCode||s.charCode,n=this.params.keyboard.pageUpDown,o=n&&33===r,l=n&&34===r,d=37===r,h=39===r,p=38===r,c=40===r;if(!this.allowSlideNext&&(this.isHorizontal()&&h||this.isVertical()&&c||l))return!1;if(!this.allowSlidePrev&&(this.isHorizontal()&&d||this.isVertical()&&p||o))return!1;if(!(s.shiftKey||s.altKey||s.ctrlKey||s.metaKey||i.activeElement&&i.activeElement.nodeName&&("input"===i.activeElement.nodeName.toLowerCase()||"textarea"===i.activeElement.nodeName.toLowerCase()))){if(this.params.keyboard.onlyInViewport&&(o||l||d||h||p||c)){var u=!1;if(this.$el.parents("."+this.params.slideClass).length>0&&0===this.$el.parents("."+this.params.slideActiveClass).length)return;var v=a.innerWidth,f=a.innerHeight,m=this.$el.offset();t&&(m.left-=this.$el[0].scrollLeft);for(var g=[[m.left,m.top],[m.left+this.width,m.top],[m.left,m.top+this.height],[m.left+this.width,m.top+this.height]],b=0;b<g.length;b+=1){var w=g[b];w[0]>=0&&w[0]<=v&&w[1]>=0&&w[1]<=f&&(u=!0)}if(!u)return}this.isHorizontal()?((o||l||d||h)&&(s.preventDefault?s.preventDefault():s.returnValue=!1),((l||h)&&!t||(o||d)&&t)&&this.slideNext(),((o||d)&&!t||(l||h)&&t)&&this.slidePrev()):((o||l||p||c)&&(s.preventDefault?s.preventDefault():s.returnValue=!1),(l||c)&&this.slideNext(),(o||p)&&this.slidePrev()),this.emit("keyPress",r)}},enable:function(){this.keyboard.enabled||(n(i).on("keydown",this.keyboard.handle),this.keyboard.enabled=!0)},disable:function(){this.keyboard.enabled&&(n(i).off("keydown",this.keyboard.handle),this.keyboard.enabled=!1)}},ae={name:"keyboard",params:{keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}},create:function(){d.extend(this,{keyboard:{enabled:!1,enable:se.enable.bind(this),disable:se.disable.bind(this),handle:se.handle.bind(this)}})},on:{init:function(){this.params.keyboard.enabled&&this.keyboard.enable()},destroy:function(){this.keyboard.enabled&&this.keyboard.disable()}}},re={lastScrollTime:d.now(),lastEventBeforeSnap:void 0,recentWheelEvents:[],event:function(){return a.navigator.userAgent.indexOf("firefox")>-1?"DOMMouseScroll":function(){var e="onwheel"in i;if(!e){var t=i.createElement("div");t.setAttribute("onwheel","return;"),e="function"==typeof t.onwheel}return!e&&i.implementation&&i.implementation.hasFeature&&!0!==i.implementation.hasFeature("","")&&(e=i.implementation.hasFeature("Events.wheel","3.0")),e}()?"wheel":"mousewheel"},normalize:function(e){var t=0,i=0,s=0,a=0;return"detail"in e&&(i=e.detail),"wheelDelta"in e&&(i=-e.wheelDelta/120),"wheelDeltaY"in e&&(i=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=i,i=0),s=10*t,a=10*i,"deltaY"in e&&(a=e.deltaY),"deltaX"in e&&(s=e.deltaX),e.shiftKey&&!s&&(s=a,a=0),(s||a)&&e.deltaMode&&(1===e.deltaMode?(s*=40,a*=40):(s*=800,a*=800)),s&&!t&&(t=s<1?-1:1),a&&!i&&(i=a<1?-1:1),{spinX:t,spinY:i,pixelX:s,pixelY:a}},handleMouseEnter:function(){this.mouseEntered=!0},handleMouseLeave:function(){this.mouseEntered=!1},handle:function(e){var t=e,i=this,s=i.params.mousewheel;i.params.cssMode&&t.preventDefault();var a=i.$el;if("container"!==i.params.mousewheel.eventsTarged&&(a=n(i.params.mousewheel.eventsTarged)),!i.mouseEntered&&!a[0].contains(t.target)&&!s.releaseOnEdges)return!0;t.originalEvent&&(t=t.originalEvent);var r=0,o=i.rtlTranslate?-1:1,l=re.normalize(t);if(s.forceToAxis)if(i.isHorizontal()){if(!(Math.abs(l.pixelX)>Math.abs(l.pixelY)))return!0;r=-l.pixelX*o}else{if(!(Math.abs(l.pixelY)>Math.abs(l.pixelX)))return!0;r=-l.pixelY}else r=Math.abs(l.pixelX)>Math.abs(l.pixelY)?-l.pixelX*o:-l.pixelY;if(0===r)return!0;if(s.invert&&(r=-r),i.params.freeMode){var h={time:d.now(),delta:Math.abs(r),direction:Math.sign(r)},p=i.mousewheel.lastEventBeforeSnap,c=p&&h.time<p.time+500&&h.delta<=p.delta&&h.direction===p.direction;if(!c){i.mousewheel.lastEventBeforeSnap=void 0,i.params.loop&&i.loopFix();var u=i.getTranslate()+r*s.sensitivity,v=i.isBeginning,f=i.isEnd;if(u>=i.minTranslate()&&(u=i.minTranslate()),u<=i.maxTranslate()&&(u=i.maxTranslate()),i.setTransition(0),i.setTranslate(u),i.updateProgress(),i.updateActiveIndex(),i.updateSlidesClasses(),(!v&&i.isBeginning||!f&&i.isEnd)&&i.updateSlidesClasses(),i.params.freeModeSticky){clearTimeout(i.mousewheel.timeout),i.mousewheel.timeout=void 0;var m=i.mousewheel.recentWheelEvents;m.length>=15&&m.shift();var g=m.length?m[m.length-1]:void 0,b=m[0];if(m.push(h),g&&(h.delta>g.delta||h.direction!==g.direction))m.splice(0);else if(m.length>=15&&h.time-b.time<500&&b.delta-h.delta>=1&&h.delta<=6){var w=r>0?.8:.2;i.mousewheel.lastEventBeforeSnap=h,m.splice(0),i.mousewheel.timeout=d.nextTick((function(){i.slideToClosest(i.params.speed,!0,void 0,w)}),0)}i.mousewheel.timeout||(i.mousewheel.timeout=d.nextTick((function(){i.mousewheel.lastEventBeforeSnap=h,m.splice(0),i.slideToClosest(i.params.speed,!0,void 0,.5)}),500))}if(c||i.emit("scroll",t),i.params.autoplay&&i.params.autoplayDisableOnInteraction&&i.autoplay.stop(),u===i.minTranslate()||u===i.maxTranslate())return!0}}else{var y={time:d.now(),delta:Math.abs(r),direction:Math.sign(r),raw:e},x=i.mousewheel.recentWheelEvents;x.length>=2&&x.shift();var E=x.length?x[x.length-1]:void 0;if(x.push(y),E?(y.direction!==E.direction||y.delta>E.delta||y.time>E.time+150)&&i.mousewheel.animateSlider(y):i.mousewheel.animateSlider(y),i.mousewheel.releaseScroll(y))return!0}return t.preventDefault?t.preventDefault():t.returnValue=!1,!1},animateSlider:function(e){return e.delta>=6&&d.now()-this.mousewheel.lastScrollTime<60||(e.direction<0?this.isEnd&&!this.params.loop||this.animating||(this.slideNext(),this.emit("scroll",e.raw)):this.isBeginning&&!this.params.loop||this.animating||(this.slidePrev(),this.emit("scroll",e.raw)),this.mousewheel.lastScrollTime=(new a.Date).getTime(),!1)},releaseScroll:function(e){var t=this.params.mousewheel;if(e.direction<0){if(this.isEnd&&!this.params.loop&&t.releaseOnEdges)return!0}else if(this.isBeginning&&!this.params.loop&&t.releaseOnEdges)return!0;return!1},enable:function(){var e=re.event();if(this.params.cssMode)return this.wrapperEl.removeEventListener(e,this.mousewheel.handle),!0;if(!e)return!1;if(this.mousewheel.enabled)return!1;var t=this.$el;return"container"!==this.params.mousewheel.eventsTarged&&(t=n(this.params.mousewheel.eventsTarged)),t.on("mouseenter",this.mousewheel.handleMouseEnter),t.on("mouseleave",this.mousewheel.handleMouseLeave),t.on(e,this.mousewheel.handle),this.mousewheel.enabled=!0,!0},disable:function(){var e=re.event();if(this.params.cssMode)return this.wrapperEl.addEventListener(e,this.mousewheel.handle),!0;if(!e)return!1;if(!this.mousewheel.enabled)return!1;var t=this.$el;return"container"!==this.params.mousewheel.eventsTarged&&(t=n(this.params.mousewheel.eventsTarged)),t.off(e,this.mousewheel.handle),this.mousewheel.enabled=!1,!0}},ne={update:function(){var e=this.params.navigation;if(!this.params.loop){var t=this.navigation,i=t.$nextEl,s=t.$prevEl;s&&s.length>0&&(this.isBeginning?s.addClass(e.disabledClass):s.removeClass(e.disabledClass),s[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](e.lockClass)),i&&i.length>0&&(this.isEnd?i.addClass(e.disabledClass):i.removeClass(e.disabledClass),i[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](e.lockClass))}},onPrevClick:function(e){e.preventDefault(),this.isBeginning&&!this.params.loop||this.slidePrev()},onNextClick:function(e){e.preventDefault(),this.isEnd&&!this.params.loop||this.slideNext()},init:function(){var e,t,i=this.params.navigation;(i.nextEl||i.prevEl)&&(i.nextEl&&(e=n(i.nextEl),this.params.uniqueNavElements&&"string"==typeof i.nextEl&&e.length>1&&1===this.$el.find(i.nextEl).length&&(e=this.$el.find(i.nextEl))),i.prevEl&&(t=n(i.prevEl),this.params.uniqueNavElements&&"string"==typeof i.prevEl&&t.length>1&&1===this.$el.find(i.prevEl).length&&(t=this.$el.find(i.prevEl))),e&&e.length>0&&e.on("click",this.navigation.onNextClick),t&&t.length>0&&t.on("click",this.navigation.onPrevClick),d.extend(this.navigation,{$nextEl:e,nextEl:e&&e[0],$prevEl:t,prevEl:t&&t[0]}))},destroy:function(){var e=this.navigation,t=e.$nextEl,i=e.$prevEl;t&&t.length&&(t.off("click",this.navigation.onNextClick),t.removeClass(this.params.navigation.disabledClass)),i&&i.length&&(i.off("click",this.navigation.onPrevClick),i.removeClass(this.params.navigation.disabledClass))}},oe={update:function(){var e=this.rtl,t=this.params.pagination;if(t.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var i,s=this.virtual&&this.params.virtual.enabled?this.virtual.slides.length:this.slides.length,a=this.pagination.$el,r=this.params.loop?Math.ceil((s-2*this.loopedSlides)/this.params.slidesPerGroup):this.snapGrid.length;if(this.params.loop?((i=Math.ceil((this.activeIndex-this.loopedSlides)/this.params.slidesPerGroup))>s-1-2*this.loopedSlides&&(i-=s-2*this.loopedSlides),i>r-1&&(i-=r),i<0&&"bullets"!==this.params.paginationType&&(i=r+i)):i=void 0!==this.snapIndex?this.snapIndex:this.activeIndex||0,"bullets"===t.type&&this.pagination.bullets&&this.pagination.bullets.length>0){var o,l,d,h=this.pagination.bullets;if(t.dynamicBullets&&(this.pagination.bulletSize=h.eq(0)[this.isHorizontal()?"outerWidth":"outerHeight"](!0),a.css(this.isHorizontal()?"width":"height",this.pagination.bulletSize*(t.dynamicMainBullets+4)+"px"),t.dynamicMainBullets>1&&void 0!==this.previousIndex&&(this.pagination.dynamicBulletIndex+=i-this.previousIndex,this.pagination.dynamicBulletIndex>t.dynamicMainBullets-1?this.pagination.dynamicBulletIndex=t.dynamicMainBullets-1:this.pagination.dynamicBulletIndex<0&&(this.pagination.dynamicBulletIndex=0)),o=i-this.pagination.dynamicBulletIndex,d=((l=o+(Math.min(h.length,t.dynamicMainBullets)-1))+o)/2),h.removeClass(t.bulletActiveClass+" "+t.bulletActiveClass+"-next "+t.bulletActiveClass+"-next-next "+t.bulletActiveClass+"-prev "+t.bulletActiveClass+"-prev-prev "+t.bulletActiveClass+"-main"),a.length>1)h.each((function(e,s){var a=n(s),r=a.index();r===i&&a.addClass(t.bulletActiveClass),t.dynamicBullets&&(r>=o&&r<=l&&a.addClass(t.bulletActiveClass+"-main"),r===o&&a.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),r===l&&a.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next"))}));else{var p=h.eq(i),c=p.index();if(p.addClass(t.bulletActiveClass),t.dynamicBullets){for(var u=h.eq(o),v=h.eq(l),f=o;f<=l;f+=1)h.eq(f).addClass(t.bulletActiveClass+"-main");if(this.params.loop)if(c>=h.length-t.dynamicMainBullets){for(var m=t.dynamicMainBullets;m>=0;m-=1)h.eq(h.length-m).addClass(t.bulletActiveClass+"-main");h.eq(h.length-t.dynamicMainBullets-1).addClass(t.bulletActiveClass+"-prev")}else u.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),v.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next");else u.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),v.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next")}}if(t.dynamicBullets){var g=Math.min(h.length,t.dynamicMainBullets+4),b=(this.pagination.bulletSize*g-this.pagination.bulletSize)/2-d*this.pagination.bulletSize,w=e?"right":"left";h.css(this.isHorizontal()?w:"top",b+"px")}}if("fraction"===t.type&&(a.find("."+t.currentClass).text(t.formatFractionCurrent(i+1)),a.find("."+t.totalClass).text(t.formatFractionTotal(r))),"progressbar"===t.type){var y;y=t.progressbarOpposite?this.isHorizontal()?"vertical":"horizontal":this.isHorizontal()?"horizontal":"vertical";var x=(i+1)/r,E=1,T=1;"horizontal"===y?E=x:T=x,a.find("."+t.progressbarFillClass).transform("translate3d(0,0,0) scaleX("+E+") scaleY("+T+")").transition(this.params.speed)}"custom"===t.type&&t.renderCustom?(a.html(t.renderCustom(this,i+1,r)),this.emit("paginationRender",this,a[0])):this.emit("paginationUpdate",this,a[0]),a[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](t.lockClass)}},render:function(){var e=this.params.pagination;if(e.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var t=this.virtual&&this.params.virtual.enabled?this.virtual.slides.length:this.slides.length,i=this.pagination.$el,s="";if("bullets"===e.type){for(var a=this.params.loop?Math.ceil((t-2*this.loopedSlides)/this.params.slidesPerGroup):this.snapGrid.length,r=0;r<a;r+=1)e.renderBullet?s+=e.renderBullet.call(this,r,e.bulletClass):s+="<"+e.bulletElement+' class="'+e.bulletClass+'"></'+e.bulletElement+">";i.html(s),this.pagination.bullets=i.find("."+e.bulletClass)}"fraction"===e.type&&(s=e.renderFraction?e.renderFraction.call(this,e.currentClass,e.totalClass):'<span class="'+e.currentClass+'"></span> / <span class="'+e.totalClass+'"></span>',i.html(s)),"progressbar"===e.type&&(s=e.renderProgressbar?e.renderProgressbar.call(this,e.progressbarFillClass):'<span class="'+e.progressbarFillClass+'"></span>',i.html(s)),"custom"!==e.type&&this.emit("paginationRender",this.pagination.$el[0])}},init:function(){var e=this,t=e.params.pagination;if(t.el){var i=n(t.el);0!==i.length&&(e.params.uniqueNavElements&&"string"==typeof t.el&&i.length>1&&(i=e.$el.find(t.el)),"bullets"===t.type&&t.clickable&&i.addClass(t.clickableClass),i.addClass(t.modifierClass+t.type),"bullets"===t.type&&t.dynamicBullets&&(i.addClass(""+t.modifierClass+t.type+"-dynamic"),e.pagination.dynamicBulletIndex=0,t.dynamicMainBullets<1&&(t.dynamicMainBullets=1)),"progressbar"===t.type&&t.progressbarOpposite&&i.addClass(t.progressbarOppositeClass),t.clickable&&i.on("click","."+t.bulletClass,(function(t){t.preventDefault();var i=n(this).index()*e.params.slidesPerGroup;e.params.loop&&(i+=e.loopedSlides),e.slideTo(i)})),d.extend(e.pagination,{$el:i,el:i[0]}))}},destroy:function(){var e=this.params.pagination;if(e.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var t=this.pagination.$el;t.removeClass(e.hiddenClass),t.removeClass(e.modifierClass+e.type),this.pagination.bullets&&this.pagination.bullets.removeClass(e.bulletActiveClass),e.clickable&&t.off("click","."+e.bulletClass)}}},le={setTranslate:function(){if(this.params.scrollbar.el&&this.scrollbar.el){var e=this.scrollbar,t=this.rtlTranslate,i=this.progress,s=e.dragSize,a=e.trackSize,r=e.$dragEl,n=e.$el,o=this.params.scrollbar,l=s,d=(a-s)*i;t?(d=-d)>0?(l=s-d,d=0):-d+s>a&&(l=a+d):d<0?(l=s+d,d=0):d+s>a&&(l=a-d),this.isHorizontal()?(r.transform("translate3d("+d+"px, 0, 0)"),r[0].style.width=l+"px"):(r.transform("translate3d(0px, "+d+"px, 0)"),r[0].style.height=l+"px"),o.hide&&(clearTimeout(this.scrollbar.timeout),n[0].style.opacity=1,this.scrollbar.timeout=setTimeout((function(){n[0].style.opacity=0,n.transition(400)}),1e3))}},setTransition:function(e){this.params.scrollbar.el&&this.scrollbar.el&&this.scrollbar.$dragEl.transition(e)},updateSize:function(){if(this.params.scrollbar.el&&this.scrollbar.el){var e=this.scrollbar,t=e.$dragEl,i=e.$el;t[0].style.width="",t[0].style.height="";var s,a=this.isHorizontal()?i[0].offsetWidth:i[0].offsetHeight,r=this.size/this.virtualSize,n=r*(a/this.size);s="auto"===this.params.scrollbar.dragSize?a*r:parseInt(this.params.scrollbar.dragSize,10),this.isHorizontal()?t[0].style.width=s+"px":t[0].style.height=s+"px",i[0].style.display=r>=1?"none":"",this.params.scrollbar.hide&&(i[0].style.opacity=0),d.extend(e,{trackSize:a,divider:r,moveDivider:n,dragSize:s}),e.$el[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](this.params.scrollbar.lockClass)}},getPointerPosition:function(e){return this.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientX:e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientY:e.clientY},setDragPosition:function(e){var t,i=this.scrollbar,s=this.rtlTranslate,a=i.$el,r=i.dragSize,n=i.trackSize,o=i.dragStartPos;t=(i.getPointerPosition(e)-a.offset()[this.isHorizontal()?"left":"top"]-(null!==o?o:r/2))/(n-r),t=Math.max(Math.min(t,1),0),s&&(t=1-t);var l=this.minTranslate()+(this.maxTranslate()-this.minTranslate())*t;this.updateProgress(l),this.setTranslate(l),this.updateActiveIndex(),this.updateSlidesClasses()},onDragStart:function(e){var t=this.params.scrollbar,i=this.scrollbar,s=this.$wrapperEl,a=i.$el,r=i.$dragEl;this.scrollbar.isTouched=!0,this.scrollbar.dragStartPos=e.target===r[0]||e.target===r?i.getPointerPosition(e)-e.target.getBoundingClientRect()[this.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),s.transition(100),r.transition(100),i.setDragPosition(e),clearTimeout(this.scrollbar.dragTimeout),a.transition(0),t.hide&&a.css("opacity",1),this.params.cssMode&&this.$wrapperEl.css("scroll-snap-type","none"),this.emit("scrollbarDragStart",e)},onDragMove:function(e){var t=this.scrollbar,i=this.$wrapperEl,s=t.$el,a=t.$dragEl;this.scrollbar.isTouched&&(e.preventDefault?e.preventDefault():e.returnValue=!1,t.setDragPosition(e),i.transition(0),s.transition(0),a.transition(0),this.emit("scrollbarDragMove",e))},onDragEnd:function(e){var t=this.params.scrollbar,i=this.scrollbar,s=this.$wrapperEl,a=i.$el;this.scrollbar.isTouched&&(this.scrollbar.isTouched=!1,this.params.cssMode&&(this.$wrapperEl.css("scroll-snap-type",""),s.transition("")),t.hide&&(clearTimeout(this.scrollbar.dragTimeout),this.scrollbar.dragTimeout=d.nextTick((function(){a.css("opacity",0),a.transition(400)}),1e3)),this.emit("scrollbarDragEnd",e),t.snapOnRelease&&this.slideToClosest())},enableDraggable:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.touchEventsTouch,s=this.touchEventsDesktop,a=this.params,r=e.$el[0],n=!(!h.passiveListener||!a.passiveListeners)&&{passive:!1,capture:!1},o=!(!h.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};h.touch?(r.addEventListener(t.start,this.scrollbar.onDragStart,n),r.addEventListener(t.move,this.scrollbar.onDragMove,n),r.addEventListener(t.end,this.scrollbar.onDragEnd,o)):(r.addEventListener(s.start,this.scrollbar.onDragStart,n),i.addEventListener(s.move,this.scrollbar.onDragMove,n),i.addEventListener(s.end,this.scrollbar.onDragEnd,o))}},disableDraggable:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.touchEventsTouch,s=this.touchEventsDesktop,a=this.params,r=e.$el[0],n=!(!h.passiveListener||!a.passiveListeners)&&{passive:!1,capture:!1},o=!(!h.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};h.touch?(r.removeEventListener(t.start,this.scrollbar.onDragStart,n),r.removeEventListener(t.move,this.scrollbar.onDragMove,n),r.removeEventListener(t.end,this.scrollbar.onDragEnd,o)):(r.removeEventListener(s.start,this.scrollbar.onDragStart,n),i.removeEventListener(s.move,this.scrollbar.onDragMove,n),i.removeEventListener(s.end,this.scrollbar.onDragEnd,o))}},init:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.$el,i=this.params.scrollbar,s=n(i.el);this.params.uniqueNavElements&&"string"==typeof i.el&&s.length>1&&1===t.find(i.el).length&&(s=t.find(i.el));var a=s.find("."+this.params.scrollbar.dragClass);0===a.length&&(a=n('<div class="'+this.params.scrollbar.dragClass+'"></div>'),s.append(a)),d.extend(e,{$el:s,el:s[0],$dragEl:a,dragEl:a[0]}),i.draggable&&e.enableDraggable()}},destroy:function(){this.scrollbar.disableDraggable()}},de={setTransform:function(e,t){var i=this.rtl,s=n(e),a=i?-1:1,r=s.attr("data-swiper-parallax")||"0",o=s.attr("data-swiper-parallax-x"),l=s.attr("data-swiper-parallax-y"),d=s.attr("data-swiper-parallax-scale"),h=s.attr("data-swiper-parallax-opacity");if(o||l?(o=o||"0",l=l||"0"):this.isHorizontal()?(o=r,l="0"):(l=r,o="0"),o=o.indexOf("%")>=0?parseInt(o,10)*t*a+"%":o*t*a+"px",l=l.indexOf("%")>=0?parseInt(l,10)*t+"%":l*t+"px",null!=h){var p=h-(h-1)*(1-Math.abs(t));s[0].style.opacity=p}if(null==d)s.transform("translate3d("+o+", "+l+", 0px)");else{var c=d-(d-1)*(1-Math.abs(t));s.transform("translate3d("+o+", "+l+", 0px) scale("+c+")")}},setTranslate:function(){var e=this,t=e.$el,i=e.slides,s=e.progress,a=e.snapGrid;t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){e.parallax.setTransform(i,s)})),i.each((function(t,i){var r=i.progress;e.params.slidesPerGroup>1&&"auto"!==e.params.slidesPerView&&(r+=Math.ceil(t/2)-s*(a.length-1)),r=Math.min(Math.max(r,-1),1),n(i).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){e.parallax.setTransform(i,r)}))}))},setTransition:function(e){void 0===e&&(e=this.params.speed),this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){var s=n(i),a=parseInt(s.attr("data-swiper-parallax-duration"),10)||e;0===e&&(a=0),s.transition(a)}))}},he={getDistanceBetweenTouches:function(e){if(e.targetTouches.length<2)return 1;var t=e.targetTouches[0].pageX,i=e.targetTouches[0].pageY,s=e.targetTouches[1].pageX,a=e.targetTouches[1].pageY;return Math.sqrt(Math.pow(s-t,2)+Math.pow(a-i,2))},onGestureStart:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(i.fakeGestureTouched=!1,i.fakeGestureMoved=!1,!h.gestures){if("touchstart"!==e.type||"touchstart"===e.type&&e.targetTouches.length<2)return;i.fakeGestureTouched=!0,s.scaleStart=he.getDistanceBetweenTouches(e)}s.$slideEl&&s.$slideEl.length||(s.$slideEl=n(e.target).closest("."+this.params.slideClass),0===s.$slideEl.length&&(s.$slideEl=this.slides.eq(this.activeIndex)),s.$imageEl=s.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),s.$imageWrapEl=s.$imageEl.parent("."+t.containerClass),s.maxRatio=s.$imageWrapEl.attr("data-swiper-zoom")||t.maxRatio,0!==s.$imageWrapEl.length)?(s.$imageEl&&s.$imageEl.transition(0),this.zoom.isScaling=!0):s.$imageEl=void 0},onGestureChange:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(!h.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;i.fakeGestureMoved=!0,s.scaleMove=he.getDistanceBetweenTouches(e)}s.$imageEl&&0!==s.$imageEl.length&&(i.scale=h.gestures?e.scale*i.currentScale:s.scaleMove/s.scaleStart*i.currentScale,i.scale>s.maxRatio&&(i.scale=s.maxRatio-1+Math.pow(i.scale-s.maxRatio+1,.5)),i.scale<t.minRatio&&(i.scale=t.minRatio+1-Math.pow(t.minRatio-i.scale+1,.5)),s.$imageEl.transform("translate3d(0,0,0) scale("+i.scale+")"))},onGestureEnd:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(!h.gestures){if(!i.fakeGestureTouched||!i.fakeGestureMoved)return;if("touchend"!==e.type||"touchend"===e.type&&e.changedTouches.length<2&&!A.android)return;i.fakeGestureTouched=!1,i.fakeGestureMoved=!1}s.$imageEl&&0!==s.$imageEl.length&&(i.scale=Math.max(Math.min(i.scale,s.maxRatio),t.minRatio),s.$imageEl.transition(this.params.speed).transform("translate3d(0,0,0) scale("+i.scale+")"),i.currentScale=i.scale,i.isScaling=!1,1===i.scale&&(s.$slideEl=void 0))},onTouchStart:function(e){var t=this.zoom,i=t.gesture,s=t.image;i.$imageEl&&0!==i.$imageEl.length&&(s.isTouched||(A.android&&e.cancelable&&e.preventDefault(),s.isTouched=!0,s.touchesStart.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,s.touchesStart.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY))},onTouchMove:function(e){var t=this.zoom,i=t.gesture,s=t.image,a=t.velocity;if(i.$imageEl&&0!==i.$imageEl.length&&(this.allowClick=!1,s.isTouched&&i.$slideEl)){s.isMoved||(s.width=i.$imageEl[0].offsetWidth,s.height=i.$imageEl[0].offsetHeight,s.startX=d.getTranslate(i.$imageWrapEl[0],"x")||0,s.startY=d.getTranslate(i.$imageWrapEl[0],"y")||0,i.slideWidth=i.$slideEl[0].offsetWidth,i.slideHeight=i.$slideEl[0].offsetHeight,i.$imageWrapEl.transition(0),this.rtl&&(s.startX=-s.startX,s.startY=-s.startY));var r=s.width*t.scale,n=s.height*t.scale;if(!(r<i.slideWidth&&n<i.slideHeight)){if(s.minX=Math.min(i.slideWidth/2-r/2,0),s.maxX=-s.minX,s.minY=Math.min(i.slideHeight/2-n/2,0),s.maxY=-s.minY,s.touchesCurrent.x="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,s.touchesCurrent.y="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,!s.isMoved&&!t.isScaling){if(this.isHorizontal()&&(Math.floor(s.minX)===Math.floor(s.startX)&&s.touchesCurrent.x<s.touchesStart.x||Math.floor(s.maxX)===Math.floor(s.startX)&&s.touchesCurrent.x>s.touchesStart.x))return void(s.isTouched=!1);if(!this.isHorizontal()&&(Math.floor(s.minY)===Math.floor(s.startY)&&s.touchesCurrent.y<s.touchesStart.y||Math.floor(s.maxY)===Math.floor(s.startY)&&s.touchesCurrent.y>s.touchesStart.y))return void(s.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),s.isMoved=!0,s.currentX=s.touchesCurrent.x-s.touchesStart.x+s.startX,s.currentY=s.touchesCurrent.y-s.touchesStart.y+s.startY,s.currentX<s.minX&&(s.currentX=s.minX+1-Math.pow(s.minX-s.currentX+1,.8)),s.currentX>s.maxX&&(s.currentX=s.maxX-1+Math.pow(s.currentX-s.maxX+1,.8)),s.currentY<s.minY&&(s.currentY=s.minY+1-Math.pow(s.minY-s.currentY+1,.8)),s.currentY>s.maxY&&(s.currentY=s.maxY-1+Math.pow(s.currentY-s.maxY+1,.8)),a.prevPositionX||(a.prevPositionX=s.touchesCurrent.x),a.prevPositionY||(a.prevPositionY=s.touchesCurrent.y),a.prevTime||(a.prevTime=Date.now()),a.x=(s.touchesCurrent.x-a.prevPositionX)/(Date.now()-a.prevTime)/2,a.y=(s.touchesCurrent.y-a.prevPositionY)/(Date.now()-a.prevTime)/2,Math.abs(s.touchesCurrent.x-a.prevPositionX)<2&&(a.x=0),Math.abs(s.touchesCurrent.y-a.prevPositionY)<2&&(a.y=0),a.prevPositionX=s.touchesCurrent.x,a.prevPositionY=s.touchesCurrent.y,a.prevTime=Date.now(),i.$imageWrapEl.transform("translate3d("+s.currentX+"px, "+s.currentY+"px,0)")}}},onTouchEnd:function(){var e=this.zoom,t=e.gesture,i=e.image,s=e.velocity;if(t.$imageEl&&0!==t.$imageEl.length){if(!i.isTouched||!i.isMoved)return i.isTouched=!1,void(i.isMoved=!1);i.isTouched=!1,i.isMoved=!1;var a=300,r=300,n=s.x*a,o=i.currentX+n,l=s.y*r,d=i.currentY+l;0!==s.x&&(a=Math.abs((o-i.currentX)/s.x)),0!==s.y&&(r=Math.abs((d-i.currentY)/s.y));var h=Math.max(a,r);i.currentX=o,i.currentY=d;var p=i.width*e.scale,c=i.height*e.scale;i.minX=Math.min(t.slideWidth/2-p/2,0),i.maxX=-i.minX,i.minY=Math.min(t.slideHeight/2-c/2,0),i.maxY=-i.minY,i.currentX=Math.max(Math.min(i.currentX,i.maxX),i.minX),i.currentY=Math.max(Math.min(i.currentY,i.maxY),i.minY),t.$imageWrapEl.transition(h).transform("translate3d("+i.currentX+"px, "+i.currentY+"px,0)")}},onTransitionEnd:function(){var e=this.zoom,t=e.gesture;t.$slideEl&&this.previousIndex!==this.activeIndex&&(t.$imageEl&&t.$imageEl.transform("translate3d(0,0,0) scale(1)"),t.$imageWrapEl&&t.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,e.currentScale=1,t.$slideEl=void 0,t.$imageEl=void 0,t.$imageWrapEl=void 0)},toggle:function(e){var t=this.zoom;t.scale&&1!==t.scale?t.out():t.in(e)},in:function(e){var t,i,s,a,r,n,o,l,d,h,p,c,u,v,f,m,g=this.zoom,b=this.params.zoom,w=g.gesture,y=g.image;w.$slideEl||(this.params.virtual&&this.params.virtual.enabled&&this.virtual?w.$slideEl=this.$wrapperEl.children("."+this.params.slideActiveClass):w.$slideEl=this.slides.eq(this.activeIndex),w.$imageEl=w.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),w.$imageWrapEl=w.$imageEl.parent("."+b.containerClass)),w.$imageEl&&0!==w.$imageEl.length&&(w.$slideEl.addClass(""+b.zoomedSlideClass),void 0===y.touchesStart.x&&e?(t="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,i="touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(t=y.touchesStart.x,i=y.touchesStart.y),g.scale=w.$imageWrapEl.attr("data-swiper-zoom")||b.maxRatio,g.currentScale=w.$imageWrapEl.attr("data-swiper-zoom")||b.maxRatio,e?(f=w.$slideEl[0].offsetWidth,m=w.$slideEl[0].offsetHeight,s=w.$slideEl.offset().left+f/2-t,a=w.$slideEl.offset().top+m/2-i,o=w.$imageEl[0].offsetWidth,l=w.$imageEl[0].offsetHeight,d=o*g.scale,h=l*g.scale,u=-(p=Math.min(f/2-d/2,0)),v=-(c=Math.min(m/2-h/2,0)),(r=s*g.scale)<p&&(r=p),r>u&&(r=u),(n=a*g.scale)<c&&(n=c),n>v&&(n=v)):(r=0,n=0),w.$imageWrapEl.transition(300).transform("translate3d("+r+"px, "+n+"px,0)"),w.$imageEl.transition(300).transform("translate3d(0,0,0) scale("+g.scale+")"))},out:function(){var e=this.zoom,t=this.params.zoom,i=e.gesture;i.$slideEl||(this.params.virtual&&this.params.virtual.enabled&&this.virtual?i.$slideEl=this.$wrapperEl.children("."+this.params.slideActiveClass):i.$slideEl=this.slides.eq(this.activeIndex),i.$imageEl=i.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),i.$imageWrapEl=i.$imageEl.parent("."+t.containerClass)),i.$imageEl&&0!==i.$imageEl.length&&(e.scale=1,e.currentScale=1,i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),i.$slideEl.removeClass(""+t.zoomedSlideClass),i.$slideEl=void 0)},enable:function(){var e=this.zoom;if(!e.enabled){e.enabled=!0;var t=!("touchstart"!==this.touchEvents.start||!h.passiveListener||!this.params.passiveListeners)&&{passive:!0,capture:!1},i=!h.passiveListener||{passive:!1,capture:!0},s="."+this.params.slideClass;h.gestures?(this.$wrapperEl.on("gesturestart",s,e.onGestureStart,t),this.$wrapperEl.on("gesturechange",s,e.onGestureChange,t),this.$wrapperEl.on("gestureend",s,e.onGestureEnd,t)):"touchstart"===this.touchEvents.start&&(this.$wrapperEl.on(this.touchEvents.start,s,e.onGestureStart,t),this.$wrapperEl.on(this.touchEvents.move,s,e.onGestureChange,i),this.$wrapperEl.on(this.touchEvents.end,s,e.onGestureEnd,t),this.touchEvents.cancel&&this.$wrapperEl.on(this.touchEvents.cancel,s,e.onGestureEnd,t)),this.$wrapperEl.on(this.touchEvents.move,"."+this.params.zoom.containerClass,e.onTouchMove,i)}},disable:function(){var e=this.zoom;if(e.enabled){this.zoom.enabled=!1;var t=!("touchstart"!==this.touchEvents.start||!h.passiveListener||!this.params.passiveListeners)&&{passive:!0,capture:!1},i=!h.passiveListener||{passive:!1,capture:!0},s="."+this.params.slideClass;h.gestures?(this.$wrapperEl.off("gesturestart",s,e.onGestureStart,t),this.$wrapperEl.off("gesturechange",s,e.onGestureChange,t),this.$wrapperEl.off("gestureend",s,e.onGestureEnd,t)):"touchstart"===this.touchEvents.start&&(this.$wrapperEl.off(this.touchEvents.start,s,e.onGestureStart,t),this.$wrapperEl.off(this.touchEvents.move,s,e.onGestureChange,i),this.$wrapperEl.off(this.touchEvents.end,s,e.onGestureEnd,t),this.touchEvents.cancel&&this.$wrapperEl.off(this.touchEvents.cancel,s,e.onGestureEnd,t)),this.$wrapperEl.off(this.touchEvents.move,"."+this.params.zoom.containerClass,e.onTouchMove,i)}}},pe={loadInSlide:function(e,t){void 0===t&&(t=!0);var i=this,s=i.params.lazy;if(void 0!==e&&0!==i.slides.length){var a=i.virtual&&i.params.virtual.enabled?i.$wrapperEl.children("."+i.params.slideClass+'[data-swiper-slide-index="'+e+'"]'):i.slides.eq(e),r=a.find("."+s.elementClass+":not(."+s.loadedClass+"):not(."+s.loadingClass+")");!a.hasClass(s.elementClass)||a.hasClass(s.loadedClass)||a.hasClass(s.loadingClass)||(r=r.add(a[0])),0!==r.length&&r.each((function(e,r){var o=n(r);o.addClass(s.loadingClass);var l=o.attr("data-background"),d=o.attr("data-src"),h=o.attr("data-srcset"),p=o.attr("data-sizes"),c=o.parent("picture");i.loadImage(o[0],d||l,h,p,!1,(function(){if(null!=i&&i&&(!i||i.params)&&!i.destroyed){if(l?(o.css("background-image",'url("'+l+'")'),o.removeAttr("data-background")):(h&&(o.attr("srcset",h),o.removeAttr("data-srcset")),p&&(o.attr("sizes",p),o.removeAttr("data-sizes")),c.length&&c.children("source").each((function(e,t){var i=n(t);i.attr("data-srcset")&&(i.attr("srcset",i.attr("data-srcset")),i.removeAttr("data-srcset"))})),d&&(o.attr("src",d),o.removeAttr("data-src"))),o.addClass(s.loadedClass).removeClass(s.loadingClass),a.find("."+s.preloaderClass).remove(),i.params.loop&&t){var e=a.attr("data-swiper-slide-index");if(a.hasClass(i.params.slideDuplicateClass)){var r=i.$wrapperEl.children('[data-swiper-slide-index="'+e+'"]:not(.'+i.params.slideDuplicateClass+")");i.lazy.loadInSlide(r.index(),!1)}else{var u=i.$wrapperEl.children("."+i.params.slideDuplicateClass+'[data-swiper-slide-index="'+e+'"]');i.lazy.loadInSlide(u.index(),!1)}}i.emit("lazyImageReady",a[0],o[0]),i.params.autoHeight&&i.updateAutoHeight()}})),i.emit("lazyImageLoad",a[0],o[0])}))}},load:function(){var e=this,t=e.$wrapperEl,i=e.params,s=e.slides,a=e.activeIndex,r=e.virtual&&i.virtual.enabled,o=i.lazy,l=i.slidesPerView;function d(e){if(r){if(t.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]').length)return!0}else if(s[e])return!0;return!1}function h(e){return r?n(e).attr("data-swiper-slide-index"):n(e).index()}if("auto"===l&&(l=0),e.lazy.initialImageLoaded||(e.lazy.initialImageLoaded=!0),e.params.watchSlidesVisibility)t.children("."+i.slideVisibleClass).each((function(t,i){var s=r?n(i).attr("data-swiper-slide-index"):n(i).index();e.lazy.loadInSlide(s)}));else if(l>1)for(var p=a;p<a+l;p+=1)d(p)&&e.lazy.loadInSlide(p);else e.lazy.loadInSlide(a);if(o.loadPrevNext)if(l>1||o.loadPrevNextAmount&&o.loadPrevNextAmount>1){for(var c=o.loadPrevNextAmount,u=l,v=Math.min(a+u+Math.max(c,u),s.length),f=Math.max(a-Math.max(u,c),0),m=a+l;m<v;m+=1)d(m)&&e.lazy.loadInSlide(m);for(var g=f;g<a;g+=1)d(g)&&e.lazy.loadInSlide(g)}else{var b=t.children("."+i.slideNextClass);b.length>0&&e.lazy.loadInSlide(h(b));var w=t.children("."+i.slidePrevClass);w.length>0&&e.lazy.loadInSlide(h(w))}}},ce={LinearSpline:function(e,t){var i,s,a,r,n,o=function(e,t){for(s=-1,i=e.length;i-s>1;)e[a=i+s>>1]<=t?s=a:i=a;return i};return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(n=o(this.x,e),r=n-1,(e-this.x[r])*(this.y[n]-this.y[r])/(this.x[n]-this.x[r])+this.y[r]):0},this},getInterpolateFunction:function(e){this.controller.spline||(this.controller.spline=this.params.loop?new ce.LinearSpline(this.slidesGrid,e.slidesGrid):new ce.LinearSpline(this.snapGrid,e.snapGrid))},setTranslate:function(e,t){var i,s,a=this,r=a.controller.control;function n(e){var t=a.rtlTranslate?-a.translate:a.translate;"slide"===a.params.controller.by&&(a.controller.getInterpolateFunction(e),s=-a.controller.spline.interpolate(-t)),s&&"container"!==a.params.controller.by||(i=(e.maxTranslate()-e.minTranslate())/(a.maxTranslate()-a.minTranslate()),s=(t-a.minTranslate())*i+e.minTranslate()),a.params.controller.inverse&&(s=e.maxTranslate()-s),e.updateProgress(s),e.setTranslate(s,a),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(r))for(var o=0;o<r.length;o+=1)r[o]!==t&&r[o]instanceof j&&n(r[o]);else r instanceof j&&t!==r&&n(r)},setTransition:function(e,t){var i,s=this,a=s.controller.control;function r(t){t.setTransition(e,s),0!==e&&(t.transitionStart(),t.params.autoHeight&&d.nextTick((function(){t.updateAutoHeight()})),t.$wrapperEl.transitionEnd((function(){a&&(t.params.loop&&"slide"===s.params.controller.by&&t.loopFix(),t.transitionEnd())})))}if(Array.isArray(a))for(i=0;i<a.length;i+=1)a[i]!==t&&a[i]instanceof j&&r(a[i]);else a instanceof j&&t!==a&&r(a)}},ue={makeElFocusable:function(e){return e.attr("tabIndex","0"),e},makeElNotFocusable:function(e){return e.attr("tabIndex","-1"),e},addElRole:function(e,t){return e.attr("role",t),e},addElLabel:function(e,t){return e.attr("aria-label",t),e},disableEl:function(e){return e.attr("aria-disabled",!0),e},enableEl:function(e){return e.attr("aria-disabled",!1),e},onEnterKey:function(e){var t=this.params.a11y;if(13===e.keyCode){var i=n(e.target);this.navigation&&this.navigation.$nextEl&&i.is(this.navigation.$nextEl)&&(this.isEnd&&!this.params.loop||this.slideNext(),this.isEnd?this.a11y.notify(t.lastSlideMessage):this.a11y.notify(t.nextSlideMessage)),this.navigation&&this.navigation.$prevEl&&i.is(this.navigation.$prevEl)&&(this.isBeginning&&!this.params.loop||this.slidePrev(),this.isBeginning?this.a11y.notify(t.firstSlideMessage):this.a11y.notify(t.prevSlideMessage)),this.pagination&&i.is("."+this.params.pagination.bulletClass)&&i[0].click()}},notify:function(e){var t=this.a11y.liveRegion;0!==t.length&&(t.html(""),t.html(e))},updateNavigation:function(){if(!this.params.loop&&this.navigation){var e=this.navigation,t=e.$nextEl,i=e.$prevEl;i&&i.length>0&&(this.isBeginning?(this.a11y.disableEl(i),this.a11y.makeElNotFocusable(i)):(this.a11y.enableEl(i),this.a11y.makeElFocusable(i))),t&&t.length>0&&(this.isEnd?(this.a11y.disableEl(t),this.a11y.makeElNotFocusable(t)):(this.a11y.enableEl(t),this.a11y.makeElFocusable(t)))}},updatePagination:function(){var e=this,t=e.params.a11y;e.pagination&&e.params.pagination.clickable&&e.pagination.bullets&&e.pagination.bullets.length&&e.pagination.bullets.each((function(i,s){var a=n(s);e.a11y.makeElFocusable(a),e.a11y.addElRole(a,"button"),e.a11y.addElLabel(a,t.paginationBulletMessage.replace(/\{\{index\}\}/,a.index()+1))}))},init:function(){this.$el.append(this.a11y.liveRegion);var e,t,i=this.params.a11y;this.navigation&&this.navigation.$nextEl&&(e=this.navigation.$nextEl),this.navigation&&this.navigation.$prevEl&&(t=this.navigation.$prevEl),e&&(this.a11y.makeElFocusable(e),this.a11y.addElRole(e,"button"),this.a11y.addElLabel(e,i.nextSlideMessage),e.on("keydown",this.a11y.onEnterKey)),t&&(this.a11y.makeElFocusable(t),this.a11y.addElRole(t,"button"),this.a11y.addElLabel(t,i.prevSlideMessage),t.on("keydown",this.a11y.onEnterKey)),this.pagination&&this.params.pagination.clickable&&this.pagination.bullets&&this.pagination.bullets.length&&this.pagination.$el.on("keydown","."+this.params.pagination.bulletClass,this.a11y.onEnterKey)},destroy:function(){var e,t;this.a11y.liveRegion&&this.a11y.liveRegion.length>0&&this.a11y.liveRegion.remove(),this.navigation&&this.navigation.$nextEl&&(e=this.navigation.$nextEl),this.navigation&&this.navigation.$prevEl&&(t=this.navigation.$prevEl),e&&e.off("keydown",this.a11y.onEnterKey),t&&t.off("keydown",this.a11y.onEnterKey),this.pagination&&this.params.pagination.clickable&&this.pagination.bullets&&this.pagination.bullets.length&&this.pagination.$el.off("keydown","."+this.params.pagination.bulletClass,this.a11y.onEnterKey)}},ve={init:function(){if(this.params.history){if(!a.history||!a.history.pushState)return this.params.history.enabled=!1,void(this.params.hashNavigation.enabled=!0);var e=this.history;e.initialized=!0,e.paths=ve.getPathValues(),(e.paths.key||e.paths.value)&&(e.scrollToSlide(0,e.paths.value,this.params.runCallbacksOnInit),this.params.history.replaceState||a.addEventListener("popstate",this.history.setHistoryPopState))}},destroy:function(){this.params.history.replaceState||a.removeEventListener("popstate",this.history.setHistoryPopState)},setHistoryPopState:function(){this.history.paths=ve.getPathValues(),this.history.scrollToSlide(this.params.speed,this.history.paths.value,!1)},getPathValues:function(){var e=a.location.pathname.slice(1).split("/").filter((function(e){return""!==e})),t=e.length;return{key:e[t-2],value:e[t-1]}},setHistory:function(e,t){if(this.history.initialized&&this.params.history.enabled){var i=this.slides.eq(t),s=ve.slugify(i.attr("data-history"));a.location.pathname.includes(e)||(s=e+"/"+s);var r=a.history.state;r&&r.value===s||(this.params.history.replaceState?a.history.replaceState({value:s},null,s):a.history.pushState({value:s},null,s))}},slugify:function(e){return e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")},scrollToSlide:function(e,t,i){if(t)for(var s=0,a=this.slides.length;s<a;s+=1){var r=this.slides.eq(s);if(ve.slugify(r.attr("data-history"))===t&&!r.hasClass(this.params.slideDuplicateClass)){var n=r.index();this.slideTo(n,e,i)}}else this.slideTo(0,e,i)}},fe={onHashCange:function(){this.emit("hashChange");var e=i.location.hash.replace("#","");if(e!==this.slides.eq(this.activeIndex).attr("data-hash")){var t=this.$wrapperEl.children("."+this.params.slideClass+'[data-hash="'+e+'"]').index();if(void 0===t)return;this.slideTo(t)}},setHash:function(){if(this.hashNavigation.initialized&&this.params.hashNavigation.enabled)if(this.params.hashNavigation.replaceState&&a.history&&a.history.replaceState)a.history.replaceState(null,null,"#"+this.slides.eq(this.activeIndex).attr("data-hash")||""),this.emit("hashSet");else{var e=this.slides.eq(this.activeIndex),t=e.attr("data-hash")||e.attr("data-history");i.location.hash=t||"",this.emit("hashSet")}},init:function(){if(!(!this.params.hashNavigation.enabled||this.params.history&&this.params.history.enabled)){this.hashNavigation.initialized=!0;var e=i.location.hash.replace("#","");if(e)for(var t=0,s=this.slides.length;t<s;t+=1){var r=this.slides.eq(t);if((r.attr("data-hash")||r.attr("data-history"))===e&&!r.hasClass(this.params.slideDuplicateClass)){var o=r.index();this.slideTo(o,0,this.params.runCallbacksOnInit,!0)}}this.params.hashNavigation.watchState&&n(a).on("hashchange",this.hashNavigation.onHashCange)}},destroy:function(){this.params.hashNavigation.watchState&&n(a).off("hashchange",this.hashNavigation.onHashCange)}},me={run:function(){var e=this,t=e.slides.eq(e.activeIndex),i=e.params.autoplay.delay;t.attr("data-swiper-autoplay")&&(i=t.attr("data-swiper-autoplay")||e.params.autoplay.delay),clearTimeout(e.autoplay.timeout),e.autoplay.timeout=d.nextTick((function(){e.params.autoplay.reverseDirection?e.params.loop?(e.loopFix(),e.slidePrev(e.params.speed,!0,!0),e.emit("autoplay")):e.isBeginning?e.params.autoplay.stopOnLastSlide?e.autoplay.stop():(e.slideTo(e.slides.length-1,e.params.speed,!0,!0),e.emit("autoplay")):(e.slidePrev(e.params.speed,!0,!0),e.emit("autoplay")):e.params.loop?(e.loopFix(),e.slideNext(e.params.speed,!0,!0),e.emit("autoplay")):e.isEnd?e.params.autoplay.stopOnLastSlide?e.autoplay.stop():(e.slideTo(0,e.params.speed,!0,!0),e.emit("autoplay")):(e.slideNext(e.params.speed,!0,!0),e.emit("autoplay")),e.params.cssMode&&e.autoplay.running&&e.autoplay.run()}),i)},start:function(){return void 0===this.autoplay.timeout&&!this.autoplay.running&&(this.autoplay.running=!0,this.emit("autoplayStart"),this.autoplay.run(),!0)},stop:function(){return!!this.autoplay.running&&void 0!==this.autoplay.timeout&&(this.autoplay.timeout&&(clearTimeout(this.autoplay.timeout),this.autoplay.timeout=void 0),this.autoplay.running=!1,this.emit("autoplayStop"),!0)},pause:function(e){this.autoplay.running&&(this.autoplay.paused||(this.autoplay.timeout&&clearTimeout(this.autoplay.timeout),this.autoplay.paused=!0,0!==e&&this.params.autoplay.waitForTransition?(this.$wrapperEl[0].addEventListener("transitionend",this.autoplay.onTransitionEnd),this.$wrapperEl[0].addEventListener("webkitTransitionEnd",this.autoplay.onTransitionEnd)):(this.autoplay.paused=!1,this.autoplay.run())))}},ge={setTranslate:function(){for(var e=this.slides,t=0;t<e.length;t+=1){var i=this.slides.eq(t),s=-i[0].swiperSlideOffset;this.params.virtualTranslate||(s-=this.translate);var a=0;this.isHorizontal()||(a=s,s=0);var r=this.params.fadeEffect.crossFade?Math.max(1-Math.abs(i[0].progress),0):1+Math.min(Math.max(i[0].progress,-1),0);i.css({opacity:r}).transform("translate3d("+s+"px, "+a+"px, 0px)")}},setTransition:function(e){var t=this,i=t.slides,s=t.$wrapperEl;if(i.transition(e),t.params.virtualTranslate&&0!==e){var a=!1;i.transitionEnd((function(){if(!a&&t&&!t.destroyed){a=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],i=0;i<e.length;i+=1)s.trigger(e[i])}}))}}},be={setTranslate:function(){var e,t=this.$el,i=this.$wrapperEl,s=this.slides,a=this.width,r=this.height,o=this.rtlTranslate,l=this.size,d=this.params.cubeEffect,h=this.isHorizontal(),p=this.virtual&&this.params.virtual.enabled,c=0;d.shadow&&(h?(0===(e=i.find(".swiper-cube-shadow")).length&&(e=n('<div class="swiper-cube-shadow"></div>'),i.append(e)),e.css({height:a+"px"})):0===(e=t.find(".swiper-cube-shadow")).length&&(e=n('<div class="swiper-cube-shadow"></div>'),t.append(e)));for(var u=0;u<s.length;u+=1){var v=s.eq(u),f=u;p&&(f=parseInt(v.attr("data-swiper-slide-index"),10));var m=90*f,g=Math.floor(m/360);o&&(m=-m,g=Math.floor(-m/360));var b=Math.max(Math.min(v[0].progress,1),-1),w=0,y=0,x=0;f%4==0?(w=4*-g*l,x=0):(f-1)%4==0?(w=0,x=4*-g*l):(f-2)%4==0?(w=l+4*g*l,x=l):(f-3)%4==0&&(w=-l,x=3*l+4*l*g),o&&(w=-w),h||(y=w,w=0);var E="rotateX("+(h?0:-m)+"deg) rotateY("+(h?m:0)+"deg) translate3d("+w+"px, "+y+"px, "+x+"px)";if(b<=1&&b>-1&&(c=90*f+90*b,o&&(c=90*-f-90*b)),v.transform(E),d.slideShadows){var T=h?v.find(".swiper-slide-shadow-left"):v.find(".swiper-slide-shadow-top"),S=h?v.find(".swiper-slide-shadow-right"):v.find(".swiper-slide-shadow-bottom");0===T.length&&(T=n('<div class="swiper-slide-shadow-'+(h?"left":"top")+'"></div>'),v.append(T)),0===S.length&&(S=n('<div class="swiper-slide-shadow-'+(h?"right":"bottom")+'"></div>'),v.append(S)),T.length&&(T[0].style.opacity=Math.max(-b,0)),S.length&&(S[0].style.opacity=Math.max(b,0))}}if(i.css({"-webkit-transform-origin":"50% 50% -"+l/2+"px","-moz-transform-origin":"50% 50% -"+l/2+"px","-ms-transform-origin":"50% 50% -"+l/2+"px","transform-origin":"50% 50% -"+l/2+"px"}),d.shadow)if(h)e.transform("translate3d(0px, "+(a/2+d.shadowOffset)+"px, "+-a/2+"px) rotateX(90deg) rotateZ(0deg) scale("+d.shadowScale+")");else{var C=Math.abs(c)-90*Math.floor(Math.abs(c)/90),M=1.5-(Math.sin(2*C*Math.PI/360)/2+Math.cos(2*C*Math.PI/360)/2),P=d.shadowScale,z=d.shadowScale/M,k=d.shadowOffset;e.transform("scale3d("+P+", 1, "+z+") translate3d(0px, "+(r/2+k)+"px, "+-r/2/z+"px) rotateX(-90deg)")}var $=_.isSafari||_.isWebView?-l/2:0;i.transform("translate3d(0px,0,"+$+"px) rotateX("+(this.isHorizontal()?0:c)+"deg) rotateY("+(this.isHorizontal()?-c:0)+"deg)")},setTransition:function(e){var t=this.$el;this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),this.params.cubeEffect.shadow&&!this.isHorizontal()&&t.find(".swiper-cube-shadow").transition(e)}},we={setTranslate:function(){for(var e=this.slides,t=this.rtlTranslate,i=0;i<e.length;i+=1){var s=e.eq(i),a=s[0].progress;this.params.flipEffect.limitRotation&&(a=Math.max(Math.min(s[0].progress,1),-1));var r=-180*a,o=0,l=-s[0].swiperSlideOffset,d=0;if(this.isHorizontal()?t&&(r=-r):(d=l,l=0,o=-r,r=0),s[0].style.zIndex=-Math.abs(Math.round(a))+e.length,this.params.flipEffect.slideShadows){var h=this.isHorizontal()?s.find(".swiper-slide-shadow-left"):s.find(".swiper-slide-shadow-top"),p=this.isHorizontal()?s.find(".swiper-slide-shadow-right"):s.find(".swiper-slide-shadow-bottom");0===h.length&&(h=n('<div class="swiper-slide-shadow-'+(this.isHorizontal()?"left":"top")+'"></div>'),s.append(h)),0===p.length&&(p=n('<div class="swiper-slide-shadow-'+(this.isHorizontal()?"right":"bottom")+'"></div>'),s.append(p)),h.length&&(h[0].style.opacity=Math.max(-a,0)),p.length&&(p[0].style.opacity=Math.max(a,0))}s.transform("translate3d("+l+"px, "+d+"px, 0px) rotateX("+o+"deg) rotateY("+r+"deg)")}},setTransition:function(e){var t=this,i=t.slides,s=t.activeIndex,a=t.$wrapperEl;if(i.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),t.params.virtualTranslate&&0!==e){var r=!1;i.eq(s).transitionEnd((function(){if(!r&&t&&!t.destroyed){r=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],i=0;i<e.length;i+=1)a.trigger(e[i])}}))}}},ye={setTranslate:function(){for(var e=this.width,t=this.height,i=this.slides,s=this.$wrapperEl,a=this.slidesSizesGrid,r=this.params.coverflowEffect,o=this.isHorizontal(),l=this.translate,d=o?e/2-l:t/2-l,p=o?r.rotate:-r.rotate,c=r.depth,u=0,v=i.length;u<v;u+=1){var f=i.eq(u),m=a[u],g=(d-f[0].swiperSlideOffset-m/2)/m*r.modifier,b=o?p*g:0,w=o?0:p*g,y=-c*Math.abs(g),x=r.stretch;"string"==typeof x&&-1!==x.indexOf("%")&&(x=parseFloat(r.stretch)/100*m);var E=o?0:x*g,T=o?x*g:0,S=1-(1-r.scale)*Math.abs(g);Math.abs(T)<.001&&(T=0),Math.abs(E)<.001&&(E=0),Math.abs(y)<.001&&(y=0),Math.abs(b)<.001&&(b=0),Math.abs(w)<.001&&(w=0),Math.abs(S)<.001&&(S=0);var C="translate3d("+T+"px,"+E+"px,"+y+"px) rotateX("+w+"deg) rotateY("+b+"deg) scale("+S+")";if(f.transform(C),f[0].style.zIndex=1-Math.abs(Math.round(g)),r.slideShadows){var M=o?f.find(".swiper-slide-shadow-left"):f.find(".swiper-slide-shadow-top"),P=o?f.find(".swiper-slide-shadow-right"):f.find(".swiper-slide-shadow-bottom");0===M.length&&(M=n('<div class="swiper-slide-shadow-'+(o?"left":"top")+'"></div>'),f.append(M)),0===P.length&&(P=n('<div class="swiper-slide-shadow-'+(o?"right":"bottom")+'"></div>'),f.append(P)),M.length&&(M[0].style.opacity=g>0?g:0),P.length&&(P[0].style.opacity=-g>0?-g:0)}}(h.pointerEvents||h.prefixedPointerEvents)&&(s[0].style.perspectiveOrigin=d+"px 50%")},setTransition:function(e){this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)}},xe={init:function(){var e=this.params.thumbs,t=this.constructor;e.swiper instanceof t?(this.thumbs.swiper=e.swiper,d.extend(this.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),d.extend(this.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1})):d.isObject(e.swiper)&&(this.thumbs.swiper=new t(d.extend({},e.swiper,{watchSlidesVisibility:!0,watchSlidesProgress:!0,slideToClickedSlide:!1})),this.thumbs.swiperCreated=!0),this.thumbs.swiper.$el.addClass(this.params.thumbs.thumbsContainerClass),this.thumbs.swiper.on("tap",this.thumbs.onThumbClick)},onThumbClick:function(){var e=this.thumbs.swiper;if(e){var t=e.clickedIndex,i=e.clickedSlide;if(!(i&&n(i).hasClass(this.params.thumbs.slideThumbActiveClass)||null==t)){var s;if(s=e.params.loop?parseInt(n(e.clickedSlide).attr("data-swiper-slide-index"),10):t,this.params.loop){var a=this.activeIndex;this.slides.eq(a).hasClass(this.params.slideDuplicateClass)&&(this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft,a=this.activeIndex);var r=this.slides.eq(a).prevAll('[data-swiper-slide-index="'+s+'"]').eq(0).index(),o=this.slides.eq(a).nextAll('[data-swiper-slide-index="'+s+'"]').eq(0).index();s=void 0===r?o:void 0===o?r:o-a<a-r?o:r}this.slideTo(s)}}},update:function(e){var t=this.thumbs.swiper;if(t){var i="auto"===t.params.slidesPerView?t.slidesPerViewDynamic():t.params.slidesPerView,s=this.params.thumbs.autoScrollOffset,a=s&&!t.params.loop;if(this.realIndex!==t.realIndex||a){var r,n,o=t.activeIndex;if(t.params.loop){t.slides.eq(o).hasClass(t.params.slideDuplicateClass)&&(t.loopFix(),t._clientLeft=t.$wrapperEl[0].clientLeft,o=t.activeIndex);var l=t.slides.eq(o).prevAll('[data-swiper-slide-index="'+this.realIndex+'"]').eq(0).index(),d=t.slides.eq(o).nextAll('[data-swiper-slide-index="'+this.realIndex+'"]').eq(0).index();r=void 0===l?d:void 0===d?l:d-o==o-l?o:d-o<o-l?d:l,n=this.activeIndex>this.previousIndex?"next":"prev"}else n=(r=this.realIndex)>this.previousIndex?"next":"prev";a&&(r+="next"===n?s:-1*s),t.visibleSlidesIndexes&&t.visibleSlidesIndexes.indexOf(r)<0&&(t.params.centeredSlides?r=r>o?r-Math.floor(i/2)+1:r+Math.floor(i/2)-1:r>o&&(r=r-i+1),t.slideTo(r,e?0:void 0))}var h=1,p=this.params.thumbs.slideThumbActiveClass;if(this.params.slidesPerView>1&&!this.params.centeredSlides&&(h=this.params.slidesPerView),this.params.thumbs.multipleActiveThumbs||(h=1),h=Math.floor(h),t.slides.removeClass(p),t.params.loop||t.params.virtual&&t.params.virtual.enabled)for(var c=0;c<h;c+=1)t.$wrapperEl.children('[data-swiper-slide-index="'+(this.realIndex+c)+'"]').addClass(p);else for(var u=0;u<h;u+=1)t.slides.eq(this.realIndex+u).addClass(p)}}},Ee=[K,U,Z,Q,ee,ie,ae,{name:"mousewheel",params:{mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarged:"container"}},create:function(){d.extend(this,{mousewheel:{enabled:!1,enable:re.enable.bind(this),disable:re.disable.bind(this),handle:re.handle.bind(this),handleMouseEnter:re.handleMouseEnter.bind(this),handleMouseLeave:re.handleMouseLeave.bind(this),animateSlider:re.animateSlider.bind(this),releaseScroll:re.releaseScroll.bind(this),lastScrollTime:d.now(),lastEventBeforeSnap:void 0,recentWheelEvents:[]}})},on:{init:function(){!this.params.mousewheel.enabled&&this.params.cssMode&&this.mousewheel.disable(),this.params.mousewheel.enabled&&this.mousewheel.enable()},destroy:function(){this.params.cssMode&&this.mousewheel.enable(),this.mousewheel.enabled&&this.mousewheel.disable()}}},{name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){d.extend(this,{navigation:{init:ne.init.bind(this),update:ne.update.bind(this),destroy:ne.destroy.bind(this),onNextClick:ne.onNextClick.bind(this),onPrevClick:ne.onPrevClick.bind(this)}})},on:{init:function(){this.navigation.init(),this.navigation.update()},toEdge:function(){this.navigation.update()},fromEdge:function(){this.navigation.update()},destroy:function(){this.navigation.destroy()},click:function(e){var t,i=this.navigation,s=i.$nextEl,a=i.$prevEl;!this.params.navigation.hideOnClick||n(e.target).is(a)||n(e.target).is(s)||(s?t=s.hasClass(this.params.navigation.hiddenClass):a&&(t=a.hasClass(this.params.navigation.hiddenClass)),!0===t?this.emit("navigationShow",this):this.emit("navigationHide",this),s&&s.toggleClass(this.params.navigation.hiddenClass),a&&a.toggleClass(this.params.navigation.hiddenClass))}}},{name:"pagination",params:{pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:function(e){return e},formatFractionTotal:function(e){return e},bulletClass:"swiper-pagination-bullet",bulletActiveClass:"swiper-pagination-bullet-active",modifierClass:"swiper-pagination-",currentClass:"swiper-pagination-current",totalClass:"swiper-pagination-total",hiddenClass:"swiper-pagination-hidden",progressbarFillClass:"swiper-pagination-progressbar-fill",progressbarOppositeClass:"swiper-pagination-progressbar-opposite",clickableClass:"swiper-pagination-clickable",lockClass:"swiper-pagination-lock"}},create:function(){d.extend(this,{pagination:{init:oe.init.bind(this),render:oe.render.bind(this),update:oe.update.bind(this),destroy:oe.destroy.bind(this),dynamicBulletIndex:0}})},on:{init:function(){this.pagination.init(),this.pagination.render(),this.pagination.update()},activeIndexChange:function(){(this.params.loop||void 0===this.snapIndex)&&this.pagination.update()},snapIndexChange:function(){this.params.loop||this.pagination.update()},slidesLengthChange:function(){this.params.loop&&(this.pagination.render(),this.pagination.update())},snapGridLengthChange:function(){this.params.loop||(this.pagination.render(),this.pagination.update())},destroy:function(){this.pagination.destroy()},click:function(e){this.params.pagination.el&&this.params.pagination.hideOnClick&&this.pagination.$el.length>0&&!n(e.target).hasClass(this.params.pagination.bulletClass)&&(!0===this.pagination.$el.hasClass(this.params.pagination.hiddenClass)?this.emit("paginationShow",this):this.emit("paginationHide",this),this.pagination.$el.toggleClass(this.params.pagination.hiddenClass))}}},{name:"scrollbar",params:{scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag"}},create:function(){d.extend(this,{scrollbar:{init:le.init.bind(this),destroy:le.destroy.bind(this),updateSize:le.updateSize.bind(this),setTranslate:le.setTranslate.bind(this),setTransition:le.setTransition.bind(this),enableDraggable:le.enableDraggable.bind(this),disableDraggable:le.disableDraggable.bind(this),setDragPosition:le.setDragPosition.bind(this),getPointerPosition:le.getPointerPosition.bind(this),onDragStart:le.onDragStart.bind(this),onDragMove:le.onDragMove.bind(this),onDragEnd:le.onDragEnd.bind(this),isTouched:!1,timeout:null,dragTimeout:null}})},on:{init:function(){this.scrollbar.init(),this.scrollbar.updateSize(),this.scrollbar.setTranslate()},update:function(){this.scrollbar.updateSize()},resize:function(){this.scrollbar.updateSize()},observerUpdate:function(){this.scrollbar.updateSize()},setTranslate:function(){this.scrollbar.setTranslate()},setTransition:function(e){this.scrollbar.setTransition(e)},destroy:function(){this.scrollbar.destroy()}}},{name:"parallax",params:{parallax:{enabled:!1}},create:function(){d.extend(this,{parallax:{setTransform:de.setTransform.bind(this),setTranslate:de.setTranslate.bind(this),setTransition:de.setTransition.bind(this)}})},on:{beforeInit:function(){this.params.parallax.enabled&&(this.params.watchSlidesProgress=!0,this.originalParams.watchSlidesProgress=!0)},init:function(){this.params.parallax.enabled&&this.parallax.setTranslate()},setTranslate:function(){this.params.parallax.enabled&&this.parallax.setTranslate()},setTransition:function(e){this.params.parallax.enabled&&this.parallax.setTransition(e)}}},{name:"zoom",params:{zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}},create:function(){var e=this,t={enabled:!1,scale:1,currentScale:1,isScaling:!1,gesture:{$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},image:{isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},velocity:{x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0}};"onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out".split(" ").forEach((function(i){t[i]=he[i].bind(e)})),d.extend(e,{zoom:t});var i=1;Object.defineProperty(e.zoom,"scale",{get:function(){return i},set:function(t){if(i!==t){var s=e.zoom.gesture.$imageEl?e.zoom.gesture.$imageEl[0]:void 0,a=e.zoom.gesture.$slideEl?e.zoom.gesture.$slideEl[0]:void 0;e.emit("zoomChange",t,s,a)}i=t}})},on:{init:function(){this.params.zoom.enabled&&this.zoom.enable()},destroy:function(){this.zoom.disable()},touchStart:function(e){this.zoom.enabled&&this.zoom.onTouchStart(e)},touchEnd:function(e){this.zoom.enabled&&this.zoom.onTouchEnd(e)},doubleTap:function(e){this.params.zoom.enabled&&this.zoom.enabled&&this.params.zoom.toggle&&this.zoom.toggle(e)},transitionEnd:function(){this.zoom.enabled&&this.params.zoom.enabled&&this.zoom.onTransitionEnd()},slideChange:function(){this.zoom.enabled&&this.params.zoom.enabled&&this.params.cssMode&&this.zoom.onTransitionEnd()}}},{name:"lazy",params:{lazy:{enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}},create:function(){d.extend(this,{lazy:{initialImageLoaded:!1,load:pe.load.bind(this),loadInSlide:pe.loadInSlide.bind(this)}})},on:{beforeInit:function(){this.params.lazy.enabled&&this.params.preloadImages&&(this.params.preloadImages=!1)},init:function(){this.params.lazy.enabled&&!this.params.loop&&0===this.params.initialSlide&&this.lazy.load()},scroll:function(){this.params.freeMode&&!this.params.freeModeSticky&&this.lazy.load()},resize:function(){this.params.lazy.enabled&&this.lazy.load()},scrollbarDragMove:function(){this.params.lazy.enabled&&this.lazy.load()},transitionStart:function(){this.params.lazy.enabled&&(this.params.lazy.loadOnTransitionStart||!this.params.lazy.loadOnTransitionStart&&!this.lazy.initialImageLoaded)&&this.lazy.load()},transitionEnd:function(){this.params.lazy.enabled&&!this.params.lazy.loadOnTransitionStart&&this.lazy.load()},slideChange:function(){this.params.lazy.enabled&&this.params.cssMode&&this.lazy.load()}}},{name:"controller",params:{controller:{control:void 0,inverse:!1,by:"slide"}},create:function(){d.extend(this,{controller:{control:this.params.controller.control,getInterpolateFunction:ce.getInterpolateFunction.bind(this),setTranslate:ce.setTranslate.bind(this),setTransition:ce.setTransition.bind(this)}})},on:{update:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},resize:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},observerUpdate:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},setTranslate:function(e,t){this.controller.control&&this.controller.setTranslate(e,t)},setTransition:function(e,t){this.controller.control&&this.controller.setTransition(e,t)}}},{name:"a11y",params:{a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}"}},create:function(){var e=this;d.extend(e,{a11y:{liveRegion:n('<span class="'+e.params.a11y.notificationClass+'" aria-live="assertive" aria-atomic="true"></span>')}}),Object.keys(ue).forEach((function(t){e.a11y[t]=ue[t].bind(e)}))},on:{init:function(){this.params.a11y.enabled&&(this.a11y.init(),this.a11y.updateNavigation())},toEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},fromEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},paginationUpdate:function(){this.params.a11y.enabled&&this.a11y.updatePagination()},destroy:function(){this.params.a11y.enabled&&this.a11y.destroy()}}},{name:"history",params:{history:{enabled:!1,replaceState:!1,key:"slides"}},create:function(){d.extend(this,{history:{init:ve.init.bind(this),setHistory:ve.setHistory.bind(this),setHistoryPopState:ve.setHistoryPopState.bind(this),scrollToSlide:ve.scrollToSlide.bind(this),destroy:ve.destroy.bind(this)}})},on:{init:function(){this.params.history.enabled&&this.history.init()},destroy:function(){this.params.history.enabled&&this.history.destroy()},transitionEnd:function(){this.history.initialized&&this.history.setHistory(this.params.history.key,this.activeIndex)},slideChange:function(){this.history.initialized&&this.params.cssMode&&this.history.setHistory(this.params.history.key,this.activeIndex)}}},{name:"hash-navigation",params:{hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}},create:function(){d.extend(this,{hashNavigation:{initialized:!1,init:fe.init.bind(this),destroy:fe.destroy.bind(this),setHash:fe.setHash.bind(this),onHashCange:fe.onHashCange.bind(this)}})},on:{init:function(){this.params.hashNavigation.enabled&&this.hashNavigation.init()},destroy:function(){this.params.hashNavigation.enabled&&this.hashNavigation.destroy()},transitionEnd:function(){this.hashNavigation.initialized&&this.hashNavigation.setHash()},slideChange:function(){this.hashNavigation.initialized&&this.params.cssMode&&this.hashNavigation.setHash()}}},{name:"autoplay",params:{autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1}},create:function(){var e=this;d.extend(e,{autoplay:{running:!1,paused:!1,run:me.run.bind(e),start:me.start.bind(e),stop:me.stop.bind(e),pause:me.pause.bind(e),onVisibilityChange:function(){"hidden"===document.visibilityState&&e.autoplay.running&&e.autoplay.pause(),"visible"===document.visibilityState&&e.autoplay.paused&&(e.autoplay.run(),e.autoplay.paused=!1)},onTransitionEnd:function(t){e&&!e.destroyed&&e.$wrapperEl&&t.target===this&&(e.$wrapperEl[0].removeEventListener("transitionend",e.autoplay.onTransitionEnd),e.$wrapperEl[0].removeEventListener("webkitTransitionEnd",e.autoplay.onTransitionEnd),e.autoplay.paused=!1,e.autoplay.running?e.autoplay.run():e.autoplay.stop())}}})},on:{init:function(){this.params.autoplay.enabled&&(this.autoplay.start(),document.addEventListener("visibilitychange",this.autoplay.onVisibilityChange))},beforeTransitionStart:function(e,t){this.autoplay.running&&(t||!this.params.autoplay.disableOnInteraction?this.autoplay.pause(e):this.autoplay.stop())},sliderFirstMove:function(){this.autoplay.running&&(this.params.autoplay.disableOnInteraction?this.autoplay.stop():this.autoplay.pause())},touchEnd:function(){this.params.cssMode&&this.autoplay.paused&&!this.params.autoplay.disableOnInteraction&&this.autoplay.run()},destroy:function(){this.autoplay.running&&this.autoplay.stop(),document.removeEventListener("visibilitychange",this.autoplay.onVisibilityChange)}}},{name:"effect-fade",params:{fadeEffect:{crossFade:!1}},create:function(){d.extend(this,{fadeEffect:{setTranslate:ge.setTranslate.bind(this),setTransition:ge.setTransition.bind(this)}})},on:{beforeInit:function(){if("fade"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"fade");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};d.extend(this.params,e),d.extend(this.originalParams,e)}},setTranslate:function(){"fade"===this.params.effect&&this.fadeEffect.setTranslate()},setTransition:function(e){"fade"===this.params.effect&&this.fadeEffect.setTransition(e)}}},{name:"effect-cube",params:{cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}},create:function(){d.extend(this,{cubeEffect:{setTranslate:be.setTranslate.bind(this),setTransition:be.setTransition.bind(this)}})},on:{beforeInit:function(){if("cube"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"cube"),this.classNames.push(this.params.containerModifierClass+"3d");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0};d.extend(this.params,e),d.extend(this.originalParams,e)}},setTranslate:function(){"cube"===this.params.effect&&this.cubeEffect.setTranslate()},setTransition:function(e){"cube"===this.params.effect&&this.cubeEffect.setTransition(e)}}},{name:"effect-flip",params:{flipEffect:{slideShadows:!0,limitRotation:!0}},create:function(){d.extend(this,{flipEffect:{setTranslate:we.setTranslate.bind(this),setTransition:we.setTransition.bind(this)}})},on:{beforeInit:function(){if("flip"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"flip"),this.classNames.push(this.params.containerModifierClass+"3d");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};d.extend(this.params,e),d.extend(this.originalParams,e)}},setTranslate:function(){"flip"===this.params.effect&&this.flipEffect.setTranslate()},setTransition:function(e){"flip"===this.params.effect&&this.flipEffect.setTransition(e)}}},{name:"effect-coverflow",params:{coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}},create:function(){d.extend(this,{coverflowEffect:{setTranslate:ye.setTranslate.bind(this),setTransition:ye.setTransition.bind(this)}})},on:{beforeInit:function(){"coverflow"===this.params.effect&&(this.classNames.push(this.params.containerModifierClass+"coverflow"),this.classNames.push(this.params.containerModifierClass+"3d"),this.params.watchSlidesProgress=!0,this.originalParams.watchSlidesProgress=!0)},setTranslate:function(){"coverflow"===this.params.effect&&this.coverflowEffect.setTranslate()},setTransition:function(e){"coverflow"===this.params.effect&&this.coverflowEffect.setTransition(e)}}},{name:"thumbs",params:{thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-container-thumbs"}},create:function(){d.extend(this,{thumbs:{swiper:null,init:xe.init.bind(this),update:xe.update.bind(this),onThumbClick:xe.onThumbClick.bind(this)}})},on:{beforeInit:function(){var e=this.params.thumbs;e&&e.swiper&&(this.thumbs.init(),this.thumbs.update(!0))},slideChange:function(){this.thumbs.swiper&&this.thumbs.update()},update:function(){this.thumbs.swiper&&this.thumbs.update()},resize:function(){this.thumbs.swiper&&this.thumbs.update()},observerUpdate:function(){this.thumbs.swiper&&this.thumbs.update()},setTransition:function(e){var t=this.thumbs.swiper;t&&t.setTransition(e)},beforeDestroy:function(){var e=this.thumbs.swiper;e&&this.thumbs.swiperCreated&&e&&e.destroy()}}}];return void 0===j.use&&(j.use=j.Class.use,j.installModule=j.Class.installModule),j.use(Ee),j}));
|
includes/class-twae.php
CHANGED
@@ -4,7 +4,7 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
4 |
// Add a custom category for panel widgets
|
5 |
add_action( 'elementor/init', function() {
|
6 |
\Elementor\Plugin::$instance->elements_manager->add_category(
|
7 |
-
'twae',
|
8 |
[
|
9 |
'title' => esc_html__( 'Timeline Widget Addon For Elementor', 'twae' ),
|
10 |
'icon' => 'fa fa-header', //default icon
|
@@ -31,9 +31,9 @@ class TWAE_WidgetClass {
|
|
31 |
*/
|
32 |
public function __construct() {
|
33 |
$this->twae_add_actions();
|
34 |
-
|
35 |
-
add_action('
|
36 |
-
|
37 |
}
|
38 |
|
39 |
/**
|
@@ -45,14 +45,31 @@ class TWAE_WidgetClass {
|
|
45 |
*/
|
46 |
private function twae_add_actions() {
|
47 |
add_action( 'elementor/widgets/widgets_registered', array($this, 'twae_on_widgets_registered' ));
|
48 |
-
|
49 |
-
} );
|
50 |
}
|
51 |
|
|
|
|
|
|
|
|
|
52 |
|
|
|
53 |
|
54 |
public function twae_enqueue_style() {
|
55 |
-
wp_enqueue_style( 'centered-css', TWAE_URL . 'assets/css/twae-centered-timeline.css', array());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
}
|
57 |
|
58 |
/**
|
4 |
// Add a custom category for panel widgets
|
5 |
add_action( 'elementor/init', function() {
|
6 |
\Elementor\Plugin::$instance->elements_manager->add_category(
|
7 |
+
'twae', // the name of the category
|
8 |
[
|
9 |
'title' => esc_html__( 'Timeline Widget Addon For Elementor', 'twae' ),
|
10 |
'icon' => 'fa fa-header', //default icon
|
31 |
*/
|
32 |
public function __construct() {
|
33 |
$this->twae_add_actions();
|
34 |
+
|
35 |
+
add_action( 'elementor/preview/enqueue_styles', array($this, 'twae_enqueue_previw_style' ) ); // enqueue scripts for live editor
|
36 |
+
add_action('wp_enqueue_scripts', array($this, 'twae_enqueue_style')); // enqueue scripts/styles for frontend
|
37 |
}
|
38 |
|
39 |
/**
|
45 |
*/
|
46 |
private function twae_add_actions() {
|
47 |
add_action( 'elementor/widgets/widgets_registered', array($this, 'twae_on_widgets_registered' ));
|
48 |
+
|
|
|
49 |
}
|
50 |
|
51 |
+
public function twae_enqueue_previw_style(){
|
52 |
+
wp_register_script( 'twae-horizontal-editor-js', TWAE_URL . 'assets/js/twae-horizontal-editor.js', 'elementor-editor',null, true );
|
53 |
+
|
54 |
+
wp_enqueue_script( 'twae-horizontal-editor-js' );
|
55 |
|
56 |
+
}
|
57 |
|
58 |
public function twae_enqueue_style() {
|
59 |
+
wp_enqueue_style( 'twae-centered-css', TWAE_URL . 'assets/css/twae-centered-timeline.min.css', array());
|
60 |
+
wp_register_style( 'twae-horizontal-css', TWAE_URL . 'assets/css/twae-horizontal-styles.min.css', array());
|
61 |
+
wp_register_style( 'twae-fontello-css', TWAE_URL . 'assets/css/twae-fontello.css', array());
|
62 |
+
wp_register_script( 'twae-swiper-js', TWAE_URL . 'assets/js/twae-swiper.min.js',array('jquery'),null, true );
|
63 |
+
wp_register_script( 'twae-horizontal-js', TWAE_URL . 'assets/js/twae-horizontal.js', array('jquery'),null, true );
|
64 |
+
|
65 |
+
wp_enqueue_style( 'twae-horizontal-css' );
|
66 |
+
wp_enqueue_style( 'twae-fontello-css' );
|
67 |
+
wp_enqueue_script( 'twae-swiper-js' );
|
68 |
+
|
69 |
+
if ( ! \Elementor\Plugin::$instance->editor->is_edit_mode() ) {
|
70 |
+
wp_enqueue_script( 'twae-horizontal-js' );
|
71 |
+
}
|
72 |
+
|
73 |
}
|
74 |
|
75 |
/**
|
includes/twae-feedback-notice.php
CHANGED
@@ -9,8 +9,8 @@ if (!class_exists('TWAEFeedbackNotice')) {
|
|
9 |
// register actions
|
10 |
|
11 |
if(is_admin()){
|
12 |
-
add_action( 'admin_notices',array($this,'
|
13 |
-
add_action( 'admin_print_scripts', array($this, '
|
14 |
add_action( 'wp_ajax_twae_dismiss_notice',array($this,'twae_dismiss_review_notice' ) );
|
15 |
}
|
16 |
}
|
@@ -20,11 +20,66 @@ if (!class_exists('TWAEFeedbackNotice')) {
|
|
20 |
*
|
21 |
* @return void
|
22 |
*/
|
23 |
-
public function
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
}
|
29 |
// ajax callback for review notice
|
30 |
public function twae_dismiss_review_notice(){
|
@@ -33,7 +88,7 @@ if (!class_exists('TWAEFeedbackNotice')) {
|
|
33 |
exit;
|
34 |
}
|
35 |
// admin notice
|
36 |
-
public function
|
37 |
|
38 |
if( !current_user_can( 'update_plugins' ) ){
|
39 |
return;
|
@@ -56,12 +111,12 @@ if (!class_exists('TWAEFeedbackNotice')) {
|
|
56 |
|
57 |
// check if installation days is greator then week
|
58 |
if (isset($diff_days) && $diff_days>=3) {
|
59 |
-
echo $this->
|
60 |
}
|
61 |
}
|
62 |
|
63 |
// generated review notice HTML
|
64 |
-
function
|
65 |
$ajax_url=admin_url( 'admin-ajax.php' );
|
66 |
$ajax_callback='twae_dismiss_notice';
|
67 |
$wrap_cls="notice notice-info is-dismissible";
|
9 |
// register actions
|
10 |
|
11 |
if(is_admin()){
|
12 |
+
add_action( 'admin_notices',array($this,'twae_admin_notice_for_reviews'));
|
13 |
+
add_action( 'admin_print_scripts', array($this, 'twae_load_script' ) );
|
14 |
add_action( 'wp_ajax_twae_dismiss_notice',array($this,'twae_dismiss_review_notice' ) );
|
15 |
}
|
16 |
}
|
20 |
*
|
21 |
* @return void
|
22 |
*/
|
23 |
+
public function twae_load_script() {
|
24 |
+
$alreadyRated =get_option( 'twae-alreadyRated' )!=false?get_option( 'twae-alreadyRated'):"no";
|
25 |
+
|
26 |
+
// check user already rated
|
27 |
+
if( $alreadyRated=="yes") {
|
28 |
+
return;
|
29 |
+
}
|
30 |
+
$twae_review_css = ".cool-feedback-notice-wrapper.notice.notice-info.is-dismissible {
|
31 |
+
padding: 5px;
|
32 |
+
display: inline-block;
|
33 |
+
width: 100%;
|
34 |
+
}
|
35 |
+
.cool-feedback-notice-wrapper .logo_container {
|
36 |
+
width:80px;
|
37 |
+
display:inline-block;
|
38 |
+
margin-right: 10px;
|
39 |
+
vertical-align: top;
|
40 |
+
}
|
41 |
+
.cool-feedback-notice-wrapper .logo_container img {
|
42 |
+
width:100%;
|
43 |
+
height:auto;
|
44 |
+
}
|
45 |
+
.cool-feedback-notice-wrapper .message_container {
|
46 |
+
width: calc(100% - 120px);
|
47 |
+
display: inline-block;
|
48 |
+
margin: 0;
|
49 |
+
vertical-align: top;
|
50 |
+
}
|
51 |
+
.cool-feedback-notice-wrapper ul li {
|
52 |
+
float: left;
|
53 |
+
margin: 0px 5px;
|
54 |
+
}
|
55 |
+
.clrfix{
|
56 |
+
clear:both;
|
57 |
+
}";
|
58 |
+
|
59 |
+
_e("<style>".$twae_review_css."</style>");
|
60 |
+
|
61 |
+
add_action( 'admin_print_footer_scripts', function () {
|
62 |
+
?>
|
63 |
+
<script>
|
64 |
+
|
65 |
+
jQuery(document).ready(function ($) {
|
66 |
+
$('.twae_dismiss_notice').on('click', function (event) {
|
67 |
+
var $this = $(this);
|
68 |
+
var wrapper=$this.parents('.cool-feedback-notice-wrapper');
|
69 |
+
var ajaxURL=wrapper.data('ajax-url');
|
70 |
+
var ajaxCallback=wrapper.data('ajax-callback');
|
71 |
+
|
72 |
+
$.post(ajaxURL, { 'action':ajaxCallback }, function( data ) {
|
73 |
+
wrapper.slideUp('fast');
|
74 |
+
}, "json");
|
75 |
+
|
76 |
+
});
|
77 |
+
});
|
78 |
+
|
79 |
+
</script>
|
80 |
+
<?php
|
81 |
+
} );
|
82 |
+
|
83 |
}
|
84 |
// ajax callback for review notice
|
85 |
public function twae_dismiss_review_notice(){
|
88 |
exit;
|
89 |
}
|
90 |
// admin notice
|
91 |
+
public function twae_admin_notice_for_reviews(){
|
92 |
|
93 |
if( !current_user_can( 'update_plugins' ) ){
|
94 |
return;
|
111 |
|
112 |
// check if installation days is greator then week
|
113 |
if (isset($diff_days) && $diff_days>=3) {
|
114 |
+
echo $this->twae_create_notice_content();
|
115 |
}
|
116 |
}
|
117 |
|
118 |
// generated review notice HTML
|
119 |
+
function twae_create_notice_content(){
|
120 |
$ajax_url=admin_url( 'admin-ajax.php' );
|
121 |
$ajax_callback='twae_dismiss_notice';
|
122 |
$wrap_cls="notice notice-info is-dismissible";
|
readme.txt
CHANGED
@@ -1,49 +1,65 @@
|
|
1 |
=== Elementor Timeline Widget Addon ===
|
2 |
Contributors:narinder-singh,satindersingh,coolplugins
|
3 |
Donate link: https://paypal.me/CoolPlugins/10USD/
|
4 |
-
Tags:elementor
|
5 |
Requires at least:4.5
|
6 |
-
Tested up to:5.
|
7 |
Requires PHP:5.6
|
8 |
Stable tag:trunk
|
9 |
License:GPLv2 or later
|
10 |
License URI:http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
12 |
-
|
13 |
|
14 |
== Description ==
|
15 |
-
|
16 |
|
17 |
-
|
18 |
-
Using Timeline Widget Addon plugin you can easily create a beautiful timeline within a few minutes.It supports many advanced settings i.e story Icon, Image, label, Sublabel.
|
19 |
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
https://www.youtube.com/watch?v=dcfWYsfSjdM&feature=youtu.be
|
23 |
|
24 |
-
|
25 |
-
<ul>
|
26 |
-
<li>Two different timeline layout(Single Sided/ Both Sided).</li>
|
27 |
-
<li>Set Highlighted Year/Custom label text.</li>
|
28 |
-
<li>Add Story Date and custom label like:15 Feb | Mid,Early |Jan 01 2020, 20 Dec| end</li>
|
29 |
-
<li>Choose Font awesome Icons for your story and set custom size,color</li>
|
30 |
-
<li>Set Story title,Description,Date and Year section Color from Color settings.</li>
|
31 |
-
<li>Set elegant Typography on Story title,description,Date and year Label.</li>
|
32 |
-
</ul>
|
33 |
|
34 |
-
|
|
|
|
|
|
|
|
|
35 |
|
36 |
-
|
37 |
|
38 |
-
###
|
39 |
|
40 |
-
[Cool Timeline
|
41 |
|
42 |
-
|
|
|
|
|
|
|
|
|
|
|
43 |
|
|
|
44 |
|
45 |
-
|
|
|
|
|
46 |
|
|
|
|
|
|
|
|
|
|
|
47 |
|
48 |
== Installation ==
|
49 |
1. Install **Elementor Timeline Widget Addon** from the WordPress.org repository or by uploading plugin-zip unzipped folder to the **/wp-content/plugins** directory.
|
@@ -53,9 +69,16 @@ It is an **[Elementor Page Builder](https://wordpress.org/plugins/elementor/)**
|
|
53 |
|
54 |
== Screenshots ==
|
55 |
1. Elementor Timeline Widget Addon Preview
|
|
|
56 |
|
57 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
<strong>Version 1.0 | 14 FEB 2020</strong>
|
59 |
<pre>
|
60 |
-
New: Initial
|
61 |
</pre>
|
1 |
=== Elementor Timeline Widget Addon ===
|
2 |
Contributors:narinder-singh,satindersingh,coolplugins
|
3 |
Donate link: https://paypal.me/CoolPlugins/10USD/
|
4 |
+
Tags:timeline,elementor,elementor timeline,elementor addon,elementor widgets,addons,roadmap,steps,event,history,storytelling
|
5 |
Requires at least:4.5
|
6 |
+
Tested up to:5.5
|
7 |
Requires PHP:5.6
|
8 |
Stable tag:trunk
|
9 |
License:GPLv2 or later
|
10 |
License URI:http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
12 |
+
Elementor timeline widget addon will showcase your company history or life story in a vertical or horizontal timeline layout.
|
13 |
|
14 |
== Description ==
|
15 |
+
### ⏳ Vertical & Horizontal Timeline For Elementor
|
16 |
|
17 |
+
Showcase your story or life history in precise and elegant way using powerful and advance **Timeline Widget Addon for Elementor**.
|
|
|
18 |
|
19 |
+
Using this elementor addon you can create a beautiful timeline with a few clicks. It supports 3 timeline layouts:-
|
20 |
+
|
21 |
+
* Vertical Timeline
|
22 |
+
* Horizontal Timeline
|
23 |
+
* One Sided Timeline (Vertical)
|
24 |
+
|
25 |
+
These layouts also support advance settings and you can easily manage colors, icons, images and content inside your timeline story.
|
26 |
+
|
27 |
+
**[⭐ View Demo](https://cooltimeline.com/timeline-widget-demo)**
|
28 |
|
29 |
https://www.youtube.com/watch?v=dcfWYsfSjdM&feature=youtu.be
|
30 |
|
31 |
+
### 🌟 Timeline Widget Features
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
|
33 |
+
* 3 timeline layouts:- Vertical, Horizontal & Vertical One-sided.
|
34 |
+
* Easily manage timeline colors and add icons inside timeline.
|
35 |
+
* Add story date/year or custom text as per your requirements.
|
36 |
+
* Manage typography of story title, description and other fonts.
|
37 |
+
* Add image inside your timeline story.
|
38 |
|
39 |
+
It is an **[Elementor Page Builder](https://wordpress.org/plugins/elementor/)** Addon. In order to use this elementor addon you must have to install **[Elementor Page Builder](https://wordpress.org/plugins/elementor/)**.
|
40 |
|
41 |
+
### 😎 Who's Behind?
|
42 |
|
43 |
+
This addon has been developed by [Cool Timeline](https://cooltimeline.com) plugin developers. **[Cool Plugins](https://coolplugins.net)**, A team of experienced WordPress plugin developers.
|
44 |
|
45 |
+
* 7+ years WordPress plugin development experience.
|
46 |
+
* 20+ free and premium WordPress plugins released.
|
47 |
+
* 400000+ plugins downloads.
|
48 |
+
* 70K+ active websites are using our plugins.
|
49 |
+
|
50 |
+
**📌 Cool Timeline - #1 Timeline Plugin (200000+ Downloads)**
|
51 |
|
52 |
+
Cool Timeline is a responsive WordPress timeline plugin based on WordPress post-type system. It works inside any theme or page builder using these simple steps:-
|
53 |
|
54 |
+
1. Create stories one-by-one inside **Timeline Stories** post-type (similar like you submit a blog-post).
|
55 |
+
2. Now open any page or create new page and add timeline shortcode on it - [cool-timeline].
|
56 |
+
3. You can showcase your timeline in horizontal or vertical layout with 20+ different designs and custom colors.
|
57 |
|
58 |
+
Cool Timeline automatically showcase timeline stories post-type posts in any ASC or DESC order, based on the year and date of stories.
|
59 |
+
|
60 |
+
**[⭐ Cool Timeline Pro Demo](https://cooltimeline.com/demo/) | [⭐ Cool Timeline Free Demo](https://free.cooltimeline.com)**
|
61 |
+
|
62 |
+
You can show your stories, events, appointments, concerts, future & history happenings by using **Cool Timeline plugin** on your website.
|
63 |
|
64 |
== Installation ==
|
65 |
1. Install **Elementor Timeline Widget Addon** from the WordPress.org repository or by uploading plugin-zip unzipped folder to the **/wp-content/plugins** directory.
|
69 |
|
70 |
== Screenshots ==
|
71 |
1. Elementor Timeline Widget Addon Preview
|
72 |
+
1. Elementor Timeline Widget Addon Horizontal Layout Preview
|
73 |
|
74 |
== Changelog ==
|
75 |
+
<strong>Version 1.1 | 07 JUL 2020</strong>
|
76 |
+
<pre>
|
77 |
+
New: Horizontal timeline layout added.
|
78 |
+
Improved: Default styles & CSS.
|
79 |
+
</pre>
|
80 |
+
|
81 |
<strong>Version 1.0 | 14 FEB 2020</strong>
|
82 |
<pre>
|
83 |
+
New: Initial plugin release.
|
84 |
</pre>
|
timeline-widget-addon-for-elementor.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Timeline Widget Addon For Elementor
|
4 |
* Description: Timeline Widget Addon For Elementor create a beautiful timeline in page and post.
|
5 |
* Plugin URI: https://coolplugins.net
|
6 |
-
* Version: 1.
|
7 |
* Author: Cool Plugins
|
8 |
* Author URI: https://coolplugins.net/
|
9 |
* Text Domain: twae
|
@@ -18,7 +18,7 @@ if (defined('TWAE_VERSION')) {
|
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
-
define('TWAE_VERSION', '1.
|
22 |
define('TWAE_FILE', __FILE__);
|
23 |
define('TWAE_PATH', plugin_dir_path(TWAE_FILE));
|
24 |
define('TWAE_URL', plugin_dir_url(TWAE_FILE));
|
3 |
* Plugin Name: Timeline Widget Addon For Elementor
|
4 |
* Description: Timeline Widget Addon For Elementor create a beautiful timeline in page and post.
|
5 |
* Plugin URI: https://coolplugins.net
|
6 |
+
* Version: 1.1
|
7 |
* Author: Cool Plugins
|
8 |
* Author URI: https://coolplugins.net/
|
9 |
* Text Domain: twae
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
+
define('TWAE_VERSION', '1.1');
|
22 |
define('TWAE_FILE', __FILE__);
|
23 |
define('TWAE_PATH', plugin_dir_path(TWAE_FILE));
|
24 |
define('TWAE_URL', plugin_dir_url(TWAE_FILE));
|
widgets/editor-layouts/horizontal-template.php
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div id="twae-horizontal-wrapper" class="twae-wrapper twae-horizontal swiper-container" data-slidestoshow = "{{{sidesToShow}}}" data-autoplay="{{{autoplay}}}">
|
2 |
+
<div class="twae-horizontal-timeline swiper-wrapper">
|
3 |
+
<#
|
4 |
+
_.each( settings.twae_list, function( item, index ) {
|
5 |
+
var timeline_image = {
|
6 |
+
id: item.twae_image.id,
|
7 |
+
url: item.twae_image.url,
|
8 |
+
size: item.twae_thumbnail_size,
|
9 |
+
dimension: item.twae_thumbnail_custom_dimension,
|
10 |
+
model: view.getEditModel()
|
11 |
+
};
|
12 |
+
var image_url = elementor.imagesManager.getImageUrl( timeline_image );
|
13 |
+
twaeiconHTML = elementor.helpers.renderIcon( view, item.twae_story_icon, { 'aria-hidden': true }, 'i' , 'object' ),
|
14 |
+
|
15 |
+
#>
|
16 |
+
<div class="swiper-slide {{{sidesHeight}}}">
|
17 |
+
|
18 |
+
<#
|
19 |
+
if(item.twae_show_year_label == 'yes'){
|
20 |
+
#>
|
21 |
+
<div class="twae-year-container">
|
22 |
+
<span class="twae-year-label twae-year">{{{ item.twae_year }}}</span>
|
23 |
+
</div>
|
24 |
+
<#
|
25 |
+
}
|
26 |
+
#>
|
27 |
+
<div class="twae-label-extra-label"><div>
|
28 |
+
<span class="twae-label">{{{ item.twae_date_label }}}</span>
|
29 |
+
<span class="twae-extra-label">{{{ item.twae_extra_label }}}</span>
|
30 |
+
</div></div>
|
31 |
+
<div class="twae-bg-orange twae-icon">
|
32 |
+
<# if ( twaeiconHTML && twaeiconHTML.rendered ) { #>
|
33 |
+
{{{ twaeiconHTML.value }}}
|
34 |
+
<# } else { #>
|
35 |
+
<i class="{{ item.twae_story_icon.value }}" aria-hidden="true"></i>
|
36 |
+
<# } #>
|
37 |
+
|
38 |
+
</div>
|
39 |
+
<div class="twae-story-info">
|
40 |
+
<div class="twae-timeline-img"><img src="{{{ image_url }}}" /></div>
|
41 |
+
<span class="twae-title">{{{ item.twae_story_title}}}</span>
|
42 |
+
<div class="twae-description">{{{ item.twae_description }}}</div>
|
43 |
+
</div>
|
44 |
+
</div>
|
45 |
+
<#
|
46 |
+
});
|
47 |
+
#>
|
48 |
+
</div>
|
49 |
+
<!-- Add Pagination -->
|
50 |
+
<div class="twae-pagination"></div>
|
51 |
+
<!-- Add Arrows -->
|
52 |
+
|
53 |
+
<div class="twae-button-prev twae-icon-left-open-big"></div>
|
54 |
+
<div class="twae-button-next twae-icon-right-open-big"></div>
|
55 |
+
</div>
|
56 |
+
|
widgets/editor-layouts/vertical-template.php
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<#
|
2 |
+
var countItem = 1;
|
3 |
+
var timeline_layout = '';
|
4 |
+
var timeline_layout_wrapper = 'twae-centered';
|
5 |
+
if(settings.twae_layout == 'one-sided'){
|
6 |
+
var timeline_layout = "twae-one-sided-timeline";
|
7 |
+
var timeline_layout_wrapper = 'twae-one-sided-wrapper';
|
8 |
+
}
|
9 |
+
#>
|
10 |
+
<div class="twae-vertical twae-wrapper {{{ timeline_layout_wrapper }}}">
|
11 |
+
<div class="twae-timeline-centered twae-timeline-sm twae-line {{{ timeline_layout }}}">
|
12 |
+
<#
|
13 |
+
_.each( settings.twae_list, function( item, index ) {
|
14 |
+
var timeline_image = {
|
15 |
+
id: item.twae_image.id,
|
16 |
+
url: item.twae_image.url,
|
17 |
+
size: item.twae_thumbnail_size,
|
18 |
+
dimension: item.twae_thumbnail_custom_dimension,
|
19 |
+
model: view.getEditModel()
|
20 |
+
};
|
21 |
+
var image_url = elementor.imagesManager.getImageUrl( timeline_image );
|
22 |
+
|
23 |
+
if(item.twae_show_year_label == 'yes'){
|
24 |
+
#>
|
25 |
+
<span class="twae-year-container">
|
26 |
+
<span class="twae-year-label twae-year">{{{ item.twae_year }}}</span>
|
27 |
+
</span>
|
28 |
+
<#
|
29 |
+
}
|
30 |
+
var story_alignment = "twae-right-aligned";
|
31 |
+
if(settings.twae_layout == 'centered'){
|
32 |
+
|
33 |
+
if ( countItem % 2 == 0) {
|
34 |
+
var story_alignment = "twae-left-aligned";
|
35 |
+
}
|
36 |
+
}
|
37 |
+
twaeiconHTML = elementor.helpers.renderIcon( view, item.twae_story_icon, { 'aria-hidden': true }, 'i' , 'object' ),
|
38 |
+
|
39 |
+
#>
|
40 |
+
<article class="twae-timeline-entry {{{ story_alignment }}}">
|
41 |
+
<div class="twae-timeline-entry-inner">
|
42 |
+
<time class="twae-label-extra-label">
|
43 |
+
<span class="twae-label">{{{ item.twae_date_label }}}</span>
|
44 |
+
<span class="twae-extra-label">{{{ item.twae_extra_label }}}</span>
|
45 |
+
</time>
|
46 |
+
<div class="twae-bg-orange twae-icon">
|
47 |
+
<# if ( twaeiconHTML && twaeiconHTML.rendered ) { #>
|
48 |
+
{{{ twaeiconHTML.value }}}
|
49 |
+
<# } else { #>
|
50 |
+
<i class="{{ item.twae_story_icon.value }}" aria-hidden="true"></i>
|
51 |
+
<# } #>
|
52 |
+
|
53 |
+
</div>
|
54 |
+
<div class="twae-bg-orange twae-data-container">
|
55 |
+
<span class="twae-title">{{{ item.twae_story_title}}}</span>
|
56 |
+
<div class="twae-timeline-img"><img src="{{{ image_url }}}" /></div>
|
57 |
+
<div class="twae-description">{{{ item.twae_description }}}</div>
|
58 |
+
</div>
|
59 |
+
</div>
|
60 |
+
</article>
|
61 |
+
<#
|
62 |
+
countItem = countItem+1;
|
63 |
+
});
|
64 |
+
#>
|
65 |
+
</div>
|
66 |
+
</div>
|
widgets/frontend-layouts/twae-centered-timeline.php
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
echo '
|
3 |
+
<div class="twae-vertical twae-wrapper '.esc_attr($timeline_layout_wrapper).'">
|
4 |
+
<div class="twae-timeline-centered twae-timeline-sm twae-line '.esc_attr($timeline_layout).'">';
|
5 |
+
if(is_array($data)){
|
6 |
+
foreach($data as $index=>$content){
|
7 |
+
$left_aligned = "twae-right-aligned";
|
8 |
+
if($layout == 'centered'){
|
9 |
+
if($countItem % 2 == 0){
|
10 |
+
$left_aligned = "twae-left-aligned";
|
11 |
+
}
|
12 |
+
}
|
13 |
+
$timeline_description = $content['twae_description'];
|
14 |
+
$show_year_label = esc_html($content['twae_show_year_label']);
|
15 |
+
$timeline_year = esc_html($content['twae_year']);
|
16 |
+
$story_date_label = esc_html($content['twae_date_label']);
|
17 |
+
$story_extra_label = esc_html($content['twae_extra_label']);
|
18 |
+
$timeline_story_title = esc_html($content['twae_story_title']);
|
19 |
+
$story_icon = $content['twae_story_icon']['value'];
|
20 |
+
$thumbnail_size = $content['twae_thumbnail_size'];
|
21 |
+
$thumbnail_custom_dimension = $content['twae_thumbnail_custom_dimension'];
|
22 |
+
|
23 |
+
if($content['twae_image']['id']!=""){
|
24 |
+
if($thumbnail_size =='custom'){
|
25 |
+
$custom_size = array ( $thumbnail_custom_dimension['width'],$thumbnail_custom_dimension['height']);
|
26 |
+
$image= wp_get_attachment_image($content['twae_image']['id'], $custom_size , true);
|
27 |
+
|
28 |
+
}
|
29 |
+
else{
|
30 |
+
$image= wp_get_attachment_image($content['twae_image']['id'],$thumbnail_size, true);
|
31 |
+
}
|
32 |
+
$image = '<div class="twae-timeline-img">'.$image.'</div>';
|
33 |
+
}else if($content['twae_image']['url']!=""){
|
34 |
+
$image = '<div class="twae-timeline-img"><img src="'.$content['twae_image']['url'].'"></img></div>';
|
35 |
+
}
|
36 |
+
else{
|
37 |
+
$image ='';
|
38 |
+
}
|
39 |
+
|
40 |
+
if($show_year_label == 'yes'){
|
41 |
+
echo '<span class="twae-year-container">
|
42 |
+
<span class="twae-year-label twae-year">'.$timeline_year.'</span>
|
43 |
+
</span>';
|
44 |
+
}
|
45 |
+
|
46 |
+
echo '<article class="twae-timeline-entry '.esc_attr($left_aligned).'">
|
47 |
+
<div class="twae-timeline-entry-inner">
|
48 |
+
<time class="twae-label-extra-label">
|
49 |
+
<span class="twae-label">'.$story_date_label.'</span>
|
50 |
+
<span class="twae-extra-label">'.$story_extra_label.'</span>
|
51 |
+
</time>
|
52 |
+
<div class="twae-bg-orange twae-icon">';
|
53 |
+
\Elementor\Icons_Manager::render_icon( $content['twae_story_icon'], [ 'aria-hidden' => 'true' ] );
|
54 |
+
echo'</div>
|
55 |
+
<div class="twae-bg-orange twae-data-container">
|
56 |
+
<span class="twae-title">'.$timeline_story_title.'</span>
|
57 |
+
'.$image.'
|
58 |
+
<div class="twae-description">'.$timeline_description.'</div>
|
59 |
+
</div>
|
60 |
+
</div>
|
61 |
+
</article>';
|
62 |
+
$countItem = $countItem +1;
|
63 |
+
}
|
64 |
+
}
|
65 |
+
echo'</div></div>';
|
widgets/frontend-layouts/twae-horizontal-timeline.php
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$sidesToShow = isset($settings['twae_slides_to_show'])
|
3 |
+
&& !empty($settings['twae_slides_to_show'])?$settings['twae_slides_to_show']:2;
|
4 |
+
|
5 |
+
echo '<div id="twae-horizontal-wrapper" class="twae-wrapper twae-horizontal swiper-container" data-slidestoshow = "'.esc_attr($sidesToShow).'" data-autoplay="'.esc_attr($autoplay).'">
|
6 |
+
<div class="twae-horizontal-timeline swiper-wrapper">';
|
7 |
+
if(is_array($data)){
|
8 |
+
foreach($data as $index=>$content){
|
9 |
+
|
10 |
+
$timeline_description = $content['twae_description'];
|
11 |
+
$show_year_label = esc_html($content['twae_show_year_label']);
|
12 |
+
$timeline_year = esc_html($content['twae_year']);
|
13 |
+
$story_date_label = esc_html($content['twae_date_label']);
|
14 |
+
$story_extra_label = esc_html($content['twae_extra_label']);
|
15 |
+
$timeline_story_title = esc_html($content['twae_story_title']);
|
16 |
+
$story_icon = $content['twae_story_icon']['value'];
|
17 |
+
$thumbnail_size = $content['twae_thumbnail_size'];
|
18 |
+
$thumbnail_custom_dimension = $content['twae_thumbnail_custom_dimension'];
|
19 |
+
|
20 |
+
if($content['twae_image']['id']!=""){
|
21 |
+
if($thumbnail_size =='custom'){
|
22 |
+
$custom_size = array ( $thumbnail_custom_dimension['width'],$thumbnail_custom_dimension['height']);
|
23 |
+
$image= wp_get_attachment_image($content['twae_image']['id'], $custom_size , true);
|
24 |
+
|
25 |
+
}
|
26 |
+
else{
|
27 |
+
$image= wp_get_attachment_image($content['twae_image']['id'],$thumbnail_size, true);
|
28 |
+
}
|
29 |
+
$image = ' <div class="twae-timeline-img">'.$image.'</div>';
|
30 |
+
}else if($content['twae_image']['url']!=""){
|
31 |
+
$image = '<div class="twae-timeline-img"><img src="'.$content['twae_image']['url'].'"></img></div>';
|
32 |
+
}
|
33 |
+
else{
|
34 |
+
$image ='';
|
35 |
+
}
|
36 |
+
|
37 |
+
echo '<div class="swiper-slide '.esc_attr($sidesHeight).'">';
|
38 |
+
if($show_year_label == 'yes'){
|
39 |
+
echo '<div class="twae-year-container">
|
40 |
+
<span class="twae-year-label twae-year">'.$timeline_year.'</span>
|
41 |
+
</div>';
|
42 |
+
}
|
43 |
+
echo '<div class="twae-label-extra-label"><div>
|
44 |
+
<span class="twae-label">'.$story_date_label.'</span>
|
45 |
+
<span class="twae-extra-label">'.$story_extra_label.'</span>
|
46 |
+
</div></div>
|
47 |
+
<div class="twae-bg-orange twae-icon">';
|
48 |
+
\Elementor\Icons_Manager::render_icon( $content['twae_story_icon'], [ 'aria-hidden' => 'true' ] );
|
49 |
+
echo'</div>';
|
50 |
+
echo '<div class="twae-story-info">
|
51 |
+
'.$image.'
|
52 |
+
<span class="twae-title">'.$timeline_story_title.'</span>
|
53 |
+
<div class="twae-description">'.$timeline_description.'</div>
|
54 |
+
</div>
|
55 |
+
</div>';
|
56 |
+
}
|
57 |
+
}
|
58 |
+
echo ' </div>
|
59 |
+
<!-- Add Pagination -->
|
60 |
+
<div class="twae-pagination"></div>
|
61 |
+
<!-- Add Arrows -->
|
62 |
+
<div class="twae-button-prev twae-icon-left-open-big"></div>
|
63 |
+
<div class="twae-button-next twae-icon-right-open-big"></div>
|
64 |
+
</div>';
|
65 |
+
|
66 |
+
|
67 |
+
|
68 |
+
|
widgets/twae-widget.php
CHANGED
@@ -11,6 +11,7 @@ use Elementor\Scheme_Typography;
|
|
11 |
|
12 |
class TWAE_Widget extends \Elementor\Widget_Base {
|
13 |
|
|
|
14 |
public function get_name() {
|
15 |
return 'timeline-widget-addon';
|
16 |
}
|
@@ -46,10 +47,63 @@ class TWAE_Widget extends \Elementor\Widget_Base {
|
|
46 |
'options'=>[
|
47 |
'centered'=>'Centered',
|
48 |
'one-sided'=>'One Sided',
|
|
|
49 |
],
|
50 |
'default' => 'centered',
|
51 |
]
|
52 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
|
54 |
$this->end_controls_section();
|
55 |
|
@@ -62,64 +116,103 @@ class TWAE_Widget extends \Elementor\Widget_Base {
|
|
62 |
]
|
63 |
);
|
64 |
|
|
|
|
|
65 |
$this->add_group_control(
|
66 |
Group_Control_Typography::get_type(),
|
67 |
[
|
68 |
'name' => 'twae_year_typography',
|
69 |
'label' => __( 'Year Typography', 'twae' ),
|
70 |
'scheme' => Scheme_Typography::TYPOGRAPHY_1,
|
|
|
71 |
'fields_options' => [
|
72 |
-
//
|
73 |
-
'
|
74 |
-
|
75 |
-
|
76 |
-
]
|
77 |
-
'font_size' => [ 'default' => [ 'unit' => 'px', 'size' => 18 ] ]
|
78 |
],
|
79 |
-
'selector' => '{{WRAPPER}} .twae-wrapper .twae-year',
|
80 |
]
|
81 |
);
|
82 |
|
|
|
|
|
83 |
$this->add_group_control(
|
84 |
Group_Control_Typography::get_type(),
|
85 |
[
|
86 |
-
'name' => '
|
87 |
-
'label' => __( 'Story
|
88 |
'scheme' => Scheme_Typography::TYPOGRAPHY_1,
|
89 |
-
'selector' => '{{WRAPPER}} .twae-wrapper span.twae-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
]
|
91 |
);
|
92 |
|
|
|
|
|
93 |
$this->add_group_control(
|
94 |
Group_Control_Typography::get_type(),
|
95 |
[
|
96 |
-
'name' => '
|
97 |
-
'label' => __( 'Story Label Typography', 'twae' ),
|
98 |
'scheme' => Scheme_Typography::TYPOGRAPHY_1,
|
99 |
-
'selector' => '{{WRAPPER}} .twae-wrapper .twae-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
]
|
101 |
);
|
102 |
|
|
|
|
|
103 |
$this->add_group_control(
|
104 |
Group_Control_Typography::get_type(),
|
105 |
[
|
106 |
-
'name' => '
|
107 |
-
'label' => __( 'Story
|
108 |
'scheme' => Scheme_Typography::TYPOGRAPHY_1,
|
109 |
-
'selector' => '{{WRAPPER}} .twae-wrapper span.twae-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
]
|
111 |
);
|
112 |
|
|
|
|
|
113 |
$this->add_group_control(
|
114 |
Group_Control_Typography::get_type(),
|
115 |
[
|
116 |
'name' => 'twae_description_typography',
|
117 |
'label' => __( 'Story Description Typography', 'twae' ),
|
118 |
-
'scheme' => Scheme_Typography::
|
119 |
'selector' => '{{WRAPPER}} .twae-wrapper .twae-description',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
]
|
121 |
);
|
122 |
|
|
|
|
|
123 |
$this->add_control(
|
124 |
'twae_icon_size',
|
125 |
[
|
@@ -127,8 +220,8 @@ class TWAE_Widget extends \Elementor\Widget_Base {
|
|
127 |
'type' => Controls_Manager::SLIDER,
|
128 |
'range' => [
|
129 |
'px' => [
|
130 |
-
'min' =>
|
131 |
-
'max' =>
|
132 |
],
|
133 |
],
|
134 |
'default' => [
|
@@ -176,7 +269,7 @@ class TWAE_Widget extends \Elementor\Widget_Base {
|
|
176 |
'selectors' => [
|
177 |
'{{WRAPPER}} .twae-wrapper .twae-year' => 'color: {{twae_year_label_color}}',
|
178 |
],
|
179 |
-
'default' => '#
|
180 |
]
|
181 |
);
|
182 |
|
@@ -192,7 +285,7 @@ class TWAE_Widget extends \Elementor\Widget_Base {
|
|
192 |
'selectors' => [
|
193 |
'{{WRAPPER}} .twae-wrapper .twae-year' => 'background-color: {{twae_year_label_bgcolor}}',
|
194 |
],
|
195 |
-
'default' => '#
|
196 |
]
|
197 |
);
|
198 |
|
@@ -208,7 +301,7 @@ class TWAE_Widget extends \Elementor\Widget_Base {
|
|
208 |
'selectors' => [
|
209 |
'{{WRAPPER}} .twae-wrapper span.twae-label' => 'color: {{twae_date_label_color}}',
|
210 |
],
|
211 |
-
'default' => '#
|
212 |
]
|
213 |
);
|
214 |
|
@@ -224,7 +317,7 @@ class TWAE_Widget extends \Elementor\Widget_Base {
|
|
224 |
'selectors' => [
|
225 |
'{{WRAPPER}} .twae-wrapper span.twae-extra-label' => 'color: {{twae_extra_label_color}}',
|
226 |
],
|
227 |
-
'default' => '#
|
228 |
]
|
229 |
);
|
230 |
|
@@ -239,8 +332,9 @@ class TWAE_Widget extends \Elementor\Widget_Base {
|
|
239 |
],
|
240 |
'selectors' => [
|
241 |
'{{WRAPPER}} .twae-wrapper .twae-data-container span.twae-title' => 'color: {{twae_story_title_color}}',
|
|
|
242 |
],
|
243 |
-
'default' => '#
|
244 |
]
|
245 |
);
|
246 |
|
@@ -272,11 +366,14 @@ class TWAE_Widget extends \Elementor\Widget_Base {
|
|
272 |
'selectors' => [
|
273 |
'{{WRAPPER}} .twae-wrapper .twae-line::before' => 'background-color: {{twae_line_color}}',
|
274 |
'{{WRAPPER}} .twae-wrapper .twae-timeline-centered .twae-icon' => 'border-color: {{twae_line_color}}',
|
275 |
-
'{{WRAPPER}} .twae-wrapper .twae-timeline-centered .twae-year' => 'border-color: {{twae_line_color}}
|
276 |
-
'{{WRAPPER}} .twae-wrapper
|
277 |
-
'
|
|
|
|
|
|
|
278 |
],
|
279 |
-
'default' => '#
|
280 |
]
|
281 |
);
|
282 |
|
@@ -291,8 +388,14 @@ class TWAE_Widget extends \Elementor\Widget_Base {
|
|
291 |
],
|
292 |
'selectors' => [
|
293 |
'{{WRAPPER}} .twae-wrapper .twae-icon' => 'background-color: {{twae_icon_bgcolor}}',
|
|
|
|
|
|
|
|
|
|
|
|
|
294 |
],
|
295 |
-
'default' => '#
|
296 |
]
|
297 |
);
|
298 |
|
@@ -307,10 +410,10 @@ class TWAE_Widget extends \Elementor\Widget_Base {
|
|
307 |
],
|
308 |
'selectors' => [
|
309 |
'{{WRAPPER}} .twae-wrapper .twae-data-container' => 'background-color: {{twae_story_bgcolor}}',
|
310 |
-
'{{WRAPPER}} .twae-wrapper .twae-data-container:after' => 'border-right-color: {{twae_story_bgcolor}}',
|
311 |
'{{WRAPPER}} .twae-wrapper .twae-icon' => 'color: {{twae_icon_bgcolor}}',
|
|
|
312 |
],
|
313 |
-
'default' => '#
|
314 |
|
315 |
]
|
316 |
);
|
@@ -335,7 +438,7 @@ class TWAE_Widget extends \Elementor\Widget_Base {
|
|
335 |
'label_on' => __( 'Show', 'twae' ),
|
336 |
'label_off' => __( 'Hide', 'twae' ),
|
337 |
'return_value' => 'yes',
|
338 |
-
'default' => '
|
339 |
]
|
340 |
);
|
341 |
|
@@ -381,6 +484,26 @@ class TWAE_Widget extends \Elementor\Widget_Base {
|
|
381 |
]
|
382 |
);
|
383 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
384 |
$repeater->add_control(
|
385 |
'twae_description',
|
386 |
[
|
@@ -402,26 +525,6 @@ class TWAE_Widget extends \Elementor\Widget_Base {
|
|
402 |
]
|
403 |
);
|
404 |
|
405 |
-
$repeater->add_control(
|
406 |
-
'twae_image',
|
407 |
-
[
|
408 |
-
'label' => __( 'Choose Image', 'twae' ),
|
409 |
-
'type' => \Elementor\Controls_Manager::MEDIA,
|
410 |
-
'description' => __('Image Size will not work with default image','twae'),
|
411 |
-
'default' => [
|
412 |
-
'url' => \Elementor\Utils::get_placeholder_image_src(),
|
413 |
-
],
|
414 |
-
]
|
415 |
-
);
|
416 |
-
|
417 |
-
$repeater->add_group_control(
|
418 |
-
Group_Control_Image_Size::get_type(),
|
419 |
-
[
|
420 |
-
'name' => 'twae_thumbnail', // Usage: `{name}_size` and `{name}_custom_dimension`, in this case `thumbnail_size` and `thumbnail_custom_dimension`.
|
421 |
-
'separator' => 'none',
|
422 |
-
]
|
423 |
-
);
|
424 |
-
|
425 |
$this->add_control(
|
426 |
'twae_list',
|
427 |
[
|
@@ -473,11 +576,14 @@ class TWAE_Widget extends \Elementor\Widget_Base {
|
|
473 |
|
474 |
}
|
475 |
|
|
|
476 |
protected function render() {
|
477 |
|
478 |
$settings = $this->get_settings_for_display();
|
479 |
$data = $settings['twae_list'];
|
480 |
$layout = $settings['twae_layout'];
|
|
|
|
|
481 |
|
482 |
$timeline_layout_wrapper = "twae-centered";
|
483 |
$timeline_layout = '';
|
@@ -487,89 +593,54 @@ class TWAE_Widget extends \Elementor\Widget_Base {
|
|
487 |
}
|
488 |
|
489 |
$countItem = 1;
|
490 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
491 |
|
492 |
}
|
493 |
|
494 |
-
|
495 |
-
|
496 |
|
497 |
?>
|
498 |
-
|
499 |
-
if( settings.twae_list ) {
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
#>
|
510 |
-
<div class="twae-wrapper {{{ timeline_layout_wrapper }}}">
|
511 |
-
<div class="twae-timeline-centered twae-timeline-sm twae-line {{{ timeline_layout }}}">
|
512 |
-
<#
|
513 |
-
_.each( settings.twae_list, function( item, index ) {
|
514 |
-
var timeline_image = {
|
515 |
-
id: item.twae_image.id,
|
516 |
-
url: item.twae_image.url,
|
517 |
-
size: item.twae_thumbnail_size,
|
518 |
-
dimension: item.twae_thumbnail_custom_dimension,
|
519 |
-
model: view.getEditModel()
|
520 |
-
};
|
521 |
-
var image_url = elementor.imagesManager.getImageUrl( timeline_image );
|
522 |
-
|
523 |
-
if(item.twae_show_year_label == 'yes'){
|
524 |
-
#>
|
525 |
-
<span class="twae-year-container">
|
526 |
-
<span class="twae-year-label twae-year">{{{ item.twae_year }}}</span>
|
527 |
-
</span>
|
528 |
-
<#
|
529 |
-
}
|
530 |
-
var story_alignment = "twae-right-aligned";
|
531 |
-
if(settings.twae_layout == 'centered'){
|
532 |
-
|
533 |
-
if ( countItem % 2 == 0) {
|
534 |
-
var story_alignment = "twae-left-aligned";
|
535 |
-
}
|
536 |
-
}
|
537 |
-
twaeiconHTML = elementor.helpers.renderIcon( view, item.twae_story_icon, { 'aria-hidden': true }, 'i' , 'object' ),
|
538 |
-
|
539 |
-
#>
|
540 |
-
<article class="twae-timeline-entry {{{ story_alignment }}}">
|
541 |
-
<div class="twae-timeline-entry-inner">
|
542 |
-
<time class="twae-label-extra-label">
|
543 |
-
<span class="twae-label">{{{ item.twae_date_label }}}</span>
|
544 |
-
<span class="twae-extra-label">{{{ item.twae_extra_label }}}</span>
|
545 |
-
</time>
|
546 |
-
<div class="twae-bg-orange twae-icon">
|
547 |
-
<# if ( twaeiconHTML && twaeiconHTML.rendered ) { #>
|
548 |
-
{{{ twaeiconHTML.value }}}
|
549 |
-
<# } else { #>
|
550 |
-
<i class="{{ item.twae_story_icon.value }}" aria-hidden="true"></i>
|
551 |
-
<# } #>
|
552 |
-
|
553 |
-
</div>
|
554 |
-
<div class="twae-bg-orange twae-data-container">
|
555 |
-
<span class="twae-title">{{{ item.twae_story_title}}}</span>
|
556 |
-
<div class="twae-timeline-img"><img src="{{{ image_url }}}" /></div>
|
557 |
-
<div class="twae-description">{{{ item.twae_description }}}</div>
|
558 |
-
</div>
|
559 |
-
</div>
|
560 |
-
</article>
|
561 |
-
<#
|
562 |
-
countItem = countItem+1;
|
563 |
-
});
|
564 |
#>
|
565 |
-
|
566 |
-
|
567 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
568 |
}
|
|
|
569 |
#>
|
570 |
<?php
|
571 |
-
|
|
|
572 |
|
573 |
}
|
574 |
|
575 |
\Elementor\Plugin::instance()->widgets_manager->register_widget_type( new TWAE_Widget() );
|
|
11 |
|
12 |
class TWAE_Widget extends \Elementor\Widget_Base {
|
13 |
|
14 |
+
|
15 |
public function get_name() {
|
16 |
return 'timeline-widget-addon';
|
17 |
}
|
47 |
'options'=>[
|
48 |
'centered'=>'Centered',
|
49 |
'one-sided'=>'One Sided',
|
50 |
+
'horizontal'=>'Horizontal',
|
51 |
],
|
52 |
'default' => 'centered',
|
53 |
]
|
54 |
);
|
55 |
+
|
56 |
+
$this->add_control(
|
57 |
+
'twae_slides_to_show',
|
58 |
+
[
|
59 |
+
'label' => __( 'Slides To Show', 'twae' ),
|
60 |
+
'type' => \Elementor\Controls_Manager::TEXT,
|
61 |
+
'default' => '2',
|
62 |
+
'condition' => [
|
63 |
+
'twae_layout' => [
|
64 |
+
'horizontal'
|
65 |
+
],
|
66 |
+
]
|
67 |
+
]
|
68 |
+
);
|
69 |
+
|
70 |
+
$this->add_control(
|
71 |
+
'twae_slides_height',
|
72 |
+
[
|
73 |
+
'label' => __( 'Equal Height Slides', 'twae' ),
|
74 |
+
'description' => __('Make all slides the same height based on the tallest slide','twae'),
|
75 |
+
'type' => \Elementor\Controls_Manager::SELECT,
|
76 |
+
'default' => 'no-height',
|
77 |
+
'options'=>[
|
78 |
+
'auto-height'=>'Yes',
|
79 |
+
'no-height'=>'No',
|
80 |
+
],
|
81 |
+
'condition' => [
|
82 |
+
'twae_layout' => [
|
83 |
+
'horizontal'
|
84 |
+
],
|
85 |
+
]
|
86 |
+
]
|
87 |
+
);
|
88 |
+
|
89 |
+
$this->add_control(
|
90 |
+
'twae_autoplay',
|
91 |
+
[
|
92 |
+
'label' => __( 'Autoplay', 'twae' ),
|
93 |
+
'type' => \Elementor\Controls_Manager::SELECT,
|
94 |
+
'default' => 'false',
|
95 |
+
'options'=>[
|
96 |
+
'true'=>'True',
|
97 |
+
'false'=>'False',
|
98 |
+
],
|
99 |
+
'condition' => [
|
100 |
+
'twae_layout' => [
|
101 |
+
'horizontal'
|
102 |
+
],
|
103 |
+
]
|
104 |
+
]
|
105 |
+
);
|
106 |
+
|
107 |
|
108 |
$this->end_controls_section();
|
109 |
|
116 |
]
|
117 |
);
|
118 |
|
119 |
+
|
120 |
+
/*---- Year Label ----*/
|
121 |
$this->add_group_control(
|
122 |
Group_Control_Typography::get_type(),
|
123 |
[
|
124 |
'name' => 'twae_year_typography',
|
125 |
'label' => __( 'Year Typography', 'twae' ),
|
126 |
'scheme' => Scheme_Typography::TYPOGRAPHY_1,
|
127 |
+
'selector' => '{{WRAPPER}} .twae-wrapper .twae-year',
|
128 |
'fields_options' => [
|
129 |
+
// first mimic the click on Typography edit icon
|
130 |
+
'typography' => ['default' => 'yes'],
|
131 |
+
// then redifine the Elementor defaults
|
132 |
+
'font_size' => ['default' => [ 'unit' => 'px', 'size' => 16 ]],
|
133 |
+
'font_weight' => ['default' => 'bold']
|
|
|
134 |
],
|
|
|
135 |
]
|
136 |
);
|
137 |
|
138 |
+
|
139 |
+
/*---- Date / Custom Label ----*/
|
140 |
$this->add_group_control(
|
141 |
Group_Control_Typography::get_type(),
|
142 |
[
|
143 |
+
'name' => 'twae_label_typography',
|
144 |
+
'label' => __( 'Story Label Typography', 'twae' ),
|
145 |
'scheme' => Scheme_Typography::TYPOGRAPHY_1,
|
146 |
+
'selector' => '{{WRAPPER}} .twae-wrapper span.twae-label',
|
147 |
+
'fields_options' => [
|
148 |
+
// first mimic the click on Typography edit icon
|
149 |
+
'typography' => ['default' => 'yes'],
|
150 |
+
// then redifine the Elementor defaults
|
151 |
+
'font_size' => ['default' => [ 'unit' => 'px', 'size' => 20 ]],
|
152 |
+
'font_weight' => ['default' => 600]
|
153 |
+
],
|
154 |
]
|
155 |
);
|
156 |
|
157 |
+
|
158 |
+
/*---- Small Label Below Date Label ----*/
|
159 |
$this->add_group_control(
|
160 |
Group_Control_Typography::get_type(),
|
161 |
[
|
162 |
+
'name' => 'twae_extra_label_typography',
|
163 |
+
'label' => __( 'Story Extra Label Typography', 'twae' ),
|
164 |
'scheme' => Scheme_Typography::TYPOGRAPHY_1,
|
165 |
+
'selector' => '{{WRAPPER}} .twae-wrapper span.twae-extra-label',
|
166 |
+
'fields_options' => [
|
167 |
+
// first mimic the click on Typography edit icon
|
168 |
+
'typography' => ['default' => 'yes'],
|
169 |
+
// then redifine the Elementor defaults
|
170 |
+
'font_size' => ['default' => [ 'unit' => 'px', 'size' => 15 ]],
|
171 |
+
'font_weight' => ['default' => 'normal']
|
172 |
+
],
|
173 |
]
|
174 |
);
|
175 |
|
176 |
+
|
177 |
+
/*---- Story Title ----*/
|
178 |
$this->add_group_control(
|
179 |
Group_Control_Typography::get_type(),
|
180 |
[
|
181 |
+
'name' => 'twae_title_typography',
|
182 |
+
'label' => __( 'Story Title Typography', 'twae' ),
|
183 |
'scheme' => Scheme_Typography::TYPOGRAPHY_1,
|
184 |
+
'selector' => '{{WRAPPER}} .twae-wrapper span.twae-title',
|
185 |
+
'fields_options' => [
|
186 |
+
// first mimic the click on Typography edit icon
|
187 |
+
'typography' => ['default' => 'yes'],
|
188 |
+
// then redifine the Elementor defaults
|
189 |
+
'font_size' => ['default' => [ 'unit' => 'px', 'size' => 20 ]],
|
190 |
+
'font_weight' => ['default' => 600]
|
191 |
+
],
|
192 |
]
|
193 |
);
|
194 |
|
195 |
+
|
196 |
+
/*---- Story Description ----*/
|
197 |
$this->add_group_control(
|
198 |
Group_Control_Typography::get_type(),
|
199 |
[
|
200 |
'name' => 'twae_description_typography',
|
201 |
'label' => __( 'Story Description Typography', 'twae' ),
|
202 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
203 |
'selector' => '{{WRAPPER}} .twae-wrapper .twae-description',
|
204 |
+
'fields_options' => [
|
205 |
+
// first mimic the click on Typography edit icon
|
206 |
+
'typography' => ['default' => 'yes'],
|
207 |
+
// then redifine the Elementor defaults
|
208 |
+
'font_size' => ['default' => [ 'unit' => 'px', 'size' => 16 ]],
|
209 |
+
'font_weight' => ['default' => 'normal']
|
210 |
+
],
|
211 |
]
|
212 |
);
|
213 |
|
214 |
+
|
215 |
+
/*---- Story ICON ----*/
|
216 |
$this->add_control(
|
217 |
'twae_icon_size',
|
218 |
[
|
220 |
'type' => Controls_Manager::SLIDER,
|
221 |
'range' => [
|
222 |
'px' => [
|
223 |
+
'min' => 12,
|
224 |
+
'max' => 36,
|
225 |
],
|
226 |
],
|
227 |
'default' => [
|
269 |
'selectors' => [
|
270 |
'{{WRAPPER}} .twae-wrapper .twae-year' => 'color: {{twae_year_label_color}}',
|
271 |
],
|
272 |
+
'default' => '#ffffff',
|
273 |
]
|
274 |
);
|
275 |
|
285 |
'selectors' => [
|
286 |
'{{WRAPPER}} .twae-wrapper .twae-year' => 'background-color: {{twae_year_label_bgcolor}}',
|
287 |
],
|
288 |
+
'default' => '#54595F',
|
289 |
]
|
290 |
);
|
291 |
|
301 |
'selectors' => [
|
302 |
'{{WRAPPER}} .twae-wrapper span.twae-label' => 'color: {{twae_date_label_color}}',
|
303 |
],
|
304 |
+
'default' => '#23A455',
|
305 |
]
|
306 |
);
|
307 |
|
317 |
'selectors' => [
|
318 |
'{{WRAPPER}} .twae-wrapper span.twae-extra-label' => 'color: {{twae_extra_label_color}}',
|
319 |
],
|
320 |
+
'default' => '#7A7A7A',
|
321 |
]
|
322 |
);
|
323 |
|
332 |
],
|
333 |
'selectors' => [
|
334 |
'{{WRAPPER}} .twae-wrapper .twae-data-container span.twae-title' => 'color: {{twae_story_title_color}}',
|
335 |
+
'{{WRAPPER}} .twae-horizontal span.twae-title' => 'color: {{twae_story_title_color}}',
|
336 |
],
|
337 |
+
'default' => '#23A455',
|
338 |
]
|
339 |
);
|
340 |
|
366 |
'selectors' => [
|
367 |
'{{WRAPPER}} .twae-wrapper .twae-line::before' => 'background-color: {{twae_line_color}}',
|
368 |
'{{WRAPPER}} .twae-wrapper .twae-timeline-centered .twae-icon' => 'border-color: {{twae_line_color}}',
|
369 |
+
'{{WRAPPER}} .twae-wrapper .twae-timeline-centered .twae-year' => 'border-color: {{twae_line_color}}',
|
370 |
+
'{{WRAPPER}} .twae-wrapper:before' => 'background-color: {{twae_line_color}}',
|
371 |
+
'{{WRAPPER}} .twae-wrapper:after' => 'background-color: {{twae_line_color}}',
|
372 |
+
'{{WRAPPER}} .twae-horizontal .twae-pagination.swiper-pagination-progressbar' => 'background-color: {{twae_line_color}}',
|
373 |
+
'{{WRAPPER}} .twae-horizontal .twae-button-prev' => 'color: {{twae_line_color}}',
|
374 |
+
'{{WRAPPER}} .twae-horizontal .twae-button-next' => 'color: {{twae_line_color}}',
|
375 |
],
|
376 |
+
'default' => '#D6D6D6',
|
377 |
]
|
378 |
);
|
379 |
|
388 |
],
|
389 |
'selectors' => [
|
390 |
'{{WRAPPER}} .twae-wrapper .twae-icon' => 'background-color: {{twae_icon_bgcolor}}',
|
391 |
+
'{{WRAPPER}} .twae-horizontal .twae-story-info' => 'border-color: {{twae_icon_bgcolor}}',
|
392 |
+
'{{WRAPPER}} .twae-horizontal .twae-story-info:before' => 'border-bottom-color: {{twae_icon_bgcolor}}',
|
393 |
+
'{{WRAPPER}} .twae-wrapper .twae-data-container:after' => 'border-right-color: {{twae_icon_bgcolor}}',
|
394 |
+
'{{WRAPPER}} .twae-wrapper .twae-right-aligned .twae-data-container' => 'border-left: 2px solid {{twae_icon_bgcolor}}',
|
395 |
+
'{{WRAPPER}} .twae-wrapper .twae-left-aligned .twae-data-container' => 'border-right: 2px solid {{twae_icon_bgcolor}}',
|
396 |
+
'@media only screen and (max-width: 769px) { {{WRAPPER}} .twae-wrapper .twae-left-aligned .twae-data-container' => 'border-left: 2px solid {{twae_icon_bgcolor}} }',
|
397 |
],
|
398 |
+
'default' => '#23A455',
|
399 |
]
|
400 |
);
|
401 |
|
410 |
],
|
411 |
'selectors' => [
|
412 |
'{{WRAPPER}} .twae-wrapper .twae-data-container' => 'background-color: {{twae_story_bgcolor}}',
|
|
|
413 |
'{{WRAPPER}} .twae-wrapper .twae-icon' => 'color: {{twae_icon_bgcolor}}',
|
414 |
+
'{{WRAPPER}} .twae-horizontal .twae-story-info' => 'background-color: {{twae_icon_bgcolor}}',
|
415 |
],
|
416 |
+
'default' => '#fff9ed',
|
417 |
|
418 |
]
|
419 |
);
|
438 |
'label_on' => __( 'Show', 'twae' ),
|
439 |
'label_off' => __( 'Hide', 'twae' ),
|
440 |
'return_value' => 'yes',
|
441 |
+
'default' => 'no',
|
442 |
]
|
443 |
);
|
444 |
|
484 |
]
|
485 |
);
|
486 |
|
487 |
+
$repeater->add_control(
|
488 |
+
'twae_image',
|
489 |
+
[
|
490 |
+
'label' => __( 'Choose Image', 'twae' ),
|
491 |
+
'type' => \Elementor\Controls_Manager::MEDIA,
|
492 |
+
'description' => __('Image Size will not work with default image','twae'),
|
493 |
+
'default' => [
|
494 |
+
'url' => \Elementor\Utils::get_placeholder_image_src(),
|
495 |
+
],
|
496 |
+
]
|
497 |
+
);
|
498 |
+
|
499 |
+
$repeater->add_group_control(
|
500 |
+
Group_Control_Image_Size::get_type(),
|
501 |
+
[
|
502 |
+
'name' => 'twae_thumbnail', // Usage: `{name}_size` and `{name}_custom_dimension`, in this case `thumbnail_size` and `thumbnail_custom_dimension`.
|
503 |
+
'separator' => 'none',
|
504 |
+
]
|
505 |
+
);
|
506 |
+
|
507 |
$repeater->add_control(
|
508 |
'twae_description',
|
509 |
[
|
525 |
]
|
526 |
);
|
527 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
528 |
$this->add_control(
|
529 |
'twae_list',
|
530 |
[
|
576 |
|
577 |
}
|
578 |
|
579 |
+
// for frontend
|
580 |
protected function render() {
|
581 |
|
582 |
$settings = $this->get_settings_for_display();
|
583 |
$data = $settings['twae_list'];
|
584 |
$layout = $settings['twae_layout'];
|
585 |
+
$autoplay = $settings['twae_autoplay'];
|
586 |
+
$sidesHeight = $settings['twae_slides_height'];
|
587 |
|
588 |
$timeline_layout_wrapper = "twae-centered";
|
589 |
$timeline_layout = '';
|
593 |
}
|
594 |
|
595 |
$countItem = 1;
|
596 |
+
if($layout == 'horizontal'){
|
597 |
+
$timeline_layout = "twae-horizontal-timeline";
|
598 |
+
$timeline_layout_wrapper = "twae-horizontal-wrapper";
|
599 |
+
require TWAE_PATH . 'widgets/frontend-layouts/twae-horizontal-timeline.php';
|
600 |
+
|
601 |
+
|
602 |
+
}else{
|
603 |
+
require TWAE_PATH . 'widgets/frontend-layouts/twae-centered-timeline.php';
|
604 |
+
}
|
605 |
+
|
606 |
|
607 |
}
|
608 |
|
609 |
+
// for live editor
|
610 |
+
protected function _content_template() {
|
611 |
|
612 |
?>
|
613 |
+
<#
|
614 |
+
if( settings.twae_list ) {
|
615 |
+
|
616 |
+
if(settings.twae_layout == 'horizontal'){
|
617 |
+
var sidesToShow = settings.twae_slides_to_show;
|
618 |
+
var sidesHeight = settings.twae_slides_height;
|
619 |
+
var autoplay = settings.twae_autoplay;
|
620 |
+
if(sidesToShow==''){
|
621 |
+
sidesToShow = 2;
|
622 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
623 |
#>
|
624 |
+
<?php require TWAE_PATH . 'widgets/editor-layouts/horizontal-template.php';
|
625 |
+
|
626 |
+
?>
|
627 |
+
<#
|
628 |
+
|
629 |
+
}
|
630 |
+
else{
|
631 |
+
#>
|
632 |
+
|
633 |
+
<?php require TWAE_PATH . 'widgets/editor-layouts/vertical-template.php'; ?>
|
634 |
+
<#
|
635 |
+
}
|
636 |
}
|
637 |
+
|
638 |
#>
|
639 |
<?php
|
640 |
+
|
641 |
+
}
|
642 |
|
643 |
}
|
644 |
|
645 |
\Elementor\Plugin::instance()->widgets_manager->register_widget_type( new TWAE_Widget() );
|
646 |
+
|