1!(function (e) { 2 'function' == typeof define && define.amd 3 ? define(['jquery'], e) 4 : 'object' == typeof exports 5 ? e(require('jquery')) 6 : e(window.jQuery || window.Zepto); 7})(function (c) { 8 function e() {} 9 function d(e, t) { 10 m.ev.on(x + e + I, t); 11 } 12 function p(e, t, n, o) { 13 var i = document.createElement('div'); 14 return ( 15 (i.className = 'mfp-' + e), 16 n && (i.innerHTML = n), 17 o ? t && t.appendChild(i) : ((i = c(i)), t && i.appendTo(t)), 18 i 19 ); 20 } 21 function u(e, t) { 22 m.ev.triggerHandler(x + e, t), 23 m.st.callbacks && 24 ((e = e.charAt(0).toLowerCase() + e.slice(1)), m.st.callbacks[e]) && 25 m.st.callbacks[e].apply(m, Array.isArray(t) ? t : [t]); 26 } 27 function f(e) { 28 return ( 29 (e === A && m.currTemplate.closeBtn) || 30 ((m.currTemplate.closeBtn = c( 31 m.st.closeMarkup.replace('%title%', m.st.tClose), 32 )), 33 (A = e)), 34 m.currTemplate.closeBtn 35 ); 36 } 37 function r() { 38 c.magnificPopup.instance || 39 ((m = new e()).init(), (c.magnificPopup.instance = m)); 40 } 41 function a() { 42 y && (v.after(y.addClass(l)).detach(), (y = null)); 43 } 44 function i() { 45 n && c(document.body).removeClass(n); 46 } 47 function t() { 48 i(), m.req && m.req.abort(); 49 } 50 var m, 51 o, 52 g, 53 s, 54 h, 55 A, 56 l, 57 v, 58 y, 59 n, 60 w = 'Close', 61 F = 'BeforeClose', 62 C = 'MarkupParse', 63 b = 'Open', 64 j = 'Change', 65 x = 'mfp', 66 I = '.' + x, 67 T = 'mfp-ready', 68 N = 'mfp-removing', 69 k = 'mfp-prevent-close', 70 P = !!window.jQuery, 71 _ = c(window), 72 S = 73 ((c.magnificPopup = { 74 instance: null, 75 proto: (e.prototype = { 76 constructor: e, 77 init: function () { 78 var e = navigator.appVersion; 79 (m.isLowIE = m.isIE8 = document.all && !document.addEventListener), 80 (m.isAndroid = /android/gi.test(e)), 81 (m.isIOS = /iphone|ipad|ipod/gi.test(e)), 82 (m.supportsTransition = (function () { 83 var e = document.createElement('p').style, 84 t = ['ms', 'O', 'Moz', 'Webkit']; 85 if (void 0 !== e.transition) return !0; 86 for (; t.length; ) if (t.pop() + 'Transition' in e) return !0; 87 return !1; 88 })()), 89 (m.probablyMobile = 90 m.isAndroid || 91 m.isIOS || 92 /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test( 93 navigator.userAgent, 94 )), 95 (g = c(document)), 96 (m.popupsCache = {}); 97 }, 98 open: function (e) { 99 if (!1 === e.isObj) { 100 (m.items = e.items.toArray()), (m.index = 0); 101 for (var t, n = e.items, o = 0; o < n.length; o++) 102 if ((t = (t = n[o]).parsed ? t.el[0] : t) === e.el[0]) { 103 m.index = o; 104 break; 105 } 106 } else 107 (m.items = Array.isArray(e.items) ? e.items : [e.items]), 108 (m.index = e.index || 0); 109 if (!m.isOpen) { 110 (m.types = []), 111 (h = ''), 112 e.mainEl && e.mainEl.length 113 ? (m.ev = e.mainEl.eq(0)) 114 : (m.ev = g), 115 e.key 116 ? (m.popupsCache[e.key] || (m.popupsCache[e.key] = {}), 117 (m.currTemplate = m.popupsCache[e.key])) 118 : (m.currTemplate = {}), 119 (m.st = c.extend(!0, {}, c.magnificPopup.defaults, e)), 120 (m.fixedContentPos = 121 'auto' === m.st.fixedContentPos 122 ? !m.probablyMobile 123 : m.st.fixedContentPos), 124 m.st.modal && 125 ((m.st.closeOnContentClick = !1), 126 (m.st.closeOnBgClick = !1), 127 (m.st.showCloseBtn = !1), 128 (m.st.enableEscapeKey = !1)), 129 m.bgOverlay || 130 ((m.bgOverlay = p('bg').on('click' + I, function () { 131 m.close(); 132 })), 133 (m.wrap = p('wrap') 134 .attr('tabindex', -1) 135 .on('click' + I, function (e) { 136 m._checkIfClose(e.target) && m.close(); 137 })), 138 (m.container = p('container', m.wrap))), 139 (m.contentContainer = p('content')), 140 m.st.preloader && 141 (m.preloader = p('preloader', m.container, m.st.tLoading)); 142 var i = c.magnificPopup.modules; 143 for (o = 0; o < i.length; o++) { 144 var r = (r = i[o]).charAt(0).toUpperCase() + r.slice(1); 145 m['init' + r].call(m); 146 } 147 u('BeforeOpen'), 148 m.st.showCloseBtn && 149 (m.st.closeBtnInside 150 ? (d(C, function (e, t, n, o) { 151 n.close_replaceWith = f(o.type); 152 }), 153 (h += ' mfp-close-btn-in')) 154 : m.wrap.append(f())), 155 m.st.alignTop && (h += ' mfp-align-top'), 156 m.fixedContentPos 157 ? m.wrap.css({ 158 overflow: m.st.overflowY, 159 overflowX: 'hidden', 160 overflowY: m.st.overflowY, 161 }) 162 : m.wrap.css({ top: _.scrollTop(), position: 'absolute' }), 163 (!1 !== m.st.fixedBgPos && 164 ('auto' !== m.st.fixedBgPos || m.fixedContentPos)) || 165 m.bgOverlay.css({ height: g.height(), position: 'absolute' }), 166 m.st.enableEscapeKey && 167 g.on('keyup' + I, function (e) { 168 27 === e.keyCode && m.close(); 169 }), 170 _.on('resize' + I, function () { 171 m.updateSize(); 172 }), 173 m.st.closeOnContentClick || (h += ' mfp-auto-cursor'), 174 h && m.wrap.addClass(h); 175 var a = (m.wH = _.height()), 176 s = {}, 177 l = 178 (m.fixedContentPos && 179 m._hasScrollBar(a) && 180 (l = m._getScrollbarSize()) && 181 (s.marginRight = l), 182 m.fixedContentPos && 183 (m.isIE7 184 ? c('body, html').css('overflow', 'hidden') 185 : (s.overflow = 'hidden')), 186 m.st.mainClass); 187 return ( 188 m.isIE7 && (l += ' mfp-ie7'), 189 l && m._addClassToMFP(l), 190 m.updateItemHTML(), 191 u('BuildControls'), 192 c('html').css(s), 193 m.bgOverlay 194 .add(m.wrap)
195 .prependTo(m.st.prependTo || c(document.body)), 196 (m._lastFocusedEl = document.activeElement), 197 setTimeout(function () { 198 m.content 199 ? (m._addClassToMFP(T), m._setFocus()) 200 : m.bgOverlay.addClass(T), 201 g.on('focusin' + I, m._onFocusIn); 202 }, 16), 203 (m.isOpen = !0), 204 m.updateSize(a), 205 u(b), 206 e 207 ); 208 } 209 m.updateItemHTML(); 210 }, 211 close: function () { 212 m.isOpen && 213 (u(F), 214 (m.isOpen = !1), 215 m.st.removalDelay && !m.isLowIE && m.supportsTransition 216 ? (m._addClassToMFP(N), 217 setTimeout(function () { 218 m._close(); 219 }, m.st.removalDelay)) 220 : m._close()); 221 }, 222 _close: function () { 223 u(w); 224 var e = N + ' ' + T + ' '; 225 m.bgOverlay.detach(), 226 m.wrap.detach(), 227 m.container.empty(), 228 m.st.mainClass && (e += m.st.mainClass + ' '), 229 m._removeClassFromMFP(e), 230 m.fixedContentPos && 231 ((e = { marginRight: '' }), 232 m.isIE7 233 ? c('body, html').css('overflow', '') 234 : (e.overflow = ''), 235 c('html').css(e)), 236 g.off('keyup.mfp focusin' + I), 237 m.ev.off(I), 238 m.wrap.attr('class', 'mfp-wrap').removeAttr('style'), 239 m.bgOverlay.attr('class', 'mfp-bg'), 240 m.container.attr('class', 'mfp-container'), 241 !m.st.showCloseBtn || 242 (m.st.closeBtnInside && 243 !0 !== m.currTemplate[m.currItem.type]) || 244 (m.currTemplate.closeBtn && m.currTemplate.closeBtn.detach()), 245 m.st.autoFocusLast && 246 m._lastFocusedEl && 247 c(m._lastFocusedEl).trigger('focus'), 248 (m.currItem = null), 249 (m.content = null), 250 (m.currTemplate = null), 251 (m.prevHeight = 0), 252 u('AfterClose'); 253 }, 254 updateSize: function (e) { 255 var t; 256 m.isIOS 257 ? ((t = document.documentElement.clientWidth / window.innerWidth), 258 (t = window.innerHeight * t), 259 m.wrap.css('height', t), 260 (m.wH = t)) 261 : (m.wH = e || _.height()), 262 m.fixedContentPos || m.wrap.css('height', m.wH), 263 u('Resize'); 264 }, 265 updateItemHTML: function () { 266 var e = m.items[m.index], 267 t = 268 (m.contentContainer.detach(), 269 m.content && m.content.detach(), 270 (e = e.parsed ? e : m.parseEl(m.index)).type), 271 n = 272 (u('BeforeChange', [m.currItem ? m.currItem.type : '', t]), 273 (m.currItem = e), 274 m.currTemplate[t] || 275 ((n = !!m.st[t] && m.st[t].markup), 276 u('FirstMarkupParse', n), 277 (m.currTemplate[t] = !n || c(n))), 278 s && 279 s !== e.type && 280 m.container.removeClass('mfp-' + s + '-holder'), 281 m['get' + t.charAt(0).toUpperCase() + t.slice(1)]( 282 e, 283 m.currTemplate[t], 284 )); 285 m.appendContent(n, t), 286 (e.preloaded = !0), 287 u(j, e), 288 (s = e.type), 289 m.container.prepend(m.contentContainer), 290 u('AfterChange'); 291 }, 292 appendContent: function (e, t) { 293 (m.content = e) 294 ? m.st.showCloseBtn && 295 m.st.closeBtnInside && 296 !0 === m.currTemplate[t] 297 ? m.content.find('.mfp-close').length || m.content.append(f()) 298 : (m.content = e) 299 : (m.content = ''), 300 u('BeforeAppend'), 301 m.container.addClass('mfp-' + t + '-holder'), 302 m.contentContainer.append(m.content); 303 }, 304 parseEl: function (e) { 305 var t, 306 n = m.items[e]; 307 if ( 308 (n = n.tagName 309 ? { el: c(n) } 310 : ((t = n.type), { data: n, src: n.src })).el 311 ) { 312 for (var o = m.types, i = 0; i < o.length; i++) 313 if (n.el.hasClass('mfp-' + o[i])) { 314 t = o[i]; 315 break; 316 } 317 (n.src = n.el.attr('data-mfp-src')), 318 n.src || (n.src = n.el.attr('href')); 319 } 320 return ( 321 (n.type = t || m.st.type || 'inline'), 322 (n.index = e), 323 (n.parsed = !0), 324 (m.items[e] = n), 325 u('ElementParse', n), 326 m.items[e] 327 ); 328 }, 329 addGroup: function (t, n) { 330 function e(e) { 331 (e.mfpEl = this), m._openClick(e, t, n); 332 } 333 var o = 'click.magnificPopup'; 334 ((n = n || {}).mainEl = t), 335 n.items 336 ? ((n.isObj = !0), t.off(o).on(o, e)) 337 : ((n.isObj = !1), 338 n.delegate 339 ? t.off(o).on(o, n.delegate, e) 340 : (n.items = t).off(o).on(o, e)); 341 }, 342 _openClick: function (e, t, n) { 343 var o = (void 0 !== n.midClick ? n : c.magnificPopup.defaults) 344 .midClick; 345 if ( 346 o || 347 !( 348 2 === e.which || 349 e.ctrlKey || 350 e.metaKey || 351 e.altKey || 352 e.shiftKey 353 ) 354 ) { 355 o = (void 0 !== n.disableOn ? n : c.magnificPopup.defaults) 356 .disableOn; 357 if (o) 358 if ('function' == typeof o) { 359 if (!o.call(m)) return !0; 360 } else if (_.width() < o) return !0; 361 e.type && (e.preventDefault(), m.isOpen) && e.stopPropagation(), 362 (n.el = c(e.mfpEl)), 363 n.delegate && (n.items = t.find(n.delegate)), 364 m.open(n); 365 } 366 }, 367 updateStatus: function (e, t) { 368 var n; 369 m.preloader && 370 (o !== e && m.container.removeClass('mfp-s-' + o), 371 (n = { 372 status: e, 373 text: (t = t || 'loading' !== e ? t : m.st.tLoading), 374 }), 375 u('UpdateStatus', n), 376 (e = n.status), 377 (t = n.text), 378 m.st.allowHTMLInStatusIndicator 379 ? m.preloader.html(t) 380 : m.preloader.text(t), 381 m.preloader.find('a').on('click', function (e) { 382 e.stopImmediatePropagation(); 383 }), 384 m.container.addClass('mfp-s-' + e), 385 (o = e)); 386 }, 387 _checkIfClose: function (e) { 388 if (!c(e).closest('.' + k).length) { 389 var t = m.st.closeOnContentClick, 390 n = m.st.closeOnBgClick; 391 if (t && n) return !0; 392 if ( 393 !m.content || 394 c(e).closest('.mfp-close').length || 395 (m.preloader && e === m.preloader[0]) 396 ) 397 return !0; 398 if (e === m.content[0] || c.contains(m.content[0], e)) { 399 if (t) return !0; 400 } else if (n && c.contains(document, e)) return !0; 401 return !1; 402 } 403 }, 404 _addClassToMFP: function (e) { 405 m.bgOverlay.addClass(e), m.wrap.addClass(e); 406 }, 407 _removeClassFromMFP: function (e) { 408 this.bgOverlay.removeClass(e), m.wrap.removeClass(e); 409 }, 410 _hasScrollBar: function (e) { 411 return ( 412 (m.isIE7 ? g.height() : document.body.scrollHeight) > 413 (e || _.height()) 414 ); 415 }, 416 _setFocus: function () { 417 (m.st.focus ? m.content.find(m.st.focus).eq(0) : m.wrap).trigger(
418 'focus', 419 ); 420 }, 421 _onFocusIn: function (e) { 422 if (e.target !== m.wrap[0] && !c.contains(m.wrap[0], e.target)) 423 return m._setFocus(), !1; 424 }, 425 _parseMarkup: function (i, e, t) { 426 var r; 427 t.data && (e = c.extend(t.data, e)), 428 u(C, [i, e, t]), 429 c.each(e, function (e, t) { 430 if (void 0 === t || !1 === t) return !0; 431 var n, o; 432 1 < (r = e.split('_')).length 433 ? 0 < (n = i.find(I + '-' + r[0])).length && 434 ('replaceWith' === (o = r[1]) 435 ? n[0] !== t[0] && n.replaceWith(t) 436 : 'img' === o 437 ? n.is('img') 438 ? n.attr('src', t) 439 : n.replaceWith( 440 c('<img>') 441 .attr('src', t) 442 .attr('class', n.attr('class')), 443 ) 444 : n.attr(r[1], t)) 445 : m.st.allowHTMLInTemplate 446 ? i.find(I + '-' + e).html(t) 447 : i.find(I + '-' + e).text(t); 448 }); 449 }, 450 _getScrollbarSize: function () { 451 var e; 452 return ( 453 void 0 === m.scrollbarSize && 454 (((e = document.createElement('div')).style.cssText = 455 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;'), 456 document.body.appendChild(e), 457 (m.scrollbarSize = e.offsetWidth - e.clientWidth), 458 document.body.removeChild(e)), 459 m.scrollbarSize 460 ); 461 }, 462 }), 463 modules: [], 464 open: function (e, t) { 465 return ( 466 r(), 467 ((e = e ? c.extend(!0, {}, e) : {}).isObj = !0), 468 (e.index = t || 0), 469 this.instance.open(e) 470 ); 471 }, 472 close: function () { 473 return c.magnificPopup.instance && c.magnificPopup.instance.close(); 474 }, 475 registerModule: function (e, t) { 476 t.options && (c.magnificPopup.defaults[e] = t.options), 477 c.extend(this.proto, t.proto), 478 this.modules.push(e); 479 }, 480 defaults: { 481 disableOn: 0, 482 key: null, 483 midClick: !1, 484 mainClass: '', 485 preloader: !0, 486 focus: '', 487 closeOnContentClick: !1, 488 closeOnBgClick: !0, 489 closeBtnInside: !0, 490 showCloseBtn: !0, 491 enableEscapeKey: !0, 492 modal: !1, 493 alignTop: !1, 494 removalDelay: 0, 495 prependTo: null, 496 fixedContentPos: 'auto', 497 fixedBgPos: 'auto', 498 overflowY: 'auto', 499 closeMarkup: 500 '<button title="%title%" type="button" class="mfp-close">×</button>', 501 tClose: 'Close (Esc)', 502 tLoading: 'Loading...', 503 autoFocusLast: !0, 504 allowHTMLInStatusIndicator: !1, 505 allowHTMLInTemplate: !1, 506 }, 507 }), 508 (c.fn.magnificPopup = function (e) { 509 r(); 510 var t, 511 n, 512 o, 513 i = c(this); 514 return ( 515 'string' == typeof e 516 ? 'open' === e 517 ? ((t = P ? i.data('magnificPopup') : i[0].magnificPopup), 518 (n = parseInt(arguments[1], 10) || 0), 519 (o = t.items 520 ? t.items[n] 521 : ((o = i), (o = t.delegate ? o.find(t.delegate) : o).eq(n))), 522 m._openClick({ mfpEl: o }, i, t)) 523 : m.isOpen && 524 m[e].apply(m, Array.prototype.slice.call(arguments, 1)) 525 : ((e = c.extend(!0, {}, e)), 526 P ? i.data('magnificPopup', e) : (i[0].magnificPopup = e), 527 m.addGroup(i, e)), 528 i 529 ); 530 }), 531 'inline'), 532 E = 533 (c.magnificPopup.registerModule(S, { 534 options: { 535 hiddenClass: 'hide', 536 markup: '', 537 tNotFound: 'Content not found', 538 }, 539 proto: { 540 initInline: function () { 541 m.types.push(S), 542 d(w + '.' + S, function () { 543 a(); 544 }); 545 }, 546 getInline: function (e, t) { 547 var n, o, i; 548 return ( 549 a(), 550 e.src 551 ? ((n = m.st.inline), 552 (o = c(e.src)).length 553 ? ((i = o[0].parentNode) && 554 i.tagName && 555 (v || 556 ((l = n.hiddenClass), (v = p(l)), (l = 'mfp-' + l)), 557 (y = o.after(v).detach().removeClass(l))), 558 m.updateStatus('ready')) 559 : (m.updateStatus('error', n.tNotFound), (o = c('<div>'))), 560 (e.inlineElement = o)) 561 : (m.updateStatus('ready'), m._parseMarkup(t, {}, e), t) 562 ); 563 }, 564 }, 565 }), 566 'ajax'); 567 c.magnificPopup.registerModule(E, { 568 options: { 569 settings: null, 570 cursor: 'mfp-ajax-cur', 571 tError: 'The content could not be loaded.', 572 }, 573 proto: { 574 initAjax: function () { 575 m.types.push(E), 576 (n = m.st.ajax.cursor), 577 d(w + '.' + E, t), 578 d('BeforeChange.' + E, t); 579 }, 580 getAjax: function (o) { 581 n && c(document.body).addClass(n), m.updateStatus('loading'); 582 var e = c.extend( 583 { 584 url: o.src, 585 success: function (e, t, n) { 586 e = { data: e, xhr: n }; 587 u('ParseAjax', e),
588 m.appendContent(c(e.data), E), 589 (o.finished = !0), 590 i(), 591 m._setFocus(), 592 setTimeout(function () { 593 m.wrap.addClass(T); 594 }, 16), 595 m.updateStatus('ready'), 596 u('AjaxContentAdded'); 597 }, 598 error: function () { 599 i(), 600 (o.finished = o.loadError = !0), 601 m.updateStatus( 602 'error', 603 m.st.ajax.tError.replace('%url%', o.src), 604 ); 605 }, 606 }, 607 m.st.ajax.settings, 608 ); 609 return (m.req = c.ajax(e)), ''; 610 }, 611 }, 612 }); 613 var z; 614 c.magnificPopup.registerModule('image', { 615 options: { 616 markup: 617 '<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>', 618 cursor: 'mfp-zoom-out-cur', 619 titleSrc: 'title', 620 verticalFit: !0, 621 tError: 'The image could not be loaded.', 622 }, 623 proto: { 624 initImage: function () { 625 var e = m.st.image, 626 t = '.image'; 627 m.types.push('image'), 628 d(b + t, function () { 629 'image' === m.currItem.type && 630 e.cursor && 631 c(document.body).addClass(e.cursor); 632 }), 633 d(w + t, function () { 634 e.cursor && c(document.body).removeClass(e.cursor), 635 _.off('resize' + I); 636 }), 637 d('Resize' + t, m.resizeImage), 638 m.isLowIE && d('AfterChange', m.resizeImage); 639 }, 640 resizeImage: function () { 641 var e, 642 t = m.currItem; 643 t && 644 t.img && 645 m.st.image.verticalFit && 646 ((e = 0), 647 m.isLowIE && 648 (e = 649 parseInt(t.img.css('padding-top'), 10) + 650 parseInt(t.img.css('padding-bottom'), 10)), 651 t.img.css('max-height', m.wH - e)); 652 }, 653 _onImageHasSize: function (e) { 654 e.img && 655 ((e.hasSize = !0), 656 z && clearInterval(z), 657 (e.isCheckingImgSize = !1), 658 u('ImageHasSize', e), 659 e.imgHidden) && 660 (m.content && m.content.removeClass('mfp-loading'), 661 (e.imgHidden = !1)); 662 }, 663 findImageSize: function (t) { 664 function n(e) { 665 z && clearInterval(z), 666 (z = setInterval(function () { 667 0 < i.naturalWidth 668 ? m._onImageHasSize(t) 669 : (200 < o && clearInterval(z), 670 3 === ++o ? n(10) : 40 === o ? n(50) : 100 === o && n(500)); 671 }, e)); 672 } 673 var o = 0, 674 i = t.img[0]; 675 n(1); 676 }, 677 getImage: function (e, t) { 678 function n() { 679 e && 680 (e.img.off('.mfploader'), 681 e === m.currItem && 682 (m._onImageHasSize(e), 683 m.updateStatus('error', a.tError.replace('%url%', e.src))), 684 (e.hasSize = !0), 685 (e.loaded = !0), 686 (e.loadError = !0)); 687 } 688 function o() { 689 e && 690 (e.img[0].complete 691 ? (e.img.off('.mfploader'), 692 e === m.currItem && 693 (m._onImageHasSize(e), m.updateStatus('ready')), 694 (e.hasSize = !0), 695 (e.loaded = !0), 696 u('ImageLoadComplete')) 697 : ++r < 200 698 ? setTimeout(o, 100) 699 : n()); 700 } 701 var i, 702 r = 0, 703 a = m.st.image, 704 s = t.find('.mfp-img'); 705 return ( 706 s.length && 707 (((i = document.createElement('img')).className = 'mfp-img'), 708 e.el && 709 e.el.find('img').length && 710 (i.alt = e.el.find('img').attr('alt')), 711 (e.img = c(i).on('load.mfploader', o).on('error.mfploader', n)), 712 (i.src = e.src), 713 s.is('img') && (e.img = e.img.clone()), 714 0 < (i = e.img[0]).naturalWidth 715 ? (e.hasSize = !0) 716 : i.width || (e.hasSize = !1)), 717 m._parseMarkup( 718 t, 719 { 720 title: (function (e) { 721 if (e.data && void 0 !== e.data.title) return e.data.title;
722 var t = m.st.image.titleSrc; 723 if (t) { 724 if ('function' == typeof t) return t.call(m, e); 725 if (e.el) return e.el.attr(t) || ''; 726 } 727 return ''; 728 })(e), 729 img_replaceWith: e.img, 730 }, 731 e, 732 ), 733 m.resizeImage(), 734 e.hasSize 735 ? (z && clearInterval(z), 736 e.loadError 737 ? (t.addClass('mfp-loading'), 738 m.updateStatus('error', a.tError.replace('%url%', e.src))) 739 : (t.removeClass('mfp-loading'), m.updateStatus('ready'))) 740 : (m.updateStatus('loading'), 741 (e.loading = !0), 742 e.hasSize || 743 ((e.imgHidden = !0), 744 t.addClass('mfp-loading'), 745 m.findImageSize(e))), 746 t 747 ); 748 }, 749 }, 750 }); 751 function O(e) { 752 var t; 753 m.currTemplate[L] && 754 (t = m.currTemplate[L].find('iframe')).length && 755 (e || (t[0].src = '//about:blank'), m.isIE8) && 756 t.css('display', e ? 'block' : 'none'); 757 } 758 function M(e) { 759 var t = m.items.length; 760 return t - 1 < e ? e - t : e < 0 ? t + e : e; 761 } 762 function D(e, t, n) { 763 return e.replace(/%curr%/gi, t + 1).replace(/%total%/gi, n); 764 } 765 c.magnificPopup.registerModule('zoom', { 766 options: { 767 enabled: !1, 768 easing: 'ease-in-out', 769 duration: 300, 770 opener: function (e) { 771 return e.is('img') ? e : e.find('img'); 772 }, 773 }, 774 proto: { 775 initZoom: function () { 776 var e, 777 t, 778 n, 779 o, 780 i, 781 r, 782 a = m.st.zoom, 783 s = '.zoom'; 784 a.enabled && 785 m.supportsTransition && 786 ((t = a.duration), 787 (n = function (e) { 788 var e = e 789 .clone() 790 .removeAttr('style') 791 .removeAttr('class') 792 .addClass('mfp-animated-image'), 793 t = 'all ' + a.duration / 1e3 + 's ' + a.easing, 794 n = { 795 position: 'fixed', 796 zIndex: 9999, 797 left: 0, 798 top: 0, 799 '-webkit-backface-visibility': 'hidden', 800 }, 801 o = 'transition'; 802 return ( 803 (n['-webkit-' + o] = n['-moz-' + o] = n['-o-' + o] = n[o] = t), 804 e.css(n), 805 e 806 ); 807 }), 808 (o = function () { 809 m.content.css('visibility', 'visible'); 810 }), 811 d('BuildControls' + s, function () { 812 m._allowZoom() && 813 (clearTimeout(i), 814 m.content.css('visibility', 'hidden'), 815 (e = m._getItemToZoom()) 816 ? ((r = n(e)).css(m._getOffset()), 817 m.wrap.append(r), 818 (i = setTimeout(function () { 819 r.css(m._getOffset(!0)), 820 (i = setTimeout(function () { 821 o(), 822 setTimeout(function () { 823 r.remove(), (e = r = null), u('ZoomAnimationEnded'); 824 }, 16); 825 }, t)); 826 }, 16))) 827 : o()); 828 }), 829 d(F + s, function () { 830 if (m._allowZoom()) { 831 if ((clearTimeout(i), (m.st.removalDelay = t), !e)) { 832 if (!(e = m._getItemToZoom())) return; 833 r = n(e); 834 } 835 r.css(m._getOffset(!0)), 836 m.wrap.append(r), 837 m.content.css('visibility', 'hidden'), 838 setTimeout(function () { 839 r.css(m._getOffset()); 840 }, 16); 841 } 842 }), 843 d(w + s, function () { 844 m._allowZoom() && (o(), r && r.remove(), (e = null)); 845 })); 846 }, 847 _allowZoom: function () { 848 return 'image' === m.currItem.type; 849 }, 850 _getItemToZoom: function () { 851 return !!m.currItem.hasSize && m.currItem.img; 852 }, 853 _getOffset: function (e) { 854 var e = e 855 ? m.currItem.img 856 : m.st.zoom.opener(m.currItem.el || m.currItem), 857 t = e.offset(), 858 n = parseInt(e.css('padding-top'), 10), 859 o = parseInt(e.css('padding-bottom'), 10), 860 e = 861 ((t.top -= c(window).scrollTop() - n), 862 { 863 width: e.width(), 864 height: (P ? e.innerHeight() : e[0].offsetHeight) - o - n, 865 }); 866 return ( 867 (B = 868 void 0 === B 869 ? void 0 !== document.createElement('p').style.MozTransform 870 : B) 871 ? (e['-moz-transform'] = e.transform = 872 'translate(' + t.left + 'px,' + t.top + 'px)') 873 : ((e.left = t.left), (e.top = t.top)), 874 e 875 ); 876 }, 877 }, 878 }); 879 var B, 880 L = 'iframe', 881 H = 882 (c.magnificPopup.registerModule(L, { 883 options: { 884 markup: 885 '<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>', 886 srcAction: 'iframe_src', 887 patterns: { 888 youtube: { 889 index: 'youtube.com', 890 id: 'v=', 891 src: '//www.youtube.com/embed/%id%?autoplay=1', 892 }, 893 vimeo: { 894 index: 'vimeo.com/', 895 id: '/', 896 src: '//player.vimeo.com/video/%id%?autoplay=1', 897 }, 898 gmaps: { index: '//maps.google.', src: '%id%&output=embed' }, 899 }, 900 }, 901 proto: { 902 initIframe: function () { 903 m.types.push(L), 904 d('BeforeChange', function (e, t, n) { 905 t !== n && (t === L ? O() : n === L && O(!0)); 906 }), 907 d(w + '.' + L, function () { 908 O(); 909 }); 910 }, 911 getIframe: function (e, t) { 912 var n = e.src, 913 o = m.st.iframe, 914 i = 915 (c.each(o.patterns, function () { 916 if (-1 < n.indexOf(this.index)) 917 return ( 918 this.id && 919 (n = 920 'string' == typeof this.id 921 ? n.substr(
922 n.lastIndexOf(this.id) + this.id.length, 923 n.length, 924 ) 925 : this.id.call(this, n)), 926 (n = this.src.replace('%id%', n)), 927 !1 928 ); 929 }), 930 {}); 931 return ( 932 o.srcAction && (i[o.srcAction] = n), 933 m._parseMarkup(t, i, e), 934 m.updateStatus('ready'), 935 t 936 ); 937 }, 938 }, 939 }), 940 c.magnificPopup.registerModule('gallery', { 941 options: { 942 enabled: !1, 943 arrowMarkup: 944 '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>', 945 preload: [0, 2], 946 navigateByImgClick: !0, 947 arrows: !0, 948 tPrev: 'Previous (Left arrow key)', 949 tNext: 'Next (Right arrow key)', 950 tCounter: '%curr% of %total%', 951 langDir: null, 952 loop: !0, 953 }, 954 proto: { 955 initGallery: function () { 956 var r = m.st.gallery, 957 e = '.mfp-gallery'; 958 if (((m.direction = !0), !r || !r.enabled)) return !1; 959 r.langDir || (r.langDir = document.dir || 'ltr'), 960 (h += ' mfp-gallery'), 961 d(b + e, function () { 962 r.navigateByImgClick && 963 m.wrap.on('click' + e, '.mfp-img', function () { 964 if (1 < m.items.length) return m.next(), !1; 965 }), 966 g.on('keydown' + e, function (e) { 967 37 === e.keyCode 968 ? 'rtl' === r.langDir 969 ? m.next() 970 : m.prev() 971 : 39 === e.keyCode && 972 ('rtl' === r.langDir ? m.prev() : m.next()); 973 }), 974 m.updateGalleryButtons(); 975 }), 976 d('UpdateStatus' + e, function () { 977 m.updateGalleryButtons(); 978 }), 979 d('UpdateStatus' + e, function (e, t) { 980 t.text && 981 (t.text = D(t.text, m.currItem.index, m.items.length)); 982 }), 983 d(C + e, function (e, t, n, o) { 984 var i = m.items.length; 985 n.counter = 1 < i ? D(r.tCounter, o.index, i) : ''; 986 }), 987 d('BuildControls' + e, function () { 988 var e, t, n, o, i; 989 1 < m.items.length && 990 r.arrows && 991 !m.arrowLeft && 992 ((t = 993 'rtl' === r.langDir 994 ? ((o = r.tNext), (e = r.tPrev), (i = 'next'), 'prev') 995 : ((o = r.tPrev), (e = r.tNext), (i = 'prev'), 'next')), 996 (n = r.arrowMarkup), 997 (o = m.arrowLeft = 998 c( 999 n 1000 .replace(/%title%/gi, o) 1001 .replace(/%action%/gi, i) 1002 .replace(/%dir%/gi, 'left'), 1003 ).addClass(k)), 1004 (i = m.arrowRight = 1005 c( 1006 n 1007 .replace(/%title%/gi, e) 1008 .replace(/%action%/gi, t) 1009 .replace(/%dir%/gi, 'right'), 1010 ).addClass(k)), 1011 'rtl' === r.langDir 1012 ? ((m.arrowNext = o), (m.arrowPrev = i)) 1013 : ((m.arrowNext = i), (m.arrowPrev = o)), 1014 o.on('click', function () { 1015 'rtl' === r.langDir ? m.next() : m.prev(); 1016 }), 1017 i.on('click', function () { 1018 'rtl' === r.langDir ? m.prev() : m.next(); 1019 }), 1020 m.container.append(o.add(i))); 1021 }), 1022 d(j + e, function () { 1023 m._preloadTimeout && clearTimeout(m._preloadTimeout), 1024 (m._preloadTimeout = setTimeout(function () { 1025 m.preloadNearbyImages(), (m._preloadTimeout = null); 1026 }, 16)); 1027 }), 1028 d(w + e, function () { 1029 g.off(e), 1030 m.wrap.off('click' + e), 1031 (m.arrowRight = m.arrowLeft = null); 1032 }); 1033 }, 1034 next: function () { 1035 var e = M(m.index + 1); 1036 if (!m.st.gallery.loop && 0 === e) return !1; 1037 (m.direction = !0), (m.index = e), m.updateItemHTML(); 1038 }, 1039 prev: function () { 1040 var e = m.index - 1; 1041 if (!m.st.gallery.loop && e < 0) return !1; 1042 (m.direction = !1), (m.index = M(e)), m.updateItemHTML(); 1043 }, 1044 goTo: function (e) { 1045 (m.direction = e >= m.index), (m.index = e), m.updateItemHTML(); 1046 }, 1047 preloadNearbyImages: function () { 1048 for ( 1049 var e = m.st.gallery.preload, 1050 t = Math.min(e[0], m.items.length), 1051 n = Math.min(e[1], m.items.length), 1052 o = 1; 1053 o <= (m.direction ? n : t); 1054 o++ 1055 ) 1056 m._preloadItem(m.index + o); 1057 for (o = 1; o <= (m.direction ? t : n); o++) 1058 m._preloadItem(m.index - o); 1059 }, 1060 _preloadItem: function (e) { 1061 var t; 1062 (e = M(e)), 1063 m.items[e].preloaded || 1064 ((t = m.items[e]).parsed || (t = m.parseEl(e)), 1065 u('LazyLoad', t), 1066 'image' === t.type && 1067 (t.img = c('<img class="mfp-img" />') 1068 .on('load.mfploader', function () { 1069 t.hasSize = !0; 1070 }) 1071 .on('error.mfploader', function () { 1072 (t.hasSize = !0), 1073 (t.loadError = !0), 1074 u('LazyLoadError', t); 1075 }) 1076 .attr('src', t.src)), 1077 (t.preloaded = !0)); 1078 }, 1079 updateGalleryButtons: function () { 1080 m.st.gallery.loop || 1081 'object' != typeof m.arrowPrev || 1082 null === m.arrowPrev || 1083 (0 === m.index ? m.arrowPrev.hide() : m.arrowPrev.show(), 1084 m.index === m.items.length - 1 1085 ? m.arrowNext.hide() 1086 : m.arrowNext.show()); 1087 }, 1088 }, 1089 }), 1090 'retina'); 1091 c.magnificPopup.registerModule(H, { 1092 options: { 1093 replaceSrc: function (e) { 1094 return e.src.replace(/\.\w+$/, function (e) { 1095 return '@2x' + e; 1096 }); 1097 }, 1098 ratio: 1, 1099 }, 1100 proto: { 1101 initRetina: function () { 1102 var n, o; 1103 1 < window.devicePixelRatio && 1104 ((n = m.st.retina), (o = n.ratio), 1 < (o = isNaN(o) ? o() : o)) && 1105 (d('ImageHasSize.' + H, function (e, t) { 1106 t.img.css({
1107 'max-width': t.img[0].naturalWidth / o, 1108 width: '100%', 1109 }); 1110 }), 1111 d('ElementParse.' + H, function (e, t) { 1112 t.src = n.replaceSrc(t, o); 1113 })); 1114 }, 1115 }, 1116 }), 1117 r(); 1118});
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.