window.lazySizesConfig = window.lazySizesConfig || {}; lazySizesConfig.expand = 300; lazySizesConfig.loadHidden = false; /*! lazysizes - v5.2.2 - bgset plugin */ !function (e, t) { var a = function () { t(e.lazySizes), e.removeEventListener("lazyunveilread", a, !0) }; t = t.bind(null, e, e.document), "object" == typeof module && module.exports ? t(require("lazysizes")) : "function" == typeof define && define.amd ? define(["lazysizes"], t) : e.lazySizes ? a() : e.addEventListener("lazyunveilread", a, !0) }(window, function (e, z, g) { "use strict"; var c, y, b, f, i, s, n, v, m; e.addEventListener && (c = g.cfg, y = /\s+/g, b = /\s*\|\s+|\s+\|\s*/g, f = /^(.+?)(?:\s+\[\s*(.+?)\s*\])(?:\s+\[\s*(.+?)\s*\])?$/, i = /^\s*\(*\s*type\s*:\s*(.+?)\s*\)*\s*$/, s = /\(|\)|'/, n = { contain: 1, cover: 1 }, v = function (e, t) { var a; t && ((a = t.match(i)) && a[1] ? e.setAttribute("type", a[1]) : e.setAttribute("media", c.customMedia[t] || t)) }, m = function (e) { var t, a, i, r; e.target._lazybgset && (a = (t = e.target)._lazybgset, (i = t.currentSrc || t.src) && ((r = g.fire(a, "bgsetproxy", { src: i, useSrc: s.test(i) ? JSON.stringify(i) : i })).defaultPrevented || (a.style.backgroundImage = "url(" + r.detail.useSrc + ")")), t._lazybgsetLoading && (g.fire(a, "_lazyloaded", {}, !1, !0), delete t._lazybgsetLoading)) }, addEventListener("lazybeforeunveil", function (e) { var t, a, i, r, s, n, l, d, o, u; !e.defaultPrevented && (t = e.target.getAttribute("data-bgset")) && (o = e.target, (u = z.createElement("img")).alt = "", u._lazybgsetLoading = !0, e.detail.firesLoad = !0, a = t, i = o, r = u, s = z.createElement("picture"), n = i.getAttribute(c.sizesAttr), l = i.getAttribute("data-ratio"), d = i.getAttribute("data-optimumx"), i._lazybgset && i._lazybgset.parentNode == i && i.removeChild(i._lazybgset), Object.defineProperty(r, "_lazybgset", { value: i, writable: !0 }), Object.defineProperty(i, "_lazybgset", { value: s, writable: !0 }), a = a.replace(y, " ").split(b), s.style.display = "none", r.className = c.lazyClass, 1 != a.length || n || (n = "auto"), a.forEach(function (e) { var t, a = z.createElement("source"); n && "auto" != n && a.setAttribute("sizes", n), (t = e.match(f)) ? (a.setAttribute(c.srcsetAttr, t[1]), v(a, t[2]), v(a, t[3])) : a.setAttribute(c.srcsetAttr, e), s.appendChild(a) }), n && (r.setAttribute(c.sizesAttr, n), i.removeAttribute(c.sizesAttr), i.removeAttribute("sizes")), d && r.setAttribute("data-optimumx", d), l && r.setAttribute("data-ratio", l), s.appendChild(r), i.appendChild(s), setTimeout(function () { g.loader.unveil(u), g.rAF(function () { g.fire(u, "_lazyloaded", {}, !0, !0), u.complete && m({ target: u }) }) })) }), z.addEventListener("load", m, !0), e.addEventListener("lazybeforesizes", function (e) { var t, a, i, r; e.detail.instance == g && e.target._lazybgset && e.detail.dataAttr && (t = e.target._lazybgset, i = t, r = (getComputedStyle(i) || { getPropertyValue: function () { } }).getPropertyValue("background-size"), !n[r] && n[i.style.backgroundSize] && (r = i.style.backgroundSize), n[a = r] && (e.target._lazysizesParentFit = a, g.rAF(function () { e.target.setAttribute("data-parent-fit", a), e.target._lazysizesParentFit && delete e.target._lazysizesParentFit }))) }, !0), z.documentElement.addEventListener("lazybeforesizes", function (e) { var t, a; !e.defaultPrevented && e.target._lazybgset && e.detail.instance == g && (e.detail.width = (t = e.target._lazybgset, a = g.gW(t, t.parentNode), (!t._lazysizesWidth || a > t._lazysizesWidth) && (t._lazysizesWidth = a), t._lazysizesWidth)) })) }); /*! lazysizes - v5.2.2 */ !function (e) { var t = function (u, D, f) { "use strict"; var k, H; if (function () { var e; var t = { lazyClass: "lazyload", loadedClass: "lazyloaded", loadingClass: "lazyloading", preloadClass: "lazypreload", errorClass: "lazyerror", autosizesClass: "lazyautosizes", srcAttr: "data-src", srcsetAttr: "data-srcset", sizesAttr: "data-sizes", minSize: 40, customMedia: {}, init: true, expFactor: 1.5, hFac: .8, loadMode: 2, loadHidden: true, ricTimeout: 0, throttleDelay: 125 }; H = u.lazySizesConfig || u.lazysizesConfig || {}; for (e in t) { if (!(e in H)) { H[e] = t[e] } } }(), !D || !D.getElementsByClassName) { return { init: function () { }, cfg: H, noSupport: true } } var O = D.documentElement, a = u.HTMLPictureElement, P = "addEventListener", $ = "getAttribute", q = u[P].bind(u), I = u.setTimeout, U = u.requestAnimationFrame || I, l = u.requestIdleCallback, j = /^picture$/i, r = ["load", "error", "lazyincluded", "_lazyloaded"], i = {}, G = Array.prototype.forEach, J = function (e, t) { if (!i[t]) { i[t] = new RegExp("(\\s|^)" + t + "(\\s|$)") } return i[t].test(e[$]("class") || "") && i[t] }, K = function (e, t) { if (!J(e, t)) { e.setAttribute("class", (e[$]("class") || "").trim() + " " + t) } }, Q = function (e, t) { var i; if (i = J(e, t)) { e.setAttribute("class", (e[$]("class") || "").replace(i, " ")) } }, V = function (t, i, e) { var a = e ? P : "removeEventListener"; if (e) { V(t, i) } r.forEach(function (e) { t[a](e, i) }) }, X = function (e, t, i, a, r) { var n = D.createEvent("Event"); if (!i) { i = {} } i.instance = k; n.initEvent(t, !a, !r); n.detail = i; e.dispatchEvent(n); return n }, Y = function (e, t) { var i; if (!a && (i = u.picturefill || H.pf)) { if (t && t.src && !e[$]("srcset")) { e.setAttribute("srcset", t.src) } i({ reevaluate: true, elements: [e] }) } else if (t && t.src) { e.src = t.src } }, Z = function (e, t) { return (getComputedStyle(e, null) || {})[t] }, s = function (e, t, i) { i = i || e.offsetWidth; while (i 49 ? function () { l(t, { timeout: n }); if (n !== H.ricTimeout) { n = H.ricTimeout } } : te(function () { I(t) }, true); return function (e) { var t; if (e = e === true) { n = 33 } if (i) { return } i = true; t = r - (f.now() - a); if (t <0) { t = 0 } if (e || t <9) { s() } else { I(s, t) } } }, ae = function (e) { var t, i; var a = 99; var r = function () { t = null; e() }; var n = function () { var e = f.now() - i; if (e 0; if (r && Z(a, "overflow") != "visible") { i = a.getBoundingClientRect(); r = C > i.left && p i.top - 1 && g 500 && O.clientWidth > 500 ? 500 : 370 : H.expand; k._defEx = u; f = u * H.expFactor; c = H.hFac; A = null; if (w 2 && h > 2 && !D.hidden) { w = f; M = 0 } else if (h > 1 && M > 1 && N <6) { w = u } else { w = _ } } if (o !== n) { y = innerWidth + n * c; z = innerHeight + n; s = n * -1; o = n } i = d[t].getBoundingClientRect(); if ((b = i.bottom) >= s && (g = i.top) <= z && (C = i.right) >= s * c && (p = i.left) <= y && (b || C || p || g) && (H.loadHidden || W(d[t])) && (m && N <3 && !l && (h <3 || M <4) || S(d[t], n))) { R(d[t]); r = true; if (N > 9) { break } } else if (!r && m && !a && N <4 && M <4 && h > 2 && (v[0] || H.preloadAfterLoad) && (v[0] || !l && (b || C || p || g || d[t][$](H.sizesAttr) != "auto"))) { a = v[0] || d[t] } } if (a && !r) { R(a) } } }; var i = ie(t); var B = function (e) { var t = e.target; if (t._lazyCache) { delete t._lazyCache; return } x(e); K(t, H.loadedClass); Q(t, H.loadingClass); V(t, L); X(t, "lazyloaded") }; var a = te(B); var L = function (e) { a({ target: e.target }) }; var T = function (t, i) { try { t.contentWindow.location.replace(i) } catch (e) { t.src = i } }; var F = function (e) { var t; var i = e[$](H.srcsetAttr); if (t = H.customMedia[e[$]("data-media") || e[$]("media")]) { e.setAttribute("media", t) } if (i) { e.setAttribute("srcset", i) } }; var s = te(function (t, e, i, a, r) { var n, s, l, o, u, f; if (!(u = X(t, "lazybeforeunveil", e)).defaultPrevented) { if (a) { if (i) { K(t, H.autosizesClass) } else { t.setAttribute("sizes", a) } } s = t[$](H.srcsetAttr); n = t[$](H.srcAttr); if (r) { l = t.parentNode; o = l && j.test(l.nodeName || "") } f = e.firesLoad || "src" in t && (s || n || o); u = { target: t }; K(t, H.loadingClass); if (f) { clearTimeout(c); c = I(x, 2500); V(t, L, true) } if (o) { G.call(l.getElementsByTagName("source"), F) } if (s) { t.setAttribute("srcset", s) } else if (n && !o) { if (d.test(t.nodeName)) { T(t, n) } else { t.src = n } } if (r && (s || o)) { Y(t, { src: n }) } } if (t._lazyRace) { delete t._lazyRace } Q(t, H.lazyClass); ee(function () { var e = t.complete && t.naturalWidth > 1; if (!f || e) { if (e) { K(t, "ls-is-cached") } B(u); t._lazyCache = true; I(function () { if ("_lazyCache" in t) { delete t._lazyCache } }, 9) } if (t.loading == "lazy") { N-- } }, true) }); var R = function (e) { if (e._lazyRace) { return } var t; var i = n.test(e.nodeName); var a = i && (e[$](H.sizesAttr) || e[$]("sizes")); var r = a == "auto"; if ((r || !m) && i && (e[$]("src") || e.srcset) && !e.complete && !J(e, H.errorClass) && J(e, H.lazyClass)) { return } t = X(e, "lazyunveilread").detail; if (r) { re.updateElem(e, true, e.offsetWidth) } e._lazyRace = true; N++; s(e, t, r, a, i) }; var r = ae(function () { H.loadMode = 3; i() }); var l = function () { if (H.loadMode == 3) { H.loadMode = 2 } r() }; var o = function () { if (m) { return } if (f.now() - e <999) { I(o, 999); return } m = true; H.loadMode = 3; i(); q("scroll", l, true) }; return { _: function () { e = f.now(); k.elements = D.getElementsByClassName(H.lazyClass); v = D.getElementsByClassName(H.lazyClass + " " + H.preloadClass); q("scroll", i, true); q("resize", i, true); q("pageshow", function (e) { if (e.persisted) { var t = D.querySelectorAll("." + H.loadingClass); if (t.length && t.forEach) { U(function () { t.forEach(function (e) { if (e.complete) { R(e) } }) }) } } }); if (u.MutationObserver) { new MutationObserver(i).observe(O, { childList: true, subtree: true, attributes: true }) } else { O[P]("DOMNodeInserted", i, true); O[P]("DOMAttrModified", i, true); setInterval(i, 999) } q("hashchange", i, true);["focus", "mouseover", "click", "load", "transitionend", "animationend"].forEach(function (e) { D[P](e, i, true) }); if (/d$|^c/.test(D.readyState)) { o() } else { q("load", o); D[P]("DOMContentLoaded", i); I(o, 2e4) } if (k.elements.length) { t(); ee._lsFlush() } else { i() } }, checkElems: i, unveil: R, _aLSL: l } }(), re = function () { var i; var n = te(function (e, t, i, a) { var r, n, s; e._lazysizesWidth = a; a += "px"; e.setAttribute("sizes", a); if (j.test(t.nodeName || "")) { r = t.getElementsByTagName("source"); for (n = 0, s = r.length; n