UNPKG

merchi_checkout

Version:
423 lines (422 loc) 80.5 kB
'use client'; function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _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; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import * as React from 'react'; import { createContext, useContext, useEffect, useState } from 'react'; import { tabsInit } from '../tabs_utils'; import { Merchi } from 'merchi_sdk_ts'; import { jsx as _jsx } from "react/jsx-runtime"; var MerchiCheckoutContext = /*#__PURE__*/createContext({ activeTabIndex: 0, alerts: [], alertClose: function alertClose() {}, alertErrorShow: function alertErrorShow() {}, classNameMerchiCheckoutAlertsContainer: undefined, classNameMerchiCheckoutAlert: undefined, classNameMerchiCheckoutAlertError: undefined, classNameMerchiCheckoutAlertSuccess: undefined, classNameMerchiCheckoutButtonPrimary: undefined, classNameMerchiCheckoutButtonPrimaryBlock: undefined, classNameMerchiCheckoutButtonSecondary: undefined, classNameMerchiCheckoutButtonSecondaryBlock: undefined, classNameMerchiCheckoutButtonDownloadInvoice: undefined, classNameMerchiCheckoutConfirmInfoPanel: undefined, classNameMerchiCheckoutFooterActionsContainer: undefined, classNameMerchiCheckoutFormCheckbox: undefined, classNameMerchiCheckoutFormGroup: undefined, classNameMerchiCheckoutFormGroupCheckbox: undefined, classNameMerchiCheckoutFormInput: undefined, classNameMerchiCheckoutFormSelect: undefined, classNameMerchiCheckoutGoogleSuggestList: undefined, classNameMerchiCheckoutGoogleSuggestListItem: undefined, classNameMerchiCheckoutListGroupItemLoader: undefined, classNameMerchiCheckoutFormLabelCheckbox: undefined, classNameMerchiCheckoutInputError: undefined, classNameMerchiCheckoutListGroup: undefined, classNameMerchiCheckoutListGroupItem: undefined, classNameMerchiCheckoutRow: undefined, classNameMerchiCheckoutRowColumn: undefined, classNameMerchiCheckoutSubtitle: undefined, classNameMerchiCheckoutTabsContainer: undefined, classNameMerchiCheckoutTab: undefined, classNameMerchiCheckoutTabPane: undefined, classNameMerchiCheckoutTabPaneContainer: undefined, classNameMerchiCheckoutTabButton: undefined, classNameMerchiInvoiceButtonPayInvoice: undefined, clearCustomer: function clearCustomer() {}, currentUser: undefined, customer: undefined, discountButtonText: undefined, discountCallbackError: function discountCallbackError() {}, discountCallbackSuccess: function discountCallbackSuccess() {}, discountClassName: undefined, discountClassNameButton: undefined, discountClassNameButtonContainer: undefined, discountClassNameButtonItemRemove: undefined, discountClassNameErrorMessage: undefined, discountClassNameInput: undefined, discountClassNameInputContainer: undefined, discountClassNameInputdiscountLabel: undefined, discountClassNameListItem: undefined, discountClassNameListItems: undefined, discountClassNameMainContainer: undefined, discountLabel: undefined, discountShowAppliedItems: true, domain: undefined, editDraftTemplate: function editDraftTemplate() {}, isBuyRequest: false, isOpen: false, loading: false, merchi: undefined, messageSuccessBuyRequest: undefined, messageSuccessQuoteRequest: undefined, nextTab: function nextTab() {}, includeDomainSignup: false, invoice: {}, isProductEmbedForm: false, job: {}, product: {}, redirectAfterSuccessUrl: undefined, redirectAfterQuoteSuccessUrl: undefined, redirectWithValue: true, setActiveTabById: function setActiveTabById() {}, setActiveTabIndex: function setActiveTabIndex() {}, setCustomer: function setCustomer() {}, setDomain: function setDomain() {}, setInvoice: function setInvoice() {}, setJob: function setJob() {}, showDiscountCode: true, showUserTermsAndConditions: true, tabs: [], toggleMerchiCheckout: function toggleMerchiCheckout() {}, urlFrontend: '', urlApi: '' }); export var useMerchiCheckboutContext = function useMerchiCheckboutContext() { return useContext(MerchiCheckoutContext); }; export var MerchiCheckoutProvider = function MerchiCheckoutProvider(_ref) { var children = _ref.children, _ref$classNameMerchiC = _ref.classNameMerchiCheckoutAlertsContainer, classNameMerchiCheckoutAlertsContainer = _ref$classNameMerchiC === void 0 ? 'd-flex justify-content-center flex-column alerts-container-sm' : _ref$classNameMerchiC, _ref$classNameMerchiC2 = _ref.classNameMerchiCheckoutAlert, classNameMerchiCheckoutAlert = _ref$classNameMerchiC2 === void 0 ? 'alert alert-dismissible alert-notify' : _ref$classNameMerchiC2, _ref$classNameMerchiC3 = _ref.classNameMerchiCheckoutAlertError, classNameMerchiCheckoutAlertError = _ref$classNameMerchiC3 === void 0 ? 'alert-danger' : _ref$classNameMerchiC3, _ref$classNameMerchiC4 = _ref.classNameMerchiCheckoutAlertSuccess, classNameMerchiCheckoutAlertSuccess = _ref$classNameMerchiC4 === void 0 ? 'alert-success' : _ref$classNameMerchiC4, _ref$classNameMerchiC5 = _ref.classNameMerchiCheckoutButtonPrimary, classNameMerchiCheckoutButtonPrimary = _ref$classNameMerchiC5 === void 0 ? 'btn btn-lmd btn-primary d-flex align-items-center justify-content-center' : _ref$classNameMerchiC5, _ref$classNameMerchiC6 = _ref.classNameMerchiCheckoutButtonPrimaryBlock, classNameMerchiCheckoutButtonPrimaryBlock = _ref$classNameMerchiC6 === void 0 ? 'btn btn-lg btn-primary btn-block' : _ref$classNameMerchiC6, _ref$classNameMerchiC7 = _ref.classNameMerchiCheckoutButtonSecondary, classNameMerchiCheckoutButtonSecondary = _ref$classNameMerchiC7 === void 0 ? 'btn btn-lg btn-secondary' : _ref$classNameMerchiC7, _ref$classNameMerchiC8 = _ref.classNameMerchiCheckoutButtonSecondaryBlock, classNameMerchiCheckoutButtonSecondaryBlock = _ref$classNameMerchiC8 === void 0 ? 'btn btn-lg btn-secondary btn-block' : _ref$classNameMerchiC8, _ref$classNameMerchiC9 = _ref.classNameMerchiCheckoutButtonDownloadInvoice, classNameMerchiCheckoutButtonDownloadInvoice = _ref$classNameMerchiC9 === void 0 ? 'btn btn-lg btn-primary' : _ref$classNameMerchiC9, _ref$classNameMerchiC10 = _ref.classNameMerchiCheckoutConfirmInfoPanel, classNameMerchiCheckoutConfirmInfoPanel = _ref$classNameMerchiC10 === void 0 ? 'd-flex align-items-center' : _ref$classNameMerchiC10, _ref$classNameMerchiC11 = _ref.classNameMerchiCheckoutFooterActionsContainer, classNameMerchiCheckoutFooterActionsContainer = _ref$classNameMerchiC11 === void 0 ? 'd-flex justify-content-between mt-4' : _ref$classNameMerchiC11, _ref$classNameMerchiC12 = _ref.classNameMerchiCheckoutFormCheckbox, classNameMerchiCheckoutFormCheckbox = _ref$classNameMerchiC12 === void 0 ? 'form-check-input' : _ref$classNameMerchiC12, _ref$classNameMerchiC13 = _ref.classNameMerchiCheckoutFormGroup, classNameMerchiCheckoutFormGroup = _ref$classNameMerchiC13 === void 0 ? 'form-group' : _ref$classNameMerchiC13, _ref$classNameMerchiC14 = _ref.classNameMerchiCheckoutFormGroupCheckbox, classNameMerchiCheckoutFormGroupCheckbox = _ref$classNameMerchiC14 === void 0 ? 'form-check' : _ref$classNameMerchiC14, _ref$classNameMerchiC15 = _ref.classNameMerchiCheckoutFormInput, classNameMerchiCheckoutFormInput = _ref$classNameMerchiC15 === void 0 ? 'form-control' : _ref$classNameMerchiC15, _ref$classNameMerchiC16 = _ref.classNameMerchiCheckoutFormSelect, classNameMerchiCheckoutFormSelect = _ref$classNameMerchiC16 === void 0 ? 'form-control' : _ref$classNameMerchiC16, _ref$classNameMerchiC17 = _ref.classNameMerchiCheckoutGoogleSuggestList, classNameMerchiCheckoutGoogleSuggestList = _ref$classNameMerchiC17 === void 0 ? 'list-group m-b-0' : _ref$classNameMerchiC17, _ref$classNameMerchiC18 = _ref.classNameMerchiCheckoutGoogleSuggestListItem, classNameMerchiCheckoutGoogleSuggestListItem = _ref$classNameMerchiC18 === void 0 ? 'list-group-item cursor-pointer' : _ref$classNameMerchiC18, _ref$classNameMerchiC19 = _ref.classNameMerchiCheckoutListGroupItemLoader, classNameMerchiCheckoutListGroupItemLoader = _ref$classNameMerchiC19 === void 0 ? 'list-group-item modal-merchi-checkout-shipment-option' : _ref$classNameMerchiC19, _ref$classNameMerchiC20 = _ref.classNameMerchiCheckoutInputError, classNameMerchiCheckoutInputError = _ref$classNameMerchiC20 === void 0 ? 'text-danger' : _ref$classNameMerchiC20, _ref$classNameMerchiC21 = _ref.classNameMerchiCheckoutFormLabelCheckbox, classNameMerchiCheckoutFormLabelCheckbox = _ref$classNameMerchiC21 === void 0 ? '' : _ref$classNameMerchiC21, _ref$classNameMerchiC22 = _ref.classNameMerchiCheckoutListGroup, classNameMerchiCheckoutListGroup = _ref$classNameMerchiC22 === void 0 ? 'modal-merchi-checkout-shipment-option' : _ref$classNameMerchiC22, _ref$classNameMerchiC23 = _ref.classNameMerchiCheckoutListGroupItem, classNameMerchiCheckoutListGroupItem = _ref$classNameMerchiC23 === void 0 ? 'list-group-item' : _ref$classNameMerchiC23, _ref$classNameMerchiC24 = _ref.classNameMerchiCheckoutRow, classNameMerchiCheckoutRow = _ref$classNameMerchiC24 === void 0 ? 'merchi-row' : _ref$classNameMerchiC24, _ref$classNameMerchiC25 = _ref.classNameMerchiCheckoutRowColumn, classNameMerchiCheckoutRowColumn = _ref$classNameMerchiC25 === void 0 ? 'merchi-column' : _ref$classNameMerchiC25, _ref$classNameMerchiC26 = _ref.classNameMerchiCheckoutSubtitle, classNameMerchiCheckoutSubtitle = _ref$classNameMerchiC26 === void 0 ? 'merchi-checkout-subtitle' : _ref$classNameMerchiC26, _ref$classNameMerchiC27 = _ref.classNameMerchiCheckoutTabsContainer, classNameMerchiCheckoutTabsContainer = _ref$classNameMerchiC27 === void 0 ? 'merchi-checkout-tabs-container' : _ref$classNameMerchiC27, _ref$classNameMerchiC28 = _ref.classNameMerchiCheckoutTab, classNameMerchiCheckoutTab = _ref$classNameMerchiC28 === void 0 ? 'merchi-checkout-tab' : _ref$classNameMerchiC28, _ref$classNameMerchiC29 = _ref.classNameMerchiCheckoutTabButton, classNameMerchiCheckoutTabButton = _ref$classNameMerchiC29 === void 0 ? 'btn merchi-checkout-tab-btn' : _ref$classNameMerchiC29, _ref$classNameMerchiC30 = _ref.classNameMerchiCheckoutTabPane, classNameMerchiCheckoutTabPane = _ref$classNameMerchiC30 === void 0 ? 'tab-pane' : _ref$classNameMerchiC30, _ref$classNameMerchiC31 = _ref.classNameMerchiCheckoutTabPaneContainer, classNameMerchiCheckoutTabPaneContainer = _ref$classNameMerchiC31 === void 0 ? 'tab-content' : _ref$classNameMerchiC31, _ref$classNameMerchiI = _ref.classNameMerchiInvoiceButtonPayInvoice, classNameMerchiInvoiceButtonPayInvoice = _ref$classNameMerchiI === void 0 ? 'btn btn-lg btn-primary btn-block' : _ref$classNameMerchiI, currentUser = _ref.currentUser, _ref$discountButtonTe = _ref.discountButtonText, discountButtonText = _ref$discountButtonTe === void 0 ? 'Apply' : _ref$discountButtonTe, _ref$discountClassNam = _ref.discountClassName, discountClassName = _ref$discountClassNam === void 0 ? 'merchi-checkout-discount-code-container' : _ref$discountClassNam, _ref$discountClassNam2 = _ref.discountClassNameButton, discountClassNameButton = _ref$discountClassNam2 === void 0 ? 'btn btn-primary' : _ref$discountClassNam2, _ref$discountClassNam3 = _ref.discountClassNameButtonContainer, discountClassNameButtonContainer = _ref$discountClassNam3 === void 0 ? '' : _ref$discountClassNam3, _ref$discountClassNam4 = _ref.discountClassNameButtonItemRemove, discountClassNameButtonItemRemove = _ref$discountClassNam4 === void 0 ? 'btn btn-sm btn-link' : _ref$discountClassNam4, _ref$discountClassNam5 = _ref.discountClassNameErrorMessage, discountClassNameErrorMessage = _ref$discountClassNam5 === void 0 ? 'text-danger' : _ref$discountClassNam5, _ref$discountClassNam6 = _ref.discountClassNameInput, discountClassNameInput = _ref$discountClassNam6 === void 0 ? 'form-control' : _ref$discountClassNam6, _ref$discountClassNam7 = _ref.discountClassNameInputContainer, discountClassNameInputContainer = _ref$discountClassNam7 === void 0 ? 'merchi-checkout-discount-code-field-container' : _ref$discountClassNam7, _ref$discountClassNam8 = _ref.discountClassNameInputdiscountLabel, discountClassNameInputdiscountLabel = _ref$discountClassNam8 === void 0 ? 'visually-hidden' : _ref$discountClassNam8, _ref$discountClassNam9 = _ref.discountClassNameListItem, discountClassNameListItem = _ref$discountClassNam9 === void 0 ? 'list-group-item d-flex align-items-center justify-content-between mt-2' : _ref$discountClassNam9, _ref$discountClassNam10 = _ref.discountClassNameListItems, discountClassNameListItems = _ref$discountClassNam10 === void 0 ? 'list-group' : _ref$discountClassNam10, discountClassNameMainContainer = _ref.discountClassNameMainContainer, _ref$discountLabel = _ref.discountLabel, discountLabel = _ref$discountLabel === void 0 ? 'Discount code' : _ref$discountLabel, _ref$discountShowAppl = _ref.discountShowAppliedItems, discountShowAppliedItems = _ref$discountShowAppl === void 0 ? true : _ref$discountShowAppl, _ref$includeDomainSig = _ref.includeDomainSignup, includeDomainSignup = _ref$includeDomainSig === void 0 ? false : _ref$includeDomainSig, invoice = _ref.invoice, isBuyRequest = _ref.isBuyRequest, isOpen = _ref.isOpen, _ref$isProductEmbedFo = _ref.isProductEmbedForm, isProductEmbedForm = _ref$isProductEmbedFo === void 0 ? false : _ref$isProductEmbedFo, job = _ref.job, product = _ref.product, messageSuccessBuyRequest = _ref.messageSuccessBuyRequest, messageSuccessQuoteRequest = _ref.messageSuccessQuoteRequest, redirectAfterSuccessUrl = _ref.redirectAfterSuccessUrl, redirectAfterQuoteSuccessUrl = _ref.redirectAfterQuoteSuccessUrl, redirectWithValue = _ref.redirectWithValue, setInvoice = _ref.setInvoice, setJob = _ref.setJob, _ref$showDiscountCode = _ref.showDiscountCode, showDiscountCode = _ref$showDiscountCode === void 0 ? true : _ref$showDiscountCode, _ref$showUserTermsAnd = _ref.showUserTermsAndConditions, showUserTermsAndConditions = _ref$showUserTermsAnd === void 0 ? true : _ref$showUserTermsAnd, toggleMerchiCheckout = _ref.toggleMerchiCheckout, _ref$urlApi = _ref.urlApi, urlApi = _ref$urlApi === void 0 ? 'https://api.merchi.co/v6/' : _ref$urlApi, _ref$urlFrontend = _ref.urlFrontend, urlFrontend = _ref$urlFrontend === void 0 ? 'https://merchi.co/' : _ref$urlFrontend; var _useState = useState(0), _useState2 = _slicedToArray(_useState, 2), activeTabIndex = _useState2[0], setActiveTabIndex = _useState2[1]; var _useState3 = useState(false), _useState4 = _slicedToArray(_useState3, 2), loading = _useState4[0], setLoading = _useState4[1]; var _useState5 = useState([]), _useState6 = _slicedToArray(_useState5, 2), alerts = _useState6[0], setAlerts = _useState6[1]; var _useState7 = useState(null), _useState8 = _slicedToArray(_useState7, 2), domain = _useState8[0], setDomain = _useState8[1]; var _useState9 = useState([]), _useState10 = _slicedToArray(_useState9, 2), tabs = _useState10[0], setTabs = _useState10[1]; var merchi = new Merchi(undefined, undefined, undefined, undefined, urlApi); function editDraftTemplate(index, draft) { var jobJson = _objectSpread({}, job); var draftTemplates = product.draftTemplates || []; var draftTemplateFiles = draftTemplates.map(function (d) { return d.file; }); var ownDraft = jobJson.ownDrafts && jobJson.ownDrafts[0] || { images: draftTemplateFiles }; if (ownDraft.images) { ownDraft.images[index] = draft; } else { ownDraft.images = [draft]; } jobJson.ownDrafts = [ownDraft]; setJob(jobJson); } function alertClose(index) { var updatedAlerts = alerts.filter(function (_, idx) { return idx !== index; }); setAlerts(updatedAlerts); } function alertErrorShow(message) { var newAlerts = [].concat(_toConsumableArray(alerts), [{ alertType: 'error', message: message, title: 'Error!' }]); setAlerts(newAlerts); } function resetTabs() { var _tabs = tabsInit({ job: job, includeDomainSignup: includeDomainSignup, isBuyRequest: isBuyRequest }); setTabs(_tabs); } function setCustomer(customer) { setJob(_objectSpread(_objectSpread({}, job), {}, { client: customer })); resetTabs(); } function clearCustomer() { setCustomer({}); resetTabs(); } function nextTab() { var ndextIndex = activeTabIndex + 1; var _tabs = _toConsumableArray(tabs); _tabs[ndextIndex].disabled = false; setTabs(_tabs); setActiveTabIndex(ndextIndex); } function setActiveTabById(tabId) { var index = tabs.findIndex(function (t) { return t.id === tabId; }); setActiveTabIndex(index); } useEffect(function () { if (job.product && !tabs.length) { resetTabs(); } if (!job.client) { setCustomer(currentUser || {}); } }, [job]); function discountCallbackSuccess(items) { setJob(_objectSpread(_objectSpread({}, job), {}, { items: items })); } function discountCallbackError() { setJob(_objectSpread(_objectSpread({}, job), {}, { items: [] })); } return /*#__PURE__*/_jsx(MerchiCheckoutContext.Provider, { value: { activeTabIndex: activeTabIndex, alerts: alerts, alertClose: alertClose, alertErrorShow: alertErrorShow, classNameMerchiCheckoutAlertsContainer: classNameMerchiCheckoutAlertsContainer, classNameMerchiCheckoutAlert: classNameMerchiCheckoutAlert, classNameMerchiCheckoutAlertError: classNameMerchiCheckoutAlertError, classNameMerchiCheckoutAlertSuccess: classNameMerchiCheckoutAlertSuccess, classNameMerchiCheckoutButtonPrimary: classNameMerchiCheckoutButtonPrimary, classNameMerchiCheckoutButtonPrimaryBlock: classNameMerchiCheckoutButtonPrimaryBlock, classNameMerchiCheckoutButtonSecondary: classNameMerchiCheckoutButtonSecondary, classNameMerchiCheckoutButtonSecondaryBlock: classNameMerchiCheckoutButtonSecondaryBlock, classNameMerchiCheckoutButtonDownloadInvoice: classNameMerchiCheckoutButtonDownloadInvoice, classNameMerchiCheckoutConfirmInfoPanel: classNameMerchiCheckoutConfirmInfoPanel, classNameMerchiCheckoutFooterActionsContainer: classNameMerchiCheckoutFooterActionsContainer, classNameMerchiCheckoutFormCheckbox: classNameMerchiCheckoutFormCheckbox, classNameMerchiCheckoutFormGroup: classNameMerchiCheckoutFormGroup, classNameMerchiCheckoutFormGroupCheckbox: classNameMerchiCheckoutFormGroupCheckbox, classNameMerchiCheckoutFormInput: classNameMerchiCheckoutFormInput, classNameMerchiCheckoutFormSelect: classNameMerchiCheckoutFormSelect, classNameMerchiCheckoutGoogleSuggestList: classNameMerchiCheckoutGoogleSuggestList, classNameMerchiCheckoutGoogleSuggestListItem: classNameMerchiCheckoutGoogleSuggestListItem, classNameMerchiCheckoutListGroupItemLoader: classNameMerchiCheckoutListGroupItemLoader, classNameMerchiCheckoutFormLabelCheckbox: classNameMerchiCheckoutFormLabelCheckbox, classNameMerchiCheckoutInputError: classNameMerchiCheckoutInputError, classNameMerchiCheckoutListGroup: classNameMerchiCheckoutListGroup, classNameMerchiCheckoutListGroupItem: classNameMerchiCheckoutListGroupItem, classNameMerchiCheckoutRow: classNameMerchiCheckoutRow, classNameMerchiCheckoutRowColumn: classNameMerchiCheckoutRowColumn, classNameMerchiCheckoutSubtitle: classNameMerchiCheckoutSubtitle, classNameMerchiCheckoutTabsContainer: classNameMerchiCheckoutTabsContainer, classNameMerchiCheckoutTab: classNameMerchiCheckoutTab, classNameMerchiCheckoutTabButton: classNameMerchiCheckoutTabButton, classNameMerchiCheckoutTabPane: classNameMerchiCheckoutTabPane, classNameMerchiCheckoutTabPaneContainer: classNameMerchiCheckoutTabPaneContainer, classNameMerchiInvoiceButtonPayInvoice: classNameMerchiInvoiceButtonPayInvoice, clearCustomer: clearCustomer, currentUser: currentUser, customer: job.client || {}, discountButtonText: discountButtonText, discountCallbackError: discountCallbackError, discountCallbackSuccess: discountCallbackSuccess, discountClassName: discountClassName, discountClassNameButton: discountClassNameButton, discountClassNameButtonContainer: discountClassNameButtonContainer, discountClassNameButtonItemRemove: discountClassNameButtonItemRemove, discountClassNameErrorMessage: discountClassNameErrorMessage, discountClassNameInput: discountClassNameInput, discountClassNameInputContainer: discountClassNameInputContainer, discountClassNameInputdiscountLabel: discountClassNameInputdiscountLabel, discountClassNameListItem: discountClassNameListItem, discountClassNameListItems: discountClassNameListItems, discountClassNameMainContainer: discountClassNameMainContainer, discountLabel: discountLabel, discountShowAppliedItems: discountShowAppliedItems, domain: domain, editDraftTemplate: editDraftTemplate, includeDomainSignup: includeDomainSignup, invoice: invoice, isBuyRequest: isBuyRequest, isOpen: isOpen, isProductEmbedForm: isProductEmbedForm, job: job, loading: loading, merchi: merchi, messageSuccessBuyRequest: messageSuccessBuyRequest, messageSuccessQuoteRequest: messageSuccessQuoteRequest, nextTab: nextTab, product: product, redirectAfterSuccessUrl: redirectAfterSuccessUrl, redirectAfterQuoteSuccessUrl: redirectAfterQuoteSuccessUrl, redirectWithValue: redirectWithValue, setActiveTabById: setActiveTabById, setActiveTabIndex: setActiveTabIndex, setCustomer: setCustomer, setDomain: setDomain, setInvoice: setInvoice, setJob: setJob, showDiscountCode: showDiscountCode, showUserTermsAndConditions: showUserTermsAndConditions, tabs: tabs, toggleMerchiCheckout: toggleMerchiCheckout, urlApi: urlApi, urlFrontend: urlFrontend }, children: children }); }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiaXRlciIsIkFycmF5IiwiZnJvbSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIm9iaiIsImtleSIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImkiLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJ0b1ByaW1pdGl2ZSIsImNhbGwiLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJtaW5MZW4iLCJuIiwidG9TdHJpbmciLCJzbGljZSIsIm5hbWUiLCJ0ZXN0IiwibGVuIiwiYXJyMiIsImwiLCJ1IiwiYSIsImYiLCJuZXh0IiwiZG9uZSIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInRhYnNJbml0IiwiTWVyY2hpIiwianN4IiwiX2pzeCIsIk1lcmNoaUNoZWNrb3V0Q29udGV4dCIsImFjdGl2ZVRhYkluZGV4IiwiYWxlcnRzIiwiYWxlcnRDbG9zZSIsImFsZXJ0RXJyb3JTaG93IiwiY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRBbGVydHNDb250YWluZXIiLCJ1bmRlZmluZWQiLCJjbGFzc05hbWVNZXJjaGlDaGVja291dEFsZXJ0IiwiY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRBbGVydEVycm9yIiwiY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRBbGVydFN1Y2Nlc3MiLCJjbGFzc05hbWVNZXJjaGlDaGVja291dEJ1dHRvblByaW1hcnkiLCJjbGFzc05hbWVNZXJjaGlDaGVja291dEJ1dHRvblByaW1hcnlCbG9jayIsImNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QnV0dG9uU2Vjb25kYXJ5IiwiY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRCdXR0b25TZWNvbmRhcnlCbG9jayIsImNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QnV0dG9uRG93bmxvYWRJbnZvaWNlIiwiY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRDb25maXJtSW5mb1BhbmVsIiwiY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRGb290ZXJBY3Rpb25zQ29udGFpbmVyIiwiY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRGb3JtQ2hlY2tib3giLCJjbGFzc05hbWVNZXJjaGlDaGVja291dEZvcm1Hcm91cCIsImNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Rm9ybUdyb3VwQ2hlY2tib3giLCJjbGFzc05hbWVNZXJjaGlDaGVja291dEZvcm1JbnB1dCIsImNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Rm9ybVNlbGVjdCIsImNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0R29vZ2xlU3VnZ2VzdExpc3QiLCJjbGFzc05hbWVNZXJjaGlDaGVja291dEdvb2dsZVN1Z2dlc3RMaXN0SXRlbSIsImNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0TGlzdEdyb3VwSXRlbUxvYWRlciIsImNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Rm9ybUxhYmVsQ2hlY2tib3giLCJjbGFzc05hbWVNZXJjaGlDaGVja291dElucHV0RXJyb3IiLCJjbGFzc05hbWVNZXJjaGlDaGVja291dExpc3RHcm91cCIsImNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0TGlzdEdyb3VwSXRlbSIsImNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Um93IiwiY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRSb3dDb2x1bW4iLCJjbGFzc05hbWVNZXJjaGlDaGVja291dFN1YnRpdGxlIiwiY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRUYWJzQ29udGFpbmVyIiwiY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRUYWIiLCJjbGFzc05hbWVNZXJjaGlDaGVja291dFRhYlBhbmUiLCJjbGFzc05hbWVNZXJjaGlDaGVja291dFRhYlBhbmVDb250YWluZXIiLCJjbGFzc05hbWVNZXJjaGlDaGVja291dFRhYkJ1dHRvbiIsImNsYXNzTmFtZU1lcmNoaUludm9pY2VCdXR0b25QYXlJbnZvaWNlIiwiY2xlYXJDdXN0b21lciIsImN1cnJlbnRVc2VyIiwiY3VzdG9tZXIiLCJkaXNjb3VudEJ1dHRvblRleHQiLCJkaXNjb3VudENhbGxiYWNrRXJyb3IiLCJkaXNjb3VudENhbGxiYWNrU3VjY2VzcyIsImRpc2NvdW50Q2xhc3NOYW1lIiwiZGlzY291bnRDbGFzc05hbWVCdXR0b24iLCJkaXNjb3VudENsYXNzTmFtZUJ1dHRvbkNvbnRhaW5lciIsImRpc2NvdW50Q2xhc3NOYW1lQnV0dG9uSXRlbVJlbW92ZSIsImRpc2NvdW50Q2xhc3NOYW1lRXJyb3JNZXNzYWdlIiwiZGlzY291bnRDbGFzc05hbWVJbnB1dCIsImRpc2NvdW50Q2xhc3NOYW1lSW5wdXRDb250YWluZXIiLCJkaXNjb3VudENsYXNzTmFtZUlucHV0ZGlzY291bnRMYWJlbCIsImRpc2NvdW50Q2xhc3NOYW1lTGlzdEl0ZW0iLCJkaXNjb3VudENsYXNzTmFtZUxpc3RJdGVtcyIsImRpc2NvdW50Q2xhc3NOYW1lTWFpbkNvbnRhaW5lciIsImRpc2NvdW50TGFiZWwiLCJkaXNjb3VudFNob3dBcHBsaWVkSXRlbXMiLCJkb21haW4iLCJlZGl0RHJhZnRUZW1wbGF0ZSIsImlzQnV5UmVxdWVzdCIsImlzT3BlbiIsImxvYWRpbmciLCJtZXJjaGkiLCJtZXNzYWdlU3VjY2Vzc0J1eVJlcXVlc3QiLCJtZXNzYWdlU3VjY2Vzc1F1b3RlUmVxdWVzdCIsIm5leHRUYWIiLCJpbmNsdWRlRG9tYWluU2lnbnVwIiwiaW52b2ljZSIsImlzUHJvZHVjdEVtYmVkRm9ybSIsImpvYiIsInByb2R1Y3QiLCJyZWRpcmVjdEFmdGVyU3VjY2Vzc1VybCIsInJlZGlyZWN0QWZ0ZXJRdW90ZVN1Y2Nlc3NVcmwiLCJyZWRpcmVjdFdpdGhWYWx1ZSIsInNldEFjdGl2ZVRhYkJ5SWQiLCJzZXRBY3RpdmVUYWJJbmRleCIsInNldEN1c3RvbWVyIiwic2V0RG9tYWluIiwic2V0SW52b2ljZSIsInNldEpvYiIsInNob3dEaXNjb3VudENvZGUiLCJzaG93VXNlclRlcm1zQW5kQ29uZGl0aW9ucyIsInRhYnMiLCJ0b2dnbGVNZXJjaGlDaGVja291dCIsInVybEZyb250ZW5kIiwidXJsQXBpIiwidXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCIsIk1lcmNoaUNoZWNrb3V0UHJvdmlkZXIiLCJfcmVmIiwiY2hpbGRyZW4iLCJfcmVmJGNsYXNzTmFtZU1lcmNoaUMiLCJfcmVmJGNsYXNzTmFtZU1lcmNoaUMyIiwiX3JlZiRjbGFzc05hbWVNZXJjaGlDMyIsIl9yZWYkY2xhc3NOYW1lTWVyY2hpQzQiLCJfcmVmJGNsYXNzTmFtZU1lcmNoaUM1IiwiX3JlZiRjbGFzc05hbWVNZXJjaGlDNiIsIl9yZWYkY2xhc3NOYW1lTWVyY2hpQzciLCJfcmVmJGNsYXNzTmFtZU1lcmNoaUM4IiwiX3JlZiRjbGFzc05hbWVNZXJjaGlDOSIsIl9yZWYkY2xhc3NOYW1lTWVyY2hpQzEwIiwiX3JlZiRjbGFzc05hbWVNZXJjaGlDMTEiLCJfcmVmJGNsYXNzTmFtZU1lcmNoaUMxMiIsIl9yZWYkY2xhc3NOYW1lTWVyY2hpQzEzIiwiX3JlZiRjbGFzc05hbWVNZXJjaGlDMTQiLCJfcmVmJGNsYXNzTmFtZU1lcmNoaUMxNSIsIl9yZWYkY2xhc3NOYW1lTWVyY2hpQzE2IiwiX3JlZiRjbGFzc05hbWVNZXJjaGlDMTciLCJfcmVmJGNsYXNzTmFtZU1lcmNoaUMxOCIsIl9yZWYkY2xhc3NOYW1lTWVyY2hpQzE5IiwiX3JlZiRjbGFzc05hbWVNZXJjaGlDMjAiLCJfcmVmJGNsYXNzTmFtZU1lcmNoaUMyMSIsIl9yZWYkY2xhc3NOYW1lTWVyY2hpQzIyIiwiX3JlZiRjbGFzc05hbWVNZXJjaGlDMjMiLCJfcmVmJGNsYXNzTmFtZU1lcmNoaUMyNCIsIl9yZWYkY2xhc3NOYW1lTWVyY2hpQzI1IiwiX3JlZiRjbGFzc05hbWVNZXJjaGlDMjYiLCJfcmVmJGNsYXNzTmFtZU1lcmNoaUMyNyIsIl9yZWYkY2xhc3NOYW1lTWVyY2hpQzI4IiwiX3JlZiRjbGFzc05hbWVNZXJjaGlDMjkiLCJfcmVmJGNsYXNzTmFtZU1lcmNoaUMzMCIsIl9yZWYkY2xhc3NOYW1lTWVyY2hpQzMxIiwiX3JlZiRjbGFzc05hbWVNZXJjaGlJIiwiX3JlZiRkaXNjb3VudEJ1dHRvblRlIiwiX3JlZiRkaXNjb3VudENsYXNzTmFtIiwiX3JlZiRkaXNjb3VudENsYXNzTmFtMiIsIl9yZWYkZGlzY291bnRDbGFzc05hbTMiLCJfcmVmJGRpc2NvdW50Q2xhc3NOYW00IiwiX3JlZiRkaXNjb3VudENsYXNzTmFtNSIsIl9yZWYkZGlzY291bnRDbGFzc05hbTYiLCJfcmVmJGRpc2NvdW50Q2xhc3NOYW03IiwiX3JlZiRkaXNjb3VudENsYXNzTmFtOCIsIl9yZWYkZGlzY291bnRDbGFzc05hbTkiLCJfcmVmJGRpc2NvdW50Q2xhc3NOYW0xMCIsIl9yZWYkZGlzY291bnRMYWJlbCIsIl9yZWYkZGlzY291bnRTaG93QXBwbCIsIl9yZWYkaW5jbHVkZURvbWFpblNpZyIsIl9yZWYkaXNQcm9kdWN0RW1iZWRGbyIsIl9yZWYkc2hvd0Rpc2NvdW50Q29kZSIsIl9yZWYkc2hvd1VzZXJUZXJtc0FuZCIsIl9yZWYkdXJsQXBpIiwiX3JlZiR1cmxGcm9udGVuZCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNldExvYWRpbmciLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInNldEFsZXJ0cyIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwic2V0VGFicyIsImluZGV4IiwiZHJhZnQiLCJqb2JKc29uIiwiZHJhZnRUZW1wbGF0ZXMiLCJkcmFmdFRlbXBsYXRlRmlsZXMiLCJtYXAiLCJkIiwiZmlsZSIsIm93bkRyYWZ0Iiwib3duRHJhZnRzIiwiaW1hZ2VzIiwidXBkYXRlZEFsZXJ0cyIsIl8iLCJpZHgiLCJtZXNzYWdlIiwibmV3QWxlcnRzIiwiY29uY2F0IiwiYWxlcnRUeXBlIiwidGl0bGUiLCJyZXNldFRhYnMiLCJfdGFicyIsImNsaWVudCIsIm5kZXh0SW5kZXgiLCJkaXNhYmxlZCIsInRhYklkIiwiZmluZEluZGV4IiwiaWQiLCJpdGVtcyIsIlByb3ZpZGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvTWVyY2hpQ2hlY2tvdXRQcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCwgUmVhY3ROb2RlLCB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTWVyY2hpQ2hlY2tvdXRUYWIgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyB0YWJzSW5pdCB9IGZyb20gJy4uL3RhYnNfdXRpbHMnO1xuaW1wb3J0IHsgTWVyY2hpIH0gZnJvbSAnbWVyY2hpX3Nka190cyc7XG5cbmludGVyZmFjZSBJTWVyY2hpQ2hlY2tvdXQge1xuICBhY3RpdmVUYWJJbmRleDogbnVtYmVyO1xuICBhbGVydHM6IGFueVtdO1xuICBhbGVydENsb3NlOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgYWxlcnRFcnJvclNob3c6IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QWxlcnRzQ29udGFpbmVyPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEFsZXJ0Pzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEFsZXJ0RXJyb3I/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QWxlcnRTdWNjZXNzPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEJ1dHRvblByaW1hcnk/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QnV0dG9uUHJpbWFyeUJsb2NrPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEJ1dHRvblNlY29uZGFyeT86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRCdXR0b25TZWNvbmRhcnlCbG9jaz86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRCdXR0b25Eb3dubG9hZEludm9pY2U/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Q29uZmlybUluZm9QYW5lbD86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRGb290ZXJBY3Rpb25zQ29udGFpbmVyPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEZvcm1DaGVja2JveD86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRGb3JtR3JvdXA/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Rm9ybUdyb3VwQ2hlY2tib3g/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Rm9ybUlucHV0Pzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEZvcm1TZWxlY3Q/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0R29vZ2xlU3VnZ2VzdExpc3Q/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0R29vZ2xlU3VnZ2VzdExpc3RJdGVtPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dExpc3RHcm91cEl0ZW1Mb2FkZXI/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Rm9ybUxhYmVsQ2hlY2tib3g/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0SW5wdXRFcnJvcj86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRMaXN0R3JvdXA/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0TGlzdEdyb3VwSXRlbT86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRSb3c/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Um93Q29sdW1uPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dFN1YnRpdGxlPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dFRhYnNDb250YWluZXI/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0VGFiPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dFRhYlBhbmU/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0VGFiUGFuZUNvbnRhaW5lcj86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRUYWJCdXR0b24/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUludm9pY2VCdXR0b25QYXlJbnZvaWNlPzogc3RyaW5nO1xuICBjbGVhckN1c3RvbWVyOiAoKSA9PiB2b2lkO1xuICBjdXJyZW50VXNlcj86IGFueTtcbiAgY3VzdG9tZXI/OiBhbnk7XG4gIGRpc2NvdW50QnV0dG9uVGV4dD86IHN0cmluZztcbiAgZGlzY291bnRDYWxsYmFja0Vycm9yOiAoKSA9PiB2b2lkO1xuICBkaXNjb3VudENhbGxiYWNrU3VjY2VzczogKGl0ZW1zOiBhbnlbXSkgPT4gdm9pZDtcbiAgZGlzY291bnRDbGFzc05hbWU/OiBzdHJpbmc7XG4gIGRpc2NvdW50Q2xhc3NOYW1lTWFpbkNvbnRhaW5lcj86IHN0cmluZztcbiAgZGlzY291bnRDbGFzc05hbWVCdXR0b25JdGVtUmVtb3ZlPzogc3RyaW5nO1xuICBkaXNjb3VudENsYXNzTmFtZUJ1dHRvbj86IHN0cmluZztcbiAgZGlzY291bnRDbGFzc05hbWVCdXR0b25Db250YWluZXI/OiBzdHJpbmc7XG4gIGRpc2NvdW50Q2xhc3NOYW1lRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICBkaXNjb3VudENsYXNzTmFtZUlucHV0Pzogc3RyaW5nO1xuICBkaXNjb3VudENsYXNzTmFtZUxpc3RJdGVtPzogc3RyaW5nO1xuICBkaXNjb3VudENsYXNzTmFtZUxpc3RJdGVtcz86IHN0cmluZztcbiAgZGlzY291bnRDbGFzc05hbWVJbnB1dENvbnRhaW5lcj86IHN0cmluZztcbiAgZGlzY291bnRDbGFzc05hbWVJbnB1dGRpc2NvdW50TGFiZWw/OiBzdHJpbmc7XG4gIGRpc2NvdW50TGFiZWw/OiBzdHJpbmc7XG4gIGRpc2NvdW50U2hvd0FwcGxpZWRJdGVtcz86IGJvb2xlYW47XG4gIGRvbWFpbj86IGFueTtcbiAgZWRpdERyYWZ0VGVtcGxhdGU6IChpbmRleDogbnVtYmVyLCBkcmFmdDogYW55KSA9PiB2b2lkO1xuICBpbmNsdWRlRG9tYWluU2lnbnVwPzogYm9vbGVhbjtcbiAgaW52b2ljZTogYW55O1xuICBpc0J1eVJlcXVlc3Q/OiBib29sZWFuO1xuICBpc09wZW4/OiBib29sZWFuO1xuICBpc1Byb2R1Y3RFbWJlZEZvcm0/OiBib29sZWFuO1xuICBqb2I6IGFueTtcbiAgbG9hZGluZzogYm9vbGVhbjtcbiAgbWVyY2hpOiBNZXJjaGk7XG4gIG1lc3NhZ2VTdWNjZXNzQnV5UmVxdWVzdD86IHN0cmluZztcbiAgbWVzc2FnZVN1Y2Nlc3NRdW90ZVJlcXVlc3Q/OiBzdHJpbmc7XG4gIG5leHRUYWI6ICgpID0+IHZvaWQ7XG4gIHByb2R1Y3Q6IGFueTtcbiAgcmVkaXJlY3RBZnRlclN1Y2Nlc3NVcmw/OiBzdHJpbmc7XG4gIHJlZGlyZWN0QWZ0ZXJRdW90ZVN1Y2Nlc3NVcmw/OiBzdHJpbmc7XG4gIHJlZGlyZWN0V2l0aFZhbHVlPzogYm9vbGVhbjtcbiAgc2V0QWN0aXZlVGFiQnlJZDogKGlkOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHNldEFjdGl2ZVRhYkluZGV4OiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgc2V0Q3VzdG9tZXI6IChjdXN0b21lcjogYW55KSA9PiB2b2lkO1xuICBzZXREb21haW46IChkb21haW46IGFueSkgPT4gdm9pZDtcbiAgc2V0SW52b2ljZTogKGludm9pY2U6IGFueSkgPT4gdm9pZDtcbiAgc2V0Sm9iOiAoam9iOiBhbnkpID0+IHZvaWQ7XG4gIHNob3dEaXNjb3VudENvZGU/OiBib29sZWFuO1xuICBzaG93VXNlclRlcm1zQW5kQ29uZGl0aW9ucz86IGJvb2xlYW47XG4gIHRhYnM6IE1lcmNoaUNoZWNrb3V0VGFiW107XG4gIHRvZ2dsZU1lcmNoaUNoZWNrb3V0OiAoKSA9PiB2b2lkO1xuICB1cmxGcm9udGVuZDogc3RyaW5nO1xuICB1cmxBcGk6IHN0cmluZztcbn1cblxuY29uc3QgTWVyY2hpQ2hlY2tvdXRDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxJTWVyY2hpQ2hlY2tvdXQ+KHtcbiAgYWN0aXZlVGFiSW5kZXg6IDAsXG4gIGFsZXJ0czogW10sXG4gIGFsZXJ0Q2xvc2UoKSB7fSxcbiAgYWxlcnRFcnJvclNob3coKSB7fSxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRBbGVydHNDb250YWluZXI6IHVuZGVmaW5lZCxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRBbGVydDogdW5kZWZpbmVkLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEFsZXJ0RXJyb3I6IHVuZGVmaW5lZCxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRBbGVydFN1Y2Nlc3M6IHVuZGVmaW5lZCxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRCdXR0b25QcmltYXJ5OiB1bmRlZmluZWQsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QnV0dG9uUHJpbWFyeUJsb2NrOiB1bmRlZmluZWQsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QnV0dG9uU2Vjb25kYXJ5OiB1bmRlZmluZWQsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QnV0dG9uU2Vjb25kYXJ5QmxvY2s6IHVuZGVmaW5lZCxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRCdXR0b25Eb3dubG9hZEludm9pY2U6IHVuZGVmaW5lZCxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRDb25maXJtSW5mb1BhbmVsOiB1bmRlZmluZWQsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Rm9vdGVyQWN0aW9uc0NvbnRhaW5lcjogdW5kZWZpbmVkLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEZvcm1DaGVja2JveDogdW5kZWZpbmVkLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEZvcm1Hcm91cDogdW5kZWZpbmVkLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEZvcm1Hcm91cENoZWNrYm94OiB1bmRlZmluZWQsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Rm9ybUlucHV0OiB1bmRlZmluZWQsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Rm9ybVNlbGVjdDogdW5kZWZpbmVkLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEdvb2dsZVN1Z2dlc3RMaXN0OiB1bmRlZmluZWQsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0R29vZ2xlU3VnZ2VzdExpc3RJdGVtOiB1bmRlZmluZWQsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0TGlzdEdyb3VwSXRlbUxvYWRlcjogdW5kZWZpbmVkLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEZvcm1MYWJlbENoZWNrYm94OiB1bmRlZmluZWQsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0SW5wdXRFcnJvcjogdW5kZWZpbmVkLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dExpc3RHcm91cDogdW5kZWZpbmVkLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dExpc3RHcm91cEl0ZW06IHVuZGVmaW5lZCxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRSb3c6IHVuZGVmaW5lZCxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRSb3dDb2x1bW46IHVuZGVmaW5lZCxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRTdWJ0aXRsZTogdW5kZWZpbmVkLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dFRhYnNDb250YWluZXI6IHVuZGVmaW5lZCxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRUYWI6IHVuZGVmaW5lZCxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRUYWJQYW5lOiB1bmRlZmluZWQsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0VGFiUGFuZUNvbnRhaW5lcjogdW5kZWZpbmVkLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dFRhYkJ1dHRvbjogdW5kZWZpbmVkLFxuICBjbGFzc05hbWVNZXJjaGlJbnZvaWNlQnV0dG9uUGF5SW52b2ljZTogdW5kZWZpbmVkLFxuICBjbGVhckN1c3RvbWVyKCkge30sXG4gIGN1cnJlbnRVc2VyOiB1bmRlZmluZWQsXG4gIGN1c3RvbWVyOiB1bmRlZmluZWQsXG4gIGRpc2NvdW50QnV0dG9uVGV4dDogdW5kZWZpbmVkLFxuICBkaXNjb3VudENhbGxiYWNrRXJyb3IoKSB7fSxcbiAgZGlzY291bnRDYWxsYmFja1N1Y2Nlc3MoKSB7fSxcbiAgZGlzY291bnRDbGFzc05hbWU6IHVuZGVmaW5lZCxcbiAgZGlzY291bnRDbGFzc05hbWVCdXR0b246IHVuZGVmaW5lZCxcbiAgZGlzY291bnRDbGFzc05hbWVCdXR0b25Db250YWluZXI6IHVuZGVmaW5lZCxcbiAgZGlzY291bnRDbGFzc05hbWVCdXR0b25JdGVtUmVtb3ZlOiB1bmRlZmluZWQsXG4gIGRpc2NvdW50Q2xhc3NOYW1lRXJyb3JNZXNzYWdlOiB1bmRlZmluZWQsXG4gIGRpc2NvdW50Q2xhc3NOYW1lSW5wdXQ6IHVuZGVmaW5lZCxcbiAgZGlzY291bnRDbGFzc05hbWVJbnB1dENvbnRhaW5lcjogdW5kZWZpbmVkLFxuICBkaXNjb3VudENsYXNzTmFtZUlucHV0ZGlzY291bnRMYWJlbDogdW5kZWZpbmVkLFxuICBkaXNjb3VudENsYXNzTmFtZUxpc3RJdGVtOiB1bmRlZmluZWQsXG4gIGRpc2NvdW50Q2xhc3NOYW1lTGlzdEl0ZW1zOiB1bmRlZmluZWQsXG4gIGRpc2NvdW50Q2xhc3NOYW1lTWFpbkNvbnRhaW5lcjogdW5kZWZpbmVkLFxuICBkaXNjb3VudExhYmVsOiB1bmRlZmluZWQsXG4gIGRpc2NvdW50U2hvd0FwcGxpZWRJdGVtczogdHJ1ZSxcbiAgZG9tYWluOiB1bmRlZmluZWQsXG4gIGVkaXREcmFmdFRlbXBsYXRlKCkge30sXG4gIGlzQnV5UmVxdWVzdDogZmFsc2UsXG4gIGlzT3BlbjogZmFsc2UsXG4gIGxvYWRpbmc6IGZhbHNlLFxuICBtZXJjaGk6IHVuZGVmaW5lZCxcbiAgbWVzc2FnZVN1Y2Nlc3NCdXlSZXF1ZXN0OiB1bmRlZmluZWQsXG4gIG1lc3NhZ2VTdWNjZXNzUXVvdGVSZXF1ZXN0OiB1bmRlZmluZWQsXG4gIG5leHRUYWIoKSB7fSxcbiAgaW5jbHVkZURvbWFpblNpZ251cDogZmFsc2UsXG4gIGludm9pY2U6IHt9LFxuICBpc1Byb2R1Y3RFbWJlZEZvcm06IGZhbHNlLFxuICBqb2I6IHt9LFxuICBwcm9kdWN0OiB7fSxcbiAgcmVkaXJlY3RBZnRlclN1Y2Nlc3NVcmw6IHVuZGVmaW5lZCxcbiAgcmVkaXJlY3RBZnRlclF1b3RlU3VjY2Vzc1VybDogdW5kZWZpbmVkLFxuICByZWRpcmVjdFdpdGhWYWx1ZTogdHJ1ZSxcbiAgc2V0QWN0aXZlVGFiQnlJZCgpIHt9LFxuICBzZXRBY3RpdmVUYWJJbmRleCgpIHt9LFxuICBzZXRDdXN0b21lcigpIHt9LFxuICBzZXREb21haW4oKSB7fSxcbiAgc2V0SW52b2ljZSgpIHt9LFxuICBzZXRKb2IoKSB7fSxcbiAgc2hvd0Rpc2NvdW50Q29kZTogdHJ1ZSxcbiAgc2hvd1VzZXJUZXJtc0FuZENvbmRpdGlvbnM6IHRydWUsXG4gIHRhYnM6IFtdLFxuICB0b2dnbGVNZXJjaGlDaGVja291dCgpIHt9LFxuICB1cmxGcm9udGVuZDogJycsXG4gIHVybEFwaTogJycsXG59KTtcblxuZXhwb3J0IGNvbnN0IHVzZU1lcmNoaUNoZWNrYm91dENvbnRleHQgPSAoKSA9PlxuICB1c2VDb250ZXh0KE1lcmNoaUNoZWNrb3V0Q29udGV4dCk7XG5cbmludGVyZmFjZSBQcm9wc01lcmNoaVByb2R1Y3RGb3JtUHJvdmlkZXIge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEFsZXJ0c0NvbnRhaW5lcj86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRBbGVydD86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRBbGVydEVycm9yPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEFsZXJ0U3VjY2Vzcz86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRCdXR0b25QcmltYXJ5Pzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEJ1dHRvblByaW1hcnlCbG9jaz86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRCdXR0b25TZWNvbmRhcnk/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QnV0dG9uU2Vjb25kYXJ5QmxvY2s/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QnV0dG9uRG93bmxvYWRJbnZvaWNlPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dENvbmZpcm1JbmZvUGFuZWw/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Rm9vdGVyQWN0aW9uc0NvbnRhaW5lcj86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRGb3JtQ2hlY2tib3g/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Rm9ybUdyb3VwPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEZvcm1Hcm91cENoZWNrYm94Pzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEZvcm1JbnB1dD86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRGb3JtU2VsZWN0Pzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEdvb2dsZVN1Z2dlc3RMaXN0Pzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEdvb2dsZVN1Z2dlc3RMaXN0SXRlbT86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRMaXN0R3JvdXBJdGVtTG9hZGVyPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dElucHV0RXJyb3I/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0TGlzdEdyb3VwPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dExpc3RHcm91cEl0ZW0/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Um93Pzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dFJvd0NvbHVtbj86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRTdWJ0aXRsZT86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRUYWJzQ29udGFpbmVyPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEZvcm1MYWJlbENoZWNrYm94Pzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dFRhYj86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRUYWJCdXR0b24/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0VGFiUGFuZT86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRUYWJQYW5lQ29udGFpbmVyPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlJbnZvaWNlQnV0dG9uUGF5SW52b2ljZT86IHN0cmluZztcbiAgY3VycmVudFVzZXI/OiBhbnk7XG4gIGRpc2NvdW50QnV0dG9uVGV4dD86IHN0cmluZztcbiAgZGlzY291bnRDbGFzc05hbWU/OiBzdHJpbmc7XG4gIGRpc2NvdW50Q2xhc3NOYW1lTWFpbkNvbnRhaW5lcj86IHN0cmluZztcbiAgZGlzY291bnRDbGFzc05hbWVCdXR0b25JdGVtUmVtb3ZlPzogc3RyaW5nO1xuICBkaXNjb3VudENsYXNzTmFtZUJ1dHRvbj86IHN0cmluZztcbiAgZGlzY291bnRDbGFzc05hbWVCdXR0b25Db250YWluZXI/OiBzdHJpbmc7XG4gIGRpc2NvdW50Q2xhc3NOYW1lRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICBkaXNjb3VudENsYXNzTmFtZUlucHV0Pzogc3RyaW5nO1xuICBkaXNjb3VudENsYXNzTmFtZUxpc3RJdGVtPzogc3RyaW5nO1xuICBkaXNjb3VudENsYXNzTmFtZUxpc3RJdGVtcz86IHN0cmluZztcbiAgZGlzY291bnRDbGFzc05hbWVJbnB1dENvbnRhaW5lcj86IHN0cmluZztcbiAgZGlzY291bnRDbGFzc05hbWVJbnB1dGRpc2NvdW50TGFiZWw/OiBzdHJpbmc7XG4gIGRpc2NvdW50TGFiZWw/OiBzdHJpbmc7XG4gIGRpc2NvdW50U2hvd0FwcGxpZWRJdGVtcz86IGJvb2xlYW47XG4gIGluY2x1ZGVEb21haW5TaWdudXA/OiBib29sZWFuO1xuICBpc0J1eVJlcXVlc3Q/OiBib29sZWFuO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzUHJvZHVjdEVtYmVkRm9ybT86IGJvb2xlYW47XG4gIG1lc3NhZ2VTdWNjZXNzQnV5UmVxdWVzdD86IHN0cmluZztcbiAgbWVzc2FnZVN1Y2Nlc3NRdW90ZVJlcXVlc3Q/OiBzdHJpbmc7XG4gIHNob3dEaXNjb3VudENvZGU/OiBib29sZWFuO1xuICBzaG93VXNlclRlcm1zQW5kQ29uZGl0aW9ucz86IGJvb2xlYW47XG4gIGludm9pY2U6IGFueTtcbiAgam9iOiBhbnk7XG4gIHByb2R1Y3Q6IGFueTtcbiAgcmVkaXJlY3RBZnRlclN1Y2Nlc3NVcmw/OiBzdHJpbmc7XG4gIHJlZGlyZWN0QWZ0ZXJRdW90ZVN1Y2Nlc3NVcmw/OiBzdHJpbmc7XG4gIHJlZGlyZWN0V2l0aFZhbHVlPzogYm9vbGVhbjtcbiAgc2V0SW52b2ljZTogKGludm9pY2U6IGFueSkgPT4gdm9pZDtcbiAgc2V0Sm9iOiAoam9iOiBhbnkpID0+IHZvaWQ7XG4gIHRvZ2dsZU1lcmNoaUNoZWNrb3V0OiAoKSA9PiB2b2lkO1xuICB1cmxBcGk/OiBzdHJpbmc7XG4gIHVybEZyb250ZW5kPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgTWVyY2hpQ2hlY2tvdXRQcm92aWRlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEFsZXJ0c0NvbnRhaW5lciA9ICdkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtbiBhbGVydHMtY29udGFpbmVyLXNtJyxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRBbGVydCA9ICdhbGVydCBhbGVydC1kaXNtaXNzaWJsZSBhbGVydC1ub3RpZnknLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEFsZXJ0RXJyb3IgPSAnYWxlcnQtZGFuZ2VyJyxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRBbGVydFN1Y2Nlc3MgPSAnYWxlcnQtc3VjY2VzcycsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QnV0dG9uUHJpbWFyeSA9ICdidG4gYnRuLWxtZCBidG4tcHJpbWFyeSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXInLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEJ1dHRvblByaW1hcnlCbG9jayA9ICdidG4gYnRuLWxnIGJ0bi1wcmltYXJ5IGJ0bi1ibG9jaycsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QnV0dG9uU2Vjb25kYXJ5ID0gJ2J0biBidG4tbGcgYnRuLXNlY29uZGFyeScsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QnV0dG9uU2Vjb25kYXJ5QmxvY2sgPSAnYnRuIGJ0bi1sZyBidG4tc2Vjb25kYXJ5IGJ0bi1ibG9jaycsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QnV0dG9uRG93bmxvYWRJbnZvaWNlID0gJ2J0biBidG4tbGcgYnRuLXByaW1hcnknLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dENvbmZpcm1JbmZvUGFuZWwgPSAnZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlcicsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Rm9vdGVyQWN0aW9uc0NvbnRhaW5lciA9ICdkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXQtNCcsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Rm9ybUNoZWNrYm94ID0gJ2Zvcm0tY2hlY2staW5wdXQnLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEZvcm1Hcm91cCA9ICdmb3JtLWdyb3VwJyxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRGb3JtR3JvdXBDaGVja2JveCA9ICdmb3JtLWNoZWNrJyxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRGb3JtSW5wdXQgPSAnZm9ybS1jb250cm9sJyxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRGb3JtU2VsZWN0ID0gJ2Zvcm0tY29udHJvbCcsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0R29vZ2xlU3VnZ2VzdExpc3QgPSAnbGlzdC1ncm91cCBtLWItMCcsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0R29vZ2xlU3VnZ2VzdExpc3RJdGVtID0gJ2xpc3QtZ3JvdXAtaXRlbSBjdXJzb3ItcG9pbnRlcicsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0TGlzdEdyb3VwSXRlbUxvYWRlciA9ICdsaXN0LWdyb3VwLWl0ZW0gbW9kYWwtbWVyY2hpLWNoZWNrb3V0LXNoaXBtZW50LW9wdGlvbicsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0SW5wdXRFcnJvciA9ICd0ZXh0LWRhbmdlcicsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Rm9ybUxhYmVsQ2hlY2tib3ggPSAnJyxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRMaXN0R3JvdXAgPSAnbW9kYWwtbWVyY2hpLWNoZWNrb3V0LXNoaXBtZW50LW9wdGlvbicsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0TGlzdEdyb3VwSXRlbSA9ICdsaXN0LWdyb3VwLWl0ZW0nLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dFJvdyA9ICdtZXJjaGktcm93JyxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRSb3dDb2x1bW4gPSAnbWVyY2hpLWNvbHVtbicsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0U3VidGl0bGUgPSAnbWVyY2hpLWNoZWNrb3V0LXN1YnRpdGxlJyxcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRUYWJzQ29udGFpbmVyID0gJ21lcmNoaS1jaGVja291dC10YWJzLWNvbnRhaW5lcicsXG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0VGFiID0gJ21lcmNoaS1jaGVja291dC10YWInLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dFRhYkJ1dHRvbiA9ICdidG4gbWVyY2hpLWNoZWNrb3V0LXRhYi1idG4nLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dFRhYlBhbmUgPSAndGFiLXBhbmUnLFxuICBjbGFzc05hbWVNZXJjaGlDaGVja291dFRhYlBhbmVDb250YWluZXIgPSAndGFiLWNvbnRlbnQnLFxuICBjbGFzc05hbWVNZXJjaGlJbnZvaWNlQnV0dG9uUGF5SW52b2ljZSA9ICdidG4gYnRuLWxnIGJ0bi1wcmltYXJ5IGJ0bi1ibG9jaycsXG4gIGN1cnJlbnRVc2VyLFxuICBkaXNjb3VudEJ1dHRvblRleHQgPSAnQXBwbHknLFxuICBkaXNjb3VudENsYXNzTmFtZSA9ICdtZXJjaGktY2hlY2tvdXQtZGlzY291bnQtY29kZS1jb250YWluZXInLFxuICBkaXNjb3VudENsYXNzTmFtZUJ1dHRvbiA9ICdidG4gYnRuLXByaW1hcnknLFxuICBkaXNjb3VudENsYXNzTmFtZUJ1dHRvbkNvbnRhaW5lciA9ICcnLFxuICBkaXNjb3VudENsYXNzTmFtZUJ1dHRvbkl0ZW1SZW1vdmUgPSAnYnRuIGJ0bi1zbSBidG4tbGluaycsXG4gIGRpc2NvdW50Q2xhc3NOYW1lRXJyb3JNZXNzYWdlID0gJ3RleHQtZGFuZ2VyJyxcbiAgZGlzY291bnRDbGFzc05hbWVJbnB1dCA9ICdmb3JtLWNvbnRyb2wnLFxuICBkaXNjb3VudENsYXNzTmFtZUlucHV0Q29udGFpbmVyID0gJ21lcmNoaS1jaGVja291dC1kaXNjb3VudC1jb2RlLWZpZWxkLWNvbnRhaW5lcicsXG4gIGRpc2NvdW50Q2xhc3NOYW1lSW5wdXRkaXNjb3VudExhYmVsID0gJ3Zpc3VhbGx5LWhpZGRlbicsXG4gIGRpc2NvdW50Q2xhc3NOYW1lTGlzdEl0ZW0gPSAnbGlzdC1ncm91cC1pdGVtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXQtMicsXG4gIGRpc2NvdW50Q2xhc3NOYW1lTGlzdEl0ZW1zID0gJ2xpc3QtZ3JvdXAnLFxuICBkaXNjb3VudENsYXNzTmFtZU1haW5Db250YWluZXIsXG4gIGRpc2NvdW50TGFiZWwgPSAnRGlzY291bnQgY29kZScsXG4gIGRpc2NvdW50U2hvd0FwcGxpZWRJdGVtcyA