@acorex/modules 20.0.0-next.0 → 20.0.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/common/index.d.ts +5 -0
- package/dashboard-management/index.d.ts +12 -2
- package/fesm2022/acorex-modules-common.mjs +41 -26
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-content-management.mjs +1 -1
- package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +192 -105
- package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-DFJd7jtw.mjs → acorex-modules-document-management-acorex-modules-document-management-BP-HLvDt.mjs} +19 -19
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-DFJd7jtw.mjs.map → acorex-modules-document-management-acorex-modules-document-management-BP-HLvDt.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-C3RDX_qe.mjs → acorex-modules-document-management-attachment-widget.component-DiE1iI_0.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-C3RDX_qe.mjs.map → acorex-modules-document-management-attachment-widget.component-DiE1iI_0.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-DBb15uBA.mjs → acorex-modules-document-management-create-folder-dialog.component-Bq7bRA5y.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-DBb15uBA.mjs.map → acorex-modules-document-management-create-folder-dialog.component-Bq7bRA5y.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-details-view.component-DBdPqZC-.mjs → acorex-modules-document-management-details-view.component-C3R3GojY.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-details-view.component-DBdPqZC-.mjs.map → acorex-modules-document-management-details-view.component-C3R3GojY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-83EwqXIv.mjs → acorex-modules-document-management-drive-choose.component-DnzJ7ujZ.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-83EwqXIv.mjs.map → acorex-modules-document-management-drive-choose.component-DnzJ7ujZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive.component-B-a1lpDK.mjs → acorex-modules-document-management-drive.component-BW0gVjML.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive.component-B-a1lpDK.mjs.map → acorex-modules-document-management-drive.component-BW0gVjML.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-CoPSJvbV.mjs → acorex-modules-document-management-large-icons-view.component-B02pUo3R.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-CoPSJvbV.mjs.map → acorex-modules-document-management-large-icons-view.component-B02pUo3R.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-BFcFkIBi.mjs → acorex-modules-document-management-large-tiles-view.component-IOgOKZHe.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-BFcFkIBi.mjs.map → acorex-modules-document-management-large-tiles-view.component-IOgOKZHe.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-ygy8vGy8.mjs → acorex-modules-document-management-list-view.component-B1tWiewp.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-list-view.component-ygy8vGy8.mjs.map → acorex-modules-document-management-list-view.component-B1tWiewp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-D7xogLDO.mjs → acorex-modules-document-management-meta-choose-popup.component-BcwgdkCu.mjs} +2 -2
- package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-BcwgdkCu.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DzcDUk4h.mjs → acorex-modules-document-management-permission-definition.provider-BxGnnbvr.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DzcDUk4h.mjs.map → acorex-modules-document-management-permission-definition.provider-BxGnnbvr.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-DEp3gb2P.mjs → acorex-modules-document-management-rename-node-dialog.component-BtH4ZteD.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-DEp3gb2P.mjs.map → acorex-modules-document-management-rename-node-dialog.component-BtH4ZteD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-B4AnqBZv.mjs → acorex-modules-document-management-small-icons-view.component-CSZM_GTs.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-B4AnqBZv.mjs.map → acorex-modules-document-management-small-icons-view.component-CSZM_GTs.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-C1lG9vFR.mjs → acorex-modules-document-management-small-tiles-view.component-CpYgK225.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-C1lG9vFR.mjs.map → acorex-modules-document-management-small-tiles-view.component-CpYgK225.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DapgAmXT.mjs → acorex-modules-platform-management-acorex-modules-platform-management-D0GgVrM1.mjs} +4 -4
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DapgAmXT.mjs.map → acorex-modules-platform-management-acorex-modules-platform-management-D0GgVrM1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-list-version.component-Dz_gAU6L.mjs → acorex-modules-platform-management-list-version.component-ZXM2ZJtt.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-list-version.component-Dz_gAU6L.mjs.map → acorex-modules-platform-management-list-version.component-ZXM2ZJtt.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-settings.provider-C_AP6CfI.mjs → acorex-modules-platform-management-settings.provider-D5WKWolF.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-settings.provider-C_AP6CfI.mjs.map → acorex-modules-platform-management-settings.provider-D5WKWolF.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +1 -1
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/package.json +1 -1
- package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-D7xogLDO.mjs.map +0 -1
package/package.json
CHANGED
package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-D7xogLDO.mjs.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-document-management-meta-choose-popup.component-D7xogLDO.mjs","sources":["../tmp-esm2022/document-management/lib/features/meta-choose-widget/meta-choose-popup/meta-choose-popup.component.js"],"sourcesContent":["import { Component, signal, ViewEncapsulation, viewChild, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTreeViewModule } from '@acorex/components/tree-view';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXMMetaDataDefinitionCategoryService } from '@acorex/modules/platform-management';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/search-box\";\nimport * as i3 from \"@acorex/components/tree-view\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@acorex/components/button\";\nimport * as i6 from \"@acorex/core/translation\";\nexport class AXPMetaChoosePopupComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.categoryService = inject(AXMMetaDataDefinitionCategoryService);\n this.treeRef = viewChild('treeRef');\n /**\n * Holds the complete list of tree items in a flattened structure.\n * This structure makes it easy to:\n * 1) Provide children lazily via `provideLazyTreeView` using `parentId`.\n * 2) Perform search across all levels while still being able to include\n * ancestor nodes of matched items.\n */\n this.treeViewData = signal([]);\n /**\n * Keeps an immutable reference to the original (unfiltered) data so that\n * we can restore the tree when the search box is cleared.\n */\n this.originalTreeData = [];\n this.searchTerm = signal('');\n this.selectedNode = null;\n this.provideLazyTreeView = (selectedItemId) => {\n if (selectedItemId) {\n return Promise.resolve(this.treeViewData().filter((x) => x.parentId === selectedItemId));\n }\n else {\n return Promise.resolve(this.treeViewData().filter((x) => !x.parentId));\n }\n };\n }\n ngOnInit() {\n this.categoryService.getAllWithItems().then((categories) => {\n //#region ---- Helper Functions ----\n const convertCategoryToTreeItem = (category) => {\n const categoryChildren = [\n // Map sub-categories recursively\n ...category.categories.map((c) => convertCategoryToTreeItem(c)),\n // Map items of current category\n ...category.items.map((item) => ({\n id: item.id,\n text: item.name,\n parentId: category.id,\n hasCheckBox: true,\n hasChild: false,\n isSelected: false\n })),\n ];\n return {\n id: category.id,\n text: category.title,\n parentId: category.parentId,\n hasCheckBox: false,\n hasChild: categoryChildren.length > 0,\n children: categoryChildren,\n isSelected: false\n };\n };\n //#endregion\n // Build a flattened list of all categories & items to simplify\n // lazy-loading & search operations.\n const flatList = [];\n const buildTree = (category) => {\n const categoryItem = {\n id: category.id,\n text: category.title,\n parentId: category.parentId,\n hasCheckBox: false,\n hasChild: (category.categories?.length ?? 0) + (category.items?.length ?? 0) > 0,\n isSelected: false\n };\n flatList.push(categoryItem);\n // Recurse into sub-categories\n category.categories.forEach((sub) => buildTree(sub));\n // Push items of current category\n category.items.forEach((item) => {\n flatList.push({\n id: item.id,\n text: item.name,\n parentId: category.id,\n hasCheckBox: true,\n hasChild: false,\n isSelected: false\n });\n });\n };\n categories.forEach((c) => buildTree(c));\n // Persist original data & initialise reactive signal.\n this.originalTreeData = flatList;\n this.treeViewData.set([...flatList]);\n });\n }\n handleNodeClick(e) {\n this.selectedNode = e.data;\n }\n handleSelectClick() {\n if (this.selectedNode) {\n this.close(this.selectedNode);\n }\n else {\n this.close();\n }\n }\n handleCreateNewClick() {\n this.close('create-new');\n }\n handleCloseClick() {\n this.close();\n }\n handleChangeSearchValue(e) {\n const term = (e.value ?? '').trim();\n this.searchTerm.set(term);\n // When search is cleared, simply restore the initial dataset\n if (!term) {\n this.treeViewData.set([...this.originalTreeData]);\n return;\n }\n const loweredTerm = term.toLowerCase();\n // Build a quick lookup map to traverse ancestors efficiently\n const mapById = new Map(this.originalTreeData.map((item) => [item.id, item]));\n // Helper to collect all ancestors of a given node\n const collectAncestors = (node) => {\n const ancestors = [];\n let currentParentId = node.parentId;\n while (currentParentId) {\n const parent = mapById.get(currentParentId);\n if (!parent) {\n break;\n }\n ancestors.push(parent);\n currentParentId = parent.parentId;\n }\n return ancestors;\n };\n // 1) Find all nodes whose text contains the search term\n const matchedNodes = this.originalTreeData.filter((item) => item.text.toLowerCase().includes(loweredTerm));\n // 2) Collect their ancestors to ensure the tree can render correct paths\n const resultSet = new Map();\n matchedNodes.forEach((node) => {\n resultSet.set(node.id, node);\n collectAncestors(node).forEach((ancestor) => resultSet.set(ancestor.id, ancestor));\n });\n this.treeViewData.set(Array.from(resultSet.values()));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPMetaChoosePopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.0.4\", type: AXPMetaChoosePopupComponent, isStandalone: true, selector: \"axp-meta-choose-popup\", providers: [], viewQueries: [{ propertyName: \"treeRef\", first: true, predicate: [\"treeRef\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<div class=\\\"ax-p-4 ax-flex ax-flex-col ax-gap-4 ax-overflow-hidden\\\">\\n <div class=\\\"ax-w-full\\\">\\n <ax-search-box\\n [placeholder]=\\\"('widget.lookup.search' | translate | async)\\\"\\n [value]=\\\"searchTerm()\\\"\\n (onValueChanged)=\\\"handleChangeSearchValue($event)\\\"\\n ><ax-clear-button></ax-clear-button\\n ></ax-search-box>\\n </div>\\n <ax-tree-view\\n class=\\\"ax-h-[50vh]\\\"\\n #treeRef\\n [parentField]=\\\"'parentId'\\\"\\n hasChildField=\\\"hasChild\\\"\\n [items]=\\\"provideLazyTreeView\\\"\\n (onNodeClick)=\\\"handleNodeClick($event)\\\"\\n [selectionMode]=\\\"'multiple'\\\"\\n [hasCheckboxField]=\\\"'isSelected'\\\"\\n >\\n \\n </ax-tree-view>\\n </div>\\n <ax-footer>\\n <ax-suffix>\\n <ax-button look=\\\"solid\\\" [text]=\\\"('close' | translate | async)!\\\" (onClick)=\\\"handleCloseClick()\\\"> </ax-button>\\n <ax-button\\n look=\\\"solid\\\"\\n color=\\\"primary\\\"\\n [text]=\\\"('select' | translate | async)!\\\"\\n (onClick)=\\\"handleSelectClick()\\\"\\n >\\n </ax-button>\\n </ax-suffix>\\n </ax-footer>\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: \n // Angular\n CommonModule }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: \n // ACoreX\n AXSearchBoxModule }, { kind: \"component\", type: i2.AXSearchBoxComponent, selector: \"ax-search-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"class\", \"delayTime\", \"type\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXTreeViewModule }, { kind: \"component\", type: i3.AXTreeViewComponent, selector: \"ax-tree-view\", inputs: [\"items\", \"showCheckbox\", \"hasCheckboxField\", \"selectionMode\", \"selectionBehavior\", \"selectionScope\", \"focusNodeEnabled\", \"valueField\", \"textField\", \"visibleField\", \"disableField\", \"hasChildField\", \"selectedField\", \"expandedField\", \"tooltipField\", \"childrenField\", \"activeField\", \"indeterminateField\", \"parentField\", \"iconField\", \"toggleIcons\", \"look\", \"itemTemplate\", \"emptyTemplate\", \"expandOn\"], outputs: [\"onSelectionChanged\", \"onItemSelectedChanged\", \"onNodeClick\", \"onCollapsedChanged\", \"onNodedbClick\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i5.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"pipe\", type: i6.AXTranslatorPipe, name: \"translate\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPMetaChoosePopupComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-meta-choose-popup', imports: [\n // Angular\n CommonModule,\n // ACoreX\n AXSearchBoxModule,\n AXTreeViewModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule\n // Platform\n ], encapsulation: ViewEncapsulation.None, providers: [], template: \"<div class=\\\"ax-p-4 ax-flex ax-flex-col ax-gap-4 ax-overflow-hidden\\\">\\n <div class=\\\"ax-w-full\\\">\\n <ax-search-box\\n [placeholder]=\\\"('widget.lookup.search' | translate | async)\\\"\\n [value]=\\\"searchTerm()\\\"\\n (onValueChanged)=\\\"handleChangeSearchValue($event)\\\"\\n ><ax-clear-button></ax-clear-button\\n ></ax-search-box>\\n </div>\\n <ax-tree-view\\n class=\\\"ax-h-[50vh]\\\"\\n #treeRef\\n [parentField]=\\\"'parentId'\\\"\\n hasChildField=\\\"hasChild\\\"\\n [items]=\\\"provideLazyTreeView\\\"\\n (onNodeClick)=\\\"handleNodeClick($event)\\\"\\n [selectionMode]=\\\"'multiple'\\\"\\n [hasCheckboxField]=\\\"'isSelected'\\\"\\n >\\n \\n </ax-tree-view>\\n </div>\\n <ax-footer>\\n <ax-suffix>\\n <ax-button look=\\\"solid\\\" [text]=\\\"('close' | translate | async)!\\\" (onClick)=\\\"handleCloseClick()\\\"> </ax-button>\\n <ax-button\\n look=\\\"solid\\\"\\n color=\\\"primary\\\"\\n [text]=\\\"('select' | translate | async)!\\\"\\n (onClick)=\\\"handleSelectClick()\\\"\\n >\\n </ax-button>\\n </ax-suffix>\\n </ax-footer>\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9tZXRhLWNob29zZS13aWRnZXQvbWV0YS1jaG9vc2UtcG9wdXAvbWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9tZXRhLWNob29zZS13aWRnZXQvbWV0YS1jaG9vc2UtcG9wdXAvbWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFpRCxNQUFNLDhCQUE4QixDQUFDO0FBQy9HLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsb0NBQW9DLEVBQXVGLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7O0FBaUNoTCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsbUJBQW1CO0lBcEJwRTs7UUFzQmMsb0JB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QXBCdkMsU0FBUzsrQkFDRyx1QkFBdUIsV0FHdkI7d0JBQ0wsVUFBVTt3QkFDVixZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLFdBQVc7cUJBQ2QsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixFQUVWIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBzaWduYWwsIFZpZXdFbmNhcHN1bGF0aW9uLCB2aWV3Q2hpbGQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWFNlYXJjaEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWFyY2gtYm94JztcbmltcG9ydCB7IEFYVHJlZVZpZXdNb2R1bGUsIEFYVHJlZUl0ZW1DbGlja0Jhc2VFdmVudCwgQVhUcmVlVmlld0NvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90cmVlLXZpZXcnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYTU1ldGFEYXRhRGVmaW5pdGlvbkNhdGVnb3J5U2VydmljZSwgQVhNTWV0YURhdGFEZWZpbml0aW9uQ2F0ZWdvcnlXaXRoSXRlbXNFbnRpdHlNb2RlbCwgQVhNTWV0YURhdGFEZWZpbml0aW9uRW50aXR5TW9kZWwgfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvcGxhdGZvcm0tbWFuYWdlbWVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTWV0YVRyZWVJdGVtIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIHBhcmVudElkPzogc3RyaW5nO1xuICAgIGhhc0NoaWxkPzogYm9vbGVhbjtcbiAgICBoYXNDaGVja0JveD86IGJvb2xlYW47XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIGlzU2VsZWN0ZWQgOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjonYXhwLW1ldGEtY2hvb3NlLXBvcHVwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9tZXRhLWNob29zZS1wb3B1cC5jb21wb25lbnQuc2NzcycsXG4gICAgaW1wb3J0czogW1xuICAgICAgICAvLyBBbmd1bGFyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgLy8gQUNvcmVYXG4gICAgICAgIEFYU2VhcmNoQm94TW9kdWxlLFxuICAgICAgICBBWFRyZWVWaWV3TW9kdWxlLFxuICAgICAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICAgICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgICAgIEFYVHJhbnNsYXRpb25Nb2R1bGVcbiAgICAgICAgLy8gUGxhdGZvcm1cbiAgICBdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTWV0YUNob29zZVBvcHVwQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUGFnZUNvbXBvbmVudCB7XG5cbiAgICBwcm90ZWN0ZWQgY2F0ZWdvcnlTZXJ2aWNlID0gaW5qZWN0KEFYTU1ldGFEYXRhRGVmaW5pdGlvbkNhdGVnb3J5U2VydmljZSk7XG4gICAgXG4gICAgdHJlZVJlZiA9IHZpZXdDaGlsZDxBWFRyZWVWaWV3Q29tcG9uZW50PigndHJlZVJlZicpO1xuICAgIFxuICAgIC8qKlxuICAgICAqIEhvbGRzIHRoZSBjb21wbGV0ZSBsaXN0IG9mIHRyZWUgaXRlbXMgaW4gYSBmbGF0dGVuZWQgc3RydWN0dXJlLlxuICAgICAqIFRoaXMgc3RydWN0dXJlIG1ha2VzIGl0IGVhc3kgdG86XG4gICAgICogIDEpIFByb3ZpZGUgY2hpbGRyZW4gbGF6aWx5IHZpYSBgcHJvdmlkZUxhenlUcmVlVmlld2AgdXNpbmcgYHBhcmVudElkYC5cbiAgICAgKiAgMikgUGVyZm9ybSBzZWFyY2ggYWNyb3NzIGFsbCBsZXZlbHMgd2hpbGUgc3RpbGwgYmVpbmcgYWJsZSB0byBpbmNsdWRlXG4gICAgICogICAgIGFuY2VzdG9yIG5vZGVzIG9mIG1hdGNoZWQgaXRlbXMuXG4gICAgICovXG4gICAgdHJlZVZpZXdEYXRhID0gc2lnbmFsPEFYUE1ldGFUcmVlSXRlbVtdPihbXSk7XG5cbiAgICAvKipcbiAgICAgKiBLZWVwcyBhbiBpbW11dGFibGUgcmVmZXJlbmNlIHRvIHRoZSBvcmlnaW5hbCAodW5maWx0ZXJlZCkgZGF0YSBzbyB0aGF0XG4gICAgICogd2UgY2FuIHJlc3RvcmUgdGhlIHRyZWUgd2hlbiB0aGUgc2VhcmNoIGJveCBpcyBjbGVhcmVkLlxuICAgICAqL1xuICAgIHByaXZhdGUgb3JpZ2luYWxUcmVlRGF0YTogQVhQTWV0YVRyZWVJdGVtW10gPSBbXTtcblxuICAgIHByb3RlY3RlZCBzZWFyY2hUZXJtID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICAgIHByb3RlY3RlZCBzZWxlY3RlZE5vZGU6IEFYUE1ldGFUcmVlSXRlbSB8IG51bGwgPSBudWxsO1xuXG4gICAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlTZXJ2aWNlLmdldEFsbFdpdGhJdGVtcygpLnRoZW4oKGNhdGVnb3JpZXMpID0+IHtcblxuICAgICAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBIZWxwZXIgRnVuY3Rpb25zICAgLS0tLVxuXG4gICAgICAgICAgICBjb25zdCBjb252ZXJ0Q2F0ZWdvcnlUb1RyZWVJdGVtID0gKGNhdGVnb3J5OiBBWE1NZXRhRGF0YURlZmluaXRpb25DYXRlZ29yeVdpdGhJdGVtc0VudGl0eU1vZGVsPHN0cmluZz4pOiBBWFBNZXRhVHJlZUl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNhdGVnb3J5Q2hpbGRyZW46IEFYUE1ldGFUcmVlSXRlbVtdID0gW1xuICAgICAgICAgICAgICAgICAgICAvLyBNYXAgc3ViLWNhdGVnb3JpZXMgcmVjdXJzaXZlbHlcbiAgICAgICAgICAgICAgICAgICAgLi4uY2F0ZWdvcnkuY2F0ZWdvcmllcy5tYXAoKGM6IEFYTU1ldGFEYXRhRGVmaW5pdGlvbkNhdGVnb3J5V2l0aEl0ZW1zRW50aXR5TW9kZWw8c3RyaW5nPikgPT4gY29udmVydENhdGVnb3J5VG9UcmVlSXRlbShjKSksXG4gICAgICAgICAgICAgICAgICAgIC8vIE1hcCBpdGVtcyBvZiBjdXJyZW50IGNhdGVnb3J5XG4gICAgICAgICAgICAgICAgICAgIC4uLmNhdGVnb3J5Lml0ZW1zLm1hcCgoaXRlbTogQVhNTWV0YURhdGFEZWZpbml0aW9uRW50aXR5TW9kZWwpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogaXRlbS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGl0ZW0ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiBjYXRlZ29yeS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0NoZWNrQm94OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ2hpbGQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZCA6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICBdO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGNhdGVnb3J5LmlkLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBjYXRlZ29yeS50aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IGNhdGVnb3J5LnBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICBoYXNDaGVja0JveDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGhhc0NoaWxkOiBjYXRlZ29yeUNoaWxkcmVuLmxlbmd0aCA+IDAsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBjYXRlZ29yeUNoaWxkcmVuLFxuICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkIDogZmFsc2VcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgICAgIC8vIEJ1aWxkIGEgZmxhdHRlbmVkIGxpc3Qgb2YgYWxsIGNhdGVnb3JpZXMgJiBpdGVtcyB0byBzaW1wbGlmeVxuICAgICAgICAgICAgLy8gbGF6eS1sb2FkaW5nICYgc2VhcmNoIG9wZXJhdGlvbnMuXG4gICAgICAgICAgICBjb25zdCBmbGF0TGlzdDogQVhQTWV0YVRyZWVJdGVtW10gPSBbXTtcblxuICAgICAgICAgICAgY29uc3QgYnVpbGRUcmVlID0gKGNhdGVnb3J5OiBBWE1NZXRhRGF0YURlZmluaXRpb25DYXRlZ29yeVdpdGhJdGVtc0VudGl0eU1vZGVsPHN0cmluZz4pOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjYXRlZ29yeUl0ZW06IEFYUE1ldGFUcmVlSXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGNhdGVnb3J5LmlkLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBjYXRlZ29yeS50aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IGNhdGVnb3J5LnBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICBoYXNDaGVja0JveDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGhhc0NoaWxkOiAoY2F0ZWdvcnkuY2F0ZWdvcmllcz8ubGVuZ3RoID8/IDApICsgKGNhdGVnb3J5Lml0ZW1zPy5sZW5ndGggPz8gMCkgPiAwLFxuICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkIDogZmFsc2VcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgZmxhdExpc3QucHVzaChjYXRlZ29yeUl0ZW0pO1xuXG4gICAgICAgICAgICAgICAgLy8gUmVjdXJzZSBpbnRvIHN1Yi1jYXRlZ29yaWVzXG4gICAgICAgICAgICAgICAgY2F0ZWdvcnkuY2F0ZWdvcmllcy5mb3JFYWNoKChzdWIpID0+IGJ1aWxkVHJlZShzdWIpKTtcblxuICAgICAgICAgICAgICAgIC8vIFB1c2ggaXRlbXMgb2YgY3VycmVudCBjYXRlZ29yeVxuICAgICAgICAgICAgICAgIGNhdGVnb3J5Lml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZmxhdExpc3QucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogaXRlbS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGl0ZW0ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiBjYXRlZ29yeS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0NoZWNrQm94OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ2hpbGQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZCA6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY2F0ZWdvcmllcy5mb3JFYWNoKChjKSA9PiBidWlsZFRyZWUoYykpO1xuXG4gICAgICAgICAgICAvLyBQZXJzaXN0IG9yaWdpbmFsIGRhdGEgJiBpbml0aWFsaXNlIHJlYWN0aXZlIHNpZ25hbC5cbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxUcmVlRGF0YSA9IGZsYXRMaXN0O1xuICAgICAgICAgICAgdGhpcy50cmVlVmlld0RhdGEuc2V0KFsuLi5mbGF0TGlzdF0pO1xuICAgICAgICB9KTtcbiAgICAgICAgXG4gICAgfVxuXG4gICAgcHJvdmlkZUxhenlUcmVlVmlldyA9IChzZWxlY3RlZEl0ZW1JZD86IHN0cmluZyB8IG51bWJlcik6IFByb21pc2U8QVhQTWV0YVRyZWVJdGVtW10+ID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGVkSXRlbUlkKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFxuICAgICAgICAgICAgICAgIHRoaXMudHJlZVZpZXdEYXRhKCkuZmlsdGVyKCh4KSA9PiB4LnBhcmVudElkID09PSBzZWxlY3RlZEl0ZW1JZClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFxuICAgICAgICAgICAgICAgIHRoaXMudHJlZVZpZXdEYXRhKCkuZmlsdGVyKCh4KSA9PiAheC5wYXJlbnRJZClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIGhhbmRsZU5vZGVDbGljayhlOiBBWFRyZWVJdGVtQ2xpY2tCYXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGUgPSBlLmRhdGEgYXMgQVhQTWV0YVRyZWVJdGVtO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVTZWxlY3RDbGljaygpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWROb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKHRoaXMuc2VsZWN0ZWROb2RlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVDcmVhdGVOZXdDbGljaygpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgnY3JlYXRlLW5ldycpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVDbG9zZUNsaWNrKCkge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUNoYW5nZVNlYXJjaFZhbHVlKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgdGVybSA9IChlLnZhbHVlID8/ICcnKS50cmltKCk7XG4gICAgICAgIHRoaXMuc2VhcmNoVGVybS5zZXQodGVybSk7XG5cbiAgICAgICAgLy8gV2hlbiBzZWFyY2ggaXMgY2xlYXJlZCwgc2ltcGx5IHJlc3RvcmUgdGhlIGluaXRpYWwgZGF0YXNldFxuICAgICAgICBpZiAoIXRlcm0pIHtcbiAgICAgICAgICAgIHRoaXMudHJlZVZpZXdEYXRhLnNldChbLi4udGhpcy5vcmlnaW5hbFRyZWVEYXRhXSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsb3dlcmVkVGVybSA9IHRlcm0udG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAvLyBCdWlsZCBhIHF1aWNrIGxvb2t1cCBtYXAgdG8gdHJhdmVyc2UgYW5jZXN0b3JzIGVmZmljaWVudGx5XG4gICAgICAgIGNvbnN0IG1hcEJ5SWQgPSBuZXcgTWFwPHN0cmluZywgQVhQTWV0YVRyZWVJdGVtPihcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxUcmVlRGF0YS5tYXAoKGl0ZW0pID0+IFtpdGVtLmlkLCBpdGVtXSlcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBIZWxwZXIgdG8gY29sbGVjdCBhbGwgYW5jZXN0b3JzIG9mIGEgZ2l2ZW4gbm9kZVxuICAgICAgICBjb25zdCBjb2xsZWN0QW5jZXN0b3JzID0gKG5vZGU6IEFYUE1ldGFUcmVlSXRlbSk6IEFYUE1ldGFUcmVlSXRlbVtdID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFuY2VzdG9yczogQVhQTWV0YVRyZWVJdGVtW10gPSBbXTtcbiAgICAgICAgICAgIGxldCBjdXJyZW50UGFyZW50SWQgPSBub2RlLnBhcmVudElkO1xuICAgICAgICAgICAgd2hpbGUgKGN1cnJlbnRQYXJlbnRJZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IG1hcEJ5SWQuZ2V0KGN1cnJlbnRQYXJlbnRJZCk7XG4gICAgICAgICAgICAgICAgaWYgKCFwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFuY2VzdG9ycy5wdXNoKHBhcmVudCk7XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmVudElkID0gcGFyZW50LnBhcmVudElkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGFuY2VzdG9ycztcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAxKSBGaW5kIGFsbCBub2RlcyB3aG9zZSB0ZXh0IGNvbnRhaW5zIHRoZSBzZWFyY2ggdGVybVxuICAgICAgICBjb25zdCBtYXRjaGVkTm9kZXMgPSB0aGlzLm9yaWdpbmFsVHJlZURhdGEuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgICAgaXRlbS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJlZFRlcm0pXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gMikgQ29sbGVjdCB0aGVpciBhbmNlc3RvcnMgdG8gZW5zdXJlIHRoZSB0cmVlIGNhbiByZW5kZXIgY29ycmVjdCBwYXRoc1xuICAgICAgICBjb25zdCByZXN1bHRTZXQgPSBuZXcgTWFwPHN0cmluZywgQVhQTWV0YVRyZWVJdGVtPigpO1xuICAgICAgICBtYXRjaGVkTm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICAgICAgcmVzdWx0U2V0LnNldChub2RlLmlkLCBub2RlKTtcbiAgICAgICAgICAgIGNvbGxlY3RBbmNlc3RvcnMobm9kZSkuZm9yRWFjaCgoYW5jZXN0b3IpID0+IHJlc3VsdFNldC5zZXQoYW5jZXN0b3IuaWQsIGFuY2VzdG9yKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudHJlZVZpZXdEYXRhLnNldChBcnJheS5mcm9tKHJlc3VsdFNldC52YWx1ZXMoKSkpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1wLTQgYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNCAgYXgtb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtdy1mdWxsXCI+XG4gICAgICAgIDxheC1zZWFyY2gtYm94XG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIignd2lkZ2V0Lmxvb2t1cC5zZWFyY2gnIHwgdHJhbnNsYXRlIHwgYXN5bmMpXCJcbiAgICAgICAgICBbdmFsdWVdPVwic2VhcmNoVGVybSgpXCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlQ2hhbmdlU2VhcmNoVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgPjxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b25cbiAgICAgICAgPjwvYXgtc2VhcmNoLWJveD5cbiAgICAgIDwvZGl2PlxuICAgIDxheC10cmVlLXZpZXdcbiAgICAgIGNsYXNzPVwiYXgtaC1bNTB2aF1cIlxuICAgICAgI3RyZWVSZWZcbiAgICAgIFtwYXJlbnRGaWVsZF09XCIncGFyZW50SWQnXCJcbiAgICAgIGhhc0NoaWxkRmllbGQ9XCJoYXNDaGlsZFwiXG4gICAgICBbaXRlbXNdPVwicHJvdmlkZUxhenlUcmVlVmlld1wiXG4gICAgICAob25Ob2RlQ2xpY2spPVwiaGFuZGxlTm9kZUNsaWNrKCRldmVudClcIlxuICAgICAgW3NlbGVjdGlvbk1vZGVdPVwiJ211bHRpcGxlJ1wiXG4gICAgICBbaGFzQ2hlY2tib3hGaWVsZF09XCInaXNTZWxlY3RlZCdcIlxuICAgID5cbiAgICAgIFxuICAgIDwvYXgtdHJlZS12aWV3PlxuICA8L2Rpdj5cbiAgPGF4LWZvb3Rlcj5cbiAgICA8YXgtc3VmZml4PlxuICAgICAgPGF4LWJ1dHRvbiBsb29rPVwic29saWRcIiBbdGV4dF09XCIoJ2Nsb3NlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jKSFcIiAob25DbGljayk9XCJoYW5kbGVDbG9zZUNsaWNrKClcIj4gPC9heC1idXR0b24+XG4gICAgICA8YXgtYnV0dG9uXG4gICAgICAgIGxvb2s9XCJzb2xpZFwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIFt0ZXh0XT1cIignc2VsZWN0JyB8IHRyYW5zbGF0ZSB8IGFzeW5jKSFcIlxuICAgICAgICAob25DbGljayk9XCJoYW5kbGVTZWxlY3RDbGljaygpXCJcbiAgICAgID5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgIDwvYXgtc3VmZml4PlxuICA8L2F4LWZvb3Rlcj4iXX0="],"names":["i2","i4","i5","i6"],"mappings":"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"}
|