File: /var/www/clients/client0/web20/web/wp-content/plugins/easy-panorama/block/dist/block.js
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ }
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__i18n_js__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__i18n_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__i18n_js__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_scss__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__editor_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__block__ = __webpack_require__(3);\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar __ = wp.i18n.__;\nvar _wp$blocks = wp.blocks,\n registerBlockType = _wp$blocks.registerBlockType,\n createBlock = _wp$blocks.createBlock;\nvar _easyPanorama = easyPanorama,\n settings = _easyPanorama.settings;\n\n\n\n\n\n\nregisterBlockType('easy-panorama/block', {\n title: __('Panorama'),\n description: __('Panorama is a great way to share wide/panoramic images on your site.'),\n icon: 'cover-image',\n category: 'layout',\n attributes: {\n id: {\n type: 'number'\n },\n url: {\n type: 'string'\n },\n alt: {\n type: 'string'\n },\n title: {\n type: 'string'\n },\n containerHeight: {\n type: 'number',\n default: settings.containerHeight\n },\n startPosition: {\n type: 'number',\n default: settings.startPosition\n },\n gracefulFailure: {\n type: 'bool',\n default: settings.gracefulFailure\n },\n failureMessage: {\n type: 'string',\n default: settings.failureMessage\n },\n failureMessageInsert: {\n type: 'string',\n default: settings.failureMessage\n },\n minimumOverflow: {\n type: 'number',\n default: settings.minimumOverflow\n },\n displayMeta: {\n type: 'bool',\n default: settings.displayMeta\n }\n },\n supports: {\n html: false\n },\n transforms: {\n from: [{\n type: 'block',\n isMultiBlock: true,\n blocks: ['core/image'],\n transform: function transform(attributes) {\n return createBlock.apply(undefined, ['easy-panorama/block'].concat(_toConsumableArray(attributes)));\n }\n }, {\n type: 'shortcode',\n tag: 'easy_panorama',\n attributes: {\n id: {\n type: 'number',\n shortcode: function shortcode(_ref) {\n var id = _ref.named.id;\n\n return id;\n }\n },\n url: {\n type: 'string',\n shortcode: function shortcode(_ref2) {\n var url = _ref2.named.url;\n\n return url;\n }\n },\n title: {\n type: 'string',\n shortcode: function shortcode(_ref3) {\n var title = _ref3.named.title;\n\n return title;\n }\n },\n alt: {\n type: 'string',\n shortcode: function shortcode(_ref4) {\n var alt = _ref4.named.alt;\n\n return alt;\n }\n },\n height: {\n type: 'number',\n shortcode: function shortcode(_ref5) {\n var height = _ref5.named.height;\n\n return height;\n }\n },\n graceful_failure: {\n type: 'bool',\n shortcode: function shortcode(_ref6) {\n var graceful_failure = _ref6.named.graceful_failure;\n\n return graceful_failure;\n }\n },\n failure_message: {\n type: 'string',\n shortcode: function shortcode(_ref7) {\n var failure_message = _ref7.named.failure_message;\n\n return failure_message;\n }\n },\n failure_message_insert: {\n type: 'string',\n shortcode: function shortcode(_ref8) {\n var failure_message_insert = _ref8.named.failure_message_insert;\n\n return failure_message_insert;\n }\n },\n meta: {\n type: 'bool',\n shortcode: function shortcode(_ref9) {\n var meta = _ref9.named.meta;\n\n return meta;\n }\n },\n minimum_overflow: {\n type: 'number',\n shortcode: function shortcode(_ref10) {\n var minimum_overflow = _ref10.named.minimum_overflow;\n\n return minimum_overflow;\n }\n },\n start_position: {\n type: 'number',\n shortcode: function shortcode(_ref11) {\n var start_position = _ref11.named.start_position;\n\n return start_position;\n }\n }\n\n }\n }],\n to: [{\n type: 'block',\n blocks: ['core/image'],\n transform: function transform(_ref12) {\n var id = _ref12.id,\n url = _ref12.url,\n alt = _ref12.alt,\n title = _ref12.title;\n\n return createBlock('core/image', { id: id, url: url, alt: alt, title: title });\n }\n }]\n },\n\n edit: __WEBPACK_IMPORTED_MODULE_2__block__[\"a\" /* default */],\n\n save: function save(props) {\n var className = props.className,\n _props$attributes = props.attributes,\n id = _props$attributes.id,\n url = _props$attributes.url,\n alt = _props$attributes.alt,\n title = _props$attributes.title;\n\n return wp.element.createElement(\n 'div',\n { className: className, key: 'easypanorama-block-save' },\n url && wp.element.createElement(\n 'figure',\n { key: 'easypanorama-block-save-figure' },\n wp.element.createElement('img', { key: 'easypanorama-block-save-image', className: 'wp-image-' + id, src: url, alt: alt, title: title })\n )\n );\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2luZGV4LmpzP2I1ZmQiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX3RvQ29uc3VtYWJsZUFycmF5KGFycikgeyBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSB7IGZvciAodmFyIGkgPSAwLCBhcnIyID0gQXJyYXkoYXJyLmxlbmd0aCk7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHsgYXJyMltpXSA9IGFycltpXTsgfSByZXR1cm4gYXJyMjsgfSBlbHNlIHsgcmV0dXJuIEFycmF5LmZyb20oYXJyKTsgfSB9XG5cbnZhciBfXyA9IHdwLmkxOG4uX187XG52YXIgX3dwJGJsb2NrcyA9IHdwLmJsb2NrcyxcbiAgICByZWdpc3RlckJsb2NrVHlwZSA9IF93cCRibG9ja3MucmVnaXN0ZXJCbG9ja1R5cGUsXG4gICAgY3JlYXRlQmxvY2sgPSBfd3AkYmxvY2tzLmNyZWF0ZUJsb2NrO1xudmFyIF9lYXN5UGFub3JhbWEgPSBlYXN5UGFub3JhbWEsXG4gICAgc2V0dGluZ3MgPSBfZWFzeVBhbm9yYW1hLnNldHRpbmdzO1xuXG5cbmltcG9ydCAnLi9pMThuLmpzJztcbmltcG9ydCAnLi9lZGl0b3Iuc2Nzcyc7XG5pbXBvcnQgUGFub3JhbWFCbG9jayBmcm9tICcuL2Jsb2NrJztcblxucmVnaXN0ZXJCbG9ja1R5cGUoJ2Vhc3ktcGFub3JhbWEvYmxvY2snLCB7XG4gIHRpdGxlOiBfXygnUGFub3JhbWEnKSxcbiAgZGVzY3JpcHRpb246IF9fKCdQYW5vcmFtYSBpcyBhIGdyZWF0IHdheSB0byBzaGFyZSB3aWRlL3Bhbm9yYW1pYyBpbWFnZXMgb24geW91ciBzaXRlLicpLFxuICBpY29uOiAnY292ZXItaW1hZ2UnLFxuICBjYXRlZ29yeTogJ2xheW91dCcsXG4gIGF0dHJpYnV0ZXM6IHtcbiAgICBpZDoge1xuICAgICAgdHlwZTogJ251bWJlcidcbiAgICB9LFxuICAgIHVybDoge1xuICAgICAgdHlwZTogJ3N0cmluZydcbiAgICB9LFxuICAgIGFsdDoge1xuICAgICAgdHlwZTogJ3N0cmluZydcbiAgICB9LFxuICAgIHRpdGxlOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJ1xuICAgIH0sXG4gICAgY29udGFpbmVySGVpZ2h0OiB7XG4gICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgIGRlZmF1bHQ6IHNldHRpbmdzLmNvbnRhaW5lckhlaWdodFxuICAgIH0sXG4gICAgc3RhcnRQb3NpdGlvbjoge1xuICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICBkZWZhdWx0OiBzZXR0aW5ncy5zdGFydFBvc2l0aW9uXG4gICAgfSxcbiAgICBncmFjZWZ1bEZhaWx1cmU6IHtcbiAgICAgIHR5cGU6ICdib29sJyxcbiAgICAgIGRlZmF1bHQ6IHNldHRpbmdzLmdyYWNlZnVsRmFpbHVyZVxuICAgIH0sXG4gICAgZmFpbHVyZU1lc3NhZ2U6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGVmYXVsdDogc2V0dGluZ3MuZmFpbHVyZU1lc3NhZ2VcbiAgICB9LFxuICAgIGZhaWx1cmVNZXNzYWdlSW5zZXJ0OiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIGRlZmF1bHQ6IHNldHRpbmdzLmZhaWx1cmVNZXNzYWdlXG4gICAgfSxcbiAgICBtaW5pbXVtT3ZlcmZsb3c6IHtcbiAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgZGVmYXVsdDogc2V0dGluZ3MubWluaW11bU92ZXJmbG93XG4gICAgfSxcbiAgICBkaXNwbGF5TWV0YToge1xuICAgICAgdHlwZTogJ2Jvb2wnLFxuICAgICAgZGVmYXVsdDogc2V0dGluZ3MuZGlzcGxheU1ldGFcbiAgICB9XG4gIH0sXG4gIHN1cHBvcnRzOiB7XG4gICAgaHRtbDogZmFsc2VcbiAgfSxcbiAgdHJhbnNmb3Jtczoge1xuICAgIGZyb206IFt7XG4gICAgICB0eXBlOiAnYmxvY2snLFxuICAgICAgaXNNdWx0aUJsb2NrOiB0cnVlLFxuICAgICAgYmxvY2tzOiBbJ2NvcmUvaW1hZ2UnXSxcbiAgICAgIHRyYW5zZm9ybTogZnVuY3Rpb24gdHJhbnNmb3JtKGF0dHJpYnV0ZXMpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUJsb2NrLmFwcGx5KHVuZGVmaW5lZCwgWydlYXN5LXBhbm9yYW1hL2Jsb2NrJ10uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheShhdHRyaWJ1dGVzKSkpO1xuICAgICAgfVxuICAgIH0sIHtcbiAgICAgIHR5cGU6ICdzaG9ydGNvZGUnLFxuICAgICAgdGFnOiAnZWFzeV9wYW5vcmFtYScsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGlkOiB7XG4gICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgc2hvcnRjb2RlOiBmdW5jdGlvbiBzaG9ydGNvZGUoX3JlZikge1xuICAgICAgICAgICAgdmFyIGlkID0gX3JlZi5uYW1lZC5pZDtcblxuICAgICAgICAgICAgcmV0dXJuIGlkO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdXJsOiB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgc2hvcnRjb2RlOiBmdW5jdGlvbiBzaG9ydGNvZGUoX3JlZjIpIHtcbiAgICAgICAgICAgIHZhciB1cmwgPSBfcmVmMi5uYW1lZC51cmw7XG5cbiAgICAgICAgICAgIHJldHVybiB1cmw7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB0aXRsZToge1xuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIHNob3J0Y29kZTogZnVuY3Rpb24gc2hvcnRjb2RlKF9yZWYzKSB7XG4gICAgICAgICAgICB2YXIgdGl0bGUgPSBfcmVmMy5uYW1lZC50aXRsZTtcblxuICAgICAgICAgICAgcmV0dXJuIHRpdGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgYWx0OiB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgc2hvcnRjb2RlOiBmdW5jdGlvbiBzaG9ydGNvZGUoX3JlZjQpIHtcbiAgICAgICAgICAgIHZhciBhbHQgPSBfcmVmNC5uYW1lZC5hbHQ7XG5cbiAgICAgICAgICAgIHJldHVybiBhbHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBoZWlnaHQ6IHtcbiAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICBzaG9ydGNvZGU6IGZ1bmN0aW9uIHNob3J0Y29kZShfcmVmNSkge1xuICAgICAgICAgICAgdmFyIGhlaWdodCA9IF9yZWY1Lm5hbWVkLmhlaWdodDtcblxuICAgICAgICAgICAgcmV0dXJuIGhlaWdodDtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGdyYWNlZnVsX2ZhaWx1cmU6IHtcbiAgICAgICAgICB0eXBlOiAnYm9vbCcsXG4gICAgICAgICAgc2hvcnRjb2RlOiBmdW5jdGlvbiBzaG9ydGNvZGUoX3JlZjYpIHtcbiAgICAgICAgICAgIHZhciBncmFjZWZ1bF9mYWlsdXJlID0gX3JlZjYubmFtZWQuZ3JhY2VmdWxfZmFpbHVyZTtcblxuICAgICAgICAgICAgcmV0dXJuIGdyYWNlZnVsX2ZhaWx1cmU7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBmYWlsdXJlX21lc3NhZ2U6IHtcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBzaG9ydGNvZGU6IGZ1bmN0aW9uIHNob3J0Y29kZShfcmVmNykge1xuICAgICAgICAgICAgdmFyIGZhaWx1cmVfbWVzc2FnZSA9IF9yZWY3Lm5hbWVkLmZhaWx1cmVfbWVzc2FnZTtcblxuICAgICAgICAgICAgcmV0dXJuIGZhaWx1cmVfbWVzc2FnZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGZhaWx1cmVfbWVzc2FnZV9pbnNlcnQ6IHtcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBzaG9ydGNvZGU6IGZ1bmN0aW9uIHNob3J0Y29kZShfcmVmOCkge1xuICAgICAgICAgICAgdmFyIGZhaWx1cmVfbWVzc2FnZV9pbnNlcnQgPSBfcmVmOC5uYW1lZC5mYWlsdXJlX21lc3NhZ2VfaW5zZXJ0O1xuXG4gICAgICAgICAgICByZXR1cm4gZmFpbHVyZV9tZXNzYWdlX2luc2VydDtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG1ldGE6IHtcbiAgICAgICAgICB0eXBlOiAnYm9vbCcsXG4gICAgICAgICAgc2hvcnRjb2RlOiBmdW5jdGlvbiBzaG9ydGNvZGUoX3JlZjkpIHtcbiAgICAgICAgICAgIHZhciBtZXRhID0gX3JlZjkubmFtZWQubWV0YTtcblxuICAgICAgICAgICAgcmV0dXJuIG1ldGE7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBtaW5pbXVtX292ZXJmbG93OiB7XG4gICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgc2hvcnRjb2RlOiBmdW5jdGlvbiBzaG9ydGNvZGUoX3JlZjEwKSB7XG4gICAgICAgICAgICB2YXIgbWluaW11bV9vdmVyZmxvdyA9IF9yZWYxMC5uYW1lZC5taW5pbXVtX292ZXJmbG93O1xuXG4gICAgICAgICAgICByZXR1cm4gbWluaW11bV9vdmVyZmxvdztcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHN0YXJ0X3Bvc2l0aW9uOiB7XG4gICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgc2hvcnRjb2RlOiBmdW5jdGlvbiBzaG9ydGNvZGUoX3JlZjExKSB7XG4gICAgICAgICAgICB2YXIgc3RhcnRfcG9zaXRpb24gPSBfcmVmMTEubmFtZWQuc3RhcnRfcG9zaXRpb247XG5cbiAgICAgICAgICAgIHJldHVybiBzdGFydF9wb3NpdGlvbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1dLFxuICAgIHRvOiBbe1xuICAgICAgdHlwZTogJ2Jsb2NrJyxcbiAgICAgIGJsb2NrczogWydjb3JlL2ltYWdlJ10sXG4gICAgICB0cmFuc2Zvcm06IGZ1bmN0aW9uIHRyYW5zZm9ybShfcmVmMTIpIHtcbiAgICAgICAgdmFyIGlkID0gX3JlZjEyLmlkLFxuICAgICAgICAgICAgdXJsID0gX3JlZjEyLnVybCxcbiAgICAgICAgICAgIGFsdCA9IF9yZWYxMi5hbHQsXG4gICAgICAgICAgICB0aXRsZSA9IF9yZWYxMi50aXRsZTtcblxuICAgICAgICByZXR1cm4gY3JlYXRlQmxvY2soJ2NvcmUvaW1hZ2UnLCB7IGlkOiBpZCwgdXJsOiB1cmwsIGFsdDogYWx0LCB0aXRsZTogdGl0bGUgfSk7XG4gICAgICB9XG4gICAgfV1cbiAgfSxcblxuICBlZGl0OiBQYW5vcmFtYUJsb2NrLFxuXG4gIHNhdmU6IGZ1bmN0aW9uIHNhdmUocHJvcHMpIHtcbiAgICB2YXIgY2xhc3NOYW1lID0gcHJvcHMuY2xhc3NOYW1lLFxuICAgICAgICBfcHJvcHMkYXR0cmlidXRlcyA9IHByb3BzLmF0dHJpYnV0ZXMsXG4gICAgICAgIGlkID0gX3Byb3BzJGF0dHJpYnV0ZXMuaWQsXG4gICAgICAgIHVybCA9IF9wcm9wcyRhdHRyaWJ1dGVzLnVybCxcbiAgICAgICAgYWx0ID0gX3Byb3BzJGF0dHJpYnV0ZXMuYWx0LFxuICAgICAgICB0aXRsZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLnRpdGxlO1xuXG4gICAgcmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICdkaXYnLFxuICAgICAgeyBjbGFzc05hbWU6IGNsYXNzTmFtZSwga2V5OiAnZWFzeXBhbm9yYW1hLWJsb2NrLXNhdmUnIH0sXG4gICAgICB1cmwgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAnZmlndXJlJyxcbiAgICAgICAgeyBrZXk6ICdlYXN5cGFub3JhbWEtYmxvY2stc2F2ZS1maWd1cmUnIH0sXG4gICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJywgeyBrZXk6ICdlYXN5cGFub3JhbWEtYmxvY2stc2F2ZS1pbWFnZScsIGNsYXNzTmFtZTogJ3dwLWltYWdlLScgKyBpZCwgc3JjOiB1cmwsIGFsdDogYWx0LCB0aXRsZTogdGl0bGUgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///0\n");
/***/ }),
/* 1 */
/***/ (function(module, exports) {
eval("wp.i18n.setLocaleData({ '': {} }, 'easy-panorama');//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2kxOG4uanM/YmM2NCJdLCJzb3VyY2VzQ29udGVudCI6WyJ3cC5pMThuLnNldExvY2FsZURhdGEoeyAnJzoge30gfSwgJ2Vhc3ktcGFub3JhbWEnKTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2kxOG4uanNcbi8vIG1vZHVsZSBpZCA9IDFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///1\n");
/***/ }),
/* 2 */
/***/ (function(module, exports) {
eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2VkaXRvci5zY3NzPzQ0Y2QiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2VkaXRvci5zY3NzXG4vLyBtb2R1bGUgaWQgPSAyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///2\n");
/***/ }),
/* 3 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("var _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\nvar _wp$editor = wp.editor,\n MediaPlaceholder = _wp$editor.MediaPlaceholder,\n MediaUpload = _wp$editor.MediaUpload,\n MediaUploadCheck = _wp$editor.MediaUploadCheck,\n BlockControls = _wp$editor.BlockControls,\n InspectorControls = _wp$editor.InspectorControls;\nvar _wp$components = wp.components,\n Toolbar = _wp$components.Toolbar,\n IconButton = _wp$components.IconButton,\n RangeControl = _wp$components.RangeControl,\n ToggleControl = _wp$components.ToggleControl,\n TextControl = _wp$components.TextControl,\n SelectControl = _wp$components.SelectControl,\n PanelBody = _wp$components.PanelBody,\n Dashicon = _wp$components.Dashicon,\n Tooltip = _wp$components.Tooltip,\n Placeholder = _wp$components.Placeholder;\nvar withSelect = wp.data.withSelect;\n\n\nvar ALLOWED_MEDIA_TYPES = ['image'];\n\nvar PanoramaBlock = function (_Component) {\n _inherits(PanoramaBlock, _Component);\n\n function PanoramaBlock() {\n _classCallCheck(this, PanoramaBlock);\n\n var _this = _possibleConstructorReturn(this, (PanoramaBlock.__proto__ || Object.getPrototypeOf(PanoramaBlock)).apply(this, arguments));\n\n _this.setImageData = _this.setImageData.bind(_this);\n _this.onSelectImage = _this.onSelectImage.bind(_this);\n _this.onChangeMediaAlt = _this.onChangeMediaAlt.bind(_this);\n _this.onChangeMediaTitle = _this.onChangeMediaTitle.bind(_this);\n _this.onChangeContainerHeight = _this.onChangeContainerHeight.bind(_this);\n _this.onChangeStartPosition = _this.onChangeStartPosition.bind(_this);\n _this.onChangeGracefulFailure = _this.onChangeGracefulFailure.bind(_this);\n _this.onChangeFailureMessage = _this.onChangeFailureMessage.bind(_this);\n _this.onChangeFailureMessageInsert = _this.onChangeFailureMessageInsert.bind(_this);\n _this.onChangeMinimumOverflow = _this.onChangeMinimumOverflow.bind(_this);\n _this.onChangeDisplayMeta = _this.onChangeDisplayMeta.bind(_this);\n return _this;\n }\n\n _createClass(PanoramaBlock, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _props = this.props,\n url = _props.attributes.url,\n image = _props.image;\n\n if (!url && image && image.data !== undefined) {\n this.setImageData(image.data);\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n var _props2 = this.props,\n url = _props2.attributes.url,\n image = _props2.image;\n\n if (!url && image) {\n this.setImageData(image);\n }\n }\n\n /**\n * @description Set component data from received params\n * @param {object} Image data\n * @return {array} Errors\n */\n\n }, {\n key: 'setImageData',\n value: function setImageData(data) {\n var _props3 = this.props,\n _props3$attributes = _props3.attributes,\n url = _props3$attributes.url,\n alt = _props3$attributes.alt,\n title = _props3$attributes.title,\n setAttributes = _props3.setAttributes;\n\n if (!url) {\n setAttributes({\n url: data.source_url\n });\n }\n if (!alt) {\n setAttributes({\n alt: data.alt_text\n });\n }\n if (!title) {\n setAttributes({\n title: data.title.rendered\n });\n }\n }\n\n /**\n * @description Handle component image selection\n * @param {object} Component media data\n */\n\n }, {\n key: 'onSelectImage',\n value: function onSelectImage(media) {\n this.props.setAttributes({\n url: media.url,\n id: media.id,\n alt: media.alt,\n title: media.title\n });\n }\n }, {\n key: 'onChangeMediaAlt',\n\n\n /**\n * @description Handle component image alt update\n * @param {string} Image alt\n */\n value: function onChangeMediaAlt(alt) {\n this.props.setAttributes({\n alt: alt\n });\n }\n }, {\n key: 'onChangeMediaTitle',\n\n\n /**\n * @description Handle component image title update\n * @param {string} Image title\n */\n value: function onChangeMediaTitle(title) {\n this.props.setAttributes({\n title: title\n });\n }\n }, {\n key: 'onChangeContainerHeight',\n\n\n /**\n * @description Handle component container height update\n * @param {string} Container height\n */\n value: function onChangeContainerHeight(height) {\n this.props.setAttributes({\n containerHeight: Number(height)\n });\n }\n }, {\n key: 'onChangeStartPosition',\n\n\n /**\n * @description Handle component startPosition update\n * @param {string} startPosition\n */\n value: function onChangeStartPosition(position) {\n this.props.setAttributes({\n startPosition: position\n });\n }\n }, {\n key: 'onChangeGracefulFailure',\n\n\n /**\n * @description Handle component gracefulFailure update\n * @param none\n */\n value: function onChangeGracefulFailure() {\n var _props4 = this.props,\n gracefulFailure = _props4.attributes.gracefulFailure,\n setAttributes = _props4.setAttributes;\n\n setAttributes({\n gracefulFailure: !gracefulFailure\n });\n }\n }, {\n key: 'onChangeFailureMessage',\n\n\n /**\n * @description Handle component failureMessage update\n * @param {string} failureMessage\n */\n value: function onChangeFailureMessage(message) {\n this.props.setAttributes({\n failureMessage: message\n });\n }\n\n /**\n * @description Handle component failureMessageInsert update\n * @param {string} failureMessageInsert\n */\n\n }, {\n key: 'onChangeFailureMessageInsert',\n value: function onChangeFailureMessageInsert(position) {\n this.props.setAttributes({\n failureMessageInsert: position\n });\n }\n\n /**\n * @description Handle component minimumOverflow update\n * @param {string} minimumOverflow\n */\n\n }, {\n key: 'onChangeMinimumOverflow',\n value: function onChangeMinimumOverflow(value) {\n this.props.setAttributes({\n minimumOverflow: value\n });\n }\n\n /**\n * @description Handle component displayMeta update\n * @param none\n */\n\n }, {\n key: 'onChangeDisplayMeta',\n value: function onChangeDisplayMeta() {\n var _props5 = this.props,\n displayMeta = _props5.attributes.displayMeta,\n setAttributes = _props5.setAttributes;\n\n setAttributes({\n displayMeta: !displayMeta\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _props6 = this.props,\n isSelected = _props6.isSelected,\n className = _props6.className,\n image = _props6.image,\n _props6$attributes = _props6.attributes,\n url = _props6$attributes.url,\n id = _props6$attributes.id,\n alt = _props6$attributes.alt,\n title = _props6$attributes.title,\n containerHeight = _props6$attributes.containerHeight,\n startPosition = _props6$attributes.startPosition,\n gracefulFailure = _props6$attributes.gracefulFailure,\n failureMessage = _props6$attributes.failureMessage,\n failureMessageInsert = _props6$attributes.failureMessageInsert,\n minimumOverflow = _props6$attributes.minimumOverflow,\n displayMeta = _props6$attributes.displayMeta;\n\n\n var panoramaStyle = {\n height: containerHeight + 'px'\n };\n\n if (!url && image) {\n return [wp.element.createElement(\n Placeholder,\n {\n key: 'easypanorama-loading',\n icon: 'cover-image',\n label: __('Panorama'),\n className: 'easypanorama-loading'\n },\n wp.element.createElement(\n 'span',\n null,\n __('Loading...')\n )\n )];\n }\n\n if (!url && !image) {\n return [wp.element.createElement(MediaPlaceholder, {\n key: 'easypanorama-placeholder',\n icon: 'cover-image',\n labels: {\n title: __('Panorama'),\n name: __('images')\n },\n className: className,\n onSelect: this.onSelectImage,\n accept: 'image/*',\n allowedTypes: ALLOWED_MEDIA_TYPES\n })];\n };\n\n var controls = isSelected && wp.element.createElement(\n BlockControls,\n { key: 'easypanorama-controls' },\n wp.element.createElement(\n Toolbar,\n { key: 'easypanorama-toolbar' },\n wp.element.createElement(\n MediaUploadCheck,\n null,\n wp.element.createElement(MediaUpload, {\n key: 'easypanorama-mediaupload',\n onSelect: this.onSelectImage,\n allowedTypes: ALLOWED_MEDIA_TYPES,\n value: this.id,\n render: function render(_ref) {\n var open = _ref.open;\n return wp.element.createElement(IconButton, {\n key: 'easypanorama-openmedia',\n className: 'components-toolbar__control',\n label: __('Edit image'),\n icon: 'edit',\n onClick: open\n });\n }\n })\n )\n )\n );\n\n return [controls, isSelected && wp.element.createElement(\n InspectorControls,\n { key: 'easypanorama-inspector' },\n wp.element.createElement(\n PanelBody,\n { title: __('Panorama settings'), key: 'easypanorama-inspector-settings' },\n wp.element.createElement(TextControl, {\n key: 'easypanorama-control-containerHeight',\n label: __('Container height'),\n help: __('Insert the height for this panoramic image container.'),\n type: 'number',\n value: containerHeight,\n onChange: this.onChangeContainerHeight\n }),\n wp.element.createElement(RangeControl, {\n key: 'easypanorama-control-startPosition',\n label: __('Start position'),\n help: __('Determines the start position of the panorama: insert a value from 0 (left) to 10 (right).'),\n value: startPosition,\n onChange: this.onChangeStartPosition,\n min: 0,\n max: 10\n }),\n wp.element.createElement(ToggleControl, {\n key: 'easypanorama-control-displayMeta',\n label: __('Show meta on overlay'),\n checked: displayMeta,\n onChange: this.onChangeDisplayMeta\n }),\n displayMeta && wp.element.createElement(TextControl, {\n key: 'easypanorama-control-title',\n label: __('Title'),\n value: title,\n onChange: this.onChangeMediaTitle\n }),\n displayMeta && wp.element.createElement(TextControl, {\n key: 'easypanorama-control-alt',\n label: __('Description'),\n value: alt,\n onChange: this.onChangeMediaAlt\n })\n ),\n wp.element.createElement(\n PanelBody,\n { title: __('Advanced settings'), key: 'easypanorama-inspector-advanced' },\n wp.element.createElement(TextControl, {\n key: 'easypanorama-control-minimumOverflow',\n label: __('Minimum overflow'),\n help: __('The excess width in pixels the container must have before panorama kicks in.'),\n type: 'number',\n value: minimumOverflow,\n onChange: this.onChangeMinimumOverflow\n }),\n wp.element.createElement(ToggleControl, {\n key: 'easypanorama-control-gracefulFailure',\n label: __('Insert failure message'),\n checked: gracefulFailure,\n onChange: this.onChangeGracefulFailure\n }),\n gracefulFailure && wp.element.createElement(SelectControl, {\n key: 'easypanorama-control-failureMessageInsert',\n label: __('Position'),\n value: failureMessageInsert,\n options: [{ value: 'after', label: 'After the panorama container' }, { value: 'before', label: 'Before the panorama container' }],\n onChange: this.onChangeFailureMessageInsert\n }),\n gracefulFailure && wp.element.createElement(TextControl, {\n key: 'easypanorama-control-failureMessage',\n label: __('Message'),\n help: __('This message will appear in mobile devices with no gyroscopic data or no physical orientation support.'),\n value: failureMessage,\n onChange: this.onChangeFailureMessage\n })\n )\n ), wp.element.createElement(\n 'div',\n { className: className, key: 'epblock' },\n wp.element.createElement(\n 'div',\n { style: panoramaStyle, className: 'epblock__image-container', key: 'easypanorama-block' },\n wp.element.createElement('img', { src: url, alt: alt, title: title, className: 'wp-image-' + id, key: 'easypanorama-block-image' })\n ),\n wp.element.createElement(\n 'div',\n { className: 'epblock__help-text', key: 'easypanorama-block-help' },\n wp.element.createElement(\n Tooltip,\n { text: __('This is a preview, some features are not available.'), key: 'easypanorama-block-help-tooltip' },\n wp.element.createElement(\n 'span',\n { className: 'epblock__help-icon', key: 'easypanorama-block-help-icon-container' },\n wp.element.createElement(Dashicon, { size: '25', icon: 'info', key: 'easypanorama-block-help-icon' })\n )\n )\n )\n )];\n }\n }]);\n\n return PanoramaBlock;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (withSelect(function (select, ownProps) {\n var _select = select('core'),\n getMedia = _select.getMedia;\n\n var id = ownProps.attributes.id;\n\n return {\n image: id ? getMedia(id) : null\n };\n})(PanoramaBlock));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Jsb2NrLmpzPzM4OTciXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9jcmVhdGVDbGFzcyA9IGZ1bmN0aW9uICgpIHsgZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9IHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH07IH0oKTtcblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIENvbXBvbmVudCA9IHdwLmVsZW1lbnQuQ29tcG9uZW50O1xudmFyIF93cCRlZGl0b3IgPSB3cC5lZGl0b3IsXG4gICAgTWVkaWFQbGFjZWhvbGRlciA9IF93cCRlZGl0b3IuTWVkaWFQbGFjZWhvbGRlcixcbiAgICBNZWRpYVVwbG9hZCA9IF93cCRlZGl0b3IuTWVkaWFVcGxvYWQsXG4gICAgTWVkaWFVcGxvYWRDaGVjayA9IF93cCRlZGl0b3IuTWVkaWFVcGxvYWRDaGVjayxcbiAgICBCbG9ja0NvbnRyb2xzID0gX3dwJGVkaXRvci5CbG9ja0NvbnRyb2xzLFxuICAgIEluc3BlY3RvckNvbnRyb2xzID0gX3dwJGVkaXRvci5JbnNwZWN0b3JDb250cm9scztcbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgVG9vbGJhciA9IF93cCRjb21wb25lbnRzLlRvb2xiYXIsXG4gICAgSWNvbkJ1dHRvbiA9IF93cCRjb21wb25lbnRzLkljb25CdXR0b24sXG4gICAgUmFuZ2VDb250cm9sID0gX3dwJGNvbXBvbmVudHMuUmFuZ2VDb250cm9sLFxuICAgIFRvZ2dsZUNvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5Ub2dnbGVDb250cm9sLFxuICAgIFRleHRDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVGV4dENvbnRyb2wsXG4gICAgU2VsZWN0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlNlbGVjdENvbnRyb2wsXG4gICAgUGFuZWxCb2R5ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxCb2R5LFxuICAgIERhc2hpY29uID0gX3dwJGNvbXBvbmVudHMuRGFzaGljb24sXG4gICAgVG9vbHRpcCA9IF93cCRjb21wb25lbnRzLlRvb2x0aXAsXG4gICAgUGxhY2Vob2xkZXIgPSBfd3AkY29tcG9uZW50cy5QbGFjZWhvbGRlcjtcbnZhciB3aXRoU2VsZWN0ID0gd3AuZGF0YS53aXRoU2VsZWN0O1xuXG5cbnZhciBBTExPV0VEX01FRElBX1RZUEVTID0gWydpbWFnZSddO1xuXG52YXIgUGFub3JhbWFCbG9jayA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhQYW5vcmFtYUJsb2NrLCBfQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBQYW5vcmFtYUJsb2NrKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBQYW5vcmFtYUJsb2NrKTtcblxuICAgIHZhciBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChQYW5vcmFtYUJsb2NrLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoUGFub3JhbWFCbG9jaykpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuXG4gICAgX3RoaXMuc2V0SW1hZ2VEYXRhID0gX3RoaXMuc2V0SW1hZ2VEYXRhLmJpbmQoX3RoaXMpO1xuICAgIF90aGlzLm9uU2VsZWN0SW1hZ2UgPSBfdGhpcy5vblNlbGVjdEltYWdlLmJpbmQoX3RoaXMpO1xuICAgIF90aGlzLm9uQ2hhbmdlTWVkaWFBbHQgPSBfdGhpcy5vbkNoYW5nZU1lZGlhQWx0LmJpbmQoX3RoaXMpO1xuICAgIF90aGlzLm9uQ2hhbmdlTWVkaWFUaXRsZSA9IF90aGlzLm9uQ2hhbmdlTWVkaWFUaXRsZS5iaW5kKF90aGlzKTtcbiAgICBfdGhpcy5vbkNoYW5nZUNvbnRhaW5lckhlaWdodCA9IF90aGlzLm9uQ2hhbmdlQ29udGFpbmVySGVpZ2h0LmJpbmQoX3RoaXMpO1xuICAgIF90aGlzLm9uQ2hhbmdlU3RhcnRQb3NpdGlvbiA9IF90aGlzLm9uQ2hhbmdlU3RhcnRQb3NpdGlvbi5iaW5kKF90aGlzKTtcbiAgICBfdGhpcy5vbkNoYW5nZUdyYWNlZnVsRmFpbHVyZSA9IF90aGlzLm9uQ2hhbmdlR3JhY2VmdWxGYWlsdXJlLmJpbmQoX3RoaXMpO1xuICAgIF90aGlzLm9uQ2hhbmdlRmFpbHVyZU1lc3NhZ2UgPSBfdGhpcy5vbkNoYW5nZUZhaWx1cmVNZXNzYWdlLmJpbmQoX3RoaXMpO1xuICAgIF90aGlzLm9uQ2hhbmdlRmFpbHVyZU1lc3NhZ2VJbnNlcnQgPSBfdGhpcy5vbkNoYW5nZUZhaWx1cmVNZXNzYWdlSW5zZXJ0LmJpbmQoX3RoaXMpO1xuICAgIF90aGlzLm9uQ2hhbmdlTWluaW11bU92ZXJmbG93ID0gX3RoaXMub25DaGFuZ2VNaW5pbXVtT3ZlcmZsb3cuYmluZChfdGhpcyk7XG4gICAgX3RoaXMub25DaGFuZ2VEaXNwbGF5TWV0YSA9IF90aGlzLm9uQ2hhbmdlRGlzcGxheU1ldGEuYmluZChfdGhpcyk7XG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFBhbm9yYW1hQmxvY2ssIFt7XG4gICAga2V5OiAnY29tcG9uZW50RGlkTW91bnQnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIHZhciBfcHJvcHMgPSB0aGlzLnByb3BzLFxuICAgICAgICAgIHVybCA9IF9wcm9wcy5hdHRyaWJ1dGVzLnVybCxcbiAgICAgICAgICBpbWFnZSA9IF9wcm9wcy5pbWFnZTtcblxuICAgICAgaWYgKCF1cmwgJiYgaW1hZ2UgJiYgaW1hZ2UuZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuc2V0SW1hZ2VEYXRhKGltYWdlLmRhdGEpO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ2NvbXBvbmVudERpZFVwZGF0ZScsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIHZhciBfcHJvcHMyID0gdGhpcy5wcm9wcyxcbiAgICAgICAgICB1cmwgPSBfcHJvcHMyLmF0dHJpYnV0ZXMudXJsLFxuICAgICAgICAgIGltYWdlID0gX3Byb3BzMi5pbWFnZTtcblxuICAgICAgaWYgKCF1cmwgJiYgaW1hZ2UpIHtcbiAgICAgICAgdGhpcy5zZXRJbWFnZURhdGEoaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBTZXQgY29tcG9uZW50IGRhdGEgZnJvbSByZWNlaXZlZCBwYXJhbXNcbiAgICAgKiBAcGFyYW0ge29iamVjdH0gSW1hZ2UgZGF0YVxuICAgICAqIEByZXR1cm4ge2FycmF5fSBFcnJvcnNcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiAnc2V0SW1hZ2VEYXRhJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2V0SW1hZ2VEYXRhKGRhdGEpIHtcbiAgICAgIHZhciBfcHJvcHMzID0gdGhpcy5wcm9wcyxcbiAgICAgICAgICBfcHJvcHMzJGF0dHJpYnV0ZXMgPSBfcHJvcHMzLmF0dHJpYnV0ZXMsXG4gICAgICAgICAgdXJsID0gX3Byb3BzMyRhdHRyaWJ1dGVzLnVybCxcbiAgICAgICAgICBhbHQgPSBfcHJvcHMzJGF0dHJpYnV0ZXMuYWx0LFxuICAgICAgICAgIHRpdGxlID0gX3Byb3BzMyRhdHRyaWJ1dGVzLnRpdGxlLFxuICAgICAgICAgIHNldEF0dHJpYnV0ZXMgPSBfcHJvcHMzLnNldEF0dHJpYnV0ZXM7XG5cbiAgICAgIGlmICghdXJsKSB7XG4gICAgICAgIHNldEF0dHJpYnV0ZXMoe1xuICAgICAgICAgIHVybDogZGF0YS5zb3VyY2VfdXJsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKCFhbHQpIHtcbiAgICAgICAgc2V0QXR0cmlidXRlcyh7XG4gICAgICAgICAgYWx0OiBkYXRhLmFsdF90ZXh0XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKCF0aXRsZSkge1xuICAgICAgICBzZXRBdHRyaWJ1dGVzKHtcbiAgICAgICAgICB0aXRsZTogZGF0YS50aXRsZS5yZW5kZXJlZFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gSGFuZGxlIGNvbXBvbmVudCBpbWFnZSBzZWxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge29iamVjdH0gQ29tcG9uZW50IG1lZGlhIGRhdGFcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiAnb25TZWxlY3RJbWFnZScsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uU2VsZWN0SW1hZ2UobWVkaWEpIHtcbiAgICAgIHRoaXMucHJvcHMuc2V0QXR0cmlidXRlcyh7XG4gICAgICAgIHVybDogbWVkaWEudXJsLFxuICAgICAgICBpZDogbWVkaWEuaWQsXG4gICAgICAgIGFsdDogbWVkaWEuYWx0LFxuICAgICAgICB0aXRsZTogbWVkaWEudGl0bGVcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ29uQ2hhbmdlTWVkaWFBbHQnLFxuXG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gSGFuZGxlIGNvbXBvbmVudCBpbWFnZSBhbHQgdXBkYXRlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IEltYWdlIGFsdFxuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZU1lZGlhQWx0KGFsdCkge1xuICAgICAgdGhpcy5wcm9wcy5zZXRBdHRyaWJ1dGVzKHtcbiAgICAgICAgYWx0OiBhbHRcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ29uQ2hhbmdlTWVkaWFUaXRsZScsXG5cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBIYW5kbGUgY29tcG9uZW50IGltYWdlIHRpdGxlIHVwZGF0ZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBJbWFnZSB0aXRsZVxuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZU1lZGlhVGl0bGUodGl0bGUpIHtcbiAgICAgIHRoaXMucHJvcHMuc2V0QXR0cmlidXRlcyh7XG4gICAgICAgIHRpdGxlOiB0aXRsZVxuICAgICAgfSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnb25DaGFuZ2VDb250YWluZXJIZWlnaHQnLFxuXG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gSGFuZGxlIGNvbXBvbmVudCBjb250YWluZXIgaGVpZ2h0IHVwZGF0ZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBDb250YWluZXIgaGVpZ2h0XG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlQ29udGFpbmVySGVpZ2h0KGhlaWdodCkge1xuICAgICAgdGhpcy5wcm9wcy5zZXRBdHRyaWJ1dGVzKHtcbiAgICAgICAgY29udGFpbmVySGVpZ2h0OiBOdW1iZXIoaGVpZ2h0KVxuICAgICAgfSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnb25DaGFuZ2VTdGFydFBvc2l0aW9uJyxcblxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEhhbmRsZSBjb21wb25lbnQgc3RhcnRQb3NpdGlvbiB1cGRhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RhcnRQb3NpdGlvblxuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZVN0YXJ0UG9zaXRpb24ocG9zaXRpb24pIHtcbiAgICAgIHRoaXMucHJvcHMuc2V0QXR0cmlidXRlcyh7XG4gICAgICAgIHN0YXJ0UG9zaXRpb246IHBvc2l0aW9uXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdvbkNoYW5nZUdyYWNlZnVsRmFpbHVyZScsXG5cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBIYW5kbGUgY29tcG9uZW50IGdyYWNlZnVsRmFpbHVyZSB1cGRhdGVcbiAgICAgKiBAcGFyYW0gbm9uZVxuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZUdyYWNlZnVsRmFpbHVyZSgpIHtcbiAgICAgIHZhciBfcHJvcHM0ID0gdGhpcy5wcm9wcyxcbiAgICAgICAgICBncmFjZWZ1bEZhaWx1cmUgPSBfcHJvcHM0LmF0dHJpYnV0ZXMuZ3JhY2VmdWxGYWlsdXJlLFxuICAgICAgICAgIHNldEF0dHJpYnV0ZXMgPSBfcHJvcHM0LnNldEF0dHJpYnV0ZXM7XG5cbiAgICAgIHNldEF0dHJpYnV0ZXMoe1xuICAgICAgICBncmFjZWZ1bEZhaWx1cmU6ICFncmFjZWZ1bEZhaWx1cmVcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ29uQ2hhbmdlRmFpbHVyZU1lc3NhZ2UnLFxuXG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gSGFuZGxlIGNvbXBvbmVudCBmYWlsdXJlTWVzc2FnZSB1cGRhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZmFpbHVyZU1lc3NhZ2VcbiAgICAgKi9cbiAgICB2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VGYWlsdXJlTWVzc2FnZShtZXNzYWdlKSB7XG4gICAgICB0aGlzLnByb3BzLnNldEF0dHJpYnV0ZXMoe1xuICAgICAgICBmYWlsdXJlTWVzc2FnZTogbWVzc2FnZVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEhhbmRsZSBjb21wb25lbnQgZmFpbHVyZU1lc3NhZ2VJbnNlcnQgdXBkYXRlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmVNZXNzYWdlSW5zZXJ0XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogJ29uQ2hhbmdlRmFpbHVyZU1lc3NhZ2VJbnNlcnQnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZUZhaWx1cmVNZXNzYWdlSW5zZXJ0KHBvc2l0aW9uKSB7XG4gICAgICB0aGlzLnByb3BzLnNldEF0dHJpYnV0ZXMoe1xuICAgICAgICBmYWlsdXJlTWVzc2FnZUluc2VydDogcG9zaXRpb25cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBIYW5kbGUgY29tcG9uZW50IG1pbmltdW1PdmVyZmxvdyB1cGRhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWluaW11bU92ZXJmbG93XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogJ29uQ2hhbmdlTWluaW11bU92ZXJmbG93JyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VNaW5pbXVtT3ZlcmZsb3codmFsdWUpIHtcbiAgICAgIHRoaXMucHJvcHMuc2V0QXR0cmlidXRlcyh7XG4gICAgICAgIG1pbmltdW1PdmVyZmxvdzogdmFsdWVcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBIYW5kbGUgY29tcG9uZW50IGRpc3BsYXlNZXRhIHVwZGF0ZVxuICAgICAqIEBwYXJhbSBub25lXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogJ29uQ2hhbmdlRGlzcGxheU1ldGEnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZURpc3BsYXlNZXRhKCkge1xuICAgICAgdmFyIF9wcm9wczUgPSB0aGlzLnByb3BzLFxuICAgICAgICAgIGRpc3BsYXlNZXRhID0gX3Byb3BzNS5hdHRyaWJ1dGVzLmRpc3BsYXlNZXRhLFxuICAgICAgICAgIHNldEF0dHJpYnV0ZXMgPSBfcHJvcHM1LnNldEF0dHJpYnV0ZXM7XG5cbiAgICAgIHNldEF0dHJpYnV0ZXMoe1xuICAgICAgICBkaXNwbGF5TWV0YTogIWRpc3BsYXlNZXRhXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdyZW5kZXInLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICB2YXIgX3Byb3BzNiA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgaXNTZWxlY3RlZCA9IF9wcm9wczYuaXNTZWxlY3RlZCxcbiAgICAgICAgICBjbGFzc05hbWUgPSBfcHJvcHM2LmNsYXNzTmFtZSxcbiAgICAgICAgICBpbWFnZSA9IF9wcm9wczYuaW1hZ2UsXG4gICAgICAgICAgX3Byb3BzNiRhdHRyaWJ1dGVzID0gX3Byb3BzNi5hdHRyaWJ1dGVzLFxuICAgICAgICAgIHVybCA9IF9wcm9wczYkYXR0cmlidXRlcy51cmwsXG4gICAgICAgICAgaWQgPSBfcHJvcHM2JGF0dHJpYnV0ZXMuaWQsXG4gICAgICAgICAgYWx0ID0gX3Byb3BzNiRhdHRyaWJ1dGVzLmFsdCxcbiAgICAgICAgICB0aXRsZSA9IF9wcm9wczYkYXR0cmlidXRlcy50aXRsZSxcbiAgICAgICAgICBjb250YWluZXJIZWlnaHQgPSBfcHJvcHM2JGF0dHJpYnV0ZXMuY29udGFpbmVySGVpZ2h0LFxuICAgICAgICAgIHN0YXJ0UG9zaXRpb24gPSBfcHJvcHM2JGF0dHJpYnV0ZXMuc3RhcnRQb3NpdGlvbixcbiAgICAgICAgICBncmFjZWZ1bEZhaWx1cmUgPSBfcHJvcHM2JGF0dHJpYnV0ZXMuZ3JhY2VmdWxGYWlsdXJlLFxuICAgICAgICAgIGZhaWx1cmVNZXNzYWdlID0gX3Byb3BzNiRhdHRyaWJ1dGVzLmZhaWx1cmVNZXNzYWdlLFxuICAgICAgICAgIGZhaWx1cmVNZXNzYWdlSW5zZXJ0ID0gX3Byb3BzNiRhdHRyaWJ1dGVzLmZhaWx1cmVNZXNzYWdlSW5zZXJ0LFxuICAgICAgICAgIG1pbmltdW1PdmVyZmxvdyA9IF9wcm9wczYkYXR0cmlidXRlcy5taW5pbXVtT3ZlcmZsb3csXG4gICAgICAgICAgZGlzcGxheU1ldGEgPSBfcHJvcHM2JGF0dHJpYnV0ZXMuZGlzcGxheU1ldGE7XG5cblxuICAgICAgdmFyIHBhbm9yYW1hU3R5bGUgPSB7XG4gICAgICAgIGhlaWdodDogY29udGFpbmVySGVpZ2h0ICsgJ3B4J1xuICAgICAgfTtcblxuICAgICAgaWYgKCF1cmwgJiYgaW1hZ2UpIHtcbiAgICAgICAgcmV0dXJuIFt3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgUGxhY2Vob2xkZXIsXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiAnZWFzeXBhbm9yYW1hLWxvYWRpbmcnLFxuICAgICAgICAgICAgaWNvbjogJ2NvdmVyLWltYWdlJyxcbiAgICAgICAgICAgIGxhYmVsOiBfXygnUGFub3JhbWEnKSxcbiAgICAgICAgICAgIGNsYXNzTmFtZTogJ2Vhc3lwYW5vcmFtYS1sb2FkaW5nJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgJ3NwYW4nLFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIF9fKCdMb2FkaW5nLi4uJylcbiAgICAgICAgICApXG4gICAgICAgICldO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXVybCAmJiAhaW1hZ2UpIHtcbiAgICAgICAgcmV0dXJuIFt3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoTWVkaWFQbGFjZWhvbGRlciwge1xuICAgICAgICAgIGtleTogJ2Vhc3lwYW5vcmFtYS1wbGFjZWhvbGRlcicsXG4gICAgICAgICAgaWNvbjogJ2NvdmVyLWltYWdlJyxcbiAgICAgICAgICBsYWJlbHM6IHtcbiAgICAgICAgICAgIHRpdGxlOiBfXygnUGFub3JhbWEnKSxcbiAgICAgICAgICAgIG5hbWU6IF9fKCdpbWFnZXMnKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWUsXG4gICAgICAgICAgb25TZWxlY3Q6IHRoaXMub25TZWxlY3RJbWFnZSxcbiAgICAgICAgICBhY2NlcHQ6ICdpbWFnZS8qJyxcbiAgICAgICAgICBhbGxvd2VkVHlwZXM6IEFMTE9XRURfTUVESUFfVFlQRVNcbiAgICAgICAgfSldO1xuICAgICAgfTtcblxuICAgICAgdmFyIGNvbnRyb2xzID0gaXNTZWxlY3RlZCAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgIEJsb2NrQ29udHJvbHMsXG4gICAgICAgIHsga2V5OiAnZWFzeXBhbm9yYW1hLWNvbnRyb2xzJyB9LFxuICAgICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgVG9vbGJhcixcbiAgICAgICAgICB7IGtleTogJ2Vhc3lwYW5vcmFtYS10b29sYmFyJyB9LFxuICAgICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgIE1lZGlhVXBsb2FkQ2hlY2ssXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KE1lZGlhVXBsb2FkLCB7XG4gICAgICAgICAgICAgIGtleTogJ2Vhc3lwYW5vcmFtYS1tZWRpYXVwbG9hZCcsXG4gICAgICAgICAgICAgIG9uU2VsZWN0OiB0aGlzLm9uU2VsZWN0SW1hZ2UsXG4gICAgICAgICAgICAgIGFsbG93ZWRUeXBlczogQUxMT1dFRF9NRURJQV9UWVBFUyxcbiAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuaWQsXG4gICAgICAgICAgICAgIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKF9yZWYpIHtcbiAgICAgICAgICAgICAgICB2YXIgb3BlbiA9IF9yZWYub3BlbjtcbiAgICAgICAgICAgICAgICByZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHtcbiAgICAgICAgICAgICAgICAgIGtleTogJ2Vhc3lwYW5vcmFtYS1vcGVubWVkaWEnLFxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAnY29tcG9uZW50cy10b29sYmFyX19jb250cm9sJyxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBfXygnRWRpdCBpbWFnZScpLFxuICAgICAgICAgICAgICAgICAgaWNvbjogJ2VkaXQnLFxuICAgICAgICAgICAgICAgICAgb25DbGljazogb3BlblxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIFtjb250cm9scywgaXNTZWxlY3RlZCAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgIEluc3BlY3RvckNvbnRyb2xzLFxuICAgICAgICB7IGtleTogJ2Vhc3lwYW5vcmFtYS1pbnNwZWN0b3InIH0sXG4gICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgICBQYW5lbEJvZHksXG4gICAgICAgICAgeyB0aXRsZTogX18oJ1Bhbm9yYW1hIHNldHRpbmdzJyksIGtleTogJ2Vhc3lwYW5vcmFtYS1pbnNwZWN0b3Itc2V0dGluZ3MnIH0sXG4gICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG4gICAgICAgICAgICBrZXk6ICdlYXN5cGFub3JhbWEtY29udHJvbC1jb250YWluZXJIZWlnaHQnLFxuICAgICAgICAgICAgbGFiZWw6IF9fKCdDb250YWluZXIgaGVpZ2h0JyksXG4gICAgICAgICAgICBoZWxwOiBfXygnSW5zZXJ0IHRoZSBoZWlnaHQgZm9yIHRoaXMgcGFub3JhbWljIGltYWdlIGNvbnRhaW5lci4nKSxcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgdmFsdWU6IGNvbnRhaW5lckhlaWdodCxcbiAgICAgICAgICAgIG9uQ2hhbmdlOiB0aGlzLm9uQ2hhbmdlQ29udGFpbmVySGVpZ2h0XG4gICAgICAgICAgfSksXG4gICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJhbmdlQ29udHJvbCwge1xuICAgICAgICAgICAga2V5OiAnZWFzeXBhbm9yYW1hLWNvbnRyb2wtc3RhcnRQb3NpdGlvbicsXG4gICAgICAgICAgICBsYWJlbDogX18oJ1N0YXJ0IHBvc2l0aW9uJyksXG4gICAgICAgICAgICBoZWxwOiBfXygnRGV0ZXJtaW5lcyB0aGUgc3RhcnQgcG9zaXRpb24gb2YgdGhlIHBhbm9yYW1hOiBpbnNlcnQgYSB2YWx1ZSBmcm9tIDAgKGxlZnQpIHRvIDEwIChyaWdodCkuJyksXG4gICAgICAgICAgICB2YWx1ZTogc3RhcnRQb3NpdGlvbixcbiAgICAgICAgICAgIG9uQ2hhbmdlOiB0aGlzLm9uQ2hhbmdlU3RhcnRQb3NpdGlvbixcbiAgICAgICAgICAgIG1pbjogMCxcbiAgICAgICAgICAgIG1heDogMTBcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVG9nZ2xlQ29udHJvbCwge1xuICAgICAgICAgICAga2V5OiAnZWFzeXBhbm9yYW1hLWNvbnRyb2wtZGlzcGxheU1ldGEnLFxuICAgICAgICAgICAgbGFiZWw6IF9fKCdTaG93IG1ldGEgb24gb3ZlcmxheScpLFxuICAgICAgICAgICAgY2hlY2tlZDogZGlzcGxheU1ldGEsXG4gICAgICAgICAgICBvbkNoYW5nZTogdGhpcy5vbkNoYW5nZURpc3BsYXlNZXRhXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZGlzcGxheU1ldGEgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG4gICAgICAgICAgICBrZXk6ICdlYXN5cGFub3JhbWEtY29udHJvbC10aXRsZScsXG4gICAgICAgICAgICBsYWJlbDogX18oJ1RpdGxlJyksXG4gICAgICAgICAgICB2YWx1ZTogdGl0bGUsXG4gICAgICAgICAgICBvbkNoYW5nZTogdGhpcy5vbkNoYW5nZU1lZGlhVGl0bGVcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBkaXNwbGF5TWV0YSAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcbiAgICAgICAgICAgIGtleTogJ2Vhc3lwYW5vcmFtYS1jb250cm9sLWFsdCcsXG4gICAgICAgICAgICBsYWJlbDogX18oJ0Rlc2NyaXB0aW9uJyksXG4gICAgICAgICAgICB2YWx1ZTogYWx0LFxuICAgICAgICAgICAgb25DaGFuZ2U6IHRoaXMub25DaGFuZ2VNZWRpYUFsdFxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgICBQYW5lbEJvZHksXG4gICAgICAgICAgeyB0aXRsZTogX18oJ0FkdmFuY2VkIHNldHRpbmdzJyksIGtleTogJ2Vhc3lwYW5vcmFtYS1pbnNwZWN0b3ItYWR2YW5jZWQnIH0sXG4gICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG4gICAgICAgICAgICBrZXk6ICdlYXN5cGFub3JhbWEtY29udHJvbC1taW5pbXVtT3ZlcmZsb3cnLFxuICAgICAgICAgICAgbGFiZWw6IF9fKCdNaW5pbXVtIG92ZXJmbG93JyksXG4gICAgICAgICAgICBoZWxwOiBfXygnVGhlIGV4Y2VzcyB3aWR0aCBpbiBwaXhlbHMgdGhlIGNvbnRhaW5lciBtdXN0IGhhdmUgYmVmb3JlIHBhbm9yYW1hIGtpY2tzIGluLicpLFxuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICB2YWx1ZTogbWluaW11bU92ZXJmbG93LFxuICAgICAgICAgICAgb25DaGFuZ2U6IHRoaXMub25DaGFuZ2VNaW5pbXVtT3ZlcmZsb3dcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVG9nZ2xlQ29udHJvbCwge1xuICAgICAgICAgICAga2V5OiAnZWFzeXBhbm9yYW1hLWNvbnRyb2wtZ3JhY2VmdWxGYWlsdXJlJyxcbiAgICAgICAgICAgIGxhYmVsOiBfXygnSW5zZXJ0IGZhaWx1cmUgbWVzc2FnZScpLFxuICAgICAgICAgICAgY2hlY2tlZDogZ3JhY2VmdWxGYWlsdXJlLFxuICAgICAgICAgICAgb25DaGFuZ2U6IHRoaXMub25DaGFuZ2VHcmFjZWZ1bEZhaWx1cmVcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBncmFjZWZ1bEZhaWx1cmUgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcbiAgICAgICAgICAgIGtleTogJ2Vhc3lwYW5vcmFtYS1jb250cm9sLWZhaWx1cmVNZXNzYWdlSW5zZXJ0JyxcbiAgICAgICAgICAgIGxhYmVsOiBfXygnUG9zaXRpb24nKSxcbiAgICAgICAgICAgIHZhbHVlOiBmYWlsdXJlTWVzc2FnZUluc2VydCxcbiAgICAgICAgICAgIG9wdGlvbnM6IFt7IHZhbHVlOiAnYWZ0ZXInLCBsYWJlbDogJ0FmdGVyIHRoZSBwYW5vcmFtYSBjb250YWluZXInIH0sIHsgdmFsdWU6ICdiZWZvcmUnLCBsYWJlbDogJ0JlZm9yZSB0aGUgcGFub3JhbWEgY29udGFpbmVyJyB9XSxcbiAgICAgICAgICAgIG9uQ2hhbmdlOiB0aGlzLm9uQ2hhbmdlRmFpbHVyZU1lc3NhZ2VJbnNlcnRcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBncmFjZWZ1bEZhaWx1cmUgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG4gICAgICAgICAgICBrZXk6ICdlYXN5cGFub3JhbWEtY29udHJvbC1mYWlsdXJlTWVzc2FnZScsXG4gICAgICAgICAgICBsYWJlbDogX18oJ01lc3NhZ2UnKSxcbiAgICAgICAgICAgIGhlbHA6IF9fKCdUaGlzIG1lc3NhZ2Ugd2lsbCBhcHBlYXIgaW4gbW9iaWxlIGRldmljZXMgd2l0aCBubyBneXJvc2NvcGljIGRhdGEgb3Igbm8gcGh5c2ljYWwgb3JpZW50YXRpb24gc3VwcG9ydC4nKSxcbiAgICAgICAgICAgIHZhbHVlOiBmYWlsdXJlTWVzc2FnZSxcbiAgICAgICAgICAgIG9uQ2hhbmdlOiB0aGlzLm9uQ2hhbmdlRmFpbHVyZU1lc3NhZ2VcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApLCB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICdkaXYnLFxuICAgICAgICB7IGNsYXNzTmFtZTogY2xhc3NOYW1lLCBrZXk6ICdlcGJsb2NrJyB9LFxuICAgICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgJ2RpdicsXG4gICAgICAgICAgeyBzdHlsZTogcGFub3JhbWFTdHlsZSwgY2xhc3NOYW1lOiAnZXBibG9ja19faW1hZ2UtY29udGFpbmVyJywga2V5OiAnZWFzeXBhbm9yYW1hLWJsb2NrJyB9LFxuICAgICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJywgeyBzcmM6IHVybCwgYWx0OiBhbHQsIHRpdGxlOiB0aXRsZSwgY2xhc3NOYW1lOiAnd3AtaW1hZ2UtJyArIGlkLCBrZXk6ICdlYXN5cGFub3JhbWEtYmxvY2staW1hZ2UnIH0pXG4gICAgICAgICksXG4gICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAnZGl2JyxcbiAgICAgICAgICB7IGNsYXNzTmFtZTogJ2VwYmxvY2tfX2hlbHAtdGV4dCcsIGtleTogJ2Vhc3lwYW5vcmFtYS1ibG9jay1oZWxwJyB9LFxuICAgICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgIFRvb2x0aXAsXG4gICAgICAgICAgICB7IHRleHQ6IF9fKCdUaGlzIGlzIGEgcHJldmlldywgc29tZSBmZWF0dXJlcyBhcmUgbm90IGF2YWlsYWJsZS4nKSwga2V5OiAnZWFzeXBhbm9yYW1hLWJsb2NrLWhlbHAtdG9vbHRpcCcgfSxcbiAgICAgICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgICAgJ3NwYW4nLFxuICAgICAgICAgICAgICB7IGNsYXNzTmFtZTogJ2VwYmxvY2tfX2hlbHAtaWNvbicsIGtleTogJ2Vhc3lwYW5vcmFtYS1ibG9jay1oZWxwLWljb24tY29udGFpbmVyJyB9LFxuICAgICAgICAgICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoRGFzaGljb24sIHsgc2l6ZTogJzI1JywgaWNvbjogJ2luZm8nLCBrZXk6ICdlYXN5cGFub3JhbWEtYmxvY2staGVscC1pY29uJyB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKV07XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFBhbm9yYW1hQmxvY2s7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTZWxlY3QoZnVuY3Rpb24gKHNlbGVjdCwgb3duUHJvcHMpIHtcbiAgdmFyIF9zZWxlY3QgPSBzZWxlY3QoJ2NvcmUnKSxcbiAgICAgIGdldE1lZGlhID0gX3NlbGVjdC5nZXRNZWRpYTtcblxuICB2YXIgaWQgPSBvd25Qcm9wcy5hdHRyaWJ1dGVzLmlkO1xuXG4gIHJldHVybiB7XG4gICAgaW1hZ2U6IGlkID8gZ2V0TWVkaWEoaWQpIDogbnVsbFxuICB9O1xufSkoUGFub3JhbWFCbG9jayk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ibG9jay5qc1xuLy8gbW9kdWxlIGlkID0gM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///3\n");
/***/ })
/******/ ]);