!function(n,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.getVPAIDAd=t():n.getVPAIDAd=t()}(self,(function(){return(()=>{"use strict";var __webpack_modules__={557:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (/* binding */ createVidoElement)\n/* harmony export */ });\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\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."); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction createVidoElement(tag, props) {\n var element = document.createElement(tag);\n Object.entries(props || {}).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n name = _ref2[0],\n value = _ref2[1];\n\n if (name.startsWith(\'on\') && name.toLowerCase() in window) {\n element.addEventListener(name.toLowerCase().substr(2), value);\n } else {\n element.setAttribute(name, value.toString());\n }\n });\n\n for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n children[_key - 2] = arguments[_key];\n }\n\n children.forEach(function (child) {\n appendChild(element, child);\n });\n return element;\n}\n\nvar appendChild = function appendChild(parent, child) {\n if (Array.isArray(child)) child.forEach(function (nestedChild) {\n return appendChild(parent, nestedChild);\n });else parent.appendChild(child.nodeType ? child : document.createTextNode(child));\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvZ2xvYmFsL2NyZWF0ZVZpZG9FbGVtZW50LmpzPzg2NTMiXSwibmFtZXMiOlsiY3JlYXRlVmlkb0VsZW1lbnQiLCJ0YWciLCJwcm9wcyIsImVsZW1lbnQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJPYmplY3QiLCJlbnRyaWVzIiwiZm9yRWFjaCIsIm5hbWUiLCJ2YWx1ZSIsInN0YXJ0c1dpdGgiLCJ0b0xvd2VyQ2FzZSIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJzdWJzdHIiLCJzZXRBdHRyaWJ1dGUiLCJ0b1N0cmluZyIsImNoaWxkcmVuIiwiY2hpbGQiLCJhcHBlbmRDaGlsZCIsInBhcmVudCIsIkFycmF5IiwiaXNBcnJheSIsIm5lc3RlZENoaWxkIiwibm9kZVR5cGUiLCJjcmVhdGVUZXh0Tm9kZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFlLFNBQVNBLGlCQUFULENBQTJCQyxHQUEzQixFQUFnQ0MsS0FBaEMsRUFBbUQ7QUFDakUsTUFBTUMsT0FBTyxHQUFHQyxRQUFRLENBQUNDLGFBQVQsQ0FBdUJKLEdBQXZCLENBQWhCO0FBRUFLLFFBQU0sQ0FBQ0MsT0FBUCxDQUFlTCxLQUFLLElBQUksRUFBeEIsRUFBNEJNLE9BQTVCLENBQW9DLGdCQUFtQjtBQUFBO0FBQUEsUUFBakJDLElBQWlCO0FBQUEsUUFBWEMsS0FBVzs7QUFDdEQsUUFBSUQsSUFBSSxDQUFDRSxVQUFMLENBQWdCLElBQWhCLEtBQXlCRixJQUFJLENBQUNHLFdBQUwsTUFBc0JDLE1BQW5ELEVBQTJEO0FBQzFEVixhQUFPLENBQUNXLGdCQUFSLENBQXlCTCxJQUFJLENBQUNHLFdBQUwsR0FBbUJHLE1BQW5CLENBQTBCLENBQTFCLENBQXpCLEVBQXVETCxLQUF2RDtBQUNFLEtBRkgsTUFHSztBQUNEUCxhQUFPLENBQUNhLFlBQVIsQ0FBcUJQLElBQXJCLEVBQTJCQyxLQUFLLENBQUNPLFFBQU4sRUFBM0I7QUFDRDtBQUNILEdBUEQ7O0FBSGlFLG9DQUFUQyxRQUFTO0FBQVRBLFlBQVM7QUFBQTs7QUFZakVBLFVBQVEsQ0FBQ1YsT0FBVCxDQUFpQixVQUFDVyxLQUFELEVBQVc7QUFDM0JDLGVBQVcsQ0FBQ2pCLE9BQUQsRUFBVWdCLEtBQVYsQ0FBWDtBQUNBLEdBRkQ7QUFJQSxTQUFPaEIsT0FBUDtBQUNBOztBQUdELElBQU1pQixXQUFXLEdBQUcsU0FBZEEsV0FBYyxDQUFDQyxNQUFELEVBQVNGLEtBQVQsRUFBbUI7QUFDdEMsTUFBSUcsS0FBSyxDQUFDQyxPQUFOLENBQWNKLEtBQWQsQ0FBSixFQUNDQSxLQUFLLENBQUNYLE9BQU4sQ0FBYyxVQUFDZ0IsV0FBRDtBQUFBLFdBQWlCSixXQUFXLENBQUNDLE1BQUQsRUFBU0csV0FBVCxDQUE1QjtBQUFBLEdBQWQsRUFERCxLQUdDSCxNQUFNLENBQUNELFdBQVAsQ0FDQ0QsS0FBSyxDQUFDTSxRQUFOLEdBQWlCTixLQUFqQixHQUF5QmYsUUFBUSxDQUFDc0IsY0FBVCxDQUF3QlAsS0FBeEIsQ0FEMUI7QUFHRCxDQVBEIiwiZmlsZSI6IjU1Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVZpZG9FbGVtZW50KHRhZywgcHJvcHMsIC4uLmNoaWxkcmVuKXtcblx0Y29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnKVxuXG5cdE9iamVjdC5lbnRyaWVzKHByb3BzIHx8IHt9KS5mb3JFYWNoKChbbmFtZSwgdmFsdWVdKSA9PiB7XG5cdFx0aWYgKG5hbWUuc3RhcnRzV2l0aCgnb24nKSAmJiBuYW1lLnRvTG93ZXJDYXNlKCkgaW4gd2luZG93KSB7XG5cdFx0XHRlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIobmFtZS50b0xvd2VyQ2FzZSgpLnN1YnN0cigyKSwgdmFsdWUpXG4gICAgfVxuXHRcdGVsc2Uge1xuICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUudG9TdHJpbmcoKSk7XG4gICAgfSBcblx0fSlcblxuXHRjaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuXHRcdGFwcGVuZENoaWxkKGVsZW1lbnQsIGNoaWxkKVxuXHR9KVxuXG5cdHJldHVybiBlbGVtZW50XG59XG5cblxuY29uc3QgYXBwZW5kQ2hpbGQgPSAocGFyZW50LCBjaGlsZCkgPT4ge1xuXHRpZiAoQXJyYXkuaXNBcnJheShjaGlsZCkpXG5cdFx0Y2hpbGQuZm9yRWFjaCgobmVzdGVkQ2hpbGQpID0+IGFwcGVuZENoaWxkKHBhcmVudCwgbmVzdGVkQ2hpbGQpKVxuXHRlbHNlXG5cdFx0cGFyZW50LmFwcGVuZENoaWxkKFxuXHRcdFx0Y2hpbGQubm9kZVR5cGUgPyBjaGlsZCA6IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNoaWxkKVxuXHRcdClcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///557\n')},62:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{eval("\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": () => (/* binding */ index_desktop)\n});\n\n// EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\nvar injectStylesIntoStyleTag = __webpack_require__(379);\nvar injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag);\n// EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/ad/desktop/desktop.scss\nvar desktop = __webpack_require__(646);\n;// CONCATENATED MODULE: ./src/ad/desktop/desktop.scss\n\n \n\nvar options = {};\n\noptions.insert = function insertAtTop(element) {\n\t\t\t\t\t\t\t\t\tvar realWindow = top;\n\n\t\t\t\t\t\t\t\t\tif (realWindow.document.body.tagName === 'FRAMESET') {\n\t\t\t\t\t\t\t\t\t\trealWindow = window;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tvar parent = realWindow.document.querySelector(\"head\");\n\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-underscore-dangle\n\t\t\t\t\t\t\t\t\tvar lastInsertedElement =\n\t\t\t\t\t\t\t\t\t\twindow._lastElementInsertedByStyleLoader;\n\n\t\t\t\t\t\t\t\t\tif (!lastInsertedElement) {\n\t\t\t\t\t\t\t\t\t\tparent.insertBefore(element, parent.firstChild);\n\t\t\t\t\t\t\t\t\t} else if (lastInsertedElement.nextSibling) {\n\t\t\t\t\t\t\t\t\t\tparent.insertBefore(element, lastInsertedElement.nextSibling);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tparent.appendChild(element);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-underscore-dangle\n\t\t\t\t\t\t\t\t\twindow._lastElementInsertedByStyleLoader = element;\n\t\t\t\t\t\t\t\t};\noptions.singleton = false;\n\nvar update = injectStylesIntoStyleTag_default()(desktop/* default */.Z, options);\n\n\n\n/* harmony default export */ const desktop_desktop = (desktop/* default.locals */.Z.locals || {});\n;// CONCATENATED MODULE: ./src/ad/desktop/desktop.js\n/* provided dependency */ var createVidoElement = __webpack_require__(557)[\"default\"];\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\nvar Ad = /*#__PURE__*/function () {\n function Ad(vpaid) {\n var _this = this;\n\n _classCallCheck(this, Ad);\n\n // console.log('vpaid: ', vpaid);\n this.vpaid = vpaid;\n this.videoSlot = vpaid.videoSlot_;\n this.slot = vpaid.slot_;\n this.params = vpaid.parameters_;\n this.container = createVidoElement(\"div\", {\n \"class\": \"ad-container\"\n }, createVidoElement(\"div\", {\n \"class\": \"home-page\"\n }, createVidoElement(\"img\", {\n \"class\": \"background\",\n src: \"\".concat(this.params.imgBaseRoute, \"bg-1-1280x720.jpg\"),\n onClick: function onClick() {\n return _this.handleHomePageClick();\n }\n })), createVidoElement(\"div\", {\n \"class\": \"cta-wrapper\",\n onClick: function onClick() {\n return _this.handleCTA();\n }\n }), createVidoElement(\"button\", {\n \"class\": \"close-ad-button\",\n onClick: function onClick() {\n return _this.closeVideo();\n }\n }));\n this.slot.appendChild(this.container);\n }\n\n _createClass(Ad, [{\n key: \"handleHomePageClick\",\n value: function handleHomePageClick() {\n var _this2 = this;\n\n // this.vpaid.clickAd_();\n var home = this.slot.querySelector('.home-page');\n home.style.display = 'none';\n this.videoSlot.style.position = 'absolute'; // this.videoSlot.style.transition = 'all 1s';\n\n this.videoSlot.style.top = '0';\n this.videoSlot.style.left = '0';\n this.videoSlot.style.zIndex = '1';\n var cta = this.slot.querySelector('.cta-wrapper');\n cta.style.display = 'block';\n setTimeout(function () {\n var container = _this2.slot.parentElement;\n\n if (container && container.firstChild && container.firstChild.nextSibling && container.firstChild.nextSibling.firstChild) {\n var nodes = container.firstChild.nextSibling.childNodes;\n\n if (nodes.length === 5) {\n var volume = nodes[2];\n volume.firstChild.nextSibling.click();\n var playButton = nodes[4];\n playButton.click(); // Set volume\n\n _this2.videoSlot.setAttribute('volume', '0.5');\n\n _this2.videoSlot.volume = 0.5;\n\n _this2.vpaid.setAdVolume(0.5);\n }\n }\n }, 50);\n }\n }, {\n key: \"handleCTA\",\n value: function handleCTA() {\n return window.open('https://www.vueling.com/nl/reserveer-je-vlucht/evenementen/?utm_medium=display&utm_source=direct&utm_campaign=display_direct_punct_nl_nl_pro_b_ams_xmas_interactive_vid_20s_vid&dclid=CICDkOeg_vsCFUO1UQodWdEKsw');\n }\n }, {\n key: \"closeVideo\",\n value: function closeVideo() {\n this.slot.querySelector('.home-page .background').style.display = 'block'; // Stop ad\n\n this.vpaid.stopAd(); // this.videoSlot.pause();\n\n this.videoSlot.style.display = 'none';\n }\n }, {\n key: \"hideMuteButton\",\n value: function (_hideMuteButton) {\n function hideMuteButton(_x) {\n return _hideMuteButton.apply(this, arguments);\n }\n\n hideMuteButton.toString = function () {\n return _hideMuteButton.toString();\n };\n\n return hideMuteButton;\n }(function (container) {\n if (container.nextSibling) {\n container.nextSibling.style.opacity = \"0\";\n container.nextSibling.style.display = \"none\";\n container.nextSibling.style.visibility = \"hidden\";\n } else {\n setTimeout(function () {\n hideMuteButton();\n }, 50);\n }\n })\n }]);\n\n return Ad;\n}();\n\n\n;// CONCATENATED MODULE: ./src/vpaid-desktop.js\n/* provided dependency */ var vpaid_desktop_createVidoElement = __webpack_require__(557)[\"default\"];\nfunction vpaid_desktop_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction vpaid_desktop_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction vpaid_desktop_createClass(Constructor, protoProps, staticProps) { if (protoProps) vpaid_desktop_defineProperties(Constructor.prototype, protoProps); if (staticProps) vpaid_desktop_defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\nvar VpaidVideoPlayer = /*#__PURE__*/function () {\n /**\n * @constructor\n */\n function VpaidVideoPlayer() {\n vpaid_desktop_classCallCheck(this, VpaidVideoPlayer);\n\n /**\n * The slot is the div element on the main page that the ad is supposed to\n * occupy.\n * @type {Object}\n * @private\n */\n this.slot_ = null;\n /**\n * The video slot is the video element used by the ad to render video content.\n * @type {Object}\n * @private\n */\n\n this.videoSlot_ = null;\n /**\n * An object containing all registered events. These events are all\n * callbacks for use by the VPAID ad.\n * @type {Object}\n * @private\n */\n\n this.eventsCallbacks_ = {};\n /**\n * A list of getable and setable attributes.\n * @type {Object}\n * @private\n */\n\n this.attributes_ = {\n 'companions': '',\n 'desiredBitrate': 256,\n 'duration': 10,\n 'expanded': false,\n 'height': 0,\n 'icons': '',\n 'linear': true,\n 'remainingTime': 10,\n 'skippableState': false,\n 'viewMode': 'normal',\n 'width': 0,\n 'volume': 0.5\n };\n /**\n * A set of ad playback events to be reported.\n * @type {Object}\n * @private\n */\n\n this.quartileEvents_ = [{\n event: 'AdImpression',\n value: 0\n }, {\n event: 'AdVideoStart',\n value: 0\n }, {\n event: 'AdVideoFirstQuartile',\n value: 25\n }, {\n event: 'AdVideoMidpoint',\n value: 50\n }, {\n event: 'AdVideoThirdQuartile',\n value: 75\n }, {\n event: 'AdVideoComplete',\n value: 100\n }];\n /**\n * @type {number} An index into what quartile was last reported.\n * @private\n */\n\n this.nextQuartileIndex_ = 0;\n /**\n * Parameters passed in from the AdParameters section of the VAST.\n * Used for video URL and MIME type.\n *\n * @type {!object}\n * @private\n */\n\n this.parameters_ = {};\n }\n /**\n * Returns the supported VPAID verion.\n * @param {string} version\n * @return {string}\n */\n\n\n vpaid_desktop_createClass(VpaidVideoPlayer, [{\n key: \"handshakeVersion\",\n value: function handshakeVersion(version) {\n return '2.0';\n }\n /**\n * Initializes all attributes in the ad. The ad will not start until startAd is\\\n * called.\n *\n * @param {number} width The ad width.\n * @param {number} height The ad height.\n * @param {string} viewMode The ad view mode.\n * @param {number} desiredBitrate The desired bitrate.\n * @param {Object} creativeData Data associated with the creative.\n * @param {Object} environmentVars Runtime variables associated with the\n * creative like the slot and video slot.\n */\n\n }, {\n key: \"initAd\",\n value: function initAd(width, height, viewMode, desiredBitrate, creativeData, environmentVars) {\n this.attributes_['width'] = width;\n this.attributes_['height'] = height;\n this.attributes_['viewMode'] = viewMode;\n this.attributes_['desiredBitrate'] = desiredBitrate; // slot and videoSlot are passed as part of the environmentVars\n\n this.slot_ = environmentVars.slot;\n this.videoSlot_ = environmentVars.videoSlot; // Parse the incoming ad parameters.\n\n this.parameters_ = JSON.parse(creativeData['AdParameters']);\n this.slot_.style.width = \"\".concat(this.attributes_['width'], \"px\");\n this.slot_.style.height = \"\".concat(this.attributes_['height'], \"px\");\n this.log(\"initAd: \".concat(width, \"x\").concat(height, \", viewMode: \").concat(viewMode, \", desiredBitrate: \").concat(desiredBitrate));\n this.updateVideoSlot_();\n this.videoSlot_.addEventListener('timeupdate', this.timeUpdateHandler_.bind(this), false);\n this.videoSlot_.addEventListener('loadedmetadata', this.loadedMetadata_.bind(this), false);\n this.videoSlot_.addEventListener('ended', this.stopAd.bind(this), false);\n this.slot_.addEventListener('click', this.clickAd_.bind(this), false);\n this.callEvent_('AdLoaded');\n }\n /**\n * Called when the ad is clicked.\n * @private\n */\n\n }, {\n key: \"clickAd_\",\n value: function clickAd_() {\n if ('AdClickThru' in this.eventsCallbacks_) {\n this.eventsCallbacks_['AdClickThru']('', '0', true);\n } // this.callEvent_('AdClickThru');\n\n }\n /**\n * Called by the video element when video metadata is loaded.\n * @private\n */\n\n }, {\n key: \"loadedMetadata_\",\n value: function loadedMetadata_() {\n // The ad duration is not known until the media metadata is loaded.\n // Then, update the player with the duration change.\n this.attributes_['duration'] = this.videoSlot_.duration;\n this.callEvent_('AdDurationChange');\n }\n }, {\n key: \"timeUpdateHandler_\",\n value:\n /**\n * Called by the video element when the video reaches specific points during\n * playback.\n * @private\n */\n function timeUpdateHandler_() {\n if (this.nextQuartileIndex_ >= this.quartileEvents_.length) {\n return;\n }\n\n var percentPlayed = this.videoSlot_.currentTime * 100.0 / this.videoSlot_.duration;\n\n if (percentPlayed >= this.quartileEvents_[this.nextQuartileIndex_].value) {\n var lastQuartileEvent = this.quartileEvents_[this.nextQuartileIndex_].event;\n\n if (this.eventsCallbacks_[lastQuartileEvent]) {\n this.eventsCallbacks_[lastQuartileEvent]();\n }\n\n this.nextQuartileIndex_ += 1;\n }\n\n if (this.videoSlot_.duration > 0) {\n this.attributes_['remainingTime'] = this.videoSlot_.duration - this.videoSlot_.currentTime;\n }\n }\n }, {\n key: \"updateVideoSlot_\",\n value:\n /**\n * Creates or updates the video slot and fills it with a supported video.\n * @private\n */\n function updateVideoSlot_() {\n if (this.videoSlot_ == null) {\n this.videoSlot_ = vpaid_desktop_createVidoElement(\"video\", null);\n this.log('Warning: No video element passed to ad, creating element.');\n this.slot_.appendChild(this.videoSlot_);\n }\n\n this.videoSlot_.setAttribute('src', this.parameters_['video']); // this.videoSlot_.setAttribute('autoplay', 'true');\n // this.videoSlot_.setAttribute('muted', 'true');\n\n this.slot_.parentElement.style.overflow = 'hidden';\n this.slot_.style.margin = '0 auto';\n this.slot_.style.position = 'absolute';\n this.slot_.style.top = '0px';\n this.slot_.style.left = '0px';\n this.videoSlot_.style.position = 'absolute'; // this.videoSlot_.style.transition = 'all 1s';\n\n this.videoSlot_.style.top = '0';\n this.videoSlot_.style.left = '0';\n this.videoSlot_.style.zIndex = '0'; // function makeSmallVideo() {\n // this.videoSlot_.style.width = '442px';\n // this.videoSlot_.style.height = '250px';\n // this.videoSlot_.style.top = '55px';\n // this.videoSlot_.style.left = '190px';\n // this.videoSlot_.style.zIndex = '0';\n // }\n // this.videoSlot_.onmouseover = makeSmallVideo.bind(this);\n\n this.videoSlot_.ontimeupdate = function (e) {\n if (this.videoSlot_.currentTime + 1 >= this.videoSlot_.duration) {\n this.videoSlot_.currentTime = 0;\n } // if (this.videoSlot_.currentTime >= 2) {\n // makeSmallVideo.bind(this)();\n // }\n\n }.bind(this);\n\n this.updateVideoPlayerSize_();\n var ad = new Ad(this); // this.videoSlot_.muted = true;\n // this.videoSlot_.play();\n }\n }, {\n key: \"updateVideoPlayerSize_\",\n value:\n /**\n * Helper function to update the size of the video player.\n * @private\n */\n function updateVideoPlayerSize_() {\n this.videoSlot_.setAttribute('width', this.attributes_['width']);\n this.videoSlot_.setAttribute('height', this.attributes_['height']);\n }\n }, {\n key: \"startAd\",\n value:\n /**\n * Called by the wrapper to start the ad.\n */\n function startAd() {\n this.log('Starting ad');\n this.videoSlot_.play();\n this.callEvent_('AdStarted');\n }\n }, {\n key: \"stopAd\",\n value:\n /**\n * Called by the wrapper to stop the ad.\n */\n function stopAd() {\n this.log('Stopping ad'); // Calling AdStopped immediately terminates the ad. Setting a timeout allows\n // events to go through.\n\n var callback = this.callEvent_.bind(this);\n setTimeout(callback, 75, ['AdStopped']);\n }\n }, {\n key: \"resizeAd\",\n value:\n /**\n * Called when the video player changes the width/height of the container.\n *\n * @param {number} width The new width.\n * @param {number} height A new height.\n * @param {string} viewMode A new view mode.\n */\n function resizeAd(width, height, viewMode) {\n this.log('resizeAd ' + width + 'x' + height + ' ' + viewMode);\n this.attributes_['width'] = width;\n this.attributes_['height'] = height;\n this.attributes_['viewMode'] = viewMode;\n this.updateVideoPlayerSize_();\n this.callEvent_('AdSizeChange');\n }\n }, {\n key: \"pauseAd\",\n value:\n /**\n * Pauses the ad.\n */\n function pauseAd() {\n this.log('pauseAd');\n this.videoSlot_.pause();\n this.callEvent_('AdPaused');\n }\n }, {\n key: \"resumeAd\",\n value:\n /**\n * Resumes the ad.\n */\n function resumeAd() {\n this.log('resumeAd');\n this.videoSlot_.play();\n this.callEvent_('AdPlaying');\n }\n }, {\n key: \"expandAd\",\n value:\n /**\n * Expands the ad.\n */\n function expandAd() {\n this.log('expandAd');\n this.attributes_['expanded'] = true;\n this.callEvent_('AdExpanded');\n }\n }, {\n key: \"collapseAd\",\n value:\n /**\n * Collapses the ad.\n */\n function collapseAd() {\n this.log('collapseAd');\n this.attributes_['expanded'] = false;\n }\n }, {\n key: \"skipAd\",\n value:\n /**\n * Skips the ad.\n */\n function skipAd() {\n this.log('skipAd');\n var skippableState = this.attributes_['skippableState'];\n\n if (skippableState) {\n this.callEvent_('AdSkipped');\n }\n }\n }, {\n key: \"subscribe\",\n value:\n /**\n * Registers a callback for an event.\n *\n * @param {Function} aCallback The callback function.\n * @param {string} eventName The callback type.\n * @param {Object} aContext The context for the callback.\n */\n function subscribe(aCallback, eventName, aContext) {\n this.log('Subscribe ' + eventName);\n var callBack = aCallback.bind(aContext);\n this.eventsCallbacks_[eventName] = callBack;\n }\n }, {\n key: \"unsubscribe\",\n value:\n /**\n * Removes a callback based on the eventName.\n *\n * @param {string} eventName The callback type.\n */\n function unsubscribe(eventName) {\n this.log('unsubscribe ' + eventName);\n this.eventsCallbacks_[eventName] = null;\n }\n }, {\n key: \"getAdLinear\",\n value:\n /**\n * Returns whether the ad is linear.\n *\n * @return {boolean} True if the ad is a linear, false for non linear.\n */\n function getAdLinear() {\n return this.attributes_['linear'];\n }\n }, {\n key: \"getAdWidth\",\n value:\n /**\n * Returns ad width.\n *\n * @return {number} The ad width.\n */\n function getAdWidth() {\n return this.attributes_['width'];\n }\n }, {\n key: \"getAdHeight\",\n value:\n /**\n * Returns ad height.\n *\n * @return {number} The ad height.\n */\n function getAdHeight() {\n return this.attributes_['height'];\n }\n }, {\n key: \"getAdExpanded\",\n value:\n /**\n * Returns true if the ad is expanded.\n *\n * @return {boolean}\n */\n function getAdExpanded() {\n this.log('getAdExpanded');\n return this.attributes_['expanded'];\n }\n }, {\n key: \"getAdSkippableState\",\n value:\n /**\n * Returns the skippable state of the ad.\n *\n * @return {boolean}\n */\n function getAdSkippableState() {\n this.log('getAdSkippableState');\n return this.attributes_['skippableState'];\n }\n }, {\n key: \"getAdRemainingTime\",\n value:\n /**\n * Returns the remaining ad time, in seconds.\n *\n * @return {number} The time remaining in the ad.\n */\n function getAdRemainingTime() {\n return this.attributes_['remainingTime'];\n }\n }, {\n key: \"getAdDuration\",\n value:\n /**\n * Returns the duration of the ad, in seconds.\n *\n * @return {number} The duration of the ad.\n */\n function getAdDuration() {\n return this.attributes_['duration'];\n }\n }, {\n key: \"getAdVolume\",\n value:\n /**\n * Returns the ad volume.\n *\n * @return {number} The volume of the ad.\n */\n function getAdVolume() {\n this.log('getAdVolume');\n return this.attributes_['volume'];\n }\n }, {\n key: \"setAdVolume\",\n value:\n /**\n * Sets the ad volume.\n *\n * @param {number} value The volume in percentage.\n */\n function setAdVolume(value) {\n this.attributes_['volume'] = value;\n this.log('setAdVolume ' + value);\n this.callEvent_('AdVolumeChange');\n }\n }, {\n key: \"getAdCompanions\",\n value:\n /**\n * Returns a list of companion ads for the ad.\n *\n * @return {string} List of companions in VAST XML.\n */\n function getAdCompanions() {\n return this.attributes_['companions'];\n }\n }, {\n key: \"getAdIcons\",\n value:\n /**\n * Returns a list of icons.\n *\n * @return {string} A list of icons.\n */\n function getAdIcons() {\n return this.attributes_['icons'];\n }\n }, {\n key: \"log\",\n value:\n /**\n * Logs events and messages.\n *\n * @param {string} message\n */\n function log() {\n var _console;\n\n if (false) {} // console.log(...arguments);\n }\n }, {\n key: \"callEvent_\",\n value:\n /**\n * Calls an event if there is a callback.\n *\n * @param {string} eventType\n * @private\n */\n function callEvent_(eventType) {\n if (eventType in this.eventsCallbacks_) {\n this.eventsCallbacks_[eventType]();\n }\n }\n }]);\n\n return VpaidVideoPlayer;\n}();\n\n\n;// CONCATENATED MODULE: ./src/index-desktop.js\n\n/* harmony default export */ function index_desktop() {\n return new VpaidVideoPlayer();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvYWQvZGVza3RvcC9kZXNrdG9wLnNjc3M/ZTc3MSIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvYWQvZGVza3RvcC9kZXNrdG9wLmpzPzNlNjIiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL3ZwYWlkLWRlc2t0b3AuanM/ZjgxYiIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvaW5kZXgtZGVza3RvcC5qcz85MzJjIl0sIm5hbWVzIjpbIkFkIiwidnBhaWQiLCJ2aWRlb1Nsb3QiLCJ2aWRlb1Nsb3RfIiwic2xvdCIsInNsb3RfIiwicGFyYW1zIiwicGFyYW1ldGVyc18iLCJjb250YWluZXIiLCJpbWdCYXNlUm91dGUiLCJoYW5kbGVIb21lUGFnZUNsaWNrIiwiaGFuZGxlQ1RBIiwiY2xvc2VWaWRlbyIsImFwcGVuZENoaWxkIiwiaG9tZSIsInF1ZXJ5U2VsZWN0b3IiLCJzdHlsZSIsImRpc3BsYXkiLCJwb3NpdGlvbiIsInRvcCIsImxlZnQiLCJ6SW5kZXgiLCJjdGEiLCJzZXRUaW1lb3V0IiwicGFyZW50RWxlbWVudCIsImZpcnN0Q2hpbGQiLCJuZXh0U2libGluZyIsIm5vZGVzIiwiY2hpbGROb2RlcyIsImxlbmd0aCIsInZvbHVtZSIsImNsaWNrIiwicGxheUJ1dHRvbiIsInNldEF0dHJpYnV0ZSIsInNldEFkVm9sdW1lIiwid2luZG93Iiwib3BlbiIsInN0b3BBZCIsIm9wYWNpdHkiLCJ2aXNpYmlsaXR5IiwiaGlkZU11dGVCdXR0b24iLCJWcGFpZFZpZGVvUGxheWVyIiwiZXZlbnRzQ2FsbGJhY2tzXyIsImF0dHJpYnV0ZXNfIiwicXVhcnRpbGVFdmVudHNfIiwiZXZlbnQiLCJ2YWx1ZSIsIm5leHRRdWFydGlsZUluZGV4XyIsInZlcnNpb24iLCJ3aWR0aCIsImhlaWdodCIsInZpZXdNb2RlIiwiZGVzaXJlZEJpdHJhdGUiLCJjcmVhdGl2ZURhdGEiLCJlbnZpcm9ubWVudFZhcnMiLCJKU09OIiwicGFyc2UiLCJsb2ciLCJ1cGRhdGVWaWRlb1Nsb3RfIiwiYWRkRXZlbnRMaXN0ZW5lciIsInRpbWVVcGRhdGVIYW5kbGVyXyIsImJpbmQiLCJsb2FkZWRNZXRhZGF0YV8iLCJjbGlja0FkXyIsImNhbGxFdmVudF8iLCJkdXJhdGlvbiIsInBlcmNlbnRQbGF5ZWQiLCJjdXJyZW50VGltZSIsImxhc3RRdWFydGlsZUV2ZW50Iiwib3ZlcmZsb3ciLCJtYXJnaW4iLCJvbnRpbWV1cGRhdGUiLCJlIiwidXBkYXRlVmlkZW9QbGF5ZXJTaXplXyIsImFkIiwicGxheSIsImNhbGxiYWNrIiwicGF1c2UiLCJza2lwcGFibGVTdGF0ZSIsImFDYWxsYmFjayIsImV2ZW50TmFtZSIsImFDb250ZXh0IiwiY2FsbEJhY2siLCJwcm9jZXNzIiwiZXZlbnRUeXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBK0Y7QUFDL0YsWUFBK0w7O0FBRS9MOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGFBQWEsa0NBQUcsQ0FBQyxzQkFBTzs7OztBQUl4QixzREFBZSxvQ0FBYyxNQUFNLEU7Ozs7Ozs7OztBQ2pDbkM7O0lBRXFCQSxFO0FBQ25CLGNBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFDbkI7QUFDQSxTQUFLQSxLQUFMLEdBQWFBLEtBQWI7QUFDQSxTQUFLQyxTQUFMLEdBQWlCRCxLQUFLLENBQUNFLFVBQXZCO0FBQ0EsU0FBS0MsSUFBTCxHQUFZSCxLQUFLLENBQUNJLEtBQWxCO0FBQ0EsU0FBS0MsTUFBTCxHQUFjTCxLQUFLLENBQUNNLFdBQXBCO0FBRUUsU0FBS0MsU0FBTCxHQUNEO0FBQUssZUFBTTtBQUFYLE9BQ0M7QUFBSyxlQUFNO0FBQVgsT0FDQztBQUFLLGVBQU0sWUFBWDtBQUF3QixTQUFHLFlBQUssS0FBS0YsTUFBTCxDQUFZRyxZQUFqQixz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QUFUO0FBQ0EsYUFBTyxLQUFLZCxXQUFMLENBQWlCLFFBQWpCLENBQVA7QUFDRDs7OztBQUdEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDRSx5QkFBWUcsS0FBWixFQUFtQjtBQUNqQixXQUFLSCxXQUFMLENBQWlCLFFBQWpCLElBQTZCRyxLQUE3QjtBQUNBLFdBQUtXLEdBQUwsQ0FBUyxpQkFBaUJYLEtBQTFCO0FBQ0EsV0FBS2tCLFVBQUwsQ0FBZ0IsZ0JBQWhCO0FBQ0Q7Ozs7QUFHRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0UsK0JBQWtCO0FBQ2hCLGFBQU8sS0FBS3JCLFdBQUwsQ0FBaUIsWUFBakIsQ0FBUDtBQUNEOzs7O0FBR0Q7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNFLDBCQUFhO0FBQ1gsYUFBTyxLQUFLQSxXQUFMLENBQWlCLE9BQWpCLENBQVA7QUFDRDs7OztBQUdEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDRSxtQkFBTTtBQUFBOztBQUNOLFVBQUl3QyxLQUFKLEVBQTRDLEVBRHRDLENBRUo7QUFDRDs7OztBQUdEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNFLHdCQUFXQyxTQUFYLEVBQXNCO0FBQ3BCLFVBQUlBLFNBQVMsSUFBSSxLQUFLMUMsZ0JBQXRCLEVBQXdDO0FBQ3RDLGFBQUtBLGdCQUFMLENBQXNCMEMsU0FBdEI7QUFDRDtBQUNGOzs7Ozs7OztBQ3BmSDtBQUVBLDZCQUFlLHlCQUFXO0FBQ3hCLFNBQU8sSUFBSTNDLGdCQUFKLEVBQVA7QUFDRCIsImZpbGUiOiI2Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanMhLi9kZXNrdG9wLnNjc3NcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBmdW5jdGlvbiBpbnNlcnRBdFRvcChlbGVtZW50KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHR2YXIgcmVhbFdpbmRvdyA9IHRvcDtcblxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKHJlYWxXaW5kb3cuZG9jdW1lbnQuYm9keS50YWdOYW1lID09PSAnRlJBTUVTRVQnKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJlYWxXaW5kb3cgPSB3aW5kb3c7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR2YXIgcGFyZW50ID0gcmVhbFdpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiaGVhZFwiKTtcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIGxhc3RJbnNlcnRlZEVsZW1lbnQgPVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR3aW5kb3cuX2xhc3RFbGVtZW50SW5zZXJ0ZWRCeVN0eWxlTG9hZGVyO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRpZiAoIWxhc3RJbnNlcnRlZEVsZW1lbnQpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFyZW50Lmluc2VydEJlZm9yZShlbGVtZW50LCBwYXJlbnQuZmlyc3RDaGlsZCk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKGxhc3RJbnNlcnRlZEVsZW1lbnQubmV4dFNpYmxpbmcpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFyZW50Lmluc2VydEJlZm9yZShlbGVtZW50LCBsYXN0SW5zZXJ0ZWRFbGVtZW50Lm5leHRTaWJsaW5nKTtcblx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhcmVudC5hcHBlbmRDaGlsZChlbGVtZW50KTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG5cdFx0XHRcdFx0XHRcdFx0XHR3aW5kb3cuX2xhc3RFbGVtZW50SW5zZXJ0ZWRCeVN0eWxlTG9hZGVyID0gZWxlbWVudDtcblx0XHRcdFx0XHRcdFx0XHR9O1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCAnLi9kZXNrdG9wLnNjc3MnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBZCB7XG4gIGNvbnN0cnVjdG9yKHZwYWlkKSB7XG5cdFx0Ly8gY29uc29sZS5sb2coJ3ZwYWlkOiAnLCB2cGFpZCk7XG5cdFx0dGhpcy52cGFpZCA9IHZwYWlkO1xuXHRcdHRoaXMudmlkZW9TbG90ID0gdnBhaWQudmlkZW9TbG90Xztcblx0XHR0aGlzLnNsb3QgPSB2cGFpZC5zbG90Xztcblx0XHR0aGlzLnBhcmFtcyA9IHZwYWlkLnBhcmFtZXRlcnNfO1xuXG4gICAgdGhpcy5jb250YWluZXIgPSAoXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiYWQtY29udGFpbmVyXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJob21lLXBhZ2VcIj5cblx0XHRcdFx0XHQ8aW1nIGNsYXNzPVwiYmFja2dyb3VuZFwiIHNyYz17YCR7dGhpcy5wYXJhbXMuaW1nQmFzZVJvdXRlfWJnLTEtMTI4MHg3MjAuanBnYH0gb25DbGljaz17KCkgPT4gdGhpcy5oYW5kbGVIb21lUGFnZUNsaWNrKCl9IC8+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY3RhLXdyYXBwZXJcIiBvbkNsaWNrPXsoKSA9PiB0aGlzLmhhbmRsZUNUQSgpfT48L2Rpdj5cblx0XHRcdFx0PGJ1dHRvbiBjbGFzcz1cImNsb3NlLWFkLWJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IHRoaXMuY2xvc2VWaWRlbygpfT48L2J1dHRvbj5cblx0XHRcdDwvZGl2PlxuXHRcdCk7XG4gICAgdGhpcy5zbG90LmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyKTtcbiAgfVxuXG5cdGhhbmRsZUhvbWVQYWdlQ2xpY2soKSB7XG5cdFx0Ly8gdGhpcy52cGFpZC5jbGlja0FkXygpO1xuXG5cdFx0Y29uc3QgaG9tZSA9IFx0dGhpcy5zbG90LnF1ZXJ5U2VsZWN0b3IoJy5ob21lLXBhZ2UnKTtcblx0XHRob21lLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cblx0XHR0aGlzLnZpZGVvU2xvdC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgLy8gdGhpcy52aWRlb1Nsb3Quc3R5bGUudHJhbnNpdGlvbiA9ICdhbGwgMXMnO1xuICAgIHRoaXMudmlkZW9TbG90LnN0eWxlLnRvcCA9ICcwJztcbiAgICB0aGlzLnZpZGVvU2xvdC5zdHlsZS5sZWZ0ID0gJzAnO1xuICAgIHRoaXMudmlkZW9TbG90LnN0eWxlLnpJbmRleCA9ICcxJztcblxuXHRcdGNvbnN0IGN0YSA9IHRoaXMuc2xvdC5xdWVyeVNlbGVjdG9yKCcuY3RhLXdyYXBwZXInKTtcblx0XHRjdGEuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG5cblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuc2xvdC5wYXJlbnRFbGVtZW50O1xuXHRcdFx0aWYgKGNvbnRhaW5lciAmJiBjb250YWluZXIuZmlyc3RDaGlsZCAmJiBjb250YWluZXIuZmlyc3RDaGlsZC5uZXh0U2libGluZyAmJiBjb250YWluZXIuZmlyc3RDaGlsZC5uZXh0U2libGluZy5maXJzdENoaWxkKSB7XG5cdFx0XHRcdGNvbnN0IG5vZGVzID0gY29udGFpbmVyLmZpcnN0Q2hpbGQubmV4dFNpYmxpbmcuY2hpbGROb2Rlcztcblx0XHRcdFx0aWYgKG5vZGVzLmxlbmd0aCA9PT0gNSkge1xuXHRcdFx0XHRcdGNvbnN0IHZvbHVtZSA9IG5vZGVzWzJdO1xuXHRcdFx0XHRcdHZvbHVtZS5maXJzdENoaWxkLm5leHRTaWJsaW5nLmNsaWNrKCk7XG5cdFx0XHRcdFx0Y29uc3QgcGxheUJ1dHRvbiA9IG5vZGVzWzRdO1xuXHRcdFx0XHRcdHBsYXlCdXR0b24uY2xpY2soKTtcblx0XHRcdFx0XHQvLyBTZXQgdm9sdW1lXG5cdFx0XHRcdFx0dGhpcy52aWRlb1Nsb3Quc2V0QXR0cmlidXRlKCd2b2x1bWUnLCAnMC41Jyk7XG5cdFx0XHRcdFx0dGhpcy52aWRlb1Nsb3Qudm9sdW1lID0gMC41O1xuXHRcdFx0XHRcdHRoaXMudnBhaWQuc2V0QWRWb2x1bWUoMC41KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0sIDUwKTtcblx0fVxuXG5cdGhhbmRsZUNUQSgpIHtcblx0XHRyZXR1cm4gd2luZG93Lm9wZW4oJ2h0dHBzOi8vYWQuZG91YmxlY2xpY2submV0L2RkbS90cmFja2Nsay9OMTQ5NzY0My4zNTkyNzU5VklET09NWS9CMjY1ODIxOTguMzE4MzA5MTk3O2RjX3Rya19haWQ9NTExMDA0MjA4O2RjX3Rya19jaWQ9MTYwMDI1MTMzO2RjX2xhdD07ZGNfcmRpZD07dGFnX2Zvcl9jaGlsZF9kaXJlY3RlZF90cmVhdG1lbnQ9O3RmdWE9O2x0ZD0nKTtcblx0fVxuXG5cdGNsb3NlVmlkZW8oKSB7XG5cdFx0dGhpcy5zbG90LnF1ZXJ5U2VsZWN0b3IoJy5ob21lLXBhZ2UgLmJhY2tncm91bmQnKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblx0XHQvLyBTdG9wIGFkXG5cdFx0dGhpcy52cGFpZC5zdG9wQWQoKTtcblx0XHQvLyB0aGlzLnZpZGVvU2xvdC5wYXVzZSgpO1xuXHRcdHRoaXMudmlkZW9TbG90LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cdH1cblxuXG5cdGhpZGVNdXRlQnV0dG9uKGNvbnRhaW5lcikge1xuXHRcdGlmIChjb250YWluZXIubmV4dFNpYmxpbmcpIHtcblx0XHRcdGNvbnRhaW5lci5uZXh0U2libGluZy5zdHlsZS5vcGFjaXR5ID0gXCIwXCI7XG5cdFx0XHRjb250YWluZXIubmV4dFNpYmxpbmcuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuXHRcdFx0Y29udGFpbmVyLm5leHRTaWJsaW5nLnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdFx0aGlkZU11dGVCdXR0b24oKTtcblx0XHRcdH0sIDUwKTtcblx0XHR9XG5cdH1cbn0iLCJpbXBvcnQgQWQgZnJvbSAnLi9hZC9kZXNrdG9wL2Rlc2t0b3AuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWcGFpZFZpZGVvUGxheWVyIHtcbiAgLyoqXG4gICAqIEBjb25zdHJ1Y3RvclxuICAgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLyoqXG4gICAgICogVGhlIHNsb3QgaXMgdGhlIGRpdiBlbGVtZW50IG9uIHRoZSBtYWluIHBhZ2UgdGhhdCB0aGUgYWQgaXMgc3VwcG9zZWQgdG9cbiAgICAgKiBvY2N1cHkuXG4gICAgICogQHR5cGUge09iamVjdH1cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMuc2xvdF8gPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHZpZGVvIHNsb3QgaXMgdGhlIHZpZGVvIGVsZW1lbnQgdXNlZCBieSB0aGUgYWQgdG8gcmVuZGVyIHZpZGVvIGNvbnRlbnQuXG4gICAgICogQHR5cGUge09iamVjdH1cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMudmlkZW9TbG90XyA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBBbiBvYmplY3QgY29udGFpbmluZyBhbGwgcmVnaXN0ZXJlZCBldmVudHMuIFRoZXNlIGV2ZW50cyBhcmUgYWxsXG4gICAgICogY2FsbGJhY2tzIGZvciB1c2UgYnkgdGhlIFZQQUlEIGFkLlxuICAgICAqIEB0eXBlIHtPYmplY3R9XG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmV2ZW50c0NhbGxiYWNrc18gPSB7fTtcblxuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiBnZXRhYmxlIGFuZCBzZXRhYmxlIGF0dHJpYnV0ZXMuXG4gICAgICogQHR5cGUge09iamVjdH1cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMuYXR0cmlidXRlc18gPSB7XG4gICAgICAnY29tcGFuaW9ucycgOiAnJyxcbiAgICAgICdkZXNpcmVkQml0cmF0ZScgOiAyNTYsXG4gICAgICAnZHVyYXRpb24nIDogMTAsXG4gICAgICAnZXhwYW5kZWQnIDogZmFsc2UsXG4gICAgICAnaGVpZ2h0JyA6IDAsXG4gICAgICAnaWNvbnMnIDogJycsXG4gICAgICAnbGluZWFyJyA6IHRydWUsXG4gICAgICAncmVtYWluaW5nVGltZScgOiAxMCxcbiAgICAgICdza2lwcGFibGVTdGF0ZScgOiBmYWxzZSxcbiAgICAgICd2aWV3TW9kZScgOiAnbm9ybWFsJyxcbiAgICAgICd3aWR0aCcgOiAwLFxuICAgICAgJ3ZvbHVtZScgOiAwLjVcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQSBzZXQgb2YgYWQgcGxheWJhY2sgZXZlbnRzIHRvIGJlIHJlcG9ydGVkLlxuICAgICAqIEB0eXBlIHtPYmplY3R9XG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLnF1YXJ0aWxlRXZlbnRzXyA9IFtcbiAgICAgIHtldmVudDogJ0FkSW1wcmVzc2lvbicsIHZhbHVlOiAwfSxcbiAgICAgIHtldmVudDogJ0FkVmlkZW9TdGFydCcsIHZhbHVlOiAwfSxcbiAgICAgIHtldmVudDogJ0FkVmlkZW9GaXJzdFF1YXJ0aWxlJywgdmFsdWU6IDI1fSxcbiAgICAgIHtldmVudDogJ0FkVmlkZW9NaWRwb2ludCcsIHZhbHVlOiA1MH0sXG4gICAgICB7ZXZlbnQ6ICdBZFZpZGVvVGhpcmRRdWFydGlsZScsIHZhbHVlOiA3NX0sXG4gICAgICB7ZXZlbnQ6ICdBZFZpZGVvQ29tcGxldGUnLCB2YWx1ZTogMTAwfVxuICAgIF07XG5cbiAgICAvKipcbiAgICAgKiBAdHlwZSB7bnVtYmVyfSBBbiBpbmRleCBpbnRvIHdoYXQgcXVhcnRpbGUgd2FzIGxhc3QgcmVwb3J0ZWQuXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLm5leHRRdWFydGlsZUluZGV4XyA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBQYXJhbWV0ZXJzIHBhc3NlZCBpbiBmcm9tIHRoZSBBZFBhcmFtZXRlcnMgc2VjdGlvbiBvZiB0aGUgVkFTVC5cbiAgICAgKiBVc2VkIGZvciB2aWRlbyBVUkwgYW5kIE1JTUUgdHlwZS5cbiAgICAgKlxuICAgICAqIEB0eXBlIHshb2JqZWN0fVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5wYXJhbWV0ZXJzXyA9IHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHN1cHBvcnRlZCBWUEFJRCB2ZXJpb24uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2ZXJzaW9uXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIGhhbmRzaGFrZVZlcnNpb24odmVyc2lvbikge1xuICAgIHJldHVybiAnMi4wJztcbiAgfVxuXG4gIC8qKlxuICAqIEluaXRpYWxpemVzIGFsbCBhdHRyaWJ1dGVzIGluIHRoZSBhZC4gVGhlIGFkIHdpbGwgbm90IHN0YXJ0IHVudGlsIHN0YXJ0QWQgaXNcXFxuICAqIGNhbGxlZC5cbiAgKlxuICAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aCBUaGUgYWQgd2lkdGguXG4gICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodCBUaGUgYWQgaGVpZ2h0LlxuICAqIEBwYXJhbSB7c3RyaW5nfSB2aWV3TW9kZSBUaGUgYWQgdmlldyBtb2RlLlxuICAqIEBwYXJhbSB7bnVtYmVyfSBkZXNpcmVkQml0cmF0ZSBUaGUgZGVzaXJlZCBiaXRyYXRlLlxuICAqIEBwYXJhbSB7T2JqZWN0fSBjcmVhdGl2ZURhdGEgRGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIGNyZWF0aXZlLlxuICAqIEBwYXJhbSB7T2JqZWN0fSBlbnZpcm9ubWVudFZhcnMgUnVudGltZSB2YXJpYWJsZXMgYXNzb2NpYXRlZCB3aXRoIHRoZVxuICAqICAgICBjcmVhdGl2ZSBsaWtlIHRoZSBzbG90IGFuZCB2aWRlbyBzbG90LlxuICAqL1xuICBpbml0QWQod2lkdGgsIGhlaWdodCwgdmlld01vZGUsIGRlc2lyZWRCaXRyYXRlLCBjcmVhdGl2ZURhdGEsIGVudmlyb25tZW50VmFycykge1xuICAgIHRoaXMuYXR0cmlidXRlc19bJ3dpZHRoJ10gPSB3aWR0aDtcbiAgICB0aGlzLmF0dHJpYnV0ZXNfWydoZWlnaHQnXSA9IGhlaWdodDtcbiAgICB0aGlzLmF0dHJpYnV0ZXNfWyd2aWV3TW9kZSddID0gdmlld01vZGU7XG4gICAgdGhpcy5hdHRyaWJ1dGVzX1snZGVzaXJlZEJpdHJhdGUnXSA9IGRlc2lyZWRCaXRyYXRlO1xuICBcbiAgICAvLyBzbG90IGFuZCB2aWRlb1Nsb3QgYXJlIHBhc3NlZCBhcyBwYXJ0IG9mIHRoZSBlbnZpcm9ubWVudFZhcnNcbiAgICB0aGlzLnNsb3RfID0gZW52aXJvbm1lbnRWYXJzLnNsb3Q7XG4gICAgdGhpcy52aWRlb1Nsb3RfID0gZW52aXJvbm1lbnRWYXJzLnZpZGVvU2xvdDtcbiAgXG4gICAgLy8gUGFyc2UgdGhlIGluY29taW5nIGFkIHBhcmFtZXRlcnMuXG4gICAgdGhpcy5wYXJhbWV0ZXJzXyA9IEpTT04ucGFyc2UoY3JlYXRpdmVEYXRhWydBZFBhcmFtZXRlcnMnXSk7XG5cblx0XHR0aGlzLnNsb3RfLnN0eWxlLndpZHRoID0gYCR7dGhpcy5hdHRyaWJ1dGVzX1snd2lkdGgnXX1weGA7XG5cdFx0dGhpcy5zbG90Xy5zdHlsZS5oZWlnaHQgPSBgJHt0aGlzLmF0dHJpYnV0ZXNfWydoZWlnaHQnXX1weGA7XG5cblx0XHR0aGlzLmxvZyhgaW5pdEFkOiAke3dpZHRofXgke2hlaWdodH0sIHZpZXdNb2RlOiAke3ZpZXdNb2RlfSwgZGVzaXJlZEJpdHJhdGU6ICR7ZGVzaXJlZEJpdHJhdGV9YCk7XG4gIFxuICAgIHRoaXMudXBkYXRlVmlkZW9TbG90XygpO1xuXG4gICAgdGhpcy52aWRlb1Nsb3RfLmFkZEV2ZW50TGlzdGVuZXIoJ3RpbWV1cGRhdGUnLCB0aGlzLnRpbWVVcGRhdGVIYW5kbGVyXy5iaW5kKHRoaXMpLCBmYWxzZSk7XG4gICAgdGhpcy52aWRlb1Nsb3RfLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWRlZG1ldGFkYXRhJywgdGhpcy5sb2FkZWRNZXRhZGF0YV8uYmluZCh0aGlzKSwgZmFsc2UpO1xuICAgIHRoaXMudmlkZW9TbG90Xy5hZGRFdmVudExpc3RlbmVyKCdlbmRlZCcsIHRoaXMuc3RvcEFkLmJpbmQodGhpcyksIGZhbHNlKTtcbiAgICB0aGlzLnNsb3RfLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbGlja0FkXy5iaW5kKHRoaXMpLCBmYWxzZSk7XG4gICAgdGhpcy5jYWxsRXZlbnRfKCdBZExvYWRlZCcpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgYWQgaXMgY2xpY2tlZC5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIGNsaWNrQWRfKCkge1xuICAgIGlmICgnQWRDbGlja1RocnUnIGluIHRoaXMuZXZlbnRzQ2FsbGJhY2tzXykge1xuICAgICAgdGhpcy5ldmVudHNDYWxsYmFja3NfWydBZENsaWNrVGhydSddKCcnLCcwJywgdHJ1ZSk7XG4gICAgfVxuXHRcdC8vIHRoaXMuY2FsbEV2ZW50XygnQWRDbGlja1RocnUnKTtcbiAgfVxuXG5cblxuXG4gIC8qKlxuICAgKiBDYWxsZWQgYnkgdGhlIHZpZGVvIGVsZW1lbnQgd2hlbiB2aWRlbyBtZXRhZGF0YSBpcyBsb2FkZWQuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBsb2FkZWRNZXRhZGF0YV8oKSB7XG4gICAgLy8gVGhlIGFkIGR1cmF0aW9uIGlzIG5vdCBrbm93biB1bnRpbCB0aGUgbWVkaWEgbWV0YWRhdGEgaXMgbG9hZGVkLlxuICAgIC8vIFRoZW4sIHVwZGF0ZSB0aGUgcGxheWVyIHdpdGggdGhlIGR1cmF0aW9uIGNoYW5nZS5cbiAgICB0aGlzLmF0dHJpYnV0ZXNfWydkdXJhdGlvbiddID0gdGhpcy52aWRlb1Nsb3RfLmR1cmF0aW9uO1xuICAgIHRoaXMuY2FsbEV2ZW50XygnQWREdXJhdGlvbkNoYW5nZScpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDYWxsZWQgYnkgdGhlIHZpZGVvIGVsZW1lbnQgd2hlbiB0aGUgdmlkZW8gcmVhY2hlcyBzcGVjaWZpYyBwb2ludHMgZHVyaW5nXG4gICAqIHBsYXliYWNrLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgdGltZVVwZGF0ZUhhbmRsZXJfKCkge1xuICAgIGlmICh0aGlzLm5leHRRdWFydGlsZUluZGV4XyA+PSB0aGlzLnF1YXJ0aWxlRXZlbnRzXy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIHBlcmNlbnRQbGF5ZWQgPVxuICAgICAgICB0aGlzLnZpZGVvU2xvdF8uY3VycmVudFRpbWUgKiAxMDAuMCAvIHRoaXMudmlkZW9TbG90Xy5kdXJhdGlvbjtcbiAgICBpZiAocGVyY2VudFBsYXllZCA+PSB0aGlzLnF1YXJ0aWxlRXZlbnRzX1t0aGlzLm5leHRRdWFydGlsZUluZGV4X10udmFsdWUpIHtcbiAgICAgIHZhciBsYXN0UXVhcnRpbGVFdmVudCA9IHRoaXMucXVhcnRpbGVFdmVudHNfW3RoaXMubmV4dFF1YXJ0aWxlSW5kZXhfXS5ldmVudDtcbiAgICAgIGlmICh0aGlzLmV2ZW50c0NhbGxiYWNrc19bbGFzdFF1YXJ0aWxlRXZlbnRdKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzQ2FsbGJhY2tzX1tsYXN0UXVhcnRpbGVFdmVudF0oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubmV4dFF1YXJ0aWxlSW5kZXhfICs9IDE7XG4gICAgfVxuICAgIGlmICh0aGlzLnZpZGVvU2xvdF8uZHVyYXRpb24gPiAwKSB7XG4gICAgICB0aGlzLmF0dHJpYnV0ZXNfWydyZW1haW5pbmdUaW1lJ10gPVxuICAgICAgICB0aGlzLnZpZGVvU2xvdF8uZHVyYXRpb24gLSB0aGlzLnZpZGVvU2xvdF8uY3VycmVudFRpbWU7XG4gICAgfVxuICB9O1xuXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgb3IgdXBkYXRlcyB0aGUgdmlkZW8gc2xvdCBhbmQgZmlsbHMgaXQgd2l0aCBhIHN1cHBvcnRlZCB2aWRlby5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHVwZGF0ZVZpZGVvU2xvdF8oKSB7XG4gICAgaWYgKHRoaXMudmlkZW9TbG90XyA9PSBudWxsKSB7XG4gICAgICB0aGlzLnZpZGVvU2xvdF8gPSAoXG4gICAgICAgIDx2aWRlbz48L3ZpZGVvPlxuICAgICAgKTtcbiAgICAgIHRoaXMubG9nKCdXYXJuaW5nOiBObyB2aWRlbyBlbGVtZW50IHBhc3NlZCB0byBhZCwgY3JlYXRpbmcgZWxlbWVudC4nKTtcbiAgICAgIHRoaXMuc2xvdF8uYXBwZW5kQ2hpbGQodGhpcy52aWRlb1Nsb3RfKTtcbiAgICB9XG4gICAgdGhpcy52aWRlb1Nsb3RfLnNldEF0dHJpYnV0ZSgnc3JjJywgdGhpcy5wYXJhbWV0ZXJzX1sndmlkZW8nXSk7XG4gICAgLy8gdGhpcy52aWRlb1Nsb3RfLnNldEF0dHJpYnV0ZSgnYXV0b3BsYXknLCAndHJ1ZScpO1xuICAgIC8vIHRoaXMudmlkZW9TbG90Xy5zZXRBdHRyaWJ1dGUoJ211dGVkJywgJ3RydWUnKTtcblxuXHRcdHRoaXMuc2xvdF8ucGFyZW50RWxlbWVudC5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xuXHRcdFxuXHRcdHRoaXMuc2xvdF8uc3R5bGUubWFyZ2luID0gJzAgYXV0byc7XG4gICAgdGhpcy5zbG90Xy5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgdGhpcy5zbG90Xy5zdHlsZS50b3AgPSAnMHB4JztcbiAgICB0aGlzLnNsb3RfLnN0eWxlLmxlZnQgPSAnMHB4JztcblxuICAgIHRoaXMudmlkZW9TbG90Xy5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgLy8gdGhpcy52aWRlb1Nsb3RfLnN0eWxlLnRyYW5zaXRpb24gPSAnYWxsIDFzJztcbiAgICB0aGlzLnZpZGVvU2xvdF8uc3R5bGUudG9wID0gJzAnO1xuICAgIHRoaXMudmlkZW9TbG90Xy5zdHlsZS5sZWZ0ID0gJzAnO1xuICAgIHRoaXMudmlkZW9TbG90Xy5zdHlsZS56SW5kZXggPSAnMCc7XG5cbiAgICAvLyBmdW5jdGlvbiBtYWtlU21hbGxWaWRlbygpIHtcbiAgICAvLyAgIHRoaXMudmlkZW9TbG90Xy5zdHlsZS53aWR0aCA9ICc0NDJweCc7XG4gICAgLy8gICB0aGlzLnZpZGVvU2xvdF8uc3R5bGUuaGVpZ2h0ID0gJzI1MHB4JztcbiAgICAvLyAgIHRoaXMudmlkZW9TbG90Xy5zdHlsZS50b3AgPSAnNTVweCc7XG4gICAgLy8gICB0aGlzLnZpZGVvU2xvdF8uc3R5bGUubGVmdCA9ICcxOTBweCc7XG4gICAgLy8gICB0aGlzLnZpZGVvU2xvdF8uc3R5bGUuekluZGV4ID0gJzAnO1xuICAgIC8vIH1cblxuICAgIC8vIHRoaXMudmlkZW9TbG90Xy5vbm1vdXNlb3ZlciA9IG1ha2VTbWFsbFZpZGVvLmJpbmQodGhpcyk7XG5cbiAgICB0aGlzLnZpZGVvU2xvdF8ub250aW1ldXBkYXRlID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIGlmICgodGhpcy52aWRlb1Nsb3RfLmN1cnJlbnRUaW1lICsgMSkgPj0gdGhpcy52aWRlb1Nsb3RfLmR1cmF0aW9uKSB7XG4gICAgICAgIHRoaXMudmlkZW9TbG90Xy5jdXJyZW50VGltZSA9IDA7XG4gICAgICB9XG4gICAgICAvLyBpZiAodGhpcy52aWRlb1Nsb3RfLmN1cnJlbnRUaW1lID49IDIpIHtcbiAgICAgIC8vICAgbWFrZVNtYWxsVmlkZW8uYmluZCh0aGlzKSgpO1xuICAgICAgLy8gfVxuICAgIH0uYmluZCh0aGlzKTtcbiAgICB0aGlzLnVwZGF0ZVZpZGVvUGxheWVyU2l6ZV8oKTtcblxuICAgIHZhciBhZCA9IG5ldyBBZCh0aGlzKTtcblxuICAgIC8vIHRoaXMudmlkZW9TbG90Xy5tdXRlZCA9IHRydWU7XG4gICAgLy8gdGhpcy52aWRlb1Nsb3RfLnBsYXkoKTtcbiAgfTtcblxuXG4gIC8qKlxuICAgKiBIZWxwZXIgZnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBzaXplIG9mIHRoZSB2aWRlbyBwbGF5ZXIuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICB1cGRhdGVWaWRlb1BsYXllclNpemVfKCkge1xuICAgIHRoaXMudmlkZW9TbG90Xy5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgdGhpcy5hdHRyaWJ1dGVzX1snd2lkdGgnXSk7XG4gICAgdGhpcy52aWRlb1Nsb3RfLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgdGhpcy5hdHRyaWJ1dGVzX1snaGVpZ2h0J10pO1xuICB9O1xuXG5cbiAgLyoqXG4gICAqIENhbGxlZCBieSB0aGUgd3JhcHBlciB0byBzdGFydCB0aGUgYWQuXG4gICAqL1xuICBzdGFydEFkKCkge1xuICAgIHRoaXMubG9nKCdTdGFydGluZyBhZCcpO1xuICAgIHRoaXMudmlkZW9TbG90Xy5wbGF5KCk7XG5cbiAgICB0aGlzLmNhbGxFdmVudF8oJ0FkU3RhcnRlZCcpO1xuICB9O1xuXG5cbiAgLyoqXG4gICAqIENhbGxlZCBieSB0aGUgd3JhcHBlciB0byBzdG9wIHRoZSBhZC5cbiAgICovXG4gIHN0b3BBZCgpIHtcbiAgICB0aGlzLmxvZygnU3RvcHBpbmcgYWQnKTtcbiAgICAvLyBDYWxsaW5nIEFkU3RvcHBlZCBpbW1lZGlhdGVseSB0ZXJtaW5hdGVzIHRoZSBhZC4gU2V0dGluZyBhIHRpbWVvdXQgYWxsb3dzXG4gICAgLy8gZXZlbnRzIHRvIGdvIHRocm91Z2guXG4gICAgdmFyIGNhbGxiYWNrID0gdGhpcy5jYWxsRXZlbnRfLmJpbmQodGhpcyk7XG4gICAgc2V0VGltZW91dChjYWxsYmFjaywgNzUsIFsnQWRTdG9wcGVkJ10pO1xuICB9O1xuXG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSB2aWRlbyBwbGF5ZXIgY2hhbmdlcyB0aGUgd2lkdGgvaGVpZ2h0IG9mIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aCBUaGUgbmV3IHdpZHRoLlxuICAgKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0IEEgbmV3IGhlaWdodC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHZpZXdNb2RlIEEgbmV3IHZpZXcgbW9kZS5cbiAgICovXG4gIHJlc2l6ZUFkKHdpZHRoLCBoZWlnaHQsIHZpZXdNb2RlKSB7XG4gICAgdGhpcy5sb2coJ3Jlc2l6ZUFkICcgKyB3aWR0aCArICd4JyArIGhlaWdodCArICcgJyArIHZpZXdNb2RlKTtcbiAgICB0aGlzLmF0dHJpYnV0ZXNfWyd3aWR0aCddID0gd2lkdGg7XG4gICAgdGhpcy5hdHRyaWJ1dGVzX1snaGVpZ2h0J10gPSBoZWlnaHQ7XG4gICAgdGhpcy5hdHRyaWJ1dGVzX1sndmlld01vZGUnXSA9IHZpZXdNb2RlO1xuICAgIHRoaXMudXBkYXRlVmlkZW9QbGF5ZXJTaXplXygpO1xuICAgIHRoaXMuY2FsbEV2ZW50XygnQWRTaXplQ2hhbmdlJyk7XG4gIH07XG5cblxuICAvKipcbiAgICogUGF1c2VzIHRoZSBhZC5cbiAgICovXG4gIHBhdXNlQWQoKSB7XG4gICAgdGhpcy5sb2coJ3BhdXNlQWQnKTtcbiAgICB0aGlzLnZpZGVvU2xvdF8ucGF1c2UoKTtcbiAgICB0aGlzLmNhbGxFdmVudF8oJ0FkUGF1c2VkJyk7XG4gIH07XG5cblxuICAvKipcbiAgICogUmVzdW1lcyB0aGUgYWQuXG4gICAqL1xuICByZXN1bWVBZCgpIHtcbiAgICB0aGlzLmxvZygncmVzdW1lQWQnKTtcbiAgICB0aGlzLnZpZGVvU2xvdF8ucGxheSgpO1xuICAgIHRoaXMuY2FsbEV2ZW50XygnQWRQbGF5aW5nJyk7XG4gIH07XG5cblxuICAvKipcbiAgICogRXhwYW5kcyB0aGUgYWQuXG4gICAqL1xuICBleHBhbmRBZCgpIHtcbiAgICB0aGlzLmxvZygnZXhwYW5kQWQnKTtcbiAgICB0aGlzLmF0dHJpYnV0ZXNfWydleHBhbmRlZCddID0gdHJ1ZTtcbiAgICB0aGlzLmNhbGxFdmVudF8oJ0FkRXhwYW5kZWQnKTtcbiAgfTtcblxuXG4gIC8qKlxuICAgKiBDb2xsYXBzZXMgdGhlIGFkLlxuICAgKi9cbiAgY29sbGFwc2VBZCgpIHtcbiAgICB0aGlzLmxvZygnY29sbGFwc2VBZCcpO1xuICAgIHRoaXMuYXR0cmlidXRlc19bJ2V4cGFuZGVkJ10gPSBmYWxzZTtcbiAgfTtcblxuXG4gIC8qKlxuICAgKiBTa2lwcyB0aGUgYWQuXG4gICAqL1xuICBza2lwQWQoKSB7XG4gICAgdGhpcy5sb2coJ3NraXBBZCcpO1xuICAgIHZhciBza2lwcGFibGVTdGF0ZSA9IHRoaXMuYXR0cmlidXRlc19bJ3NraXBwYWJsZVN0YXRlJ107XG4gICAgaWYgKHNraXBwYWJsZVN0YXRlKSB7XG4gICAgICB0aGlzLmNhbGxFdmVudF8oJ0FkU2tpcHBlZCcpO1xuICAgIH1cbiAgfTtcblxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBjYWxsYmFjayBmb3IgYW4gZXZlbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGFDYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWUgVGhlIGNhbGxiYWNrIHR5cGUuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBhQ29udGV4dCBUaGUgY29udGV4dCBmb3IgdGhlIGNhbGxiYWNrLlxuICAgKi9cbiAgc3Vic2NyaWJlKFxuICAgICAgYUNhbGxiYWNrLFxuICAgICAgZXZlbnROYW1lLFxuICAgICAgYUNvbnRleHQpIHtcbiAgICB0aGlzLmxvZygnU3Vic2NyaWJlICcgKyBldmVudE5hbWUpO1xuICAgIHZhciBjYWxsQmFjayA9IGFDYWxsYmFjay5iaW5kKGFDb250ZXh0KTtcbiAgICB0aGlzLmV2ZW50c0NhbGxiYWNrc19bZXZlbnROYW1lXSA9IGNhbGxCYWNrO1xuICB9O1xuXG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBjYWxsYmFjayBiYXNlZCBvbiB0aGUgZXZlbnROYW1lLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lIFRoZSBjYWxsYmFjayB0eXBlLlxuICAgKi9cbiAgdW5zdWJzY3JpYmUoZXZlbnROYW1lKSB7XG4gICAgdGhpcy5sb2coJ3Vuc3Vic2NyaWJlICcgKyBldmVudE5hbWUpO1xuICAgIHRoaXMuZXZlbnRzQ2FsbGJhY2tzX1tldmVudE5hbWVdID0gbnVsbDtcbiAgfTtcblxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIGFkIGlzIGxpbmVhci5cbiAgICpcbiAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgYWQgaXMgYSBsaW5lYXIsIGZhbHNlIGZvciBub24gbGluZWFyLlxuICAgKi9cbiAgZ2V0QWRMaW5lYXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlc19bJ2xpbmVhciddO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFkIHdpZHRoLlxuICAgKlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9IFRoZSBhZCB3aWR0aC5cbiAgICovXG4gIGdldEFkV2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlc19bJ3dpZHRoJ107XG4gIH07XG5cblxuICAvKipcbiAgICogUmV0dXJucyBhZCBoZWlnaHQuXG4gICAqXG4gICAqIEByZXR1cm4ge251bWJlcn0gVGhlIGFkIGhlaWdodC5cbiAgICovXG4gIGdldEFkSGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXNfWydoZWlnaHQnXTtcbiAgfTtcblxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGFkIGlzIGV4cGFuZGVkLlxuICAgKlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgZ2V0QWRFeHBhbmRlZCgpIHtcbiAgICB0aGlzLmxvZygnZ2V0QWRFeHBhbmRlZCcpO1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXNfWydleHBhbmRlZCddO1xuICB9O1xuXG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHNraXBwYWJsZSBzdGF0ZSBvZiB0aGUgYWQuXG4gICAqXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBnZXRBZFNraXBwYWJsZVN0YXRlKCkge1xuICAgIHRoaXMubG9nKCdnZXRBZFNraXBwYWJsZVN0YXRlJyk7XG4gICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlc19bJ3NraXBwYWJsZVN0YXRlJ107XG4gIH07XG5cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcmVtYWluaW5nIGFkIHRpbWUsIGluIHNlY29uZHMuXG4gICAqXG4gICAqIEByZXR1cm4ge251bWJlcn0gVGhlIHRpbWUgcmVtYWluaW5nIGluIHRoZSBhZC5cbiAgICovXG4gIGdldEFkUmVtYWluaW5nVGltZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzX1sncmVtYWluaW5nVGltZSddO1xuICB9O1xuXG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGR1cmF0aW9uIG9mIHRoZSBhZCwgaW4gc2Vjb25kcy5cbiAgICpcbiAgICogQHJldHVybiB7bnVtYmVyfSBUaGUgZHVyYXRpb24gb2YgdGhlIGFkLlxuICAgKi9cbiAgZ2V0QWREdXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzX1snZHVyYXRpb24nXTtcbiAgfTtcblxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBhZCB2b2x1bWUuXG4gICAqXG4gICAqIEByZXR1cm4ge251bWJlcn0gVGhlIHZvbHVtZSBvZiB0aGUgYWQuXG4gICAqL1xuICBnZXRBZFZvbHVtZSgpIHtcbiAgICB0aGlzLmxvZygnZ2V0QWRWb2x1bWUnKTtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzX1sndm9sdW1lJ107XG4gIH07XG5cblxuICAvKipcbiAgICogU2V0cyB0aGUgYWQgdm9sdW1lLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gdmFsdWUgVGhlIHZvbHVtZSBpbiBwZXJjZW50YWdlLlxuICAgKi9cbiAgc2V0QWRWb2x1bWUodmFsdWUpIHtcbiAgICB0aGlzLmF0dHJpYnV0ZXNfWyd2b2x1bWUnXSA9IHZhbHVlO1xuICAgIHRoaXMubG9nKCdzZXRBZFZvbHVtZSAnICsgdmFsdWUpO1xuICAgIHRoaXMuY2FsbEV2ZW50XygnQWRWb2x1bWVDaGFuZ2UnKTtcbiAgfTtcblxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjb21wYW5pb24gYWRzIGZvciB0aGUgYWQuXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZ30gTGlzdCBvZiBjb21wYW5pb25zIGluIFZBU1QgWE1MLlxuICAgKi9cbiAgZ2V0QWRDb21wYW5pb25zKCkge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXNfWydjb21wYW5pb25zJ107XG4gIH07XG5cblxuICAvKipcbiAgICogUmV0dXJucyBhIGxpc3Qgb2YgaWNvbnMuXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZ30gQSBsaXN0IG9mIGljb25zLlxuICAgKi9cbiAgZ2V0QWRJY29ucygpIHtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzX1snaWNvbnMnXTtcbiAgfTtcblxuXG4gIC8qKlxuICAgKiBMb2dzIGV2ZW50cyBhbmQgbWVzc2FnZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gICAqL1xuICBsb2coKSB7XG5cdFx0aWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnKSBjb25zb2xlLmxvZyguLi5hcmd1bWVudHMpO1xuICAgIC8vIGNvbnNvbGUubG9nKC4uLmFyZ3VtZW50cyk7XG4gIH07XG5cblxuICAvKipcbiAgICogQ2FsbHMgYW4gZXZlbnQgaWYgdGhlcmUgaXMgYSBjYWxsYmFjay5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50VHlwZVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgY2FsbEV2ZW50XyhldmVudFR5cGUpIHtcbiAgICBpZiAoZXZlbnRUeXBlIGluIHRoaXMuZXZlbnRzQ2FsbGJhY2tzXykge1xuICAgICAgdGhpcy5ldmVudHNDYWxsYmFja3NfW2V2ZW50VHlwZV0oKTtcbiAgICB9XG4gIH07XG5cblxufSIsImltcG9ydCBWcGFpZFZpZGVvUGxheWVyIGZyb20gJy4vdnBhaWQtZGVza3RvcC5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gbmV3IFZwYWlkVmlkZW9QbGF5ZXIoKTtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///62\n")},646:(module,__webpack_exports__,__webpack_require__)=>{eval('/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(645);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ".ad-container{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#fff}.ad-container .cta-wrapper{display:none;width:100%;height:100%;position:absolute;top:0;left:0;z-index:2;cursor:pointer}.ad-container .home-page img.background{width:100%;height:auto;cursor:pointer}.ad-container button.close-ad-button{display:block;opacity:0 !important;width:6%;height:10%;position:absolute;top:0;right:0;z-index:3;cursor:pointer}", "",{"version":3,"sources":["webpack://./src/ad/desktop/desktop.scss"],"names":[],"mappings":"AAAA,cACE,iBAAA,CACA,KAAA,CACD,MAAA,CACC,UAAA,CACA,WAAA,CACA,qBAAA,CAED,2BACC,YAAA,CACA,UAAA,CACE,WAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,SAAA,CACF,cAAA,CAMA,wCACC,UAAA,CACA,WAAA,CACA,cAAA,CAOF,qCACC,aAAA,CAEA,oBAAA,CACA,QAAA,CACA,UAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,SAAA,CACA,cAAA","sourcesContent":[".ad-container {\\n position: absolute;\\n top: 0;\\n\\tleft: 0;\\n width: 100%;\\n height: 100%;\\n background-color: #fff;\\n\\n\\t.cta-wrapper {\\n\\t\\tdisplay: none;\\n\\t\\twidth: 100%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n z-index: 2;\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\t.home-page {\\n\\t\\t\\n\\n\\t\\timg.background {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: auto;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// &:hover {\\n\\t\\t\\t// \\topacity: 0.9;\\n\\t\\t\\t// }\\n\\t\\t}\\n\\t}\\n\\n\\tbutton.close-ad-button {\\n\\t\\tdisplay: block;\\n\\t\\t// visibility: hidden;\\n\\t\\topacity: 0 !important;\\n\\t\\twidth: 6%;\\n\\t\\theight: 10%;\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tright: 0;\\n\\t\\tz-index: 3;\\n\\t\\tcursor: pointer;\\n\\t}\\n}"],"sourceRoot":""}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvYWQvZGVza3RvcC9kZXNrdG9wLnNjc3M/YWQ0MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDNEg7QUFDN0I7QUFDL0YsOEJBQThCLG1GQUEyQixDQUFDLHdHQUFxQztBQUMvRjtBQUNBLHdEQUF3RCxrQkFBa0IsTUFBTSxPQUFPLFdBQVcsWUFBWSxzQkFBc0IsMkJBQTJCLGFBQWEsV0FBVyxZQUFZLGtCQUFrQixNQUFNLE9BQU8sVUFBVSxlQUFlLHdDQUF3QyxXQUFXLFlBQVksZUFBZSxxQ0FBcUMsY0FBYyxxQkFBcUIsU0FBUyxXQUFXLGtCQUFrQixNQUFNLFFBQVEsVUFBVSxlQUFlLE9BQU8sNFpBQTRaLHVCQUF1QixXQUFXLFlBQVksZ0JBQWdCLGlCQUFpQiwyQkFBMkIsb0JBQW9CLG9CQUFvQixrQkFBa0IsbUJBQW1CLHlCQUF5QixhQUFhLGNBQWMsaUJBQWlCLHNCQUFzQixLQUFLLGtCQUFrQiw4QkFBOEIsb0JBQW9CLHFCQUFxQix3QkFBd0Isb0JBQW9CLDBCQUEwQixZQUFZLE9BQU8sS0FBSyw4QkFBOEIscUJBQXFCLDRCQUE0Qiw0QkFBNEIsZ0JBQWdCLGtCQUFrQix5QkFBeUIsYUFBYSxlQUFlLGlCQUFpQixzQkFBc0IsS0FBSyxHQUFHLG1CQUFtQjtBQUNubEQ7QUFDQSxpRUFBZSx1QkFBdUIsRUFBQyIsImZpbGUiOiI2NDYuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi5hZC1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5hZC1jb250YWluZXIgLmN0YS13cmFwcGVye2Rpc3BsYXk6bm9uZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjI7Y3Vyc29yOnBvaW50ZXJ9LmFkLWNvbnRhaW5lciAuaG9tZS1wYWdlIGltZy5iYWNrZ3JvdW5ke3dpZHRoOjEwMCU7aGVpZ2h0OmF1dG87Y3Vyc29yOnBvaW50ZXJ9LmFkLWNvbnRhaW5lciBidXR0b24uY2xvc2UtYWQtYnV0dG9ue2Rpc3BsYXk6YmxvY2s7b3BhY2l0eTowICFpbXBvcnRhbnQ7d2lkdGg6NiU7aGVpZ2h0OjEwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3otaW5kZXg6MztjdXJzb3I6cG9pbnRlcn1cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9zcmMvYWQvZGVza3RvcC9kZXNrdG9wLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsY0FDRSxpQkFBQSxDQUNBLEtBQUEsQ0FDRCxNQUFBLENBQ0MsVUFBQSxDQUNBLFdBQUEsQ0FDQSxxQkFBQSxDQUVELDJCQUNDLFlBQUEsQ0FDQSxVQUFBLENBQ0UsV0FBQSxDQUNBLGlCQUFBLENBQ0EsS0FBQSxDQUNBLE1BQUEsQ0FDQSxTQUFBLENBQ0YsY0FBQSxDQU1BLHdDQUNDLFVBQUEsQ0FDQSxXQUFBLENBQ0EsY0FBQSxDQU9GLHFDQUNDLGFBQUEsQ0FFQSxvQkFBQSxDQUNBLFFBQUEsQ0FDQSxVQUFBLENBQ0EsaUJBQUEsQ0FDQSxLQUFBLENBQ0EsT0FBQSxDQUNBLFNBQUEsQ0FDQSxjQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIi5hZC1jb250YWluZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcblxcdGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuXFxuXFx0LmN0YS13cmFwcGVyIHtcXG5cXHRcXHRkaXNwbGF5OiBub25lO1xcblxcdFxcdHdpZHRoOiAxMDAlO1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiAwO1xcbiAgICBsZWZ0OiAwO1xcbiAgICB6LWluZGV4OiAyO1xcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHR9XFxuXFxuXFx0LmhvbWUtcGFnZSB7XFxuXFx0XFx0XFxuXFxuXFx0XFx0aW1nLmJhY2tncm91bmQge1xcblxcdFxcdFxcdHdpZHRoOiAxMDAlO1xcblxcdFxcdFxcdGhlaWdodDogYXV0bztcXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0Ly8gJjpob3ZlciB7XFxuXFx0XFx0XFx0Ly8gXFx0b3BhY2l0eTogMC45O1xcblxcdFxcdFxcdC8vIH1cXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdGJ1dHRvbi5jbG9zZS1hZC1idXR0b24ge1xcblxcdFxcdGRpc3BsYXk6IGJsb2NrO1xcblxcdFxcdC8vIHZpc2liaWxpdHk6IGhpZGRlbjtcXG5cXHRcXHRvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XFxuXFx0XFx0d2lkdGg6IDYlO1xcblxcdFxcdGhlaWdodDogMTAlO1xcblxcdFxcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG5cXHRcXHR0b3A6IDA7XFxuXFx0XFx0cmlnaHQ6IDA7XFxuXFx0XFx0ei1pbmRleDogMztcXG5cXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0fVxcbn1cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///646\n')},645:module=>{eval('\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return "@media ".concat(item[2], " {").concat(content, "}");\n }\n\n return content;\n }).join("");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === "string") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, ""]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = "".concat(mediaQuery, " and ").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzPzI0ZmIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7O0FBRWhCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRDQUE0QyxxQkFBcUI7QUFDakU7O0FBRUE7QUFDQSxLQUFLO0FBQ0wsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EscUJBQXFCLGlCQUFpQjtBQUN0QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLHFCQUFxQjtBQUN6Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwiZmlsZSI6IjY0NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKlxuICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuICBBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xuLy8gY3NzIGJhc2UgY29kZSwgaW5qZWN0ZWQgYnkgdGhlIGNzcy1sb2FkZXJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jLW5hbWVzXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKSB7XG4gIHZhciBsaXN0ID0gW107IC8vIHJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcblxuICBsaXN0LnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICB2YXIgY29udGVudCA9IGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSk7XG5cbiAgICAgIGlmIChpdGVtWzJdKSB7XG4gICAgICAgIHJldHVybiBcIkBtZWRpYSBcIi5jb25jYXQoaXRlbVsyXSwgXCIge1wiKS5jb25jYXQoY29udGVudCwgXCJ9XCIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9KS5qb2luKFwiXCIpO1xuICB9OyAvLyBpbXBvcnQgYSBsaXN0IG9mIG1vZHVsZXMgaW50byB0aGUgbGlzdFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuYy1uYW1lc1xuXG5cbiAgbGlzdC5pID0gZnVuY3Rpb24gKG1vZHVsZXMsIG1lZGlhUXVlcnksIGRlZHVwZSkge1xuICAgIGlmICh0eXBlb2YgbW9kdWxlcyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICBtb2R1bGVzID0gW1tudWxsLCBtb2R1bGVzLCBcIlwiXV07XG4gICAgfVxuXG4gICAgdmFyIGFscmVhZHlJbXBvcnRlZE1vZHVsZXMgPSB7fTtcblxuICAgIGlmIChkZWR1cGUpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcbiAgICAgICAgdmFyIGlkID0gdGhpc1tpXVswXTtcblxuICAgICAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgICAgIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaWRdID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBtb2R1bGVzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIGl0ZW0gPSBbXS5jb25jYXQobW9kdWxlc1tfaV0pO1xuXG4gICAgICBpZiAoZGVkdXBlICYmIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRpbnVlXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobWVkaWFRdWVyeSkge1xuICAgICAgICBpZiAoIWl0ZW1bMl0pIHtcbiAgICAgICAgICBpdGVtWzJdID0gbWVkaWFRdWVyeTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtWzJdID0gXCJcIi5jb25jYXQobWVkaWFRdWVyeSwgXCIgYW5kIFwiKS5jb25jYXQoaXRlbVsyXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGlzdC5wdXNoKGl0ZW0pO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gbGlzdDtcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///645\n')},15:module=>{eval('\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\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."); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (typeof btoa === "function") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64);\n var sourceMapping = "/*# ".concat(data, " */");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return "/*# sourceURL=".concat(cssMapping.sourceRoot || "").concat(source, " */");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join("\\n");\n }\n\n return [content].join("\\n");\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qcz83NWU5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViLGlDQUFpQywySEFBMkg7O0FBRTVKLDZCQUE2QixrS0FBa0s7O0FBRS9MLGlEQUFpRCxnQkFBZ0IsZ0VBQWdFLHdEQUF3RCw2REFBNkQsc0RBQXNELGtIQUFrSDs7QUFFOVosc0NBQXNDLHVEQUF1RCx1Q0FBdUMsU0FBUyxPQUFPLGtCQUFrQixFQUFFLGFBQWE7O0FBRXJMLHdDQUF3QyxnRkFBZ0YsZUFBZSxlQUFlLGdCQUFnQixvQkFBb0IsTUFBTSwwQ0FBMEMsK0JBQStCLGFBQWEscUJBQXFCLG1DQUFtQyxFQUFFLEVBQUUsY0FBYyxXQUFXLFVBQVUsRUFBRSxVQUFVLE1BQU0saURBQWlELEVBQUUsVUFBVSxrQkFBa0IsRUFBRSxFQUFFLGFBQWE7O0FBRXZlLCtCQUErQixvQ0FBb0M7O0FBRW5FO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RCxjQUFjO0FBQ3JFO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0EiLCJmaWxlIjoiMTUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gX3NsaWNlZFRvQXJyYXkoYXJyLCBpKSB7IHJldHVybiBfYXJyYXlXaXRoSG9sZXMoYXJyKSB8fCBfaXRlcmFibGVUb0FycmF5TGltaXQoYXJyLCBpKSB8fCBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkoYXJyLCBpKSB8fCBfbm9uSXRlcmFibGVSZXN0KCk7IH1cblxuZnVuY3Rpb24gX25vbkl0ZXJhYmxlUmVzdCgpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKTsgfVxuXG5mdW5jdGlvbiBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkobywgbWluTGVuKSB7IGlmICghbykgcmV0dXJuOyBpZiAodHlwZW9mIG8gPT09IFwic3RyaW5nXCIpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pOyB2YXIgbiA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvKS5zbGljZSg4LCAtMSk7IGlmIChuID09PSBcIk9iamVjdFwiICYmIG8uY29uc3RydWN0b3IpIG4gPSBvLmNvbnN0cnVjdG9yLm5hbWU7IGlmIChuID09PSBcIk1hcFwiIHx8IG4gPT09IFwiU2V0XCIpIHJldHVybiBBcnJheS5mcm9tKG8pOyBpZiAobiA9PT0gXCJBcmd1bWVudHNcIiB8fCAvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKSkgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7IH1cblxuZnVuY3Rpb24gX2FycmF5TGlrZVRvQXJyYXkoYXJyLCBsZW4pIHsgaWYgKGxlbiA9PSBudWxsIHx8IGxlbiA+IGFyci5sZW5ndGgpIGxlbiA9IGFyci5sZW5ndGg7IGZvciAodmFyIGkgPSAwLCBhcnIyID0gbmV3IEFycmF5KGxlbik7IGkgPCBsZW47IGkrKykgeyBhcnIyW2ldID0gYXJyW2ldOyB9IHJldHVybiBhcnIyOyB9XG5cbmZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwidW5kZWZpbmVkXCIgfHwgIShTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGFycikpKSByZXR1cm47IHZhciBfYXJyID0gW107IHZhciBfbiA9IHRydWU7IHZhciBfZCA9IGZhbHNlOyB2YXIgX2UgPSB1bmRlZmluZWQ7IHRyeSB7IGZvciAodmFyIF9pID0gYXJyW1N5bWJvbC5pdGVyYXRvcl0oKSwgX3M7ICEoX24gPSAoX3MgPSBfaS5uZXh0KCkpLmRvbmUpOyBfbiA9IHRydWUpIHsgX2Fyci5wdXNoKF9zLnZhbHVlKTsgaWYgKGkgJiYgX2Fyci5sZW5ndGggPT09IGkpIGJyZWFrOyB9IH0gY2F0Y2ggKGVycikgeyBfZCA9IHRydWU7IF9lID0gZXJyOyB9IGZpbmFsbHkgeyB0cnkgeyBpZiAoIV9uICYmIF9pW1wicmV0dXJuXCJdICE9IG51bGwpIF9pW1wicmV0dXJuXCJdKCk7IH0gZmluYWxseSB7IGlmIChfZCkgdGhyb3cgX2U7IH0gfSByZXR1cm4gX2FycjsgfVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRoSG9sZXMoYXJyKSB7IGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBhcnI7IH1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0pIHtcbiAgdmFyIF9pdGVtID0gX3NsaWNlZFRvQXJyYXkoaXRlbSwgNCksXG4gICAgICBjb250ZW50ID0gX2l0ZW1bMV0sXG4gICAgICBjc3NNYXBwaW5nID0gX2l0ZW1bM107XG5cbiAgaWYgKHR5cGVvZiBidG9hID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgICB2YXIgYmFzZTY0ID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoY3NzTWFwcGluZykpKSk7XG4gICAgdmFyIGRhdGEgPSBcInNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFwiLmNvbmNhdChiYXNlNjQpO1xuICAgIHZhciBzb3VyY2VNYXBwaW5nID0gXCIvKiMgXCIuY29uY2F0KGRhdGEsIFwiICovXCIpO1xuICAgIHZhciBzb3VyY2VVUkxzID0gY3NzTWFwcGluZy5zb3VyY2VzLm1hcChmdW5jdGlvbiAoc291cmNlKSB7XG4gICAgICByZXR1cm4gXCIvKiMgc291cmNlVVJMPVwiLmNvbmNhdChjc3NNYXBwaW5nLnNvdXJjZVJvb3QgfHwgXCJcIikuY29uY2F0KHNvdXJjZSwgXCIgKi9cIik7XG4gICAgfSk7XG4gICAgcmV0dXJuIFtjb250ZW50XS5jb25jYXQoc291cmNlVVJMcykuY29uY2F0KFtzb3VyY2VNYXBwaW5nXSkuam9pbihcIlxcblwiKTtcbiAgfVxuXG4gIHJldHVybiBbY29udGVudF0uam9pbihcIlxcblwiKTtcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///15\n')},379:(module,__unused_webpack_exports,__webpack_require__)=>{eval("\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = true ? __webpack_require__.nc : 0;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of