1! function(l, r, g, b) { 2 "use strict"; 3 if (g) 4 if (g.fn.fancybox) "console" in l && console.log("fancyBox already initialized"); 5 else { 6 var t, e = { 7 loop: !1, 8 margin: [44, 0], 9 gutter: 50, 10 keyboard: !0, 11 arrows: !0, 12 infobar: !0, 13 toolbar: !0, 14 buttons: ["slideShow", "fullScreen", "thumbs", "share", "close"], 15 idleTime: 3, 16 smallBtn: "auto", 17 protect: !1, 18 modal: !1, 19 image: { 20 preload: "auto" 21 }, 22 ajax: { 23 settings: { 24 data: { 25 fancybox: !0 26 } 27 } 28 }, 29 iframe: { 30 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>', 31 preload: !0, 32 css: {}, 33 attr: { 34 scrolling: "auto" 35 } 36 }, 37 defaultType: "image", 38 animationEffect: "zoom", 39 animationDuration: 500, 40 zoomOpacity: "auto", 41 transitionEffect: "fade", 42 transitionDuration: 366, 43 slideClass: "", 44 baseClass: "", 45 baseTpl: '<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-inner"><div class="fancybox-infobar"><span data-fancybox-index></span> / <span data-fancybox-count></span></div><div class="fancybox-toolbar">{{buttons}}</div><div class="fancybox-navigation">{{arrows}}</div><div class="fancybox-stage"></div><div class="fancybox-caption-wrap"><div class="fancybox-caption"></div></div></div></div>', 46 spinnerTpl: '<div class="fancybox-loading"></div>', 47 errorTpl: '<div class="fancybox-error"><p>{{ERROR}}<p></div>', 48 btnTpl: { 49 download: '<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}"><svg viewBox="0 0 40 40"><path d="M20,23 L20,8 L20,23 L13,16 L20,23 L27,16 L20,23 M26,28 L13,28 L27,28 L14,28" /></svg></a>', 50 zoom: '<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}"><svg viewBox="0 0 40 40"><path d="M 18,17 m-8,0 a 8,8 0 1,0 16,0 a 8,8 0 1,0 -16,0 M25,23 L31,29 L25,23" /></svg></button>', 51 close: '<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"><svg viewBox="0 0 40 40"><path d="M10,10 L30,30 M30,10 L10,30" /></svg></button>', 52 smallBtn: '<button data-fancybox-close class="fancybox-close-small" title="{{CLOSE}}"></button>', 53 arrowLeft: '<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}"><svg viewBox="0 0 40 40"><path d="M10,20 L30,20 L10,20 L18,28 L10,20 L18,12 L10,20"></path></svg></button>', 54 arrowRight: '<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}"><svg viewBox="0 0 40 40"><path d="M30,20 L10,20 L30,20 L22,28 L30,20 L22,12 L30,20"></path></svg></button>' 55 }, 56 parentEl: "body", 57 autoFocus: !1, 58 backFocus: !0, 59 trapFocus: !0, 60 fullScreen: { 61 autoStart: !1 62 }, 63 touch: { 64 vertical: !0, 65 momentum: !0 66 }, 67 hash: null, 68 media: {}, 69 slideShow: { 70 autoStart: !1, 71 speed: 4e3 72 }, 73 thumbs: { 74 autoStart: !1, 75 hideOnClose: !0, 76 parentEl: ".fancybox-container", 77 axis: "y" 78 }, 79 wheel: "auto", 80 onInit: g.noop, 81 beforeLoad: g.noop, 82 afterLoad: g.noop, 83 beforeShow: g.noop, 84 afterShow: g.noop, 85 beforeClose: g.noop, 86 afterClose: g.noop, 87 onActivate: g.noop, 88 onDeactivate: g.noop, 89 clickContent: function(t, e) { 90 return "image" === t.type && "zoom" 91 }, 92 clickSlide: "close", 93 clickOutside: "close", 94 dblclickContent: !1, 95 dblclickSlide: !1, 96 dblclickOutside: !1, 97 mobile: { 98 idleTime: !1, 99 margin: 0, 100 clickContent: function(t, e) { 101 return "image" === t.type && "toggleControls" 102 }, 103 clickSlide: function(t, e) { 104 return "image" === t.type ? "toggleControls" : "close" 105 }, 106 dblclickContent: function(t, e) { 107 return "image" === t.type && "zoom" 108 }, 109 dblclickSlide: function(t, e) { 110 return "image" === t.type && "zoom" 111 } 112 }, 113 lang: "en", 114 i18n: { 115 en: { 116 CLOSE: "Close", 117 NEXT: "Next", 118 PREV: "Previous", 119 ERROR: "The requested content cannot be loaded. <br/> Please try again later.", 120 PLAY_START: "Start slideshow", 121 PLAY_STOP: "Pause slideshow", 122 FULL_SCREEN: "Full screen", 123 THUMBS: "Thumbnails", 124 DOWNLOAD: "Download", 125 SHARE: "Share", 126 ZOOM: "Zoom" 127 }, 128 de: { 129 CLOSE: "Schliessen", 130 NEXT: "Weiter", 131 PREV: "Zurück", 132 ERROR: "Die angeforderten Daten konnten nicht geladen werden. <br/>
132 Bitte versuchen Sie es später nochmal.", 133 PLAY_START: "Diaschau starten", 134 PLAY_STOP: "Diaschau beenden", 135 FULL_SCREEN: "Vollbild", 136 THUMBS: "Vorschaubilder", 137 DOWNLOAD: "Herunterladen", 138 SHARE: "Teilen", 139 ZOOM: "MaÃstab" 140 } 141 } 142 }, 143 a = g(l), 144 c = g(r), 145 i = 0, 146 d = l.requestAnimationFrame || l.webkitRequestAnimationFrame || l.mozRequestAnimationFrame || l.oRequestAnimationFrame || function(t) { 147 return l.setTimeout(t, 1e3 / 60) 148 }, 149 f = function() { 150 var t, e = r.createElement("fakeelement"), 151 n = { 152 transition: "transitionend", 153 OTransition: "oTransitionEnd", 154 MozTransition: "transitionend", 155 WebkitTransition: "webkitTransitionEnd" 156 }; 157 for (t in n) 158 if (e.style[t] !== b) return n[t]; 159 return "transitionend" 160 }(), 161 p = function(t) { 162 return t && t.length && t[0].offsetHeight 163 }, 164 o = function(t, e, n) { 165 var o = this; 166 o.opts = g.extend(!0, { 167 index: n 168 }, g.fancybox.defaults, e || {}), g.fancybox.isMobile && (o.opts = g.extend(!0, {}, o.opts, o.opts.mobile)), e && g.isArray(e.buttons) && (o.opts.buttons = e.buttons), o.id = o.opts.id || ++i, o.group = [], o.currIndex = parseInt(o.opts.index, 10) || 0, o.prevIndex = null, o.prevPos = null, o.currPos = 0, o.firstRun = null, o.createGroup(t), o.group.length && (o.$lastFocus = g(r.activeElement).blur(), o.slides = {}, o.init()) 169 }; 170 g.extend(o.prototype, { 171 init: function() { 172 var t, e, n, o = this, 173 i = o.group[o.currIndex], 174 a = i.opts, 175 s = g.fancybox.scrollbarWidth; 176 o.scrollTop = c.scrollTop(), o.scrollLeft = c.scrollLeft(), g.fancybox.getInstance() || (g("body").addClass("fancybox-active"), /iPad|iPhone|iPod/.test(navigator.userAgent) && !l.MSStream ? "image" !== i.type && g("body").css("top", -1 * g("body").scrollTop()).addClass("fancybox-iosfix") : !g.fancybox.isMobile && r.body.scrollHeight > l.innerHeight && (s === b && (t = g('<div style="width:50px;height:50px;overflow:scroll;" />').appendTo("body"), s = g.fancybox.scrollbarWidth = t[0].offsetWidth - t[0].clientWidth, t.remove()), g("head").append('<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar { margin-right: ' + s + "px; }</style>"), g("body").addClass("compensate-for-scrollbar"))), n = "", g.each(a.buttons, function(t, e) { 177 n += a.btnTpl[e] || "" 178 }), e = g(o.translate(o, a.baseTpl.replace("{{buttons}}", n).replace("{{arrows}}", a.btnTpl.arrowLeft + a.btnTpl.arrowRight))).attr("id", "fancybox-container-" + o.id).addClass("fancybox-is-hidden").addClass(a.baseClass).data("FancyBox", o).appendTo(a.parentEl), o.$refs = { 179 container: e 180 }, ["bg", "inner", "infobar", "toolbar", "stage", "caption", "navigation"].forEach(function(t) { 181 o.$refs[t] = e.find(".fancybox-" + t) 182 }), o.trigger("onInit"), o.activate(), o.jumpTo(o.currIndex) 183 }, 184 translate: function(t, e) { 185 var o = t.opts.i18n[t.opts.lang]; 186 return e.replace(/\{\{(\w+)\}\}/g, function(t, e) { 187 var n = o[e]; 188 return n === b ? t : n 189 }) 190 }, 191 createGroup: function(t) { 192 var l = this, 193 e = g.makeArray(t); 194 g.each(e, function(t, e) { 195 var n, o, i, a, s, r = {}, 196 c = {}; 197 g.isPlainObject(e) ? c = (r = e).opts || e : "object" === g.type(e) && g(e).length ? (c = (n = g(e)).data(), (c = g.extend({}, c, c.options || {})).$orig = n, r.src = c.src || n.attr("href"), r.type || r.src || (r.type = "inline", r.src = e)) : r = { 198 type: "html", 199 src: e + "" 200 }, r.opts = g.extend(!0, {}, l.opts, c), g.isArray(c.buttons) && (r.opts.buttons = c.buttons), o = r.type || r.opts.type, a = r.src || "", !o && a && (a.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i) ? o = "image" : a.match(/\.(pdf)((\?|#).*)?$/i) ? o = "pdf" : (i = a.match(/\.(mp4|mov|ogv)((\?|#).*)?$/i)) ? (o = "video", r.opts.videoFormat || (r.opts.videoFormat = "video/" + ("ogv" === i[1] ? "ogg" : i[1]))) : "#" === a.charAt(0) && (o = "inline")), o ? r.type = o : l.trigger("objectNeedsType", r), r.index = l.group.length, r.opts.$orig && !r.opts.$orig.length && delete r.opts.$orig, !r.opts.$thumb && r.opts.$orig && (r.opts.$thumb = r.opts.$orig.find("img:first")), r.opts.$thumb && !r.opts.$thumb.length && delete r.opts.$thumb, "function" === g.type(r.opts.caption) && (r.opts.caption = r.opts.caption.apply(e, [l, r])), "function" === g.type(l.opts.caption) && (r.opts.caption = l.opts.caption.apply(e, [l, r])), r.opts.caption instanceof g || (r.opts.caption = r.opts.caption === b ? "" : r.opts.caption + ""), "ajax" === o && 1 < (s = a.split(/\s+/, 2)).length && (r.src = s.shift(), r.opts.filter = s.shift()), "auto" == r.opts.smallBtn && (-1 < g.inArray(o, ["html", "inline", "ajax"]) ? (r.opts.toolbar = !1, r.opts.smallBtn = !0) : r.opts.smallBtn = !1), "pdf" === o && (r.type = "iframe", r.opts.iframe.preload = !1), r.opts.modal && (r.opts = g.extend(!0, r.opts, { 201 infobar: 0, 202 toolbar: 0, 203 smallBtn: 0, 204 keyboard: 0, 205 slideShow: 0, 206 fullScreen: 0, 207 thumbs: 0, 208 touch: 0, 209 clickContent: !1, 210 clickSlide: !1, 211 clickOutside: !1, 212 dblclickContent: !1, 213 dblclickSlide: !1, 214 dblclickOutside: !1 215 })), l.group.push(r) 216 }) 217 }, 218 addEvents: function() { 219 var o = this; 220 o.removeEvents(), o.$refs.container.on("click.fb-close", "[data-fancybox-close]", function(t) { 221 t.stopPropagation(), t.preventDefault(), o.close(t) 222 }).on("click.fb-prev touchend.fb-prev", "[data-fancybox-prev]", function(t) { 223 t.stopPropagation(), t.preventDefault(), o.previous() 224 }).on("click.fb-next touchend.fb-next", "[data-fancybox-next]", function(t) { 225 t.stopPropagation(), t.preventDefault(), o.next() 226 }).on("click.fb", "[data-fancybox-zoom]", function(t) { 227 o[o.isScaledDown() ? "scaleToActual" : "scaleToFit"]() 228 }), a.on("orientationchange.fb resize.fb", function(t) { 229 t && t.originalEvent && "resize" === t.originalEvent.type ? d(function() { 230 o.update() 231 }) : (o.$refs.stage.hide(), setTimeout(function() { 232 o.$refs.stage.show(), o.update() 233 }, 600)) 234 }), c.on("focusin.fb", function(t) { 235 var e = g.fancybox ? g.fancybox.getInstance() : null; 236 e.isClosing || !e.current || !e.current.opts.trapFocus || g(t.target).hasClass("fancybox-container") || g(t.target).is(r) || e && "fixed" !== g(t.target).css("position") && !e.$refs.container.has(t.target).length && (t.stopPropagation(), e.focus(), a.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft)) 237 }), c.on("keydown.fb", function(t) { 238 var e = o.current, 239 n = t.keyCode || t.which; 240 if (e && e.opts.keyboard && !g(t.target).is("input") && !g(t.target).is("textarea")) return 8 === n || 27 === n ? (t.preventDefault(), void o.close(t)) : 37 === n || 38 === n ? (t.preventDefault(), void o.previous()) : 39 === n || 40 === n ? (t.preventDefault(), void o.next()) : void o.trigger("afterKeydown", t, n) 241 }), o.group[o.currIndex].opts.idleTime && (o.idleSecondsCounter = 0, c.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle", function(t) { 242 o.idleSecondsCounter = 0, o.isIdle && o.showControls(), o.isIdle = !1 243 }), o.idleInterval = l.setInterval(function() { 244 o.idleSecondsCounter++, o.idleSecondsCounter >= o.group[o.currIndex].opts.idleTime && !o.isDragging && (o.isIdle = !0, o.idleSecondsCounter = 0, o.hideControls()) 245 }, 1e3)) 246 }, 247 removeEvents: function() { 248 a.off("orientationchange.fb resize.fb"), c.off("focusin.fb keydown.fb .fb-idle"), this.$refs.container.off(".fb-close .fb-prev .fb-next"), this.idleInterval && (l.clearInterval(this.idleInterval), this.idleInterval = null) 249 }, 250 previous: function(t) { 251 return this.jumpTo(this.currPos - 1, t) 252 }, 253 next: function(t) { 254 return this.jumpTo(this.currPos + 1, t) 255 }, 256 jumpTo: function(t, o, e) { 257 var n, i, a, s, r, c, l, u = this, 258 d = u.group.length; 259 if (!(u.isDragging || u.isClosing || u.isAnimating && u.firstRun)) { 260 if (t = parseInt(t, 10), !(i = u.current ? u.current.opts.loop : u.opts.loop) && (t < 0 || d <= t)) return !1; 261 if (n = u.firstRun = null === u.firstRun, !(d < 2 && !n && u.isDragging)) { 262 if (s = u.current, u.prevIndex = u.currIndex, u.prevPos = u.currPos, a = u.createSlide(t), 1 < d && ((i || 0 < a.index) && u.createSlide(t - 1), (i || a.index < d - 1) && u.createSlide(t + 1)), u.current = a, u.currIndex = a.index, u.currPos = a.pos, u.trigger("beforeShow", n), u.updateControls(), c = g.fancybox.getTranslate(a.$slide), a.isMoved = (0 !== c.left || 0 !== c.top) && !a.$slide.hasClass("fancybox-animated"), a.forcedDuration = b, g.isNumeric(o) ? a.forcedDuration = o : o = a.opts[n ? "animationDuration" : "transitionDuration"], o = parseInt(o, 10), n) return a.opts.animationEffect && o && u.$refs.container.css("transition-duration", o + "ms"), u.$refs.container.removeClass("fancybox-is-hidden"), p(u.$refs.container), u.$refs.container.addClass("fancybox-is-open"), a.$slide.addClass("fancybox-slide--current"), u.loadSlide(a), void u.preload("image"); 263 g.each(u.slides, function(t, e) { 264 g.fancybox.stop(e.$slide) 265 }), a.$slide.removeClass("fancybox-slide--next fancybox-slide--previous").addClass("fancybox-slide--current"), a.isMoved ? (r = Math.round(a.$slide.width()), g.each(u.slides, function(t, e) { 266 var n = e.pos - a.pos; 267 g.fancybox.animate(e.$slide, { 268 top: 0, 269 left: n * r + n * e.opts.gutter 270 }, o, function() { 271 e.$slide.removeAttr("style").removeClass("fancybox-slide--next fancybox-slide--previous"), e.pos === u.currPos && (a.isMoved = !1, u.complete()) 272 }) 273 })) : u.$refs.stage.children().removeAttr("style"), a.isLoaded ? u.revealContent(a) : u.loadSlide(a), u.preload("image"), s.pos !== a.pos && (l = "fancybox-slide--" + (s.pos > a.pos ? "next" : "previous"), s.$slide.removeClass("fancybox-slide--complete fancybox-slide--current fancybox-slide--next fancybox-slide--previous"), s.isComplete = !1, o && (a.isMoved || a.opts.transitionEffect) && (a.isMoved ? s.$slide.addClass(l) : (l = "fancybox-animated " + l + " fancybox-fx-" + a.opts.transitionEffect, g.fancybox.animate(s.$slide, l, o, function() { 274 s.$slide.removeClass(l).removeAttr("style") 275 })))) 276 } 277 } 278 }, 279 createSlide: function(t) { 280 var e, n, o = this; 281 return n = (n = t % o.group.length) < 0 ? o.group.length + n : n, !o.slides[t] && o.group[n] && (e = g('<div class="fancybox-slide"></div>').appendTo(o.$refs.stage), o.slides[t] = g.extend(!0, {}, o.group[n], { 282 pos: t, 283 $slide: e, 284 isLoaded: !1 285 }), o.updateSlide(o.slides[t])), o.slides[t] 286 }, 287 scaleToActual: function(t, e, n) { 288 var o, i, a, s, r, c = this, 289 l = c.current, 290 u = l.$content, 291 d = parseInt(l.$slide.width(), 10), 292 f = parseInt(l.$slide.height(), 10), 293 p = l.width, 294 h = l.height; 295 "image" != l.type || l.hasError || !u || c.isAnimating || (g.fancybox.stop(u), c.isAnimating = !0, t = t === b ? .5 * d : t, e = e === b ? .5 * f : e, s = p / (o = g.fancybox.getTranslate(u)).width, r = h / o.height, i = .5 * d - .5 * p, a = .5 * f - .5 * h, d < p && (0 < (i = o.left * s - (t * s - t)) && (i = 0), i < d - p && (i = d - p)), f < h && (0 < (a = o.top * r - (e * r - e)) && (a = 0), a < f - h && (a = f - h)), c.updateCursor(p, h), g.fancybox.animate(u, { 296 top: a, 297 left: i, 298 scaleX: s, 299 scaleY: r 300 }, n || 330, function() { 301 c.isAnimating = !1 302 }), c.SlideShow && c.SlideShow.isActive && c.SlideShow.stop()) 303 }, 304 scaleToFit: function(t) { 305 var e, n = this, 306 o = n.current, 307 i = o.$content; 308 "image" != o.type || o.hasError || !i || n.isAnimating || (g.fancybox.stop(i), n.isAnimating = !0, e = n.getFitPos(o), n.updateCursor(e.width, e.height), g.fancybox.animate(i, { 309 top: e.top, 310 left: e.left, 311 scaleX: e.width / i.width(), 312 scaleY: e.height / i.height() 313 }, t || 330, function() { 314 n.isAnimating = !1 315 })) 316 }, 317 getFitPos: function(t) { 318 var e, n, o, i, a, s = t.$content, 319 r = t.width, 320 c = t.height, 321 l = t.opts.margin; 322 return !(!s || !s.length || !r && !c) && ("number" === g.type(l) && (l = [l, l]), 2 == l.length && (l = [l[0], l[1], l[0], l[1]]), e = parseInt(this.$refs.stage.width(), 10) - (l[1] + l[3]), n = parseInt(this.$refs.stage.height(), 10) - (l[0] + l[2]), o = Math.min(1, e / r, n / c), i = Math.floor(o * r), a = Math.floor(o * c), { 323 top: Math.floor(.5 * (n - a)) + l[0], 324 left: Math.floor(.5 * (e - i)) + l[3], 325 width: i, 326 height: a 327
327 }) 328 }, 329 update: function() { 330 var n = this; 331 g.each(n.slides, function(t, e) { 332 n.updateSlide(e) 333 }) 334 }, 335 updateSlide: function(t, e) { 336 var n = this, 337 o = t && t.$content; 338 o && (t.width || t.height) && (n.isAnimating = !1, g.fancybox.stop(o), g.fancybox.setTranslate(o, n.getFitPos(t)), t.pos === n.currPos && n.updateCursor()), t.$slide.trigger("refresh"), n.trigger("onUpdate", t) 339 }, 340 centerSlide: function(t, e) { 341 var n, o; 342 this.current && (n = Math.round(t.$slide.width()), o = t.pos - this.current.pos, g.fancybox.animate(t.$slide, { 343 top: 0, 344 left: o * n + o * t.opts.gutter, 345 opacity: 1 346 }, e === b ? 0 : e, null, !1)) 347 }, 348 updateCursor: function(t, e) { 349 var n = this, 350 o = n.$refs.container.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-drag fancybox-can-zoomOut"); 351 n.current && !n.isClosing && (n.isZoomable() ? (o.addClass("fancybox-is-zoomable"), (t !== b && e !== b ? t < n.current.width && e < n.current.height : n.isScaledDown()) ? o.addClass("fancybox-can-zoomIn") : n.current.opts.touch ? o.addClass("fancybox-can-drag") : o.addClass("fancybox-can-zoomOut")) : n.current.opts.touch && o.addClass("fancybox-can-drag")) 352 }, 353 isZoomable: function() { 354 var t, e = this.current; 355 if (e && !this.isClosing) return !!("image" === e.type && e.isLoaded && !e.hasError && ("zoom" === e.opts.clickContent || g.isFunction(e.opts.clickContent) && "zoom" === e.opts.clickContent(e)) && (t = this.getFitPos(e), e.width > t.width || e.height > t.height)) 356 }, 357 isScaledDown: function() { 358 var t = this.current, 359 e = t.$content, 360 n = !1; 361 return e && (n = (n = g.fancybox.getTranslate(e)).width < t.width || n.height < t.height), n 362 }, 363 canPan: function() { 364 var t = this.current, 365 e = t.$content, 366 n = !1; 367 return e && (n = this.getFitPos(t), n = 1 < Math.abs(e.width() - n.width) || 1 < Math.abs(e.height() - n.height)), n 368 }, 369 loadSlide: function(n) { 370 var t, e, o, i = this; 371 if (!n.isLoading && !n.isLoaded) { 372 switch (n.isLoading = !0, i.trigger("beforeLoad", n), t = n.type, (e = n.$slide).off("refresh").trigger("onReset").addClass("fancybox-slide--" + (t || "unknown")).addClass(n.opts.slideClass), t) { 373 case "image": 374 i.setImage(n); 375 break; 376 case "iframe": 377 i.setIframe(n); 378 break; 379 case "html": 380 i.setContent(n, n.src || n.content); 381 break; 382 case "inline": 383 g(n.src).length ? i.setContent(n, g(n.src)) : i.setError(n); 384 break; 385 case "ajax": 386 i.showLoading(n), o = g.ajax(g.extend({}, n.opts.ajax.settings, { 387 url: n.src, 388 success: function(t, e) { 389 "success" === e && i.setContent(n, t) 390 }, 391 error: function(t, e) { 392 t && "abort" !== e && i.setError(n) 393 } 394 })), e.one("onReset", function() { 395 o.abort() 396 }); 397 break; 398 case "video": 399 i.setContent(n, '<video controls><source src="' + n.src + '" type="' + n.opts.videoFormat + "\">Your browser doesn't support HTML5 video</video>"); 400 break; 401 default: 402 i.setError(n) 403 } 404 return !0 405 } 406 }, 407 setImage: function(t) { 408 var e, n, o, i, a = this, 409 s = t.opts.srcset || t.opts.image.srcset; 410 if (s) { 411 o = l.devicePixelRatio || 1, i = l.innerWidth * o, (n = s.split(",").map(function(t) { 412 var o = {};
413 return t.trim().split(/\s+/).forEach(function(t, e) { 414 var n = parseInt(t.substring(0, t.length - 1), 10); 415 if (0 === e) return o.url = t; 416 n && (o.value = n, o.postfix = t[t.length - 1]) 417 }), o 418 })).sort(function(t, e) { 419 return t.value - e.value 420 }); 421 for (var r = 0; r < n.length; r++) { 422 var c = n[r]; 423 if ("w" === c.postfix && c.value >= i || "x" === c.postfix && c.value >= o) { 424 e = c; 425 break 426 } 427 }!e && n.length && (e = n[n.length - 1]), e && (t.src = e.url, t.width && t.height && "w" == e.postfix && (t.height = t.width / t.height * e.value, t.width = e.value)) 428 } 429 t.$content = g('<div class="fancybox-image-wrap"></div>').addClass("fancybox-is-hidden").appendTo(t.$slide), !1 !== t.opts.preload && t.opts.width && t.opts.height && (t.opts.thumb || t.opts.$thumb) ? (t.width = t.opts.width, t.height = t.opts.height, t.$ghost = g("<img />").one("error", function() { 430 g(this).remove(), t.$ghost = null, a.setBigImage(t) 431 }).one("load", function() { 432 a.afterLoad(t), a.setBigImage(t) 433 }).addClass("fancybox-image").appendTo(t.$content).attr("src", t.opts.thumb || t.opts.$thumb.attr("src"))) : a.setBigImage(t) 434 }, 435 setBigImage: function(t) { 436 var e = this, 437 n = g("<img />"); 438 t.$image = n.one("error", function() { 439 e.setError(t) 440 }).one("load", function() { 441 clearTimeout(t.timouts), t.timouts = null, e.isClosing || (t.width = t.opts.width || this.naturalWidth, t.height = t.opts.height || this.naturalHeight, t.opts.image.srcset && n.attr("sizes", "100vw").attr("srcset", t.opts.image.srcset), e.hideLoading(t), t.$ghost ? t.timouts = setTimeout(function() { 442 t.timouts = null, t.$ghost.hide() 443 }, Math.min(300, Math.max(1e3, t.height / 1600))) : e.afterLoad(t)) 444 }).addClass("fancybox-image").attr("src", t.src).appendTo(t.$content), (n[0].complete || "complete" == n[0].readyState) && n[0].naturalWidth && n[0].naturalHeight ? n.trigger("load") : n[0].error ? n.trigger("error") : t.timouts = setTimeout(function() { 445 n[0].complete || t.hasError || e.showLoading(t) 446 }, 100) 447 }, 448 setIframe: function(a) { 449 var s, e = this, 450 r = a.opts.iframe, 451 t = a.$slide; 452 a.$content = g('<div class="fancybox-content' + (r.preload ? " fancybox-is-hidden" : "") + '"></div>').css(r.css).appendTo(t), s = g(r.tpl.replace(/\{rnd\}/g, (new Date).getTime())).attr(r.attr).appendTo(a.$content), r.preload ? (e.showLoading(a), s.on("load.fb error.fb", function(t) { 453 this.isReady = 1, a.$slide.trigger("refresh"), e.afterLoad(a) 454 }), t.on("refresh.fb", function() { 455 var t, e, n = a.$content, 456 o = r.css.width, 457 i = r.css.height; 458 if (1 === s[0].isReady) { 459 try { 460 e = s.contents().find("body") 461 } catch (t) {} 462 e && e.length && (o === b && (t = s[0].contentWindow.document.documentElement.scrollWidth, o = Math.ceil(e.outerWidth(!0) + (n.width() - t)), o += n.outerWidth() - n.innerWidth()), i === b && (i = Math.ceil(e.outerHeight(!0)), i += n.outerHeight() - n.innerHeight()), o && n.width(o), i && n.height(i)), n.removeClass("fancybox-is-hidden") 463 } 464 })) : this.afterLoad(a), s.attr("src", a.src), !0 === a.opts.smallBtn && a.$content.prepe
464nd(e.translate(a, a.opts.btnTpl.smallBtn)), t.one("onReset", function() { 465 try { 466 g(this).find("iframe").hide().attr("src", "//about:blank") 467 } catch (t) {} 468 g(this).empty(), a.isLoaded = !1 469 }) 470 }, 471 setContent: function(t, e) { 472 this.isClosing || (this.hideLoading(t), t.$slide.empty(), function(t) { 473 return t && t.hasOwnProperty && t instanceof g 474 }(e) && e.parent().length ? (e.parent(".fancybox-slide--inline").trigger("onReset"), t.$placeholder = g("<div></div>").hide().insertAfter(e), e.css("display", "inline-block")) : t.hasError || ("string" === g.type(e) && 3 === (e = g("<div>").append(g.trim(e)).contents())[0].nodeType && (e = g("<div>").html(e)), t.opts.filter && (e = g("<div>").html(e).find(t.opts.filter))), t.$slide.one("onReset", function() { 475 g(this).find("video,audio").trigger("pause"), t.$placeholder && (t.$placeholder.after(e.hide()).remove(), t.$placeholder = null), t.$smallBtn && (t.$smallBtn.remove(), t.$smallBtn = null), t.hasError || (g(this).empty(), t.isLoaded = !1) 476 }), t.$content = g(e).appendTo(t.$slide), this.afterLoad(t)) 477 }, 478 setError: function(t) { 479 t.hasError = !0, t.$slide.removeClass("fancybox-slide--" + t.type), this.setContent(t, this.translate(t, t.opts.errorTpl)) 480 }, 481 showLoading: function(t) { 482 (t = t || this.current) && !t.$spinner && (t.$spinner = g(this.opts.spinnerTpl).appendTo(t.$slide)) 483 }, 484 hideLoading: function(t) { 485 (t = t || this.current) && t.$spinner && (t.$spinner.remove(), delete t.$spinner) 486 }, 487 afterLoad: function(t) { 488 var e = this; 489 e.isClosing || (t.isLoading = !1, t.isLoaded = !0, e.trigger("afterLoad", t), e.hideLoading(t), t.opts.smallBtn && !t.$smallBtn && (t.$smallBtn = g(e.translate(t, t.opts.btnTpl.smallBtn)).appendTo(t.$content.filter("div,form").first())), t.opts.protect && t.$content && !t.hasError && (t.$content.on("contextmenu.fb", function(t) { 490 return 2 == t.button && t.preventDefault(), !0 491 }), "image" === t.type && g('<div class="fancybox-spaceball"></div>').appendTo(t.$content)), e.revealContent(t)) 492 }, 493 revealContent: function(e) { 494 var t, n, o, i, a, s = this, 495 r = e.$slide, 496 c = !1; 497 return t = e.opts[s.firstRun ? "animationEffect" : "transitionEffect"], o = e.opts[s.firstRun ? "animationDuration" : "transitionDuration"], o = parseInt(e.forcedDuration === b ? o : e.forcedDuration, 10), !e.isMoved && e.pos === s.currPos && o || (t = !1), "zoom" !== t || e.pos === s.currPos && o && "image" === e.type && !e.hasError && (c = s.getThumbPos(e)) || (t = "fade"), "zoom" === t ? ((a = s.getFitPos(e)).scaleX = a.width / c.width, a.scaleY = a.height / c.height, delete a.width, delete a.height, "auto" == (i = e.opts.zoomOpacity) && (i = .1 < Math.abs(e.width / e.height - c.width / c.height)), i && (c.opacity = .1, a.opacity = 1), g.fancybox.setTranslate(e.$content.removeClass("fancybox-is-hidden"), c), p(e.$content), void g.fancybox.animate(e.$content, a, o, function() { 498 s.complete() 499 })) : (s.updateSlide(e), t ? (g.fancybox.stop(r), n = "fancybox-animated fancybox-slide--" + (e.pos >= s.prevPos ? "next" : "previous") + " fancybox-fx-" + t, r.removeAttr("style").removeClass("fancybox-slide--current fancybox-slide--next fancybox-slide--previous").addClass(n), e.$content.removeClass("fancybox-is-hidden"), p(r), void g.fancybox.animate(r, "fancybox-slide--current", o, function(t) { 500 r.removeClass(n).removeAttr("style"), e.pos === s.currPos && s.complete() 501 }, !0)) : (p(r), e.$content.removeClass("fancybox-is-hidden"), void(e.pos === s.currPos && s.complete()))) 502 }, 503 getThumbPos: function(t) { 504 var e, n = !1, 505 o = t.opts.$thumb, 506 i = o ? o.offset() : 0; 507 return i && o[0].ownerDocument === r && function(t) { 508 for (var e = t[0], o = e.getBoundingClientRect(), n = []; null !== e.parentElement;) "hidden" !== g(e.parentElement).css("overflow") && "auto" !== g(e.parentElement).css("overflow") || n.push(e.parentElement.getBoundingClientRect()), e = e.parentElement; 509 return n.every(function(t) { 510 var e = Math.min(o.right, t.right) - Math.max(o.left, t.left), 511 n = Math.min(o.bottom, t.bottom) - Math.max(o.top, t.top); 512 return 0 < e && 0 < n 513 }) && 0 < o.bottom && 0 < o.right && o.left < g(l).width() && o.top < g(l).height() 514 }(o) && (e = this.$refs.stage.offset(), n = { 515 top: i.top - e.top + parseFloat(o.css("border-top-width") || 0), 516 left: i.left - e.left + parseFloat(o.css("border-left-width") || 0), 517 width: o.width(), 518 height: o.height(), 519 scaleX: 1, 520 scaleY: 1 521 }), n 522 }, 523 complete: function() { 524 var n = this, 525 t = n.current, 526 o = {}; 527 t.isMoved || !t.isLoaded || t.isComplete || (t.isComplete = !0, t.$slide.siblings().trigger("onReset"), n.preload("inline"), p(t.$slide), t.$slide.addClass("fancybox-slide--complete"), g.each(n.slides, function(t, e) { 528 e.pos >= n.currPos - 1 && e.pos <= n.currPos + 1 ? o[e.pos] = e : e && (g.fancybox.stop(e.$slide), e.$slide.off().remove()) 529 }
529), n.slides = o, n.updateCursor(), n.trigger("afterShow"), t.$slide.find("video,audio").first().trigger("play"), (g(r.activeElement).is("[disabled]") || t.opts.autoFocus && "image" != t.type && "iframe" !== t.type) && n.focus()) 530 }, 531 preload: function(t) { 532 var e = this, 533 n = e.slides[e.currPos + 1], 534 o = e.slides[e.currPos - 1]; 535 n && n.type === t && e.loadSlide(n), o && o.type === t && e.loadSlide(o) 536 }, 537 focus: function() { 538 var t, e = this.current; 539 this.isClosing || (e && e.isComplete && ((t = e.$slide.find("input[autofocus]:enabled:visible:first")).length || (t = e.$slide.find("button,:input,[tabindex],a").filter(":enabled:visible:first"))), (t = t && t.length ? t : this.$refs.container).focus()) 540 }, 541 activate: function() { 542 var e = this; 543 g(".fancybox-container").each(function() { 544 var t = g(this).data("FancyBox"); 545 t && t.id !== e.id && !t.isClosing && (t.trigger("onDeactivate"), t.removeEvents(), t.isVisible = !1) 546 }), e.isVisible = !0, (e.current || e.isIdle) && (e.update(), e.updateControls()), e.trigger("onActivate"), e.addEvents() 547 }, 548 close: function(t, e) { 549 function n() { 550 l.cleanUp(t) 551 } 552 var o, i, a, s, r, c, l = this, 553 u = l.current; 554 return !l.isClosing && (!(l.isClosing = !0) === l.trigger("beforeClose", t) ? (l.isClosing = !1, d(function() { 555 l.update() 556 }), !1) : (l.removeEvents(), u.timouts && clearTimeout(u.timouts), a = u.$content, o = u.opts.animationEffect, i = g.isNumeric(e) ? e : o ? u.opts.animationDuration : 0, u.$slide.off(f).removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"), u.$slide.siblings().trigger("onReset").remove(), i && l.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing"), l.hideLoading(u), l.hideControls(), l.updateCursor(), "zoom" !== o || !0 !== t && a && i && "image" === u.type && !u.hasError && (c = l.getThumbPos(u)) || (o = "fade"), "zoom" === o ? (g.fancybox.stop(a), (r = g.fancybox.getTranslate(a)).width = r.width * r.scaleX, r.height = r.height * r.scaleY, "auto" == (s = u.opts.zoomOpacity) && (s = .1 < Math.abs(u.width / u.height - c.width / c.height)), s && (c.opacity = 0), r.scaleX = r.width / c.width, r.scaleY = r.height / c.height, r.width = c.width, r.height = c.height, g.fancybox.setTranslate(u.$content, r), p(u.$content), g.fancybox.animate(u.$content, c, i, n)) : o && i ? !0 === t ? setTimeout(n, i) : g.fancybox.animate(u.$slide.removeClass("fancybox-slide--current"), "fancybox-animated fancybox-slide--previous fancybox-fx-" + o, i, n) : n(), !0)) 557 }, 558 cleanUp: function(t) { 559 var e, n, o = this, 560 i = g("body"); 561 o.current.$slide.trigger("onReset"), o.$refs.container.empty().remove(), o.trigger("afterClose", t), o.$lastFocus && o.current.opts.backFocus && o.$lastFocus.focus(), o.current = null, (e = g.fancybox.getInstance()) ? e.activate() : (a.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft), i.removeClass("fancybox-active compensate-for-scrollbar"), i.hasClass("fancybox-iosfix") && (n = parseInt(r.body.style.top, 10), i.removeClass("fancybox-iosfix").css("top", "").scrollTop(-1 * n)), g("#fancybox-style-noscroll").remove()) 562 }, 563 trigger: function(t, e) { 564 var n, o = Array.prototype.slice.call(arguments, 1), 565 i = this, 566 a = e && e.opts ? e : i.current; 567 if (a ? o.unshift(a) : a = i, o.unshift(i), g.isFunction(a.opts[t]) && (n = a.opts[t].apply(a, o)), !1 === n) return n; 568 "afterClose" !== t && i.$refs ? i.$refs.container.trigger(t + ".fb", o) : c.trigger(t + ".fb", o) 569 }, 570 updateControls: function(t) { 571 var e = this, 572 n = e.current, 573 o = n.index, 574 i = n.opts.caption, 575 a = e.$refs.container, 576 s = e.$refs.caption; 577 n.$slide.trigger("refresh"), e.$caption = i && i.length ? s.html(i) : null, e.isHiddenControl
577s || e.isIdle || e.showControls(), a.find("[data-fancybox-count]").html(e.group.length), a.find("[data-fancybox-index]").html(o + 1), a.find("[data-fancybox-prev]").prop("disabled", !n.opts.loop && o <= 0), a.find("[data-fancybox-next]").prop("disabled", !n.opts.loop && o >= e.group.length - 1), "image" === n.type ? a.find("[data-fancybox-download]").attr("href", n.opts.image.src || n.src).show() : a.find("[data-fancybox-download],[data-fancybox-zoom]").hide() 578 }, 579 hideControls: function() { 580 this.isHiddenControls = !0, this.$refs.container.removeClass("fancybox-show-infobar fancybox-show-toolbar fancybox-show-caption fancybox-show-nav") 581 }, 582 showControls: function() { 583 var t = this, 584 e = t.current ? t.current.opts : t.opts, 585 n = t.$refs.container; 586 t.isHiddenControls = !1, t.idleSecondsCounter = 0, n.toggleClass("fancybox-show-toolbar", !(!e.toolbar || !e.buttons)).toggleClass("fancybox-show-infobar", !!(e.infobar && 1 < t.group.length)).toggleClass("fancybox-show-nav", !!(e.arrows && 1 < t.group.length)).toggleClass("fancybox-is-modal", !!e.modal), t.$caption ? n.addClass("fancybox-show-caption ") : n.removeClass("fancybox-show-caption") 587 }, 588 toggleControls: function() { 589 this.isHiddenControls ? this.showControls() : this.hideControls() 590 } 591 }), g.fancybox = { 592 version: "3.2.10", 593 defaults: e, 594 getInstance: function(t) { 595 var e = g('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"), 596 n = Array.prototype.slice.call(arguments, 1); 597 return e instanceof o && ("string" === g.type(t) ? e[t].apply(e, n) : "function" === g.type(t) && t.apply(e, n), e) 598 }, 599 open: function(t, e, n) { 600 return new o(t, e, n) 601 }, 602 close: function(t) { 603 var e = this.getInstance(); 604 e && (e.close(), !0 === t && this.close()) 605 }, 606 destroy: function() { 607 this.close(!0), c.off("click.fb-start") 608 }, 609 isMobile: r.createTouch !== b && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), 610 use3d: (t = r.createElement("div"), l.getComputedStyle && l.getComputedStyle(t).getPropertyValue("transform") && !(r.documentMode && r.documentMode < 11)), 611 getTranslate: function(t) { 612 var e; 613 if (!t || !t.length) return !1; 614 if ((e = (e = t.eq(0).css("transform")) && -1 !== e.indexOf("matrix") ? (e = (e = e.split("(")[1]).split(")")[0]).split(",") : []).length) e = (e = 10 < e.length ? [e[13], e[12], e[0], e[5]] : [e[5], e[4], e[0], e[3]]).map(parseFloat); 615 else { 616 e = [0, 0, 1, 1]; 617 var n = /\.*translate\((.*)px,(.*)px\)/i.exec(t.eq(0).attr("style")); 618 n && (e[0] = parseFloat(n[2]), e[1] = parseFloat(n[1])) 619 } 620 return { 621 top: e[0], 622 left: e[1], 623 scaleX: e[2], 624 scaleY: e[3], 625 opacity: parseFloat(t.css("opacity")), 626 width: t.width(), 627 height: t.height() 628 } 629 }, 630 setTranslate: function(t, e) { 631 var n = "", 632 o = {}; 633 if (t && e) return e.left === b && e.top === b || (n = (e.left === b ? t.position().left : e.left) + "px, " + (e.top === b ? t.position().top : e.top) + "px", n = this.use3d ? "translate3d(" + n + ", 0px)" : "translate(" + n + ")"), e.scaleX !== b && e.scaleY !== b && (n = (n.length ? n + " " : "") + "scale(" + e.scaleX + ", " + e.scaleY + ")"), n.length && (o.transform = n), e.opacity !== b && (o.opacity = e.opacity), e.width !== b && (o.width = e.width), e.height !== b && (o.height = e.height), t.css(o) 634 }, 635 animate: function(e, n, t, o, i) { 636 g.isFunction(t) && (o = t, t = null), g.isPlainObject(n) || e.removeAttr("style"), e.on(f, function(t) { 637 t && t.originalEvent && (!e.is(t.originalEvent.target) || "z-index" == t.originalEvent.propertyName) || (g.fancybox.stop(e), g.isPlainObject(n) ? (n.scaleX !== b && n.scaleY !== b && (e.css("transition-duration", ""), n.width = Math.round(e.width() * n.scaleX), n.height = Math.round(e.height() * n.scaleY), n.scaleX = 1, n.scaleY = 1, g.fancybox.setTranslate(e, n)), !1 === i && e.removeAttr("style")) : !0 !== i && e.removeClass(n), g.isFunction(o) && o(t)) 638 }), g.isNumeric(t) && e.css("transition-duration", t + "ms"), g.isPlainObject(n) ? g.fancybox.setTranslate(e, n) : e.addClass(n), n.scaleX && e.hasClass("fancybox-image-wrap") && e.parent().addClass("fancybox-is-scaling"), e.data("timer", setTimeout(function() { 639 e.trigger("transitionend") 640 }, t + 16)) 641 }, 642 stop: function(t) { 643 clearTimeout(t.data("timer")), t.off("transitionend").css("transition-duration", ""), t.hasClass("fancybox-image-wrap") && t.parent().removeClass("fancybox-is-scaling") 644 } 645 }, g.fn.fancybox = function(t) { 646 var e; 647 return (e = (t = t || {}
647).selector || !1) ? g("body").off("click.fb-start", e).on("click.fb-start", e, { 648 options: t 649 }, n) : this.off("click.fb-start").on("click.fb-start", { 650 items: this, 651 options: t 652 }, n), this 653 }, c.on("click.fb-start", "[data-fancybox]", n) 654 } 655 function n(t) { 656 var e = g(t.currentTarget), 657 n = t.data ? t.data.options : {}, 658 o = e.attr("data-fancybox") || "", 659 i = 0, 660 a = []; 661 t.isDefaultPrevented() || (t.preventDefault(), o ? (i = (a = (a = n.selector ? g(n.selector) : t.data ? t.data.items : []).length ? a.filter('[data-fancybox="' + o + '"]') : g('[data-fancybox="' + o + '"]')).index(e)) < 0 && (i = 0) : a = [e], g.fancybox.open(a, n, i)) 662 } 663}(window, document, window.jQuery || jQuery), 664function(f) { 665 "use strict"; 666 667 function p(n, t, e) { 668 if (n) return e = e || "", "object" === f.type(e) && (e = f.param(e, !0)), f.each(t, function(t, e) { 669 n = n.replace("$" + t, e || "") 670 }), e.length && (n += (0 < n.indexOf("?") ? "&" : "?") + e), n 671 } 672 var h = { 673 youtube: { 674 matcher: /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i, 675 params: { 676 autoplay: 1, 677 autohide: 1, 678 fs: 1, 679 rel: 0, 680 hd: 1, 681 wmode: "transparent", 682 enablejsapi: 1, 683 html5: 1 684 }, 685 paramPlace: 8, 686 type: "iframe", 687 url: "//www.youtube.com/embed/$4", 688 thumb: "//img.youtube.com/vi/$4/hqdefault.jpg" 689 }, 690 vimeo: { 691 matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/, 692 params: { 693 autoplay: 1, 694 hd: 1, 695 show_title: 1, 696 show_byline: 1, 697 show_portrait: 0, 698 fullscreen: 1, 699 api: 1 700 }, 701 paramPlace: 3, 702 type: "iframe", 703 url: "//player.vimeo.com/video/$2" 704 }, 705 metacafe: { 706 matcher: /metacafe.com\/watch\/(\d+)\/(.*)?/, 707 type: "iframe", 708 url: "//www.metacafe.com/embed/$1/?ap=1" 709 }, 710 dailymotion: { 711 matcher: /dailymotion.com\/video\/(.*)\/?(.*)/, 712 params: { 713 additionalInfos: 0, 714 autoStart: 1 715 }, 716 type: "iframe", 717 url: "//www.dailymotion.com/embed/video/$1" 718 }, 719 vine: { 720 matcher: /vine.co\/v\/([a-zA-Z0-9\?\=\-]+)/, 721 type: "iframe", 722 url: "//vine.co/v/$1/embed/simple" 723 }, 724 instagram: { 725 matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i, 726 type: "image", 727 url: "//$1/p/$2/media/?size=l" 728 }, 729 gmap_place: { 730 matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i, 731 type: "iframe", 732 url: function(t) { 733 return "//maps.google." + t[2] + "/?ll=" + (t[9] ? t[9] + "&z=" + Math.floor(t[10]) + (t[12] ? t[12].replace(/^\//, "&") : "") : t[12]) + "&output=" + (t[12] && 0 < t[12].indexOf("layer=c") ? "svembed" : "embed") 734 } 735 }, 736 gmap_search: { 737 matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i, 738 type: "iframe", 739 url: function(t) { 740 return "//maps.google." + t[2] + "/maps?q=" + t[5].replace("query=", "q=").replace("api=1", "") + "&output=embed" 741 } 742 } 743 }; 744 f(document).on("objectNeedsType.fb", function(t, e, i) { 745 var n, a, s, r, c, l, o, u = i.src || "", 746 d = !1; 747 n = f.extend(!0, {}, h, i.opts.media), f.each(n, function(t, e) { 748 if (s = u.match(e.matcher)) { 749 if (d = e.type, l = {}, e.paramPlace && s[e.paramPlace]) { 750 "?" == (c = s[e.paramPlace])[0] && (c = c.substring(1)), c = c.split("&"); 751 for (var n = 0; n < c.length; ++n) { 752 var o = c[n].split("=", 2); 753 2 == o.length && (l[o[0]] = decodeURIComponent(o[1].replace(/\+/g, " "))) 754 } 755 } 756 return r = f.extend(!0, {}, e.params, i.opts[t], l), u = "function" === f.type(e.url) ? e.url.call(this, s, r, i) : p(e.url, s, r), a = "function" === f.type(e.thumb) ? e.thumb.call(this, s, r, i) : p(e.thumb, s), "vimeo" === t && (u = u.replace("&%23", "#")), !1 757 } 758 }), d ? (i.src = u, i.type = d, i.opts.thumb || i.opts.$thumb && i.opts.$thumb.length || (i.opts.thumb = a), "iframe" === d && (f.extend(!0, i.opts, { 759 iframe: { 760 preload: !1, 761 attr: { 762 scrolling: "no" 763 } 764 } 765 }), i.contentProvider = o, i.opts.slideClass += " fancybox-slide--video")) : u && (i.type = i.opts.defaultType) 766 }) 767}(window.jQuery || jQuery), 768function(h, r, g) { 769 "use strict"; 770 771 function u(t) { 772 var e = []; 773 for (var n in t = (t = t.originalEvent || t || h.e).touches && t.touches.length ? t.touches : t.changedTouches && t.changedTouches.length ? t.changedTouches : [t]) t[n].pageX ? e.push({ 774 x: t[n].pageX, 775 y: t[n].pageY 776 }) : t[n].clientX && e.push({ 777 x: t[n].clientX, 778 y: t[n].clientY 779 }); 780 return e 781 } 782 783 function b(t, e, n) { 784 return e && t ? "x" === n ? t.x - e.x : "y" === n ? t.y - e.y : Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2)) : 0 785 } 786 787 function c(t) { 788 if (t.is('a,area,button,[role="button"],input,label,select,summary,textarea') || g.isFunction(t.get(0).onclick) || t.data("selectable")) return !0; 789 for (var e = 0, n = t[0].attributes, o = n.length; e < o; e++) 790 if ("data-fancybox-" === n[e].nodeName.substr(0, 14)) return !0; 791 return !1 792 } 793 794 function l(t) { 795 for (var e, n, o, i, a, s = !1; e = t.get(0), void 0, n = h.getComputedStyle(e)["overflow-y"], o = h.getComputedStyle(e)["overflow-x"], i = ("scroll" === n || "auto" === n) && e.scrollHeight > e.clientHeight, a = ("scroll" === o || "auto" === o) && e.scrollWidth > e.clientWidth, !(s = i || a) && (t = t.parent()).length && !t.hasClass("fancybox-stage") && !t.is("body");); 796 return s 797 } 798 799 function n(t) { 800 var e = this; 801 e.instance = t, e.$bg = t.$refs.bg, e.$stage = t.$refs.stage, e.$container = t.$refs.container, e.destroy(), e.$container.on("touchstart.fb.touch mousedown.fb.touch", g.proxy(e, "ontouchstart")) 802 } 803 var m = h.requestAnimationFrame || h.webkitRequestAnimationFrame || h.mozRequestAnimationFrame || h.oRequestAnimationFrame || function(t) { 804 return h.setTimeout(t, 1e3 / 60) 805 }, 806 y = h.cancelAnimationFrame || h.webkitCancelAnimationFrame || h.mozCancelAnimationFrame || h.oCancelAnimationFrame || function(t) { 807 h.clearTimeout(t) 808 }; 809 n.prototype.destroy = function() { 810 this.$container.off(".fb.touch") 811 }, n.prototype.ontouchstart = function(t) { 812 var e = this, 813 n = g(t.target), 814 o = e.instance, 815 i = o.current, 816 a = i.$content, 817 s = "touchstart" == t.type; 818 if (s && e.$container.off("mousedown.fb.touch"), (!t.originalEvent || 2 != t.originalEvent.button) && n.length && !c(n) && !c(n.parent()) && (n.is("img") || !(t.originalEvent.clientX > n[0].clientWidth + n.offset().left))) { 819 if (!i || e.instance.isAnimating || e.instance.isClosing) return t.stopPropagation(), void t.preventDefault(); 820 e.realPoints = e.startPoints = u(t), e.startPoints && (t.stopPropagation(), e.startEvent = t, e.canTap = !0, e.$target = n, e.$content = a, e.opts = i.opts.touch, e.isPanning = !1, e.isSwiping = !1, e.isZooming = !1, e.isScrolling = !1, e.sliderStartPos = e.sliderLastPos || { 821 top: 0, 822 left: 0 823 }, e.contentStartPos = g.fancybox.getTranslate(e.$content), e.contentLastPos = null, e.startTime = (new Date).getTime(), e.distanceX = e.distanceY = e.distance = 0, e.canvasWidth = Math.round(i.$slide[0].clientWidth), e.canvasHeight = Math.round(i.$slide[0].clientHeight), g(r).off(".fb.touch").on(s ? "touchend.fb.touch touchcancel.fb.touch" : "mouseup.fb.touch mouseleave.fb.touch", g.proxy(e, "ontouchend")).on(s ? "touchmove.fb.touch" : "mousemove.fb.touch", g.proxy(e, "ontouchmove")), g.fancybox.isMobile && r.addEventListener("scroll", e.onscroll, !0), (e.opts || o.canPan()) && (n.is(e.$stage) || e.$stage.find(n).length) ? (g.fancybox.isMobile && (l(n) || l(n.parent())) || t.preventDefault(), 1 === e.startPoints.length && ("image" === i.type && (e.contentStartPos.width > e.canvasWidth + 1 || e.contentStartPos.height > e.canvasHeight + 1) ? (g.fancybox.stop(e.$content), e.$content.css("transition-duration", ""), e.isPanning = !0) : e.isSwiping = !0, e.$container.addClass("fancybox-controls--isGrabbing")), 2 !== e.startPoints.length || o.isAnimating || i.hasError || "image" !== i.type || !i.isLoaded && !i.$ghost || (e.canTap = !1, e.isSwiping = !1, e.isPanning = !1, e.isZooming = !0, g.fancybox.stop(e.$content), e.$content.css("transition-duration", ""), e.centerPointStartX = .5 * (e.startPoints[0].x + e.startPoints[1].x) - g(h).scrollLeft(), e.centerPointStartY = .5 * (e.startPoints[0].y + e.startPoints[1].y) - g(h).scrollTop(), e.percentageOfImageAtPinchPointX = (e.centerPointStartX - e.contentStartPos.left) / e.contentStartPos.width, e.percentageOfImageAtPinchPointY = (e.centerPointStartY - e.contentStartPos.top) / e.contentStartPos.height, e.startDistanceBetweenFingers = b(e.startPoints[0], e.startPoints[1]))) : n.is("img") && t.preventDefault()) 824 } 825 }, n.prototype.onscroll = function(t) { 826 self.isScrolling = !0 827 }, n.prototype.ontouchmove = function(t) { 828 var e = this, 829 n = g(t.target); 830 e.isScrolling || !n.is(e.$stage) && !e.$stage.find(n).length ? e.canTap = !1 : (e.newPoints = u(t), (e.opts || e.instance.canPan()) && e.newPoints && e.newPoints.length && (e.isSwiping && !0 === e.isSwiping || t.preventDefault(), e.distanceX = b(e.newPoints[0], e.startPoints[0], "x"), e.distanceY = b(e.newPoints[0], e.startPoints[0], "y"), e.distance = b(e.newPoints[0], e.startPoints[0]), 0 < e.distance && (e.isSwiping ? e.onSwipe(t) : e.isPanning ? e.onPan() : e.isZooming && e.onZoom()))) 831 }, n.prototype.onSwipe = function(t) { 832 var e, o = this, 833 n = o.isSwiping, 834 i = o.sliderStartPos.left || 0; 835 if (!0 !== n) "x" == n && (0 < o.distanceX && (o.instance.group.length < 2 || 0 === o.instance.current.index && !o.instance.current.opts.loop) ? i += Math.pow(o.distanceX, .8) : o.distanceX < 0 && (o.instance.group.length < 2 || o.instance.current.index === o.instance.group.length - 1 && !o.instance.current.opts.loop) ? i -= Math.pow(-o.distanceX, .8) : i += o.distanceX), o.sliderLastPos = { 836 top: "x" == n ? 0 : o.sliderStartPos.top + o.distanceY, 837 left: i 838 }, o.requestId && (y(o.requestId), o.requestId = null), o.requestId = m(function() { 839 o.sliderLastPos && (g.each(o.instance.slides, function(t, e) { 840 var n = e.pos - o.instance.currPos; 841 g.fancybox.setTranslate(e.$slide, { 842 top: o.sliderLastPos.top, 843 left: o.sliderLastPos.left + n * o.canvasWidth + n * e.opts.gutter 844 }) 845 }), o.$container.addClass("fancybox-is-sliding")) 846 }); 847 else if (10 < Math.abs(o.distance)) { 848 if (o.canTap = !1, o.instance.group.length < 2 && o.opts.vertical ? o.isSwiping = "y" : o.instance.isDragging || !1 === o.opts.vertical || "auto" === o.opts.vertical && 800 < g(h).width() ? o.isSwiping = "x" : (e = Math.abs(180 * Math.atan2(o.distanceY, o.distanceX) / Math.PI), o.isSwiping = 45 < e && e < 135 ? "y" : "x"), o.canTap = !1, "y" === o.isSwiping && g.fancybox.isMobile && (l(o.$target) || l(
848o.$target.parent()))) return void(o.isScrolling = !0); 849 o.instance.isDragging = o.isSwiping, o.startPoints = o.newPoints, g.each(o.instance.slides, function(t, e) { 850 g.fancybox.stop(e.$slide), e.$slide.css("transition-duration", ""), e.inTransition = !1, e.pos === o.instance.current.pos && (o.sliderStartPos.left = g.fancybox.getTranslate(e.$slide).left) 851 }), o.instance.SlideShow && o.instance.SlideShow.isActive && o.instance.SlideShow.stop() 852 } 853 }, n.prototype.onPan = function() { 854 var t = this; 855 b(t.newPoints[0], t.realPoints[0]) < (g.fancybox.isMobile ? 10 : 5) ? t.startPoints = t.newPoints : (t.canTap = !1, t.contentLastPos = t.limitMovement(), t.requestId && (y(t.requestId), t.requestId = null), t.requestId = m(function() { 856 g.fancybox.setTranslate(t.$content, t.contentLastPos) 857 })) 858 }, n.prototype.limitMovement = function() { 859 var t, e, n, o, i, a, s = this, 860 r = s.canvasWidth, 861 c = s.canvasHeight, 862 l = s.distanceX, 863 u = s.distanceY, 864 d = s.contentStartPos, 865 f = d.left, 866 p = d.top, 867 h = d.width, 868 g = d.height; 869 return i = r < h ? f + l : f, a = p + u, t = Math.max(0, .5 * r - .5 * h), e = Math.max(0, .5 * c - .5 * g), n = Math.min(r - h, .5 * r - .5 * h), o = Math.min(c - g, .5 * c - .5 * g), r < h && (0 < l && t < i && (i = t - 1 + Math.pow(-t + f + l, .8) || 0), l < 0 && i < n && (i = n + 1 - Math.pow(n - f - l, .8) || 0)), c < g && (0 < u && e < a && (a = e - 1 + Math.pow(-e + p + u, .8) || 0), u < 0 && a < o && (a = o + 1 - Math.pow(o - p - u, .8) || 0)), { 870 top: a, 871 left: i, 872 scaleX: d.scaleX, 873 scaleY: d.scaleY 874 } 875 }, n.prototype.limitPosition = function(t, e, n, o) { 876 var i = this.canvasWidth, 877 a = this.canvasHeight; 878 return t = i < n ? (t = 0 < t ? 0 : t) < i - n ? i - n : t : Math.max(0, i / 2 - n / 2), { 879 top: e = a < o ? (e = 0 < e ? 0 : e) < a - o ? a - o : e : Math.max(0, a / 2 - o / 2), 880 left: t 881 } 882 }, n.prototype.onZoom = function() { 883 var t = this, 884 e = t.contentStartPos.width, 885 n = t.contentStartPos.height, 886 o = t.contentStartPos.left, 887 i = t.contentStartPos.top, 888 a = b(t.newPoints[0], t.newPoints[1]) / t.startDistanceBetweenFingers, 889 s = Math.floor(e * a), 890 r = Math.floor(n * a), 891 c = (e - s) * t.percentageOfImageAtPinchPointX, 892 l = (n - r) * t.percentageOfImageAtPinchPointY, 893 u = (t.newPoints[0].x + t.newPoints[1].x) / 2 - g(h).scrollLeft(), 894 d = (t.newPoints[0].y + t.newPoints[1].y) / 2 - g(h).scrollTop(), 895 f = u - t.centerPointStartX, 896 p = { 897 top: i + (l + (d - t.centerPointStartY)), 898 left: o + (c + f), 899 scaleX: t.contentStartPos.scaleX * a, 900 scaleY: t.contentStartPos.scaleY * a 901 }; 902 t.canTap = !1, t.newWidth = s, t.newHeight = r, t.contentLastPos = p, t.requestId && (y(t.requestId), t.requestId = null), t.requestId = m(function() { 903 g.fancybox.setTranslate(t.$content, t.contentLastPos) 904 }) 905 }, n.prototype.ontouchend = function(t) { 906 var e = this, 907 n = Math.max((new Date).getTime() - e.startTime, 1), 908 o = e.isSwiping, 909 i = e.isPanning, 910 a = e.isZooming, 911 s = e.isScrolling; 912 if (e.endPoints = u(t), e.$container.removeClass("fancybox-controls--isGrabbing"), g(r).off(".fb.touch"), r.removeEventListener("scroll", e.onscroll, !0), e.requestId && (y(e.requestId), e.requestId = null), e.isSwiping = !1, e.isPanning = !1, e.isZooming = !1, e.isScrolling = !1, e.instance.isDragging = !1, e.canTap) return e.onTap(t); 913 e.speed = 366, e.velocityX = e.distanceX / n * .5, e.velocityY = e.distanceY / n * .5, e.speedX = Math.max(.5 * e.speed, Math.min(1.5 * e.speed, 1 / Math.abs(e.velocityX) * e.speed)), i ? e.endPanning() : a ? e.endZooming() : e.endSwiping(o, s) 914 }, n.prototype.endSwiping = function(t, e) { 915 var n = this, 916 o = !1, 917 i = n.instance.group.length; 918 n.sliderLastPos = null, "y" == t && !e && 50 < Math.abs(n.distanceY) ? (g.fancybox.animate(n.instance.current.$slide, { 919 top: n.sliderStartPos.top + n.distanceY + 150 * n.velocityY, 920 opacity: 0 921 }, 150), o = n.instance.close(!0, 300)) : "x" == t && 50 < n.distanceX && 1 < i ? o = n.instance.previous(n.speedX) : "x" == t && n.distanceX < -50 && 1 < i && (o = n.instance.next(n.speedX)), !1 !== o || "x" != t && "y" != t || (e || i < 2 ? n.instance.centerSlide(n.instance.current, 150) : n.instance.jumpTo(n.instance.current.index)), n.$container.removeClass("fancybox-is-sliding") 922 }, n.prototype.endPanning = function() { 923 var t, e, n, o = this; 924 o.contentLastPos && (e = !1 === o.opts.momentum ? (t = o.contentLastPos.left, o.contentLastPos.top) : (t = o.
924contentLastPos.left + o.velocityX * o.speed, o.contentLastPos.top + o.velocityY * o.speed), (n = o.limitPosition(t, e, o.contentStartPos.width, o.contentStartPos.height)).width = o.contentStartPos.width, n.height = o.contentStartPos.height, g.fancybox.animate(o.$content, n, 330)) 925 }, n.prototype.endZooming = function() { 926 var t, e, n, o, i = this, 927 a = i.instance.current, 928 s = i.newWidth, 929 r = i.newHeight; 930 i.contentLastPos && (t = i.contentLastPos.left, o = { 931 top: e = i.contentLastPos.top, 932 left: t, 933 width: s, 934 height: r, 935 scaleX: 1, 936 scaleY: 1 937 }, g.fancybox.setTranslate(i.$content, o), s < i.canvasWidth && r < i.canvasHeight ? i.instance.scaleToFit(150) : s > a.width || r > a.height ? i.instance.scaleToActual(i.centerPointStartX, i.centerPointStartY, 150) : (n = i.limitPosition(t, e, s, r), g.fancybox.setTranslate(i.content, g.fancybox.getTranslate(i.$content)), g.fancybox.animate(i.$content, n, 150))) 938 }, n.prototype.onTap = function(n) { 939 function t(t) { 940 var e = s.opts[t]; 941 if (g.isFunction(e) && (e = e.apply(a, [s, n])), e) switch (e) { 942 case "close": 943 a.close(o.startEvent); 944 break; 945 case "toggleControls": 946 a.toggleControls(!0); 947 break; 948 case "next": 949 a.next(); 950 break; 951 case "nextOrClose": 952 1 < a.group.length ? a.next() : a.close(o.startEvent); 953 break; 954 case "zoom": 955 "image" == s.type && (s.isLoaded || s.$ghost) && (a.canPan() ? a.scaleToFit() : a.isScaledDown() ? a.scaleToActual(c, l) : a.group.length < 2 && a.close(o.startEvent)) 956 } 957 } 958 var e, o = this, 959 i = g(n.target), 960 a = o.instance, 961 s = a.current, 962 r = n && u(n) || o.startPoints, 963 c = r[0] ? r[0].x - o.$stage.offset().left : 0, 964 l = r[0] ? r[0].y - o.$stage.offset().top : 0; 965 if ((!n.originalEvent || 2 != n.originalEvent.button) && (i.is("img") || !(c > i[0].clientWidth + i.offset().left))) { 966 if (i.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container")) e = "Outside"; 967 else if (i.is(".fancybox-slide")) e = "Slide"; 968 else { 969 if (!a.current.$content || !a.current.$content.find(i).addBack().filter(i).length) return; 970 e = "Content" 971 } 972 if (o.tapped) { 973 if (clearTimeout(o.tapped), o.tapped = null, 50 < Math.abs(c - o.tapX) || 50 < Math.abs(l - o.tapY)) return this; 974 t("dblclick" + e) 975 } else o.tapX = c, o.tapY = l, s.opts["dblclick" + e] && s.opts["dblclick" + e] !== s.opts["click" + e] ? o.tapped = setTimeout(function() { 976 o.tapped = null, t("click" + e) 977 }, 500) : t("click" + e); 978 return this 979 } 980 }, g(r).on("onActivate.fb", function(t, e) { 981 e && !e.Guestures && (e.Guestures = new n(e)) 982 }) 983}(window, document, window.jQuery || jQuery), 984function(s, r) { 985 "use strict"; 986 r.extend(!0, r.fancybox.defaults, { 987 btnTpl: { 988 slideShow: '<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"><svg viewBox="0 0 40 40"><path d="M13,12 L27,20 L13,27 Z" /><path d="M15,10 v19 M23,10 v19" /></svg></button>' 989 }, 990 slideShow: { 991 autoStart: !1, 992 speed: 3e3 993 } 994 }); 995 996 function n(t) { 997 this.instance = t, this.init() 998 } 999 r.extend(n.prototype, { 1000 timer: null, 1001 isActive: !1, 1002 $button: null, 1003 init: function() { 1004 var t = this; 1005 t.$button = t.instance.$refs.toolbar.find("[data-fancybox-play]").on("click", function() { 1006 t.toggle() 1007 }), (t.instance.group.length < 2 || !t.instance.group[t.instance.currIndex].opts.slideShow) && t.$button.hide() 1008 }, 1009 set: function(t) { 1010 var e = this; 1011 e.instance && e.instance.current && (!0 === t || e.instance.current.opts.loop || e.instance.currIndex < e.instance.group.length - 1) ? e.timer = setTimeout(function() { 1012 e.isActive && e.instance.jumpTo((e.instance.currIndex + 1) % e.instance.group.length) 1013 }, e.instance.current.opts.slideShow.speed) : (e.stop(), e.instance.idleSecondsCounter = 0, e.instance.showControls()) 1014 }, 1015 clear: function() { 1016 clearTimeout(this.timer), this.timer = null 1017 }, 1018 start: function() { 1019 var t = this.instance.current; 1020 t && (this.isActive = !0, this.$button.attr("title", t.opts.i18n[t.opts.lang].PLAY_STOP).removeClass("fancybox-button--play").addClass("fancybox-button--pause"), this.set(!0)) 1021 }, 1022 stop: function() { 1023 var t = this.instance.current; 1024 this.clear(), this.$button.attr("title", t.opts.i18n[t.opts.lang].PLAY_START).removeClass("fancybox-button--pause").addClass("fancybox-button--play"), this.isActive = !1 1025 }, 1026 toggle: function() { 1027 this.isActive ? this.stop() : this.start() 1028 } 1029 }), r(s).on({ 1030 "onInit.fb": function(t, e) { 1031 e && !e.SlideShow && (e.SlideShow = new n(e)) 1032 }, 1033 "beforeShow.fb": function(t, e, n, o) { 1034 var i = e && e.SlideShow; 1035 o ? i && n.opts.slideShow.autoStart && i.start() : i && i.isActive && i.clear() 1036 }, 1037 "afterShow.fb": function(t, e, n) { 1038 var o = e && e.SlideShow; 1039 o && o.isActive && o.set() 1040 }, 1041 "afterKeydown.fb": function(t, e, n, o, i) { 1042 var a = e && e.SlideShow; 1043 !a || !n.opts.slideShow || 80 !== i && 32 !== i || r(s.activeElement).is("button,a,input") || (o.preventDefault(), a.toggle()) 1044 }, 1045 "beforeClose.fb onDeactivate.fb": function(t, e) { 1046 var n = e && e.SlideShow; 1047 n && n.stop() 1048 } 1049 }), r(s).on("visibilitychange", function() { 1050 var t = r.fancybox.getInstance(), 1051 e = t && t.SlideShow; 1052 e && e.isActive && (s.hidden ? e.clear() : e.set()) 1053 }) 1054}(document, window.jQuery || jQuery), 1055function(a, n) { 1056 "use strict"; 1057 var e = function() { 1058 var t, e, n, o = [ 1059 ["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror"], 1060 ["webkitRequestFullscreen", "webkitExitFullscreen", "webkitFullscreenElement", "webkitFullscreenEnabled", "webkitfullscreenchange", "webkitfullscreenerror"], 1061 ["webkitRequestFullScreen", "webkitCancelFullScreen", "webkitCurrentFullScreenElement", "webkitCancelFullScreen", "webkitfullscreenchange", "webkitfullscreenerror"], 1062 ["mozRequestFullScreen", "mozCancelFullScreen", "mozFullScreenElement", "mozFullScreenEnabled", "mozfullscreenchange", "mozfullscreenerror"], 1063 ["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError"] 1064 ], 1065 i = {}; 1066 for (e = 0; e < o.length; e++) 1067 if ((t = o[e]) && t[1] in a) { 1068 for (n = 0; n < t.length; n++) i[o[0][n]] = t[n]; 1069 return i 1070 } return !1 1071 }(); 1072 if (e) { 1073 var o = { 1074 request: function(t) { 1075 (t = t || a.documentElement)[e.requestFullscreen](t.ALLOW_KEYBOARD_INPUT) 1076 }, 1077 exit: function() { 1078 a[e.exitFullscreen]() 1079 }, 1080 toggle: function(t) { 1081 t = t || a.documentElement, this.isFullscreen() ? this.exit() : this.request(t) 1082 }, 1083 isFullscreen: function() { 1084 return Boolean(a[e.fullscreenElement]) 1085 }, 1086 enabled: function() { 1087 return Boolean(a[e.fullscreenEnabled]) 1088 } 1089 }; 1090 n.extend(!0, n.fancybox.defaults, { 1091 btnTpl: { 1092 fullScreen: '<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fullscreen" title="{{FULL_SCREEN}}"><svg viewBox="0 0 40 40"><path d="M9,12 h22 v16 h-22 v-16 v16 h22 v-16 Z" /></svg></button>' 1093 }, 1094 fullScreen: { 1095 autoStart: !1 1096 } 1097 }), n(a).on({ 1098 "onInit.fb": function(t, e) { 1099 var n; 1100 e && e.group[e.currIndex].opts.fullScreen ? ((n = e.$refs.container).on("click.fb-fullscreen", "[data-fancybox-fullscreen]", function(t) { 1101 t.stopPropagation(), t.preventDefault(), o.toggle(n[0]) 1102 }
1102), e.opts.fullScreen && !0 === e.opts.fullScreen.autoStart && o.request(n[0]), e.FullScreen = o) : e && e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide() 1103 }, 1104 "afterKeydown.fb": function(t, e, n, o, i) { 1105 e && e.FullScreen && 70 === i && (o.preventDefault(), e.FullScreen.toggle(e.$refs.container[0])) 1106 }, 1107 "beforeClose.fb": function(t) { 1108 t && t.FullScreen && o.exit() 1109 } 1110 }), n(a).on(e.fullscreenchange, function() { 1111 var t = o.isFullscreen(), 1112 e = n.fancybox.getInstance(); 1113 e && (e.current && "image" === e.current.type && e.isAnimating && (e.current.$content.css("transition", "none"), e.isAnimating = !1, e.update(!0, !0, 0)), e.trigger("onFullscreenChange", t), e.$refs.container.toggleClass("fancybox-is-fullscreen", t)) 1114 }) 1115 } else n && n.fancybox && (n.fancybox.defaults.btnTpl.fullScreen = !1) 1116}(document, window.jQuery || jQuery), 1117function(t, r) { 1118 "use strict"; 1119 r.fancybox.defaults = r.extend(!0, { 1120 btnTpl: { 1121 thumbs: '<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"><svg viewBox="0 0 120 120"><path d="M30,30 h14 v14 h-14 Z M50,30 h14 v14 h-14 Z M70,30 h14 v14 h-14 Z M30,50 h14 v14 h-14 Z M50,50 h14 v14 h-14 Z M70,50 h14 v14 h-14 Z M30,70 h14 v14 h-14 Z M50,70 h14 v14 h-14 Z M70,70 h14 v14 h-14 Z" /></svg></button>' 1122 }, 1123 thumbs: { 1124 autoStart: !1, 1125 hideOnClose: !0, 1126 parentEl: ".fancybox-container", 1127 axis: "y" 1128 } 1129 }, r.fancybox.defaults); 1130 1131 function o(t) { 1132 this.init(t) 1133 } 1134 r.extend(o.prototype, { 1135 $button: null, 1136 $grid: null, 1137 $list: null, 1138 isVisible: !1, 1139 isActive: !1, 1140 init: function(t) { 1141 var e = this; 1142 (e.instance = t).Thumbs = e; 1143 var n = t.group[0], 1144 o = t.group[1]; 1145 e.opts = t.group[t.currIndex].opts.thumbs, e.$button = t.$refs.toolbar.find("[data-fancybox-thumbs]"), e.opts && n && o && ("image" == n.type || n.opts.thumb || n.opts.$thumb) && ("image" == o.type || o.opts.thumb || o.opts.$thumb) ? (e.$button.show().on("click", function() { 1146 e.toggle() 1147 }), e.isActive = !0) : e.$button.hide() 1148 }, 1149 create: function() { 1150 var n, o, t = this, 1151 e = t.instance, 1152 i = t.opts.parentEl; 1153 t.$grid = r('<div class="fancybox-thumbs fancybox-thumbs-' + t.opts.axis + '"></div>').appendTo(e.$refs.container.find(i).addBack().filter(i)), n = "<ul>", r.each(e.group, function(t, e) { 1154 (o = e.opts.thumb || (e.opts.$thumb ? e.opts.$thumb.attr("src") : null)) || "image" !== e.type || (o = e.src), o && o.length && (n += '<li data-index="' + t + '" tabindex="0" class="fancybox-thumbs-loading"><img data-src="' + o + '" /></li>') 1155 }), n += "</ul>", t.$list = r(n).appendTo(t.$grid).on("click", "li", function() { 1156 e.jumpTo(r(this).data("index")) 1157 }), t.$list.find("img").hide().one("load", function() { 1158 var t, e, n, o, i = r(this).parent().removeClass("fancybox-thumbs-loading"), 1159 a = i.outerWidth(), 1160 s = i.outerHeight(); 1161 t = this.naturalWidth || this.width, o = (e = this.naturalHeight || this.height) / s, 1 <= (n = t / a) && 1 <= o && (o < n ? (t /= o, e = s) : (t = a, e /= n)), r(this).css({ 1162 width: Math.floor(t), 1163 height: Math.floor(e), 1164 "margin-top": s < e ? Math.floor(.3 * s - .3 * e) : Math.floor(.5 * s - .5 * e), 1165 "margin-left": Math.floor(.5 * a - .5 * t) 1166 }).show() 1167 }).each(function() { 1168 this.src = r(this).data("src") 1169 }), "x" === t.opts.axis && t.$list.width(parseInt(t.$grid.css("padding-right")) + e.group.length * t.$list.children().eq(0).outerWidth(!0) + "px") 1170 }, 1171 focus: function(t) { 1172 var e, n, o = this, 1173 i = o.$list; 1174 o.instance.current && (n = (e = i.children().removeClass("fancybox-thumbs-active").filter('[data-index="' + o.instance.current.index + '"]').addClass("fancybox-thumbs-active")).position(), "y" === o.opts.axis && (n.top < 0 || n.top > i.height() - e.outerHeight()) ? i.stop().animate({ 1175 scrollTop: i.scrollTop() + n.top 1176 }, t) : "x" === o.opts.axis && (n.left < i.parent().scrollLeft() || n.left > i.parent().scrollLeft() + (i.parent().width() - e.outerWidth())) && i.parent().stop().animate({ 1177 scrollLeft: n.left 1178 }, t)) 1179 }, 1180 update: function() { 1181 this.instance.$refs.container.toggleClass("fancybox-show-thumbs", this.isVisible), this.isVisible ? (this.$grid || this.create(), this.instance.trigger("onThumbsShow"), this.focus(0)) : this.$grid && this.instance.trigger("onThumbsHide"), this.instance.update(
1181) 1182 }, 1183 hide: function() { 1184 this.isVisible = !1, this.update() 1185 }, 1186 show: function() { 1187 this.isVisible = !0, this.update() 1188 }, 1189 toggle: function() { 1190 this.isVisible = !this.isVisible, this.update() 1191 } 1192 }), r(t).on({ 1193 "onInit.fb": function(t, e) { 1194 var n; 1195 e && !e.Thumbs && (n = new o(e)).isActive && !0 === n.opts.autoStart && n.show() 1196 }, 1197 "beforeShow.fb": function(t, e, n, o) { 1198 var i = e && e.Thumbs; 1199 i && i.isVisible && i.focus(o ? 0 : 250) 1200 }, 1201 "afterKeydown.fb": function(t, e, n, o, i) { 1202 var a = e && e.Thumbs; 1203 a && a.isActive && 71 === i && (o.preventDefault(), a.toggle()) 1204 }, 1205 "beforeClose.fb": function(t, e) { 1206 var n = e && e.Thumbs; 1207 n && n.isVisible && !1 !== n.opts.hideOnClose && n.$grid.hide() 1208 } 1209 }) 1210}(document, window.jQuery), 1211function(t, o) { 1212 "use strict"; 1213 o.extend(!0, o.fancybox.defaults, { 1214 btnTpl: { 1215 share: '<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}"><svg viewBox="0 0 40 40"><path d="M6,30 C8,18 19,16 23,16 L23,16 L23,10 L33,20 L23,29 L23,24 C19,24 8,27 6,30 Z"></svg></button>' 1216 }, 1217 share: { 1218 tpl: '<div class="fancybox-share"><h1>{{SHARE}}</h1><p class="fancybox-share__links"><a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" fill="#1877F2"/></svg><span>Facebook</span></a><a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#BD081C"/></svg><span>Pinterest</span></a><a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" fill="#1DA1F2"/></svg><span>Twitter</span></a><a class="fancybox-share__button fancybox-share__button--tg" href="https://t.me/share/url?url={{url}}&text={{descr}}"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0zm5.894 8.221l-1.97 9.28c-.145.658-.537.818-1.084.508l-3-2.21-1.447 1.394c-.16.16-.295.295-.605.295l.213-3.053 5.56-5.04c.242-.213-.052-.333-.373-.121l-6.869 4.326-2.96-.924c-.643-.204-.657-.643.136-.95l11.566-4.458c.537-.196 1.006.128.832.941z" fill="#0088CC"/></svg><span>Telegram</span></a><a class="fancybox-share__button fancybox-share__button--vk" href="https://vk.com/share.php?url={{url}}&title={{descr}}&image={{media}}&noparse=true"><?xml version="1.0"?><svg id="Layer_1" style="enable-background:new 0 0 512 512;" version="1.1" viewBox="0 0 512 512" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><style type="text/css">.st0{fill:#4D76A1;}.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}</style><g><circle class="st0" cx="256" cy="256" r="256"/><path class="st0" d="M512,256"/><path class="st1" d="M246.3,368.3h20.1c0,0,6.1-0.7,9.2-4c2.9-3.1,2.8-8.8,2.8-8.8s-0.4-27,12.1-30.9c12.3-3.9,28.2,26,45,37.6 c12.7,8.7,22.3,6.8,22.3,6.8l44.9-0.6c0,0,23.5-1.4,12.3-19.9c-0.9-1.5-6.5-13.7-33.4-38.6c-28.1-26.1-24.4-21.9,9.5-67.1 c20.7-27.5,28.9-44.3,26.3-51.5c-2.5-6.9-17.6-5-17.6-5l-50.6,0.3c0,0-3.7-0.5-6.5,1.1c-2.7,1.6-4.5,5.4-4.5,5.4s-8,21.3-18.7,39.4 c-22.5,38.2-31.5,40.2-35.2,37.9c-8.6-5.6-6.4-22.2-6.4-34.1c0-37,5.6-52.5-10.9-56.5c-5.5-1.3-9.5-2.2-23.6-2.3 c-18-0.2-33.3,0-42,4.3c-5.7,2.8-10.2,9.1-7.5,9.4c3.3,0.4,10.9,2.1,14.9,7.5c5.2,7,5,22.9,5,22.9s3,43.6-7,49 c-6.8,3.7-16.2-3.9-36.2-38.5c-10.3-17.8-18-37.4-18-37.4s-1.5-3.7-4.2-5.6c-3.3-2.4-7.8-3.1-7.8-3.1l-48,0.3c0,0-7.2,0.2-9.9,3.3 c-2.3,2.8-0.2,8.6-0.2,8.6s37.6,88,80.2,132.3C202,371,246.3,368.3,246.3,368.3L246.3,368.3z M246.3,368.3"/></g></svg><span>ÐÐонÑакÑе</span></a></p><p><input class="fancybox-share__input" type="text" value="{{url_raw}}" /></p></div>' 1219} 1220 }), o(t).on("click", "[data-fancybox-share]", function() { 1221 var t, e, n = o.fancybox.getInstance(); 1222 n && (t = !1 === n.current.opts.hash ? n.current.src : window.location, e = n.current.opts.share.tpl.replace(/\{\{media\}\}/g, "image" === n.current.type ? encodeURIComponent(n.current.src) : "").replace(/\{\{url\}\}/g, encodeURIComponent(t)).replace(/\{\{url_raw\}\}/g, function(t) { 1223 var e = { 1224 "&": "&", 1225 "<": "<", 1226 ">": ">", 1227 '"': """, 1228 "'": "'", 1229 "/": "/", 1230 "`": "`", 1231 "=": "=" 1232 }; 1233 return String(t).replace(/[&<>"'`=\/]/g, function(t) { 1234 return e[t] 1235 }) 1236 }(t)).replace(/\{\{descr\}\}/g, n.$caption ? encodeURIComponent(n.$caption.text()) : ""), o.fancybox.open({ 1237 src: n.translate(n, e), 1238 type: "html", 1239 opts: { 1240 animationEffect: "fade", 1241 animationDuration: 250, 1242 afterLoad: function(t, e) { 1243 e.$content.find(".fancybox-share__links a").click(function() { 1244 return window.open(this.href, "Share", "width=550, height=450"), !1 1245 }) 1246 } 1247 } 1248 })) 1249 }) 1250}(document, window.jQuery || jQuery), 1251function(a, s, r) { 1252 "use strict"; 1253 r.escapeSelector || (r.escapeSelector = function(t) { 1254 return (t + "").replace(/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, function(t, e) { 1255 return e ? "\0" === t ? "�" : t.slice(0, -1) + "\\" + t.charCodeAt(t.length - 1).toString(16) + " " : "\\" + t 1256 }) 1257 });
1258 var i = !0, 1259 c = null, 1260 l = null; 1261 1262 function u() { 1263 var t = s.location.hash.substr(1), 1264 e = t.split("-"), 1265 n = 1 < e.length && /^\+?\d+$/.test(e[e.length - 1]) && parseInt(e.pop(-1), 10) || 1; 1266 return n < 1 && (n = 1), { 1267 hash: t, 1268 index: n, 1269 gallery: e.join("-") 1270 } 1271 } 1272 1273 function e(t) { 1274 var e; 1275 "" !== t.gallery && ((e = r("[data-fancybox='" + r.escapeSelector(t.gallery) + "']").eq(t.index - 1)).length || (e = r("#" + r.escapeSelector(t.gallery))), e.length && (i = !1, e.trigger("click"))) 1276 } 1277 1278 function d(t) { 1279 var e; 1280 return !!t && ((e = t.current ? t.current.opts : t.opts).hash || (e.$orig ? e.$orig.data("fancybox") : "")) 1281 } 1282 r(function() { 1283 !1 !== r.fancybox.defaults.hash && (r(a).on({ 1284 "onInit.fb": function(t, e) { 1285 var n, o; 1286 !1 !== e.group[e.currIndex].opts.hash && (n = u(), (o = d(e)) && n.gallery && o == n.gallery && (e.currIndex = n.index - 1)) 1287 }, 1288 "beforeShow.fb": function(t, e, n) { 1289 var o; 1290 n && !1 !== n.opts.hash && (o = d(e)) && "" !== o && (s.location.hash.indexOf(o) < 0 && (e.opts.origHash = s.location.hash), c = o + (1 < e.group.length ? "-" + (n.index + 1) : ""), "replaceState" in s.history ? (l && clearTimeout(l), l = setTimeout(function() { 1291 s.history[i ? "pushState" : "replaceState"]({}, a.title, s.location.pathname + s.location.search + "#" + c), l = null, i = !1 1292 }, 300)) : s.location.hash = c) 1293 }, 1294 "beforeClose.fb": function(t, e, n) { 1295 var o, i; 1296 l && clearTimeout(l), !1 !== n.opts.hash && (o = d(e), i = e && e.opts.origHash ? e.opts.origHash : "", o && "" !== o && ("replaceState" in history ? s.history.replaceState({}, a.title, s.location.pathname + s.location.search + i) : (s.location.hash = i, r(s).scrollTop(e.scrollTop).scrollLeft(e.scrollLeft))), c = null) 1297 } 1298 }), r(s).on("hashchange.fb", function() { 1299 var t = u(); 1300 r.fancybox.getInstance() ? !c || c === t.gallery + "-" + t.index || 1 === t.index && c == t.gallery || (c = null, r.fancybox.close()) : "" !== t.gallery && e(t) 1301 }), setTimeout(function() { 1302 e(u()) 1303 }, 50)) 1304 }) 1305}(document, window, window.jQuery || jQuery), 1306function(t, e) { 1307 "use strict"; 1308 var i = (new Date).getTime(); 1309 e(t).on({ 1310 "onInit.fb": function(t, o, e) { 1311 o.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll", function(t) { 1312 var e = o.current, 1313 n = (new Date).getTime(); 1314 o.group.length < 1 || !1 === e.opts.wheel || "auto" === e.opts.wheel && "image" !== e.type || (t.preventDefault(), t.stopPropagation(), e.$slide.hasClass("fancybox-animated") || (t = t.originalEvent || t, n - i < 250 || (i = n, o[(-t.deltaY || -t.deltaX || t.wheelDelta || -t.detail) < 0 ? "next" : "previous"]()))) 1315 }) 1316 } 1317 }) 1318}(document, window.jQuery || 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.