{"version":3,"sources":["webpack:///./src/hooks/UseOutsideAlerter.ts","webpack:///./src/components/common/FilterSelect/index.tsx","webpack:///./src/components/FeaturedAthletes/index.tsx","webpack:///./node_modules/lazysizes/lazysizes.js","webpack:///./node_modules/lazysizes/plugins/attrchange/ls.attrchange.js"],"names":["ref","handler","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","_slicedToArray","r","e","Array","isArray","_arrayWithHoles","l","t","Symbol","iterator","n","i","u","a","f","o","call","next","Object","done","push","value","length","return","_iterableToArrayLimit","_arrayLikeToArray","toString","slice","constructor","name","from","test","_unsupportedIterableToArray","TypeError","_nonIterableRest","_ref","items","action","selectedValue","wrapperRef","bind","_useState2","setValue","_useState4","isOpen","setIsOpen","_useState6","options","setOptions","_useState8","isClosing","setIsClosing","close","setTimeout","mapSelection","optionIndex","mappedOptions","forEach","item","index","assign","selected","optionsSelection","selectedOption","filter","className","concat","onClick","preventDefault","toggle","href","text","SvgImage","title","reference","map","option","key","handleChange","_typeof","prototype","_extends","arguments","hasOwnProperty","apply","_regeneratorRuntime","defineProperty","c","asyncIterator","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","this","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_defineProperties","_toPropertyKey","_callSuper","_getPrototypeOf","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","Boolean","valueOf","Reflect","construct","_isNativeReflectConstruct","_setPrototypeOf","_defineProperty","toPrimitive","String","Number","_toPrimitive","FeaturedAthletes","_React$Component","props","_this","_classCallCheck","useAlternativeLayout","window","innerWidth","athletesViewCap","setState","itemsPerPage","showViewMore","athletes","updateViewMore","toggleOverlay","handleTouchStart","handleTouchEnd","container","state","hasLoadMore","isShowingAll","inDisplay","sportsFilters","athletesInState","getInitialAthletesViewCap","sportFilter","remaining","currentPage","_inherits","sports","sport","handleResize","_handleShowMore","_callee","_this$props","isLarge","updated","_context","querySelector","touchStartX","changedTouches","screenX","touchEndX","handleSwipe","_this$state","totalPages","Math","ceil","getFilteredAthletes","_this$state2","eventsCount","remainingCount","_this$state3","indexOf","startPage","endPage","_this2","_this$props2","link","_this$state4","filteredAthletes","paginatedAthletes","pages","_","_callee2","_context2","_x","style","icon","athlete","id","showAdditionalDetails","_ref2","_callee3","newCap","_context3","_x2","min","xlinkHref","page","_this$props3","generateAthleteList","factory","lazySizes","Date","lazysizes","lazySizesCfg","prop","lazySizesDefaults","lazyClass","loadedClass","loadingClass","preloadClass","errorClass","autosizesClass","fastLoadedClass","iframeLoadMode","srcAttr","srcsetAttr","sizesAttr","minSize","customMedia","init","expFactor","hFac","loadMode","loadHidden","ricTimeout","throttleDelay","lazySizesConfig","lazysizesConfig","getElementsByClassName","cfg","noSupport","docElem","documentElement","supportPicture","HTMLPictureElement","requestAnimationFrame","requestIdleCallback","regPicture","loadEvents","regClassCache","hasClass","ele","cls","RegExp","addClass","setAttribute","trim","removeClass","reg","replace","addRemoveLoadEvents","dom","fn","add","evt","triggerEvent","elem","detail","noBubbles","noCancelable","createEvent","instance","initEvent","dispatchEvent","updatePolyfill","el","full","polyfill","picturefill","pf","src","reevaluate","elements","getCSS","getComputedStyle","getWidth","parent","width","offsetWidth","_lazysizesWidth","parentNode","rAF","firstFns","secondFns","fns","run","runFns","running","waiting","shift","rafBatch","queue","hidden","_lsFlush","rAFIt","simple","that","args","debounce","func","timeout","timestamp","later","last","now","loader","regImg","regIframe","supportScroll","navigator","userAgent","currentExpand","isLoading","lowRuns","resetPreloading","isVisible","isBodyHidden","body","isNestedVisible","elemExpand","outerRect","visible","eLtop","eLbottom","eLleft","eLright","offsetParent","getBoundingClientRect","left","right","top","bottom","checkElements","eLlen","rect","autoLoadElem","loadedSomething","elemNegativeExpand","elemExpandVal","beforeExpandVal","defaultExpand","preloadExpand","lazyloadElems","_lazyRace","prematureUnveil","unveilElement","expand","clientHeight","clientWidth","_defEx","eLvW","elvH","innerHeight","isCompleted","preloadElems","preloadAfterLoad","throttledCheckElements","lastTime","gDelay","rICTimeout","idleCallback","isPriority","delay","throttle","switchLoadingClass","_lazyCache","rafSwitchLoadingClass","rafedSwitchLoadingClass","handleSources","source","sourceSrcset","lazyUnveil","isAuto","sizes","isImg","srcset","isPicture","firesLoad","defaultPrevented","nodeName","clearTimeout","resetPreloadingTimer","getElementsByTagName","getAttribute","contentWindow","location","changeIframeSrc","isLoaded","naturalWidth","loading","autoSizer","updateElem","afterScroll","altLoadmodeScrollListner","onload","started","persisted","loadingElements","querySelectorAll","img","MutationObserver","observe","childList","subtree","attributes","setInterval","readyState","checkElems","unveil","_aLSL","sizeElement","sources","len","dataAttr","getSizeElement","debouncedUpdateElementsSizes","autosizesElems","uP","aC","rC","hC","fire","gW","module","exports","addObserver","connect","disconnect","observer","connected","runs","modifications","callMutations","lsCfg","regClassTest","setClass","unloadedClass","display","onMutation","mutations","mutation","attributeName","localName","attributeFilter","attrName","newValue"],"mappings":"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","file":"habitat.30.component.js","sourcesContent":["import { useEffect } from 'react';\nvar useOutsideAlerter = function useOutsideAlerter(ref, handler) {\n  useEffect(function () {\n    var handleClickOutside = function handleClickOutside(event) {\n      if (ref.current && !ref.current.contains(event.target)) {\n        if (handler && typeof handler === 'function') {\n          handler();\n        }\n      }\n    };\n    document.addEventListener('mousedown', handleClickOutside);\n    return function () {\n      document.removeEventListener('mousedown', handleClickOutside);\n    };\n  }, [ref]);\n};\nexport default useOutsideAlerter;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport * as React from 'react';\nimport { useState, useEffect, useRef } from 'react';\nimport useOutsideAlerter from '../../../hooks/UseOutsideAlerter';\nimport SvgImage from '../SvgImage';\nimport './styles.scss';\nvar FilterSelect = function FilterSelect(_ref) {\n  var items = _ref.items,\n    action = _ref.action,\n    selectedValue = _ref.selectedValue;\n  var forceUpdate = React.useState()[1].bind(null, {});\n  var wrapperRef = useRef(null);\n  var _useState = useState(null),\n    _useState2 = _slicedToArray(_useState, 2),\n    value = _useState2[0],\n    setValue = _useState2[1];\n  var _useState3 = useState(false),\n    _useState4 = _slicedToArray(_useState3, 2),\n    isOpen = _useState4[0],\n    setIsOpen = _useState4[1];\n  var _useState5 = useState(null),\n    _useState6 = _slicedToArray(_useState5, 2),\n    options = _useState6[0],\n    setOptions = _useState6[1];\n  var _useState7 = useState(false),\n    _useState8 = _slicedToArray(_useState7, 2),\n    isClosing = _useState8[0],\n    setIsClosing = _useState8[1];\n  var close = function close() {\n    setIsClosing(true);\n    setTimeout(function () {\n      setIsClosing(false);\n      setIsOpen(false);\n    }, 300);\n  };\n  useOutsideAlerter(wrapperRef, function () {\n    close();\n  });\n  var toggle = function toggle(event) {\n    if (event) {\n      event.preventDefault();\n    }\n    if (isOpen) {\n      return close();\n    }\n    setIsOpen(!isOpen);\n  };\n  var mapSelection = function mapSelection(optionIndex) {\n    var mappedOptions = [];\n    items.forEach(function (item, index) {\n      mappedOptions.push(Object.assign(item, {\n        selected: index === optionIndex\n      }));\n    });\n    return mappedOptions;\n  };\n  var handleChange = function handleChange(event, optionIndex) {\n    event.preventDefault();\n    setOptions(mapSelection(optionIndex));\n    setValue(options[optionIndex]);\n    close();\n    if (action && typeof action === 'function') {\n      action(options[optionIndex]);\n    }\n  };\n  useEffect(function () {\n    if (items.length) {\n      var optionsSelection = mapSelection(0);\n      setOptions(optionsSelection);\n      setValue(optionsSelection[0]);\n      if (selectedValue) {\n        var selectedOption = items.filter(function (item, index) {\n          if (item.value === selectedValue) {\n            mapSelection(index);\n            return true;\n          }\n          return false;\n        });\n        if (selectedOption) {\n          setValue(selectedOption[0]);\n        }\n      }\n    }\n  }, [items]);\n  return /*#__PURE__*/React.createElement(\"div\", {\n    ref: wrapperRef,\n    className: \"filter-select \".concat(isOpen && 'filter-select--open', \"\\n        \").concat(isClosing && 'filter-select--closing')\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    onClick: function onClick(event) {\n      return toggle(event);\n    }\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"filter-select__value\"\n  }, value && /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"a\", {\n    href: \"#\",\n    onClick: function onClick(event) {\n      return event.preventDefault();\n    }\n  }, value.text))), /*#__PURE__*/React.createElement(\"div\", {\n    className: \"filter-select__icon\"\n  }, /*#__PURE__*/React.createElement(SvgImage, {\n    title: \"Filter\",\n    reference: \"#icon-heavy-right-arrow\"\n  }))), /*#__PURE__*/React.createElement(\"ul\", {\n    className: \"filter-select__options\"\n  }, options && /*#__PURE__*/React.createElement(React.Fragment, null, options.map(function (option, key) {\n    return /*#__PURE__*/React.createElement(\"li\", {\n      key: option.value,\n      className: \"filter-select__item \".concat(option.selected && \"filter-select__item--selected\")\n    }, /*#__PURE__*/React.createElement(\"a\", {\n      href: \"\",\n      onClick: function onClick(event) {\n        return handleChange(event, key);\n      }\n    }, option.text));\n  }))));\n};\nexport default FilterSelect;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = \"function\" == typeof Symbol ? Symbol : {}, a = i.iterator || \"@@iterator\", c = i.asyncIterator || \"@@asyncIterator\", u = i.toStringTag || \"@@toStringTag\"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, \"\"); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, \"_invoke\", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: \"normal\", arg: t.call(e, r) }; } catch (t) { return { type: \"throw\", arg: t }; } } e.wrap = wrap; var h = \"suspendedStart\", l = \"suspendedYield\", f = \"executing\", s = \"completed\", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { [\"next\", \"throw\", \"return\"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if (\"throw\" !== c.type) { var u = c.arg, h = u.value; return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) { invoke(\"next\", t, i, a); }, function (t) { invoke(\"throw\", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke(\"throw\", t, i, a); }); } a(c.arg); } var r; o(this, \"_invoke\", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error(\"Generator is already running\"); if (o === s) { if (\"throw\" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else \"return\" === n.method && n.abrupt(\"return\", n.arg); o = f; var p = tryCatch(e, r, n); if (\"normal\" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, \"throw\" === n && e.iterator.return && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y; var i = tryCatch(o, e.iterator, r.arg); if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = \"normal\", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: \"root\" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || \"\" === e) { var r = e[a]; if (r) return r.call(e); if (\"function\" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + \" is not iterable\"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, \"constructor\", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) { var e = \"function\" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () { return this; }), define(g, \"toString\", function () { return \"[object Generator]\"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if (\"throw\" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if (\"root\" === i.tryLoc) return handle(\"end\"); if (i.tryLoc <= this.prev) { var c = n.call(i, \"catchLoc\"), u = n.call(i, \"finallyLoc\"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error(\"try statement without catch or finally\"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) { var i = o; break; } } i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if (\"throw\" === t.type) throw t.arg; return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if (\"throw\" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, \"next\" === this.method && (this.arg = t), y; } }, e; }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport * as React from 'react';\nimport { Link } from '../common';\nimport AthleteHeadShot from '../AthleteHeadShot';\nimport { scrollIntoView } from \"../../utilities/browser\";\nimport FilterSelect from '../common/FilterSelect';\nimport './styles.scss';\nvar defaultCountMobileLarge = 15;\nvar defaultAthletesViewCap = 15;\nvar defaultAthletesViewCapMobile = 10;\nvar mobileBreakpoint = 540;\nvar FeaturedAthletes = /*#__PURE__*/function (_React$Component) {\n  function FeaturedAthletes(props) {\n    var _this;\n    _classCallCheck(this, FeaturedAthletes);\n    _this = _callSuper(this, FeaturedAthletes, [props]);\n    _defineProperty(_this, \"container\", null);\n    _defineProperty(_this, \"touchStartX\", 0);\n    _defineProperty(_this, \"touchEndX\", 0);\n    _defineProperty(_this, \"getInitialAthletesViewCap\", function () {\n      return _this.props.useAlternativeLayout && window.innerWidth < mobileBreakpoint ? defaultAthletesViewCapMobile : defaultAthletesViewCap;\n    });\n    _defineProperty(_this, \"handleResize\", function () {\n      if (_this.props.useAlternativeLayout) {\n        var athletesViewCap = window.innerWidth < mobileBreakpoint ? defaultAthletesViewCapMobile : defaultAthletesViewCap;\n        _this.setState({\n          athletesViewCap: athletesViewCap,\n          itemsPerPage: athletesViewCap,\n          showViewMore: _this.props.athletes.length > athletesViewCap\n        }, _this.updateViewMore);\n      }\n    });\n    _this.toggleOverlay = _this.toggleOverlay.bind(_this);\n    _this.handleTouchStart = _this.handleTouchStart.bind(_this);\n    _this.handleTouchEnd = _this.handleTouchEnd.bind(_this);\n    _this.container = /*#__PURE__*/React.createRef();\n    _this.state = {\n      hasLoadMore: false,\n      isShowingAll: false,\n      inDisplay: null,\n      sportsFilters: null,\n      athletesInState: _this.props.athletes,\n      athletesViewCap: _this.getInitialAthletesViewCap(),\n      showViewMore: _this.props.athletes.length > _this.getInitialAthletesViewCap(),\n      sportFilter: 'all',\n      remaining: _this.props.athletes.length > defaultAthletesViewCap ? defaultAthletesViewCap : 0,\n      currentPage: 1,\n      itemsPerPage: _this.getInitialAthletesViewCap()\n    };\n    return _this;\n  }\n  _inherits(FeaturedAthletes, _React$Component);\n  return _createClass(FeaturedAthletes, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      if (this.props.sports) {\n        var sportsFilters = this.props.sports.map(function (sport) {\n          return {\n            value: sport,\n            text: sport\n          };\n        });\n        this.setState({\n          sportsFilters: [{\n            value: 'all',\n            text: 'Sport Filter'\n          }].concat(_toConsumableArray(sportsFilters))\n        });\n      }\n      if (this.props.useAlternativeLayout) {\n        this.updateViewMore();\n        window.addEventListener('resize', this.handleResize);\n      }\n      if (this.container.current) {\n        this.container.current.addEventListener('touchstart', this.handleTouchStart);\n        this.container.current.addEventListener('touchend', this.handleTouchEnd);\n      }\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      if (this.props.useAlternativeLayout) {\n        window.removeEventListener('resize', this.handleResize);\n      }\n      if (this.container.current) {\n        this.container.current.removeEventListener('touchstart', this.handleTouchStart);\n        this.container.current.removeEventListener('touchend', this.handleTouchEnd);\n      }\n    }\n  }, {\n    key: \"toggleOverlay\",\n    value: function toggleOverlay() {\n      var toggle = !this.state.isShowingAll;\n      this.setState({\n        isShowingAll: toggle\n      });\n    }\n  }, {\n    key: \"handleShowMore\",\n    value: function () {\n      var _handleShowMore = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {\n        var _this$props, isLarge, athletes, inDisplay, updated;\n        return _regeneratorRuntime().wrap(function _callee$(_context) {\n          while (1) switch (_context.prev = _context.next) {\n            case 0:\n              _this$props = this.props, isLarge = _this$props.isLarge, athletes = _this$props.athletes;\n              inDisplay = this.state.inDisplay;\n              if (!isLarge) {\n                _context.next = 8;\n                break;\n              }\n              updated = inDisplay + defaultCountMobileLarge;\n              _context.next = 6;\n              return this.setState({\n                inDisplay: updated,\n                hasLoadMore: updated <= athletes.length\n              });\n            case 6:\n              scrollIntoView(this.container.current.querySelector(\"#athlete-\".concat(inDisplay + 1)), 'smooth');\n              return _context.abrupt(\"return\");\n            case 8:\n              this.toggleOverlay();\n            case 9:\n            case \"end\":\n              return _context.stop();\n          }\n        }, _callee, this);\n      }));\n      function handleShowMore() {\n        return _handleShowMore.apply(this, arguments);\n      }\n      return handleShowMore;\n    }()\n  }, {\n    key: \"handleTouchStart\",\n    value: function handleTouchStart(event) {\n      this.touchStartX = event.changedTouches[0].screenX;\n    }\n  }, {\n    key: \"handleTouchEnd\",\n    value: function handleTouchEnd(event) {\n      this.touchEndX = event.changedTouches[0].screenX;\n      this.handleSwipe();\n    }\n  }, {\n    key: \"handleSwipe\",\n    value: function handleSwipe() {\n      var swipeThreshold = 50;\n      var _this$state = this.state,\n        currentPage = _this$state.currentPage,\n        itemsPerPage = _this$state.itemsPerPage;\n      var totalPages = Math.ceil(this.getFilteredAthletes().length / itemsPerPage);\n      if (this.touchEndX < this.touchStartX - swipeThreshold && currentPage < totalPages) {\n        this.setState({\n          currentPage: currentPage + 1\n        });\n      }\n      if (this.touchEndX > this.touchStartX + swipeThreshold && currentPage > 1) {\n        this.setState({\n          currentPage: currentPage - 1\n        });\n      }\n    }\n  }, {\n    key: \"updateViewMore\",\n    value: function updateViewMore() {\n      var _this$state2 = this.state,\n        athletesViewCap = _this$state2.athletesViewCap,\n        sportFilter = _this$state2.sportFilter;\n      var filteredAthletes = this.getFilteredAthletes();\n      var eventsCount = filteredAthletes.length;\n      var remainingCount = eventsCount - athletesViewCap;\n      this.setState({\n        showViewMore: athletesViewCap < eventsCount,\n        remaining: remainingCount\n      });\n    }\n  }, {\n    key: \"getFilteredAthletes\",\n    value: function getFilteredAthletes() {\n      var _this$state3 = this.state,\n        athletesInState = _this$state3.athletesInState,\n        sportFilter = _this$state3.sportFilter;\n      return athletesInState.filter(function (item) {\n        if (sportFilter === 'all') return true;\n        return item.sports.indexOf(sportFilter) > -1;\n      });\n    }\n  }, {\n    key: \"generateAthleteList\",\n    value: function generateAthleteList(isLarge) {\n      var _this2 = this;\n      var _this$props2 = this.props,\n        title = _this$props2.title,\n        link = _this$props2.link,\n        useAlternativeLayout = _this$props2.useAlternativeLayout;\n      var _this$state4 = this.state,\n        sportsFilters = _this$state4.sportsFilters,\n        athletesViewCap = _this$state4.athletesViewCap,\n        sportFilter = _this$state4.sportFilter,\n        remaining = _this$state4.remaining,\n        currentPage = _this$state4.currentPage,\n        itemsPerPage = _this$state4.itemsPerPage;\n      var filteredAthletes = this.getFilteredAthletes();\n      var paginatedAthletes = useAlternativeLayout ? filteredAthletes.slice((currentPage - 1) * itemsPerPage, currentPage * itemsPerPage) : filteredAthletes.slice(0, athletesViewCap);\n      var totalPages = Math.ceil(filteredAthletes.length / itemsPerPage);\n      var startPage, endPage;\n      if (totalPages <= 7) {\n        startPage = 1;\n        endPage = totalPages;\n      } else {\n        if (currentPage <= 4) {\n          startPage = 1;\n          endPage = 7;\n        } else if (currentPage + 3 >= totalPages) {\n          startPage = totalPages - 6;\n          endPage = totalPages;\n        } else {\n          startPage = currentPage - 3;\n          endPage = currentPage + 3;\n        }\n      }\n      var pages = Array.from({\n        length: endPage - startPage + 1\n      }, function (_, i) {\n        return startPage + i;\n      });\n      return /*#__PURE__*/React.createElement(\"div\", {\n        className: \"featured-athletes \".concat(isLarge && \"featured-athletes--large\")\n      }, isLarge && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n        className: \"featured-athletes__head\"\n      }, /*#__PURE__*/React.createElement(\"h2\", {\n        className: \"featured-athletes__title\"\n      }, title), link && /*#__PURE__*/React.createElement(\"div\", {\n        className: \"featured-athletes__filters\"\n      }, sportsFilters && /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(FilterSelect, {\n        items: sportsFilters,\n        action: (/*#__PURE__*/function () {\n          var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(option) {\n            return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n              while (1) switch (_context2.prev = _context2.next) {\n                case 0:\n                  _context2.next = 2;\n                  return _this2.setState({\n                    sportFilter: option.value,\n                    athletesViewCap: _this2.getInitialAthletesViewCap(),\n                    currentPage: 1\n                  });\n                case 2:\n                  _this2.updateViewMore();\n                case 3:\n                case \"end\":\n                  return _context2.stop();\n              }\n            }, _callee2);\n          }));\n          return function (_x) {\n            return _ref.apply(this, arguments);\n          };\n        }())\n      })), /*#__PURE__*/React.createElement(Link, _extends({}, link, {\n        style: \"bold\",\n        icon: \"#icon-heavy-right-arrow\"\n      })))), /*#__PURE__*/React.createElement(\"div\", {\n        className: \"featured-athletes__watermark\"\n      }, /*#__PURE__*/React.createElement(\"div\", null, \"we are\"), /*#__PURE__*/React.createElement(\"div\", null, \"team gb\"))), !isLarge && /*#__PURE__*/React.createElement(\"h2\", {\n        className: \"featured-athletes__title\"\n      }, title), filteredAthletes.length > 0 && /*#__PURE__*/React.createElement(\"div\", {\n        className: \"featured-athletes__items-wrapper\"\n      }, /*#__PURE__*/React.createElement(\"div\", {\n        className: \"featured-athletes__items\",\n        ref: this.container\n      }, paginatedAthletes.map(function (athlete, index) {\n        return /*#__PURE__*/React.createElement(\"div\", {\n          key: \"athlete-\".concat(index),\n          id: \"athlete-\".concat(index),\n          className: \"featured-athletes__item\"\n        }, /*#__PURE__*/React.createElement(AthleteHeadShot, _extends({\n          key: index\n        }, athlete, {\n          showAdditionalDetails: true\n        })));\n      }))), /*#__PURE__*/React.createElement(\"div\", {\n        className: \"featured-athletes__show-more\"\n      }, !useAlternativeLayout && remaining > 0 && /*#__PURE__*/React.createElement(\"a\", {\n        href: \"#\",\n        onClick: (/*#__PURE__*/function () {\n          var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(event) {\n            var newCap;\n            return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n              while (1) switch (_context3.prev = _context3.next) {\n                case 0:\n                  event.preventDefault();\n                  newCap = athletesViewCap + defaultCountMobileLarge;\n                  _context3.next = 4;\n                  return _this2.setState({\n                    athletesViewCap: newCap,\n                    remaining: remaining - defaultCountMobileLarge\n                  });\n                case 4:\n                  _this2.updateViewMore();\n                case 5:\n                case \"end\":\n                  return _context3.stop();\n              }\n            }, _callee3);\n          }));\n          return function (_x2) {\n            return _ref2.apply(this, arguments);\n          };\n        }())\n      }, !isLarge && '+', Math.min(remaining, defaultCountMobileLarge), \"  more\"), useAlternativeLayout && totalPages > 1 && /*#__PURE__*/React.createElement(\"div\", {\n        className: \"featured-athletes__pagination\"\n      }, /*#__PURE__*/React.createElement(\"div\", {\n        className: \"pagination-arrows\"\n      }, currentPage > 1 && /*#__PURE__*/React.createElement(\"div\", {\n        className: \"arrow arrow-left\",\n        onClick: function onClick() {\n          return _this2.setState({\n            currentPage: currentPage > 1 ? currentPage - 1 : 1\n          });\n        }\n      }, /*#__PURE__*/React.createElement(\"svg\", null, /*#__PURE__*/React.createElement(\"title\", null, \"link icon\"), /*#__PURE__*/React.createElement(\"use\", {\n        xlinkHref: \"#icon-heavy-right-arrow-white\"\n      })))), /*#__PURE__*/React.createElement(\"div\", {\n        className: \"pagination-dots\"\n      }, pages.map(function (page) {\n        return /*#__PURE__*/React.createElement(\"span\", {\n          key: \"page-dot-\".concat(page),\n          className: \"pagination-dot \".concat(currentPage === page ? 'active' : ''),\n          onClick: function onClick() {\n            return _this2.setState({\n              currentPage: page\n            });\n          }\n        });\n      })), /*#__PURE__*/React.createElement(\"div\", {\n        className: \"pagination-arrows\"\n      }, currentPage < totalPages && /*#__PURE__*/React.createElement(\"div\", {\n        className: \"arrow arrow-right\",\n        onClick: function onClick() {\n          return _this2.setState({\n            currentPage: currentPage < totalPages ? currentPage + 1 : totalPages\n          });\n        }\n      }, /*#__PURE__*/React.createElement(\"svg\", null, /*#__PURE__*/React.createElement(\"title\", null, \"link icon\"), /*#__PURE__*/React.createElement(\"use\", {\n        xlinkHref: \"#icon-heavy-right-arrow-white\"\n      })))), link && /*#__PURE__*/React.createElement(\"div\", {\n        className: \"featured-athletes__view-all\"\n      }, /*#__PURE__*/React.createElement(Link, _extends({}, link, {\n        style: \"bold\",\n        icon: \"#icon-heavy-right-arrow\"\n      }))))));\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props3 = this.props,\n        athletes = _this$props3.athletes,\n        isLarge = _this$props3.isLarge;\n      return /*#__PURE__*/React.createElement(\"div\", {\n        className: \"featured-athletes-container\"\n      }, athletes.length > 0 && this.generateAthleteList(isLarge));\n    }\n  }]);\n}(React.Component);\n_defineProperty(FeaturedAthletes, \"defaultProps\", {\n  isLarge: false\n});\nexport default FeaturedAthletes;","(function(window, factory) {\n\tvar lazySizes = factory(window, window.document, Date);\n\twindow.lazySizes = lazySizes;\n\tif(typeof module == 'object' && module.exports){\n\t\tmodule.exports = lazySizes;\n\t}\n}(typeof window != 'undefined' ?\n      window : {}, \n/**\n * import(\"./types/global\")\n * @typedef { import(\"./types/lazysizes-config\").LazySizesConfigPartial } LazySizesConfigPartial\n */\nfunction l(window, document, Date) { // Pass in the window Date function also for SSR because the Date class can be lost\n\t'use strict';\n\t/*jshint eqnull:true */\n\n\tvar lazysizes,\n\t\t/**\n\t\t * @type { LazySizesConfigPartial }\n\t\t */\n\t\tlazySizesCfg;\n\n\t(function(){\n\t\tvar prop;\n\n\t\tvar lazySizesDefaults = {\n\t\t\tlazyClass: 'lazyload',\n\t\t\tloadedClass: 'lazyloaded',\n\t\t\tloadingClass: 'lazyloading',\n\t\t\tpreloadClass: 'lazypreload',\n\t\t\terrorClass: 'lazyerror',\n\t\t\t//strictClass: 'lazystrict',\n\t\t\tautosizesClass: 'lazyautosizes',\n\t\t\tfastLoadedClass: 'ls-is-cached',\n\t\t\tiframeLoadMode: 0,\n\t\t\tsrcAttr: 'data-src',\n\t\t\tsrcsetAttr: 'data-srcset',\n\t\t\tsizesAttr: 'data-sizes',\n\t\t\t//preloadAfterLoad: false,\n\t\t\tminSize: 40,\n\t\t\tcustomMedia: {},\n\t\t\tinit: true,\n\t\t\texpFactor: 1.5,\n\t\t\thFac: 0.8,\n\t\t\tloadMode: 2,\n\t\t\tloadHidden: true,\n\t\t\tricTimeout: 0,\n\t\t\tthrottleDelay: 125,\n\t\t};\n\n\t\tlazySizesCfg = window.lazySizesConfig || window.lazysizesConfig || {};\n\n\t\tfor(prop in lazySizesDefaults){\n\t\t\tif(!(prop in lazySizesCfg)){\n\t\t\t\tlazySizesCfg[prop] = lazySizesDefaults[prop];\n\t\t\t}\n\t\t}\n\t})();\n\n\tif (!document || !document.getElementsByClassName) {\n\t\treturn {\n\t\t\tinit: function () {},\n\t\t\t/**\n\t\t\t * @type { LazySizesConfigPartial }\n\t\t\t */\n\t\t\tcfg: lazySizesCfg,\n\t\t\t/**\n\t\t\t * @type { true }\n\t\t\t */\n\t\t\tnoSupport: true,\n\t\t};\n\t}\n\n\tvar docElem = document.documentElement;\n\n\tvar supportPicture = window.HTMLPictureElement;\n\n\tvar _addEventListener = 'addEventListener';\n\n\tvar _getAttribute = 'getAttribute';\n\n\t/**\n\t * Update to bind to window because 'this' becomes null during SSR\n\t * builds.\n\t */\n\tvar addEventListener = window[_addEventListener].bind(window);\n\n\tvar setTimeout = window.setTimeout;\n\n\tvar requestAnimationFrame = window.requestAnimationFrame || setTimeout;\n\n\tvar requestIdleCallback = window.requestIdleCallback;\n\n\tvar regPicture = /^picture$/i;\n\n\tvar loadEvents = ['load', 'error', 'lazyincluded', '_lazyloaded'];\n\n\tvar regClassCache = {};\n\n\tvar forEach = Array.prototype.forEach;\n\n\t/**\n\t * @param ele {Element}\n\t * @param cls {string}\n\t */\n\tvar hasClass = function(ele, cls) {\n\t\tif(!regClassCache[cls]){\n\t\t\tregClassCache[cls] = new RegExp('(\\\\s|^)'+cls+'(\\\\s|$)');\n\t\t}\n\t\treturn regClassCache[cls].test(ele[_getAttribute]('class') || '') && regClassCache[cls];\n\t};\n\n\t/**\n\t * @param ele {Element}\n\t * @param cls {string}\n\t */\n\tvar addClass = function(ele, cls) {\n\t\tif (!hasClass(ele, cls)){\n\t\t\tele.setAttribute('class', (ele[_getAttribute]('class') || '').trim() + ' ' + cls);\n\t\t}\n\t};\n\n\t/**\n\t * @param ele {Element}\n\t * @param cls {string}\n\t */\n\tvar removeClass = function(ele, cls) {\n\t\tvar reg;\n\t\tif ((reg = hasClass(ele,cls))) {\n\t\t\tele.setAttribute('class', (ele[_getAttribute]('class') || '').replace(reg, ' '));\n\t\t}\n\t};\n\n\tvar addRemoveLoadEvents = function(dom, fn, add){\n\t\tvar action = add ? _addEventListener : 'removeEventListener';\n\t\tif(add){\n\t\t\taddRemoveLoadEvents(dom, fn);\n\t\t}\n\t\tloadEvents.forEach(function(evt){\n\t\t\tdom[action](evt, fn);\n\t\t});\n\t};\n\n\t/**\n\t * @param elem { Element }\n\t * @param name { string }\n\t * @param detail { any }\n\t * @param noBubbles { boolean }\n\t * @param noCancelable { boolean }\n\t * @returns { CustomEvent }\n\t */\n\tvar triggerEvent = function(elem, name, detail, noBubbles, noCancelable){\n\t\tvar event = document.createEvent('Event');\n\n\t\tif(!detail){\n\t\t\tdetail = {};\n\t\t}\n\n\t\tdetail.instance = lazysizes;\n\n\t\tevent.initEvent(name, !noBubbles, !noCancelable);\n\n\t\tevent.detail = detail;\n\n\t\telem.dispatchEvent(event);\n\t\treturn event;\n\t};\n\n\tvar updatePolyfill = function (el, full){\n\t\tvar polyfill;\n\t\tif( !supportPicture && ( polyfill = (window.picturefill || lazySizesCfg.pf) ) ){\n\t\t\tif(full && full.src && !el[_getAttribute]('srcset')){\n\t\t\t\tel.setAttribute('srcset', full.src);\n\t\t\t}\n\t\t\tpolyfill({reevaluate: true, elements: [el]});\n\t\t} else if(full && full.src){\n\t\t\tel.src = full.src;\n\t\t}\n\t};\n\n\tvar getCSS = function (elem, style){\n\t\treturn (getComputedStyle(elem, null) || {})[style];\n\t};\n\n\t/**\n\t *\n\t * @param elem { Element }\n\t * @param parent { Element }\n\t * @param [width] {number}\n\t * @returns {number}\n\t */\n\tvar getWidth = function(elem, parent, width){\n\t\twidth = width || elem.offsetWidth;\n\n\t\twhile(width < lazySizesCfg.minSize && parent && !elem._lazysizesWidth){\n\t\t\twidth =  parent.offsetWidth;\n\t\t\tparent = parent.parentNode;\n\t\t}\n\n\t\treturn width;\n\t};\n\n\tvar rAF = (function(){\n\t\tvar running, waiting;\n\t\tvar firstFns = [];\n\t\tvar secondFns = [];\n\t\tvar fns = firstFns;\n\n\t\tvar run = function(){\n\t\t\tvar runFns = fns;\n\n\t\t\tfns = firstFns.length ? secondFns : firstFns;\n\n\t\t\trunning = true;\n\t\t\twaiting = false;\n\n\t\t\twhile(runFns.length){\n\t\t\t\trunFns.shift()();\n\t\t\t}\n\n\t\t\trunning = false;\n\t\t};\n\n\t\tvar rafBatch = function(fn, queue){\n\t\t\tif(running && !queue){\n\t\t\t\tfn.apply(this, arguments);\n\t\t\t} else {\n\t\t\t\tfns.push(fn);\n\n\t\t\t\tif(!waiting){\n\t\t\t\t\twaiting = true;\n\t\t\t\t\t(document.hidden ? setTimeout : requestAnimationFrame)(run);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\trafBatch._lsFlush = run;\n\n\t\treturn rafBatch;\n\t})();\n\n\tvar rAFIt = function(fn, simple){\n\t\treturn simple ?\n\t\t\tfunction() {\n\t\t\t\trAF(fn);\n\t\t\t} :\n\t\t\tfunction(){\n\t\t\t\tvar that = this;\n\t\t\t\tvar args = arguments;\n\t\t\t\trAF(function(){\n\t\t\t\t\tfn.apply(that, args);\n\t\t\t\t});\n\t\t\t}\n\t\t;\n\t};\n\n\tvar throttle = function(fn){\n\t\tvar running;\n\t\tvar lastTime = 0;\n\t\tvar gDelay = lazySizesCfg.throttleDelay;\n\t\tvar rICTimeout = lazySizesCfg.ricTimeout;\n\t\tvar run = function(){\n\t\t\trunning = false;\n\t\t\tlastTime = Date.now();\n\t\t\tfn();\n\t\t};\n\t\tvar idleCallback = requestIdleCallback && rICTimeout > 49 ?\n\t\t\tfunction(){\n\t\t\t\trequestIdleCallback(run, {timeout: rICTimeout});\n\n\t\t\t\tif(rICTimeout !== lazySizesCfg.ricTimeout){\n\t\t\t\t\trICTimeout = lazySizesCfg.ricTimeout;\n\t\t\t\t}\n\t\t\t} :\n\t\t\trAFIt(function(){\n\t\t\t\tsetTimeout(run);\n\t\t\t}, true)\n\t\t;\n\n\t\treturn function(isPriority){\n\t\t\tvar delay;\n\n\t\t\tif((isPriority = isPriority === true)){\n\t\t\t\trICTimeout = 33;\n\t\t\t}\n\n\t\t\tif(running){\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\trunning =  true;\n\n\t\t\tdelay = gDelay - (Date.now() - lastTime);\n\n\t\t\tif(delay < 0){\n\t\t\t\tdelay = 0;\n\t\t\t}\n\n\t\t\tif(isPriority || delay < 9){\n\t\t\t\tidleCallback();\n\t\t\t} else {\n\t\t\t\tsetTimeout(idleCallback, delay);\n\t\t\t}\n\t\t};\n\t};\n\n\t//based on http://modernjavascript.blogspot.de/2013/08/building-better-debounce.html\n\tvar debounce = function(func) {\n\t\tvar timeout, timestamp;\n\t\tvar wait = 99;\n\t\tvar run = function(){\n\t\t\ttimeout = null;\n\t\t\tfunc();\n\t\t};\n\t\tvar later = function() {\n\t\t\tvar last = Date.now() - timestamp;\n\n\t\t\tif (last < wait) {\n\t\t\t\tsetTimeout(later, wait - last);\n\t\t\t} else {\n\t\t\t\t(requestIdleCallback || run)(run);\n\t\t\t}\n\t\t};\n\n\t\treturn function() {\n\t\t\ttimestamp = Date.now();\n\n\t\t\tif (!timeout) {\n\t\t\t\ttimeout = setTimeout(later, wait);\n\t\t\t}\n\t\t};\n\t};\n\n\tvar loader = (function(){\n\t\tvar preloadElems, isCompleted, resetPreloadingTimer, loadMode, started;\n\n\t\tvar eLvW, elvH, eLtop, eLleft, eLright, eLbottom, isBodyHidden;\n\n\t\tvar regImg = /^img$/i;\n\t\tvar regIframe = /^iframe$/i;\n\n\t\tvar supportScroll = ('onscroll' in window) && !(/(gle|ing)bot/.test(navigator.userAgent));\n\n\t\tvar shrinkExpand = 0;\n\t\tvar currentExpand = 0;\n\n\t\tvar isLoading = 0;\n\t\tvar lowRuns = -1;\n\n\t\tvar resetPreloading = function(e){\n\t\t\tisLoading--;\n\t\t\tif(!e || isLoading < 0 || !e.target){\n\t\t\t\tisLoading = 0;\n\t\t\t}\n\t\t};\n\n\t\tvar isVisible = function (elem) {\n\t\t\tif (isBodyHidden == null) {\n\t\t\t\tisBodyHidden = getCSS(document.body, 'visibility') == 'hidden';\n\t\t\t}\n\n\t\t\treturn isBodyHidden || !(getCSS(elem.parentNode, 'visibility') == 'hidden' && getCSS(elem, 'visibility') == 'hidden');\n\t\t};\n\n\t\tvar isNestedVisible = function(elem, elemExpand){\n\t\t\tvar outerRect;\n\t\t\tvar parent = elem;\n\t\t\tvar visible = isVisible(elem);\n\n\t\t\teLtop -= elemExpand;\n\t\t\teLbottom += elemExpand;\n\t\t\teLleft -= elemExpand;\n\t\t\teLright += elemExpand;\n\n\t\t\twhile(visible && (parent = parent.offsetParent) && parent != document.body && parent != docElem){\n\t\t\t\tvisible = ((getCSS(parent, 'opacity') || 1) > 0);\n\n\t\t\t\tif(visible && getCSS(parent, 'overflow') != 'visible'){\n\t\t\t\t\touterRect = parent.getBoundingClientRect();\n\t\t\t\t\tvisible = eLright > outerRect.left &&\n\t\t\t\t\t\teLleft < outerRect.right &&\n\t\t\t\t\t\teLbottom > outerRect.top - 1 &&\n\t\t\t\t\t\teLtop < outerRect.bottom + 1\n\t\t\t\t\t;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn visible;\n\t\t};\n\n\t\tvar checkElements = function() {\n\t\t\tvar eLlen, i, rect, autoLoadElem, loadedSomething, elemExpand, elemNegativeExpand, elemExpandVal,\n\t\t\t\tbeforeExpandVal, defaultExpand, preloadExpand, hFac;\n\t\t\tvar lazyloadElems = lazysizes.elements;\n\n\t\t\tif((loadMode = lazySizesCfg.loadMode) && isLoading < 8 && (eLlen = lazyloadElems.length)){\n\n\t\t\t\ti = 0;\n\n\t\t\t\tlowRuns++;\n\n\t\t\t\tfor(; i < eLlen; i++){\n\n\t\t\t\t\tif(!lazyloadElems[i] || lazyloadElems[i]._lazyRace){continue;}\n\n\t\t\t\t\tif(!supportScroll || (lazysizes.prematureUnveil && lazysizes.prematureUnveil(lazyloadElems[i]))){unveilElement(lazyloadElems[i]);continue;}\n\n\t\t\t\t\tif(!(elemExpandVal = lazyloadElems[i][_getAttribute]('data-expand')) || !(elemExpand = elemExpandVal * 1)){\n\t\t\t\t\t\telemExpand = currentExpand;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!defaultExpand) {\n\t\t\t\t\t\tdefaultExpand = (!lazySizesCfg.expand || lazySizesCfg.expand < 1) ?\n\t\t\t\t\t\t\tdocElem.clientHeight > 500 && docElem.clientWidth > 500 ? 500 : 370 :\n\t\t\t\t\t\t\tlazySizesCfg.expand;\n\n\t\t\t\t\t\tlazysizes._defEx = defaultExpand;\n\n\t\t\t\t\t\tpreloadExpand = defaultExpand * lazySizesCfg.expFactor;\n\t\t\t\t\t\thFac = lazySizesCfg.hFac;\n\t\t\t\t\t\tisBodyHidden = null;\n\n\t\t\t\t\t\tif(currentExpand < preloadExpand && isLoading < 1 && lowRuns > 2 && loadMode > 2 && !document.hidden){\n\t\t\t\t\t\t\tcurrentExpand = preloadExpand;\n\t\t\t\t\t\t\tlowRuns = 0;\n\t\t\t\t\t\t} else if(loadMode > 1 && lowRuns > 1 && isLoading < 6){\n\t\t\t\t\t\t\tcurrentExpand = defaultExpand;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcurrentExpand = shrinkExpand;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif(beforeExpandVal !== elemExpand){\n\t\t\t\t\t\teLvW = innerWidth + (elemExpand * hFac);\n\t\t\t\t\t\telvH = innerHeight + elemExpand;\n\t\t\t\t\t\telemNegativeExpand = elemExpand * -1;\n\t\t\t\t\t\tbeforeExpandVal = elemExpand;\n\t\t\t\t\t}\n\n\t\t\t\t\trect = lazyloadElems[i].getBoundingClientRect();\n\n\t\t\t\t\tif ((eLbottom = rect.bottom) >= elemNegativeExpand &&\n\t\t\t\t\t\t(eLtop = rect.top) <= elvH &&\n\t\t\t\t\t\t(eLright = rect.right) >= elemNegativeExpand * hFac &&\n\t\t\t\t\t\t(eLleft = rect.left) <= eLvW &&\n\t\t\t\t\t\t(eLbottom || eLright || eLleft || eLtop) &&\n\t\t\t\t\t\t(lazySizesCfg.loadHidden || isVisible(lazyloadElems[i])) &&\n\t\t\t\t\t\t((isCompleted && isLoading < 3 && !elemExpandVal && (loadMode < 3 || lowRuns < 4)) || isNestedVisible(lazyloadElems[i], elemExpand))){\n\t\t\t\t\t\tunveilElement(lazyloadElems[i]);\n\t\t\t\t\t\tloadedSomething = true;\n\t\t\t\t\t\tif(isLoading > 9){break;}\n\t\t\t\t\t} else if(!loadedSomething && isCompleted && !autoLoadElem &&\n\t\t\t\t\t\tisLoading < 4 && lowRuns < 4 && loadMode > 2 &&\n\t\t\t\t\t\t(preloadElems[0] || lazySizesCfg.preloadAfterLoad) &&\n\t\t\t\t\t\t(preloadElems[0] || (!elemExpandVal && ((eLbottom || eLright || eLleft || eLtop) || lazyloadElems[i][_getAttribute](lazySizesCfg.sizesAttr) != 'auto')))){\n\t\t\t\t\t\tautoLoadElem = preloadElems[0] || lazyloadElems[i];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif(autoLoadElem && !loadedSomething){\n\t\t\t\t\tunveilElement(autoLoadElem);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar throttledCheckElements = throttle(checkElements);\n\n\t\tvar switchLoadingClass = function(e){\n\t\t\tvar elem = e.target;\n\n\t\t\tif (elem._lazyCache) {\n\t\t\t\tdelete elem._lazyCache;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tresetPreloading(e);\n\t\t\taddClass(elem, lazySizesCfg.loadedClass);\n\t\t\tremoveClass(elem, lazySizesCfg.loadingClass);\n\t\t\taddRemoveLoadEvents(elem, rafSwitchLoadingClass);\n\t\t\ttriggerEvent(elem, 'lazyloaded');\n\t\t};\n\t\tvar rafedSwitchLoadingClass = rAFIt(switchLoadingClass);\n\t\tvar rafSwitchLoadingClass = function(e){\n\t\t\trafedSwitchLoadingClass({target: e.target});\n\t\t};\n\n\t\tvar changeIframeSrc = function(elem, src){\n\t\t\tvar loadMode = elem.getAttribute('data-load-mode') || lazySizesCfg.iframeLoadMode;\n\n\t\t\t// loadMode can be also a string!\n\t\t\tif (loadMode == 0) {\n\t\t\t\telem.contentWindow.location.replace(src);\n\t\t\t} else if (loadMode == 1) {\n\t\t\t\telem.src = src;\n\t\t\t}\n\t\t};\n\n\t\tvar handleSources = function(source){\n\t\t\tvar customMedia;\n\n\t\t\tvar sourceSrcset = source[_getAttribute](lazySizesCfg.srcsetAttr);\n\n\t\t\tif( (customMedia = lazySizesCfg.customMedia[source[_getAttribute]('data-media') || source[_getAttribute]('media')]) ){\n\t\t\t\tsource.setAttribute('media', customMedia);\n\t\t\t}\n\n\t\t\tif(sourceSrcset){\n\t\t\t\tsource.setAttribute('srcset', sourceSrcset);\n\t\t\t}\n\t\t};\n\n\t\tvar lazyUnveil = rAFIt(function (elem, detail, isAuto, sizes, isImg){\n\t\t\tvar src, srcset, parent, isPicture, event, firesLoad;\n\n\t\t\tif(!(event = triggerEvent(elem, 'lazybeforeunveil', detail)).defaultPrevented){\n\n\t\t\t\tif(sizes){\n\t\t\t\t\tif(isAuto){\n\t\t\t\t\t\taddClass(elem, lazySizesCfg.autosizesClass);\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem.setAttribute('sizes', sizes);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tsrcset = elem[_getAttribute](lazySizesCfg.srcsetAttr);\n\t\t\t\tsrc = elem[_getAttribute](lazySizesCfg.srcAttr);\n\n\t\t\t\tif(isImg) {\n\t\t\t\t\tparent = elem.parentNode;\n\t\t\t\t\tisPicture = parent && regPicture.test(parent.nodeName || '');\n\t\t\t\t}\n\n\t\t\t\tfiresLoad = detail.firesLoad || (('src' in elem) && (srcset || src || isPicture));\n\n\t\t\t\tevent = {target: elem};\n\n\t\t\t\taddClass(elem, lazySizesCfg.loadingClass);\n\n\t\t\t\tif(firesLoad){\n\t\t\t\t\tclearTimeout(resetPreloadingTimer);\n\t\t\t\t\tresetPreloadingTimer = setTimeout(resetPreloading, 2500);\n\t\t\t\t\taddRemoveLoadEvents(elem, rafSwitchLoadingClass, true);\n\t\t\t\t}\n\n\t\t\t\tif(isPicture){\n\t\t\t\t\tforEach.call(parent.getElementsByTagName('source'), handleSources);\n\t\t\t\t}\n\n\t\t\t\tif(srcset){\n\t\t\t\t\telem.setAttribute('srcset', srcset);\n\t\t\t\t} else if(src && !isPicture){\n\t\t\t\t\tif(regIframe.test(elem.nodeName)){\n\t\t\t\t\t\tchangeIframeSrc(elem, src);\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem.src = src;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif(isImg && (srcset || isPicture)){\n\t\t\t\t\tupdatePolyfill(elem, {src: src});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(elem._lazyRace){\n\t\t\t\tdelete elem._lazyRace;\n\t\t\t}\n\t\t\tremoveClass(elem, lazySizesCfg.lazyClass);\n\n\t\t\trAF(function(){\n\t\t\t\t// 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\t\t\t\tvar isLoaded = elem.complete && elem.naturalWidth > 1;\n\n\t\t\t\tif( !firesLoad || isLoaded){\n\t\t\t\t\tif (isLoaded) {\n\t\t\t\t\t\taddClass(elem, lazySizesCfg.fastLoadedClass);\n\t\t\t\t\t}\n\t\t\t\t\tswitchLoadingClass(event);\n\t\t\t\t\telem._lazyCache = true;\n\t\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t\tif ('_lazyCache' in elem) {\n\t\t\t\t\t\t\tdelete elem._lazyCache;\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 9);\n\t\t\t\t}\n\t\t\t\tif (elem.loading == 'lazy') {\n\t\t\t\t\tisLoading--;\n\t\t\t\t}\n\t\t\t}, true);\n\t\t});\n\n\t\t/**\n\t\t *\n\t\t * @param elem { Element }\n\t\t */\n\t\tvar unveilElement = function (elem){\n\t\t\tif (elem._lazyRace) {return;}\n\t\t\tvar detail;\n\n\t\t\tvar isImg = regImg.test(elem.nodeName);\n\n\t\t\t//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\t\t\tvar sizes = isImg && (elem[_getAttribute](lazySizesCfg.sizesAttr) || elem[_getAttribute]('sizes'));\n\t\t\tvar isAuto = sizes == 'auto';\n\n\t\t\tif( (isAuto || !isCompleted) && isImg && (elem[_getAttribute]('src') || elem.srcset) && !elem.complete && !hasClass(elem, lazySizesCfg.errorClass) && hasClass(elem, lazySizesCfg.lazyClass)){return;}\n\n\t\t\tdetail = triggerEvent(elem, 'lazyunveilread').detail;\n\n\t\t\tif(isAuto){\n\t\t\t\t autoSizer.updateElem(elem, true, elem.offsetWidth);\n\t\t\t}\n\n\t\t\telem._lazyRace = true;\n\t\t\tisLoading++;\n\n\t\t\tlazyUnveil(elem, detail, isAuto, sizes, isImg);\n\t\t};\n\n\t\tvar afterScroll = debounce(function(){\n\t\t\tlazySizesCfg.loadMode = 3;\n\t\t\tthrottledCheckElements();\n\t\t});\n\n\t\tvar altLoadmodeScrollListner = function(){\n\t\t\tif(lazySizesCfg.loadMode == 3){\n\t\t\t\tlazySizesCfg.loadMode = 2;\n\t\t\t}\n\t\t\tafterScroll();\n\t\t};\n\n\t\tvar onload = function(){\n\t\t\tif(isCompleted){return;}\n\t\t\tif(Date.now() - started < 999){\n\t\t\t\tsetTimeout(onload, 999);\n\t\t\t\treturn;\n\t\t\t}\n\n\n\t\t\tisCompleted = true;\n\n\t\t\tlazySizesCfg.loadMode = 3;\n\n\t\t\tthrottledCheckElements();\n\n\t\t\taddEventListener('scroll', altLoadmodeScrollListner, true);\n\t\t};\n\n\t\treturn {\n\t\t\t_: function(){\n\t\t\t\tstarted = Date.now();\n\n\t\t\t\tlazysizes.elements = document.getElementsByClassName(lazySizesCfg.lazyClass);\n\t\t\t\tpreloadElems = document.getElementsByClassName(lazySizesCfg.lazyClass + ' ' + lazySizesCfg.preloadClass);\n\n\t\t\t\taddEventListener('scroll', throttledCheckElements, true);\n\n\t\t\t\taddEventListener('resize', throttledCheckElements, true);\n\n\t\t\t\taddEventListener('pageshow', function (e) {\n\t\t\t\t\tif (e.persisted) {\n\t\t\t\t\t\tvar loadingElements = document.querySelectorAll('.' + lazySizesCfg.loadingClass);\n\n\t\t\t\t\t\tif (loadingElements.length && loadingElements.forEach) {\n\t\t\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\t\t\tloadingElements.forEach( function (img) {\n\t\t\t\t\t\t\t\t\tif (img.complete) {\n\t\t\t\t\t\t\t\t\t\tunveilElement(img);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif(window.MutationObserver){\n\t\t\t\t\tnew MutationObserver( throttledCheckElements ).observe( docElem, {childList: true, subtree: true, attributes: true} );\n\t\t\t\t} else {\n\t\t\t\t\tdocElem[_addEventListener]('DOMNodeInserted', throttledCheckElements, true);\n\t\t\t\t\tdocElem[_addEventListener]('DOMAttrModified', throttledCheckElements, true);\n\t\t\t\t\tsetInterval(throttledCheckElements, 999);\n\t\t\t\t}\n\n\t\t\t\taddEventListener('hashchange', throttledCheckElements, true);\n\n\t\t\t\t//, 'fullscreenchange'\n\t\t\t\t['focus', 'mouseover', 'click', 'load', 'transitionend', 'animationend'].forEach(function(name){\n\t\t\t\t\tdocument[_addEventListener](name, throttledCheckElements, true);\n\t\t\t\t});\n\n\t\t\t\tif((/d$|^c/.test(document.readyState))){\n\t\t\t\t\tonload();\n\t\t\t\t} else {\n\t\t\t\t\taddEventListener('load', onload);\n\t\t\t\t\tdocument[_addEventListener]('DOMContentLoaded', throttledCheckElements);\n\t\t\t\t\tsetTimeout(onload, 20000);\n\t\t\t\t}\n\n\t\t\t\tif(lazysizes.elements.length){\n\t\t\t\t\tcheckElements();\n\t\t\t\t\trAF._lsFlush();\n\t\t\t\t} else {\n\t\t\t\t\tthrottledCheckElements();\n\t\t\t\t}\n\t\t\t},\n\t\t\tcheckElems: throttledCheckElements,\n\t\t\tunveil: unveilElement,\n\t\t\t_aLSL: altLoadmodeScrollListner,\n\t\t};\n\t})();\n\n\n\tvar autoSizer = (function(){\n\t\tvar autosizesElems;\n\n\t\tvar sizeElement = rAFIt(function(elem, parent, event, width){\n\t\t\tvar sources, i, len;\n\t\t\telem._lazysizesWidth = width;\n\t\t\twidth += 'px';\n\n\t\t\telem.setAttribute('sizes', width);\n\n\t\t\tif(regPicture.test(parent.nodeName || '')){\n\t\t\t\tsources = parent.getElementsByTagName('source');\n\t\t\t\tfor(i = 0, len = sources.length; i < len; i++){\n\t\t\t\t\tsources[i].setAttribute('sizes', width);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(!event.detail.dataAttr){\n\t\t\t\tupdatePolyfill(elem, event.detail);\n\t\t\t}\n\t\t});\n\t\t/**\n\t\t *\n\t\t * @param elem {Element}\n\t\t * @param dataAttr\n\t\t * @param [width] { number }\n\t\t */\n\t\tvar getSizeElement = function (elem, dataAttr, width){\n\t\t\tvar event;\n\t\t\tvar parent = elem.parentNode;\n\n\t\t\tif(parent){\n\t\t\t\twidth = getWidth(elem, parent, width);\n\t\t\t\tevent = triggerEvent(elem, 'lazybeforesizes', {width: width, dataAttr: !!dataAttr});\n\n\t\t\t\tif(!event.defaultPrevented){\n\t\t\t\t\twidth = event.detail.width;\n\n\t\t\t\t\tif(width && width !== elem._lazysizesWidth){\n\t\t\t\t\t\tsizeElement(elem, parent, event, width);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar updateElementsSizes = function(){\n\t\t\tvar i;\n\t\t\tvar len = autosizesElems.length;\n\t\t\tif(len){\n\t\t\t\ti = 0;\n\n\t\t\t\tfor(; i < len; i++){\n\t\t\t\t\tgetSizeElement(autosizesElems[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar debouncedUpdateElementsSizes = debounce(updateElementsSizes);\n\n\t\treturn {\n\t\t\t_: function(){\n\t\t\t\tautosizesElems = document.getElementsByClassName(lazySizesCfg.autosizesClass);\n\t\t\t\taddEventListener('resize', debouncedUpdateElementsSizes);\n\t\t\t},\n\t\t\tcheckElems: debouncedUpdateElementsSizes,\n\t\t\tupdateElem: getSizeElement\n\t\t};\n\t})();\n\n\tvar init = function(){\n\t\tif(!init.i && document.getElementsByClassName){\n\t\t\tinit.i = true;\n\t\t\tautoSizer._();\n\t\t\tloader._();\n\t\t}\n\t};\n\n\tsetTimeout(function(){\n\t\tif(lazySizesCfg.init){\n\t\t\tinit();\n\t\t}\n\t});\n\n\tlazysizes = {\n\t\t/**\n\t\t * @type { LazySizesConfigPartial }\n\t\t */\n\t\tcfg: lazySizesCfg,\n\t\tautoSizer: autoSizer,\n\t\tloader: loader,\n\t\tinit: init,\n\t\tuP: updatePolyfill,\n\t\taC: addClass,\n\t\trC: removeClass,\n\t\thC: hasClass,\n\t\tfire: triggerEvent,\n\t\tgW: getWidth,\n\t\trAF: rAF,\n\t};\n\n\treturn lazysizes;\n}\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'use strict';\n\n\tvar addObserver = function(){\n\t\tvar connect, disconnect, observer, connected;\n\t\tvar lsCfg = lazySizes.cfg;\n\t\tvar attributes = {'data-bgset': 1, 'data-include': 1, 'data-poster': 1, 'data-bg': 1, 'data-script': 1};\n\t\tvar regClassTest = '(\\\\s|^)(' + lsCfg.loadedClass;\n\t\tvar docElem = document.documentElement;\n\n\t\tvar setClass = function(target){\n\t\t\tlazySizes.rAF(function(){\n\t\t\t\tlazySizes.rC(target, lsCfg.loadedClass);\n\t\t\t\tif(lsCfg.unloadedClass){\n\t\t\t\t\tlazySizes.rC(target, lsCfg.unloadedClass);\n\t\t\t\t}\n\t\t\t\tlazySizes.aC(target, lsCfg.lazyClass);\n\n\t\t\t\tif(target.style.display == 'none' || (target.parentNode && target.parentNode.style.display == 'none')){\n\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\tlazySizes.loader.unveil(target);\n\t\t\t\t\t}, 0);\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\n\t\tvar onMutation = function(mutations){\n\t\t\tvar i, len, mutation, target;\n\t\t\tfor(i = 0, len = mutations.length; i < len; i++){\n\t\t\t\tmutation = mutations[i];\n\t\t\t\ttarget = mutation.target;\n\n\t\t\t\tif(!target.getAttribute(mutation.attributeName)){continue;}\n\n\t\t\t\tif(target.localName == 'source' && target.parentNode){\n\t\t\t\t\ttarget = target.parentNode.querySelector('img');\n\t\t\t\t}\n\n\t\t\t\tif(target && regClassTest.test(target.className)){\n\t\t\t\t\tsetClass(target);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tif(lsCfg.unloadedClass){\n\t\t\tregClassTest += '|' + lsCfg.unloadedClass;\n\t\t}\n\n\t\tregClassTest += '|' + lsCfg.loadingClass + ')(\\\\s|$)';\n\n\t\tregClassTest = new RegExp(regClassTest);\n\n\t\tattributes[lsCfg.srcAttr] = 1;\n\t\tattributes[lsCfg.srcsetAttr] = 1;\n\n\t\tif(window.MutationObserver){\n\t\t\tobserver = new MutationObserver(onMutation);\n\n\t\t\tconnect = function(){\n\t\t\t\tif(!connected){\n\t\t\t\t\tconnected = true;\n\t\t\t\t\tobserver.observe( docElem, { subtree: true, attributes: true, attributeFilter: Object.keys(attributes)} );\n\t\t\t\t}\n\t\t\t};\n\t\t\tdisconnect = function(){\n\t\t\t\tif(connected){\n\t\t\t\t\tconnected = false;\n\t\t\t\t\tobserver.disconnect();\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\tdocElem.addEventListener('DOMAttrModified', (function(){\n\t\t\t\tvar runs;\n\t\t\t\tvar modifications = [];\n\t\t\t\tvar callMutations = function(){\n\t\t\t\t\tonMutation(modifications);\n\t\t\t\t\tmodifications = [];\n\t\t\t\t\truns = false;\n\t\t\t\t};\n\t\t\t\treturn function(e){\n\t\t\t\t\tif(connected && attributes[e.attrName] && e.newValue){\n\t\t\t\t\t\tmodifications.push({target: e.target, attributeName: e.attrName});\n\t\t\t\t\t\tif(!runs){\n\t\t\t\t\t\t\tsetTimeout(callMutations);\n\t\t\t\t\t\t\truns = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t})(), true);\n\n\t\t\tconnect = function(){\n\t\t\t\tconnected = true;\n\t\t\t};\n\t\t\tdisconnect = function(){\n\t\t\t\tconnected = false;\n\t\t\t};\n\t\t}\n\n\t\taddEventListener('lazybeforeunveil', disconnect, true);\n\t\taddEventListener('lazybeforeunveil', connect);\n\n\t\taddEventListener('lazybeforesizes', disconnect, true);\n\t\taddEventListener('lazybeforesizes', connect);\n\t\tconnect();\n\n\t\tremoveEventListener('lazybeforeunveil', addObserver);\n\t};\n\n\n\taddEventListener('lazybeforeunveil', addObserver);\n}));\n"],"sourceRoot":""}