@commercetools-frontend/application-shell 21.11.0 → 21.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{application-entry-point-6189b3a3.cjs.dev.js → application-entry-point-43fd73f5.cjs.dev.js} +33 -34
- package/dist/{application-entry-point-28843eb4.esm.js → application-entry-point-9c924b81.esm.js} +33 -34
- package/dist/{application-entry-point-06ad02d5.cjs.prod.js → application-entry-point-f5a19490.cjs.prod.js} +33 -34
- package/dist/commercetools-frontend-application-shell.cjs.dev.js +5 -4
- package/dist/commercetools-frontend-application-shell.cjs.prod.js +5 -4
- package/dist/commercetools-frontend-application-shell.esm.js +4 -4
- package/dist/declarations/src/index.d.ts +1 -1
- package/dist/declarations/src/types/generated/settings.d.ts +108 -84
- package/dist/declarations/src/utils/get-mc-api-url/get-mc-api-url.d.ts +2 -7
- package/dist/declarations/src/utils/index.d.ts +1 -1
- package/dist/{index-5fcda492.esm.js → index-428502d7.esm.js} +16 -17
- package/dist/{index-4ebc615c.cjs.prod.js → index-a544deff.cjs.prod.js} +15 -16
- package/dist/{index-bcff2029.cjs.dev.js → index-e4a6db71.cjs.dev.js} +16 -17
- package/dist/{project-expired-9fb2e01b.cjs.prod.js → project-expired-110383bb.cjs.prod.js} +3 -3
- package/dist/{project-expired-53f0f1ff.esm.js → project-expired-45491d93.esm.js} +3 -3
- package/dist/{project-expired-96b88908.cjs.dev.js → project-expired-5609f6c3.cjs.dev.js} +3 -3
- package/dist/{project-not-found-30c140be.cjs.dev.js → project-not-found-05608a7b.cjs.dev.js} +3 -3
- package/dist/{project-not-found-17e74630.cjs.prod.js → project-not-found-56537969.cjs.prod.js} +3 -3
- package/dist/{project-not-found-e8ca2011.esm.js → project-not-found-64180914.esm.js} +3 -3
- package/dist/{project-not-initialized-c83c731d.esm.js → project-not-initialized-55986b48.esm.js} +3 -3
- package/dist/{project-not-initialized-c5116ce2.cjs.prod.js → project-not-initialized-ecf77673.cjs.prod.js} +3 -3
- package/dist/{project-not-initialized-8bec4622.cjs.dev.js → project-not-initialized-f715cd11.cjs.dev.js} +3 -3
- package/dist/{project-suspended-892ad1b9.cjs.prod.js → project-suspended-0d7731b8.cjs.prod.js} +3 -3
- package/dist/{project-suspended-748201e1.cjs.dev.js → project-suspended-4e25c346.cjs.dev.js} +3 -3
- package/dist/{project-suspended-14419c20.esm.js → project-suspended-af3dcdac.esm.js} +3 -3
- package/dist/{quick-access-b0132ced.esm.js → quick-access-20f2f865.esm.js} +2 -2
- package/dist/{quick-access-a451f632.cjs.prod.js → quick-access-28ff2c5f.cjs.prod.js} +2 -2
- package/dist/{quick-access-c08139f1.cjs.dev.js → quick-access-44288a69.cjs.dev.js} +2 -2
- package/dist/{service-page-project-switcher-c99348cd.cjs.dev.js → service-page-project-switcher-a1cbb100.cjs.dev.js} +1 -1
- package/dist/{service-page-project-switcher-4b7ab3ee.cjs.prod.js → service-page-project-switcher-ae61c39d.cjs.prod.js} +1 -1
- package/dist/{service-page-project-switcher-53ffca17.esm.js → service-page-project-switcher-d1c2ae56.esm.js} +1 -1
- package/package.json +26 -26
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +1 -1
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +1 -1
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var applicationEntryPoint = require('./application-entry-point-
|
|
3
|
+
var applicationEntryPoint = require('./application-entry-point-43fd73f5.cjs.dev.js');
|
|
4
4
|
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
5
5
|
var _styled = require('@emotion/styled/base');
|
|
6
6
|
var _pt = require('prop-types');
|
|
@@ -2448,19 +2448,19 @@ LocaleSwitcher.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
2448
2448
|
} : {};
|
|
2449
2449
|
|
|
2450
2450
|
var ProjectNotFound = /*#__PURE__*/react.lazy(function () {
|
|
2451
|
-
return Promise.resolve().then(function () { return require('./project-not-found-
|
|
2451
|
+
return Promise.resolve().then(function () { return require('./project-not-found-05608a7b.cjs.dev.js'
|
|
2452
2452
|
/* webpackChunkName: "project-not-found" */
|
|
2453
2453
|
); });
|
|
2454
2454
|
});
|
|
2455
2455
|
|
|
2456
2456
|
var ProjectExpired = /*#__PURE__*/react.lazy(function () {
|
|
2457
|
-
return Promise.resolve().then(function () { return require('./project-expired-
|
|
2457
|
+
return Promise.resolve().then(function () { return require('./project-expired-5609f6c3.cjs.dev.js'
|
|
2458
2458
|
/* webpackChunkName: "project-expired" */
|
|
2459
2459
|
); });
|
|
2460
2460
|
});
|
|
2461
2461
|
|
|
2462
2462
|
var ProjectNotInitialized = /*#__PURE__*/react.lazy(function () {
|
|
2463
|
-
return Promise.resolve().then(function () { return require('./project-not-initialized-
|
|
2463
|
+
return Promise.resolve().then(function () { return require('./project-not-initialized-f715cd11.cjs.dev.js'
|
|
2464
2464
|
/* webpackChunkName: "project-not-initialized" */
|
|
2465
2465
|
); });
|
|
2466
2466
|
});
|
|
@@ -2507,7 +2507,7 @@ var RedirectToProjectCreate = function RedirectToProjectCreate() {
|
|
|
2507
2507
|
RedirectToProjectCreate.displayName = 'RedirectToProjectCreate';
|
|
2508
2508
|
|
|
2509
2509
|
var ProjectSuspended = /*#__PURE__*/react.lazy(function () {
|
|
2510
|
-
return Promise.resolve().then(function () { return require('./project-suspended-
|
|
2510
|
+
return Promise.resolve().then(function () { return require('./project-suspended-4e25c346.cjs.dev.js'
|
|
2511
2511
|
/* webpackChunkName: "project-suspended" */
|
|
2512
2512
|
); });
|
|
2513
2513
|
});
|
|
@@ -2918,7 +2918,7 @@ function nonNullable(value) {
|
|
|
2918
2918
|
function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2919
2919
|
|
|
2920
2920
|
function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var _context9, _context10; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context9 = ownKeys$4(Object(source), !0)).call(_context9, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context10 = ownKeys$4(Object(source))).call(_context10, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
2921
|
-
var FetchProjectExtensionsNavbar = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchProjectExtensionsNavbar" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "projectExtension" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "applications" }, arguments: [{ kind: "Argument", name: { kind: "Name", value: "where" }, value: { kind: "ObjectValue", fields: [{ kind: "ObjectField", name: { kind: "Name", value: "isActive" }, value: { kind: "BooleanValue", value: true } }] } }], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "navbarMenu" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "icon" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "featureToggle" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "submenu" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "featureToggle" }, arguments: [], directives: [] }] } }] } }] } }, { kind: "Field", name: { kind: "Name", value: "installedApplications" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "application" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "entryPointUriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "
|
|
2921
|
+
var FetchProjectExtensionsNavbar = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchProjectExtensionsNavbar" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "projectExtension" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "applications" }, arguments: [{ kind: "Argument", name: { kind: "Name", value: "where" }, value: { kind: "ObjectValue", fields: [{ kind: "ObjectField", name: { kind: "Name", value: "isActive" }, value: { kind: "BooleanValue", value: true } }] } }], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "navbarMenu" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "icon" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "featureToggle" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "submenu" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "featureToggle" }, arguments: [], directives: [] }] } }] } }] } }, { kind: "Field", name: { kind: "Name", value: "installedApplications" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "application" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "entryPointUriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "icon" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "mainMenuLink" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultLabel" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }] } }, { kind: "Field", name: { kind: "Name", value: "submenuLinks" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultLabel" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }] } }] } }] } }] } }] } }], loc: { start: 0, end: 984, source: { body: "query FetchProjectExtensionsNavbar {\n projectExtension {\n id\n applications(where: { isActive: true }) {\n id\n navbarMenu {\n id\n key\n uriPath\n icon\n labelAllLocales {\n locale\n value\n }\n featureToggle\n permissions\n submenu {\n id\n key\n uriPath\n labelAllLocales {\n locale\n value\n }\n permissions\n featureToggle\n }\n }\n }\n installedApplications {\n application {\n id\n entryPointUriPath\n icon\n mainMenuLink {\n id\n permissions\n defaultLabel\n labelAllLocales {\n locale\n value\n }\n }\n submenuLinks {\n id\n uriPath\n permissions\n defaultLabel\n labelAllLocales {\n locale\n value\n }\n }\n }\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
2922
2922
|
|
|
2923
2923
|
var getInitialState = function getInitialState(isForcedMenuOpen) {
|
|
2924
2924
|
return {
|
|
@@ -3028,20 +3028,19 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
3028
3028
|
// config and the custom apps config, thus allowing them to be
|
|
3029
3029
|
// concatenated and rendered the same way.
|
|
3030
3030
|
|
|
3031
|
-
if (!application.menuLinks) return;
|
|
3032
3031
|
return {
|
|
3033
3032
|
key: application.id,
|
|
3034
3033
|
uriPath: application.entryPointUriPath,
|
|
3035
|
-
labelAllLocales: application.
|
|
3036
|
-
icon: application.
|
|
3037
|
-
permissions: application.
|
|
3038
|
-
defaultLabel: application.
|
|
3034
|
+
labelAllLocales: application.mainMenuLink.labelAllLocales || [],
|
|
3035
|
+
icon: application.icon,
|
|
3036
|
+
permissions: application.mainMenuLink.permissions,
|
|
3037
|
+
defaultLabel: application.mainMenuLink.defaultLabel,
|
|
3039
3038
|
featureToggle: undefined,
|
|
3040
3039
|
menuVisibility: undefined,
|
|
3041
3040
|
actionRights: undefined,
|
|
3042
3041
|
dataFences: undefined,
|
|
3043
3042
|
shouldRenderDivider: false,
|
|
3044
|
-
submenu: _mapInstanceProperty__default["default"](_context6 = application.
|
|
3043
|
+
submenu: _mapInstanceProperty__default["default"](_context6 = application.submenuLinks || []).call(_context6, function (submenuLink) {
|
|
3045
3044
|
return {
|
|
3046
3045
|
key: submenuLink.id,
|
|
3047
3046
|
uriPath: submenuLink.uriPath,
|
|
@@ -3325,8 +3324,8 @@ var MenuGroup = function MenuGroup(props) {
|
|
|
3325
3324
|
var isSublistActiveWhileIsMenuExpanded = props.level === 2 && props.isActive && props.isExpanded;
|
|
3326
3325
|
var isSublistActiveWhileIsMenuCollapsed = props.level === 2 && props.isActive && !props.isExpanded;
|
|
3327
3326
|
return jsxRuntime.jsx("ul", {
|
|
3328
|
-
id: "".concat(props.id
|
|
3329
|
-
"data-testid": "".concat(props.id
|
|
3327
|
+
id: "group-".concat(props.id),
|
|
3328
|
+
"data-testid": "group-".concat(props.id),
|
|
3330
3329
|
role: "menu",
|
|
3331
3330
|
"aria-expanded": isSublistActiveWhileIsMenuExpanded || isSublistActiveWhileIsMenuCollapsed,
|
|
3332
3331
|
className: classnames__default["default"](_defineProperty({}, styles.list, props.level === 1), _defineProperty({}, styles.sublist, props.level === 2), _defineProperty({}, styles['sublist-no-children'], props.level === 2 && !props.children), _defineProperty({}, styles['sublist-expanded__active'], isSublistActiveWhileIsMenuExpanded), _defineProperty({}, styles['sublist-collapsed__active'], isSublistActiveWhileIsMenuCollapsed), _defineProperty({}, styles.sublist__inactive, !isSublistActiveWhileIsMenuCollapsed)),
|
|
@@ -3592,7 +3591,7 @@ var ApplicationMenu = function ApplicationMenu(props) {
|
|
|
3592
3591
|
})
|
|
3593
3592
|
}), jsxRuntime.jsx("div", {
|
|
3594
3593
|
className: styles.title,
|
|
3595
|
-
"aria-owns": "".concat(props.menu.key
|
|
3594
|
+
"aria-owns": "group-".concat(props.menu.key),
|
|
3596
3595
|
children: jsxRuntime.jsx(MenuLabel, {
|
|
3597
3596
|
labelAllLocales: props.menu.labelAllLocales,
|
|
3598
3597
|
defaultLabel: props.menu.defaultLabel,
|
|
@@ -3665,7 +3664,7 @@ ApplicationMenu.displayName = 'ApplicationMenu';
|
|
|
3665
3664
|
var NavBarLayout = /*#__PURE__*/react.forwardRef(function (props, ref) {
|
|
3666
3665
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
3667
3666
|
children: [jsxRuntime.jsx(react$2.Global, {
|
|
3668
|
-
styles: /*#__PURE__*/react$2.css(compiledStyles.global, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa2xCbUIiLCJmaWxlIjoibmF2YmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUm91dGVDb21wb25lbnRQcm9wcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUQXBwbGljYXRpb25Db250ZXh0LFxuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hQcm9qZWN0UXVlcnkgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRMb2NhbGl6ZWRGaWVsZCxcbiAgVE5hdmJhck1lbnUsXG4gIFRCYXNlTWVudSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcbmltcG9ydCB0eXBlIHsgVEZsYWdWYXJpYXRpb24gfSBmcm9tICdAZmxvcGZsaXAvdHlwZXMnO1xuXG5pbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgUmVhY3ROb2RlLFxuICBTeW50aGV0aWNFdmVudCxcbiAgdXNlQ29udGV4dCxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZvcm1hdHRlZE1lc3NhZ2UgfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7IE5hdkxpbmssIG1hdGNoUGF0aCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IHVzZUZsYWdWYXJpYXRpb24gfSBmcm9tICdAZmxvcGZsaXAvcmVhY3QtYnJvYWRjYXN0JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQge1xuICBCYWNrSWNvbixcbiAgVHJlZVN0cnVjdHVyZUljb24sXG4gIFVzZXJGaWxsZWRJY29uLFxuICBTcGVlZG9tZXRlckljb24sXG4gIFRhZ011bHRpSWNvbixcbiAgQ2FydEljb24sXG4gIEJveEljb24sXG4gIEdlYXJJY29uLFxuICBTdXBwb3J0SWNvbixcbiAgV29ybGRJY29uLFxuICBIZWFydEljb24sXG4gIFBhcGVyY2xpcEljb24sXG4gIFBsdWdpbkljb24sXG4gIFJvY2tldEljb24sXG4gIFN0YXJJY29uLFxuICBDb25uZWN0ZWRTcXVhcmVJY29uLFxuICBMaXN0V2l0aFNlYXJjaEljb24sXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCBJbmxpbmVTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMvaW5saW5lLXN2Zyc7XG5pbXBvcnQgTWlzc2luZ0ltYWdlU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2Fzc2V0cy9pbWFnZXMvZGlhZ29uYWwtbGluZS5zdmcnO1xuaW1wb3J0IHtcbiAgTk9fVkFMVUVfRkFMTEJBQ0ssXG4gIFNVUFBPUlRfUE9SVEFMX1VSTCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWRBY3Rpb25SaWdodHMsXG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWREYXRhRmVuY2VzLFxuICBub3JtYWxpemVBbGxBcHBsaWVkTWVudVZpc2liaWxpdGllcyxcbiAgbm9ybWFsaXplQWxsQXBwbGllZFBlcm1pc3Npb25zLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG5pbXBvcnQgeyBHdG1Db250ZXh0IH0gZnJvbSAnLi4vZ3RtLWJvb3Rlcic7XG5pbXBvcnQgTG9hZGluZ1BsYWNlaG9sZGVyIGZyb20gJy4uL2xvYWRpbmctcGxhY2Vob2xkZXInO1xuaW1wb3J0IG1lc3NhZ2VzIGZyb20gJy4vbWVzc2FnZXMnO1xuaW1wb3J0IHVzZUxvYWRpbmdNZW51TGF5b3V0RWZmZWN0IGZyb20gJy4vdXNlLWxvYWRpbmctbWVudS1sYXlvdXQtZWZmZWN0JztcbmltcG9ydCB1c2VOYXZiYXJTdGF0ZU1hbmFnZXIgZnJvbSAnLi91c2UtbmF2YmFyLXN0YXRlLW1hbmFnZXInO1xuaW1wb3J0IG5vbk51bGxhYmxlIGZyb20gJy4vbm9uLW51bGxhYmxlJztcbmltcG9ydCB0cmFja2luZ0V2ZW50cyBmcm9tICcuL3RyYWNraW5nLWV2ZW50cyc7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbi8qXG48RGF0YU1lbnUgZGF0YT17W119PlxuICA8TWVudUdyb3VwPlxuICAgIDxNZW51SXRlbT5cbiAgICAgIDxNZW51SXRlbUxpbmsgbGlua1RvPVwiL2Zvb1wiPihpY29uKSBQcm9kdWN0czwvTWVudUl0ZW1MaW5rPlxuICAgICAgPE1lbnVHcm91cD5cbiAgICAgICAgPE1lbnVJdGVtTGluayBsaW5rVG89XCIvZm9vL25ld1wiPkFkZCBwcm9kdWN0PC9NZW51SXRlbUxpbms+XG4gICAgICA8L01lbnVHcm91cD5cbiAgICA8L01lbnVJdGVtPlxuICA8L01lbnVHcm91cD5cbiAgPE1lbnVFeHBhbmRlci8+XG48L0RhdGFNZW51PlxuKi9cblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIEFwcGxpY2F0aW9uIGljb25zXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBDdXN0b20gYXBwbGljYXRpb24gaWNvbnMgc2V0XG4gICAgY2FzZSAnSGVhcnRJY29uJzpcbiAgICAgIHJldHVybiA8SGVhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BhcGVyY2xpcEljb24nOlxuICAgICAgcmV0dXJuIDxQYXBlcmNsaXBJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BsdWdpbkljb24nOlxuICAgICAgcmV0dXJuIDxQbHVnaW5JY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1JvY2tldEljb24nOlxuICAgICAgcmV0dXJuIDxSb2NrZXRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1N0YXJJY29uJzpcbiAgICAgIHJldHVybiA8U3Rhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ29ubmVjdGVkU3F1YXJlSWNvbic6XG4gICAgICByZXR1cm4gPENvbm5lY3RlZFNxdWFyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgY2FzZSAnV29ybGRJY29uJzpcbiAgICAgIHJldHVybiA8V29ybGRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPGltZyBzcmM9e01pc3NpbmdJbWFnZVN2Z30gYWx0PVwibWlzc2luZyBpY29uXCIgLz47XG4gIH1cbn07XG5JY29uU3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnSWNvblN3aXRjaGVyJztcblxudHlwZSBNZW51RXhwYW5kZXJQcm9wcyA9IHtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG59O1xuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICBjb25zdCBndG1UcmFja2luZyA9IHVzZUNvbnRleHQoR3RtQ29udGV4dCk7XG4gIHJldHVybiAoXG4gICAgPGxpXG4gICAgICBrZXk9XCJleHBhbmRlclwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoc3R5bGVzWydsaXN0LWl0ZW0nXSwgc3R5bGVzLmV4cGFuZGVyLCB7XG4gICAgICAgIFtzdHlsZXMuaGlkZGVuXTogIXByb3BzLmlzVmlzaWJsZSxcbiAgICAgIH0pfVxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBhY3Rpb24sIGNhdGVnb3J5LCBsYWJlbCB9ID1cbiAgICAgICAgICAgIHRyYWNraW5nRXZlbnRzW1xuICAgICAgICAgICAgICBwcm9wcy5pc01lbnVPcGVuID8gJ2NvbGxhcHNlTWFpbk5hdicgOiAnZXhwYW5kTWFpbk5hdidcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgZ3RtVHJhY2tpbmcudHJhY2soYWN0aW9uLCBjYXRlZ29yeSwgbGFiZWwpO1xuICAgICAgICAgIHByb3BzLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICB9fVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZXhwYW5kLWljb24nXX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJtZW51LWV4cGFuZGVyXCJcbiAgICAgID5cbiAgICAgICAgey8qXG4gICAgICAgICAgRklYTUU6IGRlZmluZSBob3ZlciBlZmZlY3QuXG4gICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2NvbW1lcmNldG9vbHMvbWVyY2hhbnQtY2VudGVyLWZyb250ZW5kL2lzc3Vlcy8yMjE2XG4gICAgICAgICovfVxuICAgICAgICA8QmFja0ljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xufTtcbmNvbnN0IE1lbnVHcm91cCA9IChwcm9wczogTWVudUdyb3VwUHJvcHMpID0+IHtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgcHJvcHMuaXNFeHBhbmRlZDtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmICFwcm9wcy5pc0V4cGFuZGVkO1xuICByZXR1cm4gKFxuICAgIDx1bFxuICAgICAgaWQ9e2Ake3Byb3BzLmlkfS1ncm91cGB9XG4gICAgICBkYXRhLXRlc3RpZD17YCR7cHJvcHMuaWR9LWdyb3VwYH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAgeyBbc3R5bGVzLnN1Ymxpc3RdOiBwcm9wcy5sZXZlbCA9PT0gMiB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1uby1jaGlsZHJlbiddXTogcHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmNoaWxkcmVuLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59O1xuTWVudUdyb3VwLmRpc3BsYXlOYW1lID0gJ01lbnVHcm91cCc7XG5cbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzU3VibWVudTogYm9vbGVhbjtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUVudGVyPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlTGVhdmU/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTWVudUl0ZW0gPSAocHJvcHM6IE1lbnVJdGVtUHJvcHMpID0+IChcbiAgPGxpXG4gICAgcm9sZT1cIm1lbnUtaXRlbVwiXG4gICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHtcbiAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICBbc3R5bGVzWydpdGVtX21lbnUtY29sbGFwc2VkJ11dOiAhcHJvcHMuaXNNZW51T3BlbixcbiAgICAgIFtzdHlsZXNbJ2l0ZW1fX25vLXN1Ym1lbnUnXV06ICFwcm9wcy5oYXNTdWJtZW51LFxuICAgIH0pfVxuICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5vbk1vdXNlTGVhdmV9XG4gID5cbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWxpbmsnXX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICA8L2xpPlxuKTtcbk1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtJztcblxudHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogPFRyYWNrRm4+KFxuICAgIGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4sXG4gICAgdHJhY2s6IFRyYWNrRm5cbiAgKSA9PiB2b2lkO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCBndG1UcmFja2luZyA9IHVzZUNvbnRleHQoR3RtQ29udGV4dCk7XG4gIGNvbnN0IHJlZGlyZWN0VG8gPSAodGFyZ2V0VXJsOiBzdHJpbmcpID0+IGxvY2F0aW9uLnJlcGxhY2UodGFyZ2V0VXJsKTtcbiAgaWYgKHByb3BzLmxpbmtUbykge1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1xuICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICBleGFjdD17cHJvcHMuZXhhY3RNYXRjaH1cbiAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWyd0ZXh0LWxpbmsnXX1cbiAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZWRpcmVjdFRvKHByb3BzLmxpbmtUbyk7XG4gICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICBldmVudC5wZXJzaXN0KCk7XG4gICAgICAgICAgICBwcm9wcy5vbkNsaWNrPHR5cGVvZiBndG1UcmFja2luZy50cmFjaz4oZXZlbnQsIGd0bVRyYWNraW5nLnRyYWNrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvTmF2TGluaz5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG4vLyBUaGlzIGNvbXBvbmVudCBqdXN0IHJlbmRlciB0d28gZGl2cyB3aXRoIGJvcmRlcnMgaW4gb3JkZXIgdG8gZGlmZmVyZW50aWF0ZVxuLy8gdGhlIHNldHRpbmdzIHBsdWdpbiBmcm9tIHRoZSBvdGhlciBvbmVzXG5jb25zdCBNZW51SXRlbURpdmlkZXIgPSAoKSA9PiAoXG4gIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2RpdmlkZXItZmlyc3QtaXRlbSddfT5cbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydkaXZpZGVyLXNlY29uZC1pdGVtJ119IC8+XG4gIDwvZGl2PlxuKTtcbk1lbnVJdGVtRGl2aWRlci5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbURpdmlkZXInO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG5leHBvcnQgY29uc3QgZ2V0SWNvbkNvbG9yID0gKFxuICBpc0FjdGl2ZTogYm9vbGVhbixcbiAgaXNBbHRlcm5hdGl2ZVRoZW1lOiBib29sZWFuXG4pID0+IHtcbiAgaWYgKGlzQWN0aXZlKSByZXR1cm4gJ3ByaW1hcnk0MCc7XG4gIHJldHVybiBpc0FsdGVybmF0aXZlVGhlbWUgPyAnbmV1dHJhbDYwJyA6ICdzdXJmYWNlJztcbn07XG5cbmNvbnN0IGdldE1lbnVWaXNpYmlsaXRpZXNPZlN1Ym1lbnVzID0gKG1lbnU6IFROYXZiYXJNZW51KSA9PlxuICBtZW51LnN1Ym1lbnUubWFwKChzdWJtZW51KSA9PiBzdWJtZW51Lm1lbnVWaXNpYmlsaXR5KS5maWx0ZXIobm9uTnVsbGFibGUpO1xuY29uc3QgZ2V0TWVudVZpc2liaWxpdHlPZk1haW5tZW51ID0gKG1lbnU6IFROYXZiYXJNZW51KSA9PlxuICBtZW51Lm1lbnVWaXNpYmlsaXR5ID8gW21lbnUubWVudVZpc2liaWxpdHldIDogW107XG5cbnR5cGUgTWVudUxhYmVsUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbn07XG5jb25zdCBNZW51TGFiZWwgPSAocHJvcHM6IE1lbnVMYWJlbFByb3BzKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gcHJvcHMubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIDw+e2xvY2FsaXplZExhYmVsLnZhbHVlfTwvPjtcbiAgaWYgKHByb3BzLmRlZmF1bHRMYWJlbCkgcmV0dXJuIDw+e3Byb3BzLmRlZmF1bHRMYWJlbH08Lz47XG4gIHJldHVybiA8PntOT19WQUxVRV9GQUxMQkFDS308Lz47XG59O1xuXG50eXBlIFRNZW51V2l0aERlZmF1bHRMYWJlbCA9IFROYXZiYXJNZW51ICYge1xuICAvLyBkZXJpdmVzIGZyb20gYHByb2plY3RFeHRlbnNpb25zUXVlcnkuaW5zdGFsbGVkQXBwbGljYXRpb25zLmFwcGxpY2F0aW9uLm1lbnVgXG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbn07XG50eXBlIFRTdWJtZW51V2l0aERlZmF1bHRMYWJlbCA9IFRCYXNlTWVudSAmIHtcbiAgLy8gZGVyaXZlcyBmcm9tIGBwcm9qZWN0RXh0ZW5zaW9uc1F1ZXJ5Lmluc3RhbGxlZEFwcGxpY2F0aW9ucy5hcHBsaWNhdGlvbi5tZW51YFxuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG59O1xuXG50eXBlIEFwcGxpY2F0aW9uTWVudVByb3BzID0ge1xuICBsb2NhdGlvbjogUm91dGVDb21wb25lbnRQcm9wc1snbG9jYXRpb24nXTtcbiAgbWVudTogVE1lbnVXaXRoRGVmYXVsdExhYmVsO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgc2hvdWxkQ2xvc2VNZW51Rmx5OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAgaGFuZGxlVG9nZ2xlSXRlbTogKCkgPT4gdm9pZDtcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgcHJvamVjdEtleTogc3RyaW5nO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M6IGJvb2xlYW47XG4gIG9uTWVudUl0ZW1DbGljaz86IE1lbnVJdGVtTGlua1Byb3BzWydvbkNsaWNrJ107XG59O1xuY29uc3QgQXBwbGljYXRpb25NZW51ID0gKHByb3BzOiBBcHBsaWNhdGlvbk1lbnVQcm9wcykgPT4ge1xuICBjb25zdCBpc01haW5NZW51Um91dGVBY3RpdmUgPSBCb29sZWFuKFxuICAgIG1hdGNoUGF0aChwcm9wcy5sb2NhdGlvbi5wYXRobmFtZSwge1xuICAgICAgcGF0aDogYC8ke3Byb3BzLnByb2plY3RLZXl9LyR7cHJvcHMubWVudS51cmlQYXRofWAsXG4gICAgICBleGFjdDogZmFsc2UsXG4gICAgICBzdHJpY3Q6IGZhbHNlLFxuICAgIH0pXG4gICk7XG4gIGNvbnN0IGhhc1N1Ym1lbnUgPVxuICAgIEFycmF5LmlzQXJyYXkocHJvcHMubWVudS5zdWJtZW51KSAmJiBwcm9wcy5tZW51LnN1Ym1lbnUubGVuZ3RoID4gMDtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIE9uIGZpcnN0IHJlbmRlciwgY2hlY2sgd2hpY2ggbWVudSBpcyBhY3RpdmUgZm9yIHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uIGFuZCBleHBhbmRcbiAgICAvLyB0aGUgc3VibWVudSBhdXRvbWF0aWNhbGx5IHVubGVzcyB0aGUgYWxsIG5hdmJhciBpcyBjb2xsYXBzZWQgb3IgdGhlcmUgYXJlIG5vIHN1Ym1lbnUgbGlua3MuXG4gICAgaWYgKHByb3BzLmlzTWVudU9wZW4gJiYgaXNNYWluTWVudVJvdXRlQWN0aXZlICYmIGhhc1N1Ym1lbnUpIHtcbiAgICAgIHByb3BzLmhhbmRsZVRvZ2dsZUl0ZW0oKTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbcHJvcHMuaXNNZW51T3Blbl0pOyAvLyA8LS0gKHJlKXJ1biB0aGlzIG9ubHkgd2hlbiB0aGUgYWxsIG1lbnUgZXhwYW5kc1xuXG4gIGNvbnN0IG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzT2ZBbGxTdWJtZW51cyA9IGhhc1N1Ym1lbnVcbiAgICA/IGdldE1lbnVWaXNpYmlsaXRpZXNPZlN1Ym1lbnVzKHByb3BzLm1lbnUpXG4gICAgOiBnZXRNZW51VmlzaWJpbGl0eU9mTWFpbm1lbnUocHJvcHMubWVudSk7XG5cbiAgY29uc3QgaXNNYWluTWVudUl0ZW1BTGluayA9XG4gICAgLy8gMS4gV2hlbiB0aGUgbmF2YmFyIGlzIGNvbGxhcHNlZFxuICAgICFwcm9wcy5pc01lbnVPcGVuIHx8XG4gICAgLy8gMi4gV2hlbiB0aGVyZSBpcyBubyBzdWJtZW51XG4gICAgIWhhc1N1Ym1lbnUgfHxcbiAgICAvLyAzLiBXaGVuIHRoZSBzdWJtZW51IGdyb3VwIGlzIGFjdGl2ZS92aXNpYmxlXG4gICAgcHJvcHMuaXNBY3RpdmU7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge3Byb3BzLm1lbnUuc2hvdWxkUmVuZGVyRGl2aWRlciAmJiA8TWVudUl0ZW1EaXZpZGVyIC8+fVxuXG4gICAgICA8UmVzdHJpY3RlZE1lbnVJdGVtXG4gICAgICAgIGtleT17cHJvcHMubWVudS5rZXl9XG4gICAgICAgIGtleU9mTWVudUl0ZW09e3Byb3BzLm1lbnUua2V5fVxuICAgICAgICBmZWF0dXJlVG9nZ2xlPXtwcm9wcy5tZW51LmZlYXR1cmVUb2dnbGUgPz8gdW5kZWZpbmVkfVxuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMubWVudS5wZXJtaXNzaW9uc31cbiAgICAgICAgYWN0aW9uUmlnaHRzPXtwcm9wcy5tZW51LmFjdGlvblJpZ2h0cyA/PyB1bmRlZmluZWR9XG4gICAgICAgIGRhdGFGZW5jZXM9e3Byb3BzLm1lbnUuZGF0YUZlbmNlcyA/PyB1bmRlZmluZWR9XG4gICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgICBtZW51VmlzaWJpbGl0aWVzPXtwcm9wcy5tZW51VmlzaWJpbGl0aWVzfVxuICAgICAgICBuYW1lc09mTWVudVZpc2liaWxpdGllcz17bmFtZXNPZk1lbnVWaXNpYmlsaXRpZXNPZkFsbFN1Ym1lbnVzfVxuICAgICAgPlxuICAgICAgICA8TWVudUl0ZW1cbiAgICAgICAgICBoYXNTdWJtZW51PXtoYXNTdWJtZW51fVxuICAgICAgICAgIGlzQWN0aXZlPXtwcm9wcy5pc0FjdGl2ZX1cbiAgICAgICAgICBpc01lbnVPcGVuPXtwcm9wcy5pc01lbnVPcGVufVxuICAgICAgICAgIG9uQ2xpY2s9e3Byb3BzLmhhbmRsZVRvZ2dsZUl0ZW19XG4gICAgICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5pc01lbnVPcGVuID8gdW5kZWZpbmVkIDogcHJvcHMuaGFuZGxlVG9nZ2xlSXRlbX1cbiAgICAgICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLmlzTWVudU9wZW4gPyB1bmRlZmluZWQgOiBwcm9wcy5zaG91bGRDbG9zZU1lbnVGbHl9XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW1MaW5rXG4gICAgICAgICAgICBsaW5rVG89e1xuICAgICAgICAgICAgICBpc01haW5NZW51SXRlbUFMaW5rXG4gICAgICAgICAgICAgICAgPyBgLyR7cHJvcHMucHJvamVjdEtleX0vJHtwcm9wcy5tZW51LnVyaVBhdGh9YFxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M9e3Byb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rc31cbiAgICAgICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uTWVudUl0ZW1DbGlja31cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWljb24tdGV4dCddfT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5pY29ufT5cbiAgICAgICAgICAgICAgICA8SWNvblN3aXRjaGVyXG4gICAgICAgICAgICAgICAgICBpY29uPXtwcm9wcy5tZW51Lmljb259XG4gICAgICAgICAgICAgICAgICBzaXplPVwic2NhbGVcIlxuICAgICAgICAgICAgICAgICAgY29sb3I9e2dldEljb25Db2xvcihcbiAgICAgICAgICAgICAgICAgICAgcHJvcHMuaXNBY3RpdmUgfHwgaXNNYWluTWVudVJvdXRlQWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICBCb29sZWFuKHByb3BzLm1lbnUuc2hvdWxkUmVuZGVyRGl2aWRlcilcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlcy50aXRsZX1cbiAgICAgICAgICAgICAgICBhcmlhLW93bnM9e2Ake3Byb3BzLm1lbnUua2V5fS1ncm91cGB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8TWVudUxhYmVsXG4gICAgICAgICAgICAgICAgICBsYWJlbEFsbExvY2FsZXM9e3Byb3BzLm1lbnUubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5tZW51LmRlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvTWVudUl0ZW1MaW5rPlxuICAgICAgICAgIDxNZW51R3JvdXBcbiAgICAgICAgICAgIGlkPXtwcm9wcy5tZW51LmtleX1cbiAgICAgICAgICAgIGxldmVsPXsyfVxuICAgICAgICAgICAgaXNBY3RpdmU9e3Byb3BzLmlzQWN0aXZlfVxuICAgICAgICAgICAgaXNFeHBhbmRlZD17cHJvcHMuaXNNZW51T3Blbn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aGFzU3VibWVudVxuICAgICAgICAgICAgICA/IHByb3BzLm1lbnUuc3VibWVudS5tYXAoKHN1Ym1lbnU6IFRTdWJtZW51V2l0aERlZmF1bHRMYWJlbCkgPT4gKFxuICAgICAgICAgICAgICAgICAgPFJlc3RyaWN0ZWRNZW51SXRlbVxuICAgICAgICAgICAgICAgICAgICBrZXk9e2Ake3Byb3BzLm1lbnUua2V5fS1zdWJtZW51LSR7c3VibWVudS5rZXl9YH1cbiAgICAgICAgICAgICAgICAgICAga2V5T2ZNZW51SXRlbT17c3VibWVudS5rZXl9XG4gICAgICAgICAgICAgICAgICAgIGZlYXR1cmVUb2dnbGU9e3N1Ym1lbnUuZmVhdHVyZVRvZ2dsZSA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zPXtzdWJtZW51LnBlcm1pc3Npb25zfVxuICAgICAgICAgICAgICAgICAgICBhY3Rpb25SaWdodHM9e3N1Ym1lbnUuYWN0aW9uUmlnaHRzID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YUZlbmNlcz17c3VibWVudS5kYXRhRmVuY2VzID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9wcy5wcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICAgICAgICAgICAgICAgIG1lbnVWaXNpYmlsaXRpZXM9e3Byb3BzLm1lbnVWaXNpYmlsaXRpZXN9XG4gICAgICAgICAgICAgICAgICAgIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPXtcbiAgICAgICAgICAgICAgICAgICAgICBzdWJtZW51Lm1lbnVWaXNpYmlsaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICA/IFtzdWJtZW51Lm1lbnVWaXNpYmlsaXR5XVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3NOYW1lPXtzdHlsZXNbJ3N1Ymxpc3QtaXRlbSddfT5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRleHR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVJdGVtTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rVG89e2AvJHtwcm9wcy5wcm9qZWN0S2V5fS8ke3N1Ym1lbnUudXJpUGF0aH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBleGFjdE1hdGNoPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rc1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uTWVudUl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17c3VibWVudS5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtzdWJtZW51LmRlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L01lbnVJdGVtTGluaz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgIDwvUmVzdHJpY3RlZE1lbnVJdGVtPlxuICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgIDogbnVsbH1cbiAgICAgICAgICA8L01lbnVHcm91cD5cbiAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgIDwvUmVzdHJpY3RlZE1lbnVJdGVtPlxuICAgIDwvPlxuICApO1xufTtcbkFwcGxpY2F0aW9uTWVudS5kaXNwbGF5TmFtZSA9ICdBcHBsaWNhdGlvbk1lbnUnO1xuXG50eXBlIE5hdkJhckxheW91dFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbmNvbnN0IE5hdkJhckxheW91dCA9IGZvcndhcmRSZWY8SFRNTEVsZW1lbnQsIE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgICAgZGF0YS10cmFjay1jb21wb25lbnQ9XCJOYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBOYXZiYXJQcm9wczxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzIGV4dGVuZHMge30+ID0ge1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xuICBwcm9qZWN0S2V5OiBzdHJpbmc7XG4gIGVudmlyb25tZW50OiBUQXBwbGljYXRpb25Db250ZXh0PEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+WydlbnZpcm9ubWVudCddO1xuICBwcm9qZWN0OiBURmV0Y2hQcm9qZWN0UXVlcnlbJ3Byb2plY3QnXTtcbiAgb25NZW51SXRlbUNsaWNrPzogTWVudUl0ZW1MaW5rUHJvcHNbJ29uQ2xpY2snXTtcbn07XG5jb25zdCBOYXZCYXIgPSA8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PihcbiAgcHJvcHM6IE5hdmJhclByb3BzPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4pID0+IHtcbiAgY29uc3Qge1xuICAgIG5hdkJhck5vZGUsXG4gICAgaXNNZW51T3BlbixcbiAgICBpc0V4cGFuZGVyVmlzaWJsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gICAgaGFuZGxlVG9nZ2xlSXRlbSxcbiAgICBoYW5kbGVUb2dnbGVNZW51LFxuICAgIHNob3VsZENsb3NlTWVudUZseSxcbiAgICBhbGxBcHBsaWNhdGlvbk5hdmJhck1lbnUsXG4gIH0gPSB1c2VOYXZiYXJTdGF0ZU1hbmFnZXIoe1xuICAgIGVudmlyb25tZW50OiBwcm9wcy5lbnZpcm9ubWVudCxcbiAgfSk7XG4gIGNvbnN0IHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcyA9IEJvb2xlYW4oXG4gICAgcHJvcHMuZW52aXJvbm1lbnQudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzXG4gICk7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcbiAgY29uc3QgZ3RtVHJhY2tpbmcgPSB1c2VDb250ZXh0KEd0bUNvbnRleHQpO1xuXG4gIGNvbnN0IHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIHBlcm1pc3Npb25zOiBub3JtYWxpemVBbGxBcHBsaWVkUGVybWlzc2lvbnMoXG4gICAgICAgIHByb3BzLnByb2plY3Q/LmFsbFBlcm1pc3Npb25zRm9yQWxsQXBwbGljYXRpb25zLmFsbEFwcGxpZWRQZXJtaXNzaW9uc1xuICAgICAgKSxcbiAgICAgIGFjdGlvblJpZ2h0czogbm9ybWFsaXplQWxsQXBwbGllZEFjdGlvblJpZ2h0cyhcbiAgICAgICAgcHJvcHMucHJvamVjdD8uYWxsUGVybWlzc2lvbnNGb3JBbGxBcHBsaWNhdGlvbnMuYWxsQXBwbGllZEFjdGlvblJpZ2h0c1xuICAgICAgKSxcbiAgICAgIGRhdGFGZW5jZXM6IG5vcm1hbGl6ZUFsbEFwcGxpZWREYXRhRmVuY2VzKFxuICAgICAgICBwcm9wcy5wcm9qZWN0Py5hbGxQZXJtaXNzaW9uc0ZvckFsbEFwcGxpY2F0aW9ucy5hbGxBcHBsaWVkRGF0YUZlbmNlc1xuICAgICAgKSxcbiAgICB9KSxcbiAgICBbcHJvcHMucHJvamVjdF1cbiAgKTtcbiAgY29uc3QgbWVudVZpc2liaWxpdGllcyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG5vcm1hbGl6ZUFsbEFwcGxpZWRNZW51VmlzaWJpbGl0aWVzKFxuICAgICAgICBwcm9wcy5wcm9qZWN0Py5hbGxQZXJtaXNzaW9uc0ZvckFsbEFwcGxpY2F0aW9uc1xuICAgICAgICAgIC5hbGxBcHBsaWVkTWVudVZpc2liaWxpdGllc1xuICAgICAgKSxcbiAgICBbcHJvcHMucHJvamVjdF1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxOYXZCYXJMYXlvdXQgcmVmPXtuYXZCYXJOb2RlfT5cbiAgICAgIDxNZW51R3JvdXAgaWQ9XCJtYWluXCIgbGV2ZWw9ezF9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydzY3JvbGxhYmxlLW1lbnUnXX0+XG4gICAgICAgICAge2FsbEFwcGxpY2F0aW9uTmF2YmFyTWVudS5tYXAoKG1lbnUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1lbnVUeXBlID0gJ3Njcm9sbGFibGUnO1xuICAgICAgICAgICAgY29uc3QgaXRlbUluZGV4ID0gYCR7bWVudVR5cGV9LSR7bWVudS5rZXl9YDtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxBcHBsaWNhdGlvbk1lbnVcbiAgICAgICAgICAgICAgICBrZXk9e21lbnUua2V5fVxuICAgICAgICAgICAgICAgIGxvY2F0aW9uPXtsb2NhdGlvbn1cbiAgICAgICAgICAgICAgICBtZW51PXttZW51fVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXthY3RpdmVJdGVtSW5kZXggPT09IGl0ZW1JbmRleH1cbiAgICAgICAgICAgICAgICBoYW5kbGVUb2dnbGVJdGVtPXsoKSA9PiBoYW5kbGVUb2dnbGVJdGVtKGl0ZW1JbmRleCl9XG4gICAgICAgICAgICAgICAgaXNNZW51T3Blbj17aXNNZW51T3Blbn1cbiAgICAgICAgICAgICAgICBzaG91bGRDbG9zZU1lbnVGbHk9e3Nob3VsZENsb3NlTWVudUZseX1cbiAgICAgICAgICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb2plY3RQZXJtaXNzaW9uc31cbiAgICAgICAgICAgICAgICBtZW51VmlzaWJpbGl0aWVzPXttZW51VmlzaWJpbGl0aWVzfVxuICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9wcy5wcm9qZWN0S2V5fVxuICAgICAgICAgICAgICAgIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz17dXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzfVxuICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ZpeGVkLW1lbnUnXX0+XG4gICAgICAgICAgPE1lbnVJdGVtXG4gICAgICAgICAgICBoYXNTdWJtZW51PXtmYWxzZX1cbiAgICAgICAgICAgIGlzQWN0aXZlPXtmYWxzZX1cbiAgICAgICAgICAgIGlzTWVudU9wZW49e2lzTWVudU9wZW59XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGd0bVRyYWNraW5nLnRyYWNrKFxuICAgICAgICAgICAgICAgIHRyYWNraW5nRXZlbnRzLmdvVG9TdXBwb3J0LmFjdGlvbixcbiAgICAgICAgICAgICAgICB0cmFja2luZ0V2ZW50cy5nb1RvU3VwcG9ydC5jYXRlZ29yeSxcbiAgICAgICAgICAgICAgICB0cmFja2luZ0V2ZW50cy5nb1RvU3VwcG9ydC5sYWJlbFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBoYW5kbGVUb2dnbGVJdGVtKCdmaXhlZC1zdXBwb3J0Jyk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25Nb3VzZUVudGVyPXtcbiAgICAgICAgICAgICAgaXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6ICgpID0+IGhhbmRsZVRvZ2dsZUl0ZW0oJ2ZpeGVkLXN1cHBvcnQnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXtpc01lbnVPcGVuID8gdW5kZWZpbmVkIDogc2hvdWxkQ2xvc2VNZW51Rmx5fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGhyZWY9e1NVUFBPUlRfUE9SVEFMX1VSTH1cbiAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgICAgICAgICA8U3VwcG9ydEljb25cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNjYWxlXCJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9e2dldEljb25Db2xvcihcbiAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVJdGVtSW5kZXggPT09ICdmaXhlZC1zdXBwb3J0JyxcbiAgICAgICAgICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzWydOYXZCYXIuTUNTdXBwb3J0LnRpdGxlJ119IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgPE1lbnVFeHBhbmRlclxuICAgICAgICAgICAgaXNWaXNpYmxlPXtpc0V4cGFuZGVyVmlzaWJsZX1cbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZU1lbnV9XG4gICAgICAgICAgICBpc01lbnVPcGVuPXtpc01lbnVPcGVufVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9NZW51R3JvdXA+XG4gICAgPC9OYXZCYXJMYXlvdXQ+XG4gICk7XG59O1xuTmF2QmFyLmRpc3BsYXlOYW1lID0gJ05hdkJhcic7XG5cbmV4cG9ydCBkZWZhdWx0IE5hdkJhcjtcblxuZXhwb3J0IGNvbnN0IExvYWRpbmdOYXZCYXIgPSAoKSA9PiB7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIHVzZUxvYWRpbmdNZW51TGF5b3V0RWZmZWN0KCk7XG4gIHJldHVybiAoXG4gICAgPE5hdkJhckxheW91dCByZWY9e3JlZn0+XG4gICAgICA8TWVudUdyb3VwIGlkPVwibWFpblwiIGxldmVsPXsxfT5cbiAgICAgICAgPD5cbiAgICAgICAgICB7QXJyYXkuZnJvbShuZXcgQXJyYXkoNSkpLm1hcCgoXywgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICBoYXNTdWJtZW51PXtmYWxzZX1cbiAgICAgICAgICAgICAgaXNNZW51T3Blbj17ZmFsc2V9XG4gICAgICAgICAgICAgIGlzQWN0aXZlPXtmYWxzZX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdW5kZWZpbmVkfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2xvYWRpbmctZG90LWNvbnRhaW5lciddfVxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtgZG90LWNvbnRhaW5lci0ke2luZGV4fWB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8TG9hZGluZ1BsYWNlaG9sZGVyIHNoYXBlPVwiZG90XCIgc2l6ZT1cIm1cIiAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvPlxuICAgICAgPC9NZW51R3JvdXA+XG4gICAgPC9OYXZCYXJMYXlvdXQ+XG4gICk7XG59O1xuTG9hZGluZ05hdkJhci5kaXNwbGF5TmFtZSA9ICdMb2FkaW5nTmF2QmFyJztcbiJdfQ== */")
|
|
3667
|
+
styles: /*#__PURE__*/react$2.css(compiledStyles.global, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa2xCbUIiLCJmaWxlIjoibmF2YmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUm91dGVDb21wb25lbnRQcm9wcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUQXBwbGljYXRpb25Db250ZXh0LFxuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hQcm9qZWN0UXVlcnkgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRMb2NhbGl6ZWRGaWVsZCxcbiAgVE5hdmJhck1lbnUsXG4gIFRCYXNlTWVudSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcbmltcG9ydCB0eXBlIHsgVEZsYWdWYXJpYXRpb24gfSBmcm9tICdAZmxvcGZsaXAvdHlwZXMnO1xuXG5pbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgUmVhY3ROb2RlLFxuICBTeW50aGV0aWNFdmVudCxcbiAgdXNlQ29udGV4dCxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZvcm1hdHRlZE1lc3NhZ2UgfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7IE5hdkxpbmssIG1hdGNoUGF0aCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IHVzZUZsYWdWYXJpYXRpb24gfSBmcm9tICdAZmxvcGZsaXAvcmVhY3QtYnJvYWRjYXN0JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQge1xuICBCYWNrSWNvbixcbiAgVHJlZVN0cnVjdHVyZUljb24sXG4gIFVzZXJGaWxsZWRJY29uLFxuICBTcGVlZG9tZXRlckljb24sXG4gIFRhZ011bHRpSWNvbixcbiAgQ2FydEljb24sXG4gIEJveEljb24sXG4gIEdlYXJJY29uLFxuICBTdXBwb3J0SWNvbixcbiAgV29ybGRJY29uLFxuICBIZWFydEljb24sXG4gIFBhcGVyY2xpcEljb24sXG4gIFBsdWdpbkljb24sXG4gIFJvY2tldEljb24sXG4gIFN0YXJJY29uLFxuICBDb25uZWN0ZWRTcXVhcmVJY29uLFxuICBMaXN0V2l0aFNlYXJjaEljb24sXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCBJbmxpbmVTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMvaW5saW5lLXN2Zyc7XG5pbXBvcnQgTWlzc2luZ0ltYWdlU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2Fzc2V0cy9pbWFnZXMvZGlhZ29uYWwtbGluZS5zdmcnO1xuaW1wb3J0IHtcbiAgTk9fVkFMVUVfRkFMTEJBQ0ssXG4gIFNVUFBPUlRfUE9SVEFMX1VSTCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWRBY3Rpb25SaWdodHMsXG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWREYXRhRmVuY2VzLFxuICBub3JtYWxpemVBbGxBcHBsaWVkTWVudVZpc2liaWxpdGllcyxcbiAgbm9ybWFsaXplQWxsQXBwbGllZFBlcm1pc3Npb25zLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG5pbXBvcnQgeyBHdG1Db250ZXh0IH0gZnJvbSAnLi4vZ3RtLWJvb3Rlcic7XG5pbXBvcnQgTG9hZGluZ1BsYWNlaG9sZGVyIGZyb20gJy4uL2xvYWRpbmctcGxhY2Vob2xkZXInO1xuaW1wb3J0IG1lc3NhZ2VzIGZyb20gJy4vbWVzc2FnZXMnO1xuaW1wb3J0IHVzZUxvYWRpbmdNZW51TGF5b3V0RWZmZWN0IGZyb20gJy4vdXNlLWxvYWRpbmctbWVudS1sYXlvdXQtZWZmZWN0JztcbmltcG9ydCB1c2VOYXZiYXJTdGF0ZU1hbmFnZXIgZnJvbSAnLi91c2UtbmF2YmFyLXN0YXRlLW1hbmFnZXInO1xuaW1wb3J0IG5vbk51bGxhYmxlIGZyb20gJy4vbm9uLW51bGxhYmxlJztcbmltcG9ydCB0cmFja2luZ0V2ZW50cyBmcm9tICcuL3RyYWNraW5nLWV2ZW50cyc7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbi8qXG48RGF0YU1lbnUgZGF0YT17W119PlxuICA8TWVudUdyb3VwPlxuICAgIDxNZW51SXRlbT5cbiAgICAgIDxNZW51SXRlbUxpbmsgbGlua1RvPVwiL2Zvb1wiPihpY29uKSBQcm9kdWN0czwvTWVudUl0ZW1MaW5rPlxuICAgICAgPE1lbnVHcm91cD5cbiAgICAgICAgPE1lbnVJdGVtTGluayBsaW5rVG89XCIvZm9vL25ld1wiPkFkZCBwcm9kdWN0PC9NZW51SXRlbUxpbms+XG4gICAgICA8L01lbnVHcm91cD5cbiAgICA8L01lbnVJdGVtPlxuICA8L01lbnVHcm91cD5cbiAgPE1lbnVFeHBhbmRlci8+XG48L0RhdGFNZW51PlxuKi9cblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIEFwcGxpY2F0aW9uIGljb25zXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBDdXN0b20gYXBwbGljYXRpb24gaWNvbnMgc2V0XG4gICAgY2FzZSAnSGVhcnRJY29uJzpcbiAgICAgIHJldHVybiA8SGVhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BhcGVyY2xpcEljb24nOlxuICAgICAgcmV0dXJuIDxQYXBlcmNsaXBJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BsdWdpbkljb24nOlxuICAgICAgcmV0dXJuIDxQbHVnaW5JY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1JvY2tldEljb24nOlxuICAgICAgcmV0dXJuIDxSb2NrZXRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1N0YXJJY29uJzpcbiAgICAgIHJldHVybiA8U3Rhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ29ubmVjdGVkU3F1YXJlSWNvbic6XG4gICAgICByZXR1cm4gPENvbm5lY3RlZFNxdWFyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgY2FzZSAnV29ybGRJY29uJzpcbiAgICAgIHJldHVybiA8V29ybGRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPGltZyBzcmM9e01pc3NpbmdJbWFnZVN2Z30gYWx0PVwibWlzc2luZyBpY29uXCIgLz47XG4gIH1cbn07XG5JY29uU3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnSWNvblN3aXRjaGVyJztcblxudHlwZSBNZW51RXhwYW5kZXJQcm9wcyA9IHtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG59O1xuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICBjb25zdCBndG1UcmFja2luZyA9IHVzZUNvbnRleHQoR3RtQ29udGV4dCk7XG4gIHJldHVybiAoXG4gICAgPGxpXG4gICAgICBrZXk9XCJleHBhbmRlclwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoc3R5bGVzWydsaXN0LWl0ZW0nXSwgc3R5bGVzLmV4cGFuZGVyLCB7XG4gICAgICAgIFtzdHlsZXMuaGlkZGVuXTogIXByb3BzLmlzVmlzaWJsZSxcbiAgICAgIH0pfVxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBhY3Rpb24sIGNhdGVnb3J5LCBsYWJlbCB9ID1cbiAgICAgICAgICAgIHRyYWNraW5nRXZlbnRzW1xuICAgICAgICAgICAgICBwcm9wcy5pc01lbnVPcGVuID8gJ2NvbGxhcHNlTWFpbk5hdicgOiAnZXhwYW5kTWFpbk5hdidcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgZ3RtVHJhY2tpbmcudHJhY2soYWN0aW9uLCBjYXRlZ29yeSwgbGFiZWwpO1xuICAgICAgICAgIHByb3BzLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICB9fVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZXhwYW5kLWljb24nXX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJtZW51LWV4cGFuZGVyXCJcbiAgICAgID5cbiAgICAgICAgey8qXG4gICAgICAgICAgRklYTUU6IGRlZmluZSBob3ZlciBlZmZlY3QuXG4gICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2NvbW1lcmNldG9vbHMvbWVyY2hhbnQtY2VudGVyLWZyb250ZW5kL2lzc3Vlcy8yMjE2XG4gICAgICAgICovfVxuICAgICAgICA8QmFja0ljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xufTtcbmNvbnN0IE1lbnVHcm91cCA9IChwcm9wczogTWVudUdyb3VwUHJvcHMpID0+IHtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgcHJvcHMuaXNFeHBhbmRlZDtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmICFwcm9wcy5pc0V4cGFuZGVkO1xuICByZXR1cm4gKFxuICAgIDx1bFxuICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICBkYXRhLXRlc3RpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAgeyBbc3R5bGVzLnN1Ymxpc3RdOiBwcm9wcy5sZXZlbCA9PT0gMiB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1uby1jaGlsZHJlbiddXTogcHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmNoaWxkcmVuLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59O1xuTWVudUdyb3VwLmRpc3BsYXlOYW1lID0gJ01lbnVHcm91cCc7XG5cbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzU3VibWVudTogYm9vbGVhbjtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUVudGVyPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlTGVhdmU/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTWVudUl0ZW0gPSAocHJvcHM6IE1lbnVJdGVtUHJvcHMpID0+IChcbiAgPGxpXG4gICAgcm9sZT1cIm1lbnUtaXRlbVwiXG4gICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHtcbiAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICBbc3R5bGVzWydpdGVtX21lbnUtY29sbGFwc2VkJ11dOiAhcHJvcHMuaXNNZW51T3BlbixcbiAgICAgIFtzdHlsZXNbJ2l0ZW1fX25vLXN1Ym1lbnUnXV06ICFwcm9wcy5oYXNTdWJtZW51LFxuICAgIH0pfVxuICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5vbk1vdXNlTGVhdmV9XG4gID5cbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWxpbmsnXX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICA8L2xpPlxuKTtcbk1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtJztcblxudHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogPFRyYWNrRm4+KFxuICAgIGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4sXG4gICAgdHJhY2s6IFRyYWNrRm5cbiAgKSA9PiB2b2lkO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCBndG1UcmFja2luZyA9IHVzZUNvbnRleHQoR3RtQ29udGV4dCk7XG4gIGNvbnN0IHJlZGlyZWN0VG8gPSAodGFyZ2V0VXJsOiBzdHJpbmcpID0+IGxvY2F0aW9uLnJlcGxhY2UodGFyZ2V0VXJsKTtcbiAgaWYgKHByb3BzLmxpbmtUbykge1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1xuICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICBleGFjdD17cHJvcHMuZXhhY3RNYXRjaH1cbiAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWyd0ZXh0LWxpbmsnXX1cbiAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZWRpcmVjdFRvKHByb3BzLmxpbmtUbyk7XG4gICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICBldmVudC5wZXJzaXN0KCk7XG4gICAgICAgICAgICBwcm9wcy5vbkNsaWNrPHR5cGVvZiBndG1UcmFja2luZy50cmFjaz4oZXZlbnQsIGd0bVRyYWNraW5nLnRyYWNrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvTmF2TGluaz5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG4vLyBUaGlzIGNvbXBvbmVudCBqdXN0IHJlbmRlciB0d28gZGl2cyB3aXRoIGJvcmRlcnMgaW4gb3JkZXIgdG8gZGlmZmVyZW50aWF0ZVxuLy8gdGhlIHNldHRpbmdzIHBsdWdpbiBmcm9tIHRoZSBvdGhlciBvbmVzXG5jb25zdCBNZW51SXRlbURpdmlkZXIgPSAoKSA9PiAoXG4gIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2RpdmlkZXItZmlyc3QtaXRlbSddfT5cbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydkaXZpZGVyLXNlY29uZC1pdGVtJ119IC8+XG4gIDwvZGl2PlxuKTtcbk1lbnVJdGVtRGl2aWRlci5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbURpdmlkZXInO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG5leHBvcnQgY29uc3QgZ2V0SWNvbkNvbG9yID0gKFxuICBpc0FjdGl2ZTogYm9vbGVhbixcbiAgaXNBbHRlcm5hdGl2ZVRoZW1lOiBib29sZWFuXG4pID0+IHtcbiAgaWYgKGlzQWN0aXZlKSByZXR1cm4gJ3ByaW1hcnk0MCc7XG4gIHJldHVybiBpc0FsdGVybmF0aXZlVGhlbWUgPyAnbmV1dHJhbDYwJyA6ICdzdXJmYWNlJztcbn07XG5cbmNvbnN0IGdldE1lbnVWaXNpYmlsaXRpZXNPZlN1Ym1lbnVzID0gKG1lbnU6IFROYXZiYXJNZW51KSA9PlxuICBtZW51LnN1Ym1lbnUubWFwKChzdWJtZW51KSA9PiBzdWJtZW51Lm1lbnVWaXNpYmlsaXR5KS5maWx0ZXIobm9uTnVsbGFibGUpO1xuY29uc3QgZ2V0TWVudVZpc2liaWxpdHlPZk1haW5tZW51ID0gKG1lbnU6IFROYXZiYXJNZW51KSA9PlxuICBtZW51Lm1lbnVWaXNpYmlsaXR5ID8gW21lbnUubWVudVZpc2liaWxpdHldIDogW107XG5cbnR5cGUgTWVudUxhYmVsUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbn07XG5jb25zdCBNZW51TGFiZWwgPSAocHJvcHM6IE1lbnVMYWJlbFByb3BzKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gcHJvcHMubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIDw+e2xvY2FsaXplZExhYmVsLnZhbHVlfTwvPjtcbiAgaWYgKHByb3BzLmRlZmF1bHRMYWJlbCkgcmV0dXJuIDw+e3Byb3BzLmRlZmF1bHRMYWJlbH08Lz47XG4gIHJldHVybiA8PntOT19WQUxVRV9GQUxMQkFDS308Lz47XG59O1xuXG50eXBlIFRNZW51V2l0aERlZmF1bHRMYWJlbCA9IFROYXZiYXJNZW51ICYge1xuICAvLyBkZXJpdmVzIGZyb20gYHByb2plY3RFeHRlbnNpb25zUXVlcnkuaW5zdGFsbGVkQXBwbGljYXRpb25zLmFwcGxpY2F0aW9uLm1haW5NZW51TGlua2BcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xufTtcbnR5cGUgVFN1Ym1lbnVXaXRoRGVmYXVsdExhYmVsID0gVEJhc2VNZW51ICYge1xuICAvLyBkZXJpdmVzIGZyb20gYHByb2plY3RFeHRlbnNpb25zUXVlcnkuaW5zdGFsbGVkQXBwbGljYXRpb25zLmFwcGxpY2F0aW9uLm1haW5NZW51TGlua2BcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xufTtcblxudHlwZSBBcHBsaWNhdGlvbk1lbnVQcm9wcyA9IHtcbiAgbG9jYXRpb246IFJvdXRlQ29tcG9uZW50UHJvcHNbJ2xvY2F0aW9uJ107XG4gIG1lbnU6IFRNZW51V2l0aERlZmF1bHRMYWJlbDtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIHNob3VsZENsb3NlTWVudUZseTogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBwcm9qZWN0UGVybWlzc2lvbnM6IFRQcm9qZWN0UGVybWlzc2lvbnM7XG4gIG1lbnVWaXNpYmlsaXRpZXM6IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGw7XG4gIGhhbmRsZVRvZ2dsZUl0ZW06ICgpID0+IHZvaWQ7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG4gIHByb2plY3RLZXk6IHN0cmluZztcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzOiBib29sZWFuO1xuICBvbk1lbnVJdGVtQ2xpY2s/OiBNZW51SXRlbUxpbmtQcm9wc1snb25DbGljayddO1xufTtcbmNvbnN0IEFwcGxpY2F0aW9uTWVudSA9IChwcm9wczogQXBwbGljYXRpb25NZW51UHJvcHMpID0+IHtcbiAgY29uc3QgaXNNYWluTWVudVJvdXRlQWN0aXZlID0gQm9vbGVhbihcbiAgICBtYXRjaFBhdGgocHJvcHMubG9jYXRpb24ucGF0aG5hbWUsIHtcbiAgICAgIHBhdGg6IGAvJHtwcm9wcy5wcm9qZWN0S2V5fS8ke3Byb3BzLm1lbnUudXJpUGF0aH1gLFxuICAgICAgZXhhY3Q6IGZhbHNlLFxuICAgICAgc3RyaWN0OiBmYWxzZSxcbiAgICB9KVxuICApO1xuICBjb25zdCBoYXNTdWJtZW51ID1cbiAgICBBcnJheS5pc0FycmF5KHByb3BzLm1lbnUuc3VibWVudSkgJiYgcHJvcHMubWVudS5zdWJtZW51Lmxlbmd0aCA+IDA7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBPbiBmaXJzdCByZW5kZXIsIGNoZWNrIHdoaWNoIG1lbnUgaXMgYWN0aXZlIGZvciB0aGUgY3VycmVudCBhcHBsaWNhdGlvbiBhbmQgZXhwYW5kXG4gICAgLy8gdGhlIHN1Ym1lbnUgYXV0b21hdGljYWxseSB1bmxlc3MgdGhlIGFsbCBuYXZiYXIgaXMgY29sbGFwc2VkIG9yIHRoZXJlIGFyZSBubyBzdWJtZW51IGxpbmtzLlxuICAgIGlmIChwcm9wcy5pc01lbnVPcGVuICYmIGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSAmJiBoYXNTdWJtZW51KSB7XG4gICAgICBwcm9wcy5oYW5kbGVUb2dnbGVJdGVtKCk7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW3Byb3BzLmlzTWVudU9wZW5dKTsgLy8gPC0tIChyZSlydW4gdGhpcyBvbmx5IHdoZW4gdGhlIGFsbCBtZW51IGV4cGFuZHNcblxuICBjb25zdCBuYW1lc09mTWVudVZpc2liaWxpdGllc09mQWxsU3VibWVudXMgPSBoYXNTdWJtZW51XG4gICAgPyBnZXRNZW51VmlzaWJpbGl0aWVzT2ZTdWJtZW51cyhwcm9wcy5tZW51KVxuICAgIDogZ2V0TWVudVZpc2liaWxpdHlPZk1haW5tZW51KHByb3BzLm1lbnUpO1xuXG4gIGNvbnN0IGlzTWFpbk1lbnVJdGVtQUxpbmsgPVxuICAgIC8vIDEuIFdoZW4gdGhlIG5hdmJhciBpcyBjb2xsYXBzZWRcbiAgICAhcHJvcHMuaXNNZW51T3BlbiB8fFxuICAgIC8vIDIuIFdoZW4gdGhlcmUgaXMgbm8gc3VibWVudVxuICAgICFoYXNTdWJtZW51IHx8XG4gICAgLy8gMy4gV2hlbiB0aGUgc3VibWVudSBncm91cCBpcyBhY3RpdmUvdmlzaWJsZVxuICAgIHByb3BzLmlzQWN0aXZlO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtwcm9wcy5tZW51LnNob3VsZFJlbmRlckRpdmlkZXIgJiYgPE1lbnVJdGVtRGl2aWRlciAvPn1cblxuICAgICAgPFJlc3RyaWN0ZWRNZW51SXRlbVxuICAgICAgICBrZXk9e3Byb3BzLm1lbnUua2V5fVxuICAgICAgICBrZXlPZk1lbnVJdGVtPXtwcm9wcy5tZW51LmtleX1cbiAgICAgICAgZmVhdHVyZVRvZ2dsZT17cHJvcHMubWVudS5mZWF0dXJlVG9nZ2xlID8/IHVuZGVmaW5lZH1cbiAgICAgICAgcGVybWlzc2lvbnM9e3Byb3BzLm1lbnUucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMubWVudS5hY3Rpb25SaWdodHMgPz8gdW5kZWZpbmVkfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5tZW51LmRhdGFGZW5jZXMgPz8gdW5kZWZpbmVkfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgICAgbWVudVZpc2liaWxpdGllcz17cHJvcHMubWVudVZpc2liaWxpdGllc31cbiAgICAgICAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM9e25hbWVzT2ZNZW51VmlzaWJpbGl0aWVzT2ZBbGxTdWJtZW51c31cbiAgICAgID5cbiAgICAgICAgPE1lbnVJdGVtXG4gICAgICAgICAgaGFzU3VibWVudT17aGFzU3VibWVudX1cbiAgICAgICAgICBpc0FjdGl2ZT17cHJvcHMuaXNBY3RpdmV9XG4gICAgICAgICAgaXNNZW51T3Blbj17cHJvcHMuaXNNZW51T3Blbn1cbiAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5oYW5kbGVUb2dnbGVJdGVtfVxuICAgICAgICAgIG9uTW91c2VFbnRlcj17cHJvcHMuaXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6IHByb3BzLmhhbmRsZVRvZ2dsZUl0ZW19XG4gICAgICAgICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5pc01lbnVPcGVuID8gdW5kZWZpbmVkIDogcHJvcHMuc2hvdWxkQ2xvc2VNZW51Rmx5fVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtTGlua1xuICAgICAgICAgICAgbGlua1RvPXtcbiAgICAgICAgICAgICAgaXNNYWluTWVudUl0ZW1BTGlua1xuICAgICAgICAgICAgICAgID8gYC8ke3Byb3BzLnByb2plY3RLZXl9LyR7cHJvcHMubWVudS51cmlQYXRofWBcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPXtwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3N9XG4gICAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgICAgICAgPEljb25Td2l0Y2hlclxuICAgICAgICAgICAgICAgICAgaWNvbj17cHJvcHMubWVudS5pY29ufVxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNjYWxlXCJcbiAgICAgICAgICAgICAgICAgIGNvbG9yPXtnZXRJY29uQ29sb3IoXG4gICAgICAgICAgICAgICAgICAgIHByb3BzLmlzQWN0aXZlIHx8IGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgQm9vbGVhbihwcm9wcy5tZW51LnNob3VsZFJlbmRlckRpdmlkZXIpXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9XG4gICAgICAgICAgICAgICAgYXJpYS1vd25zPXtgZ3JvdXAtJHtwcm9wcy5tZW51LmtleX1gfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5tZW51LmxhYmVsQWxsTG9jYWxlc31cbiAgICAgICAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17cHJvcHMubWVudS5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L01lbnVJdGVtTGluaz5cbiAgICAgICAgICA8TWVudUdyb3VwXG4gICAgICAgICAgICBpZD17cHJvcHMubWVudS5rZXl9XG4gICAgICAgICAgICBsZXZlbD17Mn1cbiAgICAgICAgICAgIGlzQWN0aXZlPXtwcm9wcy5pc0FjdGl2ZX1cbiAgICAgICAgICAgIGlzRXhwYW5kZWQ9e3Byb3BzLmlzTWVudU9wZW59XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2hhc1N1Ym1lbnVcbiAgICAgICAgICAgICAgPyBwcm9wcy5tZW51LnN1Ym1lbnUubWFwKChzdWJtZW51OiBUU3VibWVudVdpdGhEZWZhdWx0TGFiZWwpID0+IChcbiAgICAgICAgICAgICAgICAgIDxSZXN0cmljdGVkTWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgICAga2V5PXtgJHtwcm9wcy5tZW51LmtleX0tc3VibWVudS0ke3N1Ym1lbnUua2V5fWB9XG4gICAgICAgICAgICAgICAgICAgIGtleU9mTWVudUl0ZW09e3N1Ym1lbnUua2V5fVxuICAgICAgICAgICAgICAgICAgICBmZWF0dXJlVG9nZ2xlPXtzdWJtZW51LmZlYXR1cmVUb2dnbGUgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgICBwZXJtaXNzaW9ucz17c3VibWVudS5wZXJtaXNzaW9uc31cbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uUmlnaHRzPXtzdWJtZW51LmFjdGlvblJpZ2h0cyA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgIGRhdGFGZW5jZXM9e3N1Ym1lbnUuZGF0YUZlbmNlcyA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgICAgICAgICAgICAgICBtZW51VmlzaWJpbGl0aWVzPXtwcm9wcy5tZW51VmlzaWJpbGl0aWVzfVxuICAgICAgICAgICAgICAgICAgICBuYW1lc09mTWVudVZpc2liaWxpdGllcz17XG4gICAgICAgICAgICAgICAgICAgICAgc3VibWVudS5tZW51VmlzaWJpbGl0eVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBbc3VibWVudS5tZW51VmlzaWJpbGl0eV1cbiAgICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT17c3R5bGVzWydzdWJsaXN0LWl0ZW0nXX0+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50ZXh0fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxNZW51SXRlbUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua1RvPXtgLyR7cHJvcHMucHJvamVjdEtleX0vJHtzdWJtZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3RNYXRjaD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbEFsbExvY2FsZXM9e3N1Ym1lbnUubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17c3VibWVudS5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9NZW51SXRlbUxpbms+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICA8L1Jlc3RyaWN0ZWRNZW51SXRlbT5cbiAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICA6IG51bGx9XG4gICAgICAgICAgPC9NZW51R3JvdXA+XG4gICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICA8L1Jlc3RyaWN0ZWRNZW51SXRlbT5cbiAgICA8Lz5cbiAgKTtcbn07XG5BcHBsaWNhdGlvbk1lbnUuZGlzcGxheU5hbWUgPSAnQXBwbGljYXRpb25NZW51JztcblxudHlwZSBOYXZCYXJMYXlvdXRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBOYXZCYXJMYXlvdXQgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBOYXZCYXJMYXlvdXRQcm9wcz4oXG4gIChwcm9wcywgcmVmKSA9PiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxcbiAgICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgICAgJHtjb21waWxlZFN0eWxlcy5nbG9iYWx9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPG5hdlxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2xlZnQtbmF2aWdhdGlvbiddfVxuICAgICAgICBkYXRhLXRlc3Q9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdHJhY2stY29tcG9uZW50PVwiTmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvbmF2PlxuICAgIDwvPlxuICApXG4pO1xuTmF2QmFyTGF5b3V0LmRpc3BsYXlOYW1lID0gJ05hdkJhckxheW91dCc7XG5cbnR5cGUgTmF2YmFyUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PiA9IHtcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgcHJvamVjdEtleTogc3RyaW5nO1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgcHJvamVjdDogVEZldGNoUHJvamVjdFF1ZXJ5Wydwcm9qZWN0J107XG4gIG9uTWVudUl0ZW1DbGljaz86IE1lbnVJdGVtTGlua1Byb3BzWydvbkNsaWNrJ107XG59O1xuY29uc3QgTmF2QmFyID0gPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fT4oXG4gIHByb3BzOiBOYXZiYXJQcm9wczxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBuYXZCYXJOb2RlLFxuICAgIGlzTWVudU9wZW4sXG4gICAgaXNFeHBhbmRlclZpc2libGUsXG4gICAgYWN0aXZlSXRlbUluZGV4LFxuICAgIGhhbmRsZVRvZ2dsZUl0ZW0sXG4gICAgaGFuZGxlVG9nZ2xlTWVudSxcbiAgICBzaG91bGRDbG9zZU1lbnVGbHksXG4gICAgYWxsQXBwbGljYXRpb25OYXZiYXJNZW51LFxuICB9ID0gdXNlTmF2YmFyU3RhdGVNYW5hZ2VyKHtcbiAgICBlbnZpcm9ubWVudDogcHJvcHMuZW52aXJvbm1lbnQsXG4gIH0pO1xuICBjb25zdCB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MgPSBCb29sZWFuKFxuICAgIHByb3BzLmVudmlyb25tZW50LnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rc1xuICApO1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG4gIGNvbnN0IGd0bVRyYWNraW5nID0gdXNlQ29udGV4dChHdG1Db250ZXh0KTtcblxuICBjb25zdCBwcm9qZWN0UGVybWlzc2lvbnM6IFRQcm9qZWN0UGVybWlzc2lvbnMgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBwZXJtaXNzaW9uczogbm9ybWFsaXplQWxsQXBwbGllZFBlcm1pc3Npb25zKFxuICAgICAgICBwcm9wcy5wcm9qZWN0Py5hbGxQZXJtaXNzaW9uc0ZvckFsbEFwcGxpY2F0aW9ucy5hbGxBcHBsaWVkUGVybWlzc2lvbnNcbiAgICAgICksXG4gICAgICBhY3Rpb25SaWdodHM6IG5vcm1hbGl6ZUFsbEFwcGxpZWRBY3Rpb25SaWdodHMoXG4gICAgICAgIHByb3BzLnByb2plY3Q/LmFsbFBlcm1pc3Npb25zRm9yQWxsQXBwbGljYXRpb25zLmFsbEFwcGxpZWRBY3Rpb25SaWdodHNcbiAgICAgICksXG4gICAgICBkYXRhRmVuY2VzOiBub3JtYWxpemVBbGxBcHBsaWVkRGF0YUZlbmNlcyhcbiAgICAgICAgcHJvcHMucHJvamVjdD8uYWxsUGVybWlzc2lvbnNGb3JBbGxBcHBsaWNhdGlvbnMuYWxsQXBwbGllZERhdGFGZW5jZXNcbiAgICAgICksXG4gICAgfSksXG4gICAgW3Byb3BzLnByb2plY3RdXG4gICk7XG4gIGNvbnN0IG1lbnVWaXNpYmlsaXRpZXMgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBub3JtYWxpemVBbGxBcHBsaWVkTWVudVZpc2liaWxpdGllcyhcbiAgICAgICAgcHJvcHMucHJvamVjdD8uYWxsUGVybWlzc2lvbnNGb3JBbGxBcHBsaWNhdGlvbnNcbiAgICAgICAgICAuYWxsQXBwbGllZE1lbnVWaXNpYmlsaXRpZXNcbiAgICAgICksXG4gICAgW3Byb3BzLnByb2plY3RdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8TmF2QmFyTGF5b3V0IHJlZj17bmF2QmFyTm9kZX0+XG4gICAgICA8TWVudUdyb3VwIGlkPVwibWFpblwiIGxldmVsPXsxfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snc2Nyb2xsYWJsZS1tZW51J119PlxuICAgICAgICAgIHthbGxBcHBsaWNhdGlvbk5hdmJhck1lbnUubWFwKChtZW51KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZW51VHlwZSA9ICdzY3JvbGxhYmxlJztcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1JbmRleCA9IGAke21lbnVUeXBlfS0ke21lbnUua2V5fWA7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8QXBwbGljYXRpb25NZW51XG4gICAgICAgICAgICAgICAga2V5PXttZW51LmtleX1cbiAgICAgICAgICAgICAgICBsb2NhdGlvbj17bG9jYXRpb259XG4gICAgICAgICAgICAgICAgbWVudT17bWVudX1cbiAgICAgICAgICAgICAgICBpc0FjdGl2ZT17YWN0aXZlSXRlbUluZGV4ID09PSBpdGVtSW5kZXh9XG4gICAgICAgICAgICAgICAgaGFuZGxlVG9nZ2xlSXRlbT17KCkgPT4gaGFuZGxlVG9nZ2xlSXRlbShpdGVtSW5kZXgpfVxuICAgICAgICAgICAgICAgIGlzTWVudU9wZW49e2lzTWVudU9wZW59XG4gICAgICAgICAgICAgICAgc2hvdWxkQ2xvc2VNZW51Rmx5PXtzaG91bGRDbG9zZU1lbnVGbHl9XG4gICAgICAgICAgICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICAgICAgICAgICAgbWVudVZpc2liaWxpdGllcz17bWVudVZpc2liaWxpdGllc31cbiAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvcHMucHJvamVjdEtleX1cbiAgICAgICAgICAgICAgICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M9e3VzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rc31cbiAgICAgICAgICAgICAgICBvbk1lbnVJdGVtQ2xpY2s9e3Byb3BzLm9uTWVudUl0ZW1DbGlja31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmaXhlZC1tZW51J119PlxuICAgICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgICAgaGFzU3VibWVudT17ZmFsc2V9XG4gICAgICAgICAgICBpc0FjdGl2ZT17ZmFsc2V9XG4gICAgICAgICAgICBpc01lbnVPcGVuPXtpc01lbnVPcGVufVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICBndG1UcmFja2luZy50cmFjayhcbiAgICAgICAgICAgICAgICB0cmFja2luZ0V2ZW50cy5nb1RvU3VwcG9ydC5hY3Rpb24sXG4gICAgICAgICAgICAgICAgdHJhY2tpbmdFdmVudHMuZ29Ub1N1cHBvcnQuY2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgdHJhY2tpbmdFdmVudHMuZ29Ub1N1cHBvcnQubGFiZWxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaGFuZGxlVG9nZ2xlSXRlbSgnZml4ZWQtc3VwcG9ydCcpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTW91c2VFbnRlcj17XG4gICAgICAgICAgICAgIGlzTWVudU9wZW4gPyB1bmRlZmluZWQgOiAoKSA9PiBoYW5kbGVUb2dnbGVJdGVtKCdmaXhlZC1zdXBwb3J0JylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17aXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6IHNob3VsZENsb3NlTWVudUZseX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBocmVmPXtTVVBQT1JUX1BPUlRBTF9VUkx9XG4gICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWljb24tdGV4dCddfT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmljb259PlxuICAgICAgICAgICAgICAgICAgPFN1cHBvcnRJY29uXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzY2FsZVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPXtnZXRJY29uQ29sb3IoXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlSXRlbUluZGV4ID09PSAnZml4ZWQtc3VwcG9ydCcsXG4gICAgICAgICAgICAgICAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRpdGxlfT5cbiAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlc1snTmF2QmFyLk1DU3VwcG9ydC50aXRsZSddfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgIDxNZW51RXhwYW5kZXJcbiAgICAgICAgICAgIGlzVmlzaWJsZT17aXNFeHBhbmRlclZpc2libGV9XG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVUb2dnbGVNZW51fVxuICAgICAgICAgICAgaXNNZW51T3Blbj17aXNNZW51T3Blbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvTWVudUdyb3VwPlxuICAgIDwvTmF2QmFyTGF5b3V0PlxuICApO1xufTtcbk5hdkJhci5kaXNwbGF5TmFtZSA9ICdOYXZCYXInO1xuXG5leHBvcnQgZGVmYXVsdCBOYXZCYXI7XG5cbmV4cG9ydCBjb25zdCBMb2FkaW5nTmF2QmFyID0gKCkgPT4ge1xuICBjb25zdCByZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICB1c2VMb2FkaW5nTWVudUxheW91dEVmZmVjdCgpO1xuICByZXR1cm4gKFxuICAgIDxOYXZCYXJMYXlvdXQgcmVmPXtyZWZ9PlxuICAgICAgPE1lbnVHcm91cCBpZD1cIm1haW5cIiBsZXZlbD17MX0+XG4gICAgICAgIDw+XG4gICAgICAgICAge0FycmF5LmZyb20obmV3IEFycmF5KDUpKS5tYXAoKF8sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8TWVudUl0ZW1cbiAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgaGFzU3VibWVudT17ZmFsc2V9XG4gICAgICAgICAgICAgIGlzTWVudU9wZW49e2ZhbHNlfVxuICAgICAgICAgICAgICBpc0FjdGl2ZT17ZmFsc2V9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHVuZGVmaW5lZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydsb2FkaW5nLWRvdC1jb250YWluZXInXX1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17YGRvdC1jb250YWluZXItJHtpbmRleH1gfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPExvYWRpbmdQbGFjZWhvbGRlciBzaGFwZT1cImRvdFwiIHNpemU9XCJtXCIgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgICkpfVxuICAgICAgICA8Lz5cbiAgICAgIDwvTWVudUdyb3VwPlxuICAgIDwvTmF2QmFyTGF5b3V0PlxuICApO1xufTtcbkxvYWRpbmdOYXZCYXIuZGlzcGxheU5hbWUgPSAnTG9hZGluZ05hdkJhcic7XG4iXX0= */")
|
|
3669
3668
|
}), jsxRuntime.jsx("nav", {
|
|
3670
3669
|
ref: ref,
|
|
3671
3670
|
className: styles['left-navigation'],
|
|
@@ -3854,7 +3853,7 @@ var pimIndexerStates = {
|
|
|
3854
3853
|
};
|
|
3855
3854
|
|
|
3856
3855
|
var QuickAccess = /*#__PURE__*/react.lazy(function () {
|
|
3857
|
-
return Promise.resolve().then(function () { return require('./quick-access-
|
|
3856
|
+
return Promise.resolve().then(function () { return require('./quick-access-44288a69.cjs.dev.js'
|
|
3858
3857
|
/* webpackChunkName: "quick-access" */
|
|
3859
3858
|
); });
|
|
3860
3859
|
});
|
|
@@ -12,13 +12,13 @@ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
|
12
12
|
var reactIntl = require('react-intl');
|
|
13
13
|
var ProjectExpiredSVG = require('@commercetools-frontend/assets/images/hourglass.svg');
|
|
14
14
|
var applicationComponents = require('@commercetools-frontend/application-components');
|
|
15
|
-
var servicePageProjectSwitcher = require('./service-page-project-switcher-
|
|
15
|
+
var servicePageProjectSwitcher = require('./service-page-project-switcher-ae61c39d.cjs.prod.js');
|
|
16
16
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
17
17
|
require('@emotion/styled/base');
|
|
18
18
|
require('react-router-dom');
|
|
19
19
|
require('@commercetools-frontend/application-shell-connectors');
|
|
20
|
-
require('./index-
|
|
21
|
-
require('./application-entry-point-
|
|
20
|
+
require('./index-a544deff.cjs.prod.js');
|
|
21
|
+
require('./application-entry-point-f5a19490.cjs.prod.js');
|
|
22
22
|
require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
23
23
|
require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
24
24
|
require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
|
|
@@ -10,13 +10,13 @@ import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
|
|
|
10
10
|
import { defineMessages, useIntl, FormattedMessage } from 'react-intl';
|
|
11
11
|
import ProjectExpiredSVG from '@commercetools-frontend/assets/images/hourglass.svg';
|
|
12
12
|
import { MaintenancePageLayout } from '@commercetools-frontend/application-components';
|
|
13
|
-
import { S as ServicePageProjectSwitcher } from './service-page-project-switcher-
|
|
13
|
+
import { S as ServicePageProjectSwitcher } from './service-page-project-switcher-d1c2ae56.esm.js';
|
|
14
14
|
import { jsx } from '@emotion/react/jsx-runtime';
|
|
15
15
|
import '@emotion/styled/base';
|
|
16
16
|
import 'react-router-dom';
|
|
17
17
|
import '@commercetools-frontend/application-shell-connectors';
|
|
18
|
-
import './index-
|
|
19
|
-
import './application-entry-point-
|
|
18
|
+
import './index-428502d7.esm.js';
|
|
19
|
+
import './application-entry-point-9c924b81.esm.js';
|
|
20
20
|
import '@babel/runtime-corejs3/helpers/toConsumableArray';
|
|
21
21
|
import '@babel/runtime-corejs3/helpers/slicedToArray';
|
|
22
22
|
import '@babel/runtime-corejs3/core-js-stable/instance/reduce';
|
|
@@ -12,13 +12,13 @@ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
|
12
12
|
var reactIntl = require('react-intl');
|
|
13
13
|
var ProjectExpiredSVG = require('@commercetools-frontend/assets/images/hourglass.svg');
|
|
14
14
|
var applicationComponents = require('@commercetools-frontend/application-components');
|
|
15
|
-
var servicePageProjectSwitcher = require('./service-page-project-switcher-
|
|
15
|
+
var servicePageProjectSwitcher = require('./service-page-project-switcher-a1cbb100.cjs.dev.js');
|
|
16
16
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
17
17
|
require('@emotion/styled/base');
|
|
18
18
|
require('react-router-dom');
|
|
19
19
|
require('@commercetools-frontend/application-shell-connectors');
|
|
20
|
-
require('./index-
|
|
21
|
-
require('./application-entry-point-
|
|
20
|
+
require('./index-e4a6db71.cjs.dev.js');
|
|
21
|
+
require('./application-entry-point-43fd73f5.cjs.dev.js');
|
|
22
22
|
require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
23
23
|
require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
24
24
|
require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
|
package/dist/{project-not-found-30c140be.cjs.dev.js → project-not-found-05608a7b.cjs.dev.js}
RENAMED
|
@@ -12,13 +12,13 @@ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
|
12
12
|
var reactIntl = require('react-intl');
|
|
13
13
|
var FailedAuthorizationSVG = require('@commercetools-frontend/assets/images/folder-full-locked.svg');
|
|
14
14
|
var applicationComponents = require('@commercetools-frontend/application-components');
|
|
15
|
-
var servicePageProjectSwitcher = require('./service-page-project-switcher-
|
|
15
|
+
var servicePageProjectSwitcher = require('./service-page-project-switcher-a1cbb100.cjs.dev.js');
|
|
16
16
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
17
17
|
require('@emotion/styled/base');
|
|
18
18
|
require('react-router-dom');
|
|
19
19
|
require('@commercetools-frontend/application-shell-connectors');
|
|
20
|
-
require('./index-
|
|
21
|
-
require('./application-entry-point-
|
|
20
|
+
require('./index-e4a6db71.cjs.dev.js');
|
|
21
|
+
require('./application-entry-point-43fd73f5.cjs.dev.js');
|
|
22
22
|
require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
23
23
|
require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
24
24
|
require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
|
package/dist/{project-not-found-17e74630.cjs.prod.js → project-not-found-56537969.cjs.prod.js}
RENAMED
|
@@ -12,13 +12,13 @@ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
|
12
12
|
var reactIntl = require('react-intl');
|
|
13
13
|
var FailedAuthorizationSVG = require('@commercetools-frontend/assets/images/folder-full-locked.svg');
|
|
14
14
|
var applicationComponents = require('@commercetools-frontend/application-components');
|
|
15
|
-
var servicePageProjectSwitcher = require('./service-page-project-switcher-
|
|
15
|
+
var servicePageProjectSwitcher = require('./service-page-project-switcher-ae61c39d.cjs.prod.js');
|
|
16
16
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
17
17
|
require('@emotion/styled/base');
|
|
18
18
|
require('react-router-dom');
|
|
19
19
|
require('@commercetools-frontend/application-shell-connectors');
|
|
20
|
-
require('./index-
|
|
21
|
-
require('./application-entry-point-
|
|
20
|
+
require('./index-a544deff.cjs.prod.js');
|
|
21
|
+
require('./application-entry-point-f5a19490.cjs.prod.js');
|
|
22
22
|
require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
23
23
|
require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
24
24
|
require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
|
|
@@ -10,13 +10,13 @@ import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
|
|
|
10
10
|
import { defineMessages, useIntl, FormattedMessage } from 'react-intl';
|
|
11
11
|
import FailedAuthorizationSVG from '@commercetools-frontend/assets/images/folder-full-locked.svg';
|
|
12
12
|
import { MaintenancePageLayout } from '@commercetools-frontend/application-components';
|
|
13
|
-
import { S as ServicePageProjectSwitcher } from './service-page-project-switcher-
|
|
13
|
+
import { S as ServicePageProjectSwitcher } from './service-page-project-switcher-d1c2ae56.esm.js';
|
|
14
14
|
import { jsx } from '@emotion/react/jsx-runtime';
|
|
15
15
|
import '@emotion/styled/base';
|
|
16
16
|
import 'react-router-dom';
|
|
17
17
|
import '@commercetools-frontend/application-shell-connectors';
|
|
18
|
-
import './index-
|
|
19
|
-
import './application-entry-point-
|
|
18
|
+
import './index-428502d7.esm.js';
|
|
19
|
+
import './application-entry-point-9c924b81.esm.js';
|
|
20
20
|
import '@babel/runtime-corejs3/helpers/toConsumableArray';
|
|
21
21
|
import '@babel/runtime-corejs3/helpers/slicedToArray';
|
|
22
22
|
import '@babel/runtime-corejs3/core-js-stable/instance/reduce';
|
package/dist/{project-not-initialized-c83c731d.esm.js → project-not-initialized-55986b48.esm.js}
RENAMED
|
@@ -10,13 +10,13 @@ import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
|
|
|
10
10
|
import { defineMessages, useIntl, FormattedMessage } from 'react-intl';
|
|
11
11
|
import ProjectExpiredSVG from '@commercetools-frontend/assets/images/hourglass.svg';
|
|
12
12
|
import { MaintenancePageLayout } from '@commercetools-frontend/application-components';
|
|
13
|
-
import { S as ServicePageProjectSwitcher } from './service-page-project-switcher-
|
|
13
|
+
import { S as ServicePageProjectSwitcher } from './service-page-project-switcher-d1c2ae56.esm.js';
|
|
14
14
|
import { jsx } from '@emotion/react/jsx-runtime';
|
|
15
15
|
import '@emotion/styled/base';
|
|
16
16
|
import 'react-router-dom';
|
|
17
17
|
import '@commercetools-frontend/application-shell-connectors';
|
|
18
|
-
import './index-
|
|
19
|
-
import './application-entry-point-
|
|
18
|
+
import './index-428502d7.esm.js';
|
|
19
|
+
import './application-entry-point-9c924b81.esm.js';
|
|
20
20
|
import '@babel/runtime-corejs3/helpers/toConsumableArray';
|
|
21
21
|
import '@babel/runtime-corejs3/helpers/slicedToArray';
|
|
22
22
|
import '@babel/runtime-corejs3/core-js-stable/instance/reduce';
|
|
@@ -12,13 +12,13 @@ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
|
12
12
|
var reactIntl = require('react-intl');
|
|
13
13
|
var ProjectExpiredSVG = require('@commercetools-frontend/assets/images/hourglass.svg');
|
|
14
14
|
var applicationComponents = require('@commercetools-frontend/application-components');
|
|
15
|
-
var servicePageProjectSwitcher = require('./service-page-project-switcher-
|
|
15
|
+
var servicePageProjectSwitcher = require('./service-page-project-switcher-ae61c39d.cjs.prod.js');
|
|
16
16
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
17
17
|
require('@emotion/styled/base');
|
|
18
18
|
require('react-router-dom');
|
|
19
19
|
require('@commercetools-frontend/application-shell-connectors');
|
|
20
|
-
require('./index-
|
|
21
|
-
require('./application-entry-point-
|
|
20
|
+
require('./index-a544deff.cjs.prod.js');
|
|
21
|
+
require('./application-entry-point-f5a19490.cjs.prod.js');
|
|
22
22
|
require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
23
23
|
require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
24
24
|
require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
|
|
@@ -12,13 +12,13 @@ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
|
12
12
|
var reactIntl = require('react-intl');
|
|
13
13
|
var ProjectExpiredSVG = require('@commercetools-frontend/assets/images/hourglass.svg');
|
|
14
14
|
var applicationComponents = require('@commercetools-frontend/application-components');
|
|
15
|
-
var servicePageProjectSwitcher = require('./service-page-project-switcher-
|
|
15
|
+
var servicePageProjectSwitcher = require('./service-page-project-switcher-a1cbb100.cjs.dev.js');
|
|
16
16
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
17
17
|
require('@emotion/styled/base');
|
|
18
18
|
require('react-router-dom');
|
|
19
19
|
require('@commercetools-frontend/application-shell-connectors');
|
|
20
|
-
require('./index-
|
|
21
|
-
require('./application-entry-point-
|
|
20
|
+
require('./index-e4a6db71.cjs.dev.js');
|
|
21
|
+
require('./application-entry-point-43fd73f5.cjs.dev.js');
|
|
22
22
|
require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
23
23
|
require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
24
24
|
require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
|
package/dist/{project-suspended-892ad1b9.cjs.prod.js → project-suspended-0d7731b8.cjs.prod.js}
RENAMED
|
@@ -12,13 +12,13 @@ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
|
12
12
|
var reactIntl = require('react-intl');
|
|
13
13
|
var ProjectSuspendedSVG = require('@commercetools-frontend/assets/images/doors-closed.svg');
|
|
14
14
|
var applicationComponents = require('@commercetools-frontend/application-components');
|
|
15
|
-
var servicePageProjectSwitcher = require('./service-page-project-switcher-
|
|
15
|
+
var servicePageProjectSwitcher = require('./service-page-project-switcher-ae61c39d.cjs.prod.js');
|
|
16
16
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
17
17
|
require('@emotion/styled/base');
|
|
18
18
|
require('react-router-dom');
|
|
19
19
|
require('@commercetools-frontend/application-shell-connectors');
|
|
20
|
-
require('./index-
|
|
21
|
-
require('./application-entry-point-
|
|
20
|
+
require('./index-a544deff.cjs.prod.js');
|
|
21
|
+
require('./application-entry-point-f5a19490.cjs.prod.js');
|
|
22
22
|
require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
23
23
|
require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
24
24
|
require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
|
package/dist/{project-suspended-748201e1.cjs.dev.js → project-suspended-4e25c346.cjs.dev.js}
RENAMED
|
@@ -12,13 +12,13 @@ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
|
12
12
|
var reactIntl = require('react-intl');
|
|
13
13
|
var ProjectSuspendedSVG = require('@commercetools-frontend/assets/images/doors-closed.svg');
|
|
14
14
|
var applicationComponents = require('@commercetools-frontend/application-components');
|
|
15
|
-
var servicePageProjectSwitcher = require('./service-page-project-switcher-
|
|
15
|
+
var servicePageProjectSwitcher = require('./service-page-project-switcher-a1cbb100.cjs.dev.js');
|
|
16
16
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
17
17
|
require('@emotion/styled/base');
|
|
18
18
|
require('react-router-dom');
|
|
19
19
|
require('@commercetools-frontend/application-shell-connectors');
|
|
20
|
-
require('./index-
|
|
21
|
-
require('./application-entry-point-
|
|
20
|
+
require('./index-e4a6db71.cjs.dev.js');
|
|
21
|
+
require('./application-entry-point-43fd73f5.cjs.dev.js');
|
|
22
22
|
require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
23
23
|
require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
24
24
|
require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
|
|
@@ -10,13 +10,13 @@ import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
|
|
|
10
10
|
import { defineMessages, useIntl, FormattedMessage } from 'react-intl';
|
|
11
11
|
import ProjectSuspendedSVG from '@commercetools-frontend/assets/images/doors-closed.svg';
|
|
12
12
|
import { MaintenancePageLayout } from '@commercetools-frontend/application-components';
|
|
13
|
-
import { S as ServicePageProjectSwitcher } from './service-page-project-switcher-
|
|
13
|
+
import { S as ServicePageProjectSwitcher } from './service-page-project-switcher-d1c2ae56.esm.js';
|
|
14
14
|
import { jsx } from '@emotion/react/jsx-runtime';
|
|
15
15
|
import '@emotion/styled/base';
|
|
16
16
|
import 'react-router-dom';
|
|
17
17
|
import '@commercetools-frontend/application-shell-connectors';
|
|
18
|
-
import './index-
|
|
19
|
-
import './application-entry-point-
|
|
18
|
+
import './index-428502d7.esm.js';
|
|
19
|
+
import './application-entry-point-9c924b81.esm.js';
|
|
20
20
|
import '@babel/runtime-corejs3/helpers/toConsumableArray';
|
|
21
21
|
import '@babel/runtime-corejs3/helpers/slicedToArray';
|
|
22
22
|
import '@babel/runtime-corejs3/core-js-stable/instance/reduce';
|
|
@@ -22,7 +22,7 @@ import debounce from 'debounce-async';
|
|
|
22
22
|
import { SUPPORT_PORTAL_URL, LOGOUT_REASONS, GRAPHQL_TARGETS, MC_API_PROXY_TARGETS } from '@commercetools-frontend/constants';
|
|
23
23
|
import { hasSomePermissions } from '@commercetools-frontend/permissions';
|
|
24
24
|
import { useApplicationContext } from '@commercetools-frontend/application-shell-connectors';
|
|
25
|
-
import { c as location } from './application-entry-point-
|
|
25
|
+
import { c as location } from './application-entry-point-9c924b81.esm.js';
|
|
26
26
|
import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';
|
|
27
27
|
import _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols';
|
|
28
28
|
import _Object$getOwnPropertyDescriptor from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor';
|
|
@@ -41,7 +41,7 @@ import LoadingSpinner from '@commercetools-uikit/loading-spinner';
|
|
|
41
41
|
import { AngleThinRightIcon, SearchIcon } from '@commercetools-uikit/icons';
|
|
42
42
|
import { customProperties } from '@commercetools-uikit/design-system';
|
|
43
43
|
import { jsxs, jsx } from '@emotion/react/jsx-runtime';
|
|
44
|
-
import { B as ButlerContainer, p as pimIndexerStates } from './index-
|
|
44
|
+
import { B as ButlerContainer, p as pimIndexerStates } from './index-428502d7.esm.js';
|
|
45
45
|
import _Promise from '@babel/runtime-corejs3/core-js-stable/promise';
|
|
46
46
|
import _reduceInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/reduce';
|
|
47
47
|
import _findInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find';
|
|
@@ -24,7 +24,7 @@ var debounce = require('debounce-async');
|
|
|
24
24
|
var constants = require('@commercetools-frontend/constants');
|
|
25
25
|
var permissions$1 = require('@commercetools-frontend/permissions');
|
|
26
26
|
var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
|
|
27
|
-
var applicationEntryPoint = require('./application-entry-point-
|
|
27
|
+
var applicationEntryPoint = require('./application-entry-point-f5a19490.cjs.prod.js');
|
|
28
28
|
var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
|
|
29
29
|
var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
|
|
30
30
|
var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
|
|
@@ -43,7 +43,7 @@ var LoadingSpinner = require('@commercetools-uikit/loading-spinner');
|
|
|
43
43
|
var icons = require('@commercetools-uikit/icons');
|
|
44
44
|
var designSystem = require('@commercetools-uikit/design-system');
|
|
45
45
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
46
|
-
var dist_commercetoolsFrontendApplicationShell = require('./index-
|
|
46
|
+
var dist_commercetoolsFrontendApplicationShell = require('./index-a544deff.cjs.prod.js');
|
|
47
47
|
var _Promise = require('@babel/runtime-corejs3/core-js-stable/promise');
|
|
48
48
|
var _reduceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
|
|
49
49
|
var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
|
|
@@ -24,7 +24,7 @@ var debounce = require('debounce-async');
|
|
|
24
24
|
var constants = require('@commercetools-frontend/constants');
|
|
25
25
|
var permissions$1 = require('@commercetools-frontend/permissions');
|
|
26
26
|
var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
|
|
27
|
-
var applicationEntryPoint = require('./application-entry-point-
|
|
27
|
+
var applicationEntryPoint = require('./application-entry-point-43fd73f5.cjs.dev.js');
|
|
28
28
|
var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
|
|
29
29
|
var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
|
|
30
30
|
var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
|
|
@@ -43,7 +43,7 @@ var LoadingSpinner = require('@commercetools-uikit/loading-spinner');
|
|
|
43
43
|
var icons = require('@commercetools-uikit/icons');
|
|
44
44
|
var designSystem = require('@commercetools-uikit/design-system');
|
|
45
45
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
46
|
-
var dist_commercetoolsFrontendApplicationShell = require('./index-
|
|
46
|
+
var dist_commercetoolsFrontendApplicationShell = require('./index-e4a6db71.cjs.dev.js');
|
|
47
47
|
var _Promise = require('@babel/runtime-corejs3/core-js-stable/promise');
|
|
48
48
|
var _reduceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
|
|
49
49
|
var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _styled = require('@emotion/styled/base');
|
|
4
4
|
var reactRouterDom = require('react-router-dom');
|
|
5
5
|
var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
|
|
6
|
-
var dist_commercetoolsFrontendApplicationShell = require('./index-
|
|
6
|
+
var dist_commercetoolsFrontendApplicationShell = require('./index-e4a6db71.cjs.dev.js');
|
|
7
7
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
8
8
|
|
|
9
9
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|