⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.45
Server IP:
185.238.29.86
Server:
Linux server2 6.8.12-6-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-6 (2024-12-19T19:05Z) x86_64
Server Software:
nginx/1.18.0
PHP Version:
8.1.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
works.probilgiegitim.com
/
public
/
dist
/
js
/
View File Name :
ea30613a825b84365874.js
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[144],{ /***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/pages/sales/returns/create.vue?vue&type=script&lang=js&": /*!**************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/pages/sales/returns/create.vue?vue&type=script&lang=js& ***! \**************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vform__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vform */ \"./node_modules/vform/dist/vform.es.js\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! axios */ \"./node_modules/axios/index.js\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = \"function\" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || \"@@iterator\", asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\", toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, \"\"); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: \"normal\", arg: fn.call(obj, arg) }; } catch (err) { return { type: \"throw\", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { [\"next\", \"throw\", \"return\"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if (\"throw\" !== record.type) { var result = record.arg, value = result.value; return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke(\"next\", value, resolve, reject); }, function (err) { invoke(\"throw\", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke(\"throw\", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, \"_invoke\", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = \"suspendedStart\"; return function (method, arg) { if (\"executing\" === state) throw new Error(\"Generator is already running\"); if (\"completed\" === state) { if (\"throw\" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) { if (\"suspendedStart\" === state) throw state = \"completed\", context.arg; context.dispatchException(context.arg); } else \"return\" === context.method && context.abrupt(\"return\", context.arg); state = \"executing\"; var record = tryCatch(innerFn, self, context); if (\"normal\" === record.type) { if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = \"normal\", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: \"root\" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if (\"function\" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, \"constructor\", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) { var ctor = \"function\" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, \"toString\", function () { return \"[object Generator]\"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if (\"throw\" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if (\"root\" === entry.tryLoc) return handle(\"end\"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, \"catchLoc\"), hasFinally = hasOwn.call(entry, \"finallyLoc\"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error(\"try statement without catch or finally\"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if (\"throw\" === record.type) throw record.arg; return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, \"catch\": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if (\"throw\" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\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; }\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; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n middleware: ['auth', 'check-permissions'],\n metaInfo: function metaInfo() {\n return {\n title: this.$t('sales.returns.create.page_title')\n };\n },\n data: function data() {\n return {\n breadcrumbsCurrent: 'sales.returns.create.breadcrumbs_current',\n breadcrumbs: [{\n name: 'sales.returns.create.breadcrumbs_first',\n url: 'home'\n }, {\n name: 'sales.returns.create.breadcrumbs_second',\n url: 'invoiceReturns.index'\n }, {\n name: 'sales.returns.create.breadcrumbs_active',\n url: ''\n }],\n form: new vform__WEBPACK_IMPORTED_MODULE_0__[\"default\"]({\n returnReason: '',\n account: '',\n availableBalance: 0,\n chequeNo: '',\n receiptNo: '',\n client: '',\n invoice: '',\n product: '',\n selectedProducts: [],\n totalReturn: 0,\n date: new Date().toISOString().slice(0, 10),\n note: '',\n status: 1,\n invoiceTax: 0,\n newTax: 0,\n invoiceDiscount: 0,\n discountType: 0,\n discountPercentage: 0,\n invoiceTransport: 0,\n invoiceTaxRate: 0,\n invoiceTotal: 0,\n invoiceDue: 0,\n totalPaid: 0,\n newDue: 0,\n newDueText: '',\n returnAmount: 0,\n returnAmountText: 0,\n newSubTotal: 0\n }),\n products: '',\n accounts: '',\n clientInvoices: '',\n prefix: ''\n };\n },\n computed: _objectSpread({}, Object(vuex__WEBPACK_IMPORTED_MODULE_2__[\"mapGetters\"])('operations', ['items', 'appInfo'])),\n created: function created() {\n this.getClients();\n this.getProducts();\n this.getAccounts();\n this.prefix = this.appInfo.productPrefix;\n },\n methods: {\n // get all clients\n getClients: function getClients() {\n var _this = this;\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this.$store.dispatch('operations/allData', {\n path: '/api/all-clients'\n });\n case 2:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }))();\n },\n // get products\n getProducts: function getProducts() {\n var _this2 = this;\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {\n var _yield$axios$get, data;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return axios__WEBPACK_IMPORTED_MODULE_1___default.a.get(window.location.origin + '/api/all-products');\n case 2:\n _yield$axios$get = _context2.sent;\n data = _yield$axios$get.data;\n _this2.products = data.data;\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }))();\n },\n // get accounts\n getAccounts: function getAccounts() {\n var _this3 = this;\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {\n var _yield$axios$get2, data;\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return axios__WEBPACK_IMPORTED_MODULE_1___default.a.get(window.location.origin + '/api/all-accounts');\n case 2:\n _yield$axios$get2 = _context3.sent;\n data = _yield$axios$get2.data;\n _this3.accounts = data.data;\n case 5:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }))();\n },\n // update available balance\n updateBalance: function updateBalance() {\n this.form.availableBalance = 0;\n if (this.form.account) {\n this.form.availableBalance = this.form.account.availableBalance;\n }\n return;\n },\n // assign invoices\n assignInvoices: function assignInvoices() {\n var _this4 = this;\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n _this4.form.selectedProducts = [];\n _this4.form.invoice = '';\n if (_this4.form.client) {\n axios__WEBPACK_IMPORTED_MODULE_1___default.a.post(window.location.origin + '/api/client/filter-invoices', {\n products: _this4.form.product,\n clientSlug: _this4.form.client.slug\n }).then(function (response) {\n _this4.clientInvoices = response.data.data;\n });\n } else {\n _this4.form.product = '';\n _this4.form.client = '';\n }\n case 3:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }))();\n },\n // store item in array\n storeProducts: function storeProducts() {\n this.form.selectedProducts = [];\n this.form.invoiceTax = this.form.invoice.tax;\n this.form.newTax = this.form.invoice.tax;\n this.form.invoiceTaxRate = this.form.invoice.taxRate;\n this.form.invoiceTotal = this.form.invoice.invoiceTotal;\n this.form.invoiceTransport = this.form.invoice.transport;\n this.form.invoiceDiscount = this.form.invoice.discount;\n this.form.discountType = this.form.invoice.discountType;\n this.form.discountPercentage = this.form.invoice.discountPercentage;\n this.form.invoiceDue = this.form.invoice.due;\n this.form.newDue = this.form.invoice.due;\n this.form.newDueText = this.form.invoice.due;\n for (var key in this.form.invoice.invoiceProducts) {\n var invoiceItem = this.form.invoice.invoiceProducts[key];\n this.form.selectedProducts.unshift({\n id: invoiceItem.productID,\n slug: invoiceItem.productSlug,\n name: invoiceItem.productName,\n code: invoiceItem.productCode,\n unit: invoiceItem.productUnit,\n taxType: invoiceItem.taxType,\n taxRate: invoiceItem.taxRate,\n oldQty: invoiceItem.quantity,\n qty: invoiceItem.quantity,\n returnQty: invoiceItem.returnQty,\n totalReturnQty: invoiceItem.quantity - invoiceItem.returnQty,\n inventoryCount: invoiceItem.inventoryCount,\n avgPurchasePrice: invoiceItem.purchasePrice,\n unitPrice: invoiceItem.salePrice,\n unitCost: invoiceItem.unitCost,\n totalPrice: invoiceItem.unitCostTotal,\n returnTotal: 0,\n productTax: invoiceItem.unitTax,\n totalTax: invoiceItem.taxTotal,\n maxQty: invoiceItem.quantity - 1\n });\n }\n return;\n },\n // update items\n updateItem: function updateItem(value, index) {\n var selectedProduct = this.form.selectedProducts[index];\n if (selectedProduct && value >= 0 && value < selectedProduct.qty) {\n selectedProduct.returnQty = Number(value);\n selectedProduct.returnTotal = selectedProduct.returnQty * selectedProduct.unitCost;\n this.form.selectedProducts[index] = selectedProduct;\n }\n this.calculateSum();\n },\n // calculate sum\n calculateSum: function calculateSum() {\n // calculate total\n var length = this.form.selectedProducts.length;\n this.form.newSubTotal = this.form.totalReturn = 0;\n for (var i = 0; i < length; i++) {\n var looProduct = this.form.selectedProducts[i];\n this.form.newSubTotal += Number(((looProduct.qty - looProduct.returnQty) * looProduct.unitCost).toFixed(2));\n this.form.totalReturn += Number(looProduct.returnTotal.toFixed(2));\n }\n\n // update discount\n if (this.form.discountType == 1) {\n this.form.invoiceDiscount = Number(this.form.discountPercentage / 100 * this.form.newSubTotal).toFixed(2);\n }\n\n // update tax, total and due\n this.form.newTax = Number((this.form.invoiceTaxRate.rate / 100 * this.form.newSubTotal).toFixed(2));\n this.form.invoiceTotal = Number((this.form.newSubTotal + this.form.newTax + this.form.invoiceTransport - this.form.invoiceDiscount).toFixed(2));\n this.form.invoiceDue = Number((this.form.invoiceTotal - this.form.invoice.totalPaid).toFixed(2));\n\n // calculate new due or payable\n if (this.form.invoiceDue >= 0) {\n this.form.newDue = this.form.invoiceTotal - this.form.invoice.totalPaid;\n this.form.newDueText = this.form.invoiceTotal + ' - ' + this.form.invoice.totalPaid + ' = ' + Number(this.form.newDue).toFixed(2);\n this.form.returnAmount = 0;\n } else {\n this.form.returnAmount = Number((this.form.invoice.totalPaid - this.form.invoiceTotal).toFixed(2));\n this.form.returnAmountText = this.form.invoice.totalPaid + ' - ' + this.form.invoiceTotal + ' = ' + this.form.returnAmount;\n this.form.invoiceDue = 0;\n this.form.newDue = 0;\n }\n return;\n },\n // save return\n saveInvoiceReturn: function saveInvoiceReturn() {\n var _this5 = this;\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {\n return _regeneratorRuntime().wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return _this5.form.post(window.location.origin + '/api/invoice-returns').then(function (_ref) {\n var data = _ref.data;\n toast.fire({\n type: 'success',\n title: _this5.$t('sales.returns.create.success_msg')\n });\n _this5.$router.push({\n name: 'invoiceReturns.show',\n params: {\n slug: data.data.slug\n }\n });\n })[\"catch\"](function () {\n toast.fire({\n type: 'error',\n title: _this5.$t('common.error_msg')\n });\n });\n case 2:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }))();\n }\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL3BhZ2VzL3NhbGVzL3JldHVybnMvY3JlYXRlLnZ1ZT8xNWNhIl0sIm5hbWVzIjpbIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJleHBvcnRzIiwiT3AiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd24iLCJoYXNPd25Qcm9wZXJ0eSIsImRlZmluZVByb3BlcnR5Iiwib2JqIiwia2V5IiwiZGVzYyIsInZhbHVlIiwiJFN5bWJvbCIsIlN5bWJvbCIsIml0ZXJhdG9yU3ltYm9sIiwiaXRlcmF0b3IiLCJhc3luY0l0ZXJhdG9yU3ltYm9sIiwiYXN5bmNJdGVyYXRvciIsInRvU3RyaW5nVGFnU3ltYm9sIiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJlcnIiLCJ3cmFwIiwiaW5uZXJGbiIsIm91dGVyRm4iLCJzZWxmIiwidHJ5TG9jc0xpc3QiLCJwcm90b0dlbmVyYXRvciIsIkdlbmVyYXRvciIsImdlbmVyYXRvciIsImNyZWF0ZSIsImNvbnRleHQiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwiZm4iLCJhcmciLCJ0eXBlIiwiY2FsbCIsIkNvbnRpbnVlU2VudGluZWwiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwiSXRlcmF0b3JQcm90b3R5cGUiLCJnZXRQcm90byIsImdldFByb3RvdHlwZU9mIiwiTmF0aXZlSXRlcmF0b3JQcm90b3R5cGUiLCJ2YWx1ZXMiLCJHcCIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsImZvckVhY2giLCJtZXRob2QiLCJfaW52b2tlIiwiQXN5bmNJdGVyYXRvciIsIlByb21pc2VJbXBsIiwiaW52b2tlIiwicmVzb2x2ZSIsInJlamVjdCIsInJlY29yZCIsInJlc3VsdCIsIl90eXBlb2YiLCJfX2F3YWl0IiwidGhlbiIsInVud3JhcHBlZCIsImVycm9yIiwicHJldmlvdXNQcm9taXNlIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJzdGF0ZSIsIkVycm9yIiwiZG9uZVJlc3VsdCIsImRlbGVnYXRlIiwiZGVsZWdhdGVSZXN1bHQiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJkb25lIiwibWV0aG9kTmFtZSIsInVuZGVmaW5lZCIsIlR5cGVFcnJvciIsImluZm8iLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJsb2NzIiwiZW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsIml0ZXJhYmxlIiwiaXRlcmF0b3JNZXRob2QiLCJpc05hTiIsImxlbmd0aCIsImkiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJnZW5GdW4iLCJjdG9yIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJpdGVyIiwia2V5cyIsInZhbCIsIm9iamVjdCIsInJldmVyc2UiLCJwb3AiLCJza2lwVGVtcFJlc2V0IiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJvb3RSZWNvcmQiLCJydmFsIiwiZXhjZXB0aW9uIiwiaGFuZGxlIiwibG9jIiwiY2F1Z2h0IiwiaGFzQ2F0Y2giLCJoYXNGaW5hbGx5IiwiZmluYWxseUVudHJ5IiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJ0aHJvd24iLCJkZWxlZ2F0ZVlpZWxkIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwiX25leHQiLCJfdGhyb3ciLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsIm93bktleXMiLCJlbnVtZXJhYmxlT25seSIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfb2JqZWN0U3ByZWFkIiwidGFyZ2V0Iiwic291cmNlIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfdG9Qcm9wZXJ0eUtleSIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsImlucHV0IiwiaGludCIsInByaW0iLCJ0b1ByaW1pdGl2ZSIsInJlcyIsIk51bWJlciIsIm1pZGRsZXdhcmUiLCJtZXRhSW5mbyIsInRpdGxlIiwiJHQiLCJkYXRhIiwiYnJlYWRjcnVtYnNDdXJyZW50IiwiYnJlYWRjcnVtYnMiLCJ1cmwiLCJmb3JtIiwiRm9ybSIsInJldHVyblJlYXNvbiIsImFjY291bnQiLCJhdmFpbGFibGVCYWxhbmNlIiwiY2hlcXVlTm8iLCJyZWNlaXB0Tm8iLCJjbGllbnQiLCJpbnZvaWNlIiwicHJvZHVjdCIsInNlbGVjdGVkUHJvZHVjdHMiLCJ0b3RhbFJldHVybiIsImRhdGUiLCJEYXRlIiwidG9JU09TdHJpbmciLCJub3RlIiwic3RhdHVzIiwiaW52b2ljZVRheCIsIm5ld1RheCIsImludm9pY2VEaXNjb3VudCIsImRpc2NvdW50VHlwZSIsImRpc2NvdW50UGVyY2VudGFnZSIsImludm9pY2VUcmFuc3BvcnQiLCJpbnZvaWNlVGF4UmF0ZSIsImludm9pY2VUb3RhbCIsImludm9pY2VEdWUiLCJ0b3RhbFBhaWQiLCJuZXdEdWUiLCJuZXdEdWVUZXh0IiwicmV0dXJuQW1vdW50IiwicmV0dXJuQW1vdW50VGV4dCIsIm5ld1N1YlRvdGFsIiwicHJvZHVjdHMiLCJhY2NvdW50cyIsImNsaWVudEludm9pY2VzIiwicHJlZml4IiwiY29tcHV0ZWQiLCJtYXBHZXR0ZXJzIiwiY3JlYXRlZCIsImdldENsaWVudHMiLCJnZXRQcm9kdWN0cyIsImdldEFjY291bnRzIiwiYXBwSW5mbyIsInByb2R1Y3RQcmVmaXgiLCJtZXRob2RzIiwiX3RoaXMiLCJfY2FsbGVlIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsIiRzdG9yZSIsImRpc3BhdGNoIiwicGF0aCIsIl90aGlzMiIsIl9jYWxsZWUyIiwiX3lpZWxkJGF4aW9zJGdldCIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsImF4aW9zIiwiZ2V0Iiwid2luZG93IiwibG9jYXRpb24iLCJvcmlnaW4iLCJfdGhpczMiLCJfY2FsbGVlMyIsIl95aWVsZCRheGlvcyRnZXQyIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQzIiwidXBkYXRlQmFsYW5jZSIsImFzc2lnbkludm9pY2VzIiwiX3RoaXM0IiwiX2NhbGxlZTQiLCJfY2FsbGVlNCQiLCJfY29udGV4dDQiLCJwb3N0IiwiY2xpZW50U2x1ZyIsInNsdWciLCJyZXNwb25zZSIsInN0b3JlUHJvZHVjdHMiLCJ0YXgiLCJ0YXhSYXRlIiwidHJhbnNwb3J0IiwiZGlzY291bnQiLCJkdWUiLCJpbnZvaWNlUHJvZHVjdHMiLCJpbnZvaWNlSXRlbSIsInVuc2hpZnQiLCJpZCIsInByb2R1Y3RJRCIsInByb2R1Y3RTbHVnIiwicHJvZHVjdE5hbWUiLCJjb2RlIiwicHJvZHVjdENvZGUiLCJ1bml0IiwicHJvZHVjdFVuaXQiLCJ0YXhUeXBlIiwib2xkUXR5IiwicXVhbnRpdHkiLCJxdHkiLCJyZXR1cm5RdHkiLCJ0b3RhbFJldHVyblF0eSIsImludmVudG9yeUNvdW50IiwiYXZnUHVyY2hhc2VQcmljZSIsInB1cmNoYXNlUHJpY2UiLCJ1bml0UHJpY2UiLCJzYWxlUHJpY2UiLCJ1bml0Q29zdCIsInRvdGFsUHJpY2UiLCJ1bml0Q29zdFRvdGFsIiwicmV0dXJuVG90YWwiLCJwcm9kdWN0VGF4IiwidW5pdFRheCIsInRvdGFsVGF4IiwidGF4VG90YWwiLCJtYXhRdHkiLCJ1cGRhdGVJdGVtIiwiaW5kZXgiLCJzZWxlY3RlZFByb2R1Y3QiLCJjYWxjdWxhdGVTdW0iLCJsb29Qcm9kdWN0IiwidG9GaXhlZCIsInJhdGUiLCJzYXZlSW52b2ljZVJldHVybiIsIl90aGlzNSIsIl9jYWxsZWU1IiwiX2NhbGxlZTUkIiwiX2NvbnRleHQ1IiwiX3JlZiIsInRvYXN0IiwiZmlyZSIsIiRyb3V0ZXIiLCJwYXJhbXMiXSwibWFwcGluZ3MiOiI7Ozs7OzsrQ0FrUkEscUpBQUFBLG1CQUFBLFlBQUFBLG9CQUFBLFdBQUFDLE9BQUEsU0FBQUEsT0FBQSxPQUFBQyxFQUFBLEdBQUFDLE1BQUEsQ0FBQUMsU0FBQSxFQUFBQyxNQUFBLEdBQUFILEVBQUEsQ0FBQUksY0FBQSxFQUFBQyxjQUFBLEdBQUFKLE1BQUEsQ0FBQUksY0FBQSxjQUFBQyxHQUFBLEVBQUFDLEdBQUEsRUFBQUMsSUFBQSxJQUFBRixHQUFBLENBQUFDLEdBQUEsSUFBQUMsSUFBQSxDQUFBQyxLQUFBLEtBQUFDLE9BQUEsd0JBQUFDLE1BQUEsR0FBQUEsTUFBQSxPQUFBQyxjQUFBLEdBQUFGLE9BQUEsQ0FBQUcsUUFBQSxrQkFBQUMsbUJBQUEsR0FBQUosT0FBQSxDQUFBSyxhQUFBLHVCQUFBQyxpQkFBQSxHQUFBTixPQUFBLENBQUFPLFdBQUEsOEJBQUFDLE9BQUFaLEdBQUEsRUFBQUMsR0FBQSxFQUFBRSxLQUFBLFdBQUFSLE1BQUEsQ0FBQUksY0FBQSxDQUFBQyxHQUFBLEVBQUFDLEdBQUEsSUFBQUUsS0FBQSxFQUFBQSxLQUFBLEVBQUFVLFVBQUEsTUFBQUMsWUFBQSxNQUFBQyxRQUFBLFNBQUFmLEdBQUEsQ0FBQUMsR0FBQSxXQUFBVyxNQUFBLG1CQUFBSSxHQUFBLElBQUFKLE1BQUEsWUFBQUEsT0FBQVosR0FBQSxFQUFBQyxHQUFBLEVBQUFFLEtBQUEsV0FBQUgsR0FBQSxDQUFBQyxHQUFBLElBQUFFLEtBQUEsZ0JBQUFjLEtBQUFDLE9BQUEsRUFBQUMsT0FBQSxFQUFBQyxJQUFBLEVBQUFDLFdBQUEsUUFBQUMsY0FBQSxHQUFBSCxPQUFBLElBQUFBLE9BQUEsQ0FBQXZCLFNBQUEsWUFBQTJCLFNBQUEsR0FBQUosT0FBQSxH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QUFBO2NBQUEsT0FDQXdOLE1BQUEsQ0FBQTFILElBQUEsQ0FDQXlFLElBQUEsQ0FBQWQsTUFBQSxDQUFBQyxRQUFBLENBQUFDLE1BQUEsMkJBQ0FoTCxJQUFBLFdBQUFpUCxJQUFBO2dCQUFBLElBQUFsSSxJQUFBLEdBQUFrSSxJQUFBLENBQUFsSSxJQUFBO2dCQUNBbUksS0FBQSxDQUFBQyxJQUFBO2tCQUNBM1EsSUFBQTtrQkFDQXFJLEtBQUEsRUFBQWdJLE1BQUEsQ0FBQS9ILEVBQUE7Z0JBQ0E7Z0JBQ0ErSCxNQUFBLENBQUFPLE9BQUEsQ0FBQXJOLElBQUE7a0JBQUFjLElBQUE7a0JBQUF3TSxNQUFBO29CQUFBdkQsSUFBQSxFQUFBL0UsSUFBQSxDQUFBQSxJQUFBLENBQUErRTtrQkFBQTtnQkFBQTtjQUNBLFdBQ0E7Z0JBQ0FvRCxLQUFBLENBQUFDLElBQUE7a0JBQUEzUSxJQUFBO2tCQUFBcUksS0FBQSxFQUFBZ0ksTUFBQSxDQUFBL0gsRUFBQTtnQkFBQTtjQUNBO1lBQUE7WUFBQTtjQUFBLE9BQUFrSSxTQUFBLENBQUFsTCxJQUFBO1VBQUE7UUFBQSxHQUFBZ0wsUUFBQTtNQUFBO0lBQ0E7RUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcmVzb3VyY2VzL2pzL3BhZ2VzL3NhbGVzL3JldHVybnMvY3JlYXRlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG4gIDxkaXY+XG4gICAgPCEtLSBicmVhZGNydW1icyBTdGFydCAtLT5cbiAgICA8YnJlYWRjcnVtYnMgOml0ZW1zPVwiYnJlYWRjcnVtYnNcIiA6Y3VycmVudD1cImJyZWFkY3J1bWJzQ3VycmVudFwiIC8+XG4gICAgPCEtLSBicmVhZGNydW1icyBlbmQgLS0+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBjb2wteGwtMTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGVcIj5cbiAgICAgICAgICAgICAge3sgJHQoJ3NhbGVzLnJldHVybnMuY3JlYXRlLmZvcm1fdGl0bGUnKSB9fVxuICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgIDxyb3V0ZXItbGluayA6dG89XCJ7IG5hbWU6ICdpbnZvaWNlUmV0dXJucy5pbmRleCcgfVwiIGNsYXNzPVwiYnRuIGJ0bi1kYXJrIGZsb2F0LXJpZ2h0XCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWxvbmctYXJyb3ctYWx0LWxlZnRcIiAvPiB7eyAkdCgnY29tbW9uLmJhY2snKSB9fVxuICAgICAgICAgICAgPC9yb3V0ZXItbGluaz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8IS0tIC8uY2FyZC1oZWFkZXIgLS0+XG4gICAgICAgICAgPCEtLSBmb3JtIHN0YXJ0IC0tPlxuICAgICAgICAgIDxmb3JtIHJvbGU9XCJmb3JtXCIgQHN1Ym1pdC5wcmV2ZW50PVwic2F2ZUludm9pY2VSZXR1cm5cIiBAa2V5ZG93bj1cImZvcm0ub25LZXlkb3duKCRldmVudClcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIHYtaWY9XCJpdGVtc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC02XCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicmV0dXJuUmVhc29uXCI+e3sgJHQoJ2NvbW1vbi5yZXR1cm5fcmVhc29uJykgfX1cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cInJldHVyblJlYXNvblwiIHYtbW9kZWw9XCJmb3JtLnJldHVyblJlYXNvblwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICA6Y2xhc3M9XCJ7ICdpcy1pbnZhbGlkJzogZm9ybS5lcnJvcnMuaGFzKCdyZXR1cm5SZWFzb24nKSB9XCIgbmFtZT1cInJldHVyblJlYXNvblwiXG4gICAgICAgICAgICAgICAgICAgIDpwbGFjZWhvbGRlcj1cIiR0KCdjb21tb24ucmV0dXJuX3JlYXNvbl9wbGFjZWhvbGRlcicpXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxoYXMtZXJyb3IgOmZvcm09XCJmb3JtXCIgZmllbGQ9XCJyZXR1cm5SZWFzb25cIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC02XCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiY2xpZW50XCI+e3sgJHQoJ2NvbW1vbi5jbGllbnQnKSB9fVxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPHYtc2VsZWN0IHYtbW9kZWw9XCJmb3JtLmNsaWVudFwiIDpvcHRpb25zPVwiaXRlbXNcIiBsYWJlbD1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICA6Y2xhc3M9XCJ7ICdpcy1pbnZhbGlkJzogZm9ybS5lcnJvcnMuaGFzKCdjbGllbnQnKSB9XCIgbmFtZT1cImNsaWVudFwiXG4gICAgICAgICAgICAgICAgICAgIDpwbGFjZWhvbGRlcj1cIiR0KCdjb21tb24uY2xpZW50X3BsYWNlaG9sZGVyJylcIiBAaW5wdXQ9XCJhc3NpZ25JbnZvaWNlc1wiIC8+XG4gICAgICAgICAgICAgICAgICA8aGFzLWVycm9yIDpmb3JtPVwiZm9ybVwiIGZpZWxkPVwiY2xpZW50XCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgdi1pZj1cInByb2R1Y3RzXCIgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtMTJcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwcm9kdWN0XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgJHQoJ2NvbW1vbi5zZWxlY3RfcHJvZHVjdHMnKVxuICAgICAgICAgICAgICAgICAgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPHYtc2VsZWN0IDpkaXNhYmxlZD1cImZvcm0uY2xpZW50ID09ICcnXCIgbXVsdGlwbGUgdi1tb2RlbD1cImZvcm0ucHJvZHVjdFwiIDpvcHRpb25zPVwicHJvZHVjdHNcIlxuICAgICAgICAgICAgICAgICAgICBsYWJlbD1cImxhYmVsXCIgOmNsYXNzPVwieyAnaXMtaW52YWxpZCc6IGZvcm0uZXJyb3JzLmhhcygncHJvZHVjdCcpIH1cIiBuYW1lPVwicHJvZHVjdFwiXG4gICAgICAgICAgICAgICAgICAgIDpwbGFjZWhvbGRlcj1cIiR0KCdjb21tb24uc2VsZWN0X3Byb2R1Y3RzX3BsYWNlaG9sZGVyJylcIiBAaW5wdXQ9XCJhc3NpZ25JbnZvaWNlc1wiIC8+XG4gICAgICAgICAgICAgICAgICA8aGFzLWVycm9yIDpmb3JtPVwiZm9ybVwiIGZpZWxkPVwicHJvZHVjdFwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgdi1pZj1cImZvcm0uY2xpZW50ICYmIGNsaWVudEludm9pY2VzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTEyXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW52b2ljZVwiPnt7ICR0KCdjb21tb24uaW52b2ljZXMnKSB9fVxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPHYtc2VsZWN0IHYtbW9kZWw9XCJmb3JtLmludm9pY2VcIiA6b3B0aW9ucz1cImNsaWVudEludm9pY2VzXCIgbGFiZWw9XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIDpjbGFzcz1cInsgJ2lzLWludmFsaWQnOiBmb3JtLmVycm9ycy5oYXMoJ2ludm9pY2UnKSB9XCIgbmFtZT1cImludm9pY2VcIlxuICAgICAgICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9XCIkdCgnY29tbW9uLmludm9pY2VzX3BsYWNlaG9sZGVyJylcIiBAaW5wdXQ9XCJzdG9yZVByb2R1Y3RzXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxoYXMtZXJyb3IgOmZvcm09XCJmb3JtXCIgZmllbGQ9XCJpbnZvaWNlXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgdi1pZj1cImZvcm0uc2VsZWN0ZWRQcm9kdWN0cyAmJiBmb3JtLnNlbGVjdGVkUHJvZHVjdHMubGVuZ3RoID4gMFwiIGNsYXNzPVwicm93IG10LTMgbWItNFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImZvcm0uZXJyb3JzLmVycm9ycyAmJiBmb3JtLmVycm9ycy5lcnJvcnMuc2VsZWN0ZWRQcm9kdWN0c1xuICAgICAgICAgICAgICAgICAgXCIgY2xhc3M9XCJ3LTk1IG0tYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiB2LWZvcj1cIihtc2csIGkpIGluIGZvcm0uZXJyb3JzLmVycm9ycy5zZWxlY3RlZFByb2R1Y3RzXCIgOmtleT1cImlcIiBjbGFzcz1cImNhbGxvdXQgY2FsbG91dC1kYW5nZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9XCJpY29uIGZhcyBmYS1iYW5cIj48L2k+IHt7IG1zZyB9fTwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlIHRhYmxlLWN1c3RvbSB3LTk1IG0tYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtaG92ZXIgdGFibGUtc20gdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57eyAkdCgnY29tbW9uLnNfbm8nKSB9fTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+e3sgJHQoJ2NvbW1vbi5jb2RlJykgfX08L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7ICR0KCdjb21tb24ucHJvZHVjdF9uYW1lJykgfX08L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7ICR0KCdjb21tb24uaW52b2ljZV9xdHknKSB9fTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+e3sgJHQoJ2NvbW1vbi5jdXJyZW50X3F0eScpIH19PC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57eyAkdCgnY29tbW9uLnJldHVybl9xdHknKSB9fTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+e3sgJHQoJ2NvbW1vbi51bml0X3ByaWNlJykgfX08L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7ICR0KCdjb21tb24udG90YWxfcHJpY2UnKSB9fTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICR0KCdjb21tb24ucmV0dXJuX3ByaWNlJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgICAgIDx0ciB2LWZvcj1cIihpdGVtLCBpKSBpbiBmb3JtLnNlbGVjdGVkUHJvZHVjdHNcIiA6a2V5PVwiaVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ICsraSB9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3sgaXRlbS5jb2RlIHwgd2l0aFByZWZpeChwcmVmaXgpIH19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHJvdXRlci1saW5rIHYtaWY9XCIkY2FuKCdwcm9kdWN0LXZpZXcnKVwiIDp0bz1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAncHJvZHVjdHMuc2hvdycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IHNsdWc6IGl0ZW0uc2x1ZyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvcm91dGVyLWxpbms+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHYtZWxzZT57eyBpdGVtLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7IGl0ZW0ucXR5IH19IHt7IGl0ZW0udW5pdCB9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3sgaXRlbS50b3RhbFJldHVyblF0eSB9fSB7eyBpdGVtLnVuaXQgfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgY3VzdG9tLXF0eS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiYnV0dG9uXCIgdmFsdWU9XCItXCIgY2xhc3M9XCJidXR0b24tbWludXMgaWNvbi1zaGFwZSBpY29uLXNtIGJ0bi1kYW5nZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD1cInF1YW50aXR5XCIgQGNsaWNrPVwidXBkYXRlSXRlbShpdGVtLnJldHVyblF0eSAtIDEsIGkgLSAxKVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBzdGVwPVwiYW55XCIgOmlkPVwiYHJldHVyblF0eS0ke2l9YFwiIDp2YWx1ZT1cIml0ZW0ucmV0dXJuUXR5XCIgbmFtZT1cInF1YW50aXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicXVhbnRpdHktZmllbGQgYm9yZGVyLTAgaW5jcmVtZW50b3JcIiBtaW49XCIwXCIgOm1heD1cIml0ZW0ubWF4UXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjaGFuZ2U9XCJ1cGRhdGVJdGVtKCRldmVudC50YXJnZXQudmFsdWUsIGkgLSAxKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAa2V5dXA9XCJ1cGRhdGVJdGVtKCRldmVudC50YXJnZXQudmFsdWUsIGkgLSAxKVwiIHBsYWNlaG9sZGVyPVwiUmV0dXJuIFF0eVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJidXR0b25cIiB2YWx1ZT1cIitcIiBjbGFzcz1cImJ1dHRvbi1wbHVzIGljb24tc2hhcGUgaWNvbi1zbSBidG4tcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPVwicXVhbnRpdHlcIiBAY2xpY2s9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlSXRlbShOdW1iZXIoaXRlbS5yZXR1cm5RdHkpICsgMSwgaSAtIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyBpdGVtLnVuaXRDb3N0IHwgd2l0aEN1cnJlbmN5IH19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyBpdGVtLnRvdGFsUHJpY2UgfCB3aXRoQ3VycmVuY3kgfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnJldHVyblRvdGFsIHwgd2l0aEN1cnJlbmN5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgPHRyIHYtaWY9XCJmb3JtLmludm9pY2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiN1wiIGNsYXNzPVwidGV4dC1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7ICR0KCdjb21tb24uc3VidG90YWwnKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtLmludm9pY2Uuc3ViVG90YWwgfCB3aXRoQ3VycmVuY3lcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgZm9ybS50b3RhbFJldHVybiB8IHdpdGhDdXJyZW5jeSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgdi1pZj1cImZvcm0uaW52b2ljZVwiIGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPGRpdiB2LWlmPVwiZm9ybS5kaXNjb3VudFBlcmNlbnRhZ2UgPiAwXCIgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC0yXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZGlzY291bnRUeXBlXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgJHQoJ2NvbW1vbi5kaXNjb3VudF90eXBlJylcbiAgICAgICAgICAgICAgICAgIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxzZWxlY3QgaWQ9XCJkaXNjb3VudFR5cGVcIiB2LW1vZGVsPVwiZm9ybS5kaXNjb3VudFR5cGVcIiBzdGVwPVwiYW55XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICA6Y2xhc3M9XCJ7ICdpcy1pbnZhbGlkJzogZm9ybS5lcnJvcnMuaGFzKCdkaXNjb3VudFR5cGUnKSB9XCIgbmFtZT1cImRpc2NvdW50VHlwZVwiIGRpc2FibGVkPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMFwiPnt7ICR0KCdjb21tb24uZml4ZWQnKSB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMVwiPnt7ICR0KCdjb21tb24ucGVyY2VudGFnZScpIH19KCUpPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICAgIDxoYXMtZXJyb3IgOmZvcm09XCJmb3JtXCIgZmllbGQ9XCJkaXNjb3VudFR5cGVcIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgOmNsYXNzPVwiZm9ybS5kaXNjb3VudFBlcmNlbnRhZ2UgPiAwID8gJ2NvbC1tZC0yJyA6ICdjb2wtbWQtNCdcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJpbnZvaWNlRGlzY291bnRcIj57e1xuICAgICAgICAgICAgICAgICAgICAkdCgnY29tbW9uLnRvdGFsX2Rpc2NvdW50JylcbiAgICAgICAgICAgICAgICAgIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImludm9pY2VEaXNjb3VudFwiIHYtbW9kZWw9XCJmb3JtLmludm9pY2VEaXNjb3VudFwiIHR5cGU9XCJudW1iZXJcIiBzdGVwPVwiYW55XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwiaW52b2ljZURpc2NvdW50XCIgcmVhZG9ubHkgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtNFwiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImludm9pY2VUcmFuc3BvcnRcIj57e1xuICAgICAgICAgICAgICAgICAgICAkdCgnY29tbW9uLnRyYW5zcG9ydF9jb3N0JylcbiAgICAgICAgICAgICAgICAgIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImludm9pY2VUcmFuc3BvcnRcIiB2LW1vZGVsPVwiZm9ybS5pbnZvaWNlVHJhbnNwb3J0XCIgdHlwZT1cIm51bWJlclwiIHN0ZXA9XCJhbnlcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiIG5hbWU9XCJpbnZvaWNlVHJhbnNwb3J0XCIgcmVhZG9ubHkgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtNFwiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImludm9pY2VUYXhcIj57e1xuICAgICAgICAgICAgICAgICAgICAkdCgnc2FsZXMuY29tbW9uLmludm9pY2VfdGF4JylcbiAgICAgICAgICAgICAgICAgIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImludm9pY2VUYXhcIiB2LW1vZGVsPVwiZm9ybS5uZXdUYXhcIiB0eXBlPVwibnVtYmVyXCIgc3RlcD1cImFueVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cImludm9pY2VUYXhcIiByZWFkb25seSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC00XCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW52b2ljZVRvdGFsXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgJHQoJ3NhbGVzLmNvbW1vbi5pbnZvaWNlX3RvdGFsJylcbiAgICAgICAgICAgICAgICAgIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImludm9pY2VUb3RhbFwiIHYtbW9kZWw9XCJmb3JtLmludm9pY2VUb3RhbFwiIHR5cGU9XCJudW1iZXJcIiBzdGVwPVwiYW55XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwiaW52b2ljZVRvdGFsXCIgcmVhZG9ubHkgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtNFwiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInRvdGFsUGFpZFwiPnt7ICR0KCdjb21tb24udG90YWxfcGFpZCcpIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cInRvdGFsUGFpZFwiIHYtbW9kZWw9XCJmb3JtLmludm9pY2UudG90YWxQYWlkXCIgdHlwZT1cIm51bWJlclwiIHN0ZXA9XCJhbnlcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJ0b3RhbFBhaWRcIiByZWFkb25seSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImZvcm0ucmV0dXJuQW1vdW50ID4gMFwiIGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtNFwiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJldHVybkFtb3VudFRleHRcIj57e1xuICAgICAgICAgICAgICAgICAgICAkdCgnY29tbW9uLnJldHVybl9hbW91bnQnKVxuICAgICAgICAgICAgICAgICAgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwicmV0dXJuQW1vdW50VGV4dFwiIHYtbW9kZWw9XCJmb3JtLnJldHVybkFtb3VudFRleHRcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgOmNsYXNzPVwie1xuICAgICAgICAgICAgICAgICAgICAnaXMtaW52YWxpZCc6IGZvcm0uZXJyb3JzLmhhcygncmV0dXJuQW1vdW50VGV4dCcpLFxuICAgICAgICAgICAgICAgICAgfVwiIG5hbWU9XCJyZXR1cm5BbW91bnRUZXh0XCIgcmVhZG9ubHkgLz5cbiAgICAgICAgICAgICAgICAgIDxoYXMtZXJyb3IgOmZvcm09XCJmb3JtXCIgZmllbGQ9XCJyZXR1cm5BbW91bnRUZXh0XCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IHYtZWxzZSBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJuZXdEdWVUZXh0XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgJHQoJ3NhbGVzLmNvbW1vbi5uZXdfZHVlJylcbiAgICAgICAgICAgICAgICAgIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cIm5ld0R1ZVRleHRcIiB2LW1vZGVsPVwiZm9ybS5uZXdEdWVUZXh0XCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIDpjbGFzcz1cInsgJ2lzLWludmFsaWQnOiBmb3JtLmVycm9ycy5oYXMoJ25ld0R1ZVRleHQnKSB9XCIgbmFtZT1cIm5ld0R1ZVRleHRcIiByZWFkb25seSAvPlxuICAgICAgICAgICAgICAgICAgPGhhcy1lcnJvciA6Zm9ybT1cImZvcm1cIiBmaWVsZD1cIm5ld0R1ZVRleHRcIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiB2LWlmPVwiYWNjb3VudHMgJiYgZm9ybS5yZXR1cm5BbW91bnQgPiAwXCIgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtNFwiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImFjY291bnRcIj57eyAkdCgnY29tbW9uLmFjY291bnQnKSB9fVxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPHYtc2VsZWN0IHYtbW9kZWw9XCJmb3JtLmFjY291bnRcIiA6b3B0aW9ucz1cImFjY291bnRzXCIgbGFiZWw9XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIDpjbGFzcz1cInsgJ2lzLWludmFsaWQnOiBmb3JtLmVycm9ycy5oYXMoJ2FjY291bnQnKSB9XCIgbmFtZT1cImFjY291bnRcIlxuICAgICAgICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9XCIkdCgnY29tbW9uLmFjY291bnRfcGxhY2Vob2xkZXInKVwiIEBpbnB1dD1cInVwZGF0ZUJhbGFuY2VcIiAvPlxuICAgICAgICAgICAgICAgICAgPGhhcy1lcnJvciA6Zm9ybT1cImZvcm1cIiBmaWVsZD1cImFjY291bnRcIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC0yXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiYXZhaWxhYmxlQmFsYW5jZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICR0KCdjb21tb24uYXZhaWxhYmxlX2JhbGFuY2UnKVxuICAgICAgICAgICAgICAgICAgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiYXZhaWxhYmxlQmFsYW5jZVwiIHYtbW9kZWw9XCJmb3JtLmF2YWlsYWJsZUJhbGFuY2VcIiB0eXBlPVwibnVtYmVyXCIgc3RlcD1cImFueVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgOmNsYXNzPVwie1xuICAgICAgICAgICAgICAgICAgICAgICdpcy1pbnZhbGlkJzogZm9ybS5lcnJvcnMuaGFzKCdhdmFpbGFibGVCYWxhbmNlJyksXG4gICAgICAgICAgICAgICAgICAgIH1cIiBuYW1lPVwiYXZhaWxhYmxlQmFsYW5jZVwiIHJlYWRvbmx5IC8+XG4gICAgICAgICAgICAgICAgICA8aGFzLWVycm9yIDpmb3JtPVwiZm9ybVwiIGZpZWxkPVwiYXZhaWxhYmxlQmFsYW5jZVwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTNcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJjaGVxdWVOb1wiPnt7ICR0KCdjb21tb24uY2hlcXVlX25vJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiY2hlcXVlTm9cIiB2LW1vZGVsPVwiZm9ybS5jaGVxdWVOb1wiIHR5cGU9XCJ0ZXh0XCIgc3RlcD1cImFueVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgOmNsYXNzPVwieyAnaXMtaW52YWxpZCc6IGZvcm0uZXJyb3JzLmhhcygnY2hlcXVlTm8nKSB9XCIgbmFtZT1cImNoZXF1ZU5vXCJcbiAgICAgICAgICAgICAgICAgICAgOnBsYWNlaG9sZGVyPVwiJHQoJ2NvbW1vbi5jaGVxdWVfcGxhY2Vob2xkZXInKVwiIC8+XG4gICAgICAgICAgICAgICAgICA8aGFzLWVycm9yIDpmb3JtPVwiZm9ybVwiIGZpZWxkPVwiY2hlcXVlTm9cIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC0zXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicmVjZWlwdE5vXCI+e3sgJHQoJ2NvbW1vbi5yZWNlaXB0X25vJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwicmVjZWlwdE5vXCIgdi1tb2RlbD1cImZvcm0ucmVjZWlwdE5vXCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIDpjbGFzcz1cInsgJ2lzLWludmFsaWQnOiBmb3JtLmVycm9ycy5oYXMoJ3JlY2VpcHRObycpIH1cIiBuYW1lPVwicmVjZWlwdE5vXCJcbiAgICAgICAgICAgICAgICAgICAgOnBsYWNlaG9sZGVyPVwiJHQoJ2NvbW1vbi5yZWNlaXB0X25vX3BsYWNlaG9sZGVyJylcIiAvPlxuICAgICAgICAgICAgICAgICAgPGhhcy1lcnJvciA6Zm9ybT1cImZvcm1cIiBmaWVsZD1cInJlY2VpcHROb1wiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJub3RlXCI+e3sgJHQoJ2NvbW1vbi5ub3RlJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBpZD1cIm5vdGVcIiB2LW1vZGVsPVwiZm9ybS5ub3RlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgOmNsYXNzPVwieyAnaXMtaW52YWxpZCc6IGZvcm0uZXJyb3JzLmhhcygnbm90ZScpIH1cIiA6cGxhY2Vob2xkZXI9XCIkdCgnY29tbW9uLm5vdGVfcGxhY2Vob2xkZXInKVwiIC8+XG4gICAgICAgICAgICAgICAgPGhhcy1lcnJvciA6Zm9ybT1cImZvcm1cIiBmaWVsZD1cIm5vdGVcIiAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC02XCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZGF0ZVwiPnt7ICR0KCdzYWxlcy5jb21tb24ucmV0dXJuX2RhdGUnKSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJkYXRlXCIgdi1tb2RlbD1cImZvcm0uZGF0ZVwiIHR5cGU9XCJkYXRlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICA6Y2xhc3M9XCJ7ICdpcy1pbnZhbGlkJzogZm9ybS5lcnJvcnMuaGFzKCdkYXRlJykgfVwiIG5hbWU9XCJkYXRlXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxoYXMtZXJyb3IgOmZvcm09XCJmb3JtXCIgZmllbGQ9XCJkYXRlXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtNlwiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInN0YXR1c1wiPnt7ICR0KCdjb21tb24uc3RhdHVzJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPHNlbGVjdCBpZD1cInN0YXR1c1wiIHYtbW9kZWw9XCJmb3JtLnN0YXR1c1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgOmNsYXNzPVwieyAnaXMtaW52YWxpZCc6IGZvcm0uZXJyb3JzLmhhcygnc3RhdHVzJykgfVwiPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMVwiPnt7ICR0KCdjb21tb24uYWN0aXZlJykgfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjBcIj57eyAkdCgnY29tbW9uLmluX2FjdGl2ZScpIH19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICAgIDxoYXMtZXJyb3IgOmZvcm09XCJmb3JtXCIgZmllbGQ9XCJzdGF0dXNcIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPCEtLSAvLmNhcmQtYm9keSAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlclwiPlxuICAgICAgICAgICAgICA8di1idXR0b24gOmxvYWRpbmc9XCJmb3JtLmJ1c3lcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXNhdmVcIiAvPiB7eyAkdCgnY29tbW9uLnNhdmUnKSB9fVxuICAgICAgICAgICAgICA8L3YtYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJyZXNldFwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgZmxvYXQtcmlnaHRcIiBAY2xpY2s9XCJmb3JtLnJlc2V0KClcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1wb3dlci1vZmZcIiAvPiB7eyAkdCgnY29tbW9uLnJlc2V0JykgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC90ZW1wbGF0ZT5cbjxzY3JpcHQ+XG5pbXBvcnQgRm9ybSBmcm9tICd2Zm9ybSdcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcydcbmltcG9ydCB7IG1hcEdldHRlcnMgfSBmcm9tICd2dWV4J1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG1pZGRsZXdhcmU6IFsnYXV0aCcsICdjaGVjay1wZXJtaXNzaW9ucyddLFxuICBtZXRhSW5mbygpIHtcbiAgICByZXR1cm4geyB0aXRsZTogdGhpcy4kdCgnc2FsZXMucmV0dXJucy5jcmVhdGUucGFnZV90aXRsZScpIH1cbiAgfSxcbiAgZGF0YTogKCkgPT4gKHtcbiAgICBicmVhZGNydW1ic0N1cnJlbnQ6ICdzYWxlcy5yZXR1cm5zLmNyZWF0ZS5icmVhZGNydW1ic19jdXJyZW50JyxcbiAgICBicmVhZGNydW1iczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnc2FsZXMucmV0dXJucy5jcmVhdGUuYnJlYWRjcnVtYnNfZmlyc3QnLFxuICAgICAgICB1cmw6ICdob21lJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzYWxlcy5yZXR1cm5zLmNyZWF0ZS5icmVhZGNydW1ic19zZWNvbmQnLFxuICAgICAgICB1cmw6ICdpbnZvaWNlUmV0dXJucy5pbmRleCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc2FsZXMucmV0dXJucy5jcmVhdGUuYnJlYWRjcnVtYnNfYWN0aXZlJyxcbiAgICAgICAgdXJsOiAnJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmb3JtOiBuZXcgRm9ybSh7XG4gICAgICByZXR1cm5SZWFzb246ICcnLFxuICAgICAgYWNjb3VudDogJycsXG4gICAgICBhdmFpbGFibGVCYWxhbmNlOiAwLFxuICAgICAgY2hlcXVlTm86ICcnLFxuICAgICAgcmVjZWlwdE5vOiAnJyxcbiAgICAgIGNsaWVudDogJycsXG4gICAgICBpbnZvaWNlOiAnJyxcbiAgICAgIHByb2R1Y3Q6ICcnLFxuICAgICAgc2VsZWN0ZWRQcm9kdWN0czogW10sXG4gICAgICB0b3RhbFJldHVybjogMCxcbiAgICAgIGRhdGU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zbGljZSgwLCAxMCksXG4gICAgICBub3RlOiAnJyxcbiAgICAgIHN0YXR1czogMSxcbiAgICAgIGludm9pY2VUYXg6IDAsXG4gICAgICBuZXdUYXg6IDAsXG4gICAgICBpbnZvaWNlRGlzY291bnQ6IDAsXG4gICAgICBkaXNjb3VudFR5cGU6IDAsXG4gICAgICBkaXNjb3VudFBlcmNlbnRhZ2U6IDAsXG4gICAgICBpbnZvaWNlVHJhbnNwb3J0OiAwLFxuICAgICAgaW52b2ljZVRheFJhdGU6IDAsXG4gICAgICBpbnZvaWNlVG90YWw6IDAsXG4gICAgICBpbnZvaWNlRHVlOiAwLFxuICAgICAgdG90YWxQYWlkOiAwLFxuICAgICAgbmV3RHVlOiAwLFxuICAgICAgbmV3RHVlVGV4dDogJycsXG4gICAgICByZXR1cm5BbW91bnQ6IDAsXG4gICAgICByZXR1cm5BbW91bnRUZXh0OiAwLFxuICAgICAgbmV3U3ViVG90YWw6IDAsXG4gICAgfSksXG4gICAgcHJvZHVjdHM6ICcnLFxuICAgIGFjY291bnRzOiAnJyxcbiAgICBjbGllbnRJbnZvaWNlczogJycsXG4gICAgcHJlZml4OiAnJyxcbiAgfSksXG4gIGNvbXB1dGVkOiB7XG4gICAgLi4ubWFwR2V0dGVycygnb3BlcmF0aW9ucycsIFsnaXRlbXMnLCAnYXBwSW5mbyddKSxcbiAgfSxcbiAgY3JlYXRlZCgpIHtcbiAgICB0aGlzLmdldENsaWVudHMoKVxuICAgIHRoaXMuZ2V0UHJvZHVjdHMoKVxuICAgIHRoaXMuZ2V0QWNjb3VudHMoKVxuICAgIHRoaXMucHJlZml4ID0gdGhpcy5hcHBJbmZvLnByb2R1Y3RQcmVmaXhcbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIC8vIGdldCBhbGwgY2xpZW50c1xuICAgIGFzeW5jIGdldENsaWVudHMoKSB7XG4gICAgICBhd2FpdCB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnb3BlcmF0aW9ucy9hbGxEYXRhJywge1xuICAgICAgICBwYXRoOiAnL2FwaS9hbGwtY2xpZW50cycsXG4gICAgICB9KVxuICAgIH0sXG5cbiAgICAvLyBnZXQgcHJvZHVjdHNcbiAgICBhc3luYyBnZXRQcm9kdWN0cygpIHtcbiAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgYXhpb3MuZ2V0KFxuICAgICAgICB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgJy9hcGkvYWxsLXByb2R1Y3RzJ1xuICAgICAgKVxuICAgICAgdGhpcy5wcm9kdWN0cyA9IGRhdGEuZGF0YVxuICAgIH0sXG5cbiAgICAvLyBnZXQgYWNjb3VudHNcbiAgICBhc3luYyBnZXRBY2NvdW50cygpIHtcbiAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgYXhpb3MuZ2V0KFxuICAgICAgICB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgJy9hcGkvYWxsLWFjY291bnRzJ1xuICAgICAgKVxuICAgICAgdGhpcy5hY2NvdW50cyA9IGRhdGEuZGF0YVxuICAgIH0sXG5cbiAgICAvLyB1cGRhdGUgYXZhaWxhYmxlIGJhbGFuY2VcbiAgICB1cGRhdGVCYWxhbmNlKCkge1xuICAgICAgdGhpcy5mb3JtLmF2YWlsYWJsZUJhbGFuY2UgPSAwXG4gICAgICBpZiAodGhpcy5mb3JtLmFjY291bnQpIHtcbiAgICAgICAgdGhpcy5mb3JtLmF2YWlsYWJsZUJhbGFuY2UgPSB0aGlzLmZvcm0uYWNjb3VudC5hdmFpbGFibGVCYWxhbmNlXG4gICAgICB9XG4gICAgICByZXR1cm5cbiAgICB9LFxuXG4gICAgLy8gYXNzaWduIGludm9pY2VzXG4gICAgYXN5bmMgYXNzaWduSW52b2ljZXMoKSB7XG4gICAgICB0aGlzLmZvcm0uc2VsZWN0ZWRQcm9kdWN0cyA9IFtdXG4gICAgICB0aGlzLmZvcm0uaW52b2ljZSA9ICcnXG4gICAgICBpZiAodGhpcy5mb3JtLmNsaWVudCkge1xuICAgICAgICBheGlvc1xuICAgICAgICAgIC5wb3N0KHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyAnL2FwaS9jbGllbnQvZmlsdGVyLWludm9pY2VzJywge1xuICAgICAgICAgICAgcHJvZHVjdHM6IHRoaXMuZm9ybS5wcm9kdWN0LFxuICAgICAgICAgICAgY2xpZW50U2x1ZzogdGhpcy5mb3JtLmNsaWVudC5zbHVnLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNsaWVudEludm9pY2VzID0gcmVzcG9uc2UuZGF0YS5kYXRhXG4gICAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybS5wcm9kdWN0ID0gJydcbiAgICAgICAgdGhpcy5mb3JtLmNsaWVudCA9ICcnXG4gICAgICB9XG4gICAgfSxcblxuICAgIC8vIHN0b3JlIGl0ZW0gaW4gYXJyYXlcbiAgICBzdG9yZVByb2R1Y3RzKCkge1xuICAgICAgdGhpcy5mb3JtLnNlbGVjdGVkUHJvZHVjdHMgPSBbXVxuICAgICAgdGhpcy5mb3JtLmludm9pY2VUYXggPSB0aGlzLmZvcm0uaW52b2ljZS50YXhcbiAgICAgIHRoaXMuZm9ybS5uZXdUYXggPSB0aGlzLmZvcm0uaW52b2ljZS50YXhcbiAgICAgIHRoaXMuZm9ybS5pbnZvaWNlVGF4UmF0ZSA9IHRoaXMuZm9ybS5pbnZvaWNlLnRheFJhdGVcbiAgICAgIHRoaXMuZm9ybS5pbnZvaWNlVG90YWwgPSB0aGlzLmZvcm0uaW52b2ljZS5pbnZvaWNlVG90YWxcbiAgICAgIHRoaXMuZm9ybS5pbnZvaWNlVHJhbnNwb3J0ID0gdGhpcy5mb3JtLmludm9pY2UudHJhbnNwb3J0XG4gICAgICB0aGlzLmZvcm0uaW52b2ljZURpc2NvdW50ID0gdGhpcy5mb3JtLmludm9pY2UuZGlzY291bnRcbiAgICAgIHRoaXMuZm9ybS5kaXNjb3VudFR5cGUgPSB0aGlzLmZvcm0uaW52b2ljZS5kaXNjb3VudFR5cGVcbiAgICAgIHRoaXMuZm9ybS5kaXNjb3VudFBlcmNlbnRhZ2UgPSB0aGlzLmZvcm0uaW52b2ljZS5kaXNjb3VudFBlcmNlbnRhZ2VcbiAgICAgIHRoaXMuZm9ybS5pbnZvaWNlRHVlID0gdGhpcy5mb3JtLmludm9pY2UuZHVlXG4gICAgICB0aGlzLmZvcm0ubmV3RHVlID0gdGhpcy5mb3JtLmludm9pY2UuZHVlXG4gICAgICB0aGlzLmZvcm0ubmV3RHVlVGV4dCA9IHRoaXMuZm9ybS5pbnZvaWNlLmR1ZVxuICAgICAgZm9yICh2YXIga2V5IGluIHRoaXMuZm9ybS5pbnZvaWNlLmludm9pY2VQcm9kdWN0cykge1xuICAgICAgICBsZXQgaW52b2ljZUl0ZW0gPSB0aGlzLmZvcm0uaW52b2ljZS5pbnZvaWNlUHJvZHVjdHNba2V5XVxuICAgICAgICB0aGlzLmZvcm0uc2VsZWN0ZWRQcm9kdWN0cy51bnNoaWZ0KHtcbiAgICAgICAgICBpZDogaW52b2ljZUl0ZW0ucHJvZHVjdElELFxuICAgICAgICAgIHNsdWc6IGludm9pY2VJdGVtLnByb2R1Y3RTbHVnLFxuICAgICAgICAgIG5hbWU6IGludm9pY2VJdGVtLnByb2R1Y3ROYW1lLFxuICAgICAgICAgIGNvZGU6IGludm9pY2VJdGVtLnByb2R1Y3RDb2RlLFxuICAgICAgICAgIHVuaXQ6IGludm9pY2VJdGVtLnByb2R1Y3RVbml0LFxuICAgICAgICAgIHRheFR5cGU6IGludm9pY2VJdGVtLnRheFR5cGUsXG4gICAgICAgICAgdGF4UmF0ZTogaW52b2ljZUl0ZW0udGF4UmF0ZSxcbiAgICAgICAgICBvbGRRdHk6IGludm9pY2VJdGVtLnF1YW50aXR5LFxuICAgICAgICAgIHF0eTogaW52b2ljZUl0ZW0ucXVhbnRpdHksXG4gICAgICAgICAgcmV0dXJuUXR5OiBpbnZvaWNlSXRlbS5yZXR1cm5RdHksXG4gICAgICAgICAgdG90YWxSZXR1cm5RdHk6IGludm9pY2VJdGVtLnF1YW50aXR5IC0gaW52b2ljZUl0ZW0ucmV0dXJuUXR5LFxuICAgICAgICAgIGludmVudG9yeUNvdW50OiBpbnZvaWNlSXRlbS5pbnZlbnRvcnlDb3VudCxcbiAgICAgICAgICBhdmdQdXJjaGFzZVByaWNlOiBpbnZvaWNlSXRlbS5wdXJjaGFzZVByaWNlLFxuICAgICAgICAgIHVuaXRQcmljZTogaW52b2ljZUl0ZW0uc2FsZVByaWNlLFxuICAgICAgICAgIHVuaXRDb3N0OiBpbnZvaWNlSXRlbS51bml0Q29zdCxcbiAgICAgICAgICB0b3RhbFByaWNlOiBpbnZvaWNlSXRlbS51bml0Q29zdFRvdGFsLFxuICAgICAgICAgIHJldHVyblRvdGFsOiAwLFxuICAgICAgICAgIHByb2R1Y3RUYXg6IGludm9pY2VJdGVtLnVuaXRUYXgsXG4gICAgICAgICAgdG90YWxUYXg6IGludm9pY2VJdGVtLnRheFRvdGFsLFxuICAgICAgICAgIG1heFF0eTogaW52b2ljZUl0ZW0ucXVhbnRpdHkgLSAxLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgcmV0dXJuXG4gICAgfSxcblxuICAgIC8vIHVwZGF0ZSBpdGVtc1xuICAgIHVwZGF0ZUl0ZW0odmFsdWUsIGluZGV4KSB7XG4gICAgICBsZXQgc2VsZWN0ZWRQcm9kdWN0ID0gdGhpcy5mb3JtLnNlbGVjdGVkUHJvZHVjdHNbaW5kZXhdXG4gICAgICBpZiAoc2VsZWN0ZWRQcm9kdWN0ICYmIHZhbHVlID49IDAgJiYgdmFsdWUgPCBzZWxlY3RlZFByb2R1Y3QucXR5KSB7XG4gICAgICAgIHNlbGVjdGVkUHJvZHVjdC5yZXR1cm5RdHkgPSBOdW1iZXIodmFsdWUpXG4gICAgICAgIHNlbGVjdGVkUHJvZHVjdC5yZXR1cm5Ub3RhbCA9XG4gICAgICAgICAgc2VsZWN0ZWRQcm9kdWN0LnJldHVyblF0eSAqIHNlbGVjdGVkUHJvZHVjdC51bml0Q29zdFxuICAgICAgICB0aGlzLmZvcm0uc2VsZWN0ZWRQcm9kdWN0c1tpbmRleF0gPSBzZWxlY3RlZFByb2R1Y3RcbiAgICAgIH1cbiAgICAgIHRoaXMuY2FsY3VsYXRlU3VtKClcbiAgICB9LFxuXG4gICAgLy8gY2FsY3VsYXRlIHN1bVxuICAgIGNhbGN1bGF0ZVN1bSgpIHtcbiAgICAgIC8vIGNhbGN1bGF0ZSB0b3RhbFxuICAgICAgbGV0IGxlbmd0aCA9IHRoaXMuZm9ybS5zZWxlY3RlZFByb2R1Y3RzLmxlbmd0aFxuICAgICAgdGhpcy5mb3JtLm5ld1N1YlRvdGFsID0gdGhpcy5mb3JtLnRvdGFsUmV0dXJuID0gMFxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgbG9vUHJvZHVjdCA9IHRoaXMuZm9ybS5zZWxlY3RlZFByb2R1Y3RzW2ldXG4gICAgICAgIHRoaXMuZm9ybS5uZXdTdWJUb3RhbCArPSBOdW1iZXIoXG4gICAgICAgICAgKFxuICAgICAgICAgICAgKGxvb1Byb2R1Y3QucXR5IC0gbG9vUHJvZHVjdC5yZXR1cm5RdHkpICpcbiAgICAgICAgICAgIGxvb1Byb2R1Y3QudW5pdENvc3RcbiAgICAgICAgICApLnRvRml4ZWQoMilcbiAgICAgICAgKVxuICAgICAgICB0aGlzLmZvcm0udG90YWxSZXR1cm4gKz0gTnVtYmVyKGxvb1Byb2R1Y3QucmV0dXJuVG90YWwudG9GaXhlZCgyKSlcbiAgICAgIH1cblxuICAgICAgLy8gdXBkYXRlIGRpc2NvdW50XG4gICAgICBpZiAodGhpcy5mb3JtLmRpc2NvdW50VHlwZSA9PSAxKSB7XG4gICAgICAgIHRoaXMuZm9ybS5pbnZvaWNlRGlzY291bnQgPSBOdW1iZXIoXG4gICAgICAgICAgKHRoaXMuZm9ybS5kaXNjb3VudFBlcmNlbnRhZ2UgLyAxMDApICogdGhpcy5mb3JtLm5ld1N1YlRvdGFsXG4gICAgICAgICkudG9GaXhlZCgyKVxuICAgICAgfVxuXG4gICAgICAvLyB1cGRhdGUgdGF4LCB0b3RhbCBhbmQgZHVlXG4gICAgICB0aGlzLmZvcm0ubmV3VGF4ID0gTnVtYmVyKFxuICAgICAgICAoKHRoaXMuZm9ybS5pbnZvaWNlVGF4UmF0ZS5yYXRlIC8gMTAwKSAqIHRoaXMuZm9ybS5uZXdTdWJUb3RhbCkudG9GaXhlZChcbiAgICAgICAgICAyXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIHRoaXMuZm9ybS5pbnZvaWNlVG90YWwgPSBOdW1iZXIoXG4gICAgICAgIChcbiAgICAgICAgICB0aGlzLmZvcm0ubmV3U3ViVG90YWwgK1xuICAgICAgICAgIHRoaXMuZm9ybS5uZXdUYXggK1xuICAgICAgICAgIHRoaXMuZm9ybS5pbnZvaWNlVHJhbnNwb3J0IC1cbiAgICAgICAgICB0aGlzLmZvcm0uaW52b2ljZURpc2NvdW50XG4gICAgICAgICkudG9GaXhlZCgyKVxuICAgICAgKVxuICAgICAgdGhpcy5mb3JtLmludm9pY2VEdWUgPSBOdW1iZXIoXG4gICAgICAgICh0aGlzLmZvcm0uaW52b2ljZVRvdGFsIC0gdGhpcy5mb3JtLmludm9pY2UudG90YWxQYWlkKS50b0ZpeGVkKDIpXG4gICAgICApXG5cbiAgICAgIC8vIGNhbGN1bGF0ZSBuZXcgZHVlIG9yIHBheWFibGVcbiAgICAgIGlmICh0aGlzLmZvcm0uaW52b2ljZUR1ZSA+PSAwKSB7XG4gICAgICAgIHRoaXMuZm9ybS5uZXdEdWUgPSB0aGlzLmZvcm0uaW52b2ljZVRvdGFsIC0gdGhpcy5mb3JtLmludm9pY2UudG90YWxQYWlkXG4gICAgICAgIHRoaXMuZm9ybS5uZXdEdWVUZXh0ID1cbiAgICAgICAgICB0aGlzLmZvcm0uaW52b2ljZVRvdGFsICtcbiAgICAgICAgICAnIC0gJyArXG4gICAgICAgICAgdGhpcy5mb3JtLmludm9pY2UudG90YWxQYWlkICtcbiAgICAgICAgICAnID0gJyArXG4gICAgICAgICAgTnVtYmVyKHRoaXMuZm9ybS5uZXdEdWUpLnRvRml4ZWQoMilcbiAgICAgICAgdGhpcy5mb3JtLnJldHVybkFtb3VudCA9IDBcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybS5yZXR1cm5BbW91bnQgPSBOdW1iZXIoXG4gICAgICAgICAgKHRoaXMuZm9ybS5pbnZvaWNlLnRvdGFsUGFpZCAtIHRoaXMuZm9ybS5pbnZvaWNlVG90YWwpLnRvRml4ZWQoMilcbiAgICAgICAgKVxuICAgICAgICB0aGlzLmZvcm0ucmV0dXJuQW1vdW50VGV4dCA9XG4gICAgICAgICAgdGhpcy5mb3JtLmludm9pY2UudG90YWxQYWlkICtcbiAgICAgICAgICAnIC0gJyArXG4gICAgICAgICAgdGhpcy5mb3JtLmludm9pY2VUb3RhbCArXG4gICAgICAgICAgJyA9ICcgK1xuICAgICAgICAgIHRoaXMuZm9ybS5yZXR1cm5BbW91bnRcbiAgICAgICAgdGhpcy5mb3JtLmludm9pY2VEdWUgPSAwXG4gICAgICAgIHRoaXMuZm9ybS5uZXdEdWUgPSAwXG4gICAgICB9XG4gICAgICByZXR1cm5cbiAgICB9LFxuXG4gICAgLy8gc2F2ZSByZXR1cm5cbiAgICBhc3luYyBzYXZlSW52b2ljZVJldHVybigpIHtcbiAgICAgIGF3YWl0IHRoaXMuZm9ybVxuICAgICAgICAucG9zdCh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgJy9hcGkvaW52b2ljZS1yZXR1cm5zJylcbiAgICAgICAgLnRoZW4oKHsgZGF0YSB9KSA9PiB7XG4gICAgICAgICAgdG9hc3QuZmlyZSh7XG4gICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy4kdCgnc2FsZXMucmV0dXJucy5jcmVhdGUuc3VjY2Vzc19tc2cnKSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsgbmFtZTogJ2ludm9pY2VSZXR1cm5zLnNob3cnLCBwYXJhbXM6IHsgc2x1ZzogZGF0YS5kYXRhLnNsdWcgfSwgfSlcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICB0b2FzdC5maXJlKHsgdHlwZTogJ2Vycm9yJywgdGl0bGU6IHRoaXMuJHQoJ2NvbW1vbi5lcnJvcl9tc2cnKSB9KVxuICAgICAgICB9KVxuICAgIH0sXG4gIH0sXG59XG48L3NjcmlwdD5cblxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/pages/sales/returns/create.vue?vue&type=script&lang=js&\n"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/pages/sales/returns/create.vue?vue&type=template&id=6f3723d8&": /*!************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/pages/sales/returns/create.vue?vue&type=template&id=6f3723d8& ***! \************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", [_c(\"breadcrumbs\", {\n attrs: {\n items: _vm.breadcrumbs,\n current: _vm.breadcrumbsCurrent\n }\n }), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"row\"\n }, [_c(\"div\", {\n staticClass: \"col-lg-12 col-xl-12\"\n }, [_c(\"div\", {\n staticClass: \"card\"\n }, [_c(\"div\", {\n staticClass: \"card-header\"\n }, [_c(\"h3\", {\n staticClass: \"card-title\"\n }, [_vm._v(\"\\n \" + _vm._s(_vm.$t(\"sales.returns.create.form_title\")) + \"\\n \")]), _vm._v(\" \"), _c(\"router-link\", {\n staticClass: \"btn btn-dark float-right\",\n attrs: {\n to: {\n name: \"invoiceReturns.index\"\n }\n }\n }, [_c(\"i\", {\n staticClass: \"fas fa-long-arrow-alt-left\"\n }), _vm._v(\" \" + _vm._s(_vm.$t(\"common.back\")) + \"\\n \")])], 1), _vm._v(\" \"), _c(\"form\", {\n attrs: {\n role: \"form\"\n },\n on: {\n submit: function submit($event) {\n $event.preventDefault();\n return _vm.saveInvoiceReturn.apply(null, arguments);\n },\n keydown: function keydown($event) {\n return _vm.form.onKeydown($event);\n }\n }\n }, [_c(\"div\", {\n staticClass: \"card-body\"\n }, [_vm.items ? _c(\"div\", {\n staticClass: \"row\"\n }, [_c(\"div\", {\n staticClass: \"form-group col-md-6\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"returnReason\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.return_reason\")) + \"\\n \"), _c(\"span\", {\n staticClass: \"required\"\n }, [_vm._v(\"*\")])]), _vm._v(\" \"), _c(\"input\", {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.form.returnReason,\n expression: \"form.returnReason\"\n }],\n staticClass: \"form-control\",\n \"class\": {\n \"is-invalid\": _vm.form.errors.has(\"returnReason\")\n },\n attrs: {\n id: \"returnReason\",\n type: \"text\",\n name: \"returnReason\",\n placeholder: _vm.$t(\"common.return_reason_placeholder\")\n },\n domProps: {\n value: _vm.form.returnReason\n },\n on: {\n input: function input($event) {\n if ($event.target.composing) return;\n _vm.$set(_vm.form, \"returnReason\", $event.target.value);\n }\n }\n }), _vm._v(\" \"), _c(\"has-error\", {\n attrs: {\n form: _vm.form,\n field: \"returnReason\"\n }\n })], 1), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"form-group col-md-6\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"client\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.client\")) + \"\\n \"), _c(\"span\", {\n staticClass: \"required\"\n }, [_vm._v(\"*\")])]), _vm._v(\" \"), _c(\"v-select\", {\n \"class\": {\n \"is-invalid\": _vm.form.errors.has(\"client\")\n },\n attrs: {\n options: _vm.items,\n label: \"name\",\n name: \"client\",\n placeholder: _vm.$t(\"common.client_placeholder\")\n },\n on: {\n input: _vm.assignInvoices\n },\n model: {\n value: _vm.form.client,\n callback: function callback($$v) {\n _vm.$set(_vm.form, \"client\", $$v);\n },\n expression: \"form.client\"\n }\n }), _vm._v(\" \"), _c(\"has-error\", {\n attrs: {\n form: _vm.form,\n field: \"client\"\n }\n })], 1)]) : _vm._e(), _vm._v(\" \"), _vm.products ? _c(\"div\", {\n staticClass: \"row\"\n }, [_c(\"div\", {\n staticClass: \"form-group col-md-12\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"product\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.select_products\")))]), _vm._v(\" \"), _c(\"v-select\", {\n \"class\": {\n \"is-invalid\": _vm.form.errors.has(\"product\")\n },\n attrs: {\n disabled: _vm.form.client == \"\",\n multiple: \"\",\n options: _vm.products,\n label: \"label\",\n name: \"product\",\n placeholder: _vm.$t(\"common.select_products_placeholder\")\n },\n on: {\n input: _vm.assignInvoices\n },\n model: {\n value: _vm.form.product,\n callback: function callback($$v) {\n _vm.$set(_vm.form, \"product\", $$v);\n },\n expression: \"form.product\"\n }\n }), _vm._v(\" \"), _c(\"has-error\", {\n attrs: {\n form: _vm.form,\n field: \"product\"\n }\n })], 1)]) : _vm._e(), _vm._v(\" \"), _vm.form.client && _vm.clientInvoices ? _c(\"div\", {\n staticClass: \"row\"\n }, [_c(\"div\", {\n staticClass: \"form-group col-md-12\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"invoice\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.invoices\")) + \"\\n \"), _c(\"span\", {\n staticClass: \"required\"\n }, [_vm._v(\"*\")])]), _vm._v(\" \"), _c(\"v-select\", {\n \"class\": {\n \"is-invalid\": _vm.form.errors.has(\"invoice\")\n },\n attrs: {\n options: _vm.clientInvoices,\n label: \"label\",\n name: \"invoice\",\n placeholder: _vm.$t(\"common.invoices_placeholder\")\n },\n on: {\n input: _vm.storeProducts\n },\n model: {\n value: _vm.form.invoice,\n callback: function callback($$v) {\n _vm.$set(_vm.form, \"invoice\", $$v);\n },\n expression: \"form.invoice\"\n }\n }), _vm._v(\" \"), _c(\"has-error\", {\n attrs: {\n form: _vm.form,\n field: \"invoice\"\n }\n })], 1)]) : _vm._e(), _vm._v(\" \"), _vm.form.selectedProducts && _vm.form.selectedProducts.length > 0 ? _c(\"div\", {\n staticClass: \"row mt-3 mb-4\"\n }, [_vm.form.errors.errors && _vm.form.errors.errors.selectedProducts ? _c(\"div\", {\n staticClass: \"w-95 m-auto\"\n }, _vm._l(_vm.form.errors.errors.selectedProducts, function (msg, i) {\n return _c(\"div\", {\n key: i,\n staticClass: \"callout callout-danger\"\n }, [_c(\"p\", [_c(\"i\", {\n staticClass: \"icon fas fa-ban\"\n }), _vm._v(\" \" + _vm._s(msg))])]);\n }), 0) : _vm._e(), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"table-responsive table-custom w-95 m-auto\"\n }, [_c(\"table\", {\n staticClass: \"table table-hover table-sm text-center\"\n }, [_c(\"thead\", [_c(\"tr\", [_c(\"th\", [_vm._v(_vm._s(_vm.$t(\"common.s_no\")))]), _vm._v(\" \"), _c(\"th\", [_vm._v(_vm._s(_vm.$t(\"common.code\")))]), _vm._v(\" \"), _c(\"th\", [_vm._v(_vm._s(_vm.$t(\"common.product_name\")))]), _vm._v(\" \"), _c(\"th\", [_vm._v(_vm._s(_vm.$t(\"common.invoice_qty\")))]), _vm._v(\" \"), _c(\"th\", [_vm._v(_vm._s(_vm.$t(\"common.current_qty\")))]), _vm._v(\" \"), _c(\"th\", [_vm._v(_vm._s(_vm.$t(\"common.return_qty\")))]), _vm._v(\" \"), _c(\"th\", [_vm._v(_vm._s(_vm.$t(\"common.unit_price\")))]), _vm._v(\" \"), _c(\"th\", [_vm._v(_vm._s(_vm.$t(\"common.total_price\")))]), _vm._v(\" \"), _c(\"th\", {\n staticClass: \"text-right\"\n }, [_vm._v(\"\\n \" + _vm._s(_vm.$t(\"common.return_price\")) + \"\\n \")])])]), _vm._v(\" \"), _c(\"tbody\", [_vm._l(_vm.form.selectedProducts, function (item, i) {\n return _c(\"tr\", {\n key: i\n }, [_c(\"td\", [_vm._v(_vm._s(++i))]), _vm._v(\" \"), _c(\"td\", [_vm._v(_vm._s(_vm._f(\"withPrefix\")(item.code, _vm.prefix)))]), _vm._v(\" \"), _c(\"td\", [_vm.$can(\"product-view\") ? _c(\"router-link\", {\n attrs: {\n to: {\n name: \"products.show\",\n params: {\n slug: item.slug\n }\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.name) + \"\\n \")]) : _c(\"span\", [_vm._v(_vm._s(item.name))])], 1), _vm._v(\" \"), _c(\"td\", [_vm._v(_vm._s(item.qty) + \" \" + _vm._s(item.unit))]), _vm._v(\" \"), _c(\"td\", [_vm._v(_vm._s(item.totalReturnQty) + \" \" + _vm._s(item.unit))]), _vm._v(\" \"), _c(\"td\", [_c(\"div\", {\n staticClass: \"input-group custom-qty-input\"\n }, [_c(\"input\", {\n staticClass: \"button-minus icon-shape icon-sm btn-danger\",\n attrs: {\n type: \"button\",\n value: \"-\",\n \"data-field\": \"quantity\"\n },\n on: {\n click: function click($event) {\n return _vm.updateItem(item.returnQty - 1, i - 1);\n }\n }\n }), _vm._v(\" \"), _c(\"input\", {\n staticClass: \"quantity-field border-0 incrementor\",\n attrs: {\n type: \"number\",\n step: \"any\",\n id: \"returnQty-\".concat(i),\n name: \"quantity\",\n min: \"0\",\n max: item.maxQty,\n placeholder: \"Return Qty\"\n },\n domProps: {\n value: item.returnQty\n },\n on: {\n change: function change($event) {\n return _vm.updateItem($event.target.value, i - 1);\n },\n keyup: function keyup($event) {\n return _vm.updateItem($event.target.value, i - 1);\n }\n }\n }), _vm._v(\" \"), _c(\"input\", {\n staticClass: \"button-plus icon-shape icon-sm btn-primary\",\n attrs: {\n type: \"button\",\n value: \"+\",\n \"data-field\": \"quantity\"\n },\n on: {\n click: function click($event) {\n _vm.updateItem(Number(item.returnQty) + 1, i - 1);\n }\n }\n })])]), _vm._v(\" \"), _c(\"td\", [_vm._v(_vm._s(_vm._f(\"withCurrency\")(item.unitCost)))]), _vm._v(\" \"), _c(\"td\", [_vm._v(_vm._s(_vm._f(\"withCurrency\")(item.totalPrice)))]), _vm._v(\" \"), _c(\"td\", {\n staticClass: \"text-right\"\n }, [_vm._v(\"\\n \" + _vm._s(_vm._f(\"withCurrency\")(item.returnTotal)) + \"\\n \")])]);\n }), _vm._v(\" \"), _vm.form.invoice ? _c(\"tr\", [_c(\"td\", {\n staticClass: \"text-right\",\n attrs: {\n colspan: \"7\"\n }\n }, [_c(\"strong\", [_vm._v(_vm._s(_vm.$t(\"common.subtotal\")))])]), _vm._v(\" \"), _c(\"td\", {\n staticClass: \"text-center\"\n }, [_c(\"strong\", [_vm._v(_vm._s(_vm._f(\"withCurrency\")(_vm.form.invoice.subTotal)))])]), _vm._v(\" \"), _c(\"td\", {\n staticClass: \"text-right\"\n }, [_c(\"strong\", [_vm._v(_vm._s(_vm._f(\"withCurrency\")(_vm.form.totalReturn)))])])]) : _vm._e()], 2)])])]) : _vm._e(), _vm._v(\" \"), _vm.form.invoice ? _c(\"div\", {\n staticClass: \"row\"\n }, [_vm.form.discountPercentage > 0 ? _c(\"div\", {\n staticClass: \"form-group col-md-2\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"discountType\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.discount_type\")))]), _vm._v(\" \"), _c(\"select\", {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.form.discountType,\n expression: \"form.discountType\"\n }],\n staticClass: \"form-control\",\n \"class\": {\n \"is-invalid\": _vm.form.errors.has(\"discountType\")\n },\n attrs: {\n id: \"discountType\",\n step: \"any\",\n name: \"discountType\",\n disabled: \"\"\n },\n on: {\n change: function change($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) {\n return o.selected;\n }).map(function (o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val;\n });\n _vm.$set(_vm.form, \"discountType\", $event.target.multiple ? $$selectedVal : $$selectedVal[0]);\n }\n }\n }, [_c(\"option\", {\n attrs: {\n value: \"0\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.fixed\")))]), _vm._v(\" \"), _c(\"option\", {\n attrs: {\n value: \"1\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.percentage\")) + \"(%)\")])]), _vm._v(\" \"), _c(\"has-error\", {\n attrs: {\n form: _vm.form,\n field: \"discountType\"\n }\n })], 1) : _vm._e(), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"form-group\",\n \"class\": _vm.form.discountPercentage > 0 ? \"col-md-2\" : \"col-md-4\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"invoiceDiscount\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.total_discount\")))]), _vm._v(\" \"), _c(\"input\", {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.form.invoiceDiscount,\n expression: \"form.invoiceDiscount\"\n }],\n staticClass: \"form-control\",\n attrs: {\n id: \"invoiceDiscount\",\n type: \"number\",\n step: \"any\",\n name: \"invoiceDiscount\",\n readonly: \"\"\n },\n domProps: {\n value: _vm.form.invoiceDiscount\n },\n on: {\n input: function input($event) {\n if ($event.target.composing) return;\n _vm.$set(_vm.form, \"invoiceDiscount\", $event.target.value);\n }\n }\n })]), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"form-group col-md-4\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"invoiceTransport\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.transport_cost\")))]), _vm._v(\" \"), _c(\"input\", {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.form.invoiceTransport,\n expression: \"form.invoiceTransport\"\n }],\n staticClass: \"form-control\",\n attrs: {\n id: \"invoiceTransport\",\n type: \"number\",\n step: \"any\",\n name: \"invoiceTransport\",\n readonly: \"\"\n },\n domProps: {\n value: _vm.form.invoiceTransport\n },\n on: {\n input: function input($event) {\n if ($event.target.composing) return;\n _vm.$set(_vm.form, \"invoiceTransport\", $event.target.value);\n }\n }\n })]), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"form-group col-md-4\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"invoiceTax\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"sales.common.invoice_tax\")))]), _vm._v(\" \"), _c(\"input\", {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.form.newTax,\n expression: \"form.newTax\"\n }],\n staticClass: \"form-control\",\n attrs: {\n id: \"invoiceTax\",\n type: \"number\",\n step: \"any\",\n name: \"invoiceTax\",\n readonly: \"\"\n },\n domProps: {\n value: _vm.form.newTax\n },\n on: {\n input: function input($event) {\n if ($event.target.composing) return;\n _vm.$set(_vm.form, \"newTax\", $event.target.value);\n }\n }\n })])]) : _vm._e(), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"row\"\n }, [_c(\"div\", {\n staticClass: \"form-group col-md-4\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"invoiceTotal\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"sales.common.invoice_total\")))]), _vm._v(\" \"), _c(\"input\", {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.form.invoiceTotal,\n expression: \"form.invoiceTotal\"\n }],\n staticClass: \"form-control\",\n attrs: {\n id: \"invoiceTotal\",\n type: \"number\",\n step: \"any\",\n name: \"invoiceTotal\",\n readonly: \"\"\n },\n domProps: {\n value: _vm.form.invoiceTotal\n },\n on: {\n input: function input($event) {\n if ($event.target.composing) return;\n _vm.$set(_vm.form, \"invoiceTotal\", $event.target.value);\n }\n }\n })]), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"form-group col-md-4\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"totalPaid\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.total_paid\")))]), _vm._v(\" \"), _c(\"input\", {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.form.invoice.totalPaid,\n expression: \"form.invoice.totalPaid\"\n }],\n staticClass: \"form-control\",\n attrs: {\n id: \"totalPaid\",\n type: \"number\",\n step: \"any\",\n name: \"totalPaid\",\n readonly: \"\"\n },\n domProps: {\n value: _vm.form.invoice.totalPaid\n },\n on: {\n input: function input($event) {\n if ($event.target.composing) return;\n _vm.$set(_vm.form.invoice, \"totalPaid\", $event.target.value);\n }\n }\n })]), _vm._v(\" \"), _vm.form.returnAmount > 0 ? _c(\"div\", {\n staticClass: \"form-group col-md-4\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"returnAmountText\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.return_amount\")))]), _vm._v(\" \"), _c(\"input\", {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.form.returnAmountText,\n expression: \"form.returnAmountText\"\n }],\n staticClass: \"form-control\",\n \"class\": {\n \"is-invalid\": _vm.form.errors.has(\"returnAmountText\")\n },\n attrs: {\n id: \"returnAmountText\",\n type: \"text\",\n name: \"returnAmountText\",\n readonly: \"\"\n },\n domProps: {\n value: _vm.form.returnAmountText\n },\n on: {\n input: function input($event) {\n if ($event.target.composing) return;\n _vm.$set(_vm.form, \"returnAmountText\", $event.target.value);\n }\n }\n }), _vm._v(\" \"), _c(\"has-error\", {\n attrs: {\n form: _vm.form,\n field: \"returnAmountText\"\n }\n })], 1) : _c(\"div\", {\n staticClass: \"form-group col-md-4\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"newDueText\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"sales.common.new_due\")))]), _vm._v(\" \"), _c(\"input\", {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.form.newDueText,\n expression: \"form.newDueText\"\n }],\n staticClass: \"form-control\",\n \"class\": {\n \"is-invalid\": _vm.form.errors.has(\"newDueText\")\n },\n attrs: {\n id: \"newDueText\",\n type: \"text\",\n name: \"newDueText\",\n readonly: \"\"\n },\n domProps: {\n value: _vm.form.newDueText\n },\n on: {\n input: function input($event) {\n if ($event.target.composing) return;\n _vm.$set(_vm.form, \"newDueText\", $event.target.value);\n }\n }\n }), _vm._v(\" \"), _c(\"has-error\", {\n attrs: {\n form: _vm.form,\n field: \"newDueText\"\n }\n })], 1)]), _vm._v(\" \"), _vm.accounts && _vm.form.returnAmount > 0 ? _c(\"div\", {\n staticClass: \"row\"\n }, [_c(\"div\", {\n staticClass: \"form-group col-md-4\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"account\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.account\")) + \"\\n \"), _c(\"span\", {\n staticClass: \"required\"\n }, [_vm._v(\"*\")])]), _vm._v(\" \"), _c(\"v-select\", {\n \"class\": {\n \"is-invalid\": _vm.form.errors.has(\"account\")\n },\n attrs: {\n options: _vm.accounts,\n label: \"label\",\n name: \"account\",\n placeholder: _vm.$t(\"common.account_placeholder\")\n },\n on: {\n input: _vm.updateBalance\n },\n model: {\n value: _vm.form.account,\n callback: function callback($$v) {\n _vm.$set(_vm.form, \"account\", $$v);\n },\n expression: \"form.account\"\n }\n }), _vm._v(\" \"), _c(\"has-error\", {\n attrs: {\n form: _vm.form,\n field: \"account\"\n }\n })], 1), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"form-group col-md-2\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"availableBalance\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.available_balance\")))]), _vm._v(\" \"), _c(\"input\", {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.form.availableBalance,\n expression: \"form.availableBalance\"\n }],\n staticClass: \"form-control\",\n \"class\": {\n \"is-invalid\": _vm.form.errors.has(\"availableBalance\")\n },\n attrs: {\n id: \"availableBalance\",\n type: \"number\",\n step: \"any\",\n name: \"availableBalance\",\n readonly: \"\"\n },\n domProps: {\n value: _vm.form.availableBalance\n },\n on: {\n input: function input($event) {\n if ($event.target.composing) return;\n _vm.$set(_vm.form, \"availableBalance\", $event.target.value);\n }\n }\n }), _vm._v(\" \"), _c(\"has-error\", {\n attrs: {\n form: _vm.form,\n field: \"availableBalance\"\n }\n })], 1), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"form-group col-md-3\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"chequeNo\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.cheque_no\")))]), _vm._v(\" \"), _c(\"input\", {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.form.chequeNo,\n expression: \"form.chequeNo\"\n }],\n staticClass: \"form-control\",\n \"class\": {\n \"is-invalid\": _vm.form.errors.has(\"chequeNo\")\n },\n attrs: {\n id: \"chequeNo\",\n type: \"text\",\n step: \"any\",\n name: \"chequeNo\",\n placeholder: _vm.$t(\"common.cheque_placeholder\")\n },\n domProps: {\n value: _vm.form.chequeNo\n },\n on: {\n input: function input($event) {\n if ($event.target.composing) return;\n _vm.$set(_vm.form, \"chequeNo\", $event.target.value);\n }\n }\n }), _vm._v(\" \"), _c(\"has-error\", {\n attrs: {\n form: _vm.form,\n field: \"chequeNo\"\n }\n })], 1), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"form-group col-md-3\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"receiptNo\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.receipt_no\")))]), _vm._v(\" \"), _c(\"input\", {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.form.receiptNo,\n expression: \"form.receiptNo\"\n }],\n staticClass: \"form-control\",\n \"class\": {\n \"is-invalid\": _vm.form.errors.has(\"receiptNo\")\n },\n attrs: {\n id: \"receiptNo\",\n type: \"text\",\n name: \"receiptNo\",\n placeholder: _vm.$t(\"common.receipt_no_placeholder\")\n },\n domProps: {\n value: _vm.form.receiptNo\n },\n on: {\n input: function input($event) {\n if ($event.target.composing) return;\n _vm.$set(_vm.form, \"receiptNo\", $event.target.value);\n }\n }\n }), _vm._v(\" \"), _c(\"has-error\", {\n attrs: {\n form: _vm.form,\n field: \"receiptNo\"\n }\n })], 1)]) : _vm._e(), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"form-group\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"note\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.note\")))]), _vm._v(\" \"), _c(\"textarea\", {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.form.note,\n expression: \"form.note\"\n }],\n staticClass: \"form-control\",\n \"class\": {\n \"is-invalid\": _vm.form.errors.has(\"note\")\n },\n attrs: {\n id: \"note\",\n placeholder: _vm.$t(\"common.note_placeholder\")\n },\n domProps: {\n value: _vm.form.note\n },\n on: {\n input: function input($event) {\n if ($event.target.composing) return;\n _vm.$set(_vm.form, \"note\", $event.target.value);\n }\n }\n }), _vm._v(\" \"), _c(\"has-error\", {\n attrs: {\n form: _vm.form,\n field: \"note\"\n }\n })], 1), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"row\"\n }, [_c(\"div\", {\n staticClass: \"form-group col-md-6\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"date\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"sales.common.return_date\")))]), _vm._v(\" \"), _c(\"input\", {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.form.date,\n expression: \"form.date\"\n }],\n staticClass: \"form-control\",\n \"class\": {\n \"is-invalid\": _vm.form.errors.has(\"date\")\n },\n attrs: {\n id: \"date\",\n type: \"date\",\n name: \"date\"\n },\n domProps: {\n value: _vm.form.date\n },\n on: {\n input: function input($event) {\n if ($event.target.composing) return;\n _vm.$set(_vm.form, \"date\", $event.target.value);\n }\n }\n }), _vm._v(\" \"), _c(\"has-error\", {\n attrs: {\n form: _vm.form,\n field: \"date\"\n }\n })], 1), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"form-group col-md-6\"\n }, [_c(\"label\", {\n attrs: {\n \"for\": \"status\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.status\")))]), _vm._v(\" \"), _c(\"select\", {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.form.status,\n expression: \"form.status\"\n }],\n staticClass: \"form-control\",\n \"class\": {\n \"is-invalid\": _vm.form.errors.has(\"status\")\n },\n attrs: {\n id: \"status\"\n },\n on: {\n change: function change($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) {\n return o.selected;\n }).map(function (o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val;\n });\n _vm.$set(_vm.form, \"status\", $event.target.multiple ? $$selectedVal : $$selectedVal[0]);\n }\n }\n }, [_c(\"option\", {\n attrs: {\n value: \"1\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.active\")))]), _vm._v(\" \"), _c(\"option\", {\n attrs: {\n value: \"0\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"common.in_active\")))])]), _vm._v(\" \"), _c(\"has-error\", {\n attrs: {\n form: _vm.form,\n field: \"status\"\n }\n })], 1)])]), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"card-footer\"\n }, [_c(\"v-button\", {\n staticClass: \"btn btn-primary\",\n attrs: {\n loading: _vm.form.busy\n }\n }, [_c(\"i\", {\n staticClass: \"fas fa-save\"\n }), _vm._v(\" \" + _vm._s(_vm.$t(\"common.save\")) + \"\\n \")]), _vm._v(\" \"), _c(\"button\", {\n staticClass: \"btn btn-secondary float-right\",\n attrs: {\n type: \"reset\"\n },\n on: {\n click: function click($event) {\n return _vm.form.reset();\n }\n }\n }, [_c(\"i\", {\n staticClass: \"fas fa-power-off\"\n }), _vm._v(\" \" + _vm._s(_vm.$t(\"common.reset\")) + \"\\n \")])], 1)])])])])], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvcGFnZXMvc2FsZXMvcmV0dXJucy9jcmVhdGUudnVlPzE5M2IiXSwibmFtZXMiOlsicmVuZGVyIiwiX3ZtIiwiX2MiLCJfc2VsZiIsImF0dHJzIiwiaXRlbXMiLCJicmVhZGNydW1icyIsImN1cnJlbnQiLCJicmVhZGNydW1ic0N1cnJlbnQiLCJfdiIsInN0YXRpY0NsYXNzIiwiX3MiLCIkdCIsInRvIiwibmFtZSIsInJvbGUiLCJvbiIsInN1Ym1pdCIsIiRldmVudCIsInByZXZlbnREZWZhdWx0Iiwic2F2ZUludm9pY2VSZXR1cm4iLCJhcHBseSIsImFyZ3VtZW50cyIsImtleWRvd24iLCJmb3JtIiwib25LZXlkb3duIiwiZGlyZWN0aXZlcyIsInJhd05hbWUiLCJ2YWx1ZSIsInJldHVyblJlYXNvbiIsImV4cHJlc3Npb24iLCJlcnJvcnMiLCJoYXMiLCJpZCIsInR5cGUiLCJwbGFjZWhvbGRlciIsImRvbVByb3BzIiwiaW5wdXQiLCJ0YXJnZXQiLCJjb21wb3NpbmciLCIkc2V0IiwiZmllbGQiLCJvcHRpb25zIiwibGFiZWwiLCJhc3NpZ25JbnZvaWNlcyIsIm1vZGVsIiwiY2xpZW50IiwiY2FsbGJhY2siLCIkJHYiLCJfZSIsInByb2R1Y3RzIiwiZGlzYWJsZWQiLCJtdWx0aXBsZSIsInByb2R1Y3QiLCJjbGllbnRJbnZvaWNlcyIsInN0b3JlUHJvZHVjdHMiLCJpbnZvaWNlIiwic2VsZWN0ZWRQcm9kdWN0cyIsImxlbmd0aCIsIl9sIiwibXNnIiwiaSIsImtleSIsIml0ZW0iLCJfZiIsImNvZGUiLCJwcmVmaXgiLCIkY2FuIiwicGFyYW1zIiwic2x1ZyIsInF0eSIsInVuaXQiLCJ0b3RhbFJldHVyblF0eSIsImNsaWNrIiwidXBkYXRlSXRlbSIsInJldHVyblF0eSIsInN0ZXAiLCJjb25jYXQiLCJtaW4iLCJtYXgiLCJtYXhRdHkiLCJjaGFuZ2UiLCJrZXl1cCIsIk51bWJlciIsInVuaXRDb3N0IiwidG90YWxQcmljZSIsInJldHVyblRvdGFsIiwiY29sc3BhbiIsInN1YlRvdGFsIiwidG90YWxSZXR1cm4iLCJkaXNjb3VudFBlcmNlbnRhZ2UiLCJkaXNjb3VudFR5cGUiLCIkJHNlbGVjdGVkVmFsIiwiQXJyYXkiLCJwcm90b3R5cGUiLCJmaWx0ZXIiLCJjYWxsIiwibyIsInNlbGVjdGVkIiwibWFwIiwidmFsIiwiX3ZhbHVlIiwiaW52b2ljZURpc2NvdW50IiwicmVhZG9ubHkiLCJpbnZvaWNlVHJhbnNwb3J0IiwibmV3VGF4IiwiaW52b2ljZVRvdGFsIiwidG90YWxQYWlkIiwicmV0dXJuQW1vdW50IiwicmV0dXJuQW1vdW50VGV4dCIsIm5ld0R1ZVRleHQiLCJhY2NvdW50cyIsInVwZGF0ZUJhbGFuY2UiLCJhY2NvdW50IiwiYXZhaWxhYmxlQmFsYW5jZSIsImNoZXF1ZU5vIiwicmVjZWlwdE5vIiwibm90ZSIsImRhdGUiLCJzdGF0dXMiLCJsb2FkaW5nIiwiYnVzeSIsInJlc2V0Iiwic3RhdGljUmVuZGVyRm5zIiwiX3dpdGhTdHJpcHBlZCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUEsSUFBSUEsTUFBTSxHQUFHLFNBQVNBLE1BQU1BLENBQUEsRUFBRztFQUM3QixJQUFJQyxHQUFHLEdBQUcsSUFBSTtJQUNaQyxFQUFFLEdBQUdELEdBQUcsQ0FBQ0UsS0FBSyxDQUFDRCxFQUFFO0VBQ25CLE9BQU9BLEVBQUUsQ0FDUCxLQUFLLEVBQ0wsQ0FDRUEsRUFBRSxDQUFDLGFBQWEsRUFBRTtJQUNoQkUsS0FBSyxFQUFFO01BQUVDLEtBQUssRUFBRUosR0FBRyxDQUFDSyxXQUFXO01BQUVDLE9BQU8sRUFBRU4sR0FBRyxDQUFDTztJQUFtQjtFQUNuRSxDQUFDLENBQUMsRUFDRlAsR0FBRyxDQUFDUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQ1hQLEVBQUUsQ0FBQyxLQUFLLEVBQUU7SUFBRVEsV0FBVyxFQUFFO0VBQU0sQ0FBQyxFQUFFLENBQ2hDUixFQUFFLENBQUMsS0FBSyxFQUFFO0lBQUVR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SUFBSSxFQUFFO0lBQVEsQ0FBQztJQUN4QmxCLEVBQUUsRUFBRTtNQUNGeUQsS0FBSyxFQUFFLFNBQUFBLE1BQVV2RCxNQUFNLEVBQUU7UUFDdkIsT0FBT2pCLEdBQUcsQ0FBQ3VCLElBQUksQ0FBQ2tHLEtBQUssQ0FBQyxDQUFDO01BQ3pCO0lBQ0Y7RUFDRixDQUFDLEVBQ0QsQ0FDRXhILEVBQUUsQ0FBQyxHQUFHLEVBQUU7SUFBRVEsV0FBVyxFQUFFO0VBQW1CLENBQUMsQ0FBQyxFQUM1Q1QsR0FBRyxDQUFDUSxFQUFFLENBQ0osR0FBRyxHQUNEUixHQUFHLENBQUNVLEVBQUUsQ0FBQ1YsR0FBRyxDQUFDVyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsR0FDOUIsZ0JBQ0osQ0FBQyxDQUVMLENBQUMsQ0FDRixFQUNELENBQ0YsQ0FBQyxDQUVMLENBQUMsQ0FDRixDQUFDLENBQ0gsQ0FBQyxDQUNILENBQUMsQ0FDSCxFQUNELENBQ0YsQ0FBQztBQUNILENBQUM7QUFDRCxJQUFJK0csZUFBZSxHQUFHLEVBQUU7QUFDeEIzSCxNQUFNLENBQUM0SCxhQUFhLEdBQUcsSUFBSSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9yZXNvdXJjZXMvanMvcGFnZXMvc2FsZXMvcmV0dXJucy9jcmVhdGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTZmMzcyM2Q4Ji5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzLFxuICAgIF9jID0gX3ZtLl9zZWxmLl9jXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIFtcbiAgICAgIF9jKFwiYnJlYWRjcnVtYnNcIiwge1xuICAgICAgICBhdHRyczogeyBpdGVtczogX3ZtLmJyZWFkY3J1bWJzLCBjdXJyZW50OiBfdm0uYnJlYWRjcnVtYnNDdXJyZW50IH0sXG4gICAgICB9KSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInJvd1wiIH0sIFtcbiAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJjb2wtbGctMTIgY29sLXhsLTEyXCIgfSwgW1xuICAgICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiY2FyZFwiIH0sIFtcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImNhcmQtaGVhZGVyXCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFwiaDNcIiwgeyBzdGF0aWNDbGFzczogXCJjYXJkLXRpdGxlXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICBcIlxcbiAgICAgICAgICAgIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoX3ZtLiR0KFwic2FsZXMucmV0dXJucy5jcmVhdGUuZm9ybV90aXRsZVwiKSkgK1xuICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICBcInJvdXRlci1saW5rXCIsXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImJ0biBidG4tZGFyayBmbG9hdC1yaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBhdHRyczogeyB0bzogeyBuYW1lOiBcImludm9pY2VSZXR1cm5zLmluZGV4XCIgfSB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgX2MoXCJpXCIsIHsgc3RhdGljQ2xhc3M6IFwiZmFzIGZhLWxvbmctYXJyb3ctYWx0LWxlZnRcIiB9KSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgIFwiIFwiICsgX3ZtLl9zKF92bS4kdChcImNvbW1vbi5iYWNrXCIpKSArIFwiXFxuICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJmb3JtXCIsXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBhdHRyczogeyByb2xlOiBcImZvcm1cIiB9LFxuICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICBzdWJtaXQ6IGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5zYXZlSW52b2ljZVJldHVybi5hcHBseShudWxsLCBhcmd1bWVudHMpXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAga2V5ZG93bjogZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmZvcm0ub25LZXlkb3duKCRldmVudClcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiY2FyZC1ib2R5XCIgfSwgW1xuICAgICAgICAgICAgICAgICAgX3ZtLml0ZW1zXG4gICAgICAgICAgICAgICAgICAgID8gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJyb3dcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtLWdyb3VwIGNvbC1tZC02XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwibGFiZWxcIiwgeyBhdHRyczogeyBmb3I6IFwicmV0dXJuUmVhc29uXCIgfSB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhfdm0uJHQoXCJjb21tb24ucmV0dXJuX3JlYXNvblwiKSkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJyZXF1aXJlZFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiKlwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5mb3JtLnJldHVyblJlYXNvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImZvcm0ucmV0dXJuUmVhc29uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiZm9ybS1jb250cm9sXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzLWludmFsaWRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uZm9ybS5lcnJvcnMuaGFzKFwicmV0dXJuUmVhc29uXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInJldHVyblJlYXNvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJyZXR1cm5SZWFzb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IF92bS4kdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbW1vbi5yZXR1cm5fcmVhc29uX3BsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21Qcm9wczogeyB2YWx1ZTogX3ZtLmZvcm0ucmV0dXJuUmVhc29uIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dDogZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkZXZlbnQudGFyZ2V0LmNvbXBvc2luZykgcmV0dXJuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uZm9ybSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicmV0dXJuUmVhc29uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaGFzLWVycm9yXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGZvcm06IF92bS5mb3JtLCBmaWVsZDogXCJyZXR1cm5SZWFzb25cIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm0tZ3JvdXAgY29sLW1kLTZcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJsYWJlbFwiLCB7IGF0dHJzOiB7IGZvcjogXCJjbGllbnRcIiB9IH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKF92bS4kdChcImNvbW1vbi5jbGllbnRcIikpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIHsgc3RhdGljQ2xhc3M6IFwicmVxdWlyZWRcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIipcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidi1zZWxlY3RcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpcy1pbnZhbGlkXCI6IF92bS5mb3JtLmVycm9ycy5oYXMoXCJjbGllbnRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogX3ZtLml0ZW1zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJuYW1lXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiY2xpZW50XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBfdm0uJHQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb21tb24uY2xpZW50X3BsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjogeyBpbnB1dDogX3ZtLmFzc2lnbkludm9pY2VzIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmZvcm0uY2xpZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KF92bS5mb3JtLCBcImNsaWVudFwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiZm9ybS5jbGllbnRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImhhcy1lcnJvclwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBmb3JtOiBfdm0uZm9ybSwgZmllbGQ6IFwiY2xpZW50XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICA6IF92bS5fZSgpLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF92bS5wcm9kdWN0c1xuICAgICAgICAgICAgICAgICAgICA/IF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwicm93XCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiZm9ybS1ncm91cCBjb2wtbWQtMTJcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJsYWJlbFwiLCB7IGF0dHJzOiB7IGZvcjogXCJwcm9kdWN0XCIgfSB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS4kdChcImNvbW1vbi5zZWxlY3RfcHJvZHVjdHNcIikpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidi1zZWxlY3RcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpcy1pbnZhbGlkXCI6IF92bS5mb3JtLmVycm9ycy5oYXMoXCJwcm9kdWN0XCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBfdm0uZm9ybS5jbGllbnQgPT0gXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGU6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IF92bS5wcm9kdWN0cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwibGFiZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJwcm9kdWN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBfdm0uJHQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb21tb24uc2VsZWN0X3Byb2R1Y3RzX3BsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjogeyBpbnB1dDogX3ZtLmFzc2lnbkludm9pY2VzIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmZvcm0ucHJvZHVjdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChfdm0uZm9ybSwgXCJwcm9kdWN0XCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJmb3JtLnByb2R1Y3RcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImhhcy1lcnJvclwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBmb3JtOiBfdm0uZm9ybSwgZmllbGQ6IFwicHJvZHVjdFwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfdm0uZm9ybS5jbGllbnQgJiYgX3ZtLmNsaWVudEludm9pY2VzXG4gICAgICAgICAgICAgICAgICAgID8gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJyb3dcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtLWdyb3VwIGNvbC1tZC0xMlwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImxhYmVsXCIsIHsgYXR0cnM6IHsgZm9yOiBcImludm9pY2VcIiB9IH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKF92bS4kdChcImNvbW1vbi5pbnZvaWNlc1wiKSkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJyZXF1aXJlZFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiKlwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ2LXNlbGVjdFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzLWludmFsaWRcIjogX3ZtLmZvcm0uZXJyb3JzLmhhcyhcImludm9pY2VcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogX3ZtLmNsaWVudEludm9pY2VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJsYWJlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImludm9pY2VcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IF92bS4kdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbW1vbi5pbnZvaWNlc19wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb246IHsgaW5wdXQ6IF92bS5zdG9yZVByb2R1Y3RzIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmZvcm0uaW52b2ljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChfdm0uZm9ybSwgXCJpbnZvaWNlXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJmb3JtLmludm9pY2VcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImhhcy1lcnJvclwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBmb3JtOiBfdm0uZm9ybSwgZmllbGQ6IFwiaW52b2ljZVwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfdm0uZm9ybS5zZWxlY3RlZFByb2R1Y3RzICYmXG4gICAgICAgICAgICAgICAgICBfdm0uZm9ybS5zZWxlY3RlZFByb2R1Y3RzLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgPyBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInJvdyBtdC0zIG1iLTRcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uZm9ybS5lcnJvcnMuZXJyb3JzICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uZm9ybS5lcnJvcnMuZXJyb3JzLnNlbGVjdGVkUHJvZHVjdHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcInctOTUgbS1hdXRvXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLmZvcm0uZXJyb3JzLmVycm9ycy5zZWxlY3RlZFByb2R1Y3RzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAobXNnLCBpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJjYWxsb3V0IGNhbGxvdXQtZGFuZ2VyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInBcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJpY29uIGZhcyBmYS1iYW5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIgKyBfdm0uX3MobXNnKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidGFibGUtcmVzcG9uc2l2ZSB0YWJsZS1jdXN0b20gdy05NSBtLWF1dG9cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0YWJsZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRhYmxlIHRhYmxlLWhvdmVyIHRhYmxlLXNtIHRleHQtY2VudGVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRoZWFkXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRyXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGhcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS4kdChcImNvbW1vbi5zX25vXCIpKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRoXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0uJHQoXCJjb21tb24uY29kZVwiKSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0aFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoX3ZtLiR0KFwiY29tbW9uLnByb2R1Y3RfbmFtZVwiKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGhcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKF92bS4kdChcImNvbW1vbi5pbnZvaWNlX3F0eVwiKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGhcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKF92bS4kdChcImNvbW1vbi5jdXJyZW50X3F0eVwiKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGhcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKF92bS4kdChcImNvbW1vbi5yZXR1cm5fcXR5XCIpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0aFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoX3ZtLiR0KFwiY29tbW9uLnVuaXRfcHJpY2VcIikpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRoXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhfdm0uJHQoXCJjb21tb24udG90YWxfcHJpY2VcIikpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRoXCIsIHsgc3RhdGljQ2xhc3M6IFwidGV4dC1yaWdodFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHQoXCJjb21tb24ucmV0dXJuX3ByaWNlXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidGJvZHlcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX2woXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5mb3JtLnNlbGVjdGVkUHJvZHVjdHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIChpdGVtLCBpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jKFwidHJcIiwgeyBrZXk6IGkgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbX3ZtLl92KF92bS5fcygrK2kpKV0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9mKFwid2l0aFByZWZpeFwiKShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5jb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0ucHJlZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidGRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kY2FuKFwicHJvZHVjdC12aWV3XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicm91dGVyLWxpbmtcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwicHJvZHVjdHMuc2hvd1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2x1ZzogaXRlbS5zbHVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhpdGVtLm5hbWUpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfYyhcInNwYW5cIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihfdm0uX3MoaXRlbS5uYW1lKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKGl0ZW0ucXR5KSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoaXRlbS51bml0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoaXRlbS50b3RhbFJldHVyblF0eSkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKGl0ZW0udW5pdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlucHV0LWdyb3VwIGN1c3RvbS1xdHktaW5wdXRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJ1dHRvbi1taW51cyBpY29uLXNoYXBlIGljb24tc20gYnRuLWRhbmdlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiLVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YS1maWVsZFwiOiBcInF1YW50aXR5XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0udXBkYXRlSXRlbShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5yZXR1cm5RdHkgLSAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIC0gMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJxdWFudGl0eS1maWVsZCBib3JkZXItMCBpbmNyZW1lbnRvclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwibnVtYmVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcDogXCJhbnlcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogYHJldHVyblF0eS0ke2l9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcInF1YW50aXR5XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluOiBcIjBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXg6IGl0ZW0ubWF4UXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIlJldHVybiBRdHlcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tUHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5yZXR1cm5RdHksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlOiBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLnVwZGF0ZUl0ZW0oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC50YXJnZXQudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgLSAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXl1cDogZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS51cGRhdGVJdGVtKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQudGFyZ2V0LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIC0gMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJidXR0b24tcGx1cyBpY29uLXNoYXBlIGljb24tc20gYnRuLXByaW1hcnlcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImJ1dHRvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIitcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRhdGEtZmllbGRcIjogXCJxdWFudGl0eVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0udXBkYXRlSXRlbShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVtYmVyKGl0ZW0ucmV0dXJuUXR5KSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSAtIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX2YoXCJ3aXRoQ3VycmVuY3lcIikoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0udW5pdENvc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fZihcIndpdGhDdXJyZW5jeVwiKShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS50b3RhbFByaWNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidGRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJ0ZXh0LXJpZ2h0XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9mKFwid2l0aEN1cnJlbmN5XCIpKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5yZXR1cm5Ub3RhbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5mb3JtLmludm9pY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBfYyhcInRyXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRkXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJ0ZXh0LXJpZ2h0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgY29sc3BhbjogXCI3XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwic3Ryb25nXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kdChcImNvbW1vbi5zdWJ0b3RhbFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRkXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwidGV4dC1jZW50ZXJcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJzdHJvbmdcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9mKFwid2l0aEN1cnJlbmN5XCIpKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLmZvcm0uaW52b2ljZS5zdWJUb3RhbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0ZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcInRleHQtcmlnaHRcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJzdHJvbmdcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9mKFwid2l0aEN1cnJlbmN5XCIpKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLmZvcm0udG90YWxSZXR1cm5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX3ZtLmZvcm0uaW52b2ljZVxuICAgICAgICAgICAgICAgICAgICA/IF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwicm93XCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLmZvcm0uZGlzY291bnRQZXJjZW50YWdlID4gMFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiZm9ybS1ncm91cCBjb2wtbWQtMlwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGF0dHJzOiB7IGZvcjogXCJkaXNjb3VudFR5cGVcIiB9IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoX3ZtLiR0KFwiY29tbW9uLmRpc2NvdW50X3R5cGVcIikpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzZWxlY3RcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5mb3JtLmRpc2NvdW50VHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImZvcm0uZGlzY291bnRUeXBlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiZm9ybS1jb250cm9sXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzLWludmFsaWRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uZm9ybS5lcnJvcnMuaGFzKFwiZGlzY291bnRUeXBlXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcImRpc2NvdW50VHlwZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwOiBcImFueVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImRpc2NvdW50VHlwZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2U6IGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgJCRzZWxlY3RlZFZhbCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZmlsdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC50YXJnZXQub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAobykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG8uc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAobykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWwgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJfdmFsdWVcIiBpbiBvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gby5fdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBvLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLmZvcm0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpc2NvdW50VHlwZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnRhcmdldC5tdWx0aXBsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICQkc2VsZWN0ZWRWYWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkJHNlbGVjdGVkVmFsWzBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwib3B0aW9uXCIsIHsgYXR0cnM6IHsgdmFsdWU6IFwiMFwiIH0gfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS4kdChcImNvbW1vbi5maXhlZFwiKSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJvcHRpb25cIiwgeyBhdHRyczogeyB2YWx1ZTogXCIxXCIgfSB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoX3ZtLiR0KFwiY29tbW9uLnBlcmNlbnRhZ2VcIikpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiKCUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJoYXMtZXJyb3JcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtOiBfdm0uZm9ybSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkOiBcImRpc2NvdW50VHlwZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJmb3JtLWdyb3VwXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uZm9ybS5kaXNjb3VudFBlcmNlbnRhZ2UgPiAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gXCJjb2wtbWQtMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJjb2wtbWQtNFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJsYWJlbFwiLCB7IGF0dHJzOiB7IGZvcjogXCJpbnZvaWNlRGlzY291bnRcIiB9IH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLiR0KFwiY29tbW9uLnRvdGFsX2Rpc2NvdW50XCIpKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwibW9kZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXdOYW1lOiBcInYtbW9kZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmZvcm0uaW52b2ljZURpc2NvdW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiZm9ybS5pbnZvaWNlRGlzY291bnRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJmb3JtLWNvbnRyb2xcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcImludm9pY2VEaXNjb3VudFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcIm51bWJlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwOiBcImFueVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImludm9pY2VEaXNjb3VudFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkb25seTogXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21Qcm9wczogeyB2YWx1ZTogX3ZtLmZvcm0uaW52b2ljZURpc2NvdW50IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dDogZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkZXZlbnQudGFyZ2V0LmNvbXBvc2luZykgcmV0dXJuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uZm9ybSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaW52b2ljZURpc2NvdW50XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImZvcm0tZ3JvdXAgY29sLW1kLTRcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwibGFiZWxcIiwgeyBhdHRyczogeyBmb3I6IFwiaW52b2ljZVRyYW5zcG9ydFwiIH0gfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLiR0KFwiY29tbW9uLnRyYW5zcG9ydF9jb3N0XCIpKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwibW9kZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uZm9ybS5pbnZvaWNlVHJhbnNwb3J0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImZvcm0uaW52b2ljZVRyYW5zcG9ydFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImZvcm0tY29udHJvbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJpbnZvaWNlVHJhbnNwb3J0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcIm51bWJlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcDogXCJhbnlcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiaW52b2ljZVRyYW5zcG9ydFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZG9ubHk6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21Qcm9wczogeyB2YWx1ZTogX3ZtLmZvcm0uaW52b2ljZVRyYW5zcG9ydCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dDogZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpIHJldHVyblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uZm9ybSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImludm9pY2VUcmFuc3BvcnRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImZvcm0tZ3JvdXAgY29sLW1kLTRcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwibGFiZWxcIiwgeyBhdHRyczogeyBmb3I6IFwiaW52b2ljZVRheFwiIH0gfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLiR0KFwic2FsZXMuY29tbW9uLmludm9pY2VfdGF4XCIpKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwibW9kZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uZm9ybS5uZXdUYXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiZm9ybS5uZXdUYXhcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJmb3JtLWNvbnRyb2xcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiaW52b2ljZVRheFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJudW1iZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXA6IFwiYW55XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImludm9pY2VUYXhcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRvbmx5OiBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tUHJvcHM6IHsgdmFsdWU6IF92bS5mb3JtLm5ld1RheCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dDogZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpIHJldHVyblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uZm9ybSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm5ld1RheFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC50YXJnZXQudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJyb3dcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiZm9ybS1ncm91cCBjb2wtbWQtNFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICBfYyhcImxhYmVsXCIsIHsgYXR0cnM6IHsgZm9yOiBcImludm9pY2VUb3RhbFwiIH0gfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0uJHQoXCJzYWxlcy5jb21tb24uaW52b2ljZV90b3RhbFwiKSkpLFxuICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5mb3JtLmludm9pY2VUb3RhbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImZvcm0uaW52b2ljZVRvdGFsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiZm9ybS1jb250cm9sXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJpbnZvaWNlVG90YWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJudW1iZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcDogXCJhbnlcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJpbnZvaWNlVG90YWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZG9ubHk6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgZG9tUHJvcHM6IHsgdmFsdWU6IF92bS5mb3JtLmludm9pY2VUb3RhbCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQ6IGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpIHJldHVyblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLmZvcm0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImludm9pY2VUb3RhbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnRhcmdldC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImZvcm0tZ3JvdXAgY29sLW1kLTRcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJsYWJlbFwiLCB7IGF0dHJzOiB7IGZvcjogXCJ0b3RhbFBhaWRcIiB9IH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLiR0KFwiY29tbW9uLnRvdGFsX3BhaWRcIikpKSxcbiAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJtb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd05hbWU6IFwidi1tb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uZm9ybS5pbnZvaWNlLnRvdGFsUGFpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImZvcm0uaW52b2ljZS50b3RhbFBhaWRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJmb3JtLWNvbnRyb2xcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInRvdGFsUGFpZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcIm51bWJlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwOiBcImFueVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcInRvdGFsUGFpZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkb25seTogXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBkb21Qcm9wczogeyB2YWx1ZTogX3ZtLmZvcm0uaW52b2ljZS50b3RhbFBhaWQgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0OiBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRldmVudC50YXJnZXQuY29tcG9zaW5nKSByZXR1cm5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5mb3JtLmludm9pY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRvdGFsUGFpZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnRhcmdldC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICBfdm0uZm9ybS5yZXR1cm5BbW91bnQgPiAwXG4gICAgICAgICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtLWdyb3VwIGNvbC1tZC00XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBhdHRyczogeyBmb3I6IFwicmV0dXJuQW1vdW50VGV4dFwiIH0gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfdm0uX3YoX3ZtLl9zKF92bS4kdChcImNvbW1vbi5yZXR1cm5fYW1vdW50XCIpKSldXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJtb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd05hbWU6IFwidi1tb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uZm9ybS5yZXR1cm5BbW91bnRUZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiZm9ybS5yZXR1cm5BbW91bnRUZXh0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiZm9ybS1jb250cm9sXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzLWludmFsaWRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uZm9ybS5lcnJvcnMuaGFzKFwicmV0dXJuQW1vdW50VGV4dFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJyZXR1cm5BbW91bnRUZXh0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcInJldHVybkFtb3VudFRleHRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZG9ubHk6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tUHJvcHM6IHsgdmFsdWU6IF92bS5mb3JtLnJldHVybkFtb3VudFRleHQgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0OiBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRldmVudC50YXJnZXQuY29tcG9zaW5nKSByZXR1cm5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5mb3JtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJyZXR1cm5BbW91bnRUZXh0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaGFzLWVycm9yXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm06IF92bS5mb3JtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZDogXCJyZXR1cm5BbW91bnRUZXh0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgOiBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtLWdyb3VwIGNvbC1tZC00XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwibGFiZWxcIiwgeyBhdHRyczogeyBmb3I6IFwibmV3RHVlVGV4dFwiIH0gfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0uJHQoXCJzYWxlcy5jb21tb24ubmV3X2R1ZVwiKSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5mb3JtLm5ld0R1ZVRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJmb3JtLm5ld0R1ZVRleHRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJmb3JtLWNvbnRyb2xcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXMtaW52YWxpZFwiOiBfdm0uZm9ybS5lcnJvcnMuaGFzKFwibmV3RHVlVGV4dFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJuZXdEdWVUZXh0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm5ld0R1ZVRleHRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZG9ubHk6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tUHJvcHM6IHsgdmFsdWU6IF92bS5mb3JtLm5ld0R1ZVRleHQgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0OiBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRldmVudC50YXJnZXQuY29tcG9zaW5nKSByZXR1cm5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5mb3JtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJuZXdEdWVUZXh0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaGFzLWVycm9yXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGZvcm06IF92bS5mb3JtLCBmaWVsZDogXCJuZXdEdWVUZXh0XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF92bS5hY2NvdW50cyAmJiBfdm0uZm9ybS5yZXR1cm5BbW91bnQgPiAwXG4gICAgICAgICAgICAgICAgICAgID8gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJyb3dcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtLWdyb3VwIGNvbC1tZC00XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwibGFiZWxcIiwgeyBhdHRyczogeyBmb3I6IFwiYWNjb3VudFwiIH0gfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoX3ZtLiR0KFwiY29tbW9uLmFjY291bnRcIikpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIHsgc3RhdGljQ2xhc3M6IFwicmVxdWlyZWRcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIipcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidi1zZWxlY3RcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpcy1pbnZhbGlkXCI6IF92bS5mb3JtLmVycm9ycy5oYXMoXCJhY2NvdW50XCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IF92bS5hY2NvdW50cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwibGFiZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBfdm0uJHQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb21tb24uYWNjb3VudF9wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb246IHsgaW5wdXQ6IF92bS51cGRhdGVCYWxhbmNlIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmZvcm0uYWNjb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChfdm0uZm9ybSwgXCJhY2NvdW50XCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJmb3JtLmFjY291bnRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImhhcy1lcnJvclwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBmb3JtOiBfdm0uZm9ybSwgZmllbGQ6IFwiYWNjb3VudFwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiZm9ybS1ncm91cCBjb2wtbWQtMlwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgYXR0cnM6IHsgZm9yOiBcImF2YWlsYWJsZUJhbGFuY2VcIiB9IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoX3ZtLiR0KFwiY29tbW9uLmF2YWlsYWJsZV9iYWxhbmNlXCIpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwibW9kZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXdOYW1lOiBcInYtbW9kZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmZvcm0uYXZhaWxhYmxlQmFsYW5jZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImZvcm0uYXZhaWxhYmxlQmFsYW5jZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImZvcm0tY29udHJvbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpcy1pbnZhbGlkXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLmZvcm0uZXJyb3JzLmhhcyhcImF2YWlsYWJsZUJhbGFuY2VcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiYXZhaWxhYmxlQmFsYW5jZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcIm51bWJlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwOiBcImFueVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImF2YWlsYWJsZUJhbGFuY2VcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZG9ubHk6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tUHJvcHM6IHsgdmFsdWU6IF92bS5mb3JtLmF2YWlsYWJsZUJhbGFuY2UgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0OiBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRldmVudC50YXJnZXQuY29tcG9zaW5nKSByZXR1cm5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5mb3JtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhdmFpbGFibGVCYWxhbmNlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaGFzLWVycm9yXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm06IF92bS5mb3JtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZDogXCJhdmFpbGFibGVCYWxhbmNlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm0tZ3JvdXAgY29sLW1kLTNcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJsYWJlbFwiLCB7IGF0dHJzOiB7IGZvcjogXCJjaGVxdWVOb1wiIH0gfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0uJHQoXCJjb21tb24uY2hlcXVlX25vXCIpKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwibW9kZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXdOYW1lOiBcInYtbW9kZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmZvcm0uY2hlcXVlTm8sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJmb3JtLmNoZXF1ZU5vXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiZm9ybS1jb250cm9sXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzLWludmFsaWRcIjogX3ZtLmZvcm0uZXJyb3JzLmhhcyhcImNoZXF1ZU5vXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcImNoZXF1ZU5vXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwOiBcImFueVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImNoZXF1ZU5vXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBfdm0uJHQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb21tb24uY2hlcXVlX3BsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21Qcm9wczogeyB2YWx1ZTogX3ZtLmZvcm0uY2hlcXVlTm8gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0OiBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRldmVudC50YXJnZXQuY29tcG9zaW5nKSByZXR1cm5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5mb3JtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjaGVxdWVOb1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnRhcmdldC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImhhcy1lcnJvclwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBmb3JtOiBfdm0uZm9ybSwgZmllbGQ6IFwiY2hlcXVlTm9cIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm0tZ3JvdXAgY29sLW1kLTNcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJsYWJlbFwiLCB7IGF0dHJzOiB7IGZvcjogXCJyZWNlaXB0Tm9cIiB9IH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLiR0KFwiY29tbW9uLnJlY2VpcHRfbm9cIikpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJtb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd05hbWU6IFwidi1tb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uZm9ybS5yZWNlaXB0Tm8sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJmb3JtLnJlY2VpcHROb1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImZvcm0tY29udHJvbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpcy1pbnZhbGlkXCI6IF92bS5mb3JtLmVycm9ycy5oYXMoXCJyZWNlaXB0Tm9cIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwicmVjZWlwdE5vXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcInJlY2VpcHROb1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogX3ZtLiR0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29tbW9uLnJlY2VpcHRfbm9fcGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbVByb3BzOiB7IHZhbHVlOiBfdm0uZm9ybS5yZWNlaXB0Tm8gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0OiBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRldmVudC50YXJnZXQuY29tcG9zaW5nKSByZXR1cm5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5mb3JtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJyZWNlaXB0Tm9cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC50YXJnZXQudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJoYXMtZXJyb3JcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgZm9ybTogX3ZtLmZvcm0sIGZpZWxkOiBcInJlY2VpcHROb1wiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtLWdyb3VwXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgIF9jKFwibGFiZWxcIiwgeyBhdHRyczogeyBmb3I6IFwibm90ZVwiIH0gfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0uJHQoXCJjb21tb24ubm90ZVwiKSkpLFxuICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZXh0YXJlYVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5mb3JtLm5vdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJmb3JtLm5vdGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJmb3JtLWNvbnRyb2xcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOiB7IFwiaXMtaW52YWxpZFwiOiBfdm0uZm9ybS5lcnJvcnMuaGFzKFwibm90ZVwiKSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwibm90ZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogX3ZtLiR0KFwiY29tbW9uLm5vdGVfcGxhY2Vob2xkZXJcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgZG9tUHJvcHM6IHsgdmFsdWU6IF92bS5mb3JtLm5vdGUgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0OiBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRldmVudC50YXJnZXQuY29tcG9zaW5nKSByZXR1cm5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChfdm0uZm9ybSwgXCJub3RlXCIsICRldmVudC50YXJnZXQudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJoYXMtZXJyb3JcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgZm9ybTogX3ZtLmZvcm0sIGZpZWxkOiBcIm5vdGVcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwicm93XCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiZm9ybS1ncm91cCBjb2wtbWQtNlwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJsYWJlbFwiLCB7IGF0dHJzOiB7IGZvcjogXCJkYXRlXCIgfSB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLiR0KFwic2FsZXMuY29tbW9uLnJldHVybl9kYXRlXCIpKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcImlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwibW9kZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd05hbWU6IFwidi1tb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5mb3JtLmRhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImZvcm0uZGF0ZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImZvcm0tY29udHJvbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogeyBcImlzLWludmFsaWRcIjogX3ZtLmZvcm0uZXJyb3JzLmhhcyhcImRhdGVcIikgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgaWQ6IFwiZGF0ZVwiLCB0eXBlOiBcImRhdGVcIiwgbmFtZTogXCJkYXRlXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tUHJvcHM6IHsgdmFsdWU6IF92bS5mb3JtLmRhdGUgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dDogZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRldmVudC50YXJnZXQuY29tcG9zaW5nKSByZXR1cm5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KF92bS5mb3JtLCBcImRhdGVcIiwgJGV2ZW50LnRhcmdldC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJoYXMtZXJyb3JcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBmb3JtOiBfdm0uZm9ybSwgZmllbGQ6IFwiZGF0ZVwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm0tZ3JvdXAgY29sLW1kLTZcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwibGFiZWxcIiwgeyBhdHRyczogeyBmb3I6IFwic3RhdHVzXCIgfSB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLiR0KFwiY29tbW9uLnN0YXR1c1wiKSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwic2VsZWN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwibW9kZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uZm9ybS5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiZm9ybS5zdGF0dXNcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJmb3JtLWNvbnRyb2xcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpcy1pbnZhbGlkXCI6IF92bS5mb3JtLmVycm9ycy5oYXMoXCJzdGF0dXNcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBpZDogXCJzdGF0dXNcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2U6IGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyICQkc2VsZWN0ZWRWYWwgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhbGwoJGV2ZW50LnRhcmdldC5vcHRpb25zLCBmdW5jdGlvbiAobykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG8uc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoZnVuY3Rpb24gKG8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWwgPSBcIl92YWx1ZVwiIGluIG8gPyBvLl92YWx1ZSA6IG8udmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uZm9ybSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInN0YXR1c1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC50YXJnZXQubXVsdGlwbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJCRzZWxlY3RlZFZhbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkJHNlbGVjdGVkVmFsWzBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwib3B0aW9uXCIsIHsgYXR0cnM6IHsgdmFsdWU6IFwiMVwiIH0gfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0uJHQoXCJjb21tb24uYWN0aXZlXCIpKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcIm9wdGlvblwiLCB7IGF0dHJzOiB7IHZhbHVlOiBcIjBcIiB9IH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLiR0KFwiY29tbW9uLmluX2FjdGl2ZVwiKSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaGFzLWVycm9yXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgZm9ybTogX3ZtLmZvcm0sIGZpZWxkOiBcInN0YXR1c1wiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJjYXJkLWZvb3RlclwiIH0sXG4gICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwidi1idXR0b25cIixcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJidG4gYnRuLXByaW1hcnlcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGxvYWRpbmc6IF92bS5mb3JtLmJ1c3kgfSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaVwiLCB7IHN0YXRpY0NsYXNzOiBcImZhcyBmYS1zYXZlXCIgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiIFwiICsgX3ZtLl9zKF92bS4kdChcImNvbW1vbi5zYXZlXCIpKSArIFwiXFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImJ0biBidG4tc2Vjb25kYXJ5IGZsb2F0LXJpZ2h0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyB0eXBlOiBcInJlc2V0XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5mb3JtLnJlc2V0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcImlcIiwgeyBzdGF0aWNDbGFzczogXCJmYXMgZmEtcG93ZXItb2ZmXCIgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoX3ZtLiR0KFwiY29tbW9uLnJlc2V0XCIpKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICksXG4gICAgICAgICAgXSksXG4gICAgICAgIF0pLFxuICAgICAgXSksXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/pages/sales/returns/create.vue?vue&type=template&id=6f3723d8&\n"); /***/ }), /***/ "./resources/js/pages/sales/returns/create.vue": /*!*****************************************************!*\ !*** ./resources/js/pages/sales/returns/create.vue ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _create_vue_vue_type_template_id_6f3723d8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create.vue?vue&type=template&id=6f3723d8& */ \"./resources/js/pages/sales/returns/create.vue?vue&type=template&id=6f3723d8&\");\n/* harmony import */ var _create_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./create.vue?vue&type=script&lang=js& */ \"./resources/js/pages/sales/returns/create.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _create_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _create_vue_vue_type_template_id_6f3723d8___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _create_vue_vue_type_template_id_6f3723d8___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"resources/js/pages/sales/returns/create.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvcGFnZXMvc2FsZXMvcmV0dXJucy9jcmVhdGUudnVlPzBhNzMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBcUY7QUFDM0I7QUFDTDs7O0FBR3JEO0FBQ21HO0FBQ25HLGdCQUFnQiwyR0FBVTtBQUMxQixFQUFFLDRFQUFNO0FBQ1IsRUFBRSxpRkFBTTtBQUNSLEVBQUUsMEZBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxJQUFJLEtBQVUsRUFBRSxZQWlCZjtBQUNEO0FBQ2UsZ0YiLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvcGFnZXMvc2FsZXMvcmV0dXJucy9jcmVhdGUudnVlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9jcmVhdGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTZmMzcyM2Q4JlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2NyZWF0ZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NyZWF0ZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsXG4gIFxuKVxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkge1xuICB2YXIgYXBpID0gcmVxdWlyZShcIkM6XFxcXGFjY3VsYW5jZS12NC4wLjJcXFxcbm9kZV9tb2R1bGVzXFxcXHZ1ZS1ob3QtcmVsb2FkLWFwaVxcXFxkaXN0XFxcXGluZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNmYzNzIzZDgnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnNmYzNzIzZDgnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnNmYzNzIzZDgnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL2NyZWF0ZS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NmYzNzIzZDgmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignNmYzNzIzZDgnLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInJlc291cmNlcy9qcy9wYWdlcy9zYWxlcy9yZXR1cm5zL2NyZWF0ZS52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/js/pages/sales/returns/create.vue\n"); /***/ }), /***/ "./resources/js/pages/sales/returns/create.vue?vue&type=script&lang=js&": /*!******************************************************************************!*\ !*** ./resources/js/pages/sales/returns/create.vue?vue&type=script&lang=js& ***! \******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_create_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib??ref--4-0!../../../../../node_modules/vue-loader/lib??vue-loader-options!./create.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/pages/sales/returns/create.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_create_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvcGFnZXMvc2FsZXMvcmV0dXJucy9jcmVhdGUudnVlPzEyZDciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBLHdDQUFrTSxDQUFnQixrUEFBRyxFQUFDIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2pzL3BhZ2VzL3NhbGVzL3JldHVybnMvY3JlYXRlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2NyZWF0ZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vY3JlYXRlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/js/pages/sales/returns/create.vue?vue&type=script&lang=js&\n"); /***/ }), /***/ "./resources/js/pages/sales/returns/create.vue?vue&type=template&id=6f3723d8&": /*!************************************************************************************!*\ !*** ./resources/js/pages/sales/returns/create.vue?vue&type=template&id=6f3723d8& ***! \************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ref_6_node_modules_vue_loader_lib_index_js_vue_loader_options_create_vue_vue_type_template_id_6f3723d8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib??ref--4-0!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!../../../../../node_modules/vue-loader/lib??vue-loader-options!./create.vue?vue&type=template&id=6f3723d8& */ \"./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/pages/sales/returns/create.vue?vue&type=template&id=6f3723d8&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ref_6_node_modules_vue_loader_lib_index_js_vue_loader_options_create_vue_vue_type_template_id_6f3723d8___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ref_6_node_modules_vue_loader_lib_index_js_vue_loader_options_create_vue_vue_type_template_id_6f3723d8___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvcGFnZXMvc2FsZXMvcmV0dXJucy9jcmVhdGUudnVlPzdlZGQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2pzL3BhZ2VzL3NhbGVzL3JldHVybnMvY3JlYXRlLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02ZjM3MjNkOCYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvdGVtcGxhdGVMb2FkZXIuanM/P3JlZi0tNiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2NyZWF0ZS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NmYzNzIzZDgmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/js/pages/sales/returns/create.vue?vue&type=template&id=6f3723d8&\n"); /***/ }) }]);