PageSourceSearch

https://mc-davinci.ru/local/templates/davinchi/src/libs/fancybox/jquery.fancybox.min.js?177746846573709

js mc-davinci.ru collected 2026-10-04 00:12:32 UTC 73,709 bytes, 2,216 lines download raw bytes

1// ==================================================
2// fancyBox v3.1.20
3//
4// Licensed GPLv3 for open source use
5// or fancyBox Commercial License for commercial use
6//
7// http://fancyapps.com/fancybox/
8// Copyright 2017 fancyApps
9//
10// ==================================================
11!(function (t, e, n, o) {
12	"use strict";
13	function i(t) {
14		var e = t.currentTarget,
15			o = t.data ? t.data.options : {},
16			i = t.data ? t.data.items : [],
17			a = n(e).attr("data-fancybox") || "",
18			s = 0;
19		t.preventDefault(),
20			t.stopPropagation(),
21			a
22				? ((i = i.length ? i.filter('[data-fancybox="' + a + '"]') : n('[data-fancybox="' + a + '"]')),
23				  (s = i.index(e)),
24				  s < 0 && (s = 0))
25				: (i = [e]),
26			n.fancybox.open(i, o, s);
27	}
28	if (n) {
29		if (n.fn.fancybox) return void n.error("fancyBox already initialized");
30		var a = {
31				loop: !1,
32				margin: [44, 0],
33				gutter: 50,
34				keyboard: !0,
35				arrows: !0,
36				infobar: !1,
37				toolbar: !0,
38				buttons: ["slideShow", "fullScreen", "thumbs", "close"],
39				idleTime: 4,
40				smallBtn: "auto",
41				protect: !1,
42				modal: !1,
43				image: { preload: "auto" },
44				ajax: { settings: { data: { fancybox: !0 } } },
45				iframe: {
46					tpl: '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen allowtransparency="true" src=""></iframe>',
47					preload: !0,
48					css: {},
49					attr: { scrolling: "auto" },
50				},
51				animationEffect: "zoom",
52				animationDuration: 366,
53				zoomOpacity: "auto",
54				transitionEffect: "fade",
55				transitionDuration: 366,
56				slideClass: "",
57				baseClass: "",
58				baseTpl:
59					'<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-inner"><div class="fancybox-infobar"><button data-fancybox-prev title="{{PREV}}" class="fancybox-button fancybox-button--left"></button><div class="fancybox-infobar__body"><span data-fancybox-index></span>&nbsp;/&nbsp;<span data-fancybox-count></span></div><button data-fancybox-next title="{{NEXT}}" class="fancybox-button fancybox-button--right"></button></div><div class="fancybox-toolbar">{{BUTTONS}}</div><div class="fancybox-navigation"><button data-fancybox-prev title="{{PREV}}" class="fancybox-arrow fancybox-arrow--left" /><button data-fancybox-next title="{{NEXT}}" class="fancybox-arrow fancybox-arrow--right" /></div><div class="fancybox-stage"></div><div class="fancybox-caption-wrap"><div class="fancybox-caption"></div></div></div></div>',
60				spinnerTpl: '<div class="fancybox-loading"></div>',
61				errorTpl: '<div class="fancybox-error"><p>{{ERROR}}<p></div>',
62				btnTpl: {
63					slideShow:
64						'<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"></button>',
65					fullScreen:
66						'<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fullscreen" title="{{FULL_SCREEN}}"></button>',
67					thumbs:
68						'<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"></button>',
69					close:
70						'<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"></button>',
71					smallBtn: '<button data-fancybox-close class="fancybox-close-small" title="{{CLOSE}}"></button>',
72				},
73				parentEl: "body",
74				autoFocus: !0,
75				backFocus: !0,
76				trapFocus: !0,
77				fullScreen: { autoStart: !1 },
78				touch: { vertical: !0, momentum: !0 },
79				hash: null,
80				media: {},
81				slideShow: { autoStart: !1, speed: 4e3 },
82				thumbs: { autoStart: !1, hideOnClose: !0 },
83				onInit: n.noop,
84				beforeLoad: n.noop,
85				afterLoad: n.noop,
86				beforeShow: n.noop,
87				afterShow: n.noop,
88				beforeClose: n.noop,
89				afterClose: n.noop,
90				onActivate: n.noop,
91				onDeactivate: n.noop,
92				clickContent: function (t, e) {
93					return "image" === t.type && "zoom";
94				},
95				clickSlide: "close",
96				clickOutside: "close",
97				dblclickContent: !1,
98				dblclickSlide: !1,
99				dblclickOutside: !1,
100				mobile: {
101					clickContent: function (t, e) {
102						return "image" === t.type && "toggleControls";
103					},
104					clickSlide: function (t, e) {
105						return "image" === t.type ? "toggleControls" : "close";
106					},
107					dblclickContent: function (t, e) {
108						return "image" === t.type && "zoom";
109					},
110					dblclickSlide: function (t, e) {
111						return "image" === t.type && "zoom";
112					},
113				},
114				lang: "en",
115				i18n: {
116					en: {
117						CLOSE: "Close",
118						NEXT: "Next",
119						PREV: "Previous",
120						ERROR: "The requested content cannot be loaded. <br/> Please try again later.",
121						PLAY_START: "Start slideshow",
122						PLAY_STOP: "Pause slideshow",
123						FULL_SCREEN: "Full screen",
124						THUMBS: "Thumbnails",
125					},
126					de: {
127						CLOSE: "Schliessen",
128						NEXT: "Weiter",
129						PREV: "Zurück",
130						ERROR: "Die angeforderten Daten konnten nicht geladen werden. <br/>
130 Bitte versuchen Sie es später nochmal.",
131						PLAY_START: "Diaschau starten",
132						PLAY_STOP: "Diaschau beenden",
133						FULL_SCREEN: "Vollbild",
134						THUMBS: "Vorschaubilder",
135					},
136				},
137			},
138			s = n(t),
139			r = n(e),
140			c = 0,
141			l = function (t) {
142				return t && t.hasOwnProperty && t instanceof n;
143			},
144			u = (function () {
145				return (
146					t.requestAnimationFrame ||
147					t.webkitRequestAnimationFrame ||
148					t.mozRequestAnimationFrame ||
149					t.oRequestAnimationFrame ||
150					function (e) {
151						return t.setTimeout(e, 1e3 / 60);
152					}
153				);
154			})(),
155			d = (function () {
156				var t,
157					n = e.createElement("fakeelement"),
158					i = {
159						transition: "transitionend",
160						OTransition: "oTransitionEnd",
161						MozTransition: "transitionend",
162						WebkitTransition: "webkitTransitionEnd",
163					};
164				for (t in i) if (n.style[t] !== o) return i[t];
165			})(),
166			f = function (t) {
167				return t && t.length && t[0].offsetHeight;
168			},
169			h = function (t, o, i) {
170				var s = this;
171				(s.opts = n.extend(!0, { index: i }, a, o || {})),
172					o && n.isArray(o.buttons) && (s.opts.buttons = o.buttons),
173					(s.id = s.opts.id || ++c),
174					(s.group = []),
175					(s.currIndex = parseInt(s.opts.index, 10) || 0),
176					(s.prevIndex = null),
177					(s.prevPos = null),
178					(s.currPos = 0),
179					(s.firstRun = null),
180					s.createGroup(t),
181					s.group.length && ((s.$lastFocus = n(e.activeElement).blur()), (s.slides = {}), s.init(t));
182			};
183		n.extend(h.prototype, {
184			init: function () {
185				var t,
186					e,
187					o,
188					i = this,
189					a = i.group[i.currIndex].opts;
190				(i.scrollTop = r.scrollTop()),
191					(i.scrollLeft = r.scrollLeft()),
192					n.fancybox.getInstance() ||
193						n.fancybox.isMobile ||
194						"hidden" === n("body").css("overflow") ||
195						((t = n("body").width()),
196						n("html").addClass("fancybox-enabled"),
197						(t = n("body").width() - t),
198						t > 1 &&
199							n("head").append(
200								'<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar, .fancybox-enabled body { margin-right: ' +
201									t +
202									"px; }</style>"
203							)),
204					(o = ""),
205					n.each(a.buttons, function (t, e) {
206						o += a.btnTpl[e] || "";
207					}),
208					(e = n(i.translate(i, a.baseTpl.replace("{{BUTTONS}}", o)))
209						.addClass("fancybox-is-hidden")
210						.attr("id", "fancybox-container-" + i.id)
211						.addClass(a.baseClass)
212						.data("FancyBox", i)
213						.prependTo(a.parentEl)),
214					(i.$refs = { container: e }),
215					["bg", "inner", "infobar", "toolbar", "stage", "caption"].forEach(function (t) {
216						i.$refs[t] = e.find(".fancybox-" + t);
217					}),
218					(!a.arrows || i.group.length < 2) && e.find(".fancybox-navigation").remove(),
219					a.infobar || i.$refs.infobar.remove(),
220					a.toolbar || i.$refs.toolbar.remove(),
221					i.trigger("onInit"),
222					i.activate(),
223					i.jumpTo(i.currIndex);
224			},
225			translate: function (t, e) {
226				var n = t.opts.i18n[t.opts.lang];
227				return e.replace(/\{\{(\w+)\}\}/g, function (t, e) {
228					var i = n[e];
229					return i === o ? t : i;
230				});
231			},
232			createGroup: function (t) {
233				var e = this,
234					i = n.makeArray(t);
235				n.each(i, function (t, i) {
236					var a,
237						s,
238						r,
239						c,
240						l = {},
241						u = {},
242						d = [];
243					n.isPlainObject(i)
244						? ((l = i), (u = i.opts || i))
245						: "object" === n.type(i) && n(i).length
246						? ((a = n(i)),
247						  (d = a.data()),
248						  (u = "options" in d ? d.options : {}),
249						  (u = "object" === n.type(u) ? u : {}),
250						  (l.src = "src" in d ? d.src : u.src || a.attr("href")),
251						  ["width", "height", "thumb", "type", "filter"].forEach(function (t) {
252								t in d && (u[t] = d[t]);
253						  }),
254						  "srcset" in d && (u.image = { srcset: d.srcset }),
255						  (u.$orig = a),
256						  l.type || l.src || ((l.type = "inline"), (l.src = i)))
257						: (l = { type: "html", src: i + "" }),
258						(l.opts = n.extend(!0, {}, e.opts, u)),
259						n.fancybox.isMobile && (l.opts = n.extend(!0, {}, l.opts, l.opts.mobile)),
260						(s = l.type || l.opts.type),
261						(r = l.src || ""),
262						!s &&
263							r &&
264							(r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)
265								? (s = "image")
266								: r.match(/\.(pdf)((\?|#).*)?$/i)
267								? (s = "pdf")
268								: "#" === r.charAt(0) && (s = "inline")),
269						(l.type = s),
270						(l.index = e.group.length),
271						l.opts.$orig && !l.opts.$orig.length && delete l.opts.$orig,
272						!l.opts.$thumb && l.opts.$orig && (l.opts.$thumb = l.opts.$orig.find("img:first")),
273						l.opts.$thumb && !l.opts.$thumb.length && delete l.opts.$thumb,
274						"function" === n.type(l.opts.caption)
275							? (l.opts.caption = l.opts.caption.apply(i, [e, l]))
276							: "caption" in d && (l.opts.caption = d.caption),
277						(l.opts.caption = l.opts.caption === o ? "" : l.opts.caption + ""),
278						"ajax" === s &&
279							((c = r.split(/\s+/, 2)), c.length > 1 && ((l.src = c.shift()), (l.opts.filter = c.shift()))),
280						"auto" == l.opts.smallBtn &&
281							(n.inArray(s, ["html", "inline", "ajax"]) > -1
282								? ((l.opts.toolbar = !1), (l.opts.smallBtn = !0))
283								: (l.opts.smallBtn = !1)),
284						"pdf" === s && ((l.type = "iframe"), (l.opts.iframe.preload = !1)),
285						l.opts.modal &&
286							(l.opts = n.extend(!0, l.opts, {
287								infobar: 0,
288								toolbar: 0,
289								smallBtn: 0,
290								keyboard: 0,
291								slideShow: 0,
292								fullScreen: 0,
293								thumbs: 0,
294								touch: 0,
295								clickContent: !1,
296								clickSlide: !1,
297								clickOutside: !1,
298								dblclickContent: !1,
299								dblclickSlide: !1,
300								dblclickOutside: !1,
301							})),
302						e.group.push(l);
303				});
304			},
305			addEvents: function () {
306				var o = this;
307				o.removeEvents(),
308					o.$refs.container
309						.on("click.fb-close", "[data-fancybox-close]", function (t) {
310							t.stopPropagation(), t.preventDefault(), o.close(t);
311						})
312						.on("click.fb-prev touchend.fb-prev", "[data-fancybox-prev]", function (t) {
313							t.stopPropagation(), t.preventDefault(), o.previous();
314						})
315						.on("click.fb-next touchend.fb-next", "[data-fancybox-next]", function (t) {
316							t.stopPropagation(), t.preventDefault(), o.next();
317						}),
318					s.on("orientationchange.fb resize.fb", function (t) {
319						t && t.originalEvent && "resize" === t.originalEvent.type
320							? u(function () {
321									o.update();
322							  })
323							: (o.$refs.stage.hide(),
324							  setTimeout(function () {
325									o.$refs.stage.show(), o.update();
326							  }, 500));
327					}),
328					r.on("focusin.fb", function (t) {
329						var i = n.fancybox ? n.fancybox.getInstance() : null;
330						i.isClosing ||
331							!i.current ||
332							!i.current.opts.trapFocus ||
333							n(t.target).hasClass("fancybox-container") ||
334							n(t.target).is(e) ||
335							(i &&
336								"fixed" !== n(t.target).css("position") &&
337								!i.$refs.container.has(t.target).length &&
338								(t.stopPropagation(), i.focus(), s.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft)));
339					}),
340					r.on("keydown.fb", function (t) {
341						var e = o.current,
342							i = t.keyCode || t.which;
343						if (e && e.opts.keyboard && !n(t.target).is("input") && !n(t.target).is("textarea"))
344							return 8 === i || 27 === i
345								? (t.preventDefault(), void o.close(t))
346								: 37 === i || 38 === i
347								? (t.preventDefault(), void o.previous())
348								: 39 === i || 40 === i
349								? (t.preventDefault(), void o.next())
350								: void o.trigger("afterKeydown", t, i);
351					}),
352					o.group[o.currIndex].opts.idleTime &&
353						((o.idleSecondsCounter = 0),
354						r.on(
355							"mousemove.fb-idle mouseenter.fb-idle mousaleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",
356							function () {
357								(o.idleSecondsCounter = 0), o.isIdle && o.showControls(), (o.isIdle = !1);
358							}
359						),
360						(o.idleInterval = t.setInterval(function () {
361							o.idleSecondsCounter++,
362								o.idleSecondsCounter >= o.group[o.currIndex].opts.idleTime &&
363									((o.isIdle = !0), (o.idleSecondsCounter = 0), o.hideControls());
364						}, 1e3)));
365			},
366			removeEvents: function () {
367				var e = this;
368				s.off("orientationchange.fb resize.fb"),
369					r.off("focusin.fb keydown.fb .fb-idle"),
370					this.$refs.container.off(".fb-close .fb-prev .fb-next"),
371					e.idleInterval && (t.clearInterval(e.idleInterval), (e.idleInterval = null));
372			},
373			previous: function (t) {
374				return this.jumpTo(this.currPos - 1, t);
375			},
376			next: function (t) {
377				return this.jumpTo(this.currPos + 1, t);
378			},
379			jumpTo: function (t, e, i) {
380				var a,
381					s,
382					r,
383					c,
384					l,
385					u,
386					d,
387					h = this,
388					p = h.group.length;
389				if (!(h.isSliding || h.isClosing || (h.isAnimating && h.firstRun))) {
390					if (((t = parseInt(t, 10)), (s = h.current ? h.current.opts.loop : h.opts.loop), !s && (t < 0 || t >= p)))
391						return !1;
392					if (((a = h.firstRun = null === h.firstRun), !(p < 2 && !a && h.isSliding))) {
393						if (
394							((c = h.current),
395							(h.prevIndex = h.currIndex),
396							(h.prevPos = h.currPos),
397							(r = h.createSlide(t)),
398							p > 1 && ((s || r.index > 0) && h.createSlide(t - 1), (s || r.index < p - 1) && h.createSlide(t + 1)),
399							(h.current = r),
400							(h.currIndex = r.index),
401							(h.currPos = r.pos),
402							h.trigger("beforeShow", a),
403							h.updateControls(),
404							(u = n.fancybox.getTranslate(r.$slide)),
405							(r.isMoved = (0 !== u.left || 0 !== u.top) && !r.$slide.hasClass("fancybox-animated")),
406							(r.forcedDuration = o),
407							n.isNumeric(e) ? (r.forcedDuration = e) : (e = r.opts[a ? "animationDuration" : "transitionDuration"]),
408							(e = parseInt(e, 10)),
409							a)
410						)
411							return (
412								r.opts.animationEffect && e && h.$refs.container.css("transition-duration", e + "ms"),
413								h.$refs.container.removeClass("fancybox-is-hidden"),
414								f(h.$refs.container),
415								h.$refs.container.addClass("fancybox-is-open"),
416								r.$slide.addClass("fancybox-slide--current"),
417								h.loadSlide(r),
418								void h.preload()
419							);
420						n.each(h.slides, function (t, e) {
421							n.fancybox.stop(e.$slide);
422						}),
423							r.$slide.removeClass("fancybox-slide--next fancybox-slide--previous").addClass("fancybox-slide--current"),
424							r.isMoved
425								? ((l = Math.round(r.$slide.width())),
426								  n.each(h.slides, function (t, o) {
427										var i = o.pos - r.pos;
428										n.fancybox.animate(o.$slide, { top: 0, left: i * l + i * o.opts.gutter }, e, function () {
429											o.$slide.removeAttr("style").removeClass("fancybox-slide--next fancybox-slide--previous"),
430												o.pos === h.currPos && ((r.isMoved = !1), h.complete());
431										});
432								  }))
433								: h.$refs.stage.children().removeAttr("style"),
434							r.isLoaded ? h.revealContent(r) : h.loadSlide(r),
435							h.preload(),
436							c.pos !== r.pos &&
437								((d = "fancybox-slide--" + (c.pos > r.pos ? "next" : "previous")),
438								c.$slide.removeClass(
439									"fancybox-slide--complete fancybox-slide--current fancybox-slide--next fancybox-slide--previous"
440								),
441								(c.isComplete = !1),
442								e &&
443									(r.isMoved || r.opts.transitionEffect) &&
444									(r.isMoved
445										? c.$slide.addClass(d)
446										: ((d = "fancybox-animated " + d + " fancybox-fx-" + r.opts.transitionEffect),
447										  n.fancybox.animate(c.$slide, d, e, function () {
448												c.$slide.removeClass(d).removeAttr("style");
449										  }))));
450					}
451				}
452			},
453			createSlide: function (t) {
454				var e,
455					o,
456					i = this;
457				return (
458					(o = t % i.group.length),
459					(o = o < 0 ? i.group.length + o : o),
460					!i.slides[t] &&
461						i.group[o] &&
462						((e = n('<div class="fancybox-slide"></div>').appendTo(i.$refs.stage)),
463						(i.slides[t] = n.extend(!0, {}, i.group[o], { pos: t, $slide: e, isLoaded: !1 })),
464						i.updateSlide(i.slides[t])),
465					i.slides[t]
466				);
467			},
468			scaleToActual: function (t, e, i) {
469				var a,
470					s,
471					r,
472					c,
473					l,
474					u = this,
475					d = u.current,
476					f = d.$content,
477					h = parseInt(d.$slide.width(), 10),
478					p = parseInt(d.$slide.height(), 10),
479					g = d.width,
480					b = d.height;
481				"image" != d.type ||
482					d.hasError ||
483					!f ||
484					u.isAnimating ||
485					(n.fancybox.stop(f),
486					(u.isAnimating = !0),
487					(t = t === o ? 0.5 * h : t),
488					(e = e === o ? 0.5 * p : e),
489					(a = n.fancybox.getTranslate(f)),
490					(c = g / a.width),
491					(l = b / a.height),
492					(s = 0.5 * h - 0.5 * g),
493					(r = 0.5 * p - 0.5 * b),
494					g > h && ((s = a.left * c - (t * c - t)), s > 0 && (s = 0), s < h - g && (s = h - g)),
495					b > p && ((r = a.top * l - (e * l - e)), r > 0 && (r = 0), r < p - b && (r = p - b)),
496					u.updateCursor(g, b),
497					n.fancybox.animate(f, { top: r, left: s, scaleX: c, scaleY: l }, i || 330, function () {
498						u.isAnimating = !1;
499					}),
500					u.SlideShow && u.SlideShow.isActive && u.SlideShow.stop());
501			},
502			scaleToFit: function (t) {
503				var e,
504					o = this,
505					i = o.current,
506					a = i.$content;
507				"image" != i.type ||
508					i.hasError ||
509					!a ||
510					o.isAnimating ||
511					(n.fancybox.stop(a),
512					(o.isAnimating = !0),
513					(e = o.getFitPos(i)),
514					o.updateCursor(e.width, e.height),
515					n.fancybox.animate(
516						a,
517						{ top: e.top, left: e.left, scaleX: e.width / a.width(), scaleY: e.height / a.height() },
518						t || 330,
519						function () {
520							o.isAnimating = !1;
521						}
522					));
523			},
524			getFitPos: function (t) {
525				var e,
526					o,
527					i,
528					a,
529					r,
530					c = this,
531					l = t.$content,
532					u = t.width,
533					d = t.height,
534					f = t.opts.margin;
535				return (
536					!(!l || !l.length || (!u && !d)) &&
537					("number" === n.type(f) && (f = [f, f]),
538					2 == f.length && (f = [f[0], f[1], f[0], f[1]]),
539					s.width() < 800 && (f = [0, 0, 0, 0]),
540					(e = parseInt(c.$refs.stage.width(), 10) - (f[1] + f[3])),
541					(o = parseInt(c.$refs.stage.height(), 10) - (f[0] + f[2])),
542					(i = Math.min(1, e / u, o / d)),
543					(a = Math.floor(i * u)),
544					(r = Math.floor(i * d)),
545					{ top: Math.floor(0.5 * (o - r)) + f[0], left: Math.floor(0.5 * (e - a)) + f[3], width: a, height: r })
546				);
547			},
548			update: function () {
549				var t = this;
550				n.each(t.slides, function (e, n) {
551					t.updateSlide(n);
552				});
553			},
554			updateSlide: function (t) {
555				var e = this,
556					o = t.$content;
557				o &&
558					(t.width || t.height) &&
559					(n.fancybox.stop(o), n.fancybox.setTranslate(o, e.getFitPos(t)), t.pos === e.currPos && e.updateCursor(
559)),
560					t.$slide.trigger("refresh"),
561					e.trigger("onUpdate", t);
562			},
563			updateCursor: function (t, e) {
564				var n,
565					i = this,
566					a = i.$refs.container.removeClass(
567						"fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-drag fancybox-can-zoomOut"
568					);
569				i.current &&
570					!i.isClosing &&
571					(i.isZoomable()
572						? (a.addClass("fancybox-is-zoomable"),
573						  (n = t !== o && e !== o ? t < i.current.width && e < i.current.height : i.isScaledDown()),
574						  n
575								? a.addClass("fancybox-can-zoomIn")
576								: i.current.opts.touch
577								? a.addClass("fancybox-can-drag")
578								: a.addClass("fancybox-can-zoomOut"))
579						: i.current.opts.touch && a.addClass("fancybox-can-drag"));
580			},
581			isZoomable: function () {
582				var t,
583					e = this,
584					o = e.current;
585				if (o && !e.isClosing)
586					return !!(
587						"image" === o.type &&
588						o.isLoaded &&
589						!o.hasError &&
590						("zoom" === o.opts.clickContent ||
591							(n.isFunction(o.opts.clickContent) && "zoom" === o.opts.clickContent(o))) &&
592						((t = e.getFitPos(o)), o.width > t.width || o.height > t.height)
593					);
594			},
595			isScaledDown: function () {
596				var t = this,
597					e = t.current,
598					o = e.$content,
599					i = !1;
600				return o && ((i = n.fancybox.getTranslate(o)), (i = i.width < e.width || i.height < e.height)), i;
601			},
602			canPan: function () {
603				var t = this,
604					e = t.current,
605					n = e.$content,
606					o = !1;
607				return (
608					n && ((o = t.getFitPos(e)), (o = Math.abs(n.width() - o.width) > 1 || Math.abs(n.height() - o.height) > 1)), o
609				);
610			},
611			loadSlide: function (t) {
612				var e,
613					o,
614					i,
615					a = this;
616				if (!t.isLoading && !t.isLoaded) {
617					switch (
618						((t.isLoading = !0),
619						a.trigger("beforeLoad", t),
620						(e = t.type),
621						(o = t.$slide),
622						o
623							.off("refresh")
624							.trigger("onReset")
625							.addClass("fancybox-slide--" + (e || "unknown"))
626							.addClass(t.opts.slideClass),
627						e)
628					) {
629						case "image":
630							a.setImage(t);
631							break;
632						case "iframe":
633							a.setIframe(t);
634							break;
635						case "html":
636							a.setContent(t, t.src || t.content);
637							break;
638						case "inline":
639							n(t.src).length ? a.setContent(t, n(t.src)) : a.setError(t);
640							break;
641						case "ajax":
642							a.showLoading(t),
643								(i = n.ajax(
644									n.extend({}, t.opts.ajax.settings, {
645										url: t.src,
646										success: function (e, n) {
647											"success" === n && a.setContent(t, e);
648										},
649										error: function (e, n) {
650											e && "abort" !== n && a.setError(t);
651										},
652									})
653								)),
654								o.one("onReset", function () {
655									i.abort();
656								});
657							break;
658						default:
659							a.setError(t);
660					}
661					return !0;
662				}
663			},
664			setImage: function (e) {
665				var o,
666					i,
667					a,
668					s,
669					r = this,
670					c = e.opts.image.srcset;
671				if (c) {
672					(a = t.devicePixelRatio || 1),
673						(s = t.innerWidth * a),
674						(i = c.split(",").map(function (t) {
675							var e = {};
676							return (
677								t
678									.trim()
679									.split(/\s+/)
680									.forEach(function (t, n) {
681										var o = parseInt(t.substring(0, t.length - 1), 10);
682										return 0 === n ? (e.url = t) : void (o && ((e.value = o), (e.postfix = t[t.length - 1])));
683									}),
684								e
685							);
686						})),
687						i.sort(function (t, e) {
688							return t.value - e.value;
689						});
690					for (var l = 0; l < i.length; l++) {
691						var u = i[l];
692						if (("w" === u.postfix && u.value >= s) || ("x" === u.postfix && u.value >= a)) {
693							o = u;
694							break;
695						}
696					}
697					!o && i.length && (o = i[i.length - 1]),
698						o &&
699							((e.src = o.url),
700							e.width &&
701								e.height &&
702								"w" == o.postfix &&
703								((e.height = (e.width / e.height) * o.value), (e.width = o.value)));
704				}
705				(e.$content = n('<div class="fancybox-image-wrap"></div>').addClass("fancybox-is-hidden").appendTo(e.$slide)),
706					e.opts.preload !== !1 && e.opts.width && e.opts.height && (e.opts.thumb || e.opts.$thumb)
707						? ((e.width = e.opts.width),
708						  (e.height = e.opts.height),
709						  (e.$ghost = n("<img />")
710								.one("error", function () {
711									n(this).remove(), (e.$ghost = null), r.setBigImage(e);
712								})
713								.one("load", function () {
714									r.afterLoad(e), r.setBigImage(e);
715								})
716								.addClass("fancybox-image")
717								.appendTo(e.$content)
718								.attr("src", e.opts.thumb || e.opts.$thumb.attr("src"))))
719						: r.setBigImage(e);
720			},
721			setBigImage: function (t) {
722				var e = this,
723					o = n("<img />");
724				(t.$image = o
725					.one("error", function () {
726						e.setError(t);
727					})
728					.one("load", function () {
729						clearTimeout(t.timouts),
730							(t.timouts = null),
731							e.isClosing ||
732								((t.width = this.naturalWidth),
733								(t.height = this.naturalHeight),
734								t.opts.image.srcset && o.attr("sizes", "100vw").attr("srcset", t.opts.image.srcset),
735								e.hideLoading(t),
736								t.$ghost
737									? (t.timouts = setTimeout(function () {
738											(t.timouts = null), t.$ghost.hide();
739									  }, Math.min(300, Math.max(1e3, t.height / 1600))))
740									: e.afterLoad(t));
741					})
742					.addClass("fancybox-image")
743					.attr("src", t.src)
744					.appendTo(t.$content)),
745					o[0].complete
746						? o.trigger("load")
747						: o[0].error
748						? o.trigger("error")
749						: (t.timouts = setTimeout(function () {
750								o[0].complete || t.hasError || e.showLoading(t);
751						  }, 100));
752			},
753			setIframe: function (t) {
754				var e,
755					i = this,
756					a = t.opts.iframe,
757					s = t.$slide;
758				(t.$content = n('<div class="fancybox-content' + (a.preload ? " fancybox-is-hidden" : "") + '"></div>')
759					.css(a.css)
760					.appendTo(s)),
761					(e = n(a.tpl.replace(/\{rnd\}/g, new Date().getTime()))
762						.attr(a.attr)
763						.appendTo(t.$content)),
764					a.preload
765						? (i.showLoading(t),
766						  e.on("load.fb error.fb", function (e) {
767								(this.isReady = 1), t.$slide.trigger("refresh"), i.afterLoad(t);
768						  }),
769						  s.on("refresh.fb", function () {
770								var n,
771									i,
772									s,
773									r,
774									c,
775									l = t.$content;
776								if (1 === e[0].isReady) {
777									try {
778										(n = e.contents()), (i = n.find("body"));
779									} catch (t) {}
780									i &&
781										i.length &&
782										(a.css.width === o || a.css.height === o) &&
783										((s = e[0].contentWindow.document.documentElement.scrollWidth),
784										(r = Math.ceil(i.outerWidth(!0) + (l.width() - s))),
785										(c = Math.ceil(i.outerHeight(!0))),
786										l.css({
787											width: a.css.width === o ? r + (l.outerWidth() - l.innerWidth()) : a.css.width,
788											height: a.css.height === o ? c + (l.outerHeight() - l.innerHeight()) : a.css.height,
789										})),
790										l.removeClass("fancybox-is-hidden");
791								}
792						  }))
793						: this.afterLoad(t),
794					e.attr("src", t.src),
795					t.opts.smallBtn === !0 && t.$content.prepend(i.translate(t, t.opts.btnTpl.smallBtn)),
796					s.one("onReset", function () {
797						try {
798							n(this).find("iframe").hide().attr("src", "//about:blank");
799						} catch (t) {}
800						n(this).empty(), (t.isLoaded = !1);
801					});
802			},
803			setContent: function (t, e) {
804				var o = this;
805				o.isClosing ||
806					(o.hideLoading(t),
807					t.$slide.empty(),
808					l(e) && e.parent().length
809						? (e.parent(".fancybox-slide--inline").trigger("onReset"),
810						  (t.$placeholder = n("<div></div>").hide().insertAfter(e)),
811						  e.css("display", "inline-block"))
812						: t.hasError ||
813						  ("string" === n.type(e) &&
814								((e = n("<div>").append(n.trim(e)).contents()), 3 === e[0].nodeType && (e = n("<div>").html(e))),
815						  t.opts.filter && (e = n("<div>").html(e).find(t.opts.filter))),
816					t.$slide.one("onReset", function () {
817						t.$placeholder && (t.$placeholder.after(e.hide()).remove(), (t.$placeholder = null)),
818							t.$smallBtn && (t.$smallBtn.remove(), (t.$smallBtn = null)),
819							t.hasError || (n(this).empty(), (t.isLoaded = !1));
820					}),
821					(t.$content = n(e).appendTo(t.$slide)),
822					t.opts.smallBtn &&
823						!t.$smallBtn &&
824						(t.$smallBtn = n(o.translate(t, t.opts.btnTpl.smallBtn)).appendTo(t.$content)),
825					this.afterLoad(t));
826			},
827			setError: function (t) {
828				(t.hasError = !0),
829					t.$slide.removeClass("fancybox-slide--" + t.type),
830					this.setContent(t, this.translate(t, t.opts.errorTpl));
831			},
832			showLoading: function (t) {
833				var e = this;
834				(t = t || e.current), t && !t.$spinner && (t.$spinner = n(e.opts.spinnerTpl).appendTo(t.$slide));
835			},
836			hideLoading: function (t) {
837				var e = this;
838				(t = t || e.current), t && t.$spinner && (t.$spinner.remove(), delete t.$spinner);
839			},
840			afterLoad: function (t) {
841				var e = this;
842				e.isClosing ||
843					((t.isLoading = !1),
844					(t.isLoaded = !0),
845					e.trigger("afterLoad", t),
846					e.hideLoading(t),
847					t.opts.protect &&
848						t.$content &&
849						!t.hasError &&
850						(t.$content.on("contextmenu.fb", function (t) {
851							return 2 == t.button && t.preventDefault(), !0;
852						}),
853						"image" === t.type && n('<div class="fancybox-spaceball"></div>').appendTo(t.$content)),
854					e.revealContent(t));
855			},
856			revealContent: function (t) {
857				var e,
858					i,
859					a,
860					s,
861					r,
862					c = this,
863					l = t.$slide,
864					u = !1;
865				return (
866					(e = t.opts[c.firstRun ? "animationEffect" : "transitionEffect"]),
867					(a = t.opts[c.firstRun ? "animationDuration" : "transitionDuration"]),
868					(a = parseInt(t.forcedDuration === o ? a : t.forcedDuration, 10)),
869					(!t.isMoved && t.pos === c.currPos && a) || (e = !1),
870					"zoom" !== e ||
871						(t.pos === c.currPos && a && "image" === t.type && !t.hasError && (u = c.getThumbPos(t))) ||
872						(e = "fade"),
873					"zoom" === e
874						? ((r = c.getFitPos(t)),
875						  (r.scaleX = Math.round((r.width / u.width) * 100) / 100),
876						  (r.scaleY = Math.round((r.height / u.height) * 100) / 100),
877						  delete r.width,
878						  delete r.height,
879						  (s = t.opts.zoomOpacity),
880						  "auto" == s && (s = Math.abs(t.width / t.height - u.width / u.height) > 0.1),
881						  s && ((u.opacity = 0.1), (r.opacity = 1)),
882						  n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"), u),
883						  f(t.$content),
884						  void n.fancybox.animate(t.$content, r, a, function () {
885								c.complete();
886						  }))
887						: (c.updateSlide(t),
888						  e
889								? (n.fancybox.stop(l),
890								  (i =
891										"fancybox-animated fancybox-slide--" +
892										(t.pos > c.prevPos ? "next" : "previous") +
893										" fancybox-fx-" +
894										e),
895								  l
896										.removeAttr("style")
897										.removeClass("fancybox-slide--current fancybox-slide--next fancybox-slide--previous")
898										.addClass(i),
899								  t.$content.removeClass("fancybox-is-hidden"),
900								  f(l),
901								  void n.fancybox.animate(
902										l,
903										"fancybox-slide--current",
904										a,
905										function (e) {
906											l.removeClass(i).removeAttr("style"), t.pos === c.currPos && c.complete();
907										},
908										!0
909								  ))
910								: (f(l), t.$content.removeClass("fancybox-is-hidden"), void (t.pos === c.currPos && c.complete())))
911				);
912			},
913			getThumbPos: function (o) {
914				var i,
915					a = this,
916					s = !1,
917					r = function (e) {
918						for (var o, i = e[0], a = i.getBoundingClientRect(), s = []; null !== i.parentElement; )
919							("hidden" !== n(i.parentElement).css("overflow") && "auto" !== n(i.parentElement).css("overflow")) ||
920								s.push(i.parentElement.getBoundingClientRect()),
921								(i = i.parentElement);
922						return (
923							(o = s.every(function (t) {
924								var e = Math.min(a.right, t.right) - Math.max(a.left, t.left),
925									n = Math.min(a.bottom, t.bottom) - Math.max(a.top, t.top);
926								return e > 0 && n > 0;
927							})),
928							o && a.bottom > 0 && a.right > 0 && a.left < n(t).width() && a.top < n(t).height()
929						);
930					},
931					c = o.opts.$thumb,
932					l = c ? c.offset() : 0;
933				return (
934					l &&
935						c[0].ownerDocument === e &&
936						r(c) &&
937						((i = a.$refs.stage.offset()),
938						(s = {
939							top: l.top - i.top + parseFloat(c.css("border-top-width") || 0),
940							left: l.left - i.left + parseFloat(c.css("border-left-width") || 0),
941							width: c.width(),
942							height: c.height(),
943							scaleX: 1,
944							scaleY: 1,
945						})),
946					s
947				);
948			},
949			complete: function () {
950				var t = this,
951					o = t.current,
952					i = {};
953				o.isMoved ||
954					!o.isLoaded ||
955					o.isComplete ||
956					((o.isComplete = !0),
957					o.$slide.siblings().trigger("onReset"),
958					f(o.$slide),
959					o.$slide.addClass("fancybox-slide--complete"),
960					n.each(t.slides, function (e, o) {
961						o.pos >= t.currPos - 1 && o.pos <= t.currPos + 1
962							? (i[o.pos] = o)
963							: o && (n.fancybox.stop(o.$slide), o.$slide.unbind().remove());
964					}),
965					(t.slides = i),
966					t.updateCursor(),
967					t.trigger("afterShow"),
968					(n(e.activeElement).is("[disabled]") || (o.opts.autoFocus && "image" != o.type && "iframe" !== o.type)) &&
969						t.focus());
970			},
971			preload: function () {
972				var t,
973					e,
974					n = this;
975				n.group.length < 2 ||
976					((t = n.slides[n.currPos + 1]),
977					(e = n.slides[n.currPos - 1]),
978					t && "image" === t.type && n.loadSlide(t),
979					e && "image" === e.type && n.loadSlide(e));
980			},
981			focus: function () {
982				var t,
983					e = this.current;
984				this.isClosing ||
985					((t =
986						e && e.isComplete
987							? e.$slide.find("button,:input,[tabindex],a").filter(":not([disabled]):visible:first")
988							: null),
989					(t = t && t.length ? t : this.$refs.container),
990					t.focus());
991			},
992			activate: function () {
993				var t = this;
994				n(".fancybox-container").each(function () {
995					var e = n(this).data("FancyBox");
996					e && e.uid !== t.uid && !e.isClosing && e.trigger("onDeactivate");
997				}),
998					t.current && (t.$refs.container.index() > 0 && t.$refs.container.prependTo(e.body), t.updateControls()),
999					t.trigger("onActivate"),
1000					t.addEvents();
1001			},
1002			close: function (t, e) {
1003				var o,
1004					i,
1005					a,
1006					s,
1007					r,
1008					c,
1009					l = this,
1010					f = l.current,
1011					h = function () {
1012						l.cleanUp(t);
1013					};
1014				return (
1015					!l.isClosing &&
1016					((l.isClosing = !0),
1017					l.trigger("beforeClose", t) === !1
1018						? ((l.isClosing = !1),
1019						  u(function () {
1020								l.update();
1021						  }),
1022						  !1)
1023						: (l.removeEvents(),
1024						  f.timouts && clearTimeout(f.timouts),
1025						  (a = f.$content),
1026						  (o = f.opts.animationEffect),
1027						  (i = n.isNumeric(e) ? e : o ? f.opts.animationDuration : 0),
1028						  f.$slide
1029								.off(d)
1030								.removeClass(
1031									"fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"
1032								),
1033						  f.$slide.siblings().trigger("onReset").remove(),
1034						  i && l.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing"),
1035						  l.hideLoading(f),
1036						  l.hideControls(),
1037						  l.updateCursor(),
1038						  "zoom" !== o ||
1039								(t !== !0 && a && i && "image" === f.type && !f.hasError && (c = l.getThumbPos(f))) ||
1040								(o = "fade"),
1041						  "zoom" === o
1042								? (n.fancybox.stop(a),
1043								  (r = n.fancybox.getTranslate(a)),
1044								  (r.width = r.width * r.scaleX),
1045								  (r.height = r.height * r.scaleY),
1046								  (s = f.opts.zoomOpacity),
1047								  "auto" == s && (s = Math.abs(f.width / f.height - c.width / c.height) > 0.1),
1048								  s && (c.opacity = 0),
1049								  (r.scaleX = r.width / c.width),
1050								  (r.scaleY = r.height / c.height),
1051								  (r.width = c.width),
1052								  (r.height = c.height),
1053								  n.fancybox.setTranslate(f.$content, r),
1054								  n.fancybox.animate(f.$content, c, i, h),
1055								  !0)
1056								: (o && i
1057										? t === !0
1058											? setTimeout(h, i)
1059											: n.fancybox.animate(
1060													f.$slide.removeClass("fancybox-slide--current"),
1061													"fancybox-animated fancybox-slide--previous fancybox-fx-" + o,
1062													i,
1063													h
1064											  )
1065										: h(),
1066								  !0)))
1067				);
1068			},
1069			cleanUp: function (t) {
1070				var e,
1071					o = this;
1072				o.current.$slide.trigger("onReset"),
1073					o.$refs.container.empty().remove(),
1074					o.trigger("afterClose", t),
1075					o.$lastFocus && !o.current.focusBack && o.$lastFocus.focus(),
1076					(o.current = null),
1077					(e = n.fancybox.getInstance()),
1078					e
1079						? e.activate()
1080						: (s.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft),
1081						  n("html").removeClass("fancybox-enabled"),
1082						  n("#fancybox-style-noscroll").remove());
1083			},
1084			trigger: function (t, e) {
1085				var o,
1086					i = Array.prototype.slice.call(arguments, 1),
1087					a = this,
1088					s = e && e.opts ? e : a.current;
1089				return (
1090					s ? i.unshift(s) : (s = a),
1091					i.unshift(a),
1092					n.isFunction(s.opts[t]) && (o = s.opts[t].apply(s, i)),
1093					o === !1 ? o : void ("afterClose" === t ? r.trigger(t + ".fb", i) : a.$refs.container.trigger(t + ".fb", i))
1094				);
1095			},
1096			updateControls: function (t) {
1097				var e = this,
1098					o = e.current,
1099					i = o.index,
1100					a = o.opts,
1101					s = a.caption,
1102					r = e.$refs.caption;
1103				o.$slide.trigger("refresh"),
1104					(e.$caption = s && s.length ? r.html(s) : null),
1105					e.isHiddenControls || e.showControls(),
1106					n("[data-fancybox-count]").html(e.group.length),
1107					n("[data-fancybox-index]").html(i + 1),
1108					n("[data-fancybox-prev]").prop("disabled", !a.loop && i <= 0),
1109					n("[data-fancybox-next]").prop("disabled", !a.loop && i >= e.group.length - 1);
1110			},
1111			hideControls: function () {
1112				(this.isHiddenControls = !0),
1113					this.$refs.container.removeClass(
1114						"fancybox-show-infobar fancybox-show-toolbar fancybox-show-caption fancybox-show-nav"
1115					);
1116			},
1117			showControls: function () {
1118				var t = this,
1119					e = t.current ? t.current.opts : t.opts,
1120					n = t.$refs.container;
1121				(t.isHiddenControls = !1),
1122					(t.idleSecondsCounter = 0),
1123					n
1124						.toggleClass("fancybox-show-toolbar", !(!e.toolbar || !e.buttons))
1125						.toggleClass("fancybox-show-infobar", !!(e.infobar && t.group.length > 1))
1126						.toggleClass("fancybox-show-nav", !!(e.arrows && t.group.length > 1))
1127						.toggleClass("fancybox-is-modal", !!e.modal),
1128					t.$caption ? n.addClass("fancybox-show-caption ") : n.removeClass("fancybox-show-caption");
1129			},
1130			toggleControls: function () {
1131				this.isHiddenControls ? this.showControls() : this.hideControls();
1132			},
1133		}),
1134			(n.fancybox = {
1135				version: "3.1.20",
1136				defaults: a,
1137				getInstance: function (t) {
1138					var e = n('.fancybox-container:not(".fancybox-is-closing"):first').data("FancyBox"),
1139						o = Array.prototype.slice.call(arguments, 1);
1140					return (
1141						e instanceof h && ("string" === n.type(t) ? e[t].apply(e, o) : "function" === n.type(t) && t.apply(e, o), e)
1142					);
1143				},
1144				open: function (t, e, n) {
1145					return new h(t, e, n);
1146				},
1147				close: function (t) {
1148					var e = this.getInstance();
1149					e && (e.close(), t === !0 && this.close());
1150				},
1151				destroy: function () {
1152					this.close(!0), r.off("click.fb-start");
1153				},
1154				isMobile: e.createTouch !== o && /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent),
1155				use3d: (function () {
1156					var n = e.createElement("div");
1157					return (
1158						t.getComputedStyle &&
1159						t.getComputedStyle(n).getPropertyValue("transform") &&
1160						!(e.documentMode && e.documentMode < 11)
1161					);
1162				})(),
1163				getTranslate: function (t) {
1164					var e;
1165					if (!t || !t.length) return !1;
1166					if (
1167						((e = t.eq(0).css("transform")),
1168						e && e.indexOf("matrix") !== -1
1169							? ((e = e.split("(")[1]), (e = e.split(")")[0]), (e = e.split(",")))
1170							: (e = []),
1171						e.length)
1172					)
1173						(e = e.length > 10 ? [e[13], e[12], e[0], e[5]] : [e[5], e[4], e[0], e[3]]), (e = e.map(parseFloat));
1174					else {
1175						e = [0, 0, 1, 1];
1176						var n = /\.*translate\((.*)px,(.*)px\)/i,
1177							o = n.exec(t.eq(0).attr("style"));
1178						o && ((e[0] = parseFloat(o[2])), (e[1] = parseFloat(o[1])));
1179					}
1180					return {
1181						top: e[0],
1182						left: e[1],
1183						scaleX: e[2],
1184						scaleY: e[3],
1185						opacity: parseFloat(t.css("opacity")),
1186						width: t.width(),
1187						height: t.height(),
1188					};
1189				},
1190				setTranslate: function (t, e) {
1191					var n = "",
1192						i = {};
1193					if (t && e)
1194						return (
1195							(e.left === o && e.top === o) ||
1196								((n =
1197									(e.left === o ? t.position().left : e.left) +
1198									"px, " +
1199									(e.top === o ? t.position().top : e.top) +
1200									"px"),
1201								(n = this.use3d ? "translate3d(" + n + ", 0px)" : "translate(" + n + ")")),
1202							e.scaleX !== o &&
1203								e.scaleY !== o &&
1204								(n = (n.length ? n + " " : "") + "scale(" + e.scaleX + ", " + e.scaleY + ")"),
1205							n.length && (i.transform = n),
1206							e.opacity !== o && (i.opacity = e.opacity),
1207							e.width !== o && (i.width = e.width),
1208							e.height !== o && (i.height = e.height),
1209							t.css(i)
1210						);
1211				},
1212				animate: function (t, e, i, a, s) {
1213					var r = d || "transitionend";
1214					n.isFunction(i) && ((a = i), (i = null)),
1215						n.isPlainObject(e) || t.removeAttr("style"),
1216						t.on(r, function (i) {
1217							(!i || !i.originalEvent || (t.is(i.originalEvent.target) && "z-index" != i.originalEvent.propertyName)) &&
1218								(t.off(r),
1219								n.isPlainObject(e)
1220									? e.scaleX !== o &&
1221									  e.scaleY !== o &&
1222									  (t.css("transition-duration", "0ms"),
1223									  (e.width = t.width() * e.scaleX),
1224									  (e.height = t.height() * e.scaleY),
1225									  (e.scaleX = 1),
1226									  (e.scaleY = 1),
1227									  n.fancybox.setTranslate(t, e))
1228									: s !== !0 && t.removeClass(e),
1229								n.isFunction(a) && a(i));
1230						}),
1231						n.isNumeric(i) && t.css("transition-duration", i + "ms"),
1232						n.isPlainObject(e) ? n.fancybox.setTranslate(t, e) : t.addClass(e),
1233						t.data(
1234							"timer",
1235							setTimeout(function () {
1236								t.trigger("transitionend");
1237							}, i + 16)
1238						);
1239				},
1240				stop: function (t) {
1241					clearTimeout(t.data("timer")), t.off(d);
1242				},
1243			}),
1244			(n.fn.fancybox = function (t) {
1245				var e;
1246				return (
1247					(t = t || {}),
1248					(e = t.salector || !1),
1249					e
1250						? n("body")
1251								.off("click.fb-start", e)
1252								.on("click.fb-start", e, { items: n(e), options: t }, i)
1253						: this.off("click.fb-start").on("click.fb-start", { items: this, options: t }, i),
1254					this
1255				);
1256			}),
1257			r.on("click.fb-start", "[data-fancybox]", i);
1258	}
1259})(window, document, window.jQuery),
1260	(function (t) {
1261		"use strict";
1262		var e = function (e, n, o) {
1263				if (e)
1264					return (
1265						(o = o || ""),
1266						"object" === t.type(o) && (o = t.param(o, !0)),
1267						t.each(n, function (t, n) {
1268							e = e.replace("$" + t, n || "");
1269						}),
1270						o.length && (e += (e.indexOf("?") > 0 ? "&" : "?") + o),
1271						e
1272					);
1273			},
1274			n = {
1275				youtube: {
1276					matcher:
1277						/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,
1278					params: { autoplay: 1, autohide: 1, fs: 1, rel: 0, hd: 1, wmode: "transparent", enablejsapi: 1, html5: 1 },
1279					paramPlace: 8,
1280					type: "iframe",
1281					url: "//www.youtube.com/embed/$4",
1282					thumb: "//img.youtube.com/vi/$4/hqdefault.jpg",
1283				},
1284				vimeo: {
1285					matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,
1286					params: { autoplay: 1, hd: 1, show_title: 1, show_byline: 1, show_portrait: 0, fullscreen: 1, api: 1 },
1287					paramPlace: 3,
1288					type: "iframe",
1289					url: "//player.vimeo.com/video/$2",
1290				},
1291				metacafe: {
1292					matcher: /metacafe.com\/watch\/(\d+)\/(.*)?/,
1293					type: "iframe",
1294					url: "//www.metacafe.com/embed/$1/?ap=1",
1295				},
1296				dailymotion: {
1297					matcher: /dailymotion.com\/video\/(.*)\/?(.*)/,
1298					params: { additionalInfos: 0, autoStart: 1 },
1299					type: "iframe",
1300					url: "//www.dailymotion.com/embed/video/$1",
1301				},
1302				vine: { matcher: /vine.co\/v\/([a-zA-Z0-9\?\=\-]+)/, type: "iframe", url: "//vine.co/v/$1/embed/simple" },
1303				instagram: {
1304					matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
1305					type: "image",
1306					url: "//$1/p/$2/media/?size=l",
1307				},
1308				google_maps: {
1309					matcher:
1310						/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,
1311					type: "iframe",
1312					url: function (t) {
1313						return (
1314							"//maps.google." +
1315							t[2] +
1316							"/?ll=" +
1317							(t[9] ? t[9] + "&z=" + Math.floor(t[10]) + (t[12] ? t[12].replace(/^\//, "&") : "") : t[12]) +
1318							"&output=" +
1319							(t[12] && t[12].indexOf("layer=c") > 0 ? "svembed" : "embed")
1320						);
1321					},
1322				},
1323			};
1324		t(document).on("onInit.fb", function (o, i) {
1325			t.each(i.group, function (o, i) {
1326				var a,
1327					s,
1328					r,
1329					c,
1330					l,
1331					u,
1332					d,
1333					f = i.src || "",
1334					h = !1;
1335				i.type ||
1336					((a = t.extend(!0, {}, n, i.opts.media)),
1337					t.each(a, function (n, o) {
1338						if (((r = f.match(o.matcher)), (u = {}), (d = n), r)) {
1339							if (((h = o.type), o.paramPlace && r[o.paramPlace])) {
1340								(l = r[o.paramPlace]), "?" == l[0] && (l = l.substring(1)), (l = l.split("&"));
1341								for (var a = 0; a < l.length; ++a) {
1342									var p = l[a].split("=", 2);
1343									2 == p.length && (u[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " ")));
1344								}
1345							}
1346							return (
1347								(c = t.extend(!0, {}, o.params, i.opts[n], u)),
1348								(f = "function" === t.type(o.url) ? o.url.call(this, r, c, i) : e(o.url, r, c)),
1349								(s = "function" === t.type(o.thumb) ? o.thumb.call(this, r, c, i) : e(o.thumb, r)),
1350								"vimeo" === d && (f = f.replace("&%23", "#")),
1351								!1
1352							);
1353						}
1354					}),
1355					h
1356						? ((i.src = f),
1357						  (i.type = h),
1358						  i.opts.thumb || (i.opts.$thumb && i.opts.$thumb.length) || (i.opts.thumb = s),
1359						  "iframe" === h &&
1360								(t.extend(!0, i.opts, { iframe: { preload: !1, attr: { scrolling: "no" } } }),
1361								(i.contentProvider = d),
1362								(i.opts.slideClass += " fancybox-slide--" + ("google_maps" == d ? "map" : "video"))))
1363						: (i.type = "image"));
1364			});
1365		});
1366	})(window.jQuery),
1367	(function (t, e, n) {
1368		"use strict";
1369		var o = (function () {
1370				return (
1371					t.requestAnimationFrame ||
1372					t.webkitRequestAnimationFrame ||
1373					t.mozRequestAnimationFrame ||
1374					t.oRequestAnimationFrame ||
1375					function (e) {
1376						return t.setTimeout(e, 1e3 / 60);
1377					}
1378				);
1379			})(),
1380			i = (function () {
1381				return (
1382					t.cancelAnimationFrame ||
1383					t.webkitCancelAnimationFrame ||
1384					t.mozCancelAnimationFrame ||
1385					t.oCancelAnimationFrame ||
1386					function (e) {
1387						t.clearTimeout(e);
1388					}
1389				);
1390			})(),
1391			a = function (e) {
1392				var n = [];
1393				(e = e.originalEvent || e || t.e),
1394					(e =
1395						e.touches && e.touches.length
1396							? e.touches
1397							: e.changedTouches && e.changedTouches.length
1398							? e.changedTouches
1399							: [e]);
1400				for (var o in e)
1401					e[o].pageX
1402						? n.push({ x: e[o].pageX, y: e[o].pageY })
1403						: e[o].clientX && n.push({ x: e[o].clientX, y: e[o].clientY });
1404				return n;
1405			},
1406			s = function (t, e, n) {
1407				return e && t
1408					? "x" === n
1409						? t.x - e.x
1410						: "y" === n
1411						? t.y - e.y
1412						: Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2))
1413					: 0;
1414			},
1415			r = function (t) {
1416				if (t.is("a,button,input,salect,textarea") || n.isFunction(t.get(0).onclick)) return !0;
1417				for (var e = 0, o = t[0].attributes, i = o.length; e < i; e++)
1418					if ("data-fancybox-" === o[e].nodeName.substr(0, 14)) return !0;
1419				return !1;
1420			},
1421			c = function (e) {
1422				var n = t.getComputedStyle(e)["overflow-y"],
1423					o = t.getComputedStyle(e)["overflow-x"],
1424					i = ("scroll" === n || "auto" === n) && e.scrollHeight > e.clientHeight,
1425					a = ("scroll" === o || "auto" === o) && e.scrollWidth > e.clientWidth;
1426				return i || a;
1427			},
1428			l = function (t) {
1429				for (var e = !1; ; ) {
1430					if ((e = c(t.get(0)))) break;
1431					if (((t = t.parent()), !t.length || t.hasClass("fancybox-stage") || t.is("body"))) break;
1432				}
1433				return e;
1434			},
1435			u = function (t) {
1436				var e = this;
1437				(e.instance = t),
1438					(e.$bg = t.$refs.bg),
1439					(e.$stage = t.$refs.stage),
1440					(e.$container = t.$refs.container),
1441					e.destroy(),
1442					e.$container.on("touchstart.fb.touch mousedown.fb.touch", n.proxy(e, "ontouchstart"));
1443			};
1444		(u.prototype.destroy = function () {
1445			this.$container.off(".fb.touch");
1446		}),
1447			(u.prototype.ontouchstart = function (o) {
1448				var i = this,
1449					c = n(o.target),
1450					u = i.instance,
1451					d = u.current,
1452					f = d.$content,
1453					h = "touchstart" == o.type;
1454				if ((h && i.$container.off("mousedown.fb.touch"), !d || i.instance.isAnimating || i.instance.isClosing))
1455					return o.stopPropagation(), void o.preventDefault();
1456				if (
1457					(!o.originalEvent || 2 != o.originalEvent.button) &&
1458					c.length &&
1459					!r(c) &&
1460					!r(c.parent()) &&
1461					!(o.originalEvent.clientX > c[0].clientWidth + c.offset().left) &&
1462					((i.startPoints = a(o)), i.startPoints && !(i.startPoints.length > 1 && u.isSliding))
1463				) {
1464					if (
1465						((i.$target = c),
1466						(i.$content = f),
1467						(i.canTap = !0),
1468						n(e).off(".fb.touch"),
1469						n(e).on(
1470							h ? "touchend.fb.touch touchcancel.fb.touch" : "mouseup.fb.touch mousaleave.fb.touch",
1471							n.proxy(i, "ontouchend")
1472						),
1473						n(e).on(h ? "touchmove.fb.touch" : "mousemove.fb.touch", n.proxy(i, "ontouchmove")),
1474						o.stopPropagation(),
1475						(!u.current.opts.touch && !u.canPan()) || (!c.is(i.$stage) && !i.$stage.find(c).length))
1476					)
1477						return void (c.is("img") && o.preventDefault());
1478					(n.fancybox.isMobile && (l(i.$target) || l(i.$target.parent()))) || o.preventDefault(),
1479						(i.canvasWidth = Math.round(d.$slide[0].clientWidth)),
1480						(i.canvasHeight = Math.round(d.$slide[0].clientHeight)),
1481						(i.startTime = new Date().getTime()),
1482						(i.distanceX = i.distanceY = i.distance = 0),
1483						(i.isPanning = !1),
1484						(i.isSwiping = !1),
1485						(i.isZooming = !1),
1486						(i.sliderStartPos = i.sliderLastPos || { top: 0, left: 0 }),
1487						(i.contentStartPos = n.fancybox.getTranslate(i.$content)),
1488						(i.contentLastPos = null),
1489						1 !== i.startPoints.length ||
1490							i.isZooming ||
1491							((i.canTap = !u.isSliding),
1492							"image" === d.type &&
1493							(i.contentStartPos.width > i.canvasWidth + 1 || i.contentStartPos.height > i.canvasHeight + 1)
1494								? (n.fancybox.stop(i.$content), i.$content.css("transition-duration", "0ms"), (i.isPanning = !0))
1495								: (i.isSwiping = !0),
1496							i.$container.addClass("fancybox-controls--isGrabbing")),
1497						2 !== i.startPoints.length ||
1498							u.isAnimating ||
1499							d.hasError ||
1500							"image" !== d.type ||
1501							(!d.isLoaded && !d.$ghost) ||
1502							((i.isZooming = !0),
1503							(i.isSwiping = !1),
1504							(i.isPanning = !1),
1505							n.fancybox.stop(i.$content),
1506							i.$content.css("transition-duration", "0ms"),
1507							(i.centerPointStartX = 0.5 * (i.startPoints[0].x + i.startPoints[1].x) - n(t).scrollLeft()),
1508							(i.centerPointStartY = 0.5 * (i.startPoints[0].y + i.startPoints[1].y) - n(t).scrollTop()),
1509							(i.percentageOfImageAtPinchPointX =
1510								(i.centerPointStartX - i.contentStartPos.left) / i.contentStartPos.width),
1511							(i.percentageOfImageAtPinchPointY =
1512								(i.centerPointStartY - i.contentStartPos.top) / i.contentStartPos.height),
1513							(i.startDistanceBetweenFingers = s(i.startPoints[0], i.startPoints[1])));
1514				}
1515			}),
1516			(u.prototype.ontouchmove = function (t) {
1517				var e = this;
1518				if (((e.newPoints = a(t)), n.fancybox.isMobile && (l(e.$target) || l(e.$target.parent()))))
1519					return t.stopPropagation(), void (e.canTap = !1);
1520				if (
1521					(e.instance.current.opts.touch || e.instance.canPan()) &&
1522					e.newPoints &&
1523					e.newPoints.length &&
1524					((e.distanceX = s(e.newPoints[0], e.startPoints[0], "x")),
1525					(e.distanceY = s(e.newPoints[0], e.startPoints[0], "y")),
1526					(e.distance = s(e.newPoints[0], e.startPoints[0])),
1527					e.distance > 0)
1528				) {
1529					if (!e.$target.is(e.$stage) && !e.$stage.find(e.$target).length) return;
1530					t.stopPropagation(),
1531						t.preventDefault(),
1532						e.isSwiping ? e.onSwipe() : e.isPanning ? e.onPan() : e.isZooming && e.onZoom();
1533				}
1534			}),
1535			(u.prototype.onSwipe = function () {
1536				var e,
1537					a = this,
1538					s = a.isSwiping,
1539					r = a.sliderStartPos.left || 0;
1540				s === !0
1541					? Math.abs(a.distance) > 10 &&
1542					  ((a.canTap = !1),
1543					  a.instance.group.length < 2 && a.instance.opts.touch.vertical
1544							? (a.isSwiping = "y")
1545							: a.instance.isSliding ||
1546							  a.instance.opts.touch.vertical === !1 ||
1547							  ("auto" === a.instance.opts.touch.vertical && n(t).width() > 800)
1548							? (a.isSwiping = "x")
1549							: ((e = Math.abs((180 * Math.atan2(a.distanceY, a.distanceX)) / Math.PI)),
1550							  (a.isSwiping = e > 45 && e < 135 ? "y" : "x")),
1551					  (a.instance.isSliding = a.isSwiping),
1552					  (a.startPoints = a.newPoints),
1553					  n.each(a.instance.slides, function (t, e) {
1554							n.fancybox.stop(e.$slide),
1555								e.$slide.css("transition-duration", "0ms"),
1556								(e.inTransition = !1),
1557								e.pos === a.instance.current.pos && (a.sliderStartPos.left = n.fancybox.getTranslate(e.$slide).left);
1558					  }),
1559					  a.instance.SlideShow && a.instance.SlideShow.isActive && a.instance.SlideShow.stop())
1560					: ("x" == s &&
1561							(a.distanceX > 0 &&
1562							(a.instance.group.length < 2 || (0 === a.instance.current.index && !a.instance.current.opts.loop))
1563								? (r += Math.pow(a.distanceX, 0.8))
1564								: a.distanceX < 0 &&
1565								  (a.instance.group.length < 2 ||
1566										(a.instance.current.index === a.instance.group.length - 1 && !a.instance.current.opts.loop))
1567								? (r -= Math.pow(-a.distanceX, 0.8))
1568								: (r += a.distanceX)),
1569					  (a.sliderLastPos = { top: "x" == s ? 0 : a.sliderStartPos.top + a.distanceY, left: r }),
1570					  a.requestId && (i(a.requestId), (a.requestId = null)),
1571					  (a.requestId = o(function () {
1572							a.sliderLastPos &&
1573								(n.each(a.instance.slides, function (t, e) {
1574									var o = e.pos - a.instance.currPos;
1575									n.fancybox.setTranslate(e.$slide, {
1576										top: a.sliderLastPos.top,
1577										left: a.sliderLastPos.left + o * a.canvasWidth + o * e.opts.gutter,
1578									});
1579								}),
1580								a.$container.addClass("fancybox-is-sliding"));
1581					  })));
1582			}),
1583			(u.prototype.onPan = function () {
1584				var t,
1585					e,
1586					a,
1587					s = this;
1588				(s.canTap = !1),
1589					(t = s.contentStartPos.width > s.canvasWidth ? s.contentStartPos.left + s.distanceX : s.contentStartPos.left),
1590					(e = s.contentStartPos.top + s.distanceY),
1591					(a = s.limitMovement(t, e, s.contentStartPos.width, s.contentStartPos.height)),
1592					(a.scaleX = s.contentStartPos.scaleX),
1593					(a.scaleY = s.contentStartPos.scaleY),
1594					(s.contentLastPos = a),
1595					s.requestId && (i(s.requestId), (s.requestId = null)),
1596					(s.requestId = o(function () {
1597						n.fancybox.setTranslate(s.$content, s.contentLastPos);
1598					}));
1599			}),
1600			(u.prototype.limitMovement = function (t, e, n, o) {
1601				var i,
1602					a,
1603					s,
1604					r,
1605					c = this,
1606					l = c.canvasWidth,
1607					u = c.canvasHeight,
1608					d = c.contentStartPos.left,
1609					f = c.contentStartPos.top,
1610					h = c.distanceX,
1611					p = c.distanceY;
1612				return (
1613					(i = Math.max(0, 0.5 * l - 0.5 * n)),
1614					(a = Math.max(0, 0.5 * u - 0.5 * o)),
1615					(s = Math.min(l - n, 0.5 * l - 0.5 * n)),
1616					(r = Math.min(u - o, 0.5 * u - 0.5 * o)),
1617					n > l &&
1618						(h > 0 && t > i && (t = i - 1 + Math.pow(-i + d + h, 0.8) || 0),
1619						h < 0 && t < s && (t = s + 1 - Math.pow(s - d - h, 0.8) || 0)),
1620					o > u &&
1621						(p > 0 && e > a && (e = a - 1 + Math.pow(-a + f + p, 0.8) || 0),
1622						p < 0 && e < r && (e = r + 1 - Math.pow(r - f - p, 0.8) || 0)),
1623					{ top: e, left: t }
1624				);
1625			}),
1626			(u.prototype.limitPosition = function (t, e, n, o) {
1627				var i = this,
1628					a = i.canvasWidth,
1629					s = i.canvasHeight;
1630				return (
1631					n > a ? ((t = t > 0 ? 0 : t), (t = t < a - n ? a - n : t)) : (t = Math.max(0, a / 2 - n / 2)),
1632					o > s ? ((e = e > 0 ? 0 : e), (e = e < s - o ? s - o : e)) : (e = Math.max(0, s / 2 - o / 2)),
1633					{ top: e, left: t }
1634				);
1635			}),
1636			(u.prototype.onZoom = function () {
1637				var e = this,
1638					a = e.contentStartPos.width,
1639					r = e.contentStartPos.height,
1640					c = e.contentStartPos.left,
1641					l = e.contentStartPos.top,
1642					u = s(e.newPoints[0], e.newPoints[1]),
1643					d = u / e.startDistanceBetweenFingers,
1644					f = Math.floor(a * d),
1645					h = Math.floor(r * d),
1646					p = (a - f) * e.percentageOfImageAtPinchPointX,
1647					g = (r - h) * e.percentageOfImageAtPinchPointY,
1648					b = (e.newPoints[0].x + e.newPoints[1].x) / 2 - n(t).scrollLeft(),
1649					m = (e.newPoints[0].y + e.newPoints[1].y) / 2 - n(t).scrollTop(),
1650					y = b - e.centerPointStartX,
1651					v = m - e.centerPointStartY,
1652					x = c + (p + y),
1653					w = l + (g + v),
1654					$ = { top: w, left: x, scaleX: e.contentStartPos.scaleX * d, scaleY: e.contentStartPos.scaleY * d };
1655				(e.canTap = !1),
1656					(e.newWidth = f),
1657					(e.newHeight = h),
1658					(e.contentLastPos = $),
1659					e.requestId && (i(e.requestId), (e.requestId = null)),
1660					(e.requestId = o(function () {
1661						n.fancybox.setTranslate(e.$content, e.contentLastPos);
1662					}));
1663			}),
1664			(u.prototype.ontouchend = function (t) {
1665				var o = this,
1666					s = Math.max(new Date().getTime() - o.startTime, 1),
1667					r = o.isSwiping,
1668					c = o.isPanning,
1669					l = o.isZooming;
1670				return (
1671					(o.endPoints = a(t)),
1672					o.$container.removeClass("fancybox-controls--isGrabbing"),
1673					n(e).off(".fb.touch"),
1674					o.requestId && (i(o.requestId), (o.requestId = null)),
1675					(o.isSwiping = !1),
1676					(o.isPanning = !1),
1677					(o.isZooming = !1),
1678					o.canTap
1679						? o.onTap(t)
1680						: ((o.speed = 366),
1681						  (o.velocityX = (o.distanceX / s) * 0.5),
1682						  (o.velocityY = (o.distanceY / s) * 0.5),
1683						  (o.speedX = Math.max(0.5 * o.speed, Math.min(1.5 * o.speed, (1 / Math.abs(o.velocityX)) * o.speed))),
1684						  void (c ? o.endPanning() : l ? o.endZooming() : o.endSwiping(r)))
1685				);
1686			}),
1687			(u.prototype.endSwiping = function (t) {
1688				var e = this,
1689					o = !1;
1690				(e.instance.isSliding = !1),
1691					(e.sliderLastPos = null),
1692					"y" == t && Math.abs(e.distanceY) > 50
1693						? (n.fancybox.animate(
1694								e.instance.current.$slide,
1695								{ top: e.sliderStartPos.top + e.distanceY + 150 * e.velocityY, opacity: 0 },
1696								150
1697						  ),
1698						  (o = e.instance.close(!0, 300)))
1699						: "x" == t && e.distanceX > 50 && e.instance.group.length > 1
1700						? (o = e.instance.previous(e.speedX))
1701						: "x" == t && e.distanceX < -50 && e.instance.group.length > 1 && (o = e.instance.next(e.speedX)),
1702					o !== !1 || ("x" != t && "y" != t) || e.instance.jumpTo(e.instance.current.index, 150),
1703					e.$container.removeClass("fancybox-is-sliding");
1704			}),
1705			(u.prototype.endPanning = function () {
1706				var t,
1707					e,
1708					o,
1709					i = this;
1710				i.contentLastPos &&
1711					(i.instance.current.opts.touch.momentum === !1
1712						? ((t = i.contentLastPos.left), (e = i.contentLastPos.top))
1713						: ((t = i.contentLastPos.left + i.velocityX * i.speed), (e = i.contentLastPos.top + i.velocityY * i.speed)),
1714					(o = i.limitPosition(t, e, i.contentStartPos.width, i.contentStartPos.height)),
1715					(o.width = i.contentStartPos.width),
1716					(o.height = i.contentStartPos.height),
1717					n.fancybox.animate(i.$content, o, 330));
1718			}),
1719			(u.prototype.endZooming = function () {
1720				var t,
1721					e,
1722					o,
1723					i,
1724					a = this,
1725					s = a.instance.current,
1726					r = a.newWidth,
1727					c = a.newHeight;
1728				a.contentLastPos &&
1729					((t = a.contentLastPos.left),
1730					(e = a.contentLastPos.top),
1731					(i = { top: e, left: t, width: r, height: c, scaleX: 1, scaleY: 1 }),
1732					n.fancybox.setTranslate(a.$content, i),
1733					r < a.canvasWidth && c < a.canvasHeight
1734						? a.instance.scaleToFit(150)
1735						: r > s.width || c > s.height
1736						? a.instance.scaleToActual(a.centerPointStartX, a.centerPointStartY, 150)
1737						: ((o = a.limitPosition(t, e, r, c)),
1738						  n.fancybox.setTranslate(a.content, n.fancybox.getTranslate(a.$content)),
1739						  n.fancybox.animate(a.$content, o, 150)));
1740			}),
1741			(u.prototype.onTap = function (t) {
1742				var e,
1743					o = this,
1744					i = n(t.target),
1745					s = o.instance,
1746					r = s.current,
1747					c = (t && a(t)) || o.startPoints,
1748					l = c[0] ? c[0].x - o.$stage.offset().left : 0,
1749					u = c[0] ? c[0].y - o.$stage.offset().top : 0,
1750					d = function (e) {
1751						var i = r.opts[e];
1752						if ((n.isFunction(i) && (i = i.apply(s, [r, t])), i))
1753							switch (i) {
1754								case "close":
1755									s.close(o.startEvent);
1756									break;
1757								case "toggleControls":
1758									s.toggleControls(!0);
1759									break;
1760								case "next":
1761									s.next();
1762									break;
1763								case "nextOrClose":
1764									s.group.length > 1 ? s.next() : s.close(o.startEvent);
1765									break;
1766								case "zoom":
1767									"image" == r.type &&
1768										(r.isLoaded || r.$ghost) &&
1769										(s.canPan()
1770											? s.scaleToFit()
1771											: s.isScaledDown()
1772											? s.scaleToActual(l, u)
1773											: s.group.length < 2 && s.close(o.startEvent));
1774							}
1775					};
1776				if (
1777					!((t.originalEvent && 2 == t.originalEvent.button) || s.isSliding || l > i[0].clientWidth + i.offset().left)
1778				) {
1779					if (i.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container")) e = "Outside";
1780					else if (i.is(".fancybox-slide")) e = "Slide";
1781					else {
1782						if (!s.current.$content || !s.current.$content.has(t.target).length) return;
1783						e = "Content";
1784					}
1785					if (o.tapped) {
1786						if (
1787							(clearTimeout(o.tapped),
1788							(o.tapped = null),
1789							Math.abs(l - o.tapX) > 50 || Math.abs(u - o.tapY) > 50 || s.isSliding)
1790						)
1791							return this;
1792						d("dblclick" + e);
1793					} else
1794						(o.tapX = l),
1795							(o.tapY = u),
1796							r.opts["dblclick" + e] && r.opts["dblclick" + e] !== r.opts["click" + e]
1797								? (o.tapped = setTimeout(function () {
1798										(o.tapped = null), d("click" + e);
1799								  }, 300))
1800								: d("click" + e);
1801					return this;
1802				}
1803			}),
1804			n(e).on("onActivate.fb", function (t, e) {
1805				e && !e.Guestures && (e.Guestures = new u(e));
1806			}),
1807			n(e).on("beforeClose.fb", function (t, e) {
1808				e && e.Guestures && e.Guestures.destroy();
1809			});
1810	})(window, document, window.jQuery),
1811	(function (t, e) {
1812		"use strict";
1813		var n = function (t) {
1814			(this.instance = t), this.init();
1815		};
1816		e.extend(n.prototype, {
1817			timer: null,
1818			isActive: !1,
1819			$button: null,
1820			speed: 3e3,
1821			init: function () {
1822				var t = this;
1823				(t.$button = t.instance.$refs.toolbar.find("[data-fancybox-play]").on("click", function () {
1824					t.toggle();
1825				})),
1826					(t.instance.group.length < 2 || !t.instance.group[t.instance.currIndex].opts.slideShow) && t.$button.hide();
1827			},
1828			set: function () {
1829				var t = this;
1830				t.instance &&
1831				t.instance.current &&
1832				(t.instance.current.opts.loop || t.instance.currIndex < t.instance.group.length - 1)
1833					? (t.timer = setTimeout(function () {
1834							t.instance.next();
1835					  }, t.instance.current.opts.slideShow.speed || t.speed))
1836					: (t.stop(), (t.instance.idleSecondsCounter = 0), t.instance.showControls());
1837			},
1838			clear: function () {
1839				var t = this;
1840				clearTimeout(t.timer), (t.timer = null);
1841			},
1842			start: function () {
1843				var t = this,
1844					e = t.instance.current;
1845				t.instance &&
1846					e &&
1847					(e.opts.loop || e.index < t.instance.group.length - 1) &&
1848					((t.isActive = !0),
1849					t.$button.attr("title", e.opts.i18n[e.opts.lang].PLAY_STOP).addClass("fancybox-button--pause"),
1850					e.isComplete && t.set());
1851			},
1852			stop: function () {
1853				var t = this,
1854					e = t.instance.current;
1855				t.clear(),
1856					t.$button.attr("title", e.opts.i18n[e.opts.lang].PLAY_START).removeClass("fancybox-button--pause"),
1857					(t.isActive = !1);
1858			},
1859			toggle: function () {
1860				var t = this;
1861				t.isActive ? t.stop() : t.start();
1862			},
1863		}),
1864			e(t).on({
1865				"onInit.fb": function (t, e) {
1866					e && !e.SlideShow && (e.SlideShow = new n(e));
1867				},
1868				"beforeShow.fb": function (t, e, n, o) {
1869					var i = e && e.SlideShow;
1870					o ? i && n.opts.slideShow.autoStart && i.start() : i && i.isActive && i.clear();
1871				},
1872				"afterShow.fb": function (t, e, n) {
1873					var o = e && e.SlideShow;
1874					o && o.isActive && o.set();
1875				},
1876				"afterKeydown.fb": function (n, o, i, a, s) {
1877					var r = o && o.SlideShow;
1878					!r ||
1879						!i.opts.slideShow ||
1880						(80 !== s && 32 !== s) ||
1881						e(t.activeElement).is("button,a,input") ||
1882						(a.preventDefault(), r.toggle());
1883				},
1884				"beforeClose.fb onDeactivate.fb": function (t, e) {
1885					var n = e && e.SlideShow;
1886					n && n.stop();
1887				},
1888			}),
1889			e(t).on("visibilitychange", function () {
1890				var n = e.fancybox.getInstance(),
1891					o = n && n.SlideShow;
1892				o && o.isActive && (t.hidden ? o.clear() : o.set());
1893			});
1894	})(document, window.jQuery),
1895	(function (t, e) {
1896		"use strict";
1897		var n = (function () {
1898			var e,
1899				n,
1900				o,
1901				i = [
1902					[
1903						"requestFullscreen",
1904						"exitFullscreen",
1905						"fullscreenElement",
1906						"fullscreenEnabled",
1907						"fullscreenchange",
1908						"fullscreenerror",
1909					],
1910					[
1911						"webkitRequestFullscreen",
1912						"webkitExitFullscreen",
1913						"webkitFullscreenElement",
1914						"webkitFullscreenEnabled",
1915						"webkitfullscreenchange",
1916						"webkitfullscreenerror",
1917					],
1918					[
1919						"webkitRequestFullScreen",
1920						"webkitCancelFullScreen",
1921						"webkitCurrentFullScreenElement",
1922						"webkitCancelFullScreen",
1923						"webkitfullscreenchange",
1924						"webkitfullscreenerror",
1925					],
1926					[
1927						"mozRequestFullScreen",
1928						"mozCancelFullScreen",
1929						"mozFullScreenElement",
1930						"mozFullScreenEnabled",
1931						"mozfullscreenchange",
1932						"mozfullscreenerror",
1933					],
1934					[
1935						"msRequestFullscreen",
1936						"msExitFullscreen",
1937						"msFullscreenElement",
1938						"msFullscreenEnabled",
1939						"MSFullscreenChange",
1940						"MSFullscreenError",
1941					],
1942				],
1943				a = {};
1944			for (n = 0; n < i.length; n++)
1945				if (((e = i[n]), e && e[1] in t)) {
1946					for (o = 0; o < e.length; o++) a[i[0][o]] = e[o];
1947					return a;
1948				}
1949			return !1;
1950		})();
1951		if (!n) return void (e.fancybox.defaults.btnTpl.fullScreen = !1);
1952		var o = {
1953			request: function (e) {
1954				(e = e || t.documentElement), e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT);
1955			},
1956			exit: function () {
1957				t[n.exitFullscreen]();
1958			},
1959			toggle: function (e) {
1960				(e = e || t.documentElement), this.isFullscreen() ? this.exit() : this.request(e);
1961			},
1962			isFullscreen: function () {
1963				return Boolean(t[n.fullscreenElement]);
1964			},
1965			enabled: function () {
1966				return Boolean(t[n.fullscreenEnabled]);
1967			},
1968		};
1969		e(t).on({
1970			"onInit.fb": function (t, e) {
1971				var n,
1972					i = e.$refs.toolbar.find("[data-fancybox-fullscreen]");
1973				e && !e.FullScreen && e.group[e.currIndex].opts.fullScreen
1974					? ((n = e.$refs.container),
1975					  n.on("click.fb-fullscreen", "[data-fancybox-fullscreen]", function (t) {
1976							t.stopPropagation(), t.preventDefault(), o.toggle(n[0]);
1977					  }),
1978					  e.opts.fullScreen && e.opts.fullScreen.autoStart === !0 && o.request(n[0]),
1979					  (e.FullScreen = o))
1980					: i.hide();
1981			},
1982			"afterKeydown.fb": function (t, e, n, o, i) {
1983				e && e.FullScreen && 70 === i && (o.preventDefault(), e.FullScreen.toggle(e.$refs.container[0]));
1984			},
1985			"beforeClose.fb": function (t) {
1986				t && t.FullScreen && o.exit();
1987			},
1988		}),
1989			e(t).on(n.fullscreenchange, function () {
1990				var t = e.fancybox.getInstance();
1991				t.current &&
1992					"image" === t.current.type &&
1993					t.isAnimating &&
1994					(t.current.$content.css("transition", "none"), (t.isAnimating = !1), t.update(!0, !0, 0));
1995			});
1996	})(document, window.jQuery),
1997	(function (t, e) {
1998		"use strict";
1999		var n = function (t) {
2000			(this.instance = t), this.init();
2001		};
2002		e.extend(n.prototype, {
2003			$button: null,
2004			$grid: null,
2005			$list: null,
2006			isVisible: !1,
2007			init: function () {
2008				var t = this,
2009					e = t.instance.group[0],
2010					n = t.instance.group[1];
2011				(t.$button = t.instance.$refs.toolbar.find("[data-fancybox-thumbs]")),
2012					t.instance.group.length > 1 &&
2013					t.instance.group[t.instance.currIndex].opts.thumbs &&
2014					("image" == e.type || e.opts.thumb || e.opts.$thumb) &&
2015					("image" == n.type || n.opts.thumb || n.opts.$thumb)
2016						? (t.$button.on("click", function () {
2017								t.toggle();
2018						  }),
2019						  (t.isActive = !0))
2020						: (t.$button.hide(), (t.isActive = !1));
2021			},
2022			create: function () {
2023				var t,
2024					n,
2025					o = this.instance;
2026				(this.$grid = e('<div class="fancybox-thumbs"></div>').appendTo(o.$refs.container)),
2027					(t = "<ul>"),
2028					e.each(o.group, function (e, o) {
2029						(n = o.opts.thumb || (o.opts.$thumb ? o.opts.$thumb.attr("src") : null)),
2030							n || "image" !== o.type || (n = o.src),
2031							n &&
2032								n.length &&
2033								(t +=
2034									'<li data-index="' +
2035									e +
2036									'"  tabindex="0" class="fancybox-thumbs-loading"><img data-src="' +
2037									n +
2038									'" /></li>');
2039					}),
2040					(t += "</ul>"),
2041					(this.$list = e(t)
2042						.appendTo(this.$grid)
2043						.on("click", "li", function () {
2044							o.jumpTo(e(this).data("index"));
2045						})),
2046					this.$list
2047						.find("img")
2048						.hide()
2049						.one("load", function () {
2050							var t,
2051								n,
2052								o,
2053								i,
2054								a = e(this).parent().removeClass("fancybox-thumbs-loading"),
2055								s = a.outerWidth(),
2056								r = a.outerHeight();
2057							(t = this.naturalWidth || this.width),
2058								(n = this.naturalHeight || this.height),
2059								(o = t / s),
2060								(i = n / r),
2061								o >= 1 && i >= 1 && (o > i ? ((t /= i), (n = r)) : ((t = s), (n /= o))),
2062								e(this)
2063									.css({
2064										width: Math.floor(t),
2065										height: Math.floor(n),
2066										"margin-top": Math.min(0, Math.floor(0.3 * r - 0.3 * n)),
2067										"margin-left": Math.min(0, Math.floor(0.5 * s - 0.5 * t)),
2068									})
2069									.show();
2070						})
2071						.each(function () {
2072							this.src = e(this).data("src");
2073						});
2074			},
2075			focus: function () {
2076				this.instance.current &&
2077					this.$list
2078						.children()
2079						.removeClass("fancybox-thumbs-active")
2080						.filter('[data-index="' + this.instance.current.index + '"]')
2081						.addClass("fancybox-thumbs-active")
2082						.focus();
2083			},
2084			close: function () {
2085				this.$grid.hide();
2086			},
2087			update: function () {
2088				this.instance.$refs.container.toggleClass("fancybox-show-thumbs", this.isVisible),
2089					this.isVisible
2090						? (this.$grid || this.create(), this.instance.trigger("onThumbsShow"), this.focus())
2091						: this.$grid && this.instance.trigger("onThumbsHide"),
2092					this.instance.update();
2093			},
2094			hide: function () {
2095				(this.isVisible = !1), this.update();
2096			},
2097			show: function () {
2098				(this.isVisible = !0), this.update();
2099			},
2100			toggle: function () {
2101				(this.isVisible = !this.isVisible), this.update();
2102			},
2103		}),
2104			e(t).on({
2105				"onInit.fb": function (t, e) {
2106					e && !e.Thumbs && (e.Thumbs = new n(e));
2107				},
2108				"beforeShow.fb": function (t, e, n, o) {
2109					var i = e && e.Thumbs;
2110					if (i && i.isActive) {
2111						if (n.modal) return i.$button.hide(), void i.hide();
2112						o && e.opts.thumbs.autoStart === !0 && i.show(), i.isVisible && i.focus();
2113					}
2114				},
2115				"afterKeydown.fb": function (t, e, n, o, i) {
2116					var a = e && e.Thumbs;
2117					a && a.isActive && 71 === i && (o.preventDefault(), a.toggle());
2118				},
2119				"beforeClose.fb": function (t, e) {
2120					var n = e && e.Thumbs;
2121					n && n.isVisible && e.opts.thumbs.hideOnClose !== !1 && n.close();
2122				},
2123			});
2124	})(document, window.jQuery),
2125	(function (t, e, n) {
2126		"use strict";
2127		function o() {
2128			var t = e.location.hash.substr(1),
2129				n = t.split("-"),
2130				o = n.length > 1 && /^\+?\d+$/.test(n[n.length - 1]) ? parseInt(n.pop(-1), 10) || 1 : 1,
2131				i = n.join("-");
2132			return o < 1 && (o = 1), { hash: t, index: o, gallery: i };
2133		}
2134		function i(t) {
2135			var e;
2136			"" !== t.gallery &&
2137				((e = n("[data-fancybox='" + n.escapesalector(t.gallery) + "']").eq(t.index - 1)),
2138				e.length ? e.trigger("click") : n("#" + n.escapesalector(t.gallery)).trigger("click"));
2139		}
2140		function a(t) {
2141			var e;
2142			return !!t && ((e = t.current ? t.current.opts : t.opts), e.$orig ? e.$orig.data("fancybox") : e.hash || "");
2143		}
2144		n.escapesalector ||
2145			(n.escapesalector = function (t) {
2146				var e = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,
2147					n = function (t, e) {
2148						return e
2149							? "\0" === t
2150								? "�"
2151								: t.slice(0, -1) + "\\" + t.charCodeAt(t.length - 1).toString(16) + " "
2152							: "\\" + t;
2153					};
2154				return (t + "").replace(e, n);
2155			});
2156		var s = null,
2157			r = null;
2158		n(function () {
2159			setTimeout(function () {
2160				n.fancybox.defaults.hash !== !1 &&
2161					(n(t).on({
2162						"onInit.fb": function (t, e) {
2163							var n, i;
2164							e.group[e.currIndex].opts.hash !== !1 &&
2165								((n = o()), (i = a(e)), i && n.gallery && i == n.gallery && (e.currIndex = n.index - 1));
2166						},
2167						"beforeShow.fb": function (n, o, i, c) {
2168							var l;
2169							i.opts.hash !== !1 &&
2170								((l = a(o)),
2171								l &&
2172									"" !== l &&
2173									(e.location.hash.indexOf(l) < 0 && (o.opts.origHash = e.location.hash),
2174									(s = l + (o.group.length > 1 ? "-" + (i.index + 1) : "")),
2175									"replaceState" in e.history
2176										? (r && clearTimeout(r),
2177										  (r = setTimeout(function () {
2178												e.history[c ? "pushState" : "replaceState"](
2179													{},
2180													t.title,
2181													e.location.pathname + e.location.search + "#" + s
2182												),
2183													(r = null);
2184										  }, 300)))
2185										: (e.location.hash = s)));
2186						},
2187						"beforeClose.fb": function (o, i, c) {
2188							var l, u;
2189							r && clearTimeout(r),
2190								c.opts.hash !== !1 &&
2191									((l = a(i)),
2192									(u = i && i.opts.origHash ? i.opts.origHash : ""),
2193									l &&
2194										"" !== l &&
2195										("replaceState" in history
2196											? e.history.replaceState({}, t.title, e.location.pathname + e.location.search + u)
2197											: ((e.location.hash = u), n(e).scrollTop(i.scrollTop).scrollLeft(i.scrollLeft))),
2198									(s = null));
2199						},
2200					}),
2201					n(e).on("hashchange.fb", function () {
2202						var t = o();
2203						n.fancybox.getInstance()
2204							? !s ||
2205							  s === t.gallery + "-" + t.index ||
2206							  (1 === t.index && s == t.gallery) ||
2207							  ((s = null), n.fancybox.close())
2208							: "" !== t.gallery && i(t);
2209					}),
2210					n(e).one("unload.fb popstate.fb", function () {
2211						n.fancybox.getInstance("close", !0, 0);
2212					}),
2213					i(o()));
2214			}, 50);
2215		});
2216	})(document, window, window.jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.