{"version":3,"sources":["polyfills.js"],"names":["self","fetch","e","n","Promise","t","s","r","XMLHttpRequest","o","u","i","a","ok","status","statusText","url","responseURL","text","resolve","responseText","json","JSON","parse","blob","Blob","response","clone","headers","keys","entries","get","toLowerCase","has","c","open","method","onload","getAllResponseHeaders","replace","push","onerror","withCredentials","credentials","setRequestHeader","send","body","factory","define","amd","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","p","_assertThisInitialized","ReferenceError","_get","property","receiver","Reflect","base","object","hasOwnProperty","call","_superPropBase","desc","getOwnPropertyDescriptor","value","Emitter","this","type","callback","listeners","stack","l","splice","event","_this","debounce","setTimeout","defaultPrevented","AbortSignal","_this2","subClass","superClass","create","constructor","_inherits","aborted","onabort","AbortController","Event","document","createEvent","initEvent","createEventObject","bubbles","cancelable","signal","dispatchEvent","polyfillNeeded","__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL","console","log","Request","Symbol","toStringTag","_abortableFetch","patchTargets","_patchTargets$Request","NativeRequest","NativeAbortController","_patchTargets$__FORCE","input","init","request","realFetch","isPrototypeOf","undefined","abortError","DOMException","err","Error","name","reject","cancellation","_","addEventListener","once","race","abortableFetchDecorator","warn","global","exports","module","then","_state","_handled","_value","_deferreds","_immediateFn","onFulfilled","onRejected","f","promise","apply","arguments","_unhandledRejectionFn","all","Array","slice","setImmediate","window","Element","closest","matches","ownerDocument","querySelectorAll","el","item","parentElement","IntersectionObserverEntry","intersectionRatio","doc","frame","getFrameElement","registry","crossOriginUpdater","crossOriginRect","IntersectionObserver","THROTTLE_TIMEOUT","POLL_INTERVAL","USE_MUTATION_OBSERVER","_setupCrossOriginUpdater","boundingClientRect","intersectionRect","convertFromParentRect","getEmptyRect","forEach","observer","_checkForIntersections","_resetCrossOriginUpdater","observe","_observationTargets","some","element","nodeType","_registerInstance","entry","_monitorIntersections","unobserve","filter","_unmonitorIntersections","_unregisterInstance","disconnect","_unmonitorAllIntersections","takeRecords","records","_queuedEntries","_initThresholds","opt_threshold","threshold","isArray","sort","isNaN","_parseRootMargin","opt_rootMargin","margins","split","map","margin","parts","exec","parseFloat","unit","win","defaultView","_monitoringDocuments","indexOf","monitoringInterval","domObserver","setInterval","addEvent","MutationObserver","attributes","childList","characterData","subtree","_monitoringUnsubscribes","clearInterval","removeEvent","rootDoc","root","index","itemDoc","unsubscribe","unsubscribes","rootIsInDom","_rootIsInDom","rootRect","_getRootRect","targetRect","getBoundingClientRect","rootContainsTarget","_rootContainsTarget","oldEntry","_computeTargetAndRootIntersection","rootBounds","newEntry","time","performance","now","_hasCrossedThreshold","isIntersecting","_callback","getComputedStyle","display","rect1","rect2","top","bottom","left","right","width","height","parent","getParentNode","atRoot","parentRect","parentComputedStyle","frameRect","frameIntersect","documentElement","overflow","Math","max","min","isDoc","html","clientWidth","clientHeight","_expandRectByRootMargin","rect","_rootMarginValues","newRect","oldRatio","newRatio","thresholds","containsDeep","frameElement","ensureDOMRect","targetArea","intersectionArea","Number","toFixed","opt_options","fn","timeout","timer","options","bind","rootMargin","join","node","opt_useCapture","attachEvent","removeEventListener","detatchEvent","y","x","parentBoundingRect","parentIntersectionRect","child","parentNode","assignedSlot","host","b","g","navigator","userAgent","d","nodeName","toUpperCase","cloneNode","insertBefore","firstElementChild","removeChild","_pfLastSize","offsetWidth","sizes","clearTimeout","h","addListener","HTMLPictureElement","test","match","RegExp","$1","createElement","matchMedia","srcset","readyState","res","k","parseSet","makeUrl","j","charAt","pop","matchesMedia","Z","$","aa","w","cWidth","calcListLength","q","v","getAttribute","setAttribute","removeAttribute","z","A","B","algorithm","C","D","E","F","G","H","I","J","picturefillCFG","L","M","N","O","P","devicePixelRatio","Q","px","in","R","S","T","U","V","W","X","Y","Function","ba","elements","context","qsa","reevaluate","reselect","sel","selShort","setupRun","fillImg","teardownRun","supSizes","supSrcset","implementation","hasFeature","ns","Date","getTime","substr","supPicture","src","complete","cfg","DPR","types","setSize","href","mMQ","calcLength","supportsType","parseSize","media","cands","substring","m","parseInt","has1x","set","getEmValue","style","cssText","appendChild","uT","setRes","applySetCandidate","curSrc","curCan","sets","cached","pow","sqrt","setSrc","getSet","parseSets","pic","getElementsByTagName","supported","parsed","evaled","innerWidth","innerHeight","vw","vh","em","rem","fillImgs","picturefill","pf","shift","Image"],"mappings":"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","file":"polyfills-c2f42158af.min.js","sourcesContent":["self.fetch || (self.fetch = function (e, n) { return n = n || {}, new Promise(function (t, s) { var r = new XMLHttpRequest, o = [], u = [], i = {}, a = function () { return { ok: 2 == (r.status / 100 | 0), statusText: r.statusText, status: r.status, url: r.responseURL, text: function () { return Promise.resolve(r.responseText) }, json: function () { return Promise.resolve(JSON.parse(r.responseText)) }, blob: function () { return Promise.resolve(new Blob([r.response])) }, clone: a, headers: { keys: function () { return o }, entries: function () { return u }, get: function (e) { return i[e.toLowerCase()] }, has: function (e) { return e.toLowerCase() in i } } } }; for (var c in r.open(n.method || \"get\", e, !0), r.onload = function () { r.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm, function (e, n, t) { o.push(n = n.toLowerCase()), u.push([n, t]), i[n] = i[n] ? i[n] + \",\" + t : t }), t(a()) }, r.onerror = s, r.withCredentials = \"include\" == n.credentials, n.headers) r.setRequestHeader(c, n.headers[c]); r.send(n.body || null) }) });\r\n\r\n(function (factory) {\r\n typeof define === 'function' && define.amd ? define(factory) :\r\n factory();\r\n}((function () {\r\n 'use strict';\r\n\r\n function _classCallCheck(instance, Constructor) {\r\n if (!(instance instanceof Constructor)) {\r\n throw new TypeError(\"Cannot call a class as a function\");\r\n }\r\n }\r\n\r\n function _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) descriptor.writable = true;\r\n Object.defineProperty(target, descriptor.key, descriptor);\r\n }\r\n }\r\n\r\n function _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\r\n if (staticProps) _defineProperties(Constructor, staticProps);\r\n return Constructor;\r\n }\r\n\r\n function _inherits(subClass, superClass) {\r\n if (typeof superClass !== \"function\" && superClass !== null) {\r\n throw new TypeError(\"Super expression must either be null or a function\");\r\n }\r\n\r\n subClass.prototype = Object.create(superClass && superClass.prototype, {\r\n constructor: {\r\n value: subClass,\r\n writable: true,\r\n configurable: true\r\n }\r\n });\r\n if (superClass) _setPrototypeOf(subClass, superClass);\r\n }\r\n\r\n function _getPrototypeOf(o) {\r\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\r\n return o.__proto__ || Object.getPrototypeOf(o);\r\n };\r\n return _getPrototypeOf(o);\r\n }\r\n\r\n function _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\r\n o.__proto__ = p;\r\n return o;\r\n };\r\n\r\n return _setPrototypeOf(o, p);\r\n }\r\n\r\n function _assertThisInitialized(self) {\r\n if (self === void 0) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\r\n }\r\n\r\n return self;\r\n }\r\n\r\n function _possibleConstructorReturn(self, call) {\r\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\r\n return call;\r\n }\r\n\r\n return _assertThisInitialized(self);\r\n }\r\n\r\n function _superPropBase(object, property) {\r\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\r\n object = _getPrototypeOf(object);\r\n if (object === null) break;\r\n }\r\n\r\n return object;\r\n }\r\n\r\n function _get(target, property, receiver) {\r\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\r\n _get = Reflect.get;\r\n } else {\r\n _get = function _get(target, property, receiver) {\r\n var base = _superPropBase(target, property);\r\n\r\n if (!base) return;\r\n var desc = Object.getOwnPropertyDescriptor(base, property);\r\n\r\n if (desc.get) {\r\n return desc.get.call(receiver);\r\n }\r\n\r\n return desc.value;\r\n };\r\n }\r\n\r\n return _get(target, property, receiver || target);\r\n }\r\n\r\n var Emitter =\r\n /*#__PURE__*/\r\n function () {\r\n function Emitter() {\r\n _classCallCheck(this, Emitter);\r\n\r\n Object.defineProperty(this, 'listeners', {\r\n value: {},\r\n writable: true,\r\n configurable: true\r\n });\r\n }\r\n\r\n _createClass(Emitter, [{\r\n key: \"addEventListener\",\r\n value: function addEventListener(type, callback) {\r\n if (!(type in this.listeners)) {\r\n this.listeners[type] = [];\r\n }\r\n\r\n this.listeners[type].push(callback);\r\n }\r\n }, {\r\n key: \"removeEventListener\",\r\n value: function removeEventListener(type, callback) {\r\n if (!(type in this.listeners)) {\r\n return;\r\n }\r\n\r\n var stack = this.listeners[type];\r\n\r\n for (var i = 0, l = stack.length; i < l; i++) {\r\n if (stack[i] === callback) {\r\n stack.splice(i, 1);\r\n return;\r\n }\r\n }\r\n }\r\n }, {\r\n key: \"dispatchEvent\",\r\n value: function dispatchEvent(event) {\r\n var _this = this;\r\n\r\n if (!(event.type in this.listeners)) {\r\n return;\r\n }\r\n\r\n var debounce = function debounce(callback) {\r\n setTimeout(function () {\r\n return callback.call(_this, event);\r\n });\r\n };\r\n\r\n var stack = this.listeners[event.type];\r\n\r\n for (var i = 0, l = stack.length; i < l; i++) {\r\n debounce(stack[i]);\r\n }\r\n\r\n return !event.defaultPrevented;\r\n }\r\n }]);\r\n\r\n return Emitter;\r\n }();\r\n\r\n var AbortSignal =\r\n /*#__PURE__*/\r\n function (_Emitter) {\r\n _inherits(AbortSignal, _Emitter);\r\n\r\n function AbortSignal() {\r\n var _this2;\r\n\r\n _classCallCheck(this, AbortSignal);\r\n\r\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(AbortSignal).call(this)); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\r\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\r\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\r\n // https://github.com/babel/babel/issues/3041\r\n // This hack was added as a fix for the issue described here:\r\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\r\n\r\n if (!_this2.listeners) {\r\n Emitter.call(_assertThisInitialized(_this2));\r\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\r\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\r\n\r\n\r\n Object.defineProperty(_assertThisInitialized(_this2), 'aborted', {\r\n value: false,\r\n writable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(_assertThisInitialized(_this2), 'onabort', {\r\n value: null,\r\n writable: true,\r\n configurable: true\r\n });\r\n return _this2;\r\n }\r\n\r\n _createClass(AbortSignal, [{\r\n key: \"toString\",\r\n value: function toString() {\r\n return '[object AbortSignal]';\r\n }\r\n }, {\r\n key: \"dispatchEvent\",\r\n value: function dispatchEvent(event) {\r\n if (event.type === 'abort') {\r\n this.aborted = true;\r\n\r\n if (typeof this.onabort === 'function') {\r\n this.onabort.call(this, event);\r\n }\r\n }\r\n\r\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\r\n }\r\n }]);\r\n\r\n return AbortSignal;\r\n }(Emitter);\r\n var AbortController =\r\n /*#__PURE__*/\r\n function () {\r\n function AbortController() {\r\n _classCallCheck(this, AbortController);\r\n\r\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\r\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\r\n Object.defineProperty(this, 'signal', {\r\n value: new AbortSignal(),\r\n writable: true,\r\n configurable: true\r\n });\r\n }\r\n\r\n _createClass(AbortController, [{\r\n key: \"abort\",\r\n value: function abort() {\r\n var event;\r\n\r\n try {\r\n event = new Event('abort');\r\n } catch (e) {\r\n if (typeof document !== 'undefined') {\r\n if (!document.createEvent) {\r\n // For Internet Explorer 8:\r\n event = document.createEventObject();\r\n event.type = 'abort';\r\n } else {\r\n // For Internet Explorer 11:\r\n event = document.createEvent('Event');\r\n event.initEvent('abort', false, false);\r\n }\r\n } else {\r\n // Fallback where document isn't available:\r\n event = {\r\n type: 'abort',\r\n bubbles: false,\r\n cancelable: false\r\n };\r\n }\r\n }\r\n\r\n this.signal.dispatchEvent(event);\r\n }\r\n }, {\r\n key: \"toString\",\r\n value: function toString() {\r\n return '[object AbortController]';\r\n }\r\n }]);\r\n\r\n return AbortController;\r\n }();\r\n\r\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\r\n // These are necessary to make sure that we get correct output for:\r\n // Object.prototype.toString.call(new AbortController())\r\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\r\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\r\n }\r\n\r\n function polyfillNeeded(self) {\r\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\r\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\r\n return true;\r\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\r\n // defining window.Request, and this polyfill need to work on top of unfetch\r\n // so the below feature detection needs the !self.AbortController part.\r\n // The Request.prototype check is also needed because Safari versions 11.1.2\r\n // up to and including 12.1.x has a window.AbortController present but still\r\n // does NOT correctly implement abortable fetch:\r\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\r\n\r\n\r\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\r\n }\r\n\r\n /**\r\n * Note: the \"fetch.Request\" default value is available for fetch imported from\r\n * the \"node-fetch\" package and not in browsers. This is OK since browsers\r\n * will be importing umd-polyfill.js from that path \"self\" is passed the\r\n * decorator so the default value will not be used (because browsers that define\r\n * fetch also has Request). One quirky setup where self.fetch exists but\r\n * self.Request does not is when the \"unfetch\" minimal fetch polyfill is used\r\n * on top of IE11; for this case the browser will try to use the fetch.Request\r\n * default value which in turn will be undefined but then then \"if (Request)\"\r\n * will ensure that you get a patched fetch but still no Request (as expected).\r\n * @param {fetch, Request = fetch.Request}\r\n * @returns {fetch: abortableFetch, Request: AbortableRequest}\r\n */\r\n\r\n function abortableFetchDecorator(patchTargets) {\r\n if ('function' === typeof patchTargets) {\r\n patchTargets = {\r\n fetch: patchTargets\r\n };\r\n }\r\n\r\n var _patchTargets = patchTargets,\r\n fetch = _patchTargets.fetch,\r\n _patchTargets$Request = _patchTargets.Request,\r\n NativeRequest = _patchTargets$Request === void 0 ? fetch.Request : _patchTargets$Request,\r\n NativeAbortController = _patchTargets.AbortController,\r\n _patchTargets$__FORCE = _patchTargets.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL,\r\n __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL = _patchTargets$__FORCE === void 0 ? false : _patchTargets$__FORCE;\r\n\r\n if (!polyfillNeeded({\r\n fetch: fetch,\r\n Request: NativeRequest,\r\n AbortController: NativeAbortController,\r\n __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL: __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL\r\n })) {\r\n return {\r\n fetch: fetch,\r\n Request: Request\r\n };\r\n }\r\n\r\n var Request = NativeRequest; // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\r\n // defining window.Request, and this polyfill need to work on top of unfetch\r\n // hence we only patch it if it's available. Also we don't patch it if signal\r\n // is already available on the Request prototype because in this case support\r\n // is present and the patching below can cause a crash since it assigns to\r\n // request.signal which is technically a read-only property. This latter error\r\n // happens when you run the main5.js node-fetch example in the repo\r\n // \"abortcontroller-polyfill-examples\". The exact error is:\r\n // request.signal = init.signal;\r\n // ^\r\n // TypeError: Cannot set property signal of # which has only a getter\r\n\r\n if (Request && !Request.prototype.hasOwnProperty('signal') || __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\r\n Request = function Request(input, init) {\r\n var signal;\r\n\r\n if (init && init.signal) {\r\n signal = init.signal; // Never pass init.signal to the native Request implementation when the polyfill has\r\n // been installed because if we're running on top of a browser with a\r\n // working native AbortController (i.e. the polyfill was installed due to\r\n // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our\r\n // fake AbortSignal to the native fetch will trigger:\r\n // TypeError: Failed to construct 'Request': member signal is not of type AbortSignal.\r\n\r\n delete init.signal;\r\n }\r\n\r\n var request = new NativeRequest(input, init);\r\n\r\n if (signal) {\r\n Object.defineProperty(request, 'signal', {\r\n writable: false,\r\n enumerable: false,\r\n configurable: true,\r\n value: signal\r\n });\r\n }\r\n\r\n return request;\r\n };\r\n\r\n Request.prototype = NativeRequest.prototype;\r\n }\r\n\r\n var realFetch = fetch;\r\n\r\n var abortableFetch = function abortableFetch(input, init) {\r\n var signal = Request && Request.prototype.isPrototypeOf(input) ? input.signal : init ? init.signal : undefined;\r\n\r\n if (signal) {\r\n var abortError;\r\n\r\n try {\r\n abortError = new DOMException('Aborted', 'AbortError');\r\n } catch (err) {\r\n // IE 11 does not support calling the DOMException constructor, use a\r\n // regular error object on it instead.\r\n abortError = new Error('Aborted');\r\n abortError.name = 'AbortError';\r\n } // Return early if already aborted, thus avoiding making an HTTP request\r\n\r\n\r\n if (signal.aborted) {\r\n return Promise.reject(abortError);\r\n } // Turn an event into a promise, reject it once `abort` is dispatched\r\n\r\n\r\n var cancellation = new Promise(function (_, reject) {\r\n signal.addEventListener('abort', function () {\r\n return reject(abortError);\r\n }, {\r\n once: true\r\n });\r\n });\r\n\r\n if (init && init.signal) {\r\n // Never pass .signal to the native implementation when the polyfill has\r\n // been installed because if we're running on top of a browser with a\r\n // working native AbortController (i.e. the polyfill was installed due to\r\n // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our\r\n // fake AbortSignal to the native fetch will trigger:\r\n // TypeError: Failed to execute 'fetch' on 'Window': member signal is not of type AbortSignal.\r\n delete init.signal;\r\n } // Return the fastest promise (don't need to wait for request to finish)\r\n\r\n\r\n return Promise.race([cancellation, realFetch(input, init)]);\r\n }\r\n\r\n return realFetch(input, init);\r\n };\r\n\r\n return {\r\n fetch: abortableFetch,\r\n Request: Request\r\n };\r\n }\r\n\r\n (function (self) {\r\n\r\n if (!polyfillNeeded(self)) {\r\n return;\r\n }\r\n\r\n if (!self.fetch) {\r\n console.warn('fetch() is not available, cannot install abortcontroller-polyfill');\r\n return;\r\n }\r\n\r\n var _abortableFetch = abortableFetchDecorator(self),\r\n fetch = _abortableFetch.fetch,\r\n Request = _abortableFetch.Request;\r\n\r\n self.fetch = fetch;\r\n self.Request = Request;\r\n Object.defineProperty(self, 'AbortController', {\r\n writable: true,\r\n enumerable: false,\r\n configurable: true,\r\n value: AbortController\r\n });\r\n Object.defineProperty(self, 'AbortSignal', {\r\n writable: true,\r\n enumerable: false,\r\n configurable: true,\r\n value: AbortSignal\r\n });\r\n })(typeof self !== 'undefined' ? self : global);\r\n\r\n})));\r\n\r\n!function (e, n) { \"object\" == typeof exports && \"undefined\" != typeof module ? n() : \"function\" == typeof define && define.amd ? define(n) : n() }(0, function () { \"use strict\"; function e(e) { var n = this.constructor; return this.then(function (t) { return n.resolve(e()).then(function () { return t }) }, function (t) { return n.resolve(e()).then(function () { return n.reject(t) }) }) } function n(e) { return !(!e || \"undefined\" == typeof e.length) } function t() { } function o(e) { if (!(this instanceof o)) throw new TypeError(\"Promises must be constructed via new\"); if (\"function\" != typeof e) throw new TypeError(\"not a function\"); this._state = 0, this._handled = !1, this._value = undefined, this._deferreds = [], c(e, this) } function r(e, n) { for (; 3 === e._state;)e = e._value; 0 !== e._state ? (e._handled = !0, o._immediateFn(function () { var t = 1 === e._state ? n.onFulfilled : n.onRejected; if (null !== t) { var o; try { o = t(e._value) } catch (r) { return void f(n.promise, r) } i(n.promise, o) } else (1 === e._state ? i : f)(n.promise, e._value) })) : e._deferreds.push(n) } function i(e, n) { try { if (n === e) throw new TypeError(\"A promise cannot be resolved with itself.\"); if (n && (\"object\" == typeof n || \"function\" == typeof n)) { var t = n.then; if (n instanceof o) return e._state = 3, e._value = n, void u(e); if (\"function\" == typeof t) return void c(function (e, n) { return function () { e.apply(n, arguments) } }(t, n), e) } e._state = 1, e._value = n, u(e) } catch (r) { f(e, r) } } function f(e, n) { e._state = 2, e._value = n, u(e) } function u(e) { 2 === e._state && 0 === e._deferreds.length && o._immediateFn(function () { e._handled || o._unhandledRejectionFn(e._value) }); for (var n = 0, t = e._deferreds.length; t > n; n++)r(e, e._deferreds[n]); e._deferreds = null } function c(e, n) { var t = !1; try { e(function (e) { t || (t = !0, i(n, e)) }, function (e) { t || (t = !0, f(n, e)) }) } catch (o) { if (t) return; t = !0, f(n, o) } } var a = setTimeout; o.prototype[\"catch\"] = function (e) { return this.then(null, e) }, o.prototype.then = function (e, n) { var o = new this.constructor(t); return r(this, new function (e, n, t) { this.onFulfilled = \"function\" == typeof e ? e : null, this.onRejected = \"function\" == typeof n ? n : null, this.promise = t }(e, n, o)), o }, o.prototype[\"finally\"] = e, o.all = function (e) { return new o(function (t, o) { function r(e, n) { try { if (n && (\"object\" == typeof n || \"function\" == typeof n)) { var u = n.then; if (\"function\" == typeof u) return void u.call(n, function (n) { r(e, n) }, o) } i[e] = n, 0 == --f && t(i) } catch (c) { o(c) } } if (!n(e)) return o(new TypeError(\"Promise.all accepts an array\")); var i = Array.prototype.slice.call(e); if (0 === i.length) return t([]); for (var f = i.length, u = 0; i.length > u; u++)r(u, i[u]) }) }, o.resolve = function (e) { return e && \"object\" == typeof e && e.constructor === o ? e : new o(function (n) { n(e) }) }, o.reject = function (e) { return new o(function (n, t) { t(e) }) }, o.race = function (e) { return new o(function (t, r) { if (!n(e)) return r(new TypeError(\"Promise.race accepts an array\")); for (var i = 0, f = e.length; f > i; i++)o.resolve(e[i]).then(t, r) }) }, o._immediateFn = \"function\" == typeof setImmediate && function (e) { setImmediate(e) } || function (e) { a(e, 0) }, o._unhandledRejectionFn = function (e) { void 0 !== console && console && console.warn(\"Possible Unhandled Promise Rejection:\", e) }; var l = function () { if (\"undefined\" != typeof self) return self; if (\"undefined\" != typeof window) return window; if (\"undefined\" != typeof global) return global; throw Error(\"unable to locate global object\") }(); \"Promise\" in l ? l.Promise.prototype[\"finally\"] || (l.Promise.prototype[\"finally\"] = e) : l.Promise = o });\r\n\r\nif (window.Element && !Element.prototype.closest) {\r\n\r\n Element.prototype.closest = function (s) {\r\n var matches = (this.document || this.ownerDocument).querySelectorAll(s), i, el = this;\r\n do {\r\n i = matches.length;\r\n while (--i >= 0 && matches.item(i) !== el) { }\r\n } while ((i < 0) && (el = el.parentElement));\r\n return el;\r\n };\r\n\r\n}\r\n\r\n/**\r\n * Copyright 2016 Google Inc. All Rights Reserved.\r\n *\r\n * Licensed under the W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE.\r\n *\r\n * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\r\n *\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n // Exit early if we're not running in a browser.\r\n if (typeof window !== 'object') {\r\n return;\r\n }\r\n\r\n // Exit early if all IntersectionObserver and IntersectionObserverEntry\r\n // features are natively supported.\r\n if ('IntersectionObserver' in window &&\r\n 'IntersectionObserverEntry' in window &&\r\n 'intersectionRatio' in window.IntersectionObserverEntry.prototype) {\r\n\r\n // Minimal polyfill for Edge 15's lack of `isIntersecting`\r\n // See: https://github.com/w3c/IntersectionObserver/issues/211\r\n if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) {\r\n Object.defineProperty(window.IntersectionObserverEntry.prototype,\r\n 'isIntersecting', {\r\n get: function () {\r\n return this.intersectionRatio > 0;\r\n }\r\n });\r\n }\r\n return;\r\n }\r\n\r\n /**\r\n * Returns the embedding frame element, if any.\r\n * @param {!Document} doc\r\n * @return {!Element}\r\n */\r\n function getFrameElement(doc) {\r\n try {\r\n return doc.defaultView && doc.defaultView.frameElement || null;\r\n } catch (e) {\r\n // Ignore the error.\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * A local reference to the root document.\r\n */\r\n var document = (function (startDoc) {\r\n var doc = startDoc;\r\n var frame = getFrameElement(doc);\r\n while (frame) {\r\n doc = frame.ownerDocument;\r\n frame = getFrameElement(doc);\r\n }\r\n return doc;\r\n })(window.document);\r\n\r\n /**\r\n * An IntersectionObserver registry. This registry exists to hold a strong\r\n * reference to IntersectionObserver instances currently observing a target\r\n * element. Without this registry, instances without another reference may be\r\n * garbage collected.\r\n */\r\n var registry = [];\r\n\r\n /**\r\n * The signal updater for cross-origin intersection. When not null, it means\r\n * that the polyfill is configured to work in a cross-origin mode.\r\n * @type {function(DOMRect|ClientRect, DOMRect|ClientRect)}\r\n */\r\n var crossOriginUpdater = null;\r\n\r\n /**\r\n * The current cross-origin intersection. Only used in the cross-origin mode.\r\n * @type {DOMRect|ClientRect}\r\n */\r\n var crossOriginRect = null;\r\n\r\n\r\n /**\r\n * Creates the global IntersectionObserverEntry constructor.\r\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-entry\r\n * @param {Object} entry A dictionary of instance properties.\r\n * @constructor\r\n */\r\n function IntersectionObserverEntry(entry) {\r\n this.time = entry.time;\r\n this.target = entry.target;\r\n this.rootBounds = ensureDOMRect(entry.rootBounds);\r\n this.boundingClientRect = ensureDOMRect(entry.boundingClientRect);\r\n this.intersectionRect = ensureDOMRect(entry.intersectionRect || getEmptyRect());\r\n this.isIntersecting = !!entry.intersectionRect;\r\n\r\n // Calculates the intersection ratio.\r\n var targetRect = this.boundingClientRect;\r\n var targetArea = targetRect.width * targetRect.height;\r\n var intersectionRect = this.intersectionRect;\r\n var intersectionArea = intersectionRect.width * intersectionRect.height;\r\n\r\n // Sets intersection ratio.\r\n if (targetArea) {\r\n // Round the intersection ratio to avoid floating point math issues:\r\n // https://github.com/w3c/IntersectionObserver/issues/324\r\n this.intersectionRatio = Number((intersectionArea / targetArea).toFixed(4));\r\n } else {\r\n // If area is zero and is intersecting, sets to 1, otherwise to 0\r\n this.intersectionRatio = this.isIntersecting ? 1 : 0;\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Creates the global IntersectionObserver constructor.\r\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-interface\r\n * @param {Function} callback The function to be invoked after intersection\r\n * changes have queued. The function is not invoked if the queue has\r\n * been emptied by calling the `takeRecords` method.\r\n * @param {Object=} opt_options Optional configuration options.\r\n * @constructor\r\n */\r\n function IntersectionObserver(callback, opt_options) {\r\n\r\n var options = opt_options || {};\r\n\r\n if (typeof callback != 'function') {\r\n throw new Error('callback must be a function');\r\n }\r\n\r\n if (\r\n options.root &&\r\n options.root.nodeType != 1 &&\r\n options.root.nodeType != 9\r\n ) {\r\n throw new Error('root must be a Document or Element');\r\n }\r\n\r\n // Binds and throttles `this._checkForIntersections`.\r\n this._checkForIntersections = throttle(\r\n this._checkForIntersections.bind(this), this.THROTTLE_TIMEOUT);\r\n\r\n // Private properties.\r\n this._callback = callback;\r\n this._observationTargets = [];\r\n this._queuedEntries = [];\r\n this._rootMarginValues = this._parseRootMargin(options.rootMargin);\r\n\r\n // Public properties.\r\n this.thresholds = this._initThresholds(options.threshold);\r\n this.root = options.root || null;\r\n this.rootMargin = this._rootMarginValues.map(function (margin) {\r\n return margin.value + margin.unit;\r\n }).join(' ');\r\n\r\n /** @private @const {!Array} */\r\n this._monitoringDocuments = [];\r\n /** @private @const {!Array} */\r\n this._monitoringUnsubscribes = [];\r\n }\r\n\r\n\r\n /**\r\n * The minimum interval within which the document will be checked for\r\n * intersection changes.\r\n */\r\n IntersectionObserver.prototype.THROTTLE_TIMEOUT = 100;\r\n\r\n\r\n /**\r\n * The frequency in which the polyfill polls for intersection changes.\r\n * this can be updated on a per instance basis and must be set prior to\r\n * calling `observe` on the first target.\r\n */\r\n IntersectionObserver.prototype.POLL_INTERVAL = null;\r\n\r\n /**\r\n * Use a mutation observer on the root element\r\n * to detect intersection changes.\r\n */\r\n IntersectionObserver.prototype.USE_MUTATION_OBSERVER = true;\r\n\r\n\r\n /**\r\n * Sets up the polyfill in the cross-origin mode. The result is the\r\n * updater function that accepts two arguments: `boundingClientRect` and\r\n * `intersectionRect` - just as these fields would be available to the\r\n * parent via `IntersectionObserverEntry`. This function should be called\r\n * each time the iframe receives intersection information from the parent\r\n * window, e.g. via messaging.\r\n * @return {function(DOMRect|ClientRect, DOMRect|ClientRect)}\r\n */\r\n IntersectionObserver._setupCrossOriginUpdater = function () {\r\n if (!crossOriginUpdater) {\r\n /**\r\n * @param {DOMRect|ClientRect} boundingClientRect\r\n * @param {DOMRect|ClientRect} intersectionRect\r\n */\r\n crossOriginUpdater = function (boundingClientRect, intersectionRect) {\r\n if (!boundingClientRect || !intersectionRect) {\r\n crossOriginRect = getEmptyRect();\r\n } else {\r\n crossOriginRect = convertFromParentRect(boundingClientRect, intersectionRect);\r\n }\r\n registry.forEach(function (observer) {\r\n observer._checkForIntersections();\r\n });\r\n };\r\n }\r\n return crossOriginUpdater;\r\n };\r\n\r\n\r\n /**\r\n * Resets the cross-origin mode.\r\n */\r\n IntersectionObserver._resetCrossOriginUpdater = function () {\r\n crossOriginUpdater = null;\r\n crossOriginRect = null;\r\n };\r\n\r\n\r\n /**\r\n * Starts observing a target element for intersection changes based on\r\n * the thresholds values.\r\n * @param {Element} target The DOM element to observe.\r\n */\r\n IntersectionObserver.prototype.observe = function (target) {\r\n var isTargetAlreadyObserved = this._observationTargets.some(function (item) {\r\n return item.element == target;\r\n });\r\n\r\n if (isTargetAlreadyObserved) {\r\n return;\r\n }\r\n\r\n if (!(target && target.nodeType == 1)) {\r\n throw new Error('target must be an Element');\r\n }\r\n\r\n this._registerInstance();\r\n this._observationTargets.push({ element: target, entry: null });\r\n this._monitorIntersections(target.ownerDocument);\r\n this._checkForIntersections();\r\n };\r\n\r\n\r\n /**\r\n * Stops observing a target element for intersection changes.\r\n * @param {Element} target The DOM element to observe.\r\n */\r\n IntersectionObserver.prototype.unobserve = function (target) {\r\n this._observationTargets =\r\n this._observationTargets.filter(function (item) {\r\n return item.element != target;\r\n });\r\n this._unmonitorIntersections(target.ownerDocument);\r\n if (this._observationTargets.length == 0) {\r\n this._unregisterInstance();\r\n }\r\n };\r\n\r\n\r\n /**\r\n * Stops observing all target elements for intersection changes.\r\n */\r\n IntersectionObserver.prototype.disconnect = function () {\r\n this._observationTargets = [];\r\n this._unmonitorAllIntersections();\r\n this._unregisterInstance();\r\n };\r\n\r\n\r\n /**\r\n * Returns any queue entries that have not yet been reported to the\r\n * callback and clears the queue. This can be used in conjunction with the\r\n * callback to obtain the absolute most up-to-date intersection information.\r\n * @return {Array} The currently queued entries.\r\n */\r\n IntersectionObserver.prototype.takeRecords = function () {\r\n var records = this._queuedEntries.slice();\r\n this._queuedEntries = [];\r\n return records;\r\n };\r\n\r\n\r\n /**\r\n * Accepts the threshold value from the user configuration object and\r\n * returns a sorted array of unique threshold values. If a value is not\r\n * between 0 and 1 and error is thrown.\r\n * @private\r\n * @param {Array|number=} opt_threshold An optional threshold value or\r\n * a list of threshold values, defaulting to [0].\r\n * @return {Array} A sorted list of unique and valid threshold values.\r\n */\r\n IntersectionObserver.prototype._initThresholds = function (opt_threshold) {\r\n var threshold = opt_threshold || [0];\r\n if (!Array.isArray(threshold)) threshold = [threshold];\r\n\r\n return threshold.sort().filter(function (t, i, a) {\r\n if (typeof t != 'number' || isNaN(t) || t < 0 || t > 1) {\r\n throw new Error('threshold must be a number between 0 and 1 inclusively');\r\n }\r\n return t !== a[i - 1];\r\n });\r\n };\r\n\r\n\r\n /**\r\n * Accepts the rootMargin value from the user configuration object\r\n * and returns an array of the four margin values as an object containing\r\n * the value and unit properties. If any of the values are not properly\r\n * formatted or use a unit other than px or %, and error is thrown.\r\n * @private\r\n * @param {string=} opt_rootMargin An optional rootMargin value,\r\n * defaulting to '0px'.\r\n * @return {Array} An array of margin objects with the keys\r\n * value and unit.\r\n */\r\n IntersectionObserver.prototype._parseRootMargin = function (opt_rootMargin) {\r\n var marginString = opt_rootMargin || '0px';\r\n var margins = marginString.split(/\\s+/).map(function (margin) {\r\n var parts = /^(-?\\d*\\.?\\d+)(px|%)$/.exec(margin);\r\n if (!parts) {\r\n throw new Error('rootMargin must be specified in pixels or percent');\r\n }\r\n return { value: parseFloat(parts[1]), unit: parts[2] };\r\n });\r\n\r\n // Handles shorthand.\r\n margins[1] = margins[1] || margins[0];\r\n margins[2] = margins[2] || margins[0];\r\n margins[3] = margins[3] || margins[1];\r\n\r\n return margins;\r\n };\r\n\r\n\r\n /**\r\n * Starts polling for intersection changes if the polling is not already\r\n * happening, and if the page's visibility state is visible.\r\n * @param {!Document} doc\r\n * @private\r\n */\r\n IntersectionObserver.prototype._monitorIntersections = function (doc) {\r\n var win = doc.defaultView;\r\n if (!win) {\r\n // Already destroyed.\r\n return;\r\n }\r\n if (this._monitoringDocuments.indexOf(doc) != -1) {\r\n // Already monitoring.\r\n return;\r\n }\r\n\r\n // Private state for monitoring.\r\n var callback = this._checkForIntersections;\r\n var monitoringInterval = null;\r\n var domObserver = null;\r\n\r\n // If a poll interval is set, use polling instead of listening to\r\n // resize and scroll events or DOM mutations.\r\n if (this.POLL_INTERVAL) {\r\n monitoringInterval = win.setInterval(callback, this.POLL_INTERVAL);\r\n } else {\r\n addEvent(win, 'resize', callback, true);\r\n addEvent(doc, 'scroll', callback, true);\r\n if (this.USE_MUTATION_OBSERVER && 'MutationObserver' in win) {\r\n domObserver = new win.MutationObserver(callback);\r\n domObserver.observe(doc, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n }\r\n\r\n this._monitoringDocuments.push(doc);\r\n this._monitoringUnsubscribes.push(function () {\r\n // Get the window object again. When a friendly iframe is destroyed, it\r\n // will be null.\r\n var win = doc.defaultView;\r\n\r\n if (win) {\r\n if (monitoringInterval) {\r\n win.clearInterval(monitoringInterval);\r\n }\r\n removeEvent(win, 'resize', callback, true);\r\n }\r\n\r\n removeEvent(doc, 'scroll', callback, true);\r\n if (domObserver) {\r\n domObserver.disconnect();\r\n }\r\n });\r\n\r\n // Also monitor the parent.\r\n var rootDoc =\r\n (this.root && (this.root.ownerDocument || this.root)) || document;\r\n if (doc != rootDoc) {\r\n var frame = getFrameElement(doc);\r\n if (frame) {\r\n this._monitorIntersections(frame.ownerDocument);\r\n }\r\n }\r\n };\r\n\r\n\r\n /**\r\n * Stops polling for intersection changes.\r\n * @param {!Document} doc\r\n * @private\r\n */\r\n IntersectionObserver.prototype._unmonitorIntersections = function (doc) {\r\n var index = this._monitoringDocuments.indexOf(doc);\r\n if (index == -1) {\r\n return;\r\n }\r\n\r\n var rootDoc =\r\n (this.root && (this.root.ownerDocument || this.root)) || document;\r\n\r\n // Check if any dependent targets are still remaining.\r\n var hasDependentTargets =\r\n this._observationTargets.some(function (item) {\r\n var itemDoc = item.element.ownerDocument;\r\n // Target is in this context.\r\n if (itemDoc == doc) {\r\n return true;\r\n }\r\n // Target is nested in this context.\r\n while (itemDoc && itemDoc != rootDoc) {\r\n var frame = getFrameElement(itemDoc);\r\n itemDoc = frame && frame.ownerDocument;\r\n if (itemDoc == doc) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n });\r\n if (hasDependentTargets) {\r\n return;\r\n }\r\n\r\n // Unsubscribe.\r\n var unsubscribe = this._monitoringUnsubscribes[index];\r\n this._monitoringDocuments.splice(index, 1);\r\n this._monitoringUnsubscribes.splice(index, 1);\r\n unsubscribe();\r\n\r\n // Also unmonitor the parent.\r\n if (doc != rootDoc) {\r\n var frame = getFrameElement(doc);\r\n if (frame) {\r\n this._unmonitorIntersections(frame.ownerDocument);\r\n }\r\n }\r\n };\r\n\r\n\r\n /**\r\n * Stops polling for intersection changes.\r\n * @param {!Document} doc\r\n * @private\r\n */\r\n IntersectionObserver.prototype._unmonitorAllIntersections = function () {\r\n var unsubscribes = this._monitoringUnsubscribes.slice(0);\r\n this._monitoringDocuments.length = 0;\r\n this._monitoringUnsubscribes.length = 0;\r\n for (var i = 0; i < unsubscribes.length; i++) {\r\n unsubscribes[i]();\r\n }\r\n };\r\n\r\n\r\n /**\r\n * Scans each observation target for intersection changes and adds them\r\n * to the internal entries queue. If new entries are found, it\r\n * schedules the callback to be invoked.\r\n * @private\r\n */\r\n IntersectionObserver.prototype._checkForIntersections = function () {\r\n if (!this.root && crossOriginUpdater && !crossOriginRect) {\r\n // Cross origin monitoring, but no initial data available yet.\r\n return;\r\n }\r\n\r\n var rootIsInDom = this._rootIsInDom();\r\n var rootRect = rootIsInDom ? this._getRootRect() : getEmptyRect();\r\n\r\n this._observationTargets.forEach(function (item) {\r\n var target = item.element;\r\n var targetRect = getBoundingClientRect(target);\r\n var rootContainsTarget = this._rootContainsTarget(target);\r\n var oldEntry = item.entry;\r\n var intersectionRect = rootIsInDom && rootContainsTarget &&\r\n this._computeTargetAndRootIntersection(target, targetRect, rootRect);\r\n\r\n var rootBounds = null;\r\n if (!this._rootContainsTarget(target)) {\r\n rootBounds = getEmptyRect();\r\n } else if (!crossOriginUpdater || this.root) {\r\n rootBounds = rootRect;\r\n }\r\n\r\n var newEntry = item.entry = new IntersectionObserverEntry({\r\n time: now(),\r\n target: target,\r\n boundingClientRect: targetRect,\r\n rootBounds: rootBounds,\r\n intersectionRect: intersectionRect\r\n });\r\n\r\n if (!oldEntry) {\r\n this._queuedEntries.push(newEntry);\r\n } else if (rootIsInDom && rootContainsTarget) {\r\n // If the new entry intersection ratio has crossed any of the\r\n // thresholds, add a new entry.\r\n if (this._hasCrossedThreshold(oldEntry, newEntry)) {\r\n this._queuedEntries.push(newEntry);\r\n }\r\n } else {\r\n // If the root is not in the DOM or target is not contained within\r\n // root but the previous entry for this target had an intersection,\r\n // add a new record indicating removal.\r\n if (oldEntry && oldEntry.isIntersecting) {\r\n this._queuedEntries.push(newEntry);\r\n }\r\n }\r\n }, this);\r\n\r\n if (this._queuedEntries.length) {\r\n this._callback(this.takeRecords(), this);\r\n }\r\n };\r\n\r\n\r\n /**\r\n * Accepts a target and root rect computes the intersection between then\r\n * following the algorithm in the spec.\r\n * TODO(philipwalton): at this time clip-path is not considered.\r\n * https://w3c.github.io/IntersectionObserver/#calculate-intersection-rect-algo\r\n * @param {Element} target The target DOM element\r\n * @param {Object} targetRect The bounding rect of the target.\r\n * @param {Object} rootRect The bounding rect of the root after being\r\n * expanded by the rootMargin value.\r\n * @return {?Object} The final intersection rect object or undefined if no\r\n * intersection is found.\r\n * @private\r\n */\r\n IntersectionObserver.prototype._computeTargetAndRootIntersection =\r\n function (target, targetRect, rootRect) {\r\n // If the element isn't displayed, an intersection can't happen.\r\n if (window.getComputedStyle(target).display == 'none') return;\r\n\r\n var intersectionRect = targetRect;\r\n var parent = getParentNode(target);\r\n var atRoot = false;\r\n\r\n while (!atRoot && parent) {\r\n var parentRect = null;\r\n var parentComputedStyle = parent.nodeType == 1 ?\r\n window.getComputedStyle(parent) : {};\r\n\r\n // If the parent isn't displayed, an intersection can't happen.\r\n if (parentComputedStyle.display == 'none') return null;\r\n\r\n if (parent == this.root || parent.nodeType == /* DOCUMENT */ 9) {\r\n atRoot = true;\r\n if (parent == this.root || parent == document) {\r\n if (crossOriginUpdater && !this.root) {\r\n if (!crossOriginRect ||\r\n crossOriginRect.width == 0 && crossOriginRect.height == 0) {\r\n // A 0-size cross-origin intersection means no-intersection.\r\n parent = null;\r\n parentRect = null;\r\n intersectionRect = null;\r\n } else {\r\n parentRect = crossOriginRect;\r\n }\r\n } else {\r\n parentRect = rootRect;\r\n }\r\n } else {\r\n // Check if there's a frame that can be navigated to.\r\n var frame = getParentNode(parent);\r\n var frameRect = frame && getBoundingClientRect(frame);\r\n var frameIntersect =\r\n frame &&\r\n this._computeTargetAndRootIntersection(frame, frameRect, rootRect);\r\n if (frameRect && frameIntersect) {\r\n parent = frame;\r\n parentRect = convertFromParentRect(frameRect, frameIntersect);\r\n } else {\r\n parent = null;\r\n intersectionRect = null;\r\n }\r\n }\r\n } else {\r\n // If the element has a non-visible overflow, and it's not the \r\n // or element, update the intersection rect.\r\n // Note: and cannot be clipped to a rect that's not also\r\n // the document rect, so no need to compute a new intersection.\r\n var doc = parent.ownerDocument;\r\n if (parent != doc.body &&\r\n parent != doc.documentElement &&\r\n parentComputedStyle.overflow != 'visible') {\r\n parentRect = getBoundingClientRect(parent);\r\n }\r\n }\r\n\r\n // If either of the above conditionals set a new parentRect,\r\n // calculate new intersection data.\r\n if (parentRect) {\r\n intersectionRect = computeRectIntersection(parentRect, intersectionRect);\r\n }\r\n if (!intersectionRect) break;\r\n parent = parent && getParentNode(parent);\r\n }\r\n return intersectionRect;\r\n };\r\n\r\n\r\n /**\r\n * Returns the root rect after being expanded by the rootMargin value.\r\n * @return {ClientRect} The expanded root rect.\r\n * @private\r\n */\r\n IntersectionObserver.prototype._getRootRect = function () {\r\n var rootRect;\r\n if (this.root && !isDoc(this.root)) {\r\n rootRect = getBoundingClientRect(this.root);\r\n } else {\r\n // Use / instead of window since scroll bars affect size.\r\n var doc = isDoc(this.root) ? this.root : document;\r\n var html = doc.documentElement;\r\n var body = doc.body;\r\n rootRect = {\r\n top: 0,\r\n left: 0,\r\n right: html.clientWidth || body.clientWidth,\r\n width: html.clientWidth || body.clientWidth,\r\n bottom: html.clientHeight || body.clientHeight,\r\n height: html.clientHeight || body.clientHeight\r\n };\r\n }\r\n return this._expandRectByRootMargin(rootRect);\r\n };\r\n\r\n\r\n /**\r\n * Accepts a rect and expands it by the rootMargin value.\r\n * @param {DOMRect|ClientRect} rect The rect object to expand.\r\n * @return {ClientRect} The expanded rect.\r\n * @private\r\n */\r\n IntersectionObserver.prototype._expandRectByRootMargin = function (rect) {\r\n var margins = this._rootMarginValues.map(function (margin, i) {\r\n return margin.unit == 'px' ? margin.value :\r\n margin.value * (i % 2 ? rect.width : rect.height) / 100;\r\n });\r\n var newRect = {\r\n top: rect.top - margins[0],\r\n right: rect.right + margins[1],\r\n bottom: rect.bottom + margins[2],\r\n left: rect.left - margins[3]\r\n };\r\n newRect.width = newRect.right - newRect.left;\r\n newRect.height = newRect.bottom - newRect.top;\r\n\r\n return newRect;\r\n };\r\n\r\n\r\n /**\r\n * Accepts an old and new entry and returns true if at least one of the\r\n * threshold values has been crossed.\r\n * @param {?IntersectionObserverEntry} oldEntry The previous entry for a\r\n * particular target element or null if no previous entry exists.\r\n * @param {IntersectionObserverEntry} newEntry The current entry for a\r\n * particular target element.\r\n * @return {boolean} Returns true if a any threshold has been crossed.\r\n * @private\r\n */\r\n IntersectionObserver.prototype._hasCrossedThreshold =\r\n function (oldEntry, newEntry) {\r\n\r\n // To make comparing easier, an entry that has a ratio of 0\r\n // but does not actually intersect is given a value of -1\r\n var oldRatio = oldEntry && oldEntry.isIntersecting ?\r\n oldEntry.intersectionRatio || 0 : -1;\r\n var newRatio = newEntry.isIntersecting ?\r\n newEntry.intersectionRatio || 0 : -1;\r\n\r\n // Ignore unchanged ratios\r\n if (oldRatio === newRatio) return;\r\n\r\n for (var i = 0; i < this.thresholds.length; i++) {\r\n var threshold = this.thresholds[i];\r\n\r\n // Return true if an entry matches a threshold or if the new ratio\r\n // and the old ratio are on the opposite sides of a threshold.\r\n if (threshold == oldRatio || threshold == newRatio ||\r\n threshold < oldRatio !== threshold < newRatio) {\r\n return true;\r\n }\r\n }\r\n };\r\n\r\n\r\n /**\r\n * Returns whether or not the root element is an element and is in the DOM.\r\n * @return {boolean} True if the root element is an element and is in the DOM.\r\n * @private\r\n */\r\n IntersectionObserver.prototype._rootIsInDom = function () {\r\n return !this.root || containsDeep(document, this.root);\r\n };\r\n\r\n\r\n /**\r\n * Returns whether or not the target element is a child of root.\r\n * @param {Element} target The target element to check.\r\n * @return {boolean} True if the target element is a child of root.\r\n * @private\r\n */\r\n IntersectionObserver.prototype._rootContainsTarget = function (target) {\r\n var rootDoc =\r\n (this.root && (this.root.ownerDocument || this.root)) || document;\r\n return (\r\n containsDeep(rootDoc, target) &&\r\n (!this.root || rootDoc == target.ownerDocument)\r\n );\r\n };\r\n\r\n\r\n /**\r\n * Adds the instance to the global IntersectionObserver registry if it isn't\r\n * already present.\r\n * @private\r\n */\r\n IntersectionObserver.prototype._registerInstance = function () {\r\n if (registry.indexOf(this) < 0) {\r\n registry.push(this);\r\n }\r\n };\r\n\r\n\r\n /**\r\n * Removes the instance from the global IntersectionObserver registry.\r\n * @private\r\n */\r\n IntersectionObserver.prototype._unregisterInstance = function () {\r\n var index = registry.indexOf(this);\r\n if (index != -1) registry.splice(index, 1);\r\n };\r\n\r\n\r\n /**\r\n * Returns the result of the performance.now() method or null in browsers\r\n * that don't support the API.\r\n * @return {number} The elapsed time since the page was requested.\r\n */\r\n function now() {\r\n return window.performance && performance.now && performance.now();\r\n }\r\n\r\n\r\n /**\r\n * Throttles a function and delays its execution, so it's only called at most\r\n * once within a given time period.\r\n * @param {Function} fn The function to throttle.\r\n * @param {number} timeout The amount of time that must pass before the\r\n * function can be called again.\r\n * @return {Function} The throttled function.\r\n */\r\n function throttle(fn, timeout) {\r\n var timer = null;\r\n return function () {\r\n if (!timer) {\r\n timer = setTimeout(function () {\r\n fn();\r\n timer = null;\r\n }, timeout);\r\n }\r\n };\r\n }\r\n\r\n\r\n /**\r\n * Adds an event handler to a DOM node ensuring cross-browser compatibility.\r\n * @param {Node} node The DOM node to add the event handler to.\r\n * @param {string} event The event name.\r\n * @param {Function} fn The event handler to add.\r\n * @param {boolean} opt_useCapture Optionally adds the even to the capture\r\n * phase. Note: this only works in modern browsers.\r\n */\r\n function addEvent(node, event, fn, opt_useCapture) {\r\n if (typeof node.addEventListener == 'function') {\r\n node.addEventListener(event, fn, opt_useCapture || false);\r\n }\r\n else if (typeof node.attachEvent == 'function') {\r\n node.attachEvent('on' + event, fn);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Removes a previously added event handler from a DOM node.\r\n * @param {Node} node The DOM node to remove the event handler from.\r\n * @param {string} event The event name.\r\n * @param {Function} fn The event handler to remove.\r\n * @param {boolean} opt_useCapture If the event handler was added with this\r\n * flag set to true, it should be set to true here in order to remove it.\r\n */\r\n function removeEvent(node, event, fn, opt_useCapture) {\r\n if (typeof node.removeEventListener == 'function') {\r\n node.removeEventListener(event, fn, opt_useCapture || false);\r\n }\r\n else if (typeof node.detatchEvent == 'function') {\r\n node.detatchEvent('on' + event, fn);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Returns the intersection between two rect objects.\r\n * @param {Object} rect1 The first rect.\r\n * @param {Object} rect2 The second rect.\r\n * @return {?Object|?ClientRect} The intersection rect or undefined if no\r\n * intersection is found.\r\n */\r\n function computeRectIntersection(rect1, rect2) {\r\n var top = Math.max(rect1.top, rect2.top);\r\n var bottom = Math.min(rect1.bottom, rect2.bottom);\r\n var left = Math.max(rect1.left, rect2.left);\r\n var right = Math.min(rect1.right, rect2.right);\r\n var width = right - left;\r\n var height = bottom - top;\r\n\r\n return (width >= 0 && height >= 0) && {\r\n top: top,\r\n bottom: bottom,\r\n left: left,\r\n right: right,\r\n width: width,\r\n height: height\r\n } || null;\r\n }\r\n\r\n\r\n /**\r\n * Shims the native getBoundingClientRect for compatibility with older IE.\r\n * @param {Element} el The element whose bounding rect to get.\r\n * @return {DOMRect|ClientRect} The (possibly shimmed) rect of the element.\r\n */\r\n function getBoundingClientRect(el) {\r\n var rect;\r\n\r\n try {\r\n rect = el.getBoundingClientRect();\r\n } catch (err) {\r\n // Ignore Windows 7 IE11 \"Unspecified error\"\r\n // https://github.com/w3c/IntersectionObserver/pull/205\r\n }\r\n\r\n if (!rect) return getEmptyRect();\r\n\r\n // Older IE\r\n if (!(rect.width && rect.height)) {\r\n rect = {\r\n top: rect.top,\r\n right: rect.right,\r\n bottom: rect.bottom,\r\n left: rect.left,\r\n width: rect.right - rect.left,\r\n height: rect.bottom - rect.top\r\n };\r\n }\r\n return rect;\r\n }\r\n\r\n\r\n /**\r\n * Returns an empty rect object. An empty rect is returned when an element\r\n * is not in the DOM.\r\n * @return {ClientRect} The empty rect.\r\n */\r\n function getEmptyRect() {\r\n return {\r\n top: 0,\r\n bottom: 0,\r\n left: 0,\r\n right: 0,\r\n width: 0,\r\n height: 0\r\n };\r\n }\r\n\r\n\r\n /**\r\n * Ensure that the result has all of the necessary fields of the DOMRect.\r\n * Specifically this ensures that `x` and `y` fields are set.\r\n *\r\n * @param {?DOMRect|?ClientRect} rect\r\n * @return {?DOMRect}\r\n */\r\n function ensureDOMRect(rect) {\r\n // A `DOMRect` object has `x` and `y` fields.\r\n if (!rect || 'x' in rect) {\r\n return rect;\r\n }\r\n // A IE's `ClientRect` type does not have `x` and `y`. The same is the case\r\n // for internally calculated Rect objects. For the purposes of\r\n // `IntersectionObserver`, it's sufficient to simply mirror `left` and `top`\r\n // for these fields.\r\n return {\r\n top: rect.top,\r\n y: rect.top,\r\n bottom: rect.bottom,\r\n left: rect.left,\r\n x: rect.left,\r\n right: rect.right,\r\n width: rect.width,\r\n height: rect.height\r\n };\r\n }\r\n\r\n\r\n /**\r\n * Inverts the intersection and bounding rect from the parent (frame) BCR to\r\n * the local BCR space.\r\n * @param {DOMRect|ClientRect} parentBoundingRect The parent's bound client rect.\r\n * @param {DOMRect|ClientRect} parentIntersectionRect The parent's own intersection rect.\r\n * @return {ClientRect} The local root bounding rect for the parent's children.\r\n */\r\n function convertFromParentRect(parentBoundingRect, parentIntersectionRect) {\r\n var top = parentIntersectionRect.top - parentBoundingRect.top;\r\n var left = parentIntersectionRect.left - parentBoundingRect.left;\r\n return {\r\n top: top,\r\n left: left,\r\n height: parentIntersectionRect.height,\r\n width: parentIntersectionRect.width,\r\n bottom: top + parentIntersectionRect.height,\r\n right: left + parentIntersectionRect.width\r\n };\r\n }\r\n\r\n\r\n /**\r\n * Checks to see if a parent element contains a child element (including inside\r\n * shadow DOM).\r\n * @param {Node} parent The parent element.\r\n * @param {Node} child The child element.\r\n * @return {boolean} True if the parent node contains the child node.\r\n */\r\n function containsDeep(parent, child) {\r\n var node = child;\r\n while (node) {\r\n if (node == parent) return true;\r\n\r\n node = getParentNode(node);\r\n }\r\n return false;\r\n }\r\n\r\n\r\n /**\r\n * Gets the parent node of an element or its host element if the parent node\r\n * is a shadow root.\r\n * @param {Node} node The node whose parent to get.\r\n * @return {Node|null} The parent node or null if no parent exists.\r\n */\r\n function getParentNode(node) {\r\n var parent = node.parentNode;\r\n\r\n if (node.nodeType == /* DOCUMENT */ 9 && node != document) {\r\n // If this node is a document node, look for the embedding frame.\r\n return getFrameElement(node);\r\n }\r\n\r\n // If the parent has element that is assigned through shadow root slot\r\n if (parent && parent.assignedSlot) {\r\n parent = parent.assignedSlot.parentNode\r\n }\r\n\r\n if (parent && parent.nodeType == 11 && parent.host) {\r\n // If the parent is a shadow root, return the host element.\r\n return parent.host;\r\n }\r\n\r\n return parent;\r\n }\r\n\r\n /**\r\n * Returns true if `node` is a Document.\r\n * @param {!Node} node\r\n * @returns {boolean}\r\n */\r\n function isDoc(node) {\r\n return node && node.nodeType === 9;\r\n }\r\n\r\n\r\n // Exposes the constructors globally.\r\n window.IntersectionObserver = IntersectionObserver;\r\n window.IntersectionObserverEntry = IntersectionObserverEntry;\r\n\r\n}());\r\n/*! picturefill - v3.0.2 - 2016-02-12\r\n * https://scottjehl.github.io/picturefill/\r\n * Copyright (c) 2016 https://github.com/scottjehl/picturefill/blob/master/Authors.txt; Licensed MIT\r\n */\r\n!function(a){var b=navigator.userAgent;a.HTMLPictureElement&&/ecko/.test(b)&&b.match(/rv\\:(\\d+)/)&&RegExp.$1<45&&addEventListener(\"resize\",function(){var b,c=document.createElement(\"source\"),d=function(a){var b,d,e=a.parentNode;\"PICTURE\"===e.nodeName.toUpperCase()?(b=c.cloneNode(),e.insertBefore(b,e.firstElementChild),setTimeout(function(){e.removeChild(b)})):(!a._pfLastSize||a.offsetWidth>a._pfLastSize)&&(a._pfLastSize=a.offsetWidth,d=a.sizes,a.sizes+=\",100vw\",setTimeout(function(){a.sizes=d}))},e=function(){var a,b=document.querySelectorAll(\"picture > img, img[srcset][sizes]\");for(a=0;a2.7?h=c+1:(f=b-c,e=Math.pow(a-.6,1.5),g=f*e,d&&(g+=.1*e),h=a+g):h=c>1?Math.sqrt(a*b):a,h>c}function h(a){var b,c=s.getSet(a),d=!1;\"pending\"!==c&&(d=r,c&&(b=s.setRes(c),s.applySetCandidate(b,a))),a[s.ns].evaled=d}function i(a,b){return a.res-b.res}function j(a,b,c){var d;return!c&&b&&(c=a[s.ns].sets,c=c&&c[c.length-1]),d=k(b,c),d&&(b=s.makeUrl(b),a[s.ns].curSrc=b,a[s.ns].curCan=d,d.res||aa(d,d.set.sizes)),d}function k(a,b){var c,d,e;if(a&&b)for(e=s.parseSet(b),a=s.makeUrl(a),c=0;cc;c++)e=g[c],e[s.ns]=!0,f=e.getAttribute(\"srcset\"),f&&b.push({srcset:f,media:e.getAttribute(\"media\"),type:e.getAttribute(\"type\"),sizes:e.getAttribute(\"sizes\")})}function m(a,b){function c(b){var c,d=b.exec(a.substring(m));return d?(c=d[0],m+=c.length,c):void 0}function e(){var a,c,d,e,f,i,j,k,l,m=!1,o={};for(e=0;el?m=!0:c=l):X.test(j)&&\"h\"===i?((d||c)&&(m=!0),0===k?m=!0:d=k):m=!0;m||(o.url=g,a&&(o.w=a),c&&(o.d=c),d&&(o.h=d),d||c||a||(o.d=1),1===o.d&&(b.has1x=!0),o.set=b,n.push(o))}function f(){for(c(T),i=\"\",j=\"in descriptor\";;){if(k=a.charAt(m),\"in descriptor\"===j)if(d(k))i&&(h.push(i),i=\"\",j=\"after descriptor\");else{if(\",\"===k)return m+=1,i&&h.push(i),void e();if(\"(\"===k)i+=k,j=\"in parens\";else{if(\"\"===k)return i&&h.push(i),void e();i+=k}}else if(\"in parens\"===j)if(\")\"===k)i+=k,j=\"in descriptor\";else{if(\"\"===k)return h.push(i),void e();i+=k}else if(\"after descriptor\"===j)if(d(k));else{if(\"\"===k)return void e();j=\"in descriptor\",m-=1}m+=1}}for(var g,h,i,j,k,l=a.length,m=0,n=[];;){if(c(U),m>=l)return n;g=c(V),h=[],\",\"===g.slice(-1)?(g=g.replace(W,\"\"),e()):f()}}function n(a){function b(a){function b(){f&&(g.push(f),f=\"\")}function c(){g[0]&&(h.push(g),g=[])}for(var e,f=\"\",g=[],h=[],i=0,j=0,k=!1;;){if(e=a.charAt(j),\"\"===e)return b(),c(),h;if(k){if(\"*\"===e&&\"/\"===a[j+1]){k=!1,j+=2,b();continue}j+=1}else{if(d(e)){if(a.charAt(j-1)&&d(a.charAt(j-1))||!f){j+=1;continue}if(0===i){b(),j+=1;continue}e=\" \"}else if(\"(\"===e)i+=1;else if(\")\"===e)i-=1;else{if(\",\"===e){b(),c(),j+=1;continue}if(\"/\"===e&&\"*\"===a.charAt(j+1)){k=!0,j+=2;continue}}f+=e,j+=1}}}function c(a){return k.test(a)&&parseFloat(a)>=0?!0:l.test(a)?!0:\"0\"===a||\"-0\"===a||\"+0\"===a?!0:!1}var e,f,g,h,i,j,k=/^(?:[+-]?[0-9]+|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?(?:ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmin|vmax|vw)$/i,l=/^calc\\((?:[0-9a-z \\.\\+\\-\\*\\/\\(\\)]+)\\)$/i;for(f=b(a),g=f.length,e=0;g>e;e++)if(h=f[e],i=h[h.length-1],c(i)){if(j=i,h.pop(),0===h.length)return j;if(h=h.join(\" \"),s.matchesMedia(h))return j}return\"100vw\"}b.createElement(\"picture\");var o,p,q,r,s={},t=!1,u=function(){},v=b.createElement(\"img\"),w=v.getAttribute,x=v.setAttribute,y=v.removeAttribute,z=b.documentElement,A={},B={algorithm:\"\"},C=\"data-pfsrc\",D=C+\"set\",E=navigator.userAgent,F=/rident/.test(E)||/ecko/.test(E)&&E.match(/rv\\:(\\d+)/)&&RegExp.$1>35,G=\"currentSrc\",H=/\\s+\\+?\\d+(e\\d+)?w/,I=/(\\([^)]+\\))?\\s*(.+)/,J=a.picturefillCFG,K=\"position:absolute;left:0;visibility:hidden;display:block;padding:0;border:none;font-size:1em;width:1em;overflow:hidden;clip:rect(0px, 0px, 0px, 0px)\",L=\"font-size:100%!important;\",M=!0,N={},O={},P=a.devicePixelRatio,Q={px:1,\"in\":96},R=b.createElement(\"a\"),S=!1,T=/^[ \\t\\n\\r\\u000c]+/,U=/^[, \\t\\n\\r\\u000c]+/,V=/^[^ \\t\\n\\r\\u000c]+/,W=/[,]+$/,X=/^\\d+$/,Y=/^-?(?:[0-9]+|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,Z=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d||!1):a.attachEvent&&a.attachEvent(\"on\"+b,c)},$=function(a){var b={};return function(c){return c in b||(b[c]=a(c)),b[c]}},_=function(){var a=/^([\\d\\.]+)(em|vw|px)$/,b=function(){for(var a=arguments,b=0,c=a[0];++b in a;)c=c.replace(a[b],a[++b]);return c},c=$(function(a){return\"return \"+b((a||\"\").toLowerCase(),/\\band\\b/g,\"&&\",/,/g,\"||\",/min-([a-z-\\s]+):/g,\"e.$1>=\",/max-([a-z-\\s]+):/g,\"e.$1<=\",/calc([^)]+)/g,\"($1)\",/(\\d+[\\.]*[\\d]*)([a-z]+)/g,\"($1 * e.$2)\",/^(?!(e.[a-z]|[0-9\\.&=|><\\+\\-\\*\\(\\)\\/])).*/gi,\"\")+\";\"});return function(b,d){var e;if(!(b in N))if(N[b]=!1,d&&(e=b.match(a)))N[b]=e[1]*Q[e[2]];else try{N[b]=new Function(\"e\",c(b))(Q)}catch(f){}return N[b]}}(),aa=function(a,b){return a.w?(a.cWidth=s.calcListLength(b||\"100vw\"),a.res=a.w/a.cWidth):a.res=a.d,a},ba=function(a){if(t){var c,d,e,f=a||{};if(f.elements&&1===f.elements.nodeType&&(\"IMG\"===f.elements.nodeName.toUpperCase()?f.elements=[f.elements]:(f.context=f.elements,f.elements=null)),c=f.elements||s.qsa(f.context||b,f.reevaluate||f.reselect?s.sel:s.selShort),e=c.length){for(s.setupRun(f),S=!0,d=0;e>d;d++)s.fillImg(c[d],f);s.teardownRun(f)}}};o=a.console&&console.warn?function(a){console.warn(a)}:u,G in v||(G=\"src\"),A[\"image/jpeg\"]=!0,A[\"image/gif\"]=!0,A[\"image/png\"]=!0,A[\"image/svg+xml\"]=b.implementation.hasFeature(\"http://www.w3.org/TR/SVG11/feature#Image\",\"1.1\"),s.ns=(\"pf\"+(new Date).getTime()).substr(0,9),s.supSrcset=\"srcset\"in v,s.supSizes=\"sizes\"in v,s.supPicture=!!a.HTMLPictureElement,s.supSrcset&&s.supPicture&&!s.supSizes&&!function(a){v.srcset=\"data:,a\",a.src=\"data:,a\",s.supSrcset=v.complete===a.complete,s.supPicture=s.supSrcset&&s.supPicture}(b.createElement(\"img\")),s.supSrcset&&!s.supSizes?!function(){var a=\"data:image/gif;base64,R0lGODlhAgABAPAAAP///wAAACH5BAAAAAAALAAAAAACAAEAAAICBAoAOw==\",c=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\",d=b.createElement(\"img\"),e=function(){var a=d.width;2===a&&(s.supSizes=!0),q=s.supSrcset&&!s.supSizes,t=!0,setTimeout(ba)};d.onload=e,d.onerror=e,d.setAttribute(\"sizes\",\"9px\"),d.srcset=c+\" 1w,\"+a+\" 9w\",d.src=c}():t=!0,s.selShort=\"picture>img,img[srcset]\",s.sel=s.selShort,s.cfg=B,s.DPR=P||1,s.u=Q,s.types=A,s.setSize=u,s.makeUrl=$(function(a){return R.href=a,R.href}),s.qsa=function(a,b){return\"querySelector\"in a?a.querySelectorAll(b):[]},s.matchesMedia=function(){return a.matchMedia&&(matchMedia(\"(min-width: 0.1em)\")||{}).matches?s.matchesMedia=function(a){return!a||matchMedia(a).matches}:s.matchesMedia=s.mMQ,s.matchesMedia.apply(this,arguments)},s.mMQ=function(a){return a?_(a):!0},s.calcLength=function(a){var b=_(a,!0)||!1;return 0>b&&(b=!1),b},s.supportsType=function(a){return a?A[a]:!0},s.parseSize=$(function(a){var b=(a||\"\").match(I);return{media:b&&b[1],length:b&&b[2]}}),s.parseSet=function(a){return a.cands||(a.cands=m(a.srcset,a)),a.cands},s.getEmValue=function(){var a;if(!p&&(a=b.body)){var c=b.createElement(\"div\"),d=z.style.cssText,e=a.style.cssText;c.style.cssText=K,z.style.cssText=L,a.style.cssText=L,a.appendChild(c),p=c.offsetWidth,a.removeChild(c),p=parseFloat(p,10),z.style.cssText=d,a.style.cssText=e}return p||16},s.calcListLength=function(a){if(!(a in O)||B.uT){var b=s.calcLength(n(a));O[a]=b?b:Q.width}return O[a]},s.setRes=function(a){var b;if(a){b=s.parseSet(a);for(var c=0,d=b.length;d>c;c++)aa(b[c],a.sizes)}return b},s.setRes.res=aa,s.applySetCandidate=function(a,b){if(a.length){var c,d,e,f,h,k,l,m,n,o=b[s.ns],p=s.DPR;if(k=o.curSrc||b[G],l=o.curCan||j(b,k,a[0].set),l&&l.set===a[0].set&&(n=F&&!b.complete&&l.res-.1>p,n||(l.cached=!0,l.res>=p&&(h=l))),!h)for(a.sort(i),f=a.length,h=a[f-1],d=0;f>d;d++)if(c=a[d],c.res>=p){e=d-1,h=a[e]&&(n||k!==s.makeUrl(c.url))&&g(a[e].res,c.res,p,a[e].cached)?a[e]:c;break}h&&(m=s.makeUrl(h.url),o.curSrc=m,o.curCan=h,m!==k&&s.setSrc(b,h),s.setSize(b))}},s.setSrc=function(a,b){var c;a.src=b.url,\"image/svg+xml\"===b.set.type&&(c=a.style.width,a.style.width=a.offsetWidth+1+\"px\",a.offsetWidth+1&&(a.style.width=c))},s.getSet=function(a){var b,c,d,e=!1,f=a[s.ns].sets;for(b=0;bf?c=setTimeout(e,b-f):(c=null,a())};return function(){d=new Date,c||(c=setTimeout(e,b))}},h=z.clientHeight,i=function(){M=Math.max(a.innerWidth||0,z.clientWidth)!==Q.width||z.clientHeight!==h,h=z.clientHeight,M&&s.fillImgs()};Z(a,\"resize\",g(i,99)),Z(b,\"readystatechange\",e)}(),s.picturefill=ba,s.fillImgs=ba,s.teardownRun=u,ba._=s,a.picturefillCFG={pf:s,push:function(a){var b=a.shift();\"function\"==typeof s[b]?s[b].apply(s,a):(B[b]=a[0],S&&s.fillImgs({reselect:!0}))}};for(;J&&J.length;)a.picturefillCFG.push(J.shift());a.picturefill=ba,\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=ba:\"function\"==typeof define&&define.amd&&define(\"picturefill\",function(){return ba}),s.supPicture||(A[\"image/webp\"]=e(\"image/webp\",\"data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA==\"))}(window,document);"]}