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