{"version":3,"sources":["../node_modules/webfontloader/webfontloader.js","../lazyload.js","../node_modules/smooth-scroll/dist/smooth-scroll.polyfills.min.js","../node_modules/intersection-observer/intersection-observer.js","../node_modules/webpack/buildin/global.js"],"names":["aa","a","b","c","call","apply","bind","arguments","ba","Error","length","d","Array","prototype","slice","unshift","p","Function","toString","indexOf","q","Date","now","ca","this","o","document","da","window","FontFace","t","createElement","e","hasOwnProperty","style","cssText","setAttribute","appendChild","createTextNode","u","getElementsByTagName","documentElement","insertBefore","lastChild","v","parentNode","removeChild","w","className","split","f","g","push","join","replace","y","z","m","rel","href","media","onload","onerror","setTimeout","A","src","onreadystatechange","readyState","tagName","B","C","D","E","F","G","match","parseInt","I","test","J","H","ga","substr","toLowerCase","ha","h","j","events","classes","L","K","ja","M","N","O","P","Q","s","start","Promise","fonts","load","fa","then","race","clearTimeout","R","S","T","exec","navigator","userAgent","la","U","offsetWidth","serif","V","ma","W","X","na","oa","qa","l","k","n","r","x","xa","vendor","ra","sa","ta","ua","context","timeout","ia","ka","pa","projectId","version","api","fontfamily","fontStyle","fontWeight","id","urls","families","testStrings","ya","za","latin","cyrillic","greek","khmer","Hanuman","Aa","thin","extralight","ultralight","light","regular","book","medium","semibold","demibold","bold","extrabold","ultrabold","black","heavy","Ba","i","italic","normal","Ca","Ea","Fa","Arimo","Cousine","Tinos","Ga","Ha","text","pop","va","isNaN","Da","encodeURIComponent","wa","Typekit","config","fn","async","__webfontfontdeckmodule__","name","weight","location","hostname","ea","Y","custom","fontdeck","monotype","typekit","google","Z","define","global","factory","exports","module","isBot","runningOnBrowser","defaultSettings","elements_selector","threshold","thresholds","data_srcset","data_sizes","data_bg","data_poster","class_loading","class_loaded","class_error","load_delay","auto_unobserve","callback_enter","callback_exit","callback_reveal","callback_loaded","callback_error","callback_finish","use_native","getInstanceSettings","createInstance","detail","instance","event","CustomEvent","err","createEvent","eventString","dataPrefix","attribute","processedDataName","setData","element","value","getData","attrName","getWasProcessedData","resetWasProcessedData","getTimeoutData","safeCallback","callback","arg1","arg2","arg3","purgeProcessedElements","undefined","elements","filter","updateLoadingCount","plusMinus","_elements","childTag","sourceTags","setImageAttributes","setAttributeIfValue","settings","data_src","setSourcesFunctions","IMG","parent","getSourceTags","forEach","IFRAME","setSourcesVideo","setSourcesFunction","removeClass","addClass","supportsClassList","RegExp","addEventListener","eventName","handler","genericLoadEventName","mediaLoadEventName","removeEventListeners","removeEventListener","loadHandler","addEventListeners","remove","_settings","eventHandler","success","revealAndUnobserve","revealElement","observer","unobserve","onExit","setTimeoutData","delayLoad","force","timeoutId","managedTags","errorHandler","addOneShotEventListeners","elementToPurge","setSourcesImg","VIDEO","setSources","sourceTag","srcDataValue","bgDataValue","loadDelay","setWasProcessedData","entry","cancelDelayLoad","callback_set","_observer","root","isIntersecting","container","rootMargin","getObserverSettings","nativeLazyTags","nodeSet","LazyLoad","customSettings","getElements","update","retryLazyLoad","querySelectorAll","loadAllNative","errorElements","setObserver","observe","destroy","loadingCount","_this2","setOnlineCheck","loadAll","options","autoInitialize","optionsItem","lazyLoadOptions","Element","closest","ownerDocument","item","parentElement","bubbles","cancelable","initCustomEvent","Event","requestAnimationFrame","cancelAnimationFrame","getTime","Math","max","ignore","header","topOnEmptyHash","speed","speedAsDuration","durationMax","durationMin","clip","offset","easing","customEasing","updateURL","popstate","emitEvents","charAt","String","charCodeAt","InvalidCharacterError","body","scrollHeight","offsetHeight","clientHeight","focus","activeElement","outline","scrollTo","anchor","toggle","dispatchEvent","cancelScroll","Object","pageYOffset","querySelector","getComputedStyle","height","offsetTop","offsetParent","min","innerHeight","abs","history","pushState","smoothScroll","JSON","stringify","title","matchMedia","matches","floor","defaultPrevented","button","metaKey","ctrlKey","shiftKey","target","pathname","decodeURIComponent","hash","preventDefault","replaceState","state","animateScroll","IntersectionObserverEntry","defineProperty","get","intersectionRatio","registry","IntersectionObserver","THROTTLE_TIMEOUT","POLL_INTERVAL","USE_MUTATION_OBSERVER","_observationTargets","some","nodeType","_registerInstance","_monitorIntersections","_checkForIntersections","_unmonitorIntersections","_unregisterInstance","disconnect","takeRecords","records","_queuedEntries","_initThresholds","opt_threshold","isArray","sort","_parseRootMargin","opt_rootMargin","margins","map","margin","parts","parseFloat","unit","_monitoringIntersections","_monitoringInterval","setInterval","addEvent","_domObserver","MutationObserver","attributes","childList","characterData","subtree","clearInterval","removeEvent","rootIsInDom","_rootIsInDom","rootRect","_getRootRect","top","bottom","left","right","width","targetRect","getBoundingClientRect","rootContainsTarget","_rootContainsTarget","oldEntry","intersectionRect","_computeTargetAndRootIntersection","newEntry","time","performance","boundingClientRect","rootBounds","_hasCrossedThreshold","_callback","display","getParentNode","atRoot","parentRect","parentComputedStyle","overflow","computeRectIntersection","html","clientWidth","_expandRectByRootMargin","rect","_rootMarginValues","newRect","oldRatio","newRatio","containsDeep","index","splice","targetArea","intersectionArea","Number","toFixed","opt_options","timer","throttle","node","opt_useCapture","attachEvent","detatchEvent","rect1","rect2","el","child","host","assignedSlot"],"mappings":"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","file":"static/js/1.b5425d43.chunk.js","sourcesContent":["/* Web Font Loader v1.6.28 - (c) Adobe Systems, Google. License: Apache 2.0 */(function(){function aa(a,b,c){return a.call.apply(a.bind,arguments)}function ba(a,b,c){if(!a)throw Error();if(2=b.f?e():a.fonts.load(fa(b.a),b.h).then(function(a){1<=a.length?d():setTimeout(f,25)},function(){e()})}f()}),e=null,f=new Promise(function(a,d){e=setTimeout(d,b.f)});Promise.race([f,d]).then(function(){e&&(clearTimeout(e),e=null);b.g(b.a)},function(){b.j(b.a)})};function Q(a,b,c,d,e,f,g){this.v=a;this.B=b;this.c=c;this.a=d;this.s=g||\"BESbswy\";this.f={};this.w=e||3E3;this.u=f||null;this.m=this.j=this.h=this.g=null;this.g=new M(this.c,this.s);this.h=new M(this.c,this.s);this.j=new M(this.c,this.s);this.m=new M(this.c,this.s);a=new G(this.a.c+\",serif\",J(this.a));a=O(a);this.g.a.style.cssText=a;a=new G(this.a.c+\",sans-serif\",J(this.a));a=O(a);this.h.a.style.cssText=a;a=new G(\"serif\",J(this.a));a=O(a);this.j.a.style.cssText=a;a=new G(\"sans-serif\",J(this.a));a=\nO(a);this.m.a.style.cssText=a;N(this.g);N(this.h);N(this.j);N(this.m)}var R={D:\"serif\",C:\"sans-serif\"},S=null;function T(){if(null===S){var a=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))/.exec(window.navigator.userAgent);S=!!a&&(536>parseInt(a[1],10)||536===parseInt(a[1],10)&&11>=parseInt(a[2],10))}return S}Q.prototype.start=function(){this.f.serif=this.j.a.offsetWidth;this.f[\"sans-serif\"]=this.m.a.offsetWidth;this.A=q();U(this)};\nfunction la(a,b,c){for(var d in R)if(R.hasOwnProperty(d)&&b===a.f[R[d]]&&c===a.f[R[d]])return!0;return!1}function U(a){var b=a.g.a.offsetWidth,c=a.h.a.offsetWidth,d;(d=b===a.f.serif&&c===a.f[\"sans-serif\"])||(d=T()&&la(a,b,c));d?q()-a.A>=a.w?T()&&la(a,b,c)&&(null===a.u||a.u.hasOwnProperty(a.a.c))?V(a,a.v):V(a,a.B):ma(a):V(a,a.v)}function ma(a){setTimeout(p(function(){U(this)},a),50)}function V(a,b){setTimeout(p(function(){v(this.g.a);v(this.h.a);v(this.j.a);v(this.m.a);b(this.a)},a),0)};function W(a,b,c){this.c=a;this.a=b;this.f=0;this.m=this.j=!1;this.s=c}var X=null;W.prototype.g=function(a){var b=this.a;b.g&&w(b.f,[b.a.c(\"wf\",a.c,J(a).toString(),\"active\")],[b.a.c(\"wf\",a.c,J(a).toString(),\"loading\"),b.a.c(\"wf\",a.c,J(a).toString(),\"inactive\")]);K(b,\"fontactive\",a);this.m=!0;na(this)};\nW.prototype.h=function(a){var b=this.a;if(b.g){var c=y(b.f,b.a.c(\"wf\",a.c,J(a).toString(),\"active\")),d=[],e=[b.a.c(\"wf\",a.c,J(a).toString(),\"loading\")];c||d.push(b.a.c(\"wf\",a.c,J(a).toString(),\"inactive\"));w(b.f,d,e)}K(b,\"fontinactive\",a);na(this)};function na(a){0==--a.f&&a.j&&(a.m?(a=a.a,a.g&&w(a.f,[a.a.c(\"wf\",\"active\")],[a.a.c(\"wf\",\"loading\"),a.a.c(\"wf\",\"inactive\")]),K(a,\"active\")):L(a.a))};function oa(a){this.j=a;this.a=new ja;this.h=0;this.f=this.g=!0}oa.prototype.load=function(a){this.c=new ca(this.j,a.context||this.j);this.g=!1!==a.events;this.f=!1!==a.classes;pa(this,new ha(this.c,a),a)};\nfunction qa(a,b,c,d,e){var f=0==--a.h;(a.f||a.g)&&setTimeout(function(){var a=e||null,m=d||null||{};if(0===c.length&&f)L(b.a);else{b.f+=c.length;f&&(b.j=f);var h,l=[];for(h=0;h {\r\n\t\treturn Object.assign({}, defaultSettings, customSettings);\r\n\t};\n\n\t/* Creates instance and notifies it through the window element */\r\n\tconst createInstance = function(classObj, options) {\r\n\t\tvar event;\r\n\t\tlet eventString = \"LazyLoad::Initialized\";\r\n\t\tlet instance = new classObj(options);\r\n\t\ttry {\r\n\t\t\t// Works in modern browsers\r\n\t\t\tevent = new CustomEvent(eventString, { detail: { instance } });\r\n\t\t} catch (err) {\r\n\t\t\t// Works in Internet Explorer (all versions)\r\n\t\t\tevent = document.createEvent(\"CustomEvent\");\r\n\t\t\tevent.initCustomEvent(eventString, false, false, { instance });\r\n\t\t}\r\n\t\twindow.dispatchEvent(event);\r\n\t};\r\n\r\n\t/* Auto initialization of one or more instances of lazyload, depending on the \r\n\t options passed in (plain object or an array) */\r\n\tfunction autoInitialize(classObj, options) {\r\n\t\tif (!options) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (!options.length) {\r\n\t\t\t// Plain object\r\n\t\t\tcreateInstance(classObj, options);\r\n\t\t} else {\r\n\t\t\t// Array of objects\r\n\t\t\tfor (let i = 0, optionsItem; (optionsItem = options[i]); i += 1) {\r\n\t\t\t\tcreateInstance(classObj, optionsItem);\r\n\t\t\t}\r\n\t\t}\r\n\t}\n\n\tconst dataPrefix = \"data-\";\r\n\tconst processedDataName = \"was-processed\";\r\n\tconst timeoutDataName = \"ll-timeout\";\r\n\tconst trueString = \"true\";\r\n\r\n\tconst getData = (element, attribute) => {\r\n\t\treturn element.getAttribute(dataPrefix + attribute);\r\n\t};\r\n\r\n\tconst setData = (element, attribute, value) => {\r\n\t\tvar attrName = dataPrefix + attribute;\r\n\t\tif (value === null) {\r\n\t\t\telement.removeAttribute(attrName);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telement.setAttribute(attrName, value);\r\n\t};\r\n\r\n\tconst resetWasProcessedData = element =>\r\n\t\tsetData(element, processedDataName, null);\r\n\r\n\tconst setWasProcessedData = element =>\r\n\t\tsetData(element, processedDataName, trueString);\r\n\r\n\tconst getWasProcessedData = element =>\r\n\t\tgetData(element, processedDataName) === trueString;\r\n\r\n\tconst setTimeoutData = (element, value) =>\r\n\t\tsetData(element, timeoutDataName, value);\r\n\r\n\tconst getTimeoutData = element => getData(element, timeoutDataName);\n\n\tconst purgeProcessedElements = elements => {\r\n\t\treturn elements.filter(element => !getWasProcessedData(element));\r\n\t};\r\n\r\n\tconst purgeOneElement = (elements, elementToPurge) => {\r\n\t\treturn elements.filter(element => element !== elementToPurge);\r\n\t};\n\n\tconst safeCallback = (callback, arg1, arg2, arg3) => {\r\n\t\tif (!callback) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (arg3 !== undefined) {\r\n\t\t\tcallback(arg1, arg2, arg3);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (arg2 !== undefined) {\r\n\t\t\tcallback(arg1, arg2);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tcallback(arg1);\r\n\t};\n\n\tconst updateLoadingCount = (instance, plusMinus) => {\r\n\t instance.loadingCount += plusMinus;\r\n\t if (instance._elements.length === 0 && instance.loadingCount === 0) {\r\n\t safeCallback(instance._settings.callback_finish, instance);\r\n\t }\r\n\t};\n\n\tconst getSourceTags = parentTag => {\r\n\t\tlet sourceTags = [];\r\n\t\tfor (let i = 0, childTag; (childTag = parentTag.children[i]); i += 1) {\r\n\t\t\tif (childTag.tagName === \"SOURCE\") {\r\n\t\t\t\tsourceTags.push(childTag);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn sourceTags;\r\n\t};\r\n\r\n\tconst setAttributeIfValue = (element, attrName, value) => {\r\n\t\tif (!value) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telement.setAttribute(attrName, value);\r\n\t};\r\n\r\n\tconst setImageAttributes = (element, settings) => {\r\n\t\tsetAttributeIfValue(\r\n\t\t\telement,\r\n\t\t\t\"sizes\",\r\n\t\t\tgetData(element, settings.data_sizes)\r\n\t\t);\r\n\t\tsetAttributeIfValue(\r\n\t\t\telement,\r\n\t\t\t\"srcset\",\r\n\t\t\tgetData(element, settings.data_srcset)\r\n\t\t);\r\n\t\tsetAttributeIfValue(element, \"src\", getData(element, settings.data_src));\r\n\t};\r\n\r\n\tconst setSourcesImg = (element, settings) => {\r\n\t\tconst parent = element.parentNode;\r\n\r\n\t\tif (parent && parent.tagName === \"PICTURE\") {\r\n\t\t\tlet sourceTags = getSourceTags(parent);\r\n\t\t\tsourceTags.forEach(sourceTag => {\r\n\t\t\t\tsetImageAttributes(sourceTag, settings);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tsetImageAttributes(element, settings);\r\n\t};\r\n\r\n\tconst setSourcesIframe = (element, settings) => {\r\n\t\tsetAttributeIfValue(element, \"src\", getData(element, settings.data_src));\r\n\t};\r\n\r\n\tconst setSourcesVideo = (element, settings) => {\r\n\t\tlet sourceTags = getSourceTags(element);\r\n\t\tsourceTags.forEach(sourceTag => {\r\n\t\t\tsetAttributeIfValue(\r\n\t\t\t\tsourceTag,\r\n\t\t\t\t\"src\",\r\n\t\t\t\tgetData(sourceTag, settings.data_src)\r\n\t\t\t);\r\n\t\t});\r\n\t\tsetAttributeIfValue(\r\n\t\t\telement,\r\n\t\t\t\"poster\",\r\n\t\t\tgetData(element, settings.data_poster)\r\n\t\t);\r\n\t\tsetAttributeIfValue(element, \"src\", getData(element, settings.data_src));\r\n\t\telement.load();\r\n\t};\r\n\r\n\tconst setSourcesBgImage = (element, settings) => {\r\n\t\tconst srcDataValue = getData(element, settings.data_src);\r\n\t\tconst bgDataValue = getData(element, settings.data_bg);\r\n\r\n\t\tif (srcDataValue) {\r\n\t\t\telement.style.backgroundImage = `url(\"${srcDataValue}\")`;\r\n\t\t}\r\n\r\n\t\tif (bgDataValue) {\r\n\t\t\telement.style.backgroundImage = bgDataValue;\r\n\t\t}\r\n\t};\r\n\r\n\tconst setSourcesFunctions = {\r\n\t\tIMG: setSourcesImg,\r\n\t\tIFRAME: setSourcesIframe,\r\n\t\tVIDEO: setSourcesVideo\r\n\t};\r\n\r\n\tconst setSources = (element, instance) => {\r\n\t\tconst settings = instance._settings;\r\n\t\tconst tagName = element.tagName;\r\n\t\tconst setSourcesFunction = setSourcesFunctions[tagName];\r\n\t\tif (setSourcesFunction) {\r\n\t\t\tsetSourcesFunction(element, settings);\r\n\t\t\tupdateLoadingCount(instance, 1);\r\n\t\t\tinstance._elements = purgeOneElement(instance._elements, element);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tsetSourcesBgImage(element, settings);\r\n\t};\n\n\tconst addClass = (element, className) => {\r\n\t\tif (supportsClassList) {\r\n\t\t\telement.classList.add(className);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telement.className += (element.className ? \" \" : \"\") + className;\r\n\t};\r\n\r\n\tconst removeClass = (element, className) => {\r\n\t\tif (supportsClassList) {\r\n\t\t\telement.classList.remove(className);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telement.className = element.className.\r\n\t\t\treplace(new RegExp(\"(^|\\\\s+)\" + className + \"(\\\\s+|$)\"), \" \").\r\n\t\t\treplace(/^\\s+/, \"\").\r\n\t\t\treplace(/\\s+$/, \"\");\r\n\t};\n\n\tconst genericLoadEventName = \"load\";\r\n\tconst mediaLoadEventName = \"loadeddata\";\r\n\tconst errorEventName = \"error\";\r\n\r\n\tconst addEventListener = (element, eventName, handler) => {\r\n\t\telement.addEventListener(eventName, handler);\r\n\t};\r\n\r\n\tconst removeEventListener = (element, eventName, handler) => {\r\n\t\telement.removeEventListener(eventName, handler);\r\n\t};\r\n\r\n\tconst addEventListeners = (element, loadHandler, errorHandler) => {\r\n\t\taddEventListener(element, genericLoadEventName, loadHandler);\r\n\t\taddEventListener(element, mediaLoadEventName, loadHandler);\r\n\t\taddEventListener(element, errorEventName, errorHandler);\r\n\t};\r\n\r\n\tconst removeEventListeners = (element, loadHandler, errorHandler) => {\r\n\t\tremoveEventListener(element, genericLoadEventName, loadHandler);\r\n\t\tremoveEventListener(element, mediaLoadEventName, loadHandler);\r\n\t\tremoveEventListener(element, errorEventName, errorHandler);\r\n\t};\r\n\r\n\tconst eventHandler = function(event, success, instance) {\r\n\t\tvar settings = instance._settings;\r\n\t\tconst className = success ? settings.class_loaded : settings.class_error;\r\n\t\tconst callback = success\r\n\t\t\t? settings.callback_loaded\r\n\t\t\t: settings.callback_error;\r\n\t\tconst element = event.target;\r\n\r\n\t\tremoveClass(element, settings.class_loading);\r\n\t\taddClass(element, className);\r\n\t\tsafeCallback(callback, element, instance);\r\n\r\n\t\tupdateLoadingCount(instance, -1);\r\n\t};\r\n\r\n\tconst addOneShotEventListeners = (element, instance) => {\r\n\t\tconst loadHandler = event => {\r\n\t\t\teventHandler(event, true, instance);\r\n\t\t\tremoveEventListeners(element, loadHandler, errorHandler);\r\n\t\t};\r\n\t\tconst errorHandler = event => {\r\n\t\t\teventHandler(event, false, instance);\r\n\t\t\tremoveEventListeners(element, loadHandler, errorHandler);\r\n\t\t};\r\n\t\taddEventListeners(element, loadHandler, errorHandler);\r\n\t};\n\n\tconst managedTags = [\"IMG\", \"IFRAME\", \"VIDEO\"];\r\n\r\n\tconst onEnter = (element, entry, instance) => {\r\n\t\tconst settings = instance._settings;\r\n\t\tsafeCallback(settings.callback_enter, element, entry, instance);\r\n\t\tif (!settings.load_delay) {\r\n\t\t\trevealAndUnobserve(element, instance);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tdelayLoad(element, instance);\r\n\t};\r\n\r\n\tconst revealAndUnobserve = (element, instance) => {\r\n\t\tvar observer = instance._observer;\r\n\t\trevealElement(element, instance);\r\n\t\tif (observer && instance._settings.auto_unobserve) {\r\n\t\t\tobserver.unobserve(element);\r\n\t\t}\r\n\t};\r\n\r\n\tconst onExit = (element, entry, instance) => {\r\n\t\tconst settings = instance._settings;\r\n\t\tsafeCallback(settings.callback_exit, element, entry, instance);\r\n\t\tif (!settings.load_delay) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tcancelDelayLoad(element);\r\n\t};\r\n\r\n\tconst cancelDelayLoad = element => {\r\n\t\tvar timeoutId = getTimeoutData(element);\r\n\t\tif (!timeoutId) {\r\n\t\t\treturn; // do nothing if timeout doesn't exist\r\n\t\t}\r\n\t\tclearTimeout(timeoutId);\r\n\t\tsetTimeoutData(element, null);\r\n\t};\r\n\r\n\tconst delayLoad = (element, instance) => {\r\n\t\tvar loadDelay = instance._settings.load_delay;\r\n\t\tvar timeoutId = getTimeoutData(element);\r\n\t\tif (timeoutId) {\r\n\t\t\treturn; // do nothing if timeout already set\r\n\t\t}\r\n\t\ttimeoutId = setTimeout(function() {\r\n\t\t\trevealAndUnobserve(element, instance);\r\n\t\t\tcancelDelayLoad(element);\r\n\t\t}, loadDelay);\r\n\t\tsetTimeoutData(element, timeoutId);\r\n\t};\r\n\r\n\tconst revealElement = (element, instance, force) => {\r\n\t\tvar settings = instance._settings;\r\n\t\tif (!force && getWasProcessedData(element)) {\r\n\t\t\treturn; // element has already been processed and force wasn't true\r\n\t\t}\r\n\t\tif (managedTags.indexOf(element.tagName) > -1) {\r\n\t\t\taddOneShotEventListeners(element, instance);\r\n\t\t\taddClass(element, settings.class_loading);\r\n\t\t}\r\n\t\tsetSources(element, instance);\r\n\t\tsetWasProcessedData(element);\r\n\t\tsafeCallback(settings.callback_reveal, element, instance);\r\n\t\tsafeCallback(settings.callback_set, element, instance);\r\n\t};\n\n\tconst isIntersecting = entry =>\r\n\t\tentry.isIntersecting || entry.intersectionRatio > 0;\r\n\r\n\tconst getObserverSettings = settings => ({\r\n\t\troot: settings.container === document ? null : settings.container,\r\n\t\trootMargin: settings.thresholds || settings.threshold + \"px\"\r\n\t});\r\n\r\n\tconst setObserver = instance => {\r\n\t\tif (!supportsIntersectionObserver) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tinstance._observer = new IntersectionObserver(entries => {\r\n\t\t\tentries.forEach(entry =>\r\n\t\t\t\tisIntersecting(entry)\r\n\t\t\t\t\t? onEnter(entry.target, entry, instance)\r\n\t\t\t\t\t: onExit(entry.target, entry, instance)\r\n\t\t\t);\r\n\t\t}, getObserverSettings(instance._settings));\r\n\t\treturn true;\r\n\t};\n\n\tconst nativeLazyTags = [\"IMG\", \"IFRAME\"];\r\n\r\n\tconst shouldUseNative = settings =>\r\n\t\tsettings.use_native && \"loading\" in HTMLImageElement.prototype;\r\n\r\n\tconst loadAllNative = instance => {\r\n\t\tinstance._elements.forEach(element => {\r\n\t\t\tif (nativeLazyTags.indexOf(element.tagName) === -1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\telement.setAttribute(\"loading\", \"lazy\");\r\n\t\t\trevealElement(element, instance);\r\n\t\t});\r\n\t};\n\n\tconst nodeSetToArray = nodeSet => Array.prototype.slice.call(nodeSet);\n\n\tconst queryElements = settings =>\r\n\t\tsettings.container.querySelectorAll(settings.elements_selector);\r\n\r\n\tconst getElements = (elements, settings) =>\r\n\t\tpurgeProcessedElements(nodeSetToArray(elements || queryElements(settings)));\n\n\tconst retryLazyLoad = instance => {\r\n\t\tvar settings = instance._settings;\r\n\t\tvar errorElements = settings.container.querySelectorAll(\r\n\t\t\t\".\" + settings.class_error\r\n\t\t);\r\n\t\terrorElements.forEach(element => {\r\n\t\t\tremoveClass(element, settings.class_error);\r\n\t\t\tresetWasProcessedData(element);\r\n\t\t});\r\n\t\tinstance.update();\r\n\t};\r\n\r\n\tconst setOnlineCheck = instance => {\r\n\t\tif (!runningOnBrowser) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\twindow.addEventListener(\"online\", event => {\r\n\t\t\tretryLazyLoad(instance);\r\n\t\t});\r\n\t};\n\n\tconst LazyLoad = function(customSettings, elements) {\r\n\t this._settings = getInstanceSettings(customSettings);\r\n\t this.loadingCount = 0;\r\n\t setObserver(this);\r\n\t this.update(elements);\r\n\t setOnlineCheck(this);\r\n\t};\r\n\r\n\tLazyLoad.prototype = {\r\n\t update: function(elements) {\r\n\t var settings = this._settings;\r\n\t this._elements = getElements(elements, settings);\r\n\t if (isBot || !this._observer) {\r\n\t this.loadAll();\r\n\t return;\r\n\t }\r\n\t if (shouldUseNative(settings)) {\r\n\t loadAllNative(this);\r\n\t this._elements = getElements(elements, settings);\r\n\t }\r\n\t this._elements.forEach(element => {\r\n\t this._observer.observe(element);\r\n\t });\r\n\t },\r\n\r\n\t destroy: function() {\r\n\t if (this._observer) {\r\n\t this._elements.forEach(element => {\r\n\t this._observer.unobserve(element);\r\n\t });\r\n\t this._observer = null;\r\n\t }\r\n\t this._elements = null;\r\n\t this._settings = null;\r\n\t },\r\n\r\n\t load: function(element, force) {\r\n\t revealElement(element, this, force);\r\n\t },\r\n\r\n\t loadAll: function() {\r\n\t this._elements.forEach(element => {\r\n\t revealAndUnobserve(element, this);\r\n\t });\r\n\t }\r\n\t};\r\n\r\n\t/* Automatic instances creation if required (useful for async script loading) */\r\n\tif (runningOnBrowser) {\r\n\t autoInitialize(LazyLoad, window.lazyLoadOptions);\r\n\t}\n\n\treturn LazyLoad;\n\n}));\n","/*! smooth-scroll v16.1.3 | (c) 2020 Chris Ferdinandi | MIT License | http://github.com/cferdinandi/smooth-scroll */\nwindow.Element&&!Element.prototype.closest&&(Element.prototype.closest=function(e){var t,n=(this.document||this.ownerDocument).querySelectorAll(e),o=this;do{for(t=n.length;0<=--t&&n.item(t)!==o;);}while(t<0&&(o=o.parentElement));return o}),(function(){if(\"function\"==typeof window.CustomEvent)return;function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent(\"CustomEvent\");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e})(),(function(){for(var r=0,e=[\"ms\",\"moz\",\"webkit\",\"o\"],t=0;to.durationMax?o.durationMax:o.durationMin&&u=v)return C.cancelScroll(!0),x(a,t,c),H(\"scrollStop\",i,a,r),!(O=l=null)})(d,g)||(O=M.requestAnimationFrame(E),l=e)};0===M.pageYOffset&&M.scrollTo(0,0),f=a,h=i,c||history.pushState&&h.updateURL&&history.pushState({smoothScroll:JSON.stringify(h),anchor:f.id},document.title,f===document.documentElement?\"#top\":\"#\"+f.id),\"matchMedia\"in M&&M.matchMedia(\"(prefers-reduced-motion)\").matches?x(a,Math.floor(g),!1):(H(\"scrollStart\",i,a,r),C.cancelScroll(!0),M.requestAnimationFrame(E))}};var t=function(e){if(!e.defaultPrevented&&!(0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey)&&\"closest\"in e.target&&(a=e.target.closest(o))&&\"a\"===a.tagName.toLowerCase()&&!e.target.closest(b.ignore)&&a.hostname===M.location.hostname&&a.pathname===M.location.pathname&&/#/.test(a.href)){var t,n;try{t=r(decodeURIComponent(a.hash))}catch(e){t=r(a.hash)}if(\"#\"===t){if(!b.topOnEmptyHash)return;n=document.documentElement}else n=document.querySelector(t);(n=n||\"#top\"!==t?n:document.documentElement)&&(e.preventDefault(),(function(e){if(history.replaceState&&e.updateURL&&!history.state){var t=M.location.hash;t=t||\"\",history.replaceState({smoothScroll:JSON.stringify(e),anchor:t||M.pageYOffset},document.title,t||M.location.href)}})(b),C.animateScroll(n,a))}},n=function(e){if(null!==history.state&&history.state.smoothScroll&&history.state.smoothScroll===JSON.stringify(b)){var t=history.state.anchor;\"string\"==typeof t&&t&&!(t=document.querySelector(r(history.state.anchor)))||C.animateScroll(t,null,{updateURL:!1})}};C.destroy=function(){b&&(document.removeEventListener(\"click\",t,!1),M.removeEventListener(\"popstate\",n,!1),C.cancelScroll(),O=A=a=b=null)};return (function(){if(!(\"querySelector\"in document&&\"addEventListener\"in M&&\"requestAnimationFrame\"in M&&\"closest\"in M.Element.prototype))throw\"Smooth Scroll: This browser does not support the required JavaScript methods and browser APIs.\";C.destroy(),b=I(q,e||{}),A=b.header?document.querySelector(b.header):null,document.addEventListener(\"click\",t,!1),b.updateURL&&b.popstate&&M.addEventListener(\"popstate\",n,!1)})(),C}}));","/**\n * Copyright 2016 Google Inc. All Rights Reserved.\n *\n * Licensed under the W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE.\n *\n * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n *\n */\n(function() {\n'use strict';\n\n// Exit early if we're not running in a browser.\nif (typeof window !== 'object') {\n return;\n}\n\n// Exit early if all IntersectionObserver and IntersectionObserverEntry\n// features are natively supported.\nif ('IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window &&\n 'intersectionRatio' in window.IntersectionObserverEntry.prototype) {\n\n // Minimal polyfill for Edge 15's lack of `isIntersecting`\n // See: https://github.com/w3c/IntersectionObserver/issues/211\n if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) {\n Object.defineProperty(window.IntersectionObserverEntry.prototype,\n 'isIntersecting', {\n get: function () {\n return this.intersectionRatio > 0;\n }\n });\n }\n return;\n}\n\n\n/**\n * A local reference to the document.\n */\nvar document = window.document;\n\n\n/**\n * An IntersectionObserver registry. This registry exists to hold a strong\n * reference to IntersectionObserver instances currently observing a target\n * element. Without this registry, instances without another reference may be\n * garbage collected.\n */\nvar registry = [];\n\n\n/**\n * Creates the global IntersectionObserverEntry constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-entry\n * @param {Object} entry A dictionary of instance properties.\n * @constructor\n */\nfunction IntersectionObserverEntry(entry) {\n this.time = entry.time;\n this.target = entry.target;\n this.rootBounds = entry.rootBounds;\n this.boundingClientRect = entry.boundingClientRect;\n this.intersectionRect = entry.intersectionRect || getEmptyRect();\n this.isIntersecting = !!entry.intersectionRect;\n\n // Calculates the intersection ratio.\n var targetRect = this.boundingClientRect;\n var targetArea = targetRect.width * targetRect.height;\n var intersectionRect = this.intersectionRect;\n var intersectionArea = intersectionRect.width * intersectionRect.height;\n\n // Sets intersection ratio.\n if (targetArea) {\n // Round the intersection ratio to avoid floating point math issues:\n // https://github.com/w3c/IntersectionObserver/issues/324\n this.intersectionRatio = Number((intersectionArea / targetArea).toFixed(4));\n } else {\n // If area is zero and is intersecting, sets to 1, otherwise to 0\n this.intersectionRatio = this.isIntersecting ? 1 : 0;\n }\n}\n\n\n/**\n * Creates the global IntersectionObserver constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-interface\n * @param {Function} callback The function to be invoked after intersection\n * changes have queued. The function is not invoked if the queue has\n * been emptied by calling the `takeRecords` method.\n * @param {Object=} opt_options Optional configuration options.\n * @constructor\n */\nfunction IntersectionObserver(callback, opt_options) {\n\n var options = opt_options || {};\n\n if (typeof callback != 'function') {\n throw new Error('callback must be a function');\n }\n\n if (options.root && options.root.nodeType != 1) {\n throw new Error('root must be an Element');\n }\n\n // Binds and throttles `this._checkForIntersections`.\n this._checkForIntersections = throttle(\n this._checkForIntersections.bind(this), this.THROTTLE_TIMEOUT);\n\n // Private properties.\n this._callback = callback;\n this._observationTargets = [];\n this._queuedEntries = [];\n this._rootMarginValues = this._parseRootMargin(options.rootMargin);\n\n // Public properties.\n this.thresholds = this._initThresholds(options.threshold);\n this.root = options.root || null;\n this.rootMargin = this._rootMarginValues.map(function(margin) {\n return margin.value + margin.unit;\n }).join(' ');\n}\n\n\n/**\n * The minimum interval within which the document will be checked for\n * intersection changes.\n */\nIntersectionObserver.prototype.THROTTLE_TIMEOUT = 100;\n\n\n/**\n * The frequency in which the polyfill polls for intersection changes.\n * this can be updated on a per instance basis and must be set prior to\n * calling `observe` on the first target.\n */\nIntersectionObserver.prototype.POLL_INTERVAL = null;\n\n/**\n * Use a mutation observer on the root element\n * to detect intersection changes.\n */\nIntersectionObserver.prototype.USE_MUTATION_OBSERVER = true;\n\n\n/**\n * Starts observing a target element for intersection changes based on\n * the thresholds values.\n * @param {Element} target The DOM element to observe.\n */\nIntersectionObserver.prototype.observe = function(target) {\n var isTargetAlreadyObserved = this._observationTargets.some(function(item) {\n return item.element == target;\n });\n\n if (isTargetAlreadyObserved) {\n return;\n }\n\n if (!(target && target.nodeType == 1)) {\n throw new Error('target must be an Element');\n }\n\n this._registerInstance();\n this._observationTargets.push({element: target, entry: null});\n this._monitorIntersections();\n this._checkForIntersections();\n};\n\n\n/**\n * Stops observing a target element for intersection changes.\n * @param {Element} target The DOM element to observe.\n */\nIntersectionObserver.prototype.unobserve = function(target) {\n this._observationTargets =\n this._observationTargets.filter(function(item) {\n\n return item.element != target;\n });\n if (!this._observationTargets.length) {\n this._unmonitorIntersections();\n this._unregisterInstance();\n }\n};\n\n\n/**\n * Stops observing all target elements for intersection changes.\n */\nIntersectionObserver.prototype.disconnect = function() {\n this._observationTargets = [];\n this._unmonitorIntersections();\n this._unregisterInstance();\n};\n\n\n/**\n * Returns any queue entries that have not yet been reported to the\n * callback and clears the queue. This can be used in conjunction with the\n * callback to obtain the absolute most up-to-date intersection information.\n * @return {Array} The currently queued entries.\n */\nIntersectionObserver.prototype.takeRecords = function() {\n var records = this._queuedEntries.slice();\n this._queuedEntries = [];\n return records;\n};\n\n\n/**\n * Accepts the threshold value from the user configuration object and\n * returns a sorted array of unique threshold values. If a value is not\n * between 0 and 1 and error is thrown.\n * @private\n * @param {Array|number=} opt_threshold An optional threshold value or\n * a list of threshold values, defaulting to [0].\n * @return {Array} A sorted list of unique and valid threshold values.\n */\nIntersectionObserver.prototype._initThresholds = function(opt_threshold) {\n var threshold = opt_threshold || [0];\n if (!Array.isArray(threshold)) threshold = [threshold];\n\n return threshold.sort().filter(function(t, i, a) {\n if (typeof t != 'number' || isNaN(t) || t < 0 || t > 1) {\n throw new Error('threshold must be a number between 0 and 1 inclusively');\n }\n return t !== a[i - 1];\n });\n};\n\n\n/**\n * Accepts the rootMargin value from the user configuration object\n * and returns an array of the four margin values as an object containing\n * the value and unit properties. If any of the values are not properly\n * formatted or use a unit other than px or %, and error is thrown.\n * @private\n * @param {string=} opt_rootMargin An optional rootMargin value,\n * defaulting to '0px'.\n * @return {Array} An array of margin objects with the keys\n * value and unit.\n */\nIntersectionObserver.prototype._parseRootMargin = function(opt_rootMargin) {\n var marginString = opt_rootMargin || '0px';\n var margins = marginString.split(/\\s+/).map(function(margin) {\n var parts = /^(-?\\d*\\.?\\d+)(px|%)$/.exec(margin);\n if (!parts) {\n throw new Error('rootMargin must be specified in pixels or percent');\n }\n return {value: parseFloat(parts[1]), unit: parts[2]};\n });\n\n // Handles shorthand.\n margins[1] = margins[1] || margins[0];\n margins[2] = margins[2] || margins[0];\n margins[3] = margins[3] || margins[1];\n\n return margins;\n};\n\n\n/**\n * Starts polling for intersection changes if the polling is not already\n * happening, and if the page's visibility state is visible.\n * @private\n */\nIntersectionObserver.prototype._monitorIntersections = function() {\n if (!this._monitoringIntersections) {\n this._monitoringIntersections = true;\n\n // If a poll interval is set, use polling instead of listening to\n // resize and scroll events or DOM mutations.\n if (this.POLL_INTERVAL) {\n this._monitoringInterval = setInterval(\n this._checkForIntersections, this.POLL_INTERVAL);\n }\n else {\n addEvent(window, 'resize', this._checkForIntersections, true);\n addEvent(document, 'scroll', this._checkForIntersections, true);\n\n if (this.USE_MUTATION_OBSERVER && 'MutationObserver' in window) {\n this._domObserver = new MutationObserver(this._checkForIntersections);\n this._domObserver.observe(document, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n }\n }\n }\n};\n\n\n/**\n * Stops polling for intersection changes.\n * @private\n */\nIntersectionObserver.prototype._unmonitorIntersections = function() {\n if (this._monitoringIntersections) {\n this._monitoringIntersections = false;\n\n clearInterval(this._monitoringInterval);\n this._monitoringInterval = null;\n\n removeEvent(window, 'resize', this._checkForIntersections, true);\n removeEvent(document, 'scroll', this._checkForIntersections, true);\n\n if (this._domObserver) {\n this._domObserver.disconnect();\n this._domObserver = null;\n }\n }\n};\n\n\n/**\n * Scans each observation target for intersection changes and adds them\n * to the internal entries queue. If new entries are found, it\n * schedules the callback to be invoked.\n * @private\n */\nIntersectionObserver.prototype._checkForIntersections = function() {\n var rootIsInDom = this._rootIsInDom();\n var rootRect = rootIsInDom ? this._getRootRect() : getEmptyRect();\n\n this._observationTargets.forEach(function(item) {\n var target = item.element;\n var targetRect = getBoundingClientRect(target);\n var rootContainsTarget = this._rootContainsTarget(target);\n var oldEntry = item.entry;\n var intersectionRect = rootIsInDom && rootContainsTarget &&\n this._computeTargetAndRootIntersection(target, rootRect);\n\n var newEntry = item.entry = new IntersectionObserverEntry({\n time: now(),\n target: target,\n boundingClientRect: targetRect,\n rootBounds: rootRect,\n intersectionRect: intersectionRect\n });\n\n if (!oldEntry) {\n this._queuedEntries.push(newEntry);\n } else if (rootIsInDom && rootContainsTarget) {\n // If the new entry intersection ratio has crossed any of the\n // thresholds, add a new entry.\n if (this._hasCrossedThreshold(oldEntry, newEntry)) {\n this._queuedEntries.push(newEntry);\n }\n } else {\n // If the root is not in the DOM or target is not contained within\n // root but the previous entry for this target had an intersection,\n // add a new record indicating removal.\n if (oldEntry && oldEntry.isIntersecting) {\n this._queuedEntries.push(newEntry);\n }\n }\n }, this);\n\n if (this._queuedEntries.length) {\n this._callback(this.takeRecords(), this);\n }\n};\n\n\n/**\n * Accepts a target and root rect computes the intersection between then\n * following the algorithm in the spec.\n * TODO(philipwalton): at this time clip-path is not considered.\n * https://w3c.github.io/IntersectionObserver/#calculate-intersection-rect-algo\n * @param {Element} target The target DOM element\n * @param {Object} rootRect The bounding rect of the root after being\n * expanded by the rootMargin value.\n * @return {?Object} The final intersection rect object or undefined if no\n * intersection is found.\n * @private\n */\nIntersectionObserver.prototype._computeTargetAndRootIntersection =\n function(target, rootRect) {\n\n // If the element isn't displayed, an intersection can't happen.\n if (window.getComputedStyle(target).display == 'none') return;\n\n var targetRect = getBoundingClientRect(target);\n var intersectionRect = targetRect;\n var parent = getParentNode(target);\n var atRoot = false;\n\n while (!atRoot) {\n var parentRect = null;\n var parentComputedStyle = parent.nodeType == 1 ?\n window.getComputedStyle(parent) : {};\n\n // If the parent isn't displayed, an intersection can't happen.\n if (parentComputedStyle.display == 'none') return;\n\n if (parent == this.root || parent == document) {\n atRoot = true;\n parentRect = rootRect;\n } else {\n // If the element has a non-visible overflow, and it's not the \n // or element, update the intersection rect.\n // Note: and cannot be clipped to a rect that's not also\n // the document rect, so no need to compute a new intersection.\n if (parent != document.body &&\n parent != document.documentElement &&\n parentComputedStyle.overflow != 'visible') {\n parentRect = getBoundingClientRect(parent);\n }\n }\n\n // If either of the above conditionals set a new parentRect,\n // calculate new intersection data.\n if (parentRect) {\n intersectionRect = computeRectIntersection(parentRect, intersectionRect);\n\n if (!intersectionRect) break;\n }\n parent = getParentNode(parent);\n }\n return intersectionRect;\n};\n\n\n/**\n * Returns the root rect after being expanded by the rootMargin value.\n * @return {Object} The expanded root rect.\n * @private\n */\nIntersectionObserver.prototype._getRootRect = function() {\n var rootRect;\n if (this.root) {\n rootRect = getBoundingClientRect(this.root);\n } else {\n // Use / instead of window since scroll bars affect size.\n var html = document.documentElement;\n var body = document.body;\n rootRect = {\n top: 0,\n left: 0,\n right: html.clientWidth || body.clientWidth,\n width: html.clientWidth || body.clientWidth,\n bottom: html.clientHeight || body.clientHeight,\n height: html.clientHeight || body.clientHeight\n };\n }\n return this._expandRectByRootMargin(rootRect);\n};\n\n\n/**\n * Accepts a rect and expands it by the rootMargin value.\n * @param {Object} rect The rect object to expand.\n * @return {Object} The expanded rect.\n * @private\n */\nIntersectionObserver.prototype._expandRectByRootMargin = function(rect) {\n var margins = this._rootMarginValues.map(function(margin, i) {\n return margin.unit == 'px' ? margin.value :\n margin.value * (i % 2 ? rect.width : rect.height) / 100;\n });\n var newRect = {\n top: rect.top - margins[0],\n right: rect.right + margins[1],\n bottom: rect.bottom + margins[2],\n left: rect.left - margins[3]\n };\n newRect.width = newRect.right - newRect.left;\n newRect.height = newRect.bottom - newRect.top;\n\n return newRect;\n};\n\n\n/**\n * Accepts an old and new entry and returns true if at least one of the\n * threshold values has been crossed.\n * @param {?IntersectionObserverEntry} oldEntry The previous entry for a\n * particular target element or null if no previous entry exists.\n * @param {IntersectionObserverEntry} newEntry The current entry for a\n * particular target element.\n * @return {boolean} Returns true if a any threshold has been crossed.\n * @private\n */\nIntersectionObserver.prototype._hasCrossedThreshold =\n function(oldEntry, newEntry) {\n\n // To make comparing easier, an entry that has a ratio of 0\n // but does not actually intersect is given a value of -1\n var oldRatio = oldEntry && oldEntry.isIntersecting ?\n oldEntry.intersectionRatio || 0 : -1;\n var newRatio = newEntry.isIntersecting ?\n newEntry.intersectionRatio || 0 : -1;\n\n // Ignore unchanged ratios\n if (oldRatio === newRatio) return;\n\n for (var i = 0; i < this.thresholds.length; i++) {\n var threshold = this.thresholds[i];\n\n // Return true if an entry matches a threshold or if the new ratio\n // and the old ratio are on the opposite sides of a threshold.\n if (threshold == oldRatio || threshold == newRatio ||\n threshold < oldRatio !== threshold < newRatio) {\n return true;\n }\n }\n};\n\n\n/**\n * Returns whether or not the root element is an element and is in the DOM.\n * @return {boolean} True if the root element is an element and is in the DOM.\n * @private\n */\nIntersectionObserver.prototype._rootIsInDom = function() {\n return !this.root || containsDeep(document, this.root);\n};\n\n\n/**\n * Returns whether or not the target element is a child of root.\n * @param {Element} target The target element to check.\n * @return {boolean} True if the target element is a child of root.\n * @private\n */\nIntersectionObserver.prototype._rootContainsTarget = function(target) {\n return containsDeep(this.root || document, target);\n};\n\n\n/**\n * Adds the instance to the global IntersectionObserver registry if it isn't\n * already present.\n * @private\n */\nIntersectionObserver.prototype._registerInstance = function() {\n if (registry.indexOf(this) < 0) {\n registry.push(this);\n }\n};\n\n\n/**\n * Removes the instance from the global IntersectionObserver registry.\n * @private\n */\nIntersectionObserver.prototype._unregisterInstance = function() {\n var index = registry.indexOf(this);\n if (index != -1) registry.splice(index, 1);\n};\n\n\n/**\n * Returns the result of the performance.now() method or null in browsers\n * that don't support the API.\n * @return {number} The elapsed time since the page was requested.\n */\nfunction now() {\n return window.performance && performance.now && performance.now();\n}\n\n\n/**\n * Throttles a function and delays its execution, so it's only called at most\n * once within a given time period.\n * @param {Function} fn The function to throttle.\n * @param {number} timeout The amount of time that must pass before the\n * function can be called again.\n * @return {Function} The throttled function.\n */\nfunction throttle(fn, timeout) {\n var timer = null;\n return function () {\n if (!timer) {\n timer = setTimeout(function() {\n fn();\n timer = null;\n }, timeout);\n }\n };\n}\n\n\n/**\n * Adds an event handler to a DOM node ensuring cross-browser compatibility.\n * @param {Node} node The DOM node to add the event handler to.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to add.\n * @param {boolean} opt_useCapture Optionally adds the even to the capture\n * phase. Note: this only works in modern browsers.\n */\nfunction addEvent(node, event, fn, opt_useCapture) {\n if (typeof node.addEventListener == 'function') {\n node.addEventListener(event, fn, opt_useCapture || false);\n }\n else if (typeof node.attachEvent == 'function') {\n node.attachEvent('on' + event, fn);\n }\n}\n\n\n/**\n * Removes a previously added event handler from a DOM node.\n * @param {Node} node The DOM node to remove the event handler from.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to remove.\n * @param {boolean} opt_useCapture If the event handler was added with this\n * flag set to true, it should be set to true here in order to remove it.\n */\nfunction removeEvent(node, event, fn, opt_useCapture) {\n if (typeof node.removeEventListener == 'function') {\n node.removeEventListener(event, fn, opt_useCapture || false);\n }\n else if (typeof node.detatchEvent == 'function') {\n node.detatchEvent('on' + event, fn);\n }\n}\n\n\n/**\n * Returns the intersection between two rect objects.\n * @param {Object} rect1 The first rect.\n * @param {Object} rect2 The second rect.\n * @return {?Object} The intersection rect or undefined if no intersection\n * is found.\n */\nfunction computeRectIntersection(rect1, rect2) {\n var top = Math.max(rect1.top, rect2.top);\n var bottom = Math.min(rect1.bottom, rect2.bottom);\n var left = Math.max(rect1.left, rect2.left);\n var right = Math.min(rect1.right, rect2.right);\n var width = right - left;\n var height = bottom - top;\n\n return (width >= 0 && height >= 0) && {\n top: top,\n bottom: bottom,\n left: left,\n right: right,\n width: width,\n height: height\n };\n}\n\n\n/**\n * Shims the native getBoundingClientRect for compatibility with older IE.\n * @param {Element} el The element whose bounding rect to get.\n * @return {Object} The (possibly shimmed) rect of the element.\n */\nfunction getBoundingClientRect(el) {\n var rect;\n\n try {\n rect = el.getBoundingClientRect();\n } catch (err) {\n // Ignore Windows 7 IE11 \"Unspecified error\"\n // https://github.com/w3c/IntersectionObserver/pull/205\n }\n\n if (!rect) return getEmptyRect();\n\n // Older IE\n if (!(rect.width && rect.height)) {\n rect = {\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n }\n return rect;\n}\n\n\n/**\n * Returns an empty rect object. An empty rect is returned when an element\n * is not in the DOM.\n * @return {Object} The empty rect.\n */\nfunction getEmptyRect() {\n return {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n width: 0,\n height: 0\n };\n}\n\n/**\n * Checks to see if a parent element contains a child element (including inside\n * shadow DOM).\n * @param {Node} parent The parent element.\n * @param {Node} child The child element.\n * @return {boolean} True if the parent node contains the child node.\n */\nfunction containsDeep(parent, child) {\n var node = child;\n while (node) {\n if (node == parent) return true;\n\n node = getParentNode(node);\n }\n return false;\n}\n\n\n/**\n * Gets the parent node of an element or its host element if the parent node\n * is a shadow root.\n * @param {Node} node The node whose parent to get.\n * @return {Node|null} The parent node or null if no parent exists.\n */\nfunction getParentNode(node) {\n var parent = node.parentNode;\n\n if (parent && parent.nodeType == 11 && parent.host) {\n // If the parent is a shadow root, return the host element.\n return parent.host;\n }\n\n if (parent && parent.assignedSlot) {\n // If the parent is distributed in a , return the parent of a slot.\n return parent.assignedSlot.parentNode;\n }\n\n return parent;\n}\n\n\n// Exposes the constructors globally.\nwindow.IntersectionObserver = IntersectionObserver;\nwindow.IntersectionObserverEntry = IntersectionObserverEntry;\n\n}());\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n"],"sourceRoot":""}