"use strict";(globalThis.blocksyJsonP=globalThis.blocksyJsonP||[]).push([[22],{22:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"mount\": () => (/* binding */ mount)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ct_events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(601);\n/* harmony import */ var ct_events__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(ct_events__WEBPACK_IMPORTED_MODULE_1__);\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\nlet originalImageUpdate = null;\nconst store = {};\n\nfunction isTouchDevice() {\n try {\n document.createEvent('TouchEvent');\n return true;\n } catch (e) {\n return false;\n }\n}\n\nconst cachedFetch = url => store[url] ? new Promise(resolve => {\n resolve(store[url]);\n store[url] = store[url].clone();\n}) : new Promise(resolve => fetch(url).then(response => {\n resolve(response);\n store[url] = response.clone();\n}));\n\nconst makeUrlFor = _ref => {\n let {\n variation,\n productId,\n isQuickView\n } = _ref;\n let url = new URL(ct_localizations.ajax_url);\n let params = new URLSearchParams(url.search.slice(1));\n params.append('action', 'blocksy_get_product_view_for_variation');\n params.append('variation_id', variation.variation_id);\n params.append('product_id', productId);\n params.append('is_quick_view', isQuickView);\n url.search = `?${params.toString()}`;\n return url.toString();\n};\n\nconst replaceFirstImage = _ref2 => {\n let {\n container,\n image\n } = _ref2;\n const containersToReplace = [];\n const selectorsToTry = ['.woocommerce-product-gallery > .ct-image-container', '.woocommerce-product-gallery .flexy-items > *:first-child > *', '.woocommerce-product-gallery .flexy-pills > ol > *:first-child > *'];\n selectorsToTry.map(selector => {\n if (container.parentNode.querySelector(selector)) {\n containersToReplace.push(container.parentNode.querySelector(selector));\n }\n });\n containersToReplace.map(imgContainer => {\n if (imgContainer.href) {\n imgContainer.href = image.full_src;\n }\n\n if (imgContainer.dataset.height) {\n imgContainer.dataset.height = image.full_src_h;\n }\n\n if (imgContainer.dataset.width) {\n imgContainer.dataset.width = image.full_src_w;\n }\n\n ;\n [...imgContainer.querySelectorAll('.zoomImg')].map(img => {\n img.remove();\n });\n [...imgContainer.querySelectorAll('img')].map(img => {\n if (img.matches('.zoomImg')) {\n return;\n }\n\n if (img.getAttribute('width')) {\n img.width = image.width;\n }\n\n if (img.getAttribute('height')) {\n img.height = image.height;\n }\n\n img.src = image.src;\n\n if (img.sizes) {\n img.sizes = image.sizes;\n }\n\n if (image.srcset && img.srcset && image.srcset !== 'false') {\n img.srcset = image.srcset;\n } else {\n img.removeAttribute('srcset');\n }\n });\n\n if ((jquery__WEBPACK_IMPORTED_MODULE_0___default().fn.zoom)) {\n if (window.wp && wp.customize && wp.customize('has_product_single_zoom') && wp.customize('has_product_single_zoom')() === 'yes' || !window.wp || !wp.customize) {\n const rect = imgContainer.getBoundingClientRect();\n\n if (parseFloat(imgContainer.getAttribute('data-width')) > imgContainer.closest('.woocommerce-product-gallery').getBoundingClientRect().width) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(imgContainer).zoom(_objectSpread(_objectSpread({\n url: imgContainer.href,\n touch: false,\n duration: 50\n }, rect.width > parseFloat(imgContainer.dataset.width) || rect.height > parseFloat(imgContainer.dataset.height) ? {\n magnify: 2\n } : {}), isTouchDevice() ? {\n on: 'toggle'\n } : {}));\n }\n }\n }\n });\n};\n\nconst performInPlaceUpdate = _ref3 => {\n let {\n container,\n currentVariationObj,\n nextVariationObj\n } = _ref3;\n const currentImage = currentVariationObj ? _objectSpread({\n id: currentVariationObj.image_id\n }, currentVariationObj.image) : (nextVariationObj || {}).blocksy_original_image;\n const nextImage = nextVariationObj ? _objectSpread({\n id: nextVariationObj.image_id\n }, nextVariationObj.image) : (currentVariationObj || {}).blocksy_original_image;\n\n if (!nextImage) {\n return;\n }\n\n if (parseFloat(nextImage.id) === parseFloat(currentImage.id)) {\n return;\n } // Attempt slide to image\n\n\n if (container.querySelector(`.flexy-pills > *`)) {\n let maybePillImage = container.querySelector(`.flexy-items [srcset*=\"${nextImage.src}\"]`);\n\n if (maybePillImage) {\n let pillIndex = [...container.querySelector(`.flexy-items`).children].indexOf(maybePillImage.closest('div'));\n const pill = container.querySelector(`.flexy-pills > *`).children[pillIndex];\n\n if (pill) {\n if (container.querySelector('[data-flexy]').dataset.flexy.indexOf('no') > -1) {\n if (container.querySelector('[data-flexy]').forcedMount) {\n container.querySelector('[data-flexy]').forcedMount();\n }\n\n setTimeout(() => {\n if (nextVariationObj) {\n replaceFirstImage({\n container,\n image: nextVariationObj.blocksy_original_image\n });\n }\n\n pill.click();\n }, 500);\n return;\n } else {\n if (nextVariationObj) {\n replaceFirstImage({\n container,\n image: nextVariationObj.blocksy_original_image\n });\n }\n\n pill.click();\n return;\n }\n }\n }\n } // Replace 1st image\n\n\n replaceFirstImage({\n container,\n image: nextImage\n });\n\n if (container.querySelector(`.flexy-pills > *`)) {\n const pill = container.querySelector(`.flexy-pills > *`).children[0];\n\n if (pill) {\n pill.click();\n }\n }\n};\n\nconst mount = el => {\n if (!(jquery__WEBPACK_IMPORTED_MODULE_0___default()) || !(jquery__WEBPACK_IMPORTED_MODULE_0___default().fn) || !(jquery__WEBPACK_IMPORTED_MODULE_0___default().fn.wc_variations_image_update)) {\n return;\n }\n\n originalImageUpdate = (jquery__WEBPACK_IMPORTED_MODULE_0___default().fn.wc_variations_image_update);\n\n (jquery__WEBPACK_IMPORTED_MODULE_0___default().fn.wc_variations_image_update) = function (variation) {\n const currentElement = this[0];\n\n if (currentElement.closest('.woobt-products') || currentElement.closest('.upsells') || currentElement.closest('.related')) {\n return;\n }\n\n const currentVariation = el.closest('.product').querySelector('.woocommerce-product-gallery');\n let productContainer = currentVariation.closest('.type-product');\n let isQuickView = 'no';\n let productId = productContainer.id.replace('product-', '');\n\n if (!productId) {\n productId = currentVariation.closest('[class*=\"ct-quick-view\"]').querySelector('[data-product_id]').dataset.product_id;\n\n if (productId) {\n isQuickView = 'yes';\n }\n }\n\n const allVariations = JSON.parse(el.dataset.product_variations);\n let nextVariationObj = false;\n let currentVariationObj = false;\n\n if (allVariations) {\n nextVariationObj = variation.variation_id ? allVariations.find(_ref4 => {\n let {\n variation_id\n } = _ref4;\n return parseInt(variation_id) === parseInt(variation.variation_id);\n }) : false;\n currentVariationObj = currentVariation.dataset.currentVariation ? allVariations.find(_ref5 => {\n let {\n variation_id\n } = _ref5;\n return parseInt(variation_id) === parseInt(currentVariation.dataset.currentVariation);\n }) : false;\n }\n\n if (!variation.variation_id && !currentVariation.dataset.currentVariation) {\n return;\n }\n\n if (parseInt(variation.variation_id) === parseInt(currentVariation.dataset.currentVariation)) {\n return;\n }\n\n if (variation.variation_id) {\n currentVariation.dataset.currentVariation = variation.variation_id;\n } else {\n currentVariation.removeAttribute('data-current-variation');\n }\n\n const canDoInPlaceUpdate = allVariations && [nextVariationObj, currentVariationObj].every(variation => {\n if (!variation) {\n return true;\n }\n\n return variation.blocksy_gallery_source === 'default';\n });\n\n if (canDoInPlaceUpdate) {\n performInPlaceUpdate({\n container: currentVariation,\n nextVariationObj,\n currentVariationObj\n });\n return;\n }\n\n const acceptHtml = html => {\n const div = document.createElement('div');\n div.innerHTML = html;\n [...div.firstElementChild.children].map((el, index) => {\n if (!el.matches('.flexy-container, .ct-image-container')) {\n el.remove();\n }\n });\n [...currentVariation.children].map((el, index) => {\n if (el.matches('.flexy-container, .ct-image-container')) {\n el.remove();\n }\n });\n currentVariation.insertAdjacentHTML('afterbegin', div.firstElementChild.innerHTML);\n currentVariation.hasLazyLoadClickHoverListener = false;\n setTimeout(() => {\n ct_events__WEBPACK_IMPORTED_MODULE_1___default().trigger('blocksy:frontend:init');\n currentVariation.removeAttribute('data-state');\n });\n };\n\n if (variation.blocksy_gallery_html) {\n acceptHtml(variation.blocksy_gallery_html);\n return;\n }\n\n currentVariation.removeAttribute('style');\n requestAnimationFrame(() => {\n currentVariation.dataset.state = 'loading';\n });\n let maybeLoadedVariation = allVariations ? allVariations.find(nestedVariation => store[makeUrlFor({\n variation: nestedVariation,\n productId,\n isQuickView\n })] && nestedVariation.image_id === variation.image_id && variation.blocksy_gallery_source === 'default' && nestedVariation.blocksy_gallery_source === 'default') : null;\n cachedFetch(makeUrlFor({\n variation: maybeLoadedVariation || variation,\n productId,\n isQuickView\n }), {\n method: 'POST'\n }).then(response => response.json()).then(_ref6 => {\n let {\n success,\n data\n } = _ref6;\n\n if (!success) {\n return;\n }\n\n acceptHtml(data.html);\n });\n };\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9jdEZyb250ZW5kLy4vc3RhdGljL2pzL2Zyb250ZW5kL3dvb2NvbW1lcmNlL3ZhcmlhYmxlLXByb2R1Y3RzLmpzPzUwYzciXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGVudW1lcmFibGVPbmx5ICYmIChzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSkpLCBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IG51bGwgIT0gYXJndW1lbnRzW2ldID8gYXJndW1lbnRzW2ldIDoge307IGkgJSAyID8gb3duS2V5cyhPYmplY3Qoc291cmNlKSwgITApLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSkgOiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSkgOiBvd25LZXlzKE9iamVjdChzb3VyY2UpKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCBjdEV2ZW50cyBmcm9tICdjdC1ldmVudHMnO1xubGV0IG9yaWdpbmFsSW1hZ2VVcGRhdGUgPSBudWxsO1xuY29uc3Qgc3RvcmUgPSB7fTtcblxuZnVuY3Rpb24gaXNUb3VjaERldmljZSgpIHtcbiAgdHJ5IHtcbiAgICBkb2N1bWVudC5jcmVhdGVFdmVudCgnVG91Y2hFdmVudCcpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmNvbnN0IGNhY2hlZEZldGNoID0gdXJsID0+IHN0b3JlW3VybF0gPyBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgcmVzb2x2ZShzdG9yZVt1cmxdKTtcbiAgc3RvcmVbdXJsXSA9IHN0b3JlW3VybF0uY2xvbmUoKTtcbn0pIDogbmV3IFByb21pc2UocmVzb2x2ZSA9PiBmZXRjaCh1cmwpLnRoZW4ocmVzcG9uc2UgPT4ge1xuICByZXNvbHZlKHJlc3BvbnNlKTtcbiAgc3RvcmVbdXJsXSA9IHJlc3BvbnNlLmNsb25lKCk7XG59KSk7XG5cbmNvbnN0IG1ha2VVcmxGb3IgPSBfcmVmID0+IHtcbiAgbGV0IHtcbiAgICB2YXJpYXRpb24sXG4gICAgcHJvZHVjdElkLFxuICAgIGlzUXVpY2tWaWV3XG4gIH0gPSBfcmVmO1xuICBsZXQgdXJsID0gbmV3IFVSTChjdF9sb2NhbGl6YXRpb25zLmFqYXhfdXJsKTtcbiAgbGV0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXModXJsLnNlYXJjaC5zbGljZSgxKSk7XG4gIHBhcmFtcy5hcHBlbmQoJ2FjdGlvbicsICdibG9ja3N5X2dldF9wcm9kdWN0X3ZpZXdfZm9yX3ZhcmlhdGlvbicpO1xuICBwYXJhbXMuYXBwZW5kKCd2YXJpYXRpb25faWQnLCB2YXJpYXRpb24udmFyaWF0aW9uX2lkKTtcbiAgcGFyYW1zLmFwcGVuZCgncHJvZHVjdF9pZCcsIHByb2R1Y3RJZCk7XG4gIHBhcmFtcy5hcHBlbmQoJ2lzX3F1aWNrX3ZpZXcnLCBpc1F1aWNrVmlldyk7XG4gIHVybC5zZWFyY2ggPSBgPyR7cGFyYW1zLnRvU3RyaW5nKCl9YDtcbiAgcmV0dXJuIHVybC50b1N0cmluZygpO1xufTtcblxuY29uc3QgcmVwbGFjZUZpcnN0SW1hZ2UgPSBfcmVmMiA9PiB7XG4gIGxldCB7XG4gICAgY29udGFpbmVyLFxuICAgIGltYWdlXG4gIH0gPSBfcmVmMjtcbiAgY29uc3QgY29udGFpbmVyc1RvUmVwbGFjZSA9IFtdO1xuICBjb25zdCBzZWxlY3RvcnNUb1RyeSA9IFsnLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSA+IC5jdC1pbWFnZS1jb250YWluZXInLCAnLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSAuZmxleHktaXRlbXMgPiAqOmZpcnN0LWNoaWxkID4gKicsICcud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5IC5mbGV4eS1waWxscyA+IG9sID4gKjpmaXJzdC1jaGlsZCA+IConXTtcbiAgc2VsZWN0b3JzVG9UcnkubWFwKHNlbGVjdG9yID0+IHtcbiAgICBpZiAoY29udGFpbmVyLnBhcmVudE5vZGUucXVlcnlTZWxlY3RvcihzZWxlY3RvcikpIHtcbiAgICAgIGNvbnRhaW5lcnNUb1JlcGxhY2UucHVzaChjb250YWluZXIucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSk7XG4gICAgfVxuICB9KTtcbiAgY29udGFpbmVyc1RvUmVwbGFjZS5tYXAoaW1nQ29udGFpbmVyID0+IHtcbiAgICBpZiAoaW1nQ29udGFpbmVyLmhyZWYpIHtcbiAgICAgIGltZ0NvbnRhaW5lci5ocmVmID0gaW1hZ2UuZnVsbF9zcmM7XG4gICAgfVxuXG4gICAgaWYgKGltZ0NvbnRhaW5lci5kYXRhc2V0LmhlaWdodCkge1xuICAgICAgaW1nQ29udGFpbmVyLmRhdGFzZXQuaGVpZ2h0ID0gaW1hZ2UuZnVsbF9zcmNfaDtcbiAgICB9XG5cbiAgICBpZiAoaW1nQ29udGFpbmVyLmRhdGFzZXQud2lkdGgpIHtcbiAgICAgIGltZ0NvbnRhaW5lci5kYXRhc2V0LndpZHRoID0gaW1hZ2UuZnVsbF9zcmNfdztcbiAgICB9XG5cbiAgICA7XG4gICAgWy4uLmltZ0NvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCcuem9vbUltZycpXS5tYXAoaW1nID0+IHtcbiAgICAgIGltZy5yZW1vdmUoKTtcbiAgICB9KTtcbiAgICBbLi4uaW1nQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJ2ltZycpXS5tYXAoaW1nID0+IHtcbiAgICAgIGlmIChpbWcubWF0Y2hlcygnLnpvb21JbWcnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChpbWcuZ2V0QXR0cmlidXRlKCd3aWR0aCcpKSB7XG4gICAgICAgIGltZy53aWR0aCA9IGltYWdlLndpZHRoO1xuICAgICAgfVxuXG4gICAgICBpZiAoaW1nLmdldEF0dHJpYnV0ZSgnaGVpZ2h0JykpIHtcbiAgICAgICAgaW1nLmhlaWdodCA9IGltYWdlLmhlaWdodDtcbiAgICAgIH1cblxuICAgICAgaW1nLnNyYyA9IGltYWdlLnNyYztcblxuICAgICAgaWYgKGltZy5zaXplcykge1xuICAgICAgICBpbWcuc2l6ZXMgPSBpbWFnZS5zaXplcztcbiAgICAgIH1cblxuICAgICAgaWYgKGltYWdlLnNyY3NldCAmJiBpbWcuc3Jjc2V0ICYmIGltYWdlLnNyY3NldCAhPT0gJ2ZhbHNlJykge1xuICAgICAgICBpbWcuc3Jjc2V0ID0gaW1hZ2Uuc3Jjc2V0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW1nLnJlbW92ZUF0dHJpYnV0ZSgnc3Jjc2V0Jyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoJC5mbi56b29tKSB7XG4gICAgICBpZiAod2luZG93LndwICYmIHdwLmN1c3RvbWl6ZSAmJiB3cC5jdXN0b21pemUoJ2hhc19wcm9kdWN0X3NpbmdsZV96b29tJykgJiYgd3AuY3VzdG9taXplKCdoYXNfcHJvZHVjdF9zaW5nbGVfem9vbScpKCkgPT09ICd5ZXMnIHx8ICF3aW5kb3cud3AgfHwgIXdwLmN1c3RvbWl6ZSkge1xuICAgICAgICBjb25zdCByZWN0ID0gaW1nQ29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGlmIChwYXJzZUZsb2F0KGltZ0NvbnRhaW5lci5nZXRBdHRyaWJ1dGUoJ2RhdGEtd2lkdGgnKSkgPiBpbWdDb250YWluZXIuY2xvc2VzdCgnLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeScpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKSB7XG4gICAgICAgICAgJChpbWdDb250YWluZXIpLnpvb20oX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHtcbiAgICAgICAgICAgIHVybDogaW1nQ29udGFpbmVyLmhyZWYsXG4gICAgICAgICAgICB0b3VjaDogZmFsc2UsXG4gICAgICAgICAgICBkdXJhdGlvbjogNTBcbiAgICAgICAgICB9LCByZWN0LndpZHRoID4gcGFyc2VGbG9hdChpbWdDb250YWluZXIuZGF0YXNldC53aWR0aCkgfHwgcmVjdC5oZWlnaHQgPiBwYXJzZUZsb2F0KGltZ0NvbnRhaW5lci5kYXRhc2V0LmhlaWdodCkgPyB7XG4gICAgICAgICAgICBtYWduaWZ5OiAyXG4gICAgICAgICAgfSA6IHt9KSwgaXNUb3VjaERldmljZSgpID8ge1xuICAgICAgICAgICAgb246ICd0b2dnbGUnXG4gICAgICAgICAgfSA6IHt9KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufTtcblxuY29uc3QgcGVyZm9ybUluUGxhY2VVcGRhdGUgPSBfcmVmMyA9PiB7XG4gIGxldCB7XG4gICAgY29udGFpbmVyLFxuICAgIGN1cnJlbnRWYXJpYXRpb25PYmosXG4gICAgbmV4dFZhcmlhdGlvbk9ialxuICB9ID0gX3JlZjM7XG4gIGNvbnN0IGN1cnJlbnRJbWFnZSA9IGN1cnJlbnRWYXJpYXRpb25PYmogPyBfb2JqZWN0U3ByZWFkKHtcbiAgICBpZDogY3VycmVudFZhcmlhdGlvbk9iai5pbWFnZV9pZFxuICB9LCBjdXJyZW50VmFyaWF0aW9uT2JqLmltYWdlKSA6IChuZXh0VmFyaWF0aW9uT2JqIHx8IHt9KS5ibG9ja3N5X29yaWdpbmFsX2ltYWdlO1xuICBjb25zdCBuZXh0SW1hZ2UgPSBuZXh0VmFyaWF0aW9uT2JqID8gX29iamVjdFNwcmVhZCh7XG4gICAgaWQ6IG5leHRWYXJpYXRpb25PYmouaW1hZ2VfaWRcbiAgfSwgbmV4dFZhcmlhdGlvbk9iai5pbWFnZSkgOiAoY3VycmVudFZhcmlhdGlvbk9iaiB8fCB7fSkuYmxvY2tzeV9vcmlnaW5hbF9pbWFnZTtcblxuICBpZiAoIW5leHRJbWFnZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChwYXJzZUZsb2F0KG5leHRJbWFnZS5pZCkgPT09IHBhcnNlRmxvYXQoY3VycmVudEltYWdlLmlkKSkge1xuICAgIHJldHVybjtcbiAgfSAvLyBBdHRlbXB0IHNsaWRlIHRvIGltYWdlXG5cblxuICBpZiAoY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoYC5mbGV4eS1waWxscyA+ICpgKSkge1xuICAgIGxldCBtYXliZVBpbGxJbWFnZSA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKGAuZmxleHktaXRlbXMgW3NyY3NldCo9XCIke25leHRJbWFnZS5zcmN9XCJdYCk7XG5cbiAgICBpZiAobWF5YmVQaWxsSW1hZ2UpIHtcbiAgICAgIGxldCBwaWxsSW5kZXggPSBbLi4uY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoYC5mbGV4eS1pdGVtc2ApLmNoaWxkcmVuXS5pbmRleE9mKG1heWJlUGlsbEltYWdlLmNsb3Nlc3QoJ2RpdicpKTtcbiAgICAgIGNvbnN0IHBpbGwgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcihgLmZsZXh5LXBpbGxzID4gKmApLmNoaWxkcmVuW3BpbGxJbmRleF07XG5cbiAgICAgIGlmIChwaWxsKSB7XG4gICAgICAgIGlmIChjb250YWluZXIucXVlcnlTZWxlY3RvcignW2RhdGEtZmxleHldJykuZGF0YXNldC5mbGV4eS5pbmRleE9mKCdubycpID4gLTEpIHtcbiAgICAgICAgICBpZiAoY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWZsZXh5XScpLmZvcmNlZE1vdW50KSB7XG4gICAgICAgICAgICBjb250YWluZXIucXVlcnlTZWxlY3RvcignW2RhdGEtZmxleHldJykuZm9yY2VkTW91bnQoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmIChuZXh0VmFyaWF0aW9uT2JqKSB7XG4gICAgICAgICAgICAgIHJlcGxhY2VGaXJzdEltYWdlKHtcbiAgICAgICAgICAgICAgICBjb250YWluZXIsXG4gICAgICAgICAgICAgICAgaW1hZ2U6IG5leHRWYXJpYXRpb25PYmouYmxvY2tzeV9vcmlnaW5hbF9pbWFnZVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcGlsbC5jbGljaygpO1xuICAgICAgICAgIH0sIDUwMCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChuZXh0VmFyaWF0aW9uT2JqKSB7XG4gICAgICAgICAgICByZXBsYWNlRmlyc3RJbWFnZSh7XG4gICAgICAgICAgICAgIGNvbnRhaW5lcixcbiAgICAgICAgICAgICAgaW1hZ2U6IG5leHRWYXJpYXRpb25PYmouYmxvY2tzeV9vcmlnaW5hbF9pbWFnZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcGlsbC5jbGljaygpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvLyBSZXBsYWNlIDFzdCBpbWFnZVxuXG5cbiAgcmVwbGFjZUZpcnN0SW1hZ2Uoe1xuICAgIGNvbnRhaW5lcixcbiAgICBpbWFnZTogbmV4dEltYWdlXG4gIH0pO1xuXG4gIGlmIChjb250YWluZXIucXVlcnlTZWxlY3RvcihgLmZsZXh5LXBpbGxzID4gKmApKSB7XG4gICAgY29uc3QgcGlsbCA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKGAuZmxleHktcGlsbHMgPiAqYCkuY2hpbGRyZW5bMF07XG5cbiAgICBpZiAocGlsbCkge1xuICAgICAgcGlsbC5jbGljaygpO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG1vdW50ID0gZWwgPT4ge1xuICBpZiAoISQgfHwgISQuZm4gfHwgISQuZm4ud2NfdmFyaWF0aW9uc19pbWFnZV91cGRhdGUpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBvcmlnaW5hbEltYWdlVXBkYXRlID0gJC5mbi53Y192YXJpYXRpb25zX2ltYWdlX3VwZGF0ZTtcblxuICAkLmZuLndjX3ZhcmlhdGlvbnNfaW1hZ2VfdXBkYXRlID0gZnVuY3Rpb24gKHZhcmlhdGlvbikge1xuICAgIGNvbnN0IGN1cnJlbnRFbGVtZW50ID0gdGhpc1swXTtcblxuICAgIGlmIChjdXJyZW50RWxlbWVudC5jbG9zZXN0KCcud29vYnQtcHJvZHVjdHMnKSB8fCBjdXJyZW50RWxlbWVudC5jbG9zZXN0KCcudXBzZWxscycpIHx8IGN1cnJlbnRFbGVtZW50LmNsb3Nlc3QoJy5yZWxhdGVkJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50VmFyaWF0aW9uID0gZWwuY2xvc2VzdCgnLnByb2R1Y3QnKS5xdWVyeVNlbGVjdG9yKCcud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5Jyk7XG4gICAgbGV0IHByb2R1Y3RDb250YWluZXIgPSBjdXJyZW50VmFyaWF0aW9uLmNsb3Nlc3QoJy50eXBlLXByb2R1Y3QnKTtcbiAgICBsZXQgaXNRdWlja1ZpZXcgPSAnbm8nO1xuICAgIGxldCBwcm9kdWN0SWQgPSBwcm9kdWN0Q29udGFpbmVyLmlkLnJlcGxhY2UoJ3Byb2R1Y3QtJywgJycpO1xuXG4gICAgaWYgKCFwcm9kdWN0SWQpIHtcbiAgICAgIHByb2R1Y3RJZCA9IGN1cnJlbnRWYXJpYXRpb24uY2xvc2VzdCgnW2NsYXNzKj1cImN0LXF1aWNrLXZpZXdcIl0nKS5xdWVyeVNlbGVjdG9yKCdbZGF0YS1wcm9kdWN0X2lkXScpLmRhdGFzZXQucHJvZHVjdF9pZDtcblxuICAgICAgaWYgKHByb2R1Y3RJZCkge1xuICAgICAgICBpc1F1aWNrVmlldyA9ICd5ZXMnO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGFsbFZhcmlhdGlvbnMgPSBKU09OLnBhcnNlKGVsLmRhdGFzZXQucHJvZHVjdF92YXJpYXRpb25zKTtcbiAgICBsZXQgbmV4dFZhcmlhdGlvbk9iaiA9IGZhbHNlO1xuICAgIGxldCBjdXJyZW50VmFyaWF0aW9uT2JqID0gZmFsc2U7XG5cbiAgICBpZiAoYWxsVmFyaWF0aW9ucykge1xuICAgICAgbmV4dFZhcmlhdGlvbk9iaiA9IHZhcmlhdGlvbi52YXJpYXRpb25faWQgPyBhbGxWYXJpYXRpb25zLmZpbmQoX3JlZjQgPT4ge1xuICAgICAgICBsZXQge1xuICAgICAgICAgIHZhcmlhdGlvbl9pZFxuICAgICAgICB9ID0gX3JlZjQ7XG4gICAgICAgIHJldHVybiBwYXJzZUludCh2YXJpYXRpb25faWQpID09PSBwYXJzZUludCh2YXJpYXRpb24udmFyaWF0aW9uX2lkKTtcbiAgICAgIH0pIDogZmFsc2U7XG4gICAgICBjdXJyZW50VmFyaWF0aW9uT2JqID0gY3VycmVudFZhcmlhdGlvbi5kYXRhc2V0LmN1cnJlbnRWYXJpYXRpb24gPyBhbGxWYXJpYXRpb25zLmZpbmQoX3JlZjUgPT4ge1xuICAgICAgICBsZXQge1xuICAgICAgICAgIHZhcmlhdGlvbl9pZFxuICAgICAgICB9ID0gX3JlZjU7XG4gICAgICAgIHJldHVybiBwYXJzZUludCh2YXJpYXRpb25faWQpID09PSBwYXJzZUludChjdXJyZW50VmFyaWF0aW9uLmRhdGFzZXQuY3VycmVudFZhcmlhdGlvbik7XG4gICAgICB9KSA6IGZhbHNlO1xuICAgIH1cblxuICAgIGlmICghdmFyaWF0aW9uLnZhcmlhdGlvbl9pZCAmJiAhY3VycmVudFZhcmlhdGlvbi5kYXRhc2V0LmN1cnJlbnRWYXJpYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocGFyc2VJbnQodmFyaWF0aW9uLnZhcmlhdGlvbl9pZCkgPT09IHBhcnNlSW50KGN1cnJlbnRWYXJpYXRpb24uZGF0YXNldC5jdXJyZW50VmFyaWF0aW9uKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh2YXJpYXRpb24udmFyaWF0aW9uX2lkKSB7XG4gICAgICBjdXJyZW50VmFyaWF0aW9uLmRhdGFzZXQuY3VycmVudFZhcmlhdGlvbiA9IHZhcmlhdGlvbi52YXJpYXRpb25faWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGN1cnJlbnRWYXJpYXRpb24ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWN1cnJlbnQtdmFyaWF0aW9uJyk7XG4gICAgfVxuXG4gICAgY29uc3QgY2FuRG9JblBsYWNlVXBkYXRlID0gYWxsVmFyaWF0aW9ucyAmJiBbbmV4dFZhcmlhdGlvbk9iaiwgY3VycmVudFZhcmlhdGlvbk9ial0uZXZlcnkodmFyaWF0aW9uID0+IHtcbiAgICAgIGlmICghdmFyaWF0aW9uKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFyaWF0aW9uLmJsb2Nrc3lfZ2FsbGVyeV9zb3VyY2UgPT09ICdkZWZhdWx0JztcbiAgICB9KTtcblxuICAgIGlmIChjYW5Eb0luUGxhY2VVcGRhdGUpIHtcbiAgICAgIHBlcmZvcm1JblBsYWNlVXBkYXRlKHtcbiAgICAgICAgY29udGFpbmVyOiBjdXJyZW50VmFyaWF0aW9uLFxuICAgICAgICBuZXh0VmFyaWF0aW9uT2JqLFxuICAgICAgICBjdXJyZW50VmFyaWF0aW9uT2JqXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhY2NlcHRIdG1sID0gaHRtbCA9PiB7XG4gICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIGRpdi5pbm5lckhUTUwgPSBodG1sO1xuICAgICAgWy4uLmRpdi5maXJzdEVsZW1lbnRDaGlsZC5jaGlsZHJlbl0ubWFwKChlbCwgaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKCFlbC5tYXRjaGVzKCcuZmxleHktY29udGFpbmVyLCAuY3QtaW1hZ2UtY29udGFpbmVyJykpIHtcbiAgICAgICAgICBlbC5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBbLi4uY3VycmVudFZhcmlhdGlvbi5jaGlsZHJlbl0ubWFwKChlbCwgaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKGVsLm1hdGNoZXMoJy5mbGV4eS1jb250YWluZXIsIC5jdC1pbWFnZS1jb250YWluZXInKSkge1xuICAgICAgICAgIGVsLnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGN1cnJlbnRWYXJpYXRpb24uaW5zZXJ0QWRqYWNlbnRIVE1MKCdhZnRlcmJlZ2luJywgZGl2LmZpcnN0RWxlbWVudENoaWxkLmlubmVySFRNTCk7XG4gICAgICBjdXJyZW50VmFyaWF0aW9uLmhhc0xhenlMb2FkQ2xpY2tIb3Zlckxpc3RlbmVyID0gZmFsc2U7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY3RFdmVudHMudHJpZ2dlcignYmxvY2tzeTpmcm9udGVuZDppbml0Jyk7XG4gICAgICAgIGN1cnJlbnRWYXJpYXRpb24ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXN0YXRlJyk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaWYgKHZhcmlhdGlvbi5ibG9ja3N5X2dhbGxlcnlfaHRtbCkge1xuICAgICAgYWNjZXB0SHRtbCh2YXJpYXRpb24uYmxvY2tzeV9nYWxsZXJ5X2h0bWwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGN1cnJlbnRWYXJpYXRpb24ucmVtb3ZlQXR0cmlidXRlKCdzdHlsZScpO1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBjdXJyZW50VmFyaWF0aW9uLmRhdGFzZXQuc3RhdGUgPSAnbG9hZGluZyc7XG4gICAgfSk7XG4gICAgbGV0IG1heWJlTG9hZGVkVmFyaWF0aW9uID0gYWxsVmFyaWF0aW9ucyA/IGFsbFZhcmlhdGlvbnMuZmluZChuZXN0ZWRWYXJpYXRpb24gPT4gc3RvcmVbbWFrZVVybEZvcih7XG4gICAgICB2YXJpYXRpb246IG5lc3RlZFZhcmlhdGlvbixcbiAgICAgIHByb2R1Y3RJZCxcbiAgICAgIGlzUXVpY2tWaWV3XG4gICAgfSldICYmIG5lc3RlZFZhcmlhdGlvbi5pbWFnZV9pZCA9PT0gdmFyaWF0aW9uLmltYWdlX2lkICYmIHZhcmlhdGlvbi5ibG9ja3N5X2dhbGxlcnlfc291cmNlID09PSAnZGVmYXVsdCcgJiYgbmVzdGVkVmFyaWF0aW9uLmJsb2Nrc3lfZ2FsbGVyeV9zb3VyY2UgPT09ICdkZWZhdWx0JykgOiBudWxsO1xuICAgIGNhY2hlZEZldGNoKG1ha2VVcmxGb3Ioe1xuICAgICAgdmFyaWF0aW9uOiBtYXliZUxvYWRlZFZhcmlhdGlvbiB8fCB2YXJpYXRpb24sXG4gICAgICBwcm9kdWN0SWQsXG4gICAgICBpc1F1aWNrVmlld1xuICAgIH0pLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJ1xuICAgIH0pLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuanNvbigpKS50aGVuKF9yZWY2ID0+IHtcbiAgICAgIGxldCB7XG4gICAgICAgIHN1Y2Nlc3MsXG4gICAgICAgIGRhdGFcbiAgICAgIH0gPSBfcmVmNjtcblxuICAgICAgaWYgKCFzdWNjZXNzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgYWNjZXB0SHRtbChkYXRhLmh0bWwpO1xuICAgIH0pO1xuICB9O1xufTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///22\n")}}]);