{"version":3,"sources":["ls.bgset.js","ls.unveilhooks.js","ls.object-fit.js","ls.respimg.js","ls.config.js","lazysizes.js"],"names":["window","factory","globalInstall","lazySizes","removeEventListener","bind","document","module","exports","require","define","amd","addEventListener","lazySizesCfg","regWhite","regSplitSet","regSource","regType","regBgUrlEscape","allowedBackgroundSize","setTypeOrMedia","proxyLoad","cfg","contain","cover","source","match","typeMatch","setAttribute","customMedia","e","elem","event","target","_lazybgset","image","bg","currentSrc","src","fire","useSrc","test","JSON","stringify","defaultPrevented","style","backgroundImage","detail","_lazybgsetLoading","picture","sizes","ratio","optimumx","set","getAttribute","createElement","alt","firesLoad","sets","img","sizesAttr","parentNode","removeChild","Object","defineProperty","value","writable","replace","split","display","className","lazyClass","length","forEach","srcsetAttr","appendChild","removeAttribute","setTimeout","loader","unveil","rAF","complete","bgSize","instance","dataAttr","getComputedStyle","getPropertyValue","backgroundSize","_lazysizesParentFit","documentElement","width","gW","_lazysizesWidth","bgLoad","uniqueUrls","addStyleScript","insertElem","getElementsByTagName","rel","href","insertBefore","url","cb","onload","onerror","tmp","poster","preload","autoplay","play","er","requestAnimationFrame","aC","requireJs","initialEvent","cloneElementClass","onRead","fitSupport","positionSupport","regCssFit","regCssPosition","blankSrc","positionDefaults","center","50% 50%","initFix","element","config","onChange","addedSrc","styleElementStyle","switchClassesAdded","rC","styleElement","lazysizesCfg","loadingClass","loadedClass","rafedOnChange","fit","prev","hideElement","container","nodeName","toUpperCase","previousElementSibling","hC","position","visibility","objectFitClass","querySelector","cloneNode","curSrc","srcset","autosizesClass","srcAttr","attr","backgroundRepeat","backgroundPosition","_objectFitPolyfilledDisplay","objectFit","objectPosition","content","fontFamily","obj","polyfill","regDescriptors","candidates","regWCandidates","regMultiple","ascendingSort","regPxLength","reduceCandidate","parseWsrcset","createSrcset","getX","matchesMedia","sels","supportSrcset","regHDesc","fixEdgeHDescriptor","Array","prototype","removeHDescriptors","handler","call","addCandidate","candidate","wDescriptor","push","c","u","w","runMatchMedia","timer","matchMediaElems","run","i","len","init","getElementsByClassName","clearTimeout","p","sources","srces","_lazypolyfill","isPicture","supportsType","parseInt","d","sort","getCandidate","cur","cached","type","HTMLPictureElement","hasHDescriptorFix","msElementsFromPoint","picturefill","pf","options","elements","a","b","lowerCandidate","bonusFactor","Math","pow","input","trim","isImage","parsedSet","srcSet","_set","matchMedia","dpr","devicePixelRatio","optimum","min","media","matches","parse","sel","querySelectorAll","join","lazySizesConfig","--sm-up","--md-up","--lg-up","--xl-up","--xxl-up","--xxxl-up","--xs-down","--sm-down","--md-down","--lg-down","--xl-down","--xxl-down","Date","prop","lazySizesDefaults","preloadClass","errorClass","expFactor","hFac","proxyWidth","ricTimeout","throttleDelay","lazysizesConfig","getBgSize","noSupport","addClass","cls","ele","_getAttribute","reg","el","full","reevaluate","fns","supportPicture","_addEventListener","createPicture","regPicture","regClassCache","RegExp","dom","fn","add","loadEvents","evt","name","noBubbles","noCancelable","createEvent","lazysizes","getCSS","getWidth","parent","offsetWidth","minSize","rafBatch","_lsFlush","firstFns","secondFns","waiting","running","queue","rAFIt","simple","that","this","args","arguments","apply","later","last","now","timestamp","timeout","regImg","regIframe","supportScroll","navigator","userAgent","lowRuns","isVisible","isBodyHidden","body","checkElements","lastTime","isLoading","currentExpand","gDelay","rICTimeout","idleCallback","requestIdleCallback","rafedSwitchLoadingClass","switchLoadingClass","isAuto","isImg","triggerEvent","resetPreloadingTimer","resetPreloading","addRemoveLoadEvents","rafSwitchLoadingClass","handleSources","contentWindow","_lazyRace","removeClass","isLoaded","naturalWidth","_lazyCache","afterScroll","debounce","loadMode","preloadElems","isCompleted","started","elvH","eLbottom","unveilElement","_","throttledCheckElements","loadingElements","persisted","MutationObserver","observe","docElem","childList","attributes","setInterval","readyState","checkElems","isPriority","delay","hasClass","autoSizer","updateElem","lazyUnveil","_aLSL","altLoadmodeScrollListner","autoLoadElem","loadedSomething","elemExpand","elemNegativeExpand","beforeExpandVal","defaultExpand","preloadExpand","eLlen","lazyloadElems","prematureUnveil","elemExpandVal","expand","clientHeight","clientWidth","getObject","eLvW","innerWidth","innerHeight","generateStyleClass","rect","getBoundingClientRect","top","eLright","right","eLleft","left","removePrevClone","eLtop","visible","load","outerRect","bottom","preloadAfterLoad","sizeElement","autosizesElems","debouncedUpdateElementsSizes","getSizeElement","uP","updatePolyfill"],"mappings":"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","file":"../lazysizes.min.js","sourcesContent":["(function(window, factory) {\n\tvar globalInstall = function(){\n\t\tfactory(window.lazySizes);\n\t\twindow.removeEventListener('lazyunveilread', globalInstall, true);\n\t};\n\n\tfactory = factory.bind(null, window, window.document);\n\n\tif(typeof module == 'object' && module.exports){\n\t\tfactory(require('lazysizes'));\n\t} else if (typeof define == 'function' && define.amd) {\n\t\tdefine(['lazysizes'], factory);\n\t} else if(window.lazySizes) {\n\t\tglobalInstall();\n\t} else {\n\t\twindow.addEventListener('lazyunveilread', globalInstall, true);\n\t}\n}(window, function(window, document, lazySizes) {\n\t'use strict';\n\tif(!window.addEventListener){return;}\n\n\tvar lazySizesCfg = lazySizes.cfg;\n\tvar regWhite = /\\s+/g;\n\tvar regSplitSet = /\\s*\\|\\s+|\\s+\\|\\s*/g;\n\tvar regSource = /^(.+?)(?:\\s+\\[\\s*(.+?)\\s*\\])(?:\\s+\\[\\s*(.+?)\\s*\\])?$/;\n\tvar regType = /^\\s*\\(*\\s*type\\s*:\\s*(.+?)\\s*\\)*\\s*$/;\n\tvar regBgUrlEscape = /\\(|\\)|'/;\n\tvar allowedBackgroundSize = {contain: 1, cover: 1};\n\tvar proxyWidth = function(elem){\n\t\tvar width = lazySizes.gW(elem, elem.parentNode);\n\n\t\tif(!elem._lazysizesWidth || width > elem._lazysizesWidth){\n\t\t\telem._lazysizesWidth = width;\n\t\t}\n\t\treturn elem._lazysizesWidth;\n\t};\n\tvar getBgSize = function(elem){\n\t\tvar bgSize;\n\n\t\tbgSize = (getComputedStyle(elem) || {getPropertyValue: function(){}}).getPropertyValue('background-size');\n\n\t\tif(!allowedBackgroundSize[bgSize] && allowedBackgroundSize[elem.style.backgroundSize]){\n\t\t\tbgSize = elem.style.backgroundSize;\n\t\t}\n\n\t\treturn bgSize;\n\t};\n\tvar setTypeOrMedia = function(source, match){\n\t\tif(match){\n\t\t\tvar typeMatch = match.match(regType);\n\t\t\tif(typeMatch && typeMatch[1]){\n\t\t\t\tsource.setAttribute('type', typeMatch[1]);\n\t\t\t} else {\n\t\t\t\tsource.setAttribute('media', lazySizesCfg.customMedia[match] || match);\n\t\t\t}\n\t\t}\n\t};\n\tvar createPicture = function(sets, elem, img){\n\t\tvar picture = document.createElement('picture');\n\t\tvar sizes = elem.getAttribute(lazySizesCfg.sizesAttr);\n\t\tvar ratio = elem.getAttribute('data-ratio');\n\t\tvar optimumx = elem.getAttribute('data-optimumx');\n\n\t\tif(elem._lazybgset && elem._lazybgset.parentNode == elem){\n\t\t\telem.removeChild(elem._lazybgset);\n\t\t}\n\n\t\tObject.defineProperty(img, '_lazybgset', {\n\t\t\tvalue: elem,\n\t\t\twritable: true\n\t\t});\n\t\tObject.defineProperty(elem, '_lazybgset', {\n\t\t\tvalue: picture,\n\t\t\twritable: true\n\t\t});\n\n\t\tsets = sets.replace(regWhite, ' ').split(regSplitSet);\n\n\t\tpicture.style.display = 'none';\n\t\timg.className = lazySizesCfg.lazyClass;\n\n\t\tif(sets.length == 1 && !sizes){\n\t\t\tsizes = 'auto';\n\t\t}\n\n\t\tsets.forEach(function(set){\n\t\t\tvar match;\n\t\t\tvar source = document.createElement('source');\n\n\t\t\tif(sizes && sizes != 'auto'){\n\t\t\t\tsource.setAttribute('sizes', sizes);\n\t\t\t}\n\n\t\t\tif((match = set.match(regSource))){\n\t\t\t\tsource.setAttribute(lazySizesCfg.srcsetAttr, match[1]);\n\n\t\t\t\tsetTypeOrMedia(source, match[2]);\n\t\t\t\tsetTypeOrMedia(source, match[3]);\n\t\t\t} else {\n\t\t\t\tsource.setAttribute(lazySizesCfg.srcsetAttr, set);\n\t\t\t}\n\n\t\t\tpicture.appendChild(source);\n\t\t});\n\n\t\tif(sizes){\n\t\t\timg.setAttribute(lazySizesCfg.sizesAttr, sizes);\n\t\t\telem.removeAttribute(lazySizesCfg.sizesAttr);\n\t\t\telem.removeAttribute('sizes');\n\t\t}\n\t\tif(optimumx){\n\t\t\timg.setAttribute('data-optimumx', optimumx);\n\t\t}\n\t\tif(ratio) {\n\t\t\timg.setAttribute('data-ratio', ratio);\n\t\t}\n\n\t\tpicture.appendChild(img);\n\n\t\telem.appendChild(picture);\n\t};\n\n\tvar proxyLoad = function(e){\n\t\tif(!e.target._lazybgset){return;}\n\n\t\tvar image = e.target;\n\t\tvar elem = image._lazybgset;\n\t\tvar bg = image.currentSrc || image.src;\n\n\n\t\tif(bg){\n\t\t\tvar event = lazySizes.fire(elem, 'bgsetproxy', {\n\t\t\t\tsrc: bg,\n\t\t\t\tuseSrc: regBgUrlEscape.test(bg) ? JSON.stringify(bg) : bg,\n\t\t\t});\n\n\t\t\tif(!event.defaultPrevented){\n\t\t\t\telem.style.backgroundImage = 'url(' + event.detail.useSrc + ')';\n\t\t\t}\n\t\t}\n\n\t\tif(image._lazybgsetLoading){\n\t\t\tlazySizes.fire(elem, '_lazyloaded', {}, false, true);\n\t\t\tdelete image._lazybgsetLoading;\n\t\t}\n\t};\n\n\taddEventListener('lazybeforeunveil', function(e){\n\t\tvar set, image, elem;\n\n\t\tif(e.defaultPrevented || !(set = e.target.getAttribute('data-bgset'))){return;}\n\n\t\telem = e.target;\n\t\timage = document.createElement('img');\n\n\t\timage.alt = '';\n\n\t\timage._lazybgsetLoading = true;\n\t\te.detail.firesLoad = true;\n\n\t\tcreatePicture(set, elem, image);\n\n\t\tsetTimeout(function(){\n\t\t\tlazySizes.loader.unveil(image);\n\n\t\t\tlazySizes.rAF(function(){\n\t\t\t\tlazySizes.fire(image, '_lazyloaded', {}, true, true);\n\t\t\t\tif(image.complete) {\n\t\t\t\t\tproxyLoad({target: image});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t});\n\n\tdocument.addEventListener('load', proxyLoad, true);\n\n\twindow.addEventListener('lazybeforesizes', function(e){\n\t\tif(e.detail.instance != lazySizes){return;}\n\t\tif(e.target._lazybgset && e.detail.dataAttr){\n\t\t\tvar elem = e.target._lazybgset;\n\t\t\tvar bgSize = getBgSize(elem);\n\n\t\t\tif(allowedBackgroundSize[bgSize]){\n\t\t\t\te.target._lazysizesParentFit = bgSize;\n\n\t\t\t\tlazySizes.rAF(function(){\n\t\t\t\t\te.target.setAttribute('data-parent-fit', bgSize);\n\t\t\t\t\tif(e.target._lazysizesParentFit){\n\t\t\t\t\t\tdelete e.target._lazysizesParentFit;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, true);\n\n\tdocument.documentElement.addEventListener('lazybeforesizes', function(e){\n\t\tif(e.defaultPrevented || !e.target._lazybgset || e.detail.instance != lazySizes){return;}\n\t\te.detail.width = proxyWidth(e.target._lazybgset);\n\t});\n}));\n","/*\nThis plugin extends lazySizes to lazyLoad:\nbackground images, videos/posters and scripts\n\nBackground-Image:\nFor background images, use data-bg attribute:\n
\n\n Video:\n For video/audio use data-poster and preload=\"none\":\n \n\n For video that plays automatically if in view:\n \n\n\n Scripts:\n For scripts use data-script:\n
\n\n\n Script modules using require:\n For modules using require use data-require:\n
\n*/\n\n(function(window, factory) {\n\tvar globalInstall = function(){\n\t\tfactory(window.lazySizes);\n\t\twindow.removeEventListener('lazyunveilread', globalInstall, true);\n\t};\n\n\tfactory = factory.bind(null, window, window.document);\n\n\tif(typeof module == 'object' && module.exports){\n\t\tfactory(require('lazysizes'));\n\t} else if (typeof define == 'function' && define.amd) {\n\t\tdefine(['lazysizes'], factory);\n\t} else if(window.lazySizes) {\n\t\tglobalInstall();\n\t} else {\n\t\twindow.addEventListener('lazyunveilread', globalInstall, true);\n\t}\n}(window, function(window, document, lazySizes) {\n\t/*jshint eqnull:true */\n\t'use strict';\n\tvar bgLoad, regBgUrlEscape;\n\tvar uniqueUrls = {};\n\n\tif(document.addEventListener){\n\t\tregBgUrlEscape = /\\(|\\)|\\s|'/;\n\n\t\tbgLoad = function (url, cb){\n\t\t\tvar img = document.createElement('img');\n\t\t\timg.onload = function(){\n\t\t\t\timg.onload = null;\n\t\t\t\timg.onerror = null;\n\t\t\t\timg = null;\n\t\t\t\tcb();\n\t\t\t};\n\t\t\timg.onerror = img.onload;\n\n\t\t\timg.src = url;\n\n\t\t\tif(img && img.complete && img.onload){\n\t\t\t\timg.onload();\n\t\t\t}\n\t\t};\n\n\t\taddEventListener('lazybeforeunveil', function(e){\n\t\t\tif(e.detail.instance != lazySizes){return;}\n\n\t\t\tvar tmp, load, bg, poster;\n\t\t\tif(!e.defaultPrevented) {\n\n\t\t\t\tvar target = e.target;\n\n\t\t\t\tif(target.preload == 'none'){\n\t\t\t\t\ttarget.preload = target.getAttribute('data-preload') || 'auto';\n\t\t\t\t}\n\n\t\t\t\tif (target.getAttribute('data-autoplay') != null) {\n\t\t\t\t\tif (target.getAttribute('data-expand') && !target.autoplay) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\ttarget.play();\n\t\t\t\t\t\t} catch (er) {}\n\t\t\t\t\t} else {\n\t\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\t\ttarget.setAttribute('data-expand', '-10');\n\t\t\t\t\t\t\tlazySizes.aC(target, lazySizes.cfg.lazyClass);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\ttmp = target.getAttribute('data-link');\n\t\t\t\tif(tmp){\n\t\t\t\t\taddStyleScript(tmp, true);\n\t\t\t\t}\n\n\t\t\t\t// handle data-script\n\t\t\t\ttmp = target.getAttribute('data-script');\n\t\t\t\tif(tmp){\n\t\t\t\t\taddStyleScript(tmp);\n\t\t\t\t}\n\n\t\t\t\t// handle data-require\n\t\t\t\ttmp = target.getAttribute('data-require');\n\t\t\t\tif(tmp){\n\t\t\t\t\tif(lazySizes.cfg.requireJs){\n\t\t\t\t\t\tlazySizes.cfg.requireJs([tmp]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\taddStyleScript(tmp);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// handle data-bg\n\t\t\t\tbg = target.getAttribute('data-bg');\n\t\t\t\tif (bg) {\n\t\t\t\t\te.detail.firesLoad = true;\n\t\t\t\t\tload = function(){\n\t\t\t\t\t\ttarget.style.backgroundImage = 'url(' + (regBgUrlEscape.test(bg) ? JSON.stringify(bg) : bg ) + ')';\n\t\t\t\t\t\te.detail.firesLoad = false;\n\t\t\t\t\t\tlazySizes.fire(target, '_lazyloaded', {}, true, true);\n\t\t\t\t\t};\n\n\t\t\t\t\tbgLoad(bg, load);\n\t\t\t\t}\n\n\t\t\t\t// handle data-poster\n\t\t\t\tposter = target.getAttribute('data-poster');\n\t\t\t\tif(poster){\n\t\t\t\t\te.detail.firesLoad = true;\n\t\t\t\t\tload = function(){\n\t\t\t\t\t\ttarget.poster = poster;\n\t\t\t\t\t\te.detail.firesLoad = false;\n\t\t\t\t\t\tlazySizes.fire(target, '_lazyloaded', {}, true, true);\n\t\t\t\t\t};\n\n\t\t\t\t\tbgLoad(poster, load);\n\n\t\t\t\t}\n\t\t\t}\n\t\t}, false);\n\n\t}\n\n\tfunction addStyleScript(src, style){\n\t\tif(uniqueUrls[src]){\n\t\t\treturn;\n\t\t}\n\t\tvar elem = document.createElement(style ? 'link' : 'script');\n\t\tvar insertElem = document.getElementsByTagName('script')[0];\n\n\t\tif(style){\n\t\t\telem.rel = 'stylesheet';\n\t\t\telem.href = src;\n\t\t} else {\n\t\t\telem.src = src;\n\t\t}\n\t\tuniqueUrls[src] = true;\n\t\tuniqueUrls[elem.src || elem.href] = true;\n\t\tinsertElem.parentNode.insertBefore(elem, insertElem);\n\t}\n}));\n","(function(window, factory) {\n\tif(!window) {return;}\n\tvar globalInstall = function(initialEvent){\n\t\tfactory(window.lazySizes, initialEvent);\n\t\twindow.removeEventListener('lazyunveilread', globalInstall, true);\n\t};\n\n\tfactory = factory.bind(null, window, window.document);\n\n\tif(typeof module == 'object' && module.exports){\n\t\tfactory(require('lazysizes'));\n\t} else if (typeof define == 'function' && define.amd) {\n\t\tdefine(['lazysizes'], factory);\n\t} else if(window.lazySizes) {\n\t\tglobalInstall();\n\t} else {\n\t\twindow.addEventListener('lazyunveilread', globalInstall, true);\n\t}\n}(typeof window != 'undefined' ?\n\twindow : 0, function(window, document, lazySizes, initialEvent) {\n\t'use strict';\n\tvar cloneElementClass;\n\tvar style = document.createElement('a').style;\n\tvar fitSupport = 'objectFit' in style;\n\tvar positionSupport = fitSupport && 'objectPosition' in style;\n\tvar regCssFit = /object-fit[\"']*\\s*:\\s*[\"']*(contain|cover)/;\n\tvar regCssPosition = /object-position[\"']*\\s*:\\s*[\"']*(.+?)(?=($|,|'|\"|;))/;\n\tvar blankSrc = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n\tvar regBgUrlEscape = /\\(|\\)|'/;\n\tvar positionDefaults = {\n\t\tcenter: 'center',\n\t\t'50% 50%': 'center',\n\t};\n\n\tfunction getObject(element){\n\t\tvar css = (getComputedStyle(element, null) || {});\n\t\tvar content = css.fontFamily || '';\n\t\tvar objectFit = content.match(regCssFit) || '';\n\t\tvar objectPosition = objectFit && content.match(regCssPosition) || '';\n\n\t\tif(objectPosition){\n\t\t\tobjectPosition = objectPosition[1];\n\t\t}\n\n\t\treturn {\n\t\t\tfit: objectFit && objectFit[1] || '',\n\t\t\tposition: positionDefaults[objectPosition] || objectPosition || 'center',\n\t\t};\n\t}\n\n\tfunction generateStyleClass() {\n\t\tif (cloneElementClass) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar styleElement = document.createElement('style');\n\n\t\tcloneElementClass = lazySizes.cfg.objectFitClass || 'lazysizes-display-clone';\n\n\t\tdocument.querySelector('head').appendChild(styleElement);\n\t}\n\n\tfunction removePrevClone(element) {\n\t\tvar prev = element.previousElementSibling;\n\n\t\tif (prev && lazySizes.hC(prev, cloneElementClass)) {\n\t\t\tprev.parentNode.removeChild(prev);\n\t\t\telement.style.position = prev.getAttribute('data-position') || '';\n\t\t\telement.style.visibility = prev.getAttribute('data-visibility') || '';\n\t\t}\n\t}\n\n\tfunction initFix(element, config){\n\t\tvar switchClassesAdded, addedSrc, styleElement, styleElementStyle;\n\t\tvar lazysizesCfg = lazySizes.cfg;\n\n\t\tvar onChange = function(){\n\t\t\tvar src = element.currentSrc || element.src;\n\n\t\t\tif(src && addedSrc !== src){\n\t\t\t\taddedSrc = src;\n\t\t\t\tstyleElementStyle.backgroundImage = 'url(' + (regBgUrlEscape.test(src) ? JSON.stringify(src) : src ) + ')';\n\n\t\t\t\tif(!switchClassesAdded){\n\t\t\t\t\tswitchClassesAdded = true;\n\t\t\t\t\tlazySizes.rC(styleElement, lazysizesCfg.loadingClass);\n\t\t\t\t\tlazySizes.aC(styleElement, lazysizesCfg.loadedClass);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tvar rafedOnChange = function(){\n\t\t\tlazySizes.rAF(onChange);\n\t\t};\n\n\t\telement._lazysizesParentFit = config.fit;\n\n\t\telement.addEventListener('lazyloaded', rafedOnChange, true);\n\t\telement.addEventListener('load', rafedOnChange, true);\n\n\t\tlazySizes.rAF(function(){\n\n\t\t\tvar hideElement = element;\n\t\t\tvar container = element.parentNode;\n\n\t\t\tif(container.nodeName.toUpperCase() == 'PICTURE'){\n\t\t\t\thideElement = container;\n\t\t\t\tcontainer = container.parentNode;\n\t\t\t}\n\n\t\t\tremovePrevClone(hideElement);\n\n\t\t\tif (!cloneElementClass) {\n\t\t\t\tgenerateStyleClass();\n\t\t\t}\n\n\t\t\tstyleElement = element.cloneNode(false);\n\t\t\tstyleElementStyle = styleElement.style;\n\n\t\t\tstyleElement.addEventListener('load', function(){\n\t\t\t\tvar curSrc = styleElement.currentSrc || styleElement.src;\n\n\t\t\t\tif(curSrc && curSrc != blankSrc){\n\t\t\t\t\tstyleElement.src = blankSrc;\n\t\t\t\t\tstyleElement.srcset = '';\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tlazySizes.rC(styleElement, lazysizesCfg.loadedClass);\n\t\t\tlazySizes.rC(styleElement, lazysizesCfg.lazyClass);\n\t\t\tlazySizes.rC(styleElement, lazysizesCfg.autosizesClass);\n\t\t\tlazySizes.aC(styleElement, lazysizesCfg.loadingClass);\n\t\t\tlazySizes.aC(styleElement, cloneElementClass);\n\n\t\t\t['data-parent-fit', 'data-parent-container', 'data-object-fit-polyfilled',\n\t\t\t\tlazysizesCfg.srcsetAttr, lazysizesCfg.srcAttr].forEach(function(attr) {\n\t\t\t\tstyleElement.removeAttribute(attr);\n\t\t\t});\n\n\t\t\tstyleElement.src = blankSrc;\n\t\t\tstyleElement.srcset = '';\n\n\t\t\tstyleElementStyle.backgroundRepeat = 'no-repeat';\n\t\t\tstyleElementStyle.backgroundPosition = config.position;\n\t\t\tstyleElementStyle.backgroundSize = config.fit;\n\n\t\t\tstyleElement.setAttribute('data-position', hideElement.style.position);\n\t\t\tstyleElement.setAttribute('data-visibility', hideElement.style.visibility);\n\n\t\t\thideElement.style.visibility = 'hidden';\n\t\t\thideElement.style.position = 'absolute';\n\n\t\t\telement.setAttribute('data-parent-fit', config.fit);\n\t\t\telement.setAttribute('data-parent-container', 'prev');\n\t\t\telement.setAttribute('data-object-fit-polyfilled', '');\n\t\t\telement._objectFitPolyfilledDisplay = styleElement;\n\n\t\t\tcontainer.insertBefore(styleElement, hideElement);\n\n\t\t\tif(element._lazysizesParentFit){\n\t\t\t\tdelete element._lazysizesParentFit;\n\t\t\t}\n\n\t\t\tif(element.complete){\n\t\t\t\tonChange();\n\t\t\t}\n\t\t});\n\t}\n\n\tif(!fitSupport || !positionSupport){\n\t\tvar onRead = function(e){\n\t\t\tif(e.detail.instance != lazySizes){return;}\n\n\t\t\tvar element = e.target;\n\t\t\tvar obj = getObject(element);\n\n\t\t\tif(obj.fit && (!fitSupport || (obj.position != 'center'))){\n\t\t\t\tinitFix(element, obj);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t};\n\n\t\twindow.addEventListener('lazybeforesizes', function(e) {\n\t\t\tif(e.detail.instance != lazySizes){return;}\n\t\t\tvar element = e.target;\n\n\t\t\tif (element.getAttribute('data-object-fit-polyfilled') != null && !element._objectFitPolyfilledDisplay) {\n\t\t\t\tif(!onRead(e)){\n\t\t\t\t\tlazySizes.rAF(function () {\n\t\t\t\t\t\telement.removeAttribute('data-object-fit-polyfilled');\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\twindow.addEventListener('lazyunveilread', onRead, true);\n\n\t\tif(initialEvent && initialEvent.detail){\n\t\t\tonRead(initialEvent);\n\t\t}\n\t}\n}));\n","(function(window, factory) {\n\tif(!window) {return;}\n\tvar globalInstall = function(){\n\t\tfactory(window.lazySizes);\n\t\twindow.removeEventListener('lazyunveilread', globalInstall, true);\n\t};\n\n\tfactory = factory.bind(null, window, window.document);\n\n\tif(typeof module == 'object' && module.exports){\n\t\tfactory(require('lazysizes'));\n\t} else if (typeof define == 'function' && define.amd) {\n\t\tdefine(['lazysizes'], factory);\n\t} else if(window.lazySizes) {\n\t\tglobalInstall();\n\t} else {\n\t\twindow.addEventListener('lazyunveilread', globalInstall, true);\n\t}\n}(typeof window != 'undefined' ?\n\twindow : 0, function(window, document, lazySizes) {\n\t/*jshint eqnull:true */\n\t'use strict';\n\tvar polyfill;\n\tvar lazySizesCfg = lazySizes.cfg;\n\tvar img = document.createElement('img');\n\tvar supportSrcset = ('sizes' in img) && ('srcset' in img);\n\tvar regHDesc = /\\s+\\d+h/g;\n\tvar fixEdgeHDescriptor = (function(){\n\t\tvar regDescriptors = /\\s+(\\d+)(w|h)\\s+(\\d+)(w|h)/;\n\t\tvar forEach = Array.prototype.forEach;\n\n\t\treturn function(){\n\t\t\tvar img = document.createElement('img');\n\t\t\tvar removeHDescriptors = function(source){\n\t\t\t\tvar ratio, match;\n\t\t\t\tvar srcset = source.getAttribute(lazySizesCfg.srcsetAttr);\n\t\t\t\tif(srcset){\n\t\t\t\t\tif((match = srcset.match(regDescriptors))){\n\t\t\t\t\t\tif(match[2] == 'w'){\n\t\t\t\t\t\t\tratio = match[1] / match[3];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tratio = match[3] / match[1];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(ratio){\n\t\t\t\t\t\t\tsource.setAttribute('data-aspectratio', ratio);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsource.setAttribute(lazySizesCfg.srcsetAttr, srcset.replace(regHDesc, ''));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t\tvar handler = function(e){\n\t\t\t\tif(e.detail.instance != lazySizes){return;}\n\t\t\t\tvar picture = e.target.parentNode;\n\n\t\t\t\tif(picture && picture.nodeName == 'PICTURE'){\n\t\t\t\t\tforEach.call(picture.getElementsByTagName('source'), removeHDescriptors);\n\t\t\t\t}\n\t\t\t\tremoveHDescriptors(e.target);\n\t\t\t};\n\n\t\t\tvar test = function(){\n\t\t\t\tif(!!img.currentSrc){\n\t\t\t\t\tdocument.removeEventListener('lazybeforeunveil', handler);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tdocument.addEventListener('lazybeforeunveil', handler);\n\n\t\t\timg.onload = test;\n\t\t\timg.onerror = test;\n\n\t\t\timg.srcset = 'data:,a 1w 1h';\n\n\t\t\tif(img.complete){\n\t\t\t\ttest();\n\t\t\t}\n\t\t};\n\t})();\n\n\tif(!lazySizesCfg.supportsType){\n\t\tlazySizesCfg.supportsType = function(type/*, elem*/){\n\t\t\treturn !type;\n\t\t};\n\t}\n\n\tif (window.HTMLPictureElement && supportSrcset) {\n\t\tif(!lazySizes.hasHDescriptorFix && document.msElementsFromPoint){\n\t\t\tlazySizes.hasHDescriptorFix = true;\n\t\t\tfixEdgeHDescriptor();\n\t\t}\n\t\treturn;\n\t}\n\n\tif(window.picturefill || lazySizesCfg.pf){return;}\n\n\tlazySizesCfg.pf = function(options){\n\t\tvar i, len;\n\t\tif(window.picturefill){return;}\n\t\tfor(i = 0, len = options.elements.length; i < len; i++){\n\t\t\tpolyfill(options.elements[i]);\n\t\t}\n\t};\n\n\t// partial polyfill\n\tpolyfill = (function(){\n\t\tvar ascendingSort = function( a, b ) {\n\t\t\treturn a.w - b.w;\n\t\t};\n\t\tvar regPxLength = /^\\s*\\d+\\.*\\d*px\\s*$/;\n\t\tvar reduceCandidate = function (srces) {\n\t\t\tvar lowerCandidate, bonusFactor;\n\t\t\tvar len = srces.length;\n\t\t\tvar candidate = srces[len -1];\n\t\t\tvar i = 0;\n\n\t\t\tfor(i; i < len;i++){\n\t\t\t\tcandidate = srces[i];\n\t\t\t\tcandidate.d = candidate.w / srces.w;\n\n\t\t\t\tif(candidate.d >= srces.d){\n\t\t\t\t\tif(!candidate.cached && (lowerCandidate = srces[i - 1]) &&\n\t\t\t\t\t\tlowerCandidate.d > srces.d - (0.13 * Math.pow(srces.d, 2.2))){\n\n\t\t\t\t\t\tbonusFactor = Math.pow(lowerCandidate.d - 0.6, 1.6);\n\n\t\t\t\t\t\tif(lowerCandidate.cached) {\n\t\t\t\t\t\t\tlowerCandidate.d += 0.15 * bonusFactor;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(lowerCandidate.d + ((candidate.d - srces.d) * bonusFactor) > srces.d){\n\t\t\t\t\t\t\tcandidate = lowerCandidate;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn candidate;\n\t\t};\n\n\t\tvar parseWsrcset = (function(){\n\t\t\tvar candidates;\n\t\t\tvar regWCandidates = /(([^,\\s].[^\\s]+)\\s+(\\d+)w)/g;\n\t\t\tvar regMultiple = /\\s/;\n\t\t\tvar addCandidate = function(match, candidate, url, wDescriptor){\n\t\t\t\tcandidates.push({\n\t\t\t\t\tc: candidate,\n\t\t\t\t\tu: url,\n\t\t\t\t\tw: wDescriptor * 1\n\t\t\t\t});\n\t\t\t};\n\n\t\t\treturn function(input){\n\t\t\t\tcandidates = [];\n\t\t\t\tinput = input.trim();\n\t\t\t\tinput\n\t\t\t\t\t.replace(regHDesc, '')\n\t\t\t\t\t.replace(regWCandidates, addCandidate)\n\t\t\t\t;\n\n\t\t\t\tif(!candidates.length && input && !regMultiple.test(input)){\n\t\t\t\t\tcandidates.push({\n\t\t\t\t\t\tc: input,\n\t\t\t\t\t\tu: input,\n\t\t\t\t\t\tw: 99\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn candidates;\n\t\t\t};\n\t\t})();\n\n\t\tvar runMatchMedia = function(){\n\t\t\tif(runMatchMedia.init){return;}\n\n\t\t\trunMatchMedia.init = true;\n\t\t\taddEventListener('resize', (function(){\n\t\t\t\tvar timer;\n\t\t\t\tvar matchMediaElems = document.getElementsByClassName('lazymatchmedia');\n\t\t\t\tvar run = function(){\n\t\t\t\t\tvar i, len;\n\t\t\t\t\tfor(i = 0, len = matchMediaElems.length; i < len; i++){\n\t\t\t\t\t\tpolyfill(matchMediaElems[i]);\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\treturn function(){\n\t\t\t\t\tclearTimeout(timer);\n\t\t\t\t\ttimer = setTimeout(run, 66);\n\t\t\t\t};\n\t\t\t})());\n\t\t};\n\n\t\tvar createSrcset = function(elem, isImage){\n\t\t\tvar parsedSet;\n\t\t\tvar srcSet = elem.getAttribute('srcset') || elem.getAttribute(lazySizesCfg.srcsetAttr);\n\n\t\t\tif(!srcSet && isImage){\n\t\t\t\tsrcSet = !elem._lazypolyfill ?\n\t\t\t\t\t(elem.getAttribute(lazySizesCfg.srcAttr) || elem.getAttribute('src')) :\n\t\t\t\t\telem._lazypolyfill._set\n\t\t\t\t;\n\t\t\t}\n\n\t\t\tif(!elem._lazypolyfill || elem._lazypolyfill._set != srcSet){\n\n\t\t\t\tparsedSet = parseWsrcset( srcSet || '' );\n\t\t\t\tif(isImage && elem.parentNode){\n\t\t\t\t\tparsedSet.isPicture = elem.parentNode.nodeName.toUpperCase() == 'PICTURE';\n\n\t\t\t\t\tif(parsedSet.isPicture){\n\t\t\t\t\t\tif(window.matchMedia){\n\t\t\t\t\t\t\tlazySizes.aC(elem, 'lazymatchmedia');\n\t\t\t\t\t\t\trunMatchMedia();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tparsedSet._set = srcSet;\n\t\t\t\tObject.defineProperty(elem, '_lazypolyfill', {\n\t\t\t\t\tvalue: parsedSet,\n\t\t\t\t\twritable: true\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tvar getX = function(elem){\n\t\t\tvar dpr = window.devicePixelRatio || 1;\n\t\t\tvar optimum = lazySizes.getX && lazySizes.getX(elem);\n\t\t\treturn Math.min(optimum || dpr, 2.5, dpr);\n\t\t};\n\n\t\tvar matchesMedia = function(media){\n\t\t\tif(window.matchMedia){\n\t\t\t\tmatchesMedia = function(media){\n\t\t\t\t\treturn !media || (matchMedia(media) || {}).matches;\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn !media;\n\t\t\t}\n\n\t\t\treturn matchesMedia(media);\n\t\t};\n\n\t\tvar getCandidate = function(elem){\n\t\t\tvar sources, i, len, media, source, srces, src, width;\n\n\t\t\tsource = elem;\n\t\t\tcreateSrcset(source, true);\n\t\t\tsrces = source._lazypolyfill;\n\n\t\t\tif(srces.isPicture){\n\t\t\t\tfor(i = 0, sources = elem.parentNode.getElementsByTagName('source'), len = sources.length; i < len; i++){\n\t\t\t\t\tif( lazySizesCfg.supportsType(sources[i].getAttribute('type'), elem) && matchesMedia( sources[i].getAttribute('media')) ){\n\t\t\t\t\t\tsource = sources[i];\n\t\t\t\t\t\tcreateSrcset(source);\n\t\t\t\t\t\tsrces = source._lazypolyfill;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(srces.length > 1){\n\t\t\t\twidth = source.getAttribute('sizes') || '';\n\t\t\t\twidth = regPxLength.test(width) && parseInt(width, 10) || lazySizes.gW(elem, elem.parentNode);\n\t\t\t\tsrces.d = getX(elem);\n\t\t\t\tif(!srces.src || !srces.w || srces.w < width){\n\t\t\t\t\tsrces.w = width;\n\t\t\t\t\tsrc = reduceCandidate(srces.sort(ascendingSort));\n\t\t\t\t\tsrces.src = src;\n\t\t\t\t} else {\n\t\t\t\t\tsrc = srces.src;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsrc = srces[0];\n\t\t\t}\n\n\t\t\treturn src;\n\t\t};\n\n\t\tvar p = function(elem){\n\t\t\tif(supportSrcset && elem.parentNode && elem.parentNode.nodeName.toUpperCase() != 'PICTURE'){return;}\n\t\t\tvar candidate = getCandidate(elem);\n\n\t\t\tif(candidate && candidate.u && elem._lazypolyfill.cur != candidate.u){\n\t\t\t\telem._lazypolyfill.cur = candidate.u;\n\t\t\t\tcandidate.cached = true;\n\t\t\t\telem.setAttribute(lazySizesCfg.srcAttr, candidate.u);\n\t\t\t\telem.setAttribute('src', candidate.u);\n\t\t\t}\n\t\t};\n\n\t\tp.parse = parseWsrcset;\n\n\t\treturn p;\n\t})();\n\n\tif(lazySizesCfg.loadedClass && lazySizesCfg.loadingClass){\n\t\t(function(){\n\t\t\tvar sels = [];\n\t\t\t['img[sizes$=\"px\"][srcset].', 'picture > img:not([srcset]).'].forEach(function(sel){\n\t\t\t\tsels.push(sel + lazySizesCfg.loadedClass);\n\t\t\t\tsels.push(sel + lazySizesCfg.loadingClass);\n\t\t\t});\n\t\t\tlazySizesCfg.pf({\n\t\t\t\telements: document.querySelectorAll(sels.join(', '))\n\t\t\t});\n\t\t})();\n\n\t}\n}));\n","window.lazySizesConfig = window.lazySizesConfig || {};\nwindow.lazySizesConfig.customMedia = {\n '--sm-up': '(min-width: 576px)',\n '--md-up': '(min-width: 768px)',\n '--lg-up': '(min-width: 992px)',\n '--xl-up': '(min-width: 1200px)',\n '--xxl-up': '(min-width: 1400px)',\n '--xxxl-up': '(min-width: 1600px)',\n '--xs-down': '(max-width: 575.98px)',\n '--sm-down': '(max-width: 767.98px)',\n '--md-down': '(max-width: 991.98px)',\n '--lg-down': '(max-width: 1199.98px)',\n '--xl-down': '(max-width: 1399.98px)',\n '--xxl-down': '(max-width: 1599.98px)',\n};\n","(function (window, factory) {\n var lazySizes = factory(window, window.document, Date);\n window.lazySizes = lazySizes;\n if (typeof module == 'object' && module.exports) {\n module.exports = lazySizes;\n }\n})(\n typeof window != 'undefined' ? window : {},\n function l(window, document, Date) {\n // Pass in the windoe Date function also for SSR because the Date class can be lost\n 'use strict';\n /*jshint eqnull:true */\n\n var lazysizes, lazySizesCfg;\n\n (function () {\n var prop;\n\n var lazySizesDefaults = {\n lazyClass: 'lazyload',\n loadedClass: 'lazyloaded',\n loadingClass: 'lazyloading',\n preloadClass: 'lazypreload',\n errorClass: 'lazyerror',\n //strictClass: 'lazystrict',\n autosizesClass: 'lazyautosizes',\n srcAttr: 'data-src',\n srcsetAttr: 'data-srcset',\n sizesAttr: 'data-sizes',\n //preloadAfterLoad: false,\n minSize: 40,\n customMedia: {},\n init: true,\n expFactor: 1.5,\n hFac: 0.8,\n loadMode: 2,\n loadHidden: true,\n ricTimeout: 0,\n throttleDelay: 125,\n };\n\n lazySizesCfg = window.lazySizesConfig || window.lazysizesConfig || {};\n\n for (prop in lazySizesDefaults) {\n if (!(prop in lazySizesCfg)) {\n lazySizesCfg[prop] = lazySizesDefaults[prop];\n }\n }\n })();\n\n if (!document || !document.getElementsByClassName) {\n return {\n init: function () {},\n cfg: lazySizesCfg,\n noSupport: true,\n };\n }\n\n var docElem = document.documentElement;\n\n var supportPicture = window.HTMLPictureElement;\n\n var _addEventListener = 'addEventListener';\n\n var _getAttribute = 'getAttribute';\n\n /**\n * Update to bind to window because 'this' becomes null during SSR\n * builds.\n */\n var addEventListener = window[_addEventListener].bind(window);\n\n var setTimeout = window.setTimeout;\n\n var requestAnimationFrame = window.requestAnimationFrame || setTimeout;\n\n var requestIdleCallback = window.requestIdleCallback;\n\n var regPicture = /^picture$/i;\n\n var loadEvents = ['load', 'error', 'lazyincluded', '_lazyloaded'];\n\n var regClassCache = {};\n\n var forEach = Array.prototype.forEach;\n\n var hasClass = function (ele, cls) {\n if (!regClassCache[cls]) {\n regClassCache[cls] = new RegExp('(\\\\s|^)' + cls + '(\\\\s|$)');\n }\n return (\n regClassCache[cls].test(ele[_getAttribute]('class') || '') &&\n regClassCache[cls]\n );\n };\n\n var addClass = function (ele, cls) {\n if (!hasClass(ele, cls)) {\n ele.setAttribute(\n 'class',\n (ele[_getAttribute]('class') || '').trim() + ' ' + cls\n );\n }\n };\n\n var removeClass = function (ele, cls) {\n var reg;\n if ((reg = hasClass(ele, cls))) {\n ele.setAttribute(\n 'class',\n (ele[_getAttribute]('class') || '').replace(reg, ' ')\n );\n }\n };\n\n var addRemoveLoadEvents = function (dom, fn, add) {\n var action = add ? _addEventListener : 'removeEventListener';\n if (add) {\n addRemoveLoadEvents(dom, fn);\n }\n loadEvents.forEach(function (evt) {\n dom[action](evt, fn);\n });\n };\n\n var triggerEvent = function (elem, name, detail, noBubbles, noCancelable) {\n var event = document.createEvent('Event');\n\n if (!detail) {\n detail = {};\n }\n\n detail.instance = lazysizes;\n\n event.initEvent(name, !noBubbles, !noCancelable);\n\n event.detail = detail;\n\n elem.dispatchEvent(event);\n return event;\n };\n\n var updatePolyfill = function (el, full) {\n var polyfill;\n if (\n !supportPicture &&\n (polyfill = window.picturefill || lazySizesCfg.pf)\n ) {\n if (full && full.src && !el[_getAttribute]('srcset')) {\n el.setAttribute('srcset', full.src);\n }\n polyfill({ reevaluate: true, elements: [el] });\n } else if (full && full.src) {\n el.src = full.src;\n }\n };\n\n var getCSS = function (elem, style) {\n return (getComputedStyle(elem, null) || {})[style];\n };\n\n var getWidth = function (elem, parent, width) {\n width = width || elem.offsetWidth;\n\n while (width < lazySizesCfg.minSize && parent && !elem._lazysizesWidth) {\n width = parent.offsetWidth;\n parent = parent.parentNode;\n }\n\n return width;\n };\n\n var rAF = (function () {\n var running, waiting;\n var firstFns = [];\n var secondFns = [];\n var fns = firstFns;\n\n var run = function () {\n var runFns = fns;\n\n fns = firstFns.length ? secondFns : firstFns;\n\n running = true;\n waiting = false;\n\n while (runFns.length) {\n runFns.shift()();\n }\n\n running = false;\n };\n\n var rafBatch = function (fn, queue) {\n if (running && !queue) {\n fn.apply(this, arguments);\n } else {\n fns.push(fn);\n\n if (!waiting) {\n waiting = true;\n (document.hidden ? setTimeout : requestAnimationFrame)(run);\n }\n }\n };\n\n rafBatch._lsFlush = run;\n\n return rafBatch;\n })();\n\n var rAFIt = function (fn, simple) {\n return simple\n ? function () {\n rAF(fn);\n }\n : function () {\n var that = this;\n var args = arguments;\n rAF(function () {\n fn.apply(that, args);\n });\n };\n };\n\n var throttle = function (fn) {\n var running;\n var lastTime = 0;\n var gDelay = lazySizesCfg.throttleDelay;\n var rICTimeout = lazySizesCfg.ricTimeout;\n var run = function () {\n running = false;\n lastTime = Date.now();\n fn();\n };\n var idleCallback =\n requestIdleCallback && rICTimeout > 49\n ? function () {\n requestIdleCallback(run, { timeout: rICTimeout });\n\n if (rICTimeout !== lazySizesCfg.ricTimeout) {\n rICTimeout = lazySizesCfg.ricTimeout;\n }\n }\n : rAFIt(function () {\n setTimeout(run);\n }, true);\n return function (isPriority) {\n var delay;\n\n if ((isPriority = isPriority === true)) {\n rICTimeout = 33;\n }\n\n if (running) {\n return;\n }\n\n running = true;\n\n delay = gDelay - (Date.now() - lastTime);\n\n if (delay < 0) {\n delay = 0;\n }\n\n if (isPriority || delay < 9) {\n idleCallback();\n } else {\n setTimeout(idleCallback, delay);\n }\n };\n };\n\n //based on http://modernjavascript.blogspot.de/2013/08/building-better-debounce.html\n var debounce = function (func) {\n var timeout, timestamp;\n var wait = 99;\n var run = function () {\n timeout = null;\n func();\n };\n var later = function () {\n var last = Date.now() - timestamp;\n\n if (last < wait) {\n setTimeout(later, wait - last);\n } else {\n (requestIdleCallback || run)(run);\n }\n };\n\n return function () {\n timestamp = Date.now();\n\n if (!timeout) {\n timeout = setTimeout(later, wait);\n }\n };\n };\n\n var loader = (function () {\n var preloadElems, isCompleted, resetPreloadingTimer, loadMode, started;\n\n var eLvW, elvH, eLtop, eLleft, eLright, eLbottom, isBodyHidden;\n\n var regImg = /^img$/i;\n var regIframe = /^iframe$/i;\n\n var supportScroll =\n 'onscroll' in window && !/(gle|ing)bot/.test(navigator.userAgent);\n\n var shrinkExpand = 0;\n var currentExpand = 0;\n\n var isLoading = 0;\n var lowRuns = -1;\n\n var resetPreloading = function (e) {\n isLoading--;\n if (!e || isLoading < 0 || !e.target) {\n isLoading = 0;\n }\n };\n\n var isVisible = function (elem) {\n if (isBodyHidden == null) {\n isBodyHidden = getCSS(document.body, 'visibility') == 'hidden';\n }\n\n return (\n isBodyHidden ||\n !(\n getCSS(elem.parentNode, 'visibility') == 'hidden' &&\n getCSS(elem, 'visibility') == 'hidden'\n )\n );\n };\n\n var isNestedVisible = function (elem, elemExpand) {\n var outerRect;\n var parent = elem;\n var visible = isVisible(elem);\n\n eLtop -= elemExpand;\n eLbottom += elemExpand;\n eLleft -= elemExpand;\n eLright += elemExpand;\n\n while (\n visible &&\n (parent = parent.offsetParent) &&\n parent != document.body &&\n parent != docElem\n ) {\n visible = (getCSS(parent, 'opacity') || 1) > 0;\n\n if (visible && getCSS(parent, 'overflow') != 'visible') {\n outerRect = parent.getBoundingClientRect();\n visible =\n eLright > outerRect.left &&\n eLleft < outerRect.right &&\n eLbottom > outerRect.top - 1 &&\n eLtop < outerRect.bottom + 1;\n }\n }\n\n return visible;\n };\n\n var checkElements = function () {\n var eLlen,\n i,\n rect,\n autoLoadElem,\n loadedSomething,\n elemExpand,\n elemNegativeExpand,\n elemExpandVal,\n beforeExpandVal,\n defaultExpand,\n preloadExpand,\n hFac;\n var lazyloadElems = lazysizes.elements;\n\n if (\n (loadMode = lazySizesCfg.loadMode) &&\n isLoading < 8 &&\n (eLlen = lazyloadElems.length)\n ) {\n i = 0;\n\n lowRuns++;\n\n for (; i < eLlen; i++) {\n if (!lazyloadElems[i] || lazyloadElems[i]._lazyRace) {\n continue;\n }\n\n if (\n !supportScroll ||\n (lazysizes.prematureUnveil &&\n lazysizes.prematureUnveil(lazyloadElems[i]))\n ) {\n unveilElement(lazyloadElems[i]);\n continue;\n }\n\n if (\n !(elemExpandVal =\n lazyloadElems[i][_getAttribute]('data-expand')) ||\n !(elemExpand = elemExpandVal * 1)\n ) {\n elemExpand = currentExpand;\n }\n\n if (!defaultExpand) {\n defaultExpand =\n !lazySizesCfg.expand || lazySizesCfg.expand < 1\n ? docElem.clientHeight > 500 && docElem.clientWidth > 500\n ? 500\n : 370\n : lazySizesCfg.expand;\n\n lazysizes._defEx = defaultExpand;\n\n preloadExpand = defaultExpand * lazySizesCfg.expFactor;\n hFac = lazySizesCfg.hFac;\n isBodyHidden = null;\n\n if (\n currentExpand < preloadExpand &&\n isLoading < 1 &&\n lowRuns > 2 &&\n loadMode > 2 &&\n !document.hidden\n ) {\n currentExpand = preloadExpand;\n lowRuns = 0;\n } else if (loadMode > 1 && lowRuns > 1 && isLoading < 6) {\n currentExpand = defaultExpand;\n } else {\n currentExpand = shrinkExpand;\n }\n }\n\n if (beforeExpandVal !== elemExpand) {\n eLvW = innerWidth + elemExpand * hFac;\n elvH = innerHeight + elemExpand;\n elemNegativeExpand = elemExpand * -1;\n beforeExpandVal = elemExpand;\n }\n\n rect = lazyloadElems[i].getBoundingClientRect();\n\n if (\n (eLbottom = rect.bottom) >= elemNegativeExpand &&\n (eLtop = rect.top) <= elvH &&\n (eLright = rect.right) >= elemNegativeExpand * hFac &&\n (eLleft = rect.left) <= eLvW &&\n (eLbottom || eLright || eLleft || eLtop) &&\n (lazySizesCfg.loadHidden || isVisible(lazyloadElems[i])) &&\n ((isCompleted &&\n isLoading < 3 &&\n !elemExpandVal &&\n (loadMode < 3 || lowRuns < 4)) ||\n isNestedVisible(lazyloadElems[i], elemExpand))\n ) {\n unveilElement(lazyloadElems[i]);\n loadedSomething = true;\n if (isLoading > 9) {\n break;\n }\n } else if (\n !loadedSomething &&\n isCompleted &&\n !autoLoadElem &&\n isLoading < 4 &&\n lowRuns < 4 &&\n loadMode > 2 &&\n (preloadElems[0] || lazySizesCfg.preloadAfterLoad) &&\n (preloadElems[0] ||\n (!elemExpandVal &&\n (eLbottom ||\n eLright ||\n eLleft ||\n eLtop ||\n lazyloadElems[i][_getAttribute](lazySizesCfg.sizesAttr) !=\n 'auto')))\n ) {\n autoLoadElem = preloadElems[0] || lazyloadElems[i];\n }\n }\n\n if (autoLoadElem && !loadedSomething) {\n unveilElement(autoLoadElem);\n }\n }\n };\n\n var throttledCheckElements = throttle(checkElements);\n\n var switchLoadingClass = function (e) {\n var elem = e.target;\n\n if (elem._lazyCache) {\n delete elem._lazyCache;\n return;\n }\n\n resetPreloading(e);\n addClass(elem, lazySizesCfg.loadedClass);\n removeClass(elem, lazySizesCfg.loadingClass);\n addRemoveLoadEvents(elem, rafSwitchLoadingClass);\n triggerEvent(elem, 'lazyloaded');\n };\n var rafedSwitchLoadingClass = rAFIt(switchLoadingClass);\n var rafSwitchLoadingClass = function (e) {\n rafedSwitchLoadingClass({ target: e.target });\n };\n\n var changeIframeSrc = function (elem, src) {\n try {\n elem.contentWindow.location.replace(src);\n } catch (e) {\n elem.src = src;\n }\n };\n\n var handleSources = function (source) {\n var customMedia;\n\n var sourceSrcset = source[_getAttribute](lazySizesCfg.srcsetAttr);\n\n if (\n (customMedia =\n lazySizesCfg.customMedia[\n source[_getAttribute]('data-media') ||\n source[_getAttribute]('media')\n ])\n ) {\n source.setAttribute('media', customMedia);\n }\n\n if (sourceSrcset) {\n source.setAttribute('srcset', sourceSrcset);\n }\n };\n\n var lazyUnveil = rAFIt(function (elem, detail, isAuto, sizes, isImg) {\n var src, srcset, parent, isPicture, event, firesLoad;\n\n if (\n !(event = triggerEvent(elem, 'lazybeforeunveil', detail))\n .defaultPrevented\n ) {\n if (sizes) {\n if (isAuto) {\n addClass(elem, lazySizesCfg.autosizesClass);\n } else {\n elem.setAttribute('sizes', sizes);\n }\n }\n\n srcset = elem[_getAttribute](lazySizesCfg.srcsetAttr);\n src = elem[_getAttribute](lazySizesCfg.srcAttr);\n\n if (isImg) {\n parent = elem.parentNode;\n isPicture = parent && regPicture.test(parent.nodeName || '');\n }\n\n firesLoad =\n detail.firesLoad || ('src' in elem && (srcset || src || isPicture));\n\n event = { target: elem };\n\n addClass(elem, lazySizesCfg.loadingClass);\n\n if (firesLoad) {\n clearTimeout(resetPreloadingTimer);\n resetPreloadingTimer = setTimeout(resetPreloading, 2500);\n addRemoveLoadEvents(elem, rafSwitchLoadingClass, true);\n }\n\n if (isPicture) {\n forEach.call(parent.getElementsByTagName('source'), handleSources);\n }\n\n if (srcset) {\n elem.setAttribute('srcset', srcset);\n } else if (src && !isPicture) {\n if (regIframe.test(elem.nodeName)) {\n changeIframeSrc(elem, src);\n } else {\n elem.src = src;\n }\n }\n\n if (isImg && (srcset || isPicture)) {\n updatePolyfill(elem, { src: src });\n }\n }\n\n if (elem._lazyRace) {\n delete elem._lazyRace;\n }\n removeClass(elem, lazySizesCfg.lazyClass);\n\n rAF(function () {\n // Part of this can be removed as soon as this fix is older: https://bugs.chromium.org/p/chromium/issues/detail?id=7731 (2015)\n var isLoaded = elem.complete && elem.naturalWidth > 1;\n\n if (!firesLoad || isLoaded) {\n if (isLoaded) {\n addClass(elem, 'ls-is-cached');\n }\n switchLoadingClass(event);\n elem._lazyCache = true;\n setTimeout(function () {\n if ('_lazyCache' in elem) {\n delete elem._lazyCache;\n }\n }, 9);\n }\n if (elem.loading == 'lazy') {\n isLoading--;\n }\n }, true);\n });\n\n var unveilElement = function (elem) {\n if (elem._lazyRace) {\n return;\n }\n var detail;\n\n var isImg = regImg.test(elem.nodeName);\n\n //allow using sizes=\"auto\", but don't use. it's invalid. Use data-sizes=\"auto\" or a valid value for sizes instead (i.e.: sizes=\"80vw\")\n var sizes =\n isImg &&\n (elem[_getAttribute](lazySizesCfg.sizesAttr) ||\n elem[_getAttribute]('sizes'));\n var isAuto = sizes == 'auto';\n\n if (\n (isAuto || !isCompleted) &&\n isImg &&\n (elem[_getAttribute]('src') || elem.srcset) &&\n !elem.complete &&\n !hasClass(elem, lazySizesCfg.errorClass) &&\n hasClass(elem, lazySizesCfg.lazyClass)\n ) {\n return;\n }\n\n detail = triggerEvent(elem, 'lazyunveilread').detail;\n\n if (isAuto) {\n autoSizer.updateElem(elem, true, elem.offsetWidth);\n }\n\n elem._lazyRace = true;\n isLoading++;\n\n lazyUnveil(elem, detail, isAuto, sizes, isImg);\n };\n\n var afterScroll = debounce(function () {\n lazySizesCfg.loadMode = 3;\n throttledCheckElements();\n });\n\n var altLoadmodeScrollListner = function () {\n if (lazySizesCfg.loadMode == 3) {\n lazySizesCfg.loadMode = 2;\n }\n afterScroll();\n };\n\n var onload = function () {\n if (isCompleted) {\n return;\n }\n if (Date.now() - started < 999) {\n setTimeout(onload, 999);\n return;\n }\n\n isCompleted = true;\n\n lazySizesCfg.loadMode = 3;\n\n throttledCheckElements();\n\n addEventListener('scroll', altLoadmodeScrollListner, true);\n };\n\n return {\n _: function () {\n started = Date.now();\n\n lazysizes.elements = document.getElementsByClassName(\n lazySizesCfg.lazyClass\n );\n preloadElems = document.getElementsByClassName(\n lazySizesCfg.lazyClass + ' ' + lazySizesCfg.preloadClass\n );\n\n addEventListener('scroll', throttledCheckElements, true);\n\n addEventListener('resize', throttledCheckElements, true);\n\n addEventListener('pageshow', function (e) {\n if (e.persisted) {\n var loadingElements = document.querySelectorAll(\n '.' + lazySizesCfg.loadingClass\n );\n\n if (loadingElements.length && loadingElements.forEach) {\n requestAnimationFrame(function () {\n loadingElements.forEach(function (img) {\n if (img.complete) {\n unveilElement(img);\n }\n });\n });\n }\n }\n });\n\n if (window.MutationObserver) {\n new MutationObserver(throttledCheckElements).observe(docElem, {\n childList: true,\n subtree: true,\n attributes: true,\n });\n } else {\n docElem[_addEventListener](\n 'DOMNodeInserted',\n throttledCheckElements,\n true\n );\n docElem[_addEventListener](\n 'DOMAttrModified',\n throttledCheckElements,\n true\n );\n setInterval(throttledCheckElements, 999);\n }\n\n addEventListener('hashchange', throttledCheckElements, true);\n\n //, 'fullscreenchange'\n [\n 'focus',\n 'mouseover',\n 'click',\n 'load',\n 'transitionend',\n 'animationend',\n ].forEach(function (name) {\n document[_addEventListener](name, throttledCheckElements, true);\n });\n\n if (/d$|^c/.test(document.readyState)) {\n onload();\n } else {\n addEventListener('load', onload);\n document[_addEventListener](\n 'DOMContentLoaded',\n throttledCheckElements\n );\n setTimeout(onload, 20000);\n }\n\n if (lazysizes.elements.length) {\n checkElements();\n rAF._lsFlush();\n } else {\n throttledCheckElements();\n }\n },\n checkElems: throttledCheckElements,\n unveil: unveilElement,\n _aLSL: altLoadmodeScrollListner,\n };\n })();\n\n var autoSizer = (function () {\n var autosizesElems;\n\n var sizeElement = rAFIt(function (elem, parent, event, width) {\n var sources, i, len;\n elem._lazysizesWidth = width;\n width += 'px';\n\n elem.setAttribute('sizes', width);\n\n if (regPicture.test(parent.nodeName || '')) {\n sources = parent.getElementsByTagName('source');\n for (i = 0, len = sources.length; i < len; i++) {\n sources[i].setAttribute('sizes', width);\n }\n }\n\n if (!event.detail.dataAttr) {\n updatePolyfill(elem, event.detail);\n }\n });\n var getSizeElement = function (elem, dataAttr, width) {\n var event;\n var parent = elem.parentNode;\n\n if (parent) {\n width = getWidth(elem, parent, width);\n event = triggerEvent(elem, 'lazybeforesizes', {\n width: width,\n dataAttr: !!dataAttr,\n });\n\n if (!event.defaultPrevented) {\n width = event.detail.width;\n\n if (width && width !== elem._lazysizesWidth) {\n sizeElement(elem, parent, event, width);\n }\n }\n }\n };\n\n var updateElementsSizes = function () {\n var i;\n var len = autosizesElems.length;\n if (len) {\n i = 0;\n\n for (; i < len; i++) {\n getSizeElement(autosizesElems[i]);\n }\n }\n };\n\n var debouncedUpdateElementsSizes = debounce(updateElementsSizes);\n\n return {\n _: function () {\n autosizesElems = document.getElementsByClassName(\n lazySizesCfg.autosizesClass\n );\n addEventListener('resize', debouncedUpdateElementsSizes);\n },\n checkElems: debouncedUpdateElementsSizes,\n updateElem: getSizeElement,\n };\n })();\n\n var init = function () {\n if (!init.i && document.getElementsByClassName) {\n init.i = true;\n autoSizer._();\n loader._();\n }\n };\n\n setTimeout(function () {\n if (lazySizesCfg.init) {\n init();\n }\n });\n\n lazysizes = {\n cfg: lazySizesCfg,\n autoSizer: autoSizer,\n loader: loader,\n init: init,\n uP: updatePolyfill,\n aC: addClass,\n rC: removeClass,\n hC: hasClass,\n fire: triggerEvent,\n gW: getWidth,\n rAF: rAF,\n };\n\n return lazysizes;\n }\n);\n"]}