@eo-sdk/client 10.6.33 → 10.6.34
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/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts +2 -1
- package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.d.ts +2 -1
- package/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-links/object-links.component.d.ts +1 -0
- package/app/eo-framework/object-details/object-links/object-links.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts.map +1 -1
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
- package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +8 -4
- package/esm2020/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +8 -4
- package/esm2020/app/eo-framework/media/media.component.mjs +3 -3
- package/esm2020/app/eo-framework/object-details/object-links/object-links.component.mjs +13 -6
- package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +2 -5
- package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +6 -5
- package/fesm2015/eo-sdk-client.mjs +33 -21
- package/fesm2015/eo-sdk-client.mjs.map +1 -1
- package/fesm2020/eo-sdk-client.mjs +33 -21
- package/fesm2020/eo-sdk-client.mjs.map +1 -1
- package/misc/scripts/mvn-deploy.js +12 -16
- package/package.json +4 -4
- package/styles.css +10 -0
- package/styles.scss +14 -0
|
@@ -10,8 +10,9 @@ import * as i3 from "@eo-sdk/core";
|
|
|
10
10
|
import * as i4 from "./../../../eo-framework-core/api/grid.service";
|
|
11
11
|
import * as i5 from "@angular/common";
|
|
12
12
|
import * as i6 from "../../ui/router-link/router-link.directive";
|
|
13
|
-
import * as i7 from "
|
|
14
|
-
import * as i8 from "@
|
|
13
|
+
import * as i7 from "../../ui/loading-spinner/loading-spinner.component";
|
|
14
|
+
import * as i8 from "@ag-grid-community/angular";
|
|
15
|
+
import * as i9 from "@ngx-translate/core";
|
|
15
16
|
export class ObjectLinksComponent {
|
|
16
17
|
set dmsObject(dmsObject) {
|
|
17
18
|
if (dmsObject) {
|
|
@@ -36,6 +37,7 @@ export class ObjectLinksComponent {
|
|
|
36
37
|
this.superQueryParams = {};
|
|
37
38
|
this.showInReferences = true;
|
|
38
39
|
this.showOutReferences = false;
|
|
40
|
+
this.loading = false;
|
|
39
41
|
this.prepareGrid();
|
|
40
42
|
}
|
|
41
43
|
prepareGrid() {
|
|
@@ -159,6 +161,7 @@ export class ObjectLinksComponent {
|
|
|
159
161
|
this.cache.setItem('yuv.reference.list.show.' + this.item.typeName, list);
|
|
160
162
|
}
|
|
161
163
|
init(item) {
|
|
164
|
+
this.loading = true;
|
|
162
165
|
this.cache.getItem('yuv.reference.list.show.' + item.typeName).subscribe(res => this.switchListVisibilityTo(res));
|
|
163
166
|
const obs = [
|
|
164
167
|
this.referenceService.getInReferences(item),
|
|
@@ -187,7 +190,11 @@ export class ObjectLinksComponent {
|
|
|
187
190
|
this.gridOptions2.rowData = this.outReferences;
|
|
188
191
|
this.gridOptions2.context.count = this.outReferences.length;
|
|
189
192
|
}
|
|
190
|
-
|
|
193
|
+
this.loading = false;
|
|
194
|
+
}, (error) => {
|
|
195
|
+
console.error({ error });
|
|
196
|
+
this.loading = false;
|
|
197
|
+
});
|
|
191
198
|
this.referenceService
|
|
192
199
|
.getQueries(item)
|
|
193
200
|
.subscribe(queries => {
|
|
@@ -272,10 +279,10 @@ export class ObjectLinksComponent {
|
|
|
272
279
|
}
|
|
273
280
|
}
|
|
274
281
|
ObjectLinksComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ObjectLinksComponent, deps: [{ token: i1.Router }, { token: i2.ReferenceService }, { token: i3.BackendService }, { token: i3.AppCacheService }, { token: i3.TranslateService }, { token: i4.GridService }, { token: i3.SystemService }], target: i0.ɵɵFactoryTarget.Component });
|
|
275
|
-
ObjectLinksComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ObjectLinksComponent, selector: "eo-object-links", inputs: { dmsObject: "dmsObject" }, host: { listeners: { "click": "onClick($event)" } }, viewQueries: [{ propertyName: "gridIn", first: true, predicate: ["gridIn"], descendants: true }, { propertyName: "gridOut", first: true, predicate: ["gridOut"], descendants: true }], ngImport: i0, template: "<div class=\"eo-references\">\n <div class=\"object-not-found\" *ngIf=\"!inReferences?.length && !outReferences?.length; else refContainer\">\n <div>{{'eo.references.object.notfound' | translate}}</div>\n </div>\n\n <ng-template #refContainer>\n <div class=\"form-buttons\">\n <div class=\"gridlabels\">\n <div class=\"gridlabel\" [ngClass]=\"{'active': showInReferences}\" (click)=\"switchListVisibilityTo('in')\"\n title=\"{{'eo.references.to.label' | translate}}\">\n <span>{{'eo.references.to.label' | translate}}</span>\n </div>\n <div class=\"gridlabel\" [ngClass]=\"{'active': showOutReferences}\" (click)=\"switchListVisibilityTo('out')\"\n title=\"{{'eo.references.from.label' | translate}}\">\n <span>{{'eo.references.from.label' | translate}}</span>\n </div>\n </div>\n <a class=\"button primary\" [routerLink]=\"'/result'\" [queryParams]=\"superQueryParams\" title=\"{{'eo.references.open.resultlist' | translate}}\">\n <span>{{'eo.references.open.resultlist' | translate}}</span>\n </a>\n </div>\n\n <div class=\"eo-references-lists\">\n\n <!-- list of inReferences -->\n <div class=\"resultlist-container\" [ngClass]=\"{'hidden': !showInReferences}\">\n <div class=\"notfound\" *ngIf=\"(!inReferences?.length)\">{{'eo.references.object.notfound' | translate}}</div>\n\n <div class=\"grid-wrapper\" *ngIf=\"inReferences?.length\">\n <ag-grid-angular #gridIn [modules]=\"modules\" [gridOptions]=\"gridOptions\" class=\"ag-result\"></ag-grid-angular>\n </div>\n </div>\n\n <!-- list of outReferences -->\n <div class=\"resultlist-container\" [ngClass]=\"{'hidden': !showOutReferences}\">\n <div class=\"notfound\" *ngIf=\"(!outReferences?.length)\">{{'eo.references.object.notfound' | translate}}</div>\n\n <div class=\"grid-wrapper\" *ngIf=\"outReferences?.length\">\n <ag-grid-angular #gridOut [modules]=\"modules\" [gridOptions]=\"gridOptions2\" class=\"ag-result\"></ag-grid-angular>\n </div>\n </div>\n\n </div>\n </ng-template>\n</div>", styles: [":host ::ng-deep ag-grid-angular{background:transparent}:host ::ng-deep .ag-pinned-left-cols-viewport{display:none!important}:host ::ng-deep ag-grid-angular.ag-theme-balham .ag-column-drop-horizontal:not(.ag-hidden){display:none!important}:host ::ng-deep .ag-center-cols-container{width:100%!important}:host ::ng-deep .ag-row{background:transparent!important}:host ::ng-deep ag-grid-angular.ag-theme-balham .ag-header{border:none}:host ::ng-deep .ag-row-group>.ag-cell-wrapper{height:100%;display:flex;flex-flow:row nowrap;flex:1 1 auto;align-items:center;background:var(--color-white);border-radius:2px;padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--list-item-border-color)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-icon{display:inline-block;height:12px;width:12px;color:var(--color-black)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-icon-contracted{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZS1vcGFjaXR5PSIuNSIgc3Ryb2tlPSIjMDAwIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNNSAzaDJ2Nkg1eiIvPjxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik05IDV2MkgzVjV6Ii8+PC9nPjwvc3ZnPg==) center/12px 12px no-repeat}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-icon-expanded{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZS1vcGFjaXR5PSIuNSIgc3Ryb2tlPSIjMDAwIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNOSA1djJIM1Y1eiIvPjwvZz48L3N2Zz4=) center/12px 12px no-repeat}:host ::ng-deep .ag-row-group>.ag-cell-wrapper>span.ag-group-value>span{display:flex;flex-flow:row nowrap;align-items:center}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-group-child-count{position:absolute;right:48px}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link{opacity:0;height:24px;width:24px;position:absolute;right:var(--app-pane-padding);background:var(--color-accent);border-radius:2px;transition:all .2s ease-in-out;margin-left:var(--app-pane-padding)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link svg{fill:var(--color-white)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link .search-icon{width:20px;margin-left:2px}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link:hover{background:var(--color-accent)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper:hover .search-link{opacity:1}:host ::ng-deep .ag-row-group>.ag-cell-wrapper span.ag-group-value{width:calc(100% - 110px);margin:0 calc(var(--app-pane-padding) * 2)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper span.ag-group-value img{height:24px;opacity:.5;margin-right:calc(var(--app-pane-padding) / 2)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-group-child-count{color:var(--text-color-caption);font-size:var(--font-caption)}:host ::ng-deep .ag-cell{width:100%!important;border-bottom:1px solid var(--list-item-border-color);background:var(--color-white)}:host ::ng-deep .content{pointer-events:none;overflow:hidden}:host ::ng-deep .content div{pointer-events:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host ::ng-deep .content .title{font-weight:var(--font-weight-bold)}:host ::ng-deep .content .description{opacity:.6;font-size:var(--font-caption)}:host ::ng-deep .ref-list-item{padding:0 var(--app-pane-padding) 0 calc(var(--app-pane-padding) * 4.3);cursor:pointer;height:100%;display:flex;align-items:center}:host ::ng-deep .ref-list-item a{display:flex;align-items:flex-start;text-decoration:none;color:var(--text-color-body);width:100%}:host ::ng-deep .ref-list-item .content{padding:calc(var(--app-pane-padding) / 4) var(--app-pane-padding)}:host ::ng-deep .ref-list-item:hover{background:var(--color-accent)}:host ::ng-deep .ref-list-item:hover .content{color:var(--color-white)}.eo-references{background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1);margin:var(--app-pane-padding);height:calc(100% - var(--app-pane-padding) * 2);box-sizing:border-box;display:flex;flex-flow:column}.eo-references .hidden{display:none!important}.eo-references .object-not-found{height:100%;display:flex;justify-content:center;align-items:center}.eo-references .object-not-found div{color:var(--text-color-caption)}.eo-references .form-buttons{width:100%;padding:calc(var(--app-pane-padding) / 2);height:44px;display:flex;justify-content:space-between;background:var(--color-white);box-sizing:border-box}.eo-references .form-buttons .gridlabels{display:flex;width:60%}.eo-references .form-buttons .gridlabel{border:1px solid var(--list-item-border-color);border-radius:4px;padding:0 calc(var(--app-pane-padding) / 2);display:flex;align-items:center;color:var(--text-color-caption);cursor:pointer;margin-right:calc(var(--app-pane-padding) / 2);transition:all var(--app-default-transition-duration) ease-in-out;overflow:hidden}.eo-references .form-buttons .gridlabel span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eo-references .form-buttons .gridlabel:hover{color:var(--text-color-body);border-color:#0003}.eo-references .form-buttons .active{color:var(--text-color-body);border-color:#0003;background-color:var(--panel-background-grey)}.eo-references .form-buttons a.button{display:flex;align-items:center;overflow:hidden}.eo-references .form-buttons a.button span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eo-references .eo-references-lists{flex:1;overflow:hidden;border-top:4px solid rgba(var(--color-black-rgb),.2)}.eo-references .eo-references-lists .resultlist-container{display:flex;flex-flow:column;height:100%;width:100%}.eo-references .eo-references-lists .resultlist-container .notfound{color:var(--text-color-caption);display:flex;align-items:center;justify-content:center;height:100%}.eo-references .eo-references-lists .ag-result{position:absolute;inset:0}.eo-references .eo-references-lists .grid-wrapper{position:relative;flex:1}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.RouterLinkDirective, selector: "a[routerLink]" }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.AgGridAngular, selector: "ag-grid-angular", inputs: ["slaveGrids", "alignedGrids", "rowData", "columnDefs", "excelStyles", "pinnedTopRowData", "pinnedBottomRowData", "components", "frameworkComponents", "rowStyle", "context", "autoGroupColumnDef", "groupColumnDef", "localeText", "icons", "datasource", "serverSideDatasource", "viewportDatasource", "groupRowRendererParams", "aggFuncs", "fullWidthCellRendererParams", "defaultColGroupDef", "defaultColDef", "defaultExportParams", "columnTypes", "rowClassRules", "detailGridOptions", "detailCellRendererParams", "loadingCellRendererParams", "loadingOverlayComponentParams", "noRowsOverlayComponentParams", "popupParent", "colResizeDefault", "reduxStore", "statusBar", "sideBar", "sortingOrder", "rowClass", "rowSelection", "overlayLoadingTemplate", "overlayNoRowsTemplate", "quickFilterText", "rowModelType", "editType", "domLayout", "clipboardDeliminator", "rowGroupPanelShow", "multiSortKey", "pivotColumnGroupTotals", "pivotRowTotals", "pivotPanelShow", "rowHeight", "detailRowHeight", "rowBuffer", "colWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "groupDefaultExpanded", "minColWidth", "maxColWidth", "viewportRowModelPageSize", "viewportRowModelBufferSize", "autoSizePadding", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "cacheOverflowSize", "paginationPageSize", "cacheBlockSize", "infiniteInitialRowCount", "scrollbarWidth", "paginationStartPage", "infiniteBlockSize", "batchUpdateWaitMillis", "blockLoadDebounceMillis", "keepDetailRowsCount", "undoRedoCellEditingLimit", "localeTextFunc", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "dateComponent", "dateComponentFramework", "groupRowRenderer", "groupRowRendererFramework", "isExternalFilterPresent", "getRowHeight", "doesExternalFilterPass", "getRowClass", "getRowStyle", "getRowClassRules", "traverseNode", "getContextMenuItems", "getMainMenuItems", "processRowPostCreate", "processCellForClipboard", "getNodeChildDetails", "groupRowAggNodes", "getRowNodeId", "isFullWidthCell", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "doesDataFlower", "processSecondaryColDef", "processSecondaryColGroupDef", "getBusinessKeyForNode", "sendToClipboard", "navigateToNextCell", "tabToNextCell", "getDetailRowData", "processCellFromClipboard", "getDocument", "postProcessPopup", "getChildCount", "getDataPath", "loadingCellRenderer", "loadingCellRendererFramework", "loadingOverlayComponent", "loadingOverlayComponentFramework", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "detailCellRenderer", "detailCellRendererFramework", "defaultGroupSortComparator", "isRowMaster", "isRowSelectable", "postSort", "processHeaderForClipboard", "paginationNumberFormatter", "processDataFromClipboard", "getServerSideGroupKey", "isServerSideGroup", "suppressKeyboardEvent", "createChartContainer", "processChartOptions", "getChartToolbarItems", "fillOperation", "toolPanelSuppressRowGroups", "toolPanelSuppressValues", "toolPanelSuppressPivots", "toolPanelSuppressPivotMode", "toolPanelSuppressSideButtons", "toolPanelSuppressColumnFilter", "toolPanelSuppressColumnSelectAll", "toolPanelSuppressColumnExpandAll", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowClickSelection", "suppressCellSelection", "suppressHorizontalScroll", "alwaysShowVerticalScroll", "debug", "enableBrowserTooltips", "enableColResize", "enableCellExpressions", "enableSorting", "enableServerSideSorting", "enableFilter", "enableServerSideFilter", "angularCompileRows", "angularCompileFilters", "angularCompileHeaders", "groupSuppressAutoColumn", "groupSelectsChildren", "groupIncludeFooter", "groupIncludeTotalFooter", "groupUseEntireRow", "groupSuppressRow", "groupSuppressBlankHeader", "forPrint", "suppressMenuHide", "rowDeselection", "unSortIcon", "suppressMultiSort", "singleClickEdit", "suppressLoadingOverlay", "suppressNoRowsOverlay", "suppressAutoSize", "skipHeaderOnAutoSize", "suppressParentsInRowNodes", "showToolPanel", "suppressColumnMoveAnimation", "suppressMovableColumns", "suppressFieldDotNotation", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "suppressClearOnFillReduction", "deltaSort", "suppressTouch", "suppressAsyncEvents", "allowContextMenuWithControlKey", "suppressContextMenu", "suppressMenuFilterPanel", "suppressMenuMainPanel", "suppressMenuColumnPanel", "rememberGroupStateWhenNewData", "enableCellChangeFlash", "suppressDragLeaveHidesColumns", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "suppressUseColIdForGroups", "suppressCopyRowsToClipboard", "copyHeadersToClipboard", "pivotMode", "suppressAggFuncInHeader", "suppressColumnVirtualisation", "suppressAggAtRootLevel", "suppressFocusAfterRefresh", "functionsPassive", "functionsReadOnly", "animateRows", "groupSelectsFiltered", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "enableRtl", "suppressClickEdit", "rowDragManaged", "suppressRowDrag", "enableGroupEdit", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "suppressTabbing", "suppressPaginationPanel", "floatingFilter", "groupHideOpenParents", "groupMultiAutoColumn", "pagination", "stopEditingWhenGridLosesFocus", "paginationAutoPageSize", "suppressScrollOnNewData", "purgeClosedRowNodes", "cacheQuickFilter", "deltaRowDataMode", "ensureDomOrder", "accentedSort", "pivotTotals", "suppressChangeDetection", "valueCache", "valueCacheNeverExpires", "aggregateOnlyChangedColumns", "suppressAnimationFrame", "suppressExcelExport", "suppressCsvExport", "treeData", "masterDetail", "suppressMultiRangeSelection", "enterMovesDownAfterEdit", "enterMovesDown", "suppressPropertyNamesCheck", "rowMultiSelectWithClick", "contractColumnSelection", "suppressEnterpriseResetOnNewColumns", "enableOldSetFilterModel", "suppressRowHoverHighlight", "gridAutoHeight", "suppressRowTransform", "suppressClipboardPaste", "serverSideSortingAlwaysResets", "reactNext", "suppressSetColumnStateEvents", "enableCharts", "deltaColumnMode", "suppressMaintainUnsortedOrder", "enableCellTextSelection", "suppressBrowserResizeObserver", "suppressMaxRenderedRowRestriction", "excludeChildrenWhenTreeDataFiltering", "keepDetailRows", "paginateChildRows", "preventDefaultOnContextMenu", "undoRedoCellEditing", "allowDragFromColumnsToolPanel", "gridOptions", "modules"], outputs: ["columnEverythingChanged", "newColumnsLoaded", "columnPivotModeChanged", "columnRowGroupChanged", "expandOrCollapseAll", "columnPivotChanged", "gridColumnsChanged", "columnValueChanged", "columnMoved", "columnVisible", "columnPinned", "columnGroupOpened", "columnResized", "displayedColumnsChanged", "virtualColumnsChanged", "rowGroupOpened", "rowDataChanged", "rowDataUpdated", "pinnedRowDataChanged", "rangeSelectionChanged", "chartRangeSelectionChanged", "chartOptionsChanged", "toolPanelVisibleChanged", "modelUpdated", "pasteStart", "pasteEnd", "fillStart", "fillEnd", "cellClicked", "cellDoubleClicked", "cellMouseDown", "cellContextMenu", "cellValueChanged", "rowValueChanged", "cellFocused", "rowSelected", "selectionChanged", "cellKeyDown", "cellKeyPress", "cellMouseOver", "cellMouseOut", "filterChanged", "filterModified", "filterOpened", "sortChanged", "virtualRowRemoved", "rowClicked", "rowDoubleClicked", "gridReady", "gridSizeChanged", "viewportChanged", "firstDataRendered", "dragStarted", "dragStopped", "rowEditingStarted", "rowEditingStopped", "cellEditingStarted", "cellEditingStopped", "bodyScroll", "animationQueueEmpty", "heightScaleChanged", "paginationChanged", "componentStateChanged", "bodyHeightChanged", "displayedColumnsWidthChanged", "scrollVisibilityChanged", "columnHoverChanged", "flashCells", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "popupToFront", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
|
|
282
|
+
ObjectLinksComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ObjectLinksComponent, selector: "eo-object-links", inputs: { dmsObject: "dmsObject" }, host: { listeners: { "click": "onClick($event)" } }, viewQueries: [{ propertyName: "gridIn", first: true, predicate: ["gridIn"], descendants: true }, { propertyName: "gridOut", first: true, predicate: ["gridOut"], descendants: true }], ngImport: i0, template: "<div class=\"eo-references\">\n <div class=\"object-not-found\" *ngIf=\"!inReferences?.length && !outReferences?.length; else refContainer\">\n <div>{{'eo.references.object.notfound' | translate}}</div>\n </div>\n\n <ng-template #refContainer>\n <div class=\"form-buttons\">\n <div class=\"gridlabels\">\n <div class=\"gridlabel\" [ngClass]=\"{'active': showInReferences}\" (click)=\"switchListVisibilityTo('in')\"\n title=\"{{'eo.references.to.label' | translate}}\">\n <span>{{'eo.references.to.label' | translate}}</span>\n </div>\n <div class=\"gridlabel\" [ngClass]=\"{'active': showOutReferences}\" (click)=\"switchListVisibilityTo('out')\"\n title=\"{{'eo.references.from.label' | translate}}\">\n <span>{{'eo.references.from.label' | translate}}</span>\n </div>\n </div>\n <a class=\"button primary\" [routerLink]=\"'/result'\" [queryParams]=\"superQueryParams\" title=\"{{'eo.references.open.resultlist' | translate}}\">\n <span>{{'eo.references.open.resultlist' | translate}}</span>\n </a>\n </div>\n\n <div class=\"eo-references-lists\">\n\n <main *ngIf=\"loading\" class=\"loader-overlay__mask\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n </main>\n\n <!-- list of inReferences -->\n <div class=\"resultlist-container\" [ngClass]=\"{'hidden': !showInReferences}\">\n <div class=\"notfound\" *ngIf=\"(!inReferences?.length)\">{{'eo.references.object.notfound' | translate}}</div>\n\n <div class=\"grid-wrapper\" *ngIf=\"inReferences?.length\">\n <ag-grid-angular #gridIn [modules]=\"modules\" [gridOptions]=\"gridOptions\" class=\"ag-result\"></ag-grid-angular>\n </div>\n </div>\n\n <!-- list of outReferences -->\n <div class=\"resultlist-container\" [ngClass]=\"{'hidden': !showOutReferences}\">\n <div class=\"notfound\" *ngIf=\"(!outReferences?.length)\">{{'eo.references.object.notfound' | translate}}</div>\n\n <div class=\"grid-wrapper\" *ngIf=\"outReferences?.length\">\n <ag-grid-angular #gridOut [modules]=\"modules\" [gridOptions]=\"gridOptions2\" class=\"ag-result\"></ag-grid-angular>\n </div>\n </div>\n\n </div>\n </ng-template>\n</div>\n", styles: [":host ::ng-deep ag-grid-angular{background:transparent}:host ::ng-deep .ag-pinned-left-cols-viewport{display:none!important}:host ::ng-deep ag-grid-angular.ag-theme-balham .ag-column-drop-horizontal:not(.ag-hidden){display:none!important}:host ::ng-deep .ag-center-cols-container{width:100%!important}:host ::ng-deep .ag-row{background:transparent!important}:host ::ng-deep ag-grid-angular.ag-theme-balham .ag-header{border:none}:host ::ng-deep .ag-row-group>.ag-cell-wrapper{height:100%;display:flex;flex-flow:row nowrap;flex:1 1 auto;align-items:center;background:var(--color-white);border-radius:2px;padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--list-item-border-color)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-icon{display:inline-block;height:12px;width:12px;color:var(--color-black)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-icon-contracted{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZS1vcGFjaXR5PSIuNSIgc3Ryb2tlPSIjMDAwIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNNSAzaDJ2Nkg1eiIvPjxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik05IDV2MkgzVjV6Ii8+PC9nPjwvc3ZnPg==) center/12px 12px no-repeat}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-icon-expanded{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZS1vcGFjaXR5PSIuNSIgc3Ryb2tlPSIjMDAwIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNOSA1djJIM1Y1eiIvPjwvZz48L3N2Zz4=) center/12px 12px no-repeat}:host ::ng-deep .ag-row-group>.ag-cell-wrapper>span.ag-group-value>span{display:flex;flex-flow:row nowrap;align-items:center}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-group-child-count{position:absolute;right:48px}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link{opacity:0;height:24px;width:24px;position:absolute;right:var(--app-pane-padding);background:var(--color-accent);border-radius:2px;transition:all .2s ease-in-out;margin-left:var(--app-pane-padding)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link svg{fill:var(--color-white)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link .search-icon{width:20px;margin-left:2px}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link:hover{background:var(--color-accent)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper:hover .search-link{opacity:1}:host ::ng-deep .ag-row-group>.ag-cell-wrapper span.ag-group-value{width:calc(100% - 110px);margin:0 calc(var(--app-pane-padding) * 2)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper span.ag-group-value img{height:24px;opacity:.5;margin-right:calc(var(--app-pane-padding) / 2)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-group-child-count{color:var(--text-color-caption);font-size:var(--font-caption)}:host ::ng-deep .ag-cell{width:100%!important;border-bottom:1px solid var(--list-item-border-color);background:var(--color-white)}:host ::ng-deep .content{pointer-events:none;overflow:hidden}:host ::ng-deep .content div{pointer-events:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host ::ng-deep .content .title{font-weight:var(--font-weight-bold)}:host ::ng-deep .content .description{opacity:.6;font-size:var(--font-caption)}:host ::ng-deep .ref-list-item{padding:0 var(--app-pane-padding) 0 calc(var(--app-pane-padding) * 4.3);cursor:pointer;height:100%;display:flex;align-items:center}:host ::ng-deep .ref-list-item a{display:flex;align-items:flex-start;text-decoration:none;color:var(--text-color-body);width:100%}:host ::ng-deep .ref-list-item .content{padding:calc(var(--app-pane-padding) / 4) var(--app-pane-padding)}:host ::ng-deep .ref-list-item:hover{background:var(--color-accent)}:host ::ng-deep .ref-list-item:hover .content{color:var(--color-white)}.eo-references{background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1);margin:var(--app-pane-padding);height:calc(100% - var(--app-pane-padding) * 2);box-sizing:border-box;display:flex;flex-flow:column}.eo-references .hidden{display:none!important}.eo-references .object-not-found{height:100%;display:flex;justify-content:center;align-items:center}.eo-references .object-not-found div{color:var(--text-color-caption)}.eo-references .form-buttons{width:100%;padding:calc(var(--app-pane-padding) / 2);height:44px;display:flex;justify-content:space-between;background:var(--color-white);box-sizing:border-box}.eo-references .form-buttons .gridlabels{display:flex;width:60%}.eo-references .form-buttons .gridlabel{border:1px solid var(--list-item-border-color);border-radius:4px;padding:0 calc(var(--app-pane-padding) / 2);display:flex;align-items:center;color:var(--text-color-caption);cursor:pointer;margin-right:calc(var(--app-pane-padding) / 2);transition:all var(--app-default-transition-duration) ease-in-out;overflow:hidden}.eo-references .form-buttons .gridlabel span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eo-references .form-buttons .gridlabel:hover{color:var(--text-color-body);border-color:#0003}.eo-references .form-buttons .active{color:var(--text-color-body);border-color:#0003;background-color:var(--panel-background-grey)}.eo-references .form-buttons a.button{display:flex;align-items:center;overflow:hidden}.eo-references .form-buttons a.button span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eo-references .eo-references-lists{flex:1;overflow:hidden;border-top:4px solid rgba(var(--color-black-rgb),.2)}.eo-references .eo-references-lists main{grid-area:main}.eo-references .eo-references-lists main.loader-overlay__mask{display:flex;width:100%;height:100%;flex-flow:column;align-items:center;justify-content:center;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .2s}.eo-references .eo-references-lists .resultlist-container{display:flex;flex-flow:column;height:100%;width:100%}.eo-references .eo-references-lists .resultlist-container .notfound{color:var(--text-color-caption);display:flex;align-items:center;justify-content:center;height:100%}.eo-references .eo-references-lists .ag-result{position:absolute;inset:0}.eo-references .eo-references-lists .grid-wrapper{position:relative;flex:1}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.RouterLinkDirective, selector: "a[routerLink]" }, { kind: "component", type: i7.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i8.AgGridAngular, selector: "ag-grid-angular", inputs: ["slaveGrids", "alignedGrids", "rowData", "columnDefs", "excelStyles", "pinnedTopRowData", "pinnedBottomRowData", "components", "frameworkComponents", "rowStyle", "context", "autoGroupColumnDef", "groupColumnDef", "localeText", "icons", "datasource", "serverSideDatasource", "viewportDatasource", "groupRowRendererParams", "aggFuncs", "fullWidthCellRendererParams", "defaultColGroupDef", "defaultColDef", "defaultExportParams", "columnTypes", "rowClassRules", "detailGridOptions", "detailCellRendererParams", "loadingCellRendererParams", "loadingOverlayComponentParams", "noRowsOverlayComponentParams", "popupParent", "colResizeDefault", "reduxStore", "statusBar", "sideBar", "sortingOrder", "rowClass", "rowSelection", "overlayLoadingTemplate", "overlayNoRowsTemplate", "quickFilterText", "rowModelType", "editType", "domLayout", "clipboardDeliminator", "rowGroupPanelShow", "multiSortKey", "pivotColumnGroupTotals", "pivotRowTotals", "pivotPanelShow", "rowHeight", "detailRowHeight", "rowBuffer", "colWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "groupDefaultExpanded", "minColWidth", "maxColWidth", "viewportRowModelPageSize", "viewportRowModelBufferSize", "autoSizePadding", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "cacheOverflowSize", "paginationPageSize", "cacheBlockSize", "infiniteInitialRowCount", "scrollbarWidth", "paginationStartPage", "infiniteBlockSize", "batchUpdateWaitMillis", "blockLoadDebounceMillis", "keepDetailRowsCount", "undoRedoCellEditingLimit", "localeTextFunc", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "dateComponent", "dateComponentFramework", "groupRowRenderer", "groupRowRendererFramework", "isExternalFilterPresent", "getRowHeight", "doesExternalFilterPass", "getRowClass", "getRowStyle", "getRowClassRules", "traverseNode", "getContextMenuItems", "getMainMenuItems", "processRowPostCreate", "processCellForClipboard", "getNodeChildDetails", "groupRowAggNodes", "getRowNodeId", "isFullWidthCell", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "doesDataFlower", "processSecondaryColDef", "processSecondaryColGroupDef", "getBusinessKeyForNode", "sendToClipboard", "navigateToNextCell", "tabToNextCell", "getDetailRowData", "processCellFromClipboard", "getDocument", "postProcessPopup", "getChildCount", "getDataPath", "loadingCellRenderer", "loadingCellRendererFramework", "loadingOverlayComponent", "loadingOverlayComponentFramework", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "detailCellRenderer", "detailCellRendererFramework", "defaultGroupSortComparator", "isRowMaster", "isRowSelectable", "postSort", "processHeaderForClipboard", "paginationNumberFormatter", "processDataFromClipboard", "getServerSideGroupKey", "isServerSideGroup", "suppressKeyboardEvent", "createChartContainer", "processChartOptions", "getChartToolbarItems", "fillOperation", "toolPanelSuppressRowGroups", "toolPanelSuppressValues", "toolPanelSuppressPivots", "toolPanelSuppressPivotMode", "toolPanelSuppressSideButtons", "toolPanelSuppressColumnFilter", "toolPanelSuppressColumnSelectAll", "toolPanelSuppressColumnExpandAll", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowClickSelection", "suppressCellSelection", "suppressHorizontalScroll", "alwaysShowVerticalScroll", "debug", "enableBrowserTooltips", "enableColResize", "enableCellExpressions", "enableSorting", "enableServerSideSorting", "enableFilter", "enableServerSideFilter", "angularCompileRows", "angularCompileFilters", "angularCompileHeaders", "groupSuppressAutoColumn", "groupSelectsChildren", "groupIncludeFooter", "groupIncludeTotalFooter", "groupUseEntireRow", "groupSuppressRow", "groupSuppressBlankHeader", "forPrint", "suppressMenuHide", "rowDeselection", "unSortIcon", "suppressMultiSort", "singleClickEdit", "suppressLoadingOverlay", "suppressNoRowsOverlay", "suppressAutoSize", "skipHeaderOnAutoSize", "suppressParentsInRowNodes", "showToolPanel", "suppressColumnMoveAnimation", "suppressMovableColumns", "suppressFieldDotNotation", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "suppressClearOnFillReduction", "deltaSort", "suppressTouch", "suppressAsyncEvents", "allowContextMenuWithControlKey", "suppressContextMenu", "suppressMenuFilterPanel", "suppressMenuMainPanel", "suppressMenuColumnPanel", "rememberGroupStateWhenNewData", "enableCellChangeFlash", "suppressDragLeaveHidesColumns", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "suppressUseColIdForGroups", "suppressCopyRowsToClipboard", "copyHeadersToClipboard", "pivotMode", "suppressAggFuncInHeader", "suppressColumnVirtualisation", "suppressAggAtRootLevel", "suppressFocusAfterRefresh", "functionsPassive", "functionsReadOnly", "animateRows", "groupSelectsFiltered", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "enableRtl", "suppressClickEdit", "rowDragManaged", "suppressRowDrag", "enableGroupEdit", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "suppressTabbing", "suppressPaginationPanel", "floatingFilter", "groupHideOpenParents", "groupMultiAutoColumn", "pagination", "stopEditingWhenGridLosesFocus", "paginationAutoPageSize", "suppressScrollOnNewData", "purgeClosedRowNodes", "cacheQuickFilter", "deltaRowDataMode", "ensureDomOrder", "accentedSort", "pivotTotals", "suppressChangeDetection", "valueCache", "valueCacheNeverExpires", "aggregateOnlyChangedColumns", "suppressAnimationFrame", "suppressExcelExport", "suppressCsvExport", "treeData", "masterDetail", "suppressMultiRangeSelection", "enterMovesDownAfterEdit", "enterMovesDown", "suppressPropertyNamesCheck", "rowMultiSelectWithClick", "contractColumnSelection", "suppressEnterpriseResetOnNewColumns", "enableOldSetFilterModel", "suppressRowHoverHighlight", "gridAutoHeight", "suppressRowTransform", "suppressClipboardPaste", "serverSideSortingAlwaysResets", "reactNext", "suppressSetColumnStateEvents", "enableCharts", "deltaColumnMode", "suppressMaintainUnsortedOrder", "enableCellTextSelection", "suppressBrowserResizeObserver", "suppressMaxRenderedRowRestriction", "excludeChildrenWhenTreeDataFiltering", "keepDetailRows", "paginateChildRows", "preventDefaultOnContextMenu", "undoRedoCellEditing", "allowDragFromColumnsToolPanel", "gridOptions", "modules"], outputs: ["columnEverythingChanged", "newColumnsLoaded", "columnPivotModeChanged", "columnRowGroupChanged", "expandOrCollapseAll", "columnPivotChanged", "gridColumnsChanged", "columnValueChanged", "columnMoved", "columnVisible", "columnPinned", "columnGroupOpened", "columnResized", "displayedColumnsChanged", "virtualColumnsChanged", "rowGroupOpened", "rowDataChanged", "rowDataUpdated", "pinnedRowDataChanged", "rangeSelectionChanged", "chartRangeSelectionChanged", "chartOptionsChanged", "toolPanelVisibleChanged", "modelUpdated", "pasteStart", "pasteEnd", "fillStart", "fillEnd", "cellClicked", "cellDoubleClicked", "cellMouseDown", "cellContextMenu", "cellValueChanged", "rowValueChanged", "cellFocused", "rowSelected", "selectionChanged", "cellKeyDown", "cellKeyPress", "cellMouseOver", "cellMouseOut", "filterChanged", "filterModified", "filterOpened", "sortChanged", "virtualRowRemoved", "rowClicked", "rowDoubleClicked", "gridReady", "gridSizeChanged", "viewportChanged", "firstDataRendered", "dragStarted", "dragStopped", "rowEditingStarted", "rowEditingStopped", "cellEditingStarted", "cellEditingStopped", "bodyScroll", "animationQueueEmpty", "heightScaleChanged", "paginationChanged", "componentStateChanged", "bodyHeightChanged", "displayedColumnsWidthChanged", "scrollVisibilityChanged", "columnHoverChanged", "flashCells", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "popupToFront", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
|
|
276
283
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ObjectLinksComponent, decorators: [{
|
|
277
284
|
type: Component,
|
|
278
|
-
args: [{ selector: 'eo-object-links', template: "<div class=\"eo-references\">\n <div class=\"object-not-found\" *ngIf=\"!inReferences?.length && !outReferences?.length; else refContainer\">\n <div>{{'eo.references.object.notfound' | translate}}</div>\n </div>\n\n <ng-template #refContainer>\n <div class=\"form-buttons\">\n <div class=\"gridlabels\">\n <div class=\"gridlabel\" [ngClass]=\"{'active': showInReferences}\" (click)=\"switchListVisibilityTo('in')\"\n title=\"{{'eo.references.to.label' | translate}}\">\n <span>{{'eo.references.to.label' | translate}}</span>\n </div>\n <div class=\"gridlabel\" [ngClass]=\"{'active': showOutReferences}\" (click)=\"switchListVisibilityTo('out')\"\n title=\"{{'eo.references.from.label' | translate}}\">\n <span>{{'eo.references.from.label' | translate}}</span>\n </div>\n </div>\n <a class=\"button primary\" [routerLink]=\"'/result'\" [queryParams]=\"superQueryParams\" title=\"{{'eo.references.open.resultlist' | translate}}\">\n <span>{{'eo.references.open.resultlist' | translate}}</span>\n </a>\n </div>\n\n <div class=\"eo-references-lists\">\n\n <!-- list of inReferences -->\n <div class=\"resultlist-container\" [ngClass]=\"{'hidden': !showInReferences}\">\n <div class=\"notfound\" *ngIf=\"(!inReferences?.length)\">{{'eo.references.object.notfound' | translate}}</div>\n\n <div class=\"grid-wrapper\" *ngIf=\"inReferences?.length\">\n <ag-grid-angular #gridIn [modules]=\"modules\" [gridOptions]=\"gridOptions\" class=\"ag-result\"></ag-grid-angular>\n </div>\n </div>\n\n <!-- list of outReferences -->\n <div class=\"resultlist-container\" [ngClass]=\"{'hidden': !showOutReferences}\">\n <div class=\"notfound\" *ngIf=\"(!outReferences?.length)\">{{'eo.references.object.notfound' | translate}}</div>\n\n <div class=\"grid-wrapper\" *ngIf=\"outReferences?.length\">\n <ag-grid-angular #gridOut [modules]=\"modules\" [gridOptions]=\"gridOptions2\" class=\"ag-result\"></ag-grid-angular>\n </div>\n </div>\n\n </div>\n </ng-template>\n</div
|
|
285
|
+
args: [{ selector: 'eo-object-links', template: "<div class=\"eo-references\">\n <div class=\"object-not-found\" *ngIf=\"!inReferences?.length && !outReferences?.length; else refContainer\">\n <div>{{'eo.references.object.notfound' | translate}}</div>\n </div>\n\n <ng-template #refContainer>\n <div class=\"form-buttons\">\n <div class=\"gridlabels\">\n <div class=\"gridlabel\" [ngClass]=\"{'active': showInReferences}\" (click)=\"switchListVisibilityTo('in')\"\n title=\"{{'eo.references.to.label' | translate}}\">\n <span>{{'eo.references.to.label' | translate}}</span>\n </div>\n <div class=\"gridlabel\" [ngClass]=\"{'active': showOutReferences}\" (click)=\"switchListVisibilityTo('out')\"\n title=\"{{'eo.references.from.label' | translate}}\">\n <span>{{'eo.references.from.label' | translate}}</span>\n </div>\n </div>\n <a class=\"button primary\" [routerLink]=\"'/result'\" [queryParams]=\"superQueryParams\" title=\"{{'eo.references.open.resultlist' | translate}}\">\n <span>{{'eo.references.open.resultlist' | translate}}</span>\n </a>\n </div>\n\n <div class=\"eo-references-lists\">\n\n <main *ngIf=\"loading\" class=\"loader-overlay__mask\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n </main>\n\n <!-- list of inReferences -->\n <div class=\"resultlist-container\" [ngClass]=\"{'hidden': !showInReferences}\">\n <div class=\"notfound\" *ngIf=\"(!inReferences?.length)\">{{'eo.references.object.notfound' | translate}}</div>\n\n <div class=\"grid-wrapper\" *ngIf=\"inReferences?.length\">\n <ag-grid-angular #gridIn [modules]=\"modules\" [gridOptions]=\"gridOptions\" class=\"ag-result\"></ag-grid-angular>\n </div>\n </div>\n\n <!-- list of outReferences -->\n <div class=\"resultlist-container\" [ngClass]=\"{'hidden': !showOutReferences}\">\n <div class=\"notfound\" *ngIf=\"(!outReferences?.length)\">{{'eo.references.object.notfound' | translate}}</div>\n\n <div class=\"grid-wrapper\" *ngIf=\"outReferences?.length\">\n <ag-grid-angular #gridOut [modules]=\"modules\" [gridOptions]=\"gridOptions2\" class=\"ag-result\"></ag-grid-angular>\n </div>\n </div>\n\n </div>\n </ng-template>\n</div>\n", styles: [":host ::ng-deep ag-grid-angular{background:transparent}:host ::ng-deep .ag-pinned-left-cols-viewport{display:none!important}:host ::ng-deep ag-grid-angular.ag-theme-balham .ag-column-drop-horizontal:not(.ag-hidden){display:none!important}:host ::ng-deep .ag-center-cols-container{width:100%!important}:host ::ng-deep .ag-row{background:transparent!important}:host ::ng-deep ag-grid-angular.ag-theme-balham .ag-header{border:none}:host ::ng-deep .ag-row-group>.ag-cell-wrapper{height:100%;display:flex;flex-flow:row nowrap;flex:1 1 auto;align-items:center;background:var(--color-white);border-radius:2px;padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--list-item-border-color)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-icon{display:inline-block;height:12px;width:12px;color:var(--color-black)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-icon-contracted{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZS1vcGFjaXR5PSIuNSIgc3Ryb2tlPSIjMDAwIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNNSAzaDJ2Nkg1eiIvPjxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik05IDV2MkgzVjV6Ii8+PC9nPjwvc3ZnPg==) center/12px 12px no-repeat}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-icon-expanded{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZS1vcGFjaXR5PSIuNSIgc3Ryb2tlPSIjMDAwIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNOSA1djJIM1Y1eiIvPjwvZz48L3N2Zz4=) center/12px 12px no-repeat}:host ::ng-deep .ag-row-group>.ag-cell-wrapper>span.ag-group-value>span{display:flex;flex-flow:row nowrap;align-items:center}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-group-child-count{position:absolute;right:48px}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link{opacity:0;height:24px;width:24px;position:absolute;right:var(--app-pane-padding);background:var(--color-accent);border-radius:2px;transition:all .2s ease-in-out;margin-left:var(--app-pane-padding)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link svg{fill:var(--color-white)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link .search-icon{width:20px;margin-left:2px}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link:hover{background:var(--color-accent)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper:hover .search-link{opacity:1}:host ::ng-deep .ag-row-group>.ag-cell-wrapper span.ag-group-value{width:calc(100% - 110px);margin:0 calc(var(--app-pane-padding) * 2)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper span.ag-group-value img{height:24px;opacity:.5;margin-right:calc(var(--app-pane-padding) / 2)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-group-child-count{color:var(--text-color-caption);font-size:var(--font-caption)}:host ::ng-deep .ag-cell{width:100%!important;border-bottom:1px solid var(--list-item-border-color);background:var(--color-white)}:host ::ng-deep .content{pointer-events:none;overflow:hidden}:host ::ng-deep .content div{pointer-events:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host ::ng-deep .content .title{font-weight:var(--font-weight-bold)}:host ::ng-deep .content .description{opacity:.6;font-size:var(--font-caption)}:host ::ng-deep .ref-list-item{padding:0 var(--app-pane-padding) 0 calc(var(--app-pane-padding) * 4.3);cursor:pointer;height:100%;display:flex;align-items:center}:host ::ng-deep .ref-list-item a{display:flex;align-items:flex-start;text-decoration:none;color:var(--text-color-body);width:100%}:host ::ng-deep .ref-list-item .content{padding:calc(var(--app-pane-padding) / 4) var(--app-pane-padding)}:host ::ng-deep .ref-list-item:hover{background:var(--color-accent)}:host ::ng-deep .ref-list-item:hover .content{color:var(--color-white)}.eo-references{background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1);margin:var(--app-pane-padding);height:calc(100% - var(--app-pane-padding) * 2);box-sizing:border-box;display:flex;flex-flow:column}.eo-references .hidden{display:none!important}.eo-references .object-not-found{height:100%;display:flex;justify-content:center;align-items:center}.eo-references .object-not-found div{color:var(--text-color-caption)}.eo-references .form-buttons{width:100%;padding:calc(var(--app-pane-padding) / 2);height:44px;display:flex;justify-content:space-between;background:var(--color-white);box-sizing:border-box}.eo-references .form-buttons .gridlabels{display:flex;width:60%}.eo-references .form-buttons .gridlabel{border:1px solid var(--list-item-border-color);border-radius:4px;padding:0 calc(var(--app-pane-padding) / 2);display:flex;align-items:center;color:var(--text-color-caption);cursor:pointer;margin-right:calc(var(--app-pane-padding) / 2);transition:all var(--app-default-transition-duration) ease-in-out;overflow:hidden}.eo-references .form-buttons .gridlabel span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eo-references .form-buttons .gridlabel:hover{color:var(--text-color-body);border-color:#0003}.eo-references .form-buttons .active{color:var(--text-color-body);border-color:#0003;background-color:var(--panel-background-grey)}.eo-references .form-buttons a.button{display:flex;align-items:center;overflow:hidden}.eo-references .form-buttons a.button span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eo-references .eo-references-lists{flex:1;overflow:hidden;border-top:4px solid rgba(var(--color-black-rgb),.2)}.eo-references .eo-references-lists main{grid-area:main}.eo-references .eo-references-lists main.loader-overlay__mask{display:flex;width:100%;height:100%;flex-flow:column;align-items:center;justify-content:center;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .2s}.eo-references .eo-references-lists .resultlist-container{display:flex;flex-flow:column;height:100%;width:100%}.eo-references .eo-references-lists .resultlist-container .notfound{color:var(--text-color-caption);display:flex;align-items:center;justify-content:center;height:100%}.eo-references .eo-references-lists .ag-result{position:absolute;inset:0}.eo-references .eo-references-lists .grid-wrapper{position:relative;flex:1}\n"] }]
|
|
279
286
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.ReferenceService }, { type: i3.BackendService }, { type: i3.AppCacheService }, { type: i3.TranslateService }, { type: i4.GridService }, { type: i3.SystemService }]; }, propDecorators: { gridIn: [{
|
|
280
287
|
type: ViewChild,
|
|
281
288
|
args: ['gridIn']
|
|
@@ -289,4 +296,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
289
296
|
type: HostListener,
|
|
290
297
|
args: ['click', ['$event']]
|
|
291
298
|
}] } });
|
|
292
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWxpbmtzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL29iamVjdC1kZXRhaWxzL29iamVjdC1saW5rcy9vYmplY3QtbGlua3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvb2JqZWN0LWxpbmtzL29iamVjdC1saW5rcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBS2hGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUIsT0FBTyxFQUFnQyxLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDbEUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7Ozs7Ozs7Ozs7QUFPOUUsTUFBTSxPQUFPLG9CQUFvQjtJQW9CL0IsSUFDSSxTQUFTLENBQUMsU0FBb0I7UUFDaEMsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztZQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVrQyxPQUFPLENBQUMsS0FBSztRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELFlBQW9CLE1BQWMsRUFDeEIsZ0JBQWtDLEVBQ2xDLE9BQXVCLEVBQ3ZCLEtBQXNCLEVBQ3RCLFNBQTJCLEVBQzNCLE9BQW9CLEVBQ3BCLGFBQTRC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QyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUM7WUFDaEYsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDakM7UUFDSCxDQUFDLENBQ0EsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxXQUFXLENBQUMsbUNBQW1DLENBQUM7YUFDaEQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSw0Q0FBNEMsQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQzs7aUhBblNVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHVVQ2hCakMsOG5FQTRDTTsyRkQ1Qk8sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjs0UUFxQk4sTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQUNHLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFHaEIsU0FBUztzQkFEWixLQUFLO3VCQUFDLFdBQVc7Z0JBUWlCLE9BQU87c0JBQXpDLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtHcmlkU2VydmljZX0gZnJvbSAnLi8uLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9hcGkvZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIEhvc3RMaXN0ZW5lcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05hdmlnYXRpb25FeHRyYXMsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7UmVmZXJlbmNlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcmVmZXJlbmNlcy9yZWZlcmVuY2Uuc2VydmljZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2UsIERtc09iamVjdCwgQXBwQ2FjaGVTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtDb2xEZWYsIEdyaWRPcHRpb25zLCBNb2R1bGV9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7Zm9ya0pvaW59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtTeXN0ZW1TZXJ2aWNlLCBCYWNrZW5kU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0NsaWVudFNpZGVSb3dNb2RlbE1vZHVsZX0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NsaWVudC1zaWRlLXJvdy1tb2RlbCc7XG5pbXBvcnQge1Jvd0dyb3VwaW5nTW9kdWxlfSBmcm9tICcuLi8uLi9ncmlkL3Jvdy1ncm91cGluZy9yb3ctZ3JvdXBpbmcubW9kdWxlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tb2JqZWN0LWxpbmtzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29iamVjdC1saW5rcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29iamVjdC1saW5rcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdExpbmtzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgbW9kdWxlczogTW9kdWxlW10gPSBbQ2xpZW50U2lkZVJvd01vZGVsTW9kdWxlLCBSb3dHcm91cGluZ01vZHVsZV07XG5cbiAgaXRlbTogRG1zT2JqZWN0O1xuICBjb2x1bW5EZWZzOiBDb2xEZWZbXTtcbiAgc2VhcmNoSWNvbjtcbiAgZ3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zO1xuICBncmlkT3B0aW9uczI6IEdyaWRPcHRpb25zO1xuICBpblJlZmVyZW5jZXMgPSBbXTtcbiAgb3V0UmVmZXJlbmNlcyA9IFtdO1xuICBxdWVyaWVzO1xuICBzdXBlclF1ZXJ5UGFyYW1zID0ge307XG5cbiAgc2hvd0luUmVmZXJlbmNlcyA9IHRydWU7XG4gIHNob3dPdXRSZWZlcmVuY2VzID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnZ3JpZEluJykgZ3JpZEluO1xuICBAVmlld0NoaWxkKCdncmlkT3V0JykgZ3JpZE91dDtcblxuICBASW5wdXQoJ2Rtc09iamVjdCcpXG4gIHNldCBkbXNPYmplY3QoZG1zT2JqZWN0OiBEbXNPYmplY3QpIHtcbiAgICBpZiAoZG1zT2JqZWN0KSB7XG4gICAgICB0aGlzLml0ZW0gPSBkbXNPYmplY3Q7XG4gICAgICB0aGlzLmluaXQoZG1zT2JqZWN0KTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIG9uQ2xpY2soZXZlbnQpIHtcbiAgICB0aGlzLmdyaWRBcGkub3BlblJvdXRlckxpbmsoZXZlbnQsICdhZy1yb3cnKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWZlcmVuY2VTZXJ2aWNlOiBSZWZlcmVuY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYWNoZTogQXBwQ2FjaGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ3JpZEFwaTogR3JpZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlKSB7XG5cbiAgICB0aGlzLnByZXBhcmVHcmlkKCk7XG4gIH1cblxuICBwcml2YXRlIHByZXBhcmVHcmlkKCkge1xuICAgIHRoaXMuY29sdW1uRGVmcyA9IFtcbiAgICAgIHtcbiAgICAgICAgZmllbGQ6ICdtZXRhRGF0YS5ncm91cEZpZWxkJyxcbiAgICAgICAgcm93R3JvdXBJbmRleDogMCxcbiAgICAgICAgc29ydDogJ2FzYycsXG4gICAgICAgIGNvbXBhcmF0b3I6IChhLCBiLCBub2RlQSwgbm9kZUIpID0+IHtcbiAgICAgICAgICBjb25zdCBsYWJlbCA9ICh2YWw6IHN0cmluZywgbm9kZTogYW55KSA9PiB2YWwgfHwgVXRpbHMuZ2V0UHJvcGVydHkobm9kZSwgJ2FsbExlYWZDaGlsZHJlbi4wLmRhdGEubWV0YURhdGEub2JqZWN0VHlwZS5sYWJlbCcpIHx8ICcnO1xuICAgICAgICAgIHJldHVybiBsYWJlbChhLCBub2RlQSkubG9jYWxlQ29tcGFyZShsYWJlbChiLCBub2RlQikpO1xuICAgICAgICB9LFxuICAgICAgICBoaWRlOiB0cnVlXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBmaWVsZDogJ3RpdGxlJyxcbiAgICAgICAgc29ydDogJ2FzYycsXG4gICAgICAgIGNlbGxDbGFzczogJ3JvdXRlci1saW5rLWNlbGwnLFxuICAgICAgICBjZWxsUmVuZGVyZXI6IHRoaXMucmVmZXJlbmNlQ2VsbFJlbmRlcmVyLmJpbmQodGhpcylcbiAgICAgIH1cbiAgICBdO1xuXG4gICAgY29uc3Qgb3B0aW9uczogR3JpZE9wdGlvbnMgPSB7XG4gICAgICBncm91cFJvd0lubmVyUmVuZGVyZXI6IHRoaXMudHlwZUNlbGxSZW5kZXJlci5iaW5kKHRoaXMpLFxuICAgICAgY29sdW1uRGVmczogdGhpcy5jb2x1bW5EZWZzLFxuICAgICAgaGVhZGVySGVpZ2h0OiAwLFxuICAgICAgcm93SGVpZ2h0OiA2MCxcbiAgICAgIHJvd0J1ZmZlcjogMjAsXG4gICAgICBtdWx0aVNvcnRLZXk6ICdjdHJsJyxcbiAgICAgIHJvd1NlbGVjdGlvbjogJ3NpbmdsZScsXG4gICAgICBncm91cFVzZUVudGlyZVJvdzogdHJ1ZSxcbiAgICAgIGdyb3VwRGVmYXVsdEV4cGFuZGVkOiAtMSxcbiAgICAgIGFjY2VudGVkU29ydDogdHJ1ZSxcbiAgICAgIHN1cHByZXNzQ29udGV4dE1lbnU6IHRydWVcbiAgICB9O1xuXG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBjb250ZXh0OiB7XG4gICAgICAgIGNvdW50OiAwLFxuICAgICAgICBncmlkTmFtZTogJ2luUmVmZXJlbmNlcydcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5ncmlkT3B0aW9uczIgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgY29udGV4dDoge1xuICAgICAgICBjb3VudDogMCxcbiAgICAgICAgZ3JpZE5hbWU6ICdvdXRSZWZlcmVuY2VzJ1xuICAgICAgfVxuICAgIH07XG5cbiAgfVxuXG4gIHByaXZhdGUgcmVmZXJlbmNlQ2VsbFJlbmRlcmVyKHBhcmFtKSB7XG4gICAgY29uc3QgdXJpUGFyYW1RdWVyeTogTmF2aWdhdGlvbkV4dHJhcyA9IHtxdWVyeVBhcmFtczogeyd0eXBlJzogcGFyYW0uZGF0YS5tZXRhRGF0YS5vYmplY3RUeXBlLnFuYW1lfX07XG4gICAgLy8gY29uc3QgdXJsID0gdGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycvb2JqZWN0JywgcGFyYW0uZGF0YS5pZF0sIHVyaVBhcmFtUXVlcnkpKTtcbiAgICBjb25zdCB1cmwgPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnb2JqZWN0JywgcGFyYW0uZGF0YS5pZF0sIHVyaVBhcmFtUXVlcnkpLnRvU3RyaW5nKCkucmVwbGFjZSgvXlxcLysvZywgJycpO1xuICAgIGlmIChwYXJhbS5kYXRhKSB7XG4gICAgICByZXR1cm4gYFxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVmLWxpc3QtaXRlbVwiPlxuICAgICAgICAgIDxhIGNsYXNzPVwicm91dGVyLWxpbmtcIiBocmVmPVwiJHt1cmx9XCIgdGFyZ2V0PVwiX2JsYW5rXCIgb25jbGljaz1cInJldHVybiBmYWxzZTtcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPiR7cGFyYW0uZGF0YS50aXRsZX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+JHtwYXJhbS5kYXRhLmRlc2NyaXB0aW9ufTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0eXBlQ2VsbFJlbmRlcmVyKHBhcmFtKSB7XG4gICAgbGV0IHZhbCA9ICcnO1xuICAgIGlmIChwYXJhbS52YWx1ZSkge1xuICAgICAgY29uc3QgZ3JpZE5hbWUgPSBwYXJhbS5hcGkuZ3JpZENvcmUuZ3JpZE9wdGlvbnMuY29udGV4dC5ncmlkTmFtZTtcbiAgICAgIGNvbnN0IHJlbW90ZUVsZW1lbnQgPSBwYXJhbS5ub2RlLmFsbExlYWZDaGlsZHJlblswXS5kYXRhLm1ldGFEYXRhLnJlbW90ZUVsZW1lbnQ7XG4gICAgICBjb25zdCBsaW5rID0gdGhpcy5nZW5lcmF0ZUxpbmtVcmwocGFyYW0ubm9kZS5hbGxMZWFmQ2hpbGRyZW5bMF0uZGF0YS5tZXRhRGF0YS5vYmplY3RUeXBlLCByZW1vdGVFbGVtZW50LCBncmlkTmFtZSk7XG4gICAgICBjb25zdCBpY29uVXJsID0gYCR7dGhpcy5iYWNrZW5kLmdldEJhc2VXaXRoQ29udGV4dCh0aGlzLmJhY2tlbmQuZ2V0U2VydmljZUJhc2UoKSl9L3VpL2ljb24vJHtwYXJhbS5ub2RlLmFsbExlYWZDaGlsZHJlblswXS5kYXRhLm1ldGFEYXRhLm9iamVjdFR5cGUuaWNvbklkfS5zdmdgO1xuICAgICAgY29uc3QgbGFiZWwgPSBwYXJhbS5ub2RlLmFsbExlYWZDaGlsZHJlblswXS5kYXRhLm1ldGFEYXRhLm9iamVjdFR5cGUubGFiZWw7XG4gICAgICBjb25zdCB0b29sdGlwID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucmVmZXJlbmNlcy5vcGVuLnJlc3VsdGxpc3QnKTtcbiAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gcmVtb3RlRWxlbWVudCA/IHJlbW90ZUVsZW1lbnQubGFiZWwgOiAnJztcblxuICAgICAgdmFsID0gYDxpbWcgY2xhc3M9XCJvYmplY3QtdHlwZVwiIHNyYz1cIiR7aWNvblVybH1cIiB0aXRsZT1cIiR7bGFiZWx9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj4ke2xhYmVsfTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj4ke2Rlc2NyaXB0aW9ufTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YSBjbGFzcz1cInJvdXRlci1saW5rIHNlYXJjaC1saW5rXCIgdGl0bGU9XCIke3Rvb2x0aXB9XCIgaHJlZj1cIiR7bGlua31cIiB0YXJnZXQ9XCJfYmxhbmtcIiBvbmNsaWNrPVwicmV0dXJuIGZhbHNlO1wiPiR7dGhpcy5zZWFyY2hJY29ufTwvYT5gO1xuICAgIH1cbiAgICByZXR1cm4gdmFsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUxpbmtVcmwob2JqZWN0VHlwZSwgcmVtb3RlRWxlbWVudCwgZ3JpZE5hbWUpIHtcbiAgICBsZXQgbGlua1VybDtcbiAgICBsZXQgcXVlcnk7XG4gICAgaWYgKGdyaWROYW1lID09PSAnb3V0UmVmZXJlbmNlcycpIHtcbiAgICAgIGlmIChyZW1vdGVFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHF1ZXJpZXMgPSB0aGlzLnF1ZXJpZXMub3V0UmVmZXJlbmNlUXVlcmllcy5maWx0ZXIoKHEpID0+IHEudHlwZXNbMF0gPT09IG9iamVjdFR5cGUucW5hbWUgJiYgISFxLmZpbHRlcnMgJiYgISFxLmZpbHRlcnNbcmVtb3RlRWxlbWVudC5xbmFtZV0pO1xuICAgICAgICBxdWVyeSA9IHRoaXMuY3JlYXRlU3VwZXJRdWVyeUZyb21RdWVyaWVzKHtvdXRSZWZlcmVuY2VRdWVyaWVzOiBxdWVyaWVzLCBpblJlZmVyZW5jZVF1ZXJpZXM6IFtdfSk7XG4gICAgICAgIHF1ZXJ5LnR5cGVzID0gcXVlcmllc1swXS50eXBlcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGlmIHRoZXJlIGlzIG5vIHJlbW90ZUVsZW1lbnQsIHRoYW4gd2Ugd2FudCB0byBmaW5kIHRoZSBxdWVyeSB3aXRob3V0IGFueSBmaWx0ZXJzXG4gICAgICAgIGNvbnN0IHF1ZXJpZXMgPSB0aGlzLnF1ZXJpZXMub3V0UmVmZXJlbmNlUXVlcmllcy5maWx0ZXIoKHEpID0+IHEudHlwZXNbMF0gPT09IG9iamVjdFR5cGUucW5hbWUgJiYgIXEuZmlsdGVycyk7XG4gICAgICAgIC8vIHRoZXJlIGNhbiBiZSBtb3JlIHRoYW4gb25lIGZpZWxkLCB0aGF0IHJlZmVyZW5jZXMgdG8gdGhlIHNhbWUgb2JqZWN0IHR5cGUsIHRoYXQncyB3aHkgaXQncyBuZWNlc3NhcnkgdG8gbWVyZ2UgdGhlIHRlcm1zLlxuICAgICAgICBjb25zdCBtZXJnZWRUZXJtID0gcXVlcmllcy5tYXAocSA9PiBxLnRlcm0pLmpvaW4oJyB8fCAnKTtcbiAgICAgICAgcXVlcnkgPSBxdWVyaWVzWzBdO1xuICAgICAgICBxdWVyeS50ZXJtID0gbWVyZ2VkVGVybTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcXVlcnkgPSB0aGlzLnF1ZXJpZXMuaW5SZWZlcmVuY2VRdWVyaWVzLmZpbmQoKHEpID0+IHEudHlwZXNbMF0gPT09IG9iamVjdFR5cGUucW5hbWUgJiYgISFxLmZpbHRlcnNbcmVtb3RlRWxlbWVudC5xbmFtZV0pO1xuICAgIH1cbiAgICBsaW5rVXJsID0gYHJlc3VsdD9xdWVyeT0ke2VuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShxdWVyeSkpfWA7XG4gICAgcmV0dXJuIGxpbmtVcmw7XG4gIH1cblxuICBzd2l0Y2hMaXN0VmlzaWJpbGl0eVRvKGxpc3Q6ICdpbicgfCAnb3V0Jyl7XG4gICAgaWYobGlzdCA9PT0gJ2luJyl7XG4gICAgICB0aGlzLnNob3dJblJlZmVyZW5jZXMgPSB0cnVlO1xuICAgICAgdGhpcy5zaG93T3V0UmVmZXJlbmNlcyA9IGZhbHNlO1xuICAgIH1lbHNle1xuICAgICAgdGhpcy5zaG93SW5SZWZlcmVuY2VzID0gZmFsc2U7XG4gICAgICB0aGlzLnNob3dPdXRSZWZlcmVuY2VzID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5jYWNoZS5zZXRJdGVtKCd5dXYucmVmZXJlbmNlLmxpc3Quc2hvdy4nICsgdGhpcy5pdGVtLnR5cGVOYW1lLCBsaXN0KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdChpdGVtKSB7XG4gICAgdGhpcy5jYWNoZS5nZXRJdGVtKCd5dXYucmVmZXJlbmNlLmxpc3Quc2hvdy4nICsgaXRlbS50eXBlTmFtZSkuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLnN3aXRjaExpc3RWaXNpYmlsaXR5VG8ocmVzKSk7XG4gICAgY29uc3Qgb2JzID0gW1xuICAgICAgdGhpcy5yZWZlcmVuY2VTZXJ2aWNlLmdldEluUmVmZXJlbmNlcyhpdGVtKSxcbiAgICAgIHRoaXMucmVmZXJlbmNlU2VydmljZS5nZXRPdXRSZWZlcmVuY2VzKGl0ZW0pXG4gICAgXTtcbiAgICBmb3JrSm9pbihvYnMpXG4gICAgICAuc3Vic2NyaWJlKHJlc3VsdHMgPT4ge1xuICAgICAgICBbdGhpcy5pblJlZmVyZW5jZXMsIHRoaXMub3V0UmVmZXJlbmNlc10gPSByZXN1bHRzO1xuXG4gICAgICAgIGlmICh0aGlzLmluUmVmZXJlbmNlcy5sZW5ndGggPiAyMCkge1xuICAgICAgICAgIHRoaXMuZ3JpZE9wdGlvbnMuZ3JvdXBEZWZhdWx0RXhwYW5kZWQgPSAwO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm91dFJlZmVyZW5jZXMubGVuZ3RoID4gMjApIHtcbiAgICAgICAgICB0aGlzLmdyaWRPcHRpb25zMi5ncm91cERlZmF1bHRFeHBhbmRlZCA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5ncmlkSW4gJiYgdGhpcy5pblJlZmVyZW5jZXMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5ncmlkT3B0aW9ucy5hcGkuc2V0Um93RGF0YSh0aGlzLmluUmVmZXJlbmNlcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5ncmlkT3B0aW9ucy5yb3dEYXRhID0gdGhpcy5pblJlZmVyZW5jZXM7XG4gICAgICAgICAgdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LmNvdW50ID0gdGhpcy5pblJlZmVyZW5jZXMubGVuZ3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZ3JpZE91dCAmJiB0aGlzLm91dFJlZmVyZW5jZXMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5ncmlkT3B0aW9uczIuYXBpLnNldFJvd0RhdGEodGhpcy5vdXRSZWZlcmVuY2VzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmdyaWRPcHRpb25zMi5yb3dEYXRhID0gdGhpcy5vdXRSZWZlcmVuY2VzO1xuICAgICAgICAgIHRoaXMuZ3JpZE9wdGlvbnMyLmNvbnRleHQuY291bnQgPSB0aGlzLm91dFJlZmVyZW5jZXMubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICB9LCAoZXJyb3IpID0+IGNvbnNvbGUuZXJyb3Ioe2Vycm9yfSkpO1xuXG4gICAgdGhpcy5yZWZlcmVuY2VTZXJ2aWNlXG4gICAgICAuZ2V0UXVlcmllcyhpdGVtKVxuICAgICAgLnN1YnNjcmliZShxdWVyaWVzID0+IHtcbiAgICAgICAgdGhpcy5xdWVyaWVzID0gcXVlcmllcztcbiAgICAgICAgY29uc3Qgc3VwZXJRdWVyeSA9IHRoaXMuY3JlYXRlU3VwZXJRdWVyeUZyb21RdWVyaWVzKHRoaXMucXVlcmllcyk7XG4gICAgICAgIHRoaXMuc3VwZXJRdWVyeVBhcmFtcyA9IHsncXVlcnknOiBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc3VwZXJRdWVyeSkpLCAnc2lsZW50JzogdHJ1ZX07XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU3VwZXJRdWVyeUZyb21RdWVyaWVzKHF1ZXJpZXMpIHtcbiAgICBsZXQgc3VwZXJRdWVyeSA9IHtcbiAgICAgIHRlcm06ICcnLFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICBleHBlcnRtb2RlOiB0cnVlXG4gICAgICB9XG4gICAgfTtcblxuICAgIHF1ZXJpZXMub3V0UmVmZXJlbmNlUXVlcmllcy5mb3JFYWNoKHF1ZXJ5ID0+IHtcbiAgICAgIGlmIChxdWVyeS5maWx0ZXJzKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKHF1ZXJ5LmZpbHRlcnMpXG4gICAgICAgICAgLmZvckVhY2goZmlsdGVyTmFtZSA9PiBzdXBlclF1ZXJ5LnRlcm0gKz0gdGhpcy5jcmVhdGVTdXBlclF1ZXJ5VGVybVBhcnQocXVlcnksIGZpbHRlck5hbWUpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN1cGVyUXVlcnkudGVybSArPSAnKCcgKyBxdWVyeS50ZXJtICsgJyknICsgJyBPUiAnO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcXVlcmllcy5pblJlZmVyZW5jZVF1ZXJpZXMuZm9yRWFjaCgocXVlcnkpID0+IHtcbiAgICAgIGlmIChxdWVyeS5maWx0ZXJzKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKHF1ZXJ5LmZpbHRlcnMpXG4gICAgICAgICAgLmZvckVhY2goZmlsdGVyTmFtZSA9PiBzdXBlclF1ZXJ5LnRlcm0gKz0gdGhpcy5jcmVhdGVTdXBlclF1ZXJ5VGVybVBhcnQocXVlcnksIGZpbHRlck5hbWUpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN1cGVyUXVlcnkudGVybSArPSBxdWVyeS50ZXJtO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgc3VwZXJRdWVyeS50ZXJtID0gc3VwZXJRdWVyeS50ZXJtLnJlcGxhY2UobmV3IFJlZ0V4cCgnLCcsICdnJyksICcgJyk7IC8vIHJlcGxhY2UgYWxsICcsJyB3aXRoICcgJ1xuICAgIHN1cGVyUXVlcnkudGVybSA9IHN1cGVyUXVlcnkudGVybS5yZXBsYWNlKG5ldyBSZWdFeHAoJyBPUiAnICsgJyQnKSwgJycpOyAvLyByZW1vdmUgbGFzdCAnIE9SICdcblxuICAgIHJldHVybiBzdXBlclF1ZXJ5O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTdXBlclF1ZXJ5VGVybVBhcnQocXVlcnksIGZpbHRlck5hbWUpIHtcbiAgICAvLyByZXNlcnZlZCBjaGFyYWN0ZXJzIG9mIGVsYXN0aWMgc2VhcmNoXG4gICAgLy8gdG9kbzogYWRkICd8fCdcbiAgICBjb25zdCByZXNlcnZlZENoYXJzID0gWydcXFxcJywgJy8nLCAnXFwrJywgJy0nLCAnPScsICcmJicsICc+JywgJzwnLCAnIScsICdcXCgnLCAnXFwpJywgJ1xceycsICdcXH0nLCAnXFxbJywgJ1xcXScsICdcXF4nLCAnXCInLCAnXFx+JywgJ1xcKicsICdcXD8nLCAnOiddO1xuXG4gICAgY29uc3QgZmlsdGVyID0gcXVlcnkuZmlsdGVyc1tmaWx0ZXJOYW1lXTtcbiAgICBsZXQgdmFsdWUgPSAnJyArIGZpbHRlci52MSArICcnO1xuICAgIHJlc2VydmVkQ2hhcnMuZm9yRWFjaChjaGFyID0+IHtcbiAgICAgIGlmICh2YWx1ZS5pbmRleE9mKGNoYXIpID4gLTEpIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcXFwnICsgY2hhciwgJ2cnKSwgJ1xcXFwnICsgY2hhcik7IC8vIGVzY2FwZXMgYWxsIHJlc2VydmVkIGNoYXJhY3RlcnNcbiAgICAgIH1cbiAgICB9KTtcbiAgICBsZXQgdHlwZXMgPSB0aGlzLmdldFN1YlR5cGVzKHF1ZXJ5LnR5cGVzWzBdKTtcbiAgICB0eXBlcy5wdXNoKHF1ZXJ5LnR5cGVzWzBdKTtcbiAgICBsZXQgaW5kZXhOYW1lID0gdGhpcy5nZXRJbmRleE5hbWVCeVFOYW1lKGZpbHRlck5hbWUpO1xuICAgIGlmICghaW5kZXhOYW1lKSB7XG4gICAgICBpbmRleE5hbWUgPSAnc3RyXycgKyBmaWx0ZXJOYW1lLnJlcGxhY2UoJy4nLCAnXycpO1xuICAgIH1cbiAgICByZXR1cm4gJygnICsgaW5kZXhOYW1lICsgJzooJyArIHZhbHVlICsgJykgQU5EIGtleV90eXBlOignICsgdHlwZXMgKyAnKSkgT1IgJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5kZXhOYW1lQnlRTmFtZShxbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0eXBlcyA9IHRoaXMuc3lzdGVtU2VydmljZS5nZXRPYmplY3RUeXBlcygpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdHlwZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0eXBlc1tpXS5lbGVtZW50cy5maW5kKGVsID0+IGVsLnFuYW1lID09PSBxbmFtZSk7XG4gICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICByZXR1cm4gZWxlbWVudC5pbmRleG5hbWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdWJUeXBlcyh0eXBlTmFtZSkge1xuICAgIGxldCB0eXBlcyA9IHRoaXMuc3lzdGVtU2VydmljZS5nZXRPYmplY3RUeXBlcygpO1xuICAgIGxldCBzdWJUeXBlcyA9IFtdO1xuICAgIHR5cGVzLmZvckVhY2gob2JqZWN0VHlwZSA9PiB7XG4gICAgICBjb25zdCB2YWxpZGF0b3IgPSAhIW9iamVjdFR5cGUuc3VwZXJ0eXBlcy5maW5kKCh0OiBhbnkpID0+IHQubmFtZSA9PT0gdHlwZU5hbWUpO1xuICAgICAgaWYgKHZhbGlkYXRvcikge1xuICAgICAgICBzdWJUeXBlcy5wdXNoKG9iamVjdFR5cGUucW5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgICApO1xuICAgIHJldHVybiBzdWJUeXBlcztcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYmFja2VuZFxuICAgICAgLmdldFZpYUNhY2hlKCdhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NlYXJjaC5zdmcnKVxuICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB0aGlzLnNlYXJjaEljb24gPSByZXNwb25zZS5yZXBsYWNlKCc8c3ZnJywgJzxzdmcgZm9jdXNhYmxlPVwiZmFsc2VcIiBjbGFzcz1cInNlYXJjaC1pY29uXCInKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJlby1yZWZlcmVuY2VzXCI+XG4gIDxkaXYgY2xhc3M9XCJvYmplY3Qtbm90LWZvdW5kXCIgKm5nSWY9XCIhaW5SZWZlcmVuY2VzPy5sZW5ndGggJiYgIW91dFJlZmVyZW5jZXM/Lmxlbmd0aDsgZWxzZSByZWZDb250YWluZXJcIj5cbiAgICA8ZGl2Pnt7J2VvLnJlZmVyZW5jZXMub2JqZWN0Lm5vdGZvdW5kJyB8IHRyYW5zbGF0ZX19PC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxuZy10ZW1wbGF0ZSAjcmVmQ29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWJ1dHRvbnNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkbGFiZWxzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWRsYWJlbFwiIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogc2hvd0luUmVmZXJlbmNlc31cIiAoY2xpY2spPVwic3dpdGNoTGlzdFZpc2liaWxpdHlUbygnaW4nKVwiXG4gICAgICAgICAgICB0aXRsZT1cInt7J2VvLnJlZmVyZW5jZXMudG8ubGFiZWwnIHwgdHJhbnNsYXRlfX1cIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3snZW8ucmVmZXJlbmNlcy50by5sYWJlbCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZGxhYmVsXCIgW25nQ2xhc3NdPVwieydhY3RpdmUnOiBzaG93T3V0UmVmZXJlbmNlc31cIiAoY2xpY2spPVwic3dpdGNoTGlzdFZpc2liaWxpdHlUbygnb3V0JylcIlxuICAgICAgICAgICAgdGl0bGU9XCJ7eydlby5yZWZlcmVuY2VzLmZyb20ubGFiZWwnIHwgdHJhbnNsYXRlfX1cIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3snZW8ucmVmZXJlbmNlcy5mcm9tLmxhYmVsJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8YSBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCIgW3JvdXRlckxpbmtdPVwiJy9yZXN1bHQnXCIgW3F1ZXJ5UGFyYW1zXT1cInN1cGVyUXVlcnlQYXJhbXNcIiB0aXRsZT1cInt7J2VvLnJlZmVyZW5jZXMub3Blbi5yZXN1bHRsaXN0JyB8IHRyYW5zbGF0ZX19XCI+XG4gICAgICAgIDxzcGFuPnt7J2VvLnJlZmVyZW5jZXMub3Blbi5yZXN1bHRsaXN0JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgPC9hPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImVvLXJlZmVyZW5jZXMtbGlzdHNcIj5cblxuICAgICAgPCEtLSBsaXN0IG9mIGluUmVmZXJlbmNlcyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHRsaXN0LWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnaGlkZGVuJzogIXNob3dJblJlZmVyZW5jZXN9XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJub3Rmb3VuZFwiICpuZ0lmPVwiKCFpblJlZmVyZW5jZXM/Lmxlbmd0aClcIj57eydlby5yZWZlcmVuY2VzLm9iamVjdC5ub3Rmb3VuZCcgfCB0cmFuc2xhdGV9fTwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLXdyYXBwZXJcIiAqbmdJZj1cImluUmVmZXJlbmNlcz8ubGVuZ3RoXCI+XG4gICAgICAgICAgPGFnLWdyaWQtYW5ndWxhciAjZ3JpZEluIFttb2R1bGVzXT1cIm1vZHVsZXNcIiBbZ3JpZE9wdGlvbnNdPVwiZ3JpZE9wdGlvbnNcIiBjbGFzcz1cImFnLXJlc3VsdFwiPjwvYWctZ3JpZC1hbmd1bGFyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIGxpc3Qgb2Ygb3V0UmVmZXJlbmNlcyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHRsaXN0LWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnaGlkZGVuJzogIXNob3dPdXRSZWZlcmVuY2VzfVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibm90Zm91bmRcIiAqbmdJZj1cIighb3V0UmVmZXJlbmNlcz8ubGVuZ3RoKVwiPnt7J2VvLnJlZmVyZW5jZXMub2JqZWN0Lm5vdGZvdW5kJyB8IHRyYW5zbGF0ZX19PC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtd3JhcHBlclwiICpuZ0lmPVwib3V0UmVmZXJlbmNlcz8ubGVuZ3RoXCI+XG4gICAgICAgICAgPGFnLWdyaWQtYW5ndWxhciAjZ3JpZE91dCBbbW9kdWxlc109XCJtb2R1bGVzXCIgW2dyaWRPcHRpb25zXT1cImdyaWRPcHRpb25zMlwiIGNsYXNzPVwiYWctcmVzdWx0XCI+PC9hZy1ncmlkLWFuZ3VsYXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PiJdfQ==
|
|
299
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWxpbmtzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL29iamVjdC1kZXRhaWxzL29iamVjdC1saW5rcy9vYmplY3QtbGlua3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvb2JqZWN0LWxpbmtzL29iamVjdC1saW5rcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBS2hGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUIsT0FBTyxFQUFnQyxLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDbEUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7Ozs7Ozs7Ozs7O0FBTzlFLE1BQU0sT0FBTyxvQkFBb0I7SUFzQi9CLElBQ0ksU0FBUyxDQUFDLFNBQW9CO1FBQ2hDLElBQUksU0FBUyxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFa0MsT0FBTyxDQUFDLEtBQUs7UUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUFvQixNQUFjLEVBQ3hCLGdCQUFrQyxFQUNsQyxPQUF1QixFQUN2QixLQUFzQixFQUN0QixTQUEyQixFQUMzQixPQUFvQixFQUNwQixhQUE0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QUFHLEVBQUUsQ0FBQztRQUNsQixLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQztZQUNoRixJQUFJLFNBQVMsRUFBRTtnQkFDYixRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNqQztRQUNILENBQUMsQ0FDQSxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTzthQUNULFdBQVcsQ0FBQyxtQ0FBbUMsQ0FBQzthQUNoRCxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLDRDQUE0QyxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDOztpSEExU1Usb0JBQW9CO3FHQUFwQixvQkFBb0IsdVVDaEJqQyxzeEVBaURBOzJGRGpDYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsaUJBQWlCOzRRQXVCTixNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ0csT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUdoQixTQUFTO3NCQURaLEtBQUs7dUJBQUMsV0FBVztnQkFRaUIsT0FBTztzQkFBekMsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0dyaWRTZXJ2aWNlfSBmcm9tICcuLy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2FwaS9ncmlkLnNlcnZpY2UnO1xuaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCwgSG9zdExpc3RlbmVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmF2aWdhdGlvbkV4dHJhcywgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtSZWZlcmVuY2VTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9yZWZlcmVuY2VzL3JlZmVyZW5jZS5zZXJ2aWNlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZSwgRG1zT2JqZWN0LCBBcHBDYWNoZVNlcnZpY2V9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0NvbERlZiwgR3JpZE9wdGlvbnMsIE1vZHVsZX0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHtmb3JrSm9pbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1N5c3RlbVNlcnZpY2UsIEJhY2tlbmRTZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7Q2xpZW50U2lkZVJvd01vZGVsTW9kdWxlfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY2xpZW50LXNpZGUtcm93LW1vZGVsJztcbmltcG9ydCB7Um93R3JvdXBpbmdNb2R1bGV9IGZyb20gJy4uLy4uL2dyaWQvcm93LWdyb3VwaW5nL3Jvdy1ncm91cGluZy5tb2R1bGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1vYmplY3QtbGlua3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vb2JqZWN0LWxpbmtzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb2JqZWN0LWxpbmtzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0TGlua3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBtb2R1bGVzOiBNb2R1bGVbXSA9IFtDbGllbnRTaWRlUm93TW9kZWxNb2R1bGUsIFJvd0dyb3VwaW5nTW9kdWxlXTtcblxuICBpdGVtOiBEbXNPYmplY3Q7XG4gIGNvbHVtbkRlZnM6IENvbERlZltdO1xuICBzZWFyY2hJY29uO1xuICBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIGdyaWRPcHRpb25zMjogR3JpZE9wdGlvbnM7XG4gIGluUmVmZXJlbmNlcyA9IFtdO1xuICBvdXRSZWZlcmVuY2VzID0gW107XG4gIHF1ZXJpZXM7XG4gIHN1cGVyUXVlcnlQYXJhbXMgPSB7fTtcblxuICBzaG93SW5SZWZlcmVuY2VzID0gdHJ1ZTtcbiAgc2hvd091dFJlZmVyZW5jZXMgPSBmYWxzZTtcblxuICBsb2FkaW5nID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnZ3JpZEluJykgZ3JpZEluO1xuICBAVmlld0NoaWxkKCdncmlkT3V0JykgZ3JpZE91dDtcblxuICBASW5wdXQoJ2Rtc09iamVjdCcpXG4gIHNldCBkbXNPYmplY3QoZG1zT2JqZWN0OiBEbXNPYmplY3QpIHtcbiAgICBpZiAoZG1zT2JqZWN0KSB7XG4gICAgICB0aGlzLml0ZW0gPSBkbXNPYmplY3Q7XG4gICAgICB0aGlzLmluaXQoZG1zT2JqZWN0KTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIG9uQ2xpY2soZXZlbnQpIHtcbiAgICB0aGlzLmdyaWRBcGkub3BlblJvdXRlckxpbmsoZXZlbnQsICdhZy1yb3cnKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWZlcmVuY2VTZXJ2aWNlOiBSZWZlcmVuY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYWNoZTogQXBwQ2FjaGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ3JpZEFwaTogR3JpZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlKSB7XG5cbiAgICB0aGlzLnByZXBhcmVHcmlkKCk7XG4gIH1cblxuICBwcml2YXRlIHByZXBhcmVHcmlkKCkge1xuICAgIHRoaXMuY29sdW1uRGVmcyA9IFtcbiAgICAgIHtcbiAgICAgICAgZmllbGQ6ICdtZXRhRGF0YS5ncm91cEZpZWxkJyxcbiAgICAgICAgcm93R3JvdXBJbmRleDogMCxcbiAgICAgICAgc29ydDogJ2FzYycsXG4gICAgICAgIGNvbXBhcmF0b3I6IChhLCBiLCBub2RlQSwgbm9kZUIpID0+IHtcbiAgICAgICAgICBjb25zdCBsYWJlbCA9ICh2YWw6IHN0cmluZywgbm9kZTogYW55KSA9PiB2YWwgfHwgVXRpbHMuZ2V0UHJvcGVydHkobm9kZSwgJ2FsbExlYWZDaGlsZHJlbi4wLmRhdGEubWV0YURhdGEub2JqZWN0VHlwZS5sYWJlbCcpIHx8ICcnO1xuICAgICAgICAgIHJldHVybiBsYWJlbChhLCBub2RlQSkubG9jYWxlQ29tcGFyZShsYWJlbChiLCBub2RlQikpO1xuICAgICAgICB9LFxuICAgICAgICBoaWRlOiB0cnVlXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBmaWVsZDogJ3RpdGxlJyxcbiAgICAgICAgc29ydDogJ2FzYycsXG4gICAgICAgIGNlbGxDbGFzczogJ3JvdXRlci1saW5rLWNlbGwnLFxuICAgICAgICBjZWxsUmVuZGVyZXI6IHRoaXMucmVmZXJlbmNlQ2VsbFJlbmRlcmVyLmJpbmQodGhpcylcbiAgICAgIH1cbiAgICBdO1xuXG4gICAgY29uc3Qgb3B0aW9uczogR3JpZE9wdGlvbnMgPSB7XG4gICAgICBncm91cFJvd0lubmVyUmVuZGVyZXI6IHRoaXMudHlwZUNlbGxSZW5kZXJlci5iaW5kKHRoaXMpLFxuICAgICAgY29sdW1uRGVmczogdGhpcy5jb2x1bW5EZWZzLFxuICAgICAgaGVhZGVySGVpZ2h0OiAwLFxuICAgICAgcm93SGVpZ2h0OiA2MCxcbiAgICAgIHJvd0J1ZmZlcjogMjAsXG4gICAgICBtdWx0aVNvcnRLZXk6ICdjdHJsJyxcbiAgICAgIHJvd1NlbGVjdGlvbjogJ3NpbmdsZScsXG4gICAgICBncm91cFVzZUVudGlyZVJvdzogdHJ1ZSxcbiAgICAgIGdyb3VwRGVmYXVsdEV4cGFuZGVkOiAtMSxcbiAgICAgIGFjY2VudGVkU29ydDogdHJ1ZSxcbiAgICAgIHN1cHByZXNzQ29udGV4dE1lbnU6IHRydWVcbiAgICB9O1xuXG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBjb250ZXh0OiB7XG4gICAgICAgIGNvdW50OiAwLFxuICAgICAgICBncmlkTmFtZTogJ2luUmVmZXJlbmNlcydcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5ncmlkT3B0aW9uczIgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgY29udGV4dDoge1xuICAgICAgICBjb3VudDogMCxcbiAgICAgICAgZ3JpZE5hbWU6ICdvdXRSZWZlcmVuY2VzJ1xuICAgICAgfVxuICAgIH07XG5cbiAgfVxuXG4gIHByaXZhdGUgcmVmZXJlbmNlQ2VsbFJlbmRlcmVyKHBhcmFtKSB7XG4gICAgY29uc3QgdXJpUGFyYW1RdWVyeTogTmF2aWdhdGlvbkV4dHJhcyA9IHtxdWVyeVBhcmFtczogeyd0eXBlJzogcGFyYW0uZGF0YS5tZXRhRGF0YS5vYmplY3RUeXBlLnFuYW1lfX07XG4gICAgLy8gY29uc3QgdXJsID0gdGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycvb2JqZWN0JywgcGFyYW0uZGF0YS5pZF0sIHVyaVBhcmFtUXVlcnkpKTtcbiAgICBjb25zdCB1cmwgPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnb2JqZWN0JywgcGFyYW0uZGF0YS5pZF0sIHVyaVBhcmFtUXVlcnkpLnRvU3RyaW5nKCkucmVwbGFjZSgvXlxcLysvZywgJycpO1xuICAgIGlmIChwYXJhbS5kYXRhKSB7XG4gICAgICByZXR1cm4gYFxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVmLWxpc3QtaXRlbVwiPlxuICAgICAgICAgIDxhIGNsYXNzPVwicm91dGVyLWxpbmtcIiBocmVmPVwiJHt1cmx9XCIgdGFyZ2V0PVwiX2JsYW5rXCIgb25jbGljaz1cInJldHVybiBmYWxzZTtcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPiR7cGFyYW0uZGF0YS50aXRsZX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+JHtwYXJhbS5kYXRhLmRlc2NyaXB0aW9ufTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0eXBlQ2VsbFJlbmRlcmVyKHBhcmFtKSB7XG4gICAgbGV0IHZhbCA9ICcnO1xuICAgIGlmIChwYXJhbS52YWx1ZSkge1xuICAgICAgY29uc3QgZ3JpZE5hbWUgPSBwYXJhbS5hcGkuZ3JpZENvcmUuZ3JpZE9wdGlvbnMuY29udGV4dC5ncmlkTmFtZTtcbiAgICAgIGNvbnN0IHJlbW90ZUVsZW1lbnQgPSBwYXJhbS5ub2RlLmFsbExlYWZDaGlsZHJlblswXS5kYXRhLm1ldGFEYXRhLnJlbW90ZUVsZW1lbnQ7XG4gICAgICBjb25zdCBsaW5rID0gdGhpcy5nZW5lcmF0ZUxpbmtVcmwocGFyYW0ubm9kZS5hbGxMZWFmQ2hpbGRyZW5bMF0uZGF0YS5tZXRhRGF0YS5vYmplY3RUeXBlLCByZW1vdGVFbGVtZW50LCBncmlkTmFtZSk7XG4gICAgICBjb25zdCBpY29uVXJsID0gYCR7dGhpcy5iYWNrZW5kLmdldEJhc2VXaXRoQ29udGV4dCh0aGlzLmJhY2tlbmQuZ2V0U2VydmljZUJhc2UoKSl9L3VpL2ljb24vJHtwYXJhbS5ub2RlLmFsbExlYWZDaGlsZHJlblswXS5kYXRhLm1ldGFEYXRhLm9iamVjdFR5cGUuaWNvbklkfS5zdmdgO1xuICAgICAgY29uc3QgbGFiZWwgPSBwYXJhbS5ub2RlLmFsbExlYWZDaGlsZHJlblswXS5kYXRhLm1ldGFEYXRhLm9iamVjdFR5cGUubGFiZWw7XG4gICAgICBjb25zdCB0b29sdGlwID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucmVmZXJlbmNlcy5vcGVuLnJlc3VsdGxpc3QnKTtcbiAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gcmVtb3RlRWxlbWVudCA/IHJlbW90ZUVsZW1lbnQubGFiZWwgOiAnJztcblxuICAgICAgdmFsID0gYDxpbWcgY2xhc3M9XCJvYmplY3QtdHlwZVwiIHNyYz1cIiR7aWNvblVybH1cIiB0aXRsZT1cIiR7bGFiZWx9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj4ke2xhYmVsfTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj4ke2Rlc2NyaXB0aW9ufTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YSBjbGFzcz1cInJvdXRlci1saW5rIHNlYXJjaC1saW5rXCIgdGl0bGU9XCIke3Rvb2x0aXB9XCIgaHJlZj1cIiR7bGlua31cIiB0YXJnZXQ9XCJfYmxhbmtcIiBvbmNsaWNrPVwicmV0dXJuIGZhbHNlO1wiPiR7dGhpcy5zZWFyY2hJY29ufTwvYT5gO1xuICAgIH1cbiAgICByZXR1cm4gdmFsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUxpbmtVcmwob2JqZWN0VHlwZSwgcmVtb3RlRWxlbWVudCwgZ3JpZE5hbWUpIHtcbiAgICBsZXQgbGlua1VybDtcbiAgICBsZXQgcXVlcnk7XG4gICAgaWYgKGdyaWROYW1lID09PSAnb3V0UmVmZXJlbmNlcycpIHtcbiAgICAgIGlmIChyZW1vdGVFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHF1ZXJpZXMgPSB0aGlzLnF1ZXJpZXMub3V0UmVmZXJlbmNlUXVlcmllcy5maWx0ZXIoKHEpID0+IHEudHlwZXNbMF0gPT09IG9iamVjdFR5cGUucW5hbWUgJiYgISFxLmZpbHRlcnMgJiYgISFxLmZpbHRlcnNbcmVtb3RlRWxlbWVudC5xbmFtZV0pO1xuICAgICAgICBxdWVyeSA9IHRoaXMuY3JlYXRlU3VwZXJRdWVyeUZyb21RdWVyaWVzKHtvdXRSZWZlcmVuY2VRdWVyaWVzOiBxdWVyaWVzLCBpblJlZmVyZW5jZVF1ZXJpZXM6IFtdfSk7XG4gICAgICAgIHF1ZXJ5LnR5cGVzID0gcXVlcmllc1swXS50eXBlcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGlmIHRoZXJlIGlzIG5vIHJlbW90ZUVsZW1lbnQsIHRoYW4gd2Ugd2FudCB0byBmaW5kIHRoZSBxdWVyeSB3aXRob3V0IGFueSBmaWx0ZXJzXG4gICAgICAgIGNvbnN0IHF1ZXJpZXMgPSB0aGlzLnF1ZXJpZXMub3V0UmVmZXJlbmNlUXVlcmllcy5maWx0ZXIoKHEpID0+IHEudHlwZXNbMF0gPT09IG9iamVjdFR5cGUucW5hbWUgJiYgIXEuZmlsdGVycyk7XG4gICAgICAgIC8vIHRoZXJlIGNhbiBiZSBtb3JlIHRoYW4gb25lIGZpZWxkLCB0aGF0IHJlZmVyZW5jZXMgdG8gdGhlIHNhbWUgb2JqZWN0IHR5cGUsIHRoYXQncyB3aHkgaXQncyBuZWNlc3NhcnkgdG8gbWVyZ2UgdGhlIHRlcm1zLlxuICAgICAgICBjb25zdCBtZXJnZWRUZXJtID0gcXVlcmllcy5tYXAocSA9PiBxLnRlcm0pLmpvaW4oJyB8fCAnKTtcbiAgICAgICAgcXVlcnkgPSBxdWVyaWVzWzBdO1xuICAgICAgICBxdWVyeS50ZXJtID0gbWVyZ2VkVGVybTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcXVlcnkgPSB0aGlzLnF1ZXJpZXMuaW5SZWZlcmVuY2VRdWVyaWVzLmZpbmQoKHEpID0+IHEudHlwZXNbMF0gPT09IG9iamVjdFR5cGUucW5hbWUgJiYgISFxLmZpbHRlcnNbcmVtb3RlRWxlbWVudC5xbmFtZV0pO1xuICAgIH1cbiAgICBsaW5rVXJsID0gYHJlc3VsdD9xdWVyeT0ke2VuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShxdWVyeSkpfWA7XG4gICAgcmV0dXJuIGxpbmtVcmw7XG4gIH1cblxuICBzd2l0Y2hMaXN0VmlzaWJpbGl0eVRvKGxpc3Q6ICdpbicgfCAnb3V0Jyl7XG4gICAgaWYobGlzdCA9PT0gJ2luJyl7XG4gICAgICB0aGlzLnNob3dJblJlZmVyZW5jZXMgPSB0cnVlO1xuICAgICAgdGhpcy5zaG93T3V0UmVmZXJlbmNlcyA9IGZhbHNlO1xuICAgIH1lbHNle1xuICAgICAgdGhpcy5zaG93SW5SZWZlcmVuY2VzID0gZmFsc2U7XG4gICAgICB0aGlzLnNob3dPdXRSZWZlcmVuY2VzID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5jYWNoZS5zZXRJdGVtKCd5dXYucmVmZXJlbmNlLmxpc3Quc2hvdy4nICsgdGhpcy5pdGVtLnR5cGVOYW1lLCBsaXN0KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdChpdGVtKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmNhY2hlLmdldEl0ZW0oJ3l1di5yZWZlcmVuY2UubGlzdC5zaG93LicgKyBpdGVtLnR5cGVOYW1lKS5zdWJzY3JpYmUocmVzID0+IHRoaXMuc3dpdGNoTGlzdFZpc2liaWxpdHlUbyhyZXMpKTtcbiAgICBjb25zdCBvYnMgPSBbXG4gICAgICB0aGlzLnJlZmVyZW5jZVNlcnZpY2UuZ2V0SW5SZWZlcmVuY2VzKGl0ZW0pLFxuICAgICAgdGhpcy5yZWZlcmVuY2VTZXJ2aWNlLmdldE91dFJlZmVyZW5jZXMoaXRlbSlcbiAgICBdO1xuICAgIGZvcmtKb2luKG9icylcbiAgICAgIC5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gICAgICAgIFt0aGlzLmluUmVmZXJlbmNlcywgdGhpcy5vdXRSZWZlcmVuY2VzXSA9IHJlc3VsdHM7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5SZWZlcmVuY2VzLmxlbmd0aCA+IDIwKSB7XG4gICAgICAgICAgdGhpcy5ncmlkT3B0aW9ucy5ncm91cERlZmF1bHRFeHBhbmRlZCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub3V0UmVmZXJlbmNlcy5sZW5ndGggPiAyMCkge1xuICAgICAgICAgIHRoaXMuZ3JpZE9wdGlvbnMyLmdyb3VwRGVmYXVsdEV4cGFuZGVkID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmdyaWRJbiAmJiB0aGlzLmluUmVmZXJlbmNlcy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmdyaWRPcHRpb25zLmFwaS5zZXRSb3dEYXRhKHRoaXMuaW5SZWZlcmVuY2VzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmdyaWRPcHRpb25zLnJvd0RhdGEgPSB0aGlzLmluUmVmZXJlbmNlcztcbiAgICAgICAgICB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPSB0aGlzLmluUmVmZXJlbmNlcy5sZW5ndGg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5ncmlkT3V0ICYmIHRoaXMub3V0UmVmZXJlbmNlcy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmdyaWRPcHRpb25zMi5hcGkuc2V0Um93RGF0YSh0aGlzLm91dFJlZmVyZW5jZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZ3JpZE9wdGlvbnMyLnJvd0RhdGEgPSB0aGlzLm91dFJlZmVyZW5jZXM7XG4gICAgICAgICAgdGhpcy5ncmlkT3B0aW9uczIuY29udGV4dC5jb3VudCA9IHRoaXMub3V0UmVmZXJlbmNlcy5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcih7ZXJyb3J9KTtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB9KTtcblxuICAgIHRoaXMucmVmZXJlbmNlU2VydmljZVxuICAgICAgLmdldFF1ZXJpZXMoaXRlbSlcbiAgICAgIC5zdWJzY3JpYmUocXVlcmllcyA9PiB7XG4gICAgICAgIHRoaXMucXVlcmllcyA9IHF1ZXJpZXM7XG4gICAgICAgIGNvbnN0IHN1cGVyUXVlcnkgPSB0aGlzLmNyZWF0ZVN1cGVyUXVlcnlGcm9tUXVlcmllcyh0aGlzLnF1ZXJpZXMpO1xuICAgICAgICB0aGlzLnN1cGVyUXVlcnlQYXJhbXMgPSB7J3F1ZXJ5JzogZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHN1cGVyUXVlcnkpKSwgJ3NpbGVudCc6IHRydWV9O1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVN1cGVyUXVlcnlGcm9tUXVlcmllcyhxdWVyaWVzKSB7XG4gICAgbGV0IHN1cGVyUXVlcnkgPSB7XG4gICAgICB0ZXJtOiAnJyxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgZXhwZXJ0bW9kZTogdHJ1ZVxuICAgICAgfVxuICAgIH07XG5cbiAgICBxdWVyaWVzLm91dFJlZmVyZW5jZVF1ZXJpZXMuZm9yRWFjaChxdWVyeSA9PiB7XG4gICAgICBpZiAocXVlcnkuZmlsdGVycykge1xuICAgICAgICBPYmplY3Qua2V5cyhxdWVyeS5maWx0ZXJzKVxuICAgICAgICAgIC5mb3JFYWNoKGZpbHRlck5hbWUgPT4gc3VwZXJRdWVyeS50ZXJtICs9IHRoaXMuY3JlYXRlU3VwZXJRdWVyeVRlcm1QYXJ0KHF1ZXJ5LCBmaWx0ZXJOYW1lKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdXBlclF1ZXJ5LnRlcm0gKz0gJygnICsgcXVlcnkudGVybSArICcpJyArICcgT1IgJztcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHF1ZXJpZXMuaW5SZWZlcmVuY2VRdWVyaWVzLmZvckVhY2goKHF1ZXJ5KSA9PiB7XG4gICAgICBpZiAocXVlcnkuZmlsdGVycykge1xuICAgICAgICBPYmplY3Qua2V5cyhxdWVyeS5maWx0ZXJzKVxuICAgICAgICAgIC5mb3JFYWNoKGZpbHRlck5hbWUgPT4gc3VwZXJRdWVyeS50ZXJtICs9IHRoaXMuY3JlYXRlU3VwZXJRdWVyeVRlcm1QYXJ0KHF1ZXJ5LCBmaWx0ZXJOYW1lKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdXBlclF1ZXJ5LnRlcm0gKz0gcXVlcnkudGVybTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHN1cGVyUXVlcnkudGVybSA9IHN1cGVyUXVlcnkudGVybS5yZXBsYWNlKG5ldyBSZWdFeHAoJywnLCAnZycpLCAnICcpOyAvLyByZXBsYWNlIGFsbCAnLCcgd2l0aCAnICdcbiAgICBzdXBlclF1ZXJ5LnRlcm0gPSBzdXBlclF1ZXJ5LnRlcm0ucmVwbGFjZShuZXcgUmVnRXhwKCcgT1IgJyArICckJyksICcnKTsgLy8gcmVtb3ZlIGxhc3QgJyBPUiAnXG5cbiAgICByZXR1cm4gc3VwZXJRdWVyeTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU3VwZXJRdWVyeVRlcm1QYXJ0KHF1ZXJ5LCBmaWx0ZXJOYW1lKSB7XG4gICAgLy8gcmVzZXJ2ZWQgY2hhcmFjdGVycyBvZiBlbGFzdGljIHNlYXJjaFxuICAgIC8vIHRvZG86IGFkZCAnfHwnXG4gICAgY29uc3QgcmVzZXJ2ZWRDaGFycyA9IFsnXFxcXCcsICcvJywgJ1xcKycsICctJywgJz0nLCAnJiYnLCAnPicsICc8JywgJyEnLCAnXFwoJywgJ1xcKScsICdcXHsnLCAnXFx9JywgJ1xcWycsICdcXF0nLCAnXFxeJywgJ1wiJywgJ1xcficsICdcXConLCAnXFw/JywgJzonXTtcblxuICAgIGNvbnN0IGZpbHRlciA9IHF1ZXJ5LmZpbHRlcnNbZmlsdGVyTmFtZV07XG4gICAgbGV0IHZhbHVlID0gJycgKyBmaWx0ZXIudjEgKyAnJztcbiAgICByZXNlcnZlZENoYXJzLmZvckVhY2goY2hhciA9PiB7XG4gICAgICBpZiAodmFsdWUuaW5kZXhPZihjaGFyKSA+IC0xKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZShuZXcgUmVnRXhwKCdcXFxcJyArIGNoYXIsICdnJyksICdcXFxcJyArIGNoYXIpOyAvLyBlc2NhcGVzIGFsbCByZXNlcnZlZCBjaGFyYWN0ZXJzXG4gICAgICB9XG4gICAgfSk7XG4gICAgbGV0IHR5cGVzID0gdGhpcy5nZXRTdWJUeXBlcyhxdWVyeS50eXBlc1swXSk7XG4gICAgdHlwZXMucHVzaChxdWVyeS50eXBlc1swXSk7XG4gICAgbGV0IGluZGV4TmFtZSA9IHRoaXMuZ2V0SW5kZXhOYW1lQnlRTmFtZShmaWx0ZXJOYW1lKTtcbiAgICBpZiAoIWluZGV4TmFtZSkge1xuICAgICAgaW5kZXhOYW1lID0gJ3N0cl8nICsgZmlsdGVyTmFtZS5yZXBsYWNlKCcuJywgJ18nKTtcbiAgICB9XG4gICAgcmV0dXJuICcoJyArIGluZGV4TmFtZSArICc6KCcgKyB2YWx1ZSArICcpIEFORCBrZXlfdHlwZTooJyArIHR5cGVzICsgJykpIE9SICc7XG4gIH1cblxuICBwcml2YXRlIGdldEluZGV4TmFtZUJ5UU5hbWUocW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdHlwZXMgPSB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T2JqZWN0VHlwZXMoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHR5cGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gdHlwZXNbaV0uZWxlbWVudHMuZmluZChlbCA9PiBlbC5xbmFtZSA9PT0gcW5hbWUpO1xuICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQuaW5kZXhuYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3ViVHlwZXModHlwZU5hbWUpIHtcbiAgICBsZXQgdHlwZXMgPSB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T2JqZWN0VHlwZXMoKTtcbiAgICBsZXQgc3ViVHlwZXMgPSBbXTtcbiAgICB0eXBlcy5mb3JFYWNoKG9iamVjdFR5cGUgPT4ge1xuICAgICAgY29uc3QgdmFsaWRhdG9yID0gISFvYmplY3RUeXBlLnN1cGVydHlwZXMuZmluZCgodDogYW55KSA9PiB0Lm5hbWUgPT09IHR5cGVOYW1lKTtcbiAgICAgIGlmICh2YWxpZGF0b3IpIHtcbiAgICAgICAgc3ViVHlwZXMucHVzaChvYmplY3RUeXBlLnFuYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gc3ViVHlwZXM7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRWaWFDYWNoZSgnYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zZWFyY2guc3ZnJylcbiAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4gdGhpcy5zZWFyY2hJY29uID0gcmVzcG9uc2UucmVwbGFjZSgnPHN2ZycsICc8c3ZnIGZvY3VzYWJsZT1cImZhbHNlXCIgY2xhc3M9XCJzZWFyY2gtaWNvblwiJykpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZW8tcmVmZXJlbmNlc1wiPlxuICA8ZGl2IGNsYXNzPVwib2JqZWN0LW5vdC1mb3VuZFwiICpuZ0lmPVwiIWluUmVmZXJlbmNlcz8ubGVuZ3RoICYmICFvdXRSZWZlcmVuY2VzPy5sZW5ndGg7IGVsc2UgcmVmQ29udGFpbmVyXCI+XG4gICAgPGRpdj57eydlby5yZWZlcmVuY2VzLm9iamVjdC5ub3Rmb3VuZCcgfCB0cmFuc2xhdGV9fTwvZGl2PlxuICA8L2Rpdj5cblxuICA8bmctdGVtcGxhdGUgI3JlZkNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1idXR0b25zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZGxhYmVsc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkbGFiZWxcIiBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IHNob3dJblJlZmVyZW5jZXN9XCIgKGNsaWNrKT1cInN3aXRjaExpc3RWaXNpYmlsaXR5VG8oJ2luJylcIlxuICAgICAgICAgICAgdGl0bGU9XCJ7eydlby5yZWZlcmVuY2VzLnRvLmxhYmVsJyB8IHRyYW5zbGF0ZX19XCI+XG4gICAgICAgICAgICAgIDxzcGFuPnt7J2VvLnJlZmVyZW5jZXMudG8ubGFiZWwnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWRsYWJlbFwiIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogc2hvd091dFJlZmVyZW5jZXN9XCIgKGNsaWNrKT1cInN3aXRjaExpc3RWaXNpYmlsaXR5VG8oJ291dCcpXCJcbiAgICAgICAgICAgIHRpdGxlPVwie3snZW8ucmVmZXJlbmNlcy5mcm9tLmxhYmVsJyB8IHRyYW5zbGF0ZX19XCI+XG4gICAgICAgICAgICAgIDxzcGFuPnt7J2VvLnJlZmVyZW5jZXMuZnJvbS5sYWJlbCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGEgY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiIFtyb3V0ZXJMaW5rXT1cIicvcmVzdWx0J1wiIFtxdWVyeVBhcmFtc109XCJzdXBlclF1ZXJ5UGFyYW1zXCIgdGl0bGU9XCJ7eydlby5yZWZlcmVuY2VzLm9wZW4ucmVzdWx0bGlzdCcgfCB0cmFuc2xhdGV9fVwiPlxuICAgICAgICA8c3Bhbj57eydlby5yZWZlcmVuY2VzLm9wZW4ucmVzdWx0bGlzdCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJlby1yZWZlcmVuY2VzLWxpc3RzXCI+XG5cbiAgICAgIDxtYWluICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwibG9hZGVyLW92ZXJsYXlfX21hc2tcIj5cbiAgICAgICAgPGVvLWxvYWRpbmctc3Bpbm5lciBbc2l6ZV09XCInbGFyZ2UnXCI+PC9lby1sb2FkaW5nLXNwaW5uZXI+XG4gICAgICA8L21haW4+XG5cbiAgICAgIDwhLS0gbGlzdCBvZiBpblJlZmVyZW5jZXMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0bGlzdC1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7J2hpZGRlbic6ICFzaG93SW5SZWZlcmVuY2VzfVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibm90Zm91bmRcIiAqbmdJZj1cIighaW5SZWZlcmVuY2VzPy5sZW5ndGgpXCI+e3snZW8ucmVmZXJlbmNlcy5vYmplY3Qubm90Zm91bmQnIHwgdHJhbnNsYXRlfX08L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC13cmFwcGVyXCIgKm5nSWY9XCJpblJlZmVyZW5jZXM/Lmxlbmd0aFwiPlxuICAgICAgICAgIDxhZy1ncmlkLWFuZ3VsYXIgI2dyaWRJbiBbbW9kdWxlc109XCJtb2R1bGVzXCIgW2dyaWRPcHRpb25zXT1cImdyaWRPcHRpb25zXCIgY2xhc3M9XCJhZy1yZXN1bHRcIj48L2FnLWdyaWQtYW5ndWxhcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBsaXN0IG9mIG91dFJlZmVyZW5jZXMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0bGlzdC1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7J2hpZGRlbic6ICFzaG93T3V0UmVmZXJlbmNlc31cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5vdGZvdW5kXCIgKm5nSWY9XCIoIW91dFJlZmVyZW5jZXM/Lmxlbmd0aClcIj57eydlby5yZWZlcmVuY2VzLm9iamVjdC5ub3Rmb3VuZCcgfCB0cmFuc2xhdGV9fTwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLXdyYXBwZXJcIiAqbmdJZj1cIm91dFJlZmVyZW5jZXM/Lmxlbmd0aFwiPlxuICAgICAgICAgIDxhZy1ncmlkLWFuZ3VsYXIgI2dyaWRPdXQgW21vZHVsZXNdPVwibW9kdWxlc1wiIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uczJcIiBjbGFzcz1cImFnLXJlc3VsdFwiPjwvYWctZ3JpZC1hbmd1bGFyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs
CHANGED
|
@@ -49,10 +49,7 @@ export class FormElementComponent {
|
|
|
49
49
|
const multiselect = element.multiselect;
|
|
50
50
|
const dataMeta = element.dataMeta;
|
|
51
51
|
if (multiselect && dataMeta) {
|
|
52
|
-
element.dataToRender = dataMeta
|
|
53
|
-
dM.id = element.value[i];
|
|
54
|
-
return dM;
|
|
55
|
-
});
|
|
52
|
+
element.dataToRender = dataMeta;
|
|
56
53
|
}
|
|
57
54
|
if (!multiselect && dataMeta) {
|
|
58
55
|
dataMeta.id = element.value;
|
|
@@ -120,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
120
117
|
type: ViewChild,
|
|
121
118
|
args: ['formField']
|
|
122
119
|
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL29iamVjdC1mb3JtL29iamVjdC1mb3JtL2Zvcm0tZWxlbWVudC9mb3JtLWVsZW1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWZvcm0vb2JqZWN0LWZvcm0vZm9ybS1lbGVtZW50L2Zvcm0tZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxlQUFlLEVBQWMsS0FBSyxFQUFxQyxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3ZKLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUXRFLE1BQU0sT0FBTyxvQkFBb0I7SUFtQi9CLHFGQUFxRjtJQUNyRixJQUNJLGFBQWEsQ0FBQyxFQUE0QjtRQUM1QyxJQUFJLEVBQUUsRUFBRTtZQUVOLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDeEUsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3BELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDekI7WUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUU7Z0JBQzNELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUMx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dUJBQXVCLEVBQUUsSUFBSSxFQUFDO2dCQUNLLHVCQUF1QjtzQkFBN0YsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFDLHVCQUF1QixFQUFFLElBQUksRUFBQztnQkFjNUQsU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUlGLGFBQWE7c0JBRGhCLEtBQUs7dUJBQUMsU0FBUztnQkF3QlEsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSW5wdXQsIFF1ZXJ5TGlzdCwgUmVuZGVyZXIyLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtPYmplY3RGb3JtQ29udHJvbFdyYXBwZXJ9IGZyb20gJy4uL29iamVjdC1mb3JtLWNvbnRyb2wtd3JhcHBlcic7XG5pbXBvcnQge0Zvcm1FbGVtZW50VGVtcGxhdGV9IGZyb20gJy4vZm9ybS1lbGVtZW50LXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWZvcm0tZWxlbWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWVsZW1lbnQuY29tcG9uZW50LnNjc3MnXSxcbiAgLy9lbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1FbGVtZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGRyZW4oRm9ybUVsZW1lbnRUZW1wbGF0ZSwge2VtaXREaXN0aW5jdENoYW5nZXNPbmx5OiB0cnVlfSkgZWxlbWVudFRlbXBsYXRlczogUXVlcnlMaXN0PEZvcm1FbGVtZW50VGVtcGxhdGU+O1xuICBAQ29udGVudENoaWxkcmVuKEZvcm1FbGVtZW50VGVtcGxhdGUsIHtlbWl0RGlzdGluY3RDaGFuZ2VzT25seTogdHJ1ZX0pIGNvbnRlbnRFbGVtZW50VGVtcGxhdGVzOiBRdWVyeUxpc3Q8Rm9ybUVsZW1lbnRUZW1wbGF0ZT47XG5cblxuICBcbiAgZWxlbWVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBmb3JtRWxlbWVudFJlZjogYW55O1xuICBlbGVtZW50OiBPYmplY3RGb3JtQ29udHJvbFdyYXBwZXI7XG4gIGZvY3VzZWQ7XG4gIGlzTnVsbDogYm9vbGVhbjtcbiAgdGFnOiB7XG4gICAgbGFiZWw6IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nXG4gIH07XG5cbiAgQElucHV0KCkgc2l0dWF0aW9uO1xuICBASW5wdXQoKSBza2lwVG9nZ2xlOiBib29sZWFuO1xuXG4gIC8vIGVsZW1lbnQgaXMgc3VwcG9zZWQgdG8gYmUgYSBzcGVjaWFsIFVudHlwZWRGb3JtR3JvdXAgaG9sZGluZyBhIHNpbmdsZSBmb3JtIGVsZW1lbnRcbiAgQElucHV0KCdlbGVtZW50JylcbiAgc2V0IGVsZW1lbnRTZXR0ZXIoZWw6IE9iamVjdEZvcm1Db250cm9sV3JhcHBlcikge1xuICAgIGlmIChlbCkge1xuXG4gICAgICB0aGlzLmVsZW1lbnQgPSBlbDtcbiAgICAgIHRoaXMuZm9ybUVsZW1lbnRSZWYgPSBlbC5jb250cm9sc1tlbC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuY29udHJvbE5hbWVdO1xuICAgICAgaWYgKHRoaXMuZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQuaXNOb3RTZXRWYWx1ZSkge1xuICAgICAgICB0aGlzLmxhYmVsVG9nZ2xlZCh0cnVlKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnR5cGUgPT09ICdSRUZFUkVOQ0UnKSB7XG4gICAgICAgIHRoaXMuYWRkRGF0YVRvUmVuZGVyKHRoaXMuZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQudHlwZSA9PT0gJ0lEJykge1xuICAgICAgICB0aGlzLmZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm1pbmxlbiA9IDMyO1xuICAgICAgICB0aGlzLmZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm1heGxlbiA9IDMyO1xuICAgICAgfVxuICAgICAgdGhpcy5mZXRjaFRhZ3MoKTtcblxuICAgICAgaWYgKHRoaXMuZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVhZG9ubHkgJiYgdGhpcy5mb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZXF1aXJlZCkge1xuICAgICAgICB0aGlzLmZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlcXVpcmVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQFZpZXdDaGlsZCgnZm9ybUZpZWxkJykgZm9ybUZpZWxkOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRGF0YVRvUmVuZGVyKGVsZW1lbnQpIHtcbiAgICBjb25zdCBtdWx0aXNlbGVjdCA9IGVsZW1lbnQubXVsdGlzZWxlY3Q7XG4gICAgY29uc3QgZGF0YU1ldGEgPSBlbGVtZW50LmRhdGFNZXRhO1xuICAgIGlmIChtdWx0aXNlbGVjdCAmJiBkYXRhTWV0YSkge1xuICAgICAgZWxlbWVudC5kYXRhVG9SZW5kZXIgPSBkYXRhTWV0YS5tYXAoKGRNLCBpKSA9PiB7XG4gICAgICAgIGRNLmlkID0gZWxlbWVudC52YWx1ZVtpXTtcbiAgICAgICAgcmV0dXJuIGRNO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICghbXVsdGlzZWxlY3QgJiYgZGF0YU1ldGEpIHtcbiAgICAgIGRhdGFNZXRhLmlkID0gZWxlbWVudC52YWx1ZTtcbiAgICAgIGVsZW1lbnQuZGF0YVRvUmVuZGVyID0gW2RhdGFNZXRhXTtcbiAgICB9XG4gIH1cblxuICBsYWJlbFRvZ2dsZWQodG9nZ2xlZDogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5za2lwVG9nZ2xlICYmIHRoaXMuZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuc2l0dWF0aW9uID09PSAnU0VBUkNIJykge1xuICAgICAgY29uc3QgdG9nZ2xlQ2xhc3MgPSAnbGFiZWwtdG9nZ2xlZCc7XG4gICAgICB0aGlzLmlzTnVsbCA9IHRvZ2dsZWQ7XG4gICAgICBpZiAodG9nZ2xlZCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdG9nZ2xlQ2xhc3MpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHRvZ2dsZUNsYXNzKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQuaXNOb3RTZXRWYWx1ZSA9IHRvZ2dsZWQ7XG4gICAgICB0aGlzLmVsZW1lbnQudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cbiAgfVxuXG4gIG9yZ2FuaXphdGlvbkRhdGFNZXRhUmVzb2x2ZWQoZGF0YSkge1xuICAgIC8vIG5ldyBtZXRhIGRhdGEgd2lsbCBhbHdheXMgYXJyaXZlIGFzIGFycmF5IGV2ZW4gZm9yIHNpbmdsZSBpbnB1dHMsIHNvIHdlIGhhdmUgdG8gY29udmVydFxuICAgIHRoaXMuZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQuZGF0YU1ldGEgPSB0aGlzLmZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm11bHRpc2VsZWN0ID8gZGF0YSA6IGRhdGFbMF07XG4gIH1cblxuICBmZXRjaFRhZ3MoKSB7XG4gICAgdGhpcy50YWcgPSBudWxsO1xuICAgIGlmICh0aGlzLnNpdHVhdGlvbiA9PT0gJ0NSRUFURScgJiZcbiAgICAgICh0aGlzLmZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lmhhc093blByb3BlcnR5KCdkZWZhdWx0dmFsdWVmdW5jdGlvbicpIHx8IHRoaXMuZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQuaGFzT3duUHJvcGVydHkoJ2RlZmF1bHR2YWx1ZScpKSkge1xuICAgICAgdGhpcy50YWcgPSB0aGlzLmZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmRlZmF1bHR2YWx1ZWZ1bmN0aW9uID09PSAnRVhUUkFDVElPTicgPyB7XG4gICAgICAgIGxhYmVsOiAnZXgnLFxuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZm9ybS5lbGVtZW50LnRhZy5leCcpXG4gICAgICB9IDoge1xuICAgICAgICBsYWJlbDogJ2RmJyxcbiAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmZvcm0uZWxlbWVudC50YWcuZGYnKVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3QgdHBscyA9IFsuLi50aGlzLmVsZW1lbnRUZW1wbGF0ZXMudG9BcnJheSgpLCAuLi50aGlzLmNvbnRlbnRFbGVtZW50VGVtcGxhdGVzLnRvQXJyYXkoKV07XG4gICAgY29uc3QgZGlyID0gdHBscy5maW5kKHRwbCA9PiB0cGwucHJvcGVydHlUeXBlID09PSB0aGlzLmZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnR5cGUpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5lbGVtZW50VGVtcGxhdGUgPSBkaXIgPyBkaXIudGVtcGxhdGUgOiB1bmRlZmluZWRcbiAgICB9KVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1lbGVtZW50XCIgW2Zvcm1Hcm91cF09XCJlbGVtZW50XCIgKm5nSWY9XCJlbGVtZW50XCI+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGQgdC17e2Zvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnR5cGV9fVwiICNmb3JtRmllbGRcbiAgICBbbmdDbGFzc109XCJ7ZGlzYWJsZWQ6ICEhZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVhZG9ubHl9XCIgKm5nSWY9XCJlbGVtZW50VGVtcGxhdGVcIj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbGVtZW50VGVtcGxhdGU7IGNvbnRleHQ6IHtlbGVtZW50LCBmb3JtRWxlbWVudFJlZn1cIj48L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gdGhlIGZpZWxkcyBkZXNjcmlwdGlvbiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIiAqbmdJZj1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmRlc2NyaXB0aW9uXCI+e3tmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5kZXNjcmlwdGlvbn19PC9kaXY+XG5cbiAgICA8IS0tIGVycm9yL3ZhbGlkYXRpb24gbWVzc2FnZXMgLS0+XG4gICAgPGRpdiBjbGFzcz1cImVyci1tc2dcIiAqbmdJZj1cImZvcm1FbGVtZW50UmVmLmVycm9yc1wiPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiZm9ybUVsZW1lbnRSZWYuZXJyb3JzLmRhdGVyYW5nZVwiIHRyYW5zbGF0ZT5lby5mb3JtLnByb3BlcnR5LmRhdGVyYW5nZS5pbnZhbGlkPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZm9ybUVsZW1lbnRSZWYuZXJyb3JzLm51bWJlcnJhbmdlXCIgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkubnVtYmVycmFuZ2UuaW52YWxpZDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1FbGVtZW50UmVmLmVycm9ycy5udW1iZXJcIiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5udW1iZXI8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJmb3JtRWxlbWVudFJlZi5lcnJvcnMucHJlY2lzaW9uXCIgdHJhbnNsYXRlXG4gICAgICAgIFt0cmFuc2xhdGVQYXJhbXNdPVwiZm9ybUVsZW1lbnRSZWYuZXJyb3JzLnByZWNpc2lvbi50cmFuc2xhdGVWYWx1ZXNcIj5cbiAgICAgICAge3tmb3JtRWxlbWVudFJlZi5lcnJvcnMucHJlY2lzaW9uLnRyYW5zbGF0ZUtleX19PC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZm9ybUVsZW1lbnRSZWYuZXJyb3JzLnNjYWxlXCIgdHJhbnNsYXRlXG4gICAgICAgIFt0cmFuc2xhdGVQYXJhbXNdPVwiZm9ybUVsZW1lbnRSZWYuZXJyb3JzLnNjYWxlLnRyYW5zbGF0ZVZhbHVlc1wiPnt7Zm9ybUVsZW1lbnRSZWYuZXJyb3JzLnNjYWxlLnRyYW5zbGF0ZUtleX19XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1FbGVtZW50UmVmLmVycm9ycy5yZWdleCB8fCBmb3JtRWxlbWVudFJlZi5lcnJvcnMucGF0dGVyblwiIHRyYW5zbGF0ZT5cbiAgICAgICAgZW8uZm9ybS5wcm9wZXJ0eS5zdHJpbmcucmVnZXgubm9tYXRjaDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1FbGVtZW50UmVmLmVycm9ycy5jbGFzc2lmaWNhdGlvbmVtYWlsXCIgdHJhbnNsYXRlPlxuICAgICAgICBlby5mb3JtLnByb3BlcnR5LnN0cmluZy5lcnJvci5jbGFzc2lmaWNhdGlvbi5lbWFpbDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1FbGVtZW50UmVmLmVycm9ycy5jbGFzc2lmaWNhdGlvbnVybFwiIHRyYW5zbGF0ZT5lby5mb3JtLnByb3BlcnR5LnN0cmluZy5lcnJvci5jbGFzc2lmaWNhdGlvbi51cmxcbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1FbGVtZW50UmVmLmVycm9ycy5vbmx5V2hpdGVzcGFjZXNcIiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5zdHJpbmcuZXJyb3Iud2hpdGVzcGFjZXM8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJmb3JtRWxlbWVudFJlZi5lcnJvcnMuZGF0ZWNvbnRyb2xcIiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5kYXRlLmludmFsaWQ8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJmb3JtRWxlbWVudFJlZi5lcnJvcnMuY29kZXN5c3RlbVwiIHRyYW5zbGF0ZT5lby5mb3JtLnByb3BlcnR5LmNvZGVzeXN0ZW0udmFsdWUuaW52YWxpZDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1FbGVtZW50UmVmLmVycm9ycy5lb2Zvcm1TY3JpcHRcIj57e2Zvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmVycm9yLm1zZ319PC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZm9ybUVsZW1lbnRSZWYuZXJyb3JzLnJlcXVpcmVkXCIgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkucmVxdWlyZWQ8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJmb3JtRWxlbWVudFJlZi5lcnJvcnMubWF4bGVuZ3RoXCIgdHJhbnNsYXRlXG4gICAgICAgIFt0cmFuc2xhdGVQYXJhbXNdPVwie21heGxlbmd0aDogZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubWF4bGVufVwiPmVvLmZvcm0ucHJvcGVydHkubWF4bGVuZ3RoPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZm9ybUVsZW1lbnRSZWYuZXJyb3JzLm1pbmxlbmd0aFwiIHRyYW5zbGF0ZVxuICAgICAgICBbdHJhbnNsYXRlUGFyYW1zXT1cInttaW5sZW5ndGg6IGZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm1pbmxlbn1cIj5lby5mb3JtLnByb3BlcnR5Lm1pbmxlbmd0aDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1FbGVtZW50UmVmLmVycm9ycy5kZWxldGVkSURSZWZlcmVuY2VcIiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5pZHJlZmVyZW5jZS5kZWxldGVkPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZm9ybUVsZW1lbnRSZWYuZXJyb3JzLmRlbGV0ZWRPcmdPYmplY3RcIiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5vcmdvYmplY3QuZGVsZXRlZDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuXG5cblxuICA8IS0tIFNUUklORyAtLT5cbiAgPG5nLXRlbXBsYXRlIGVvRm9ybUVsZW1lbnRUZW1wbGF0ZSBwcm9wZXJ0eVR5cGU9XCJTVFJJTkdcIiBsZXQtZWxlbWVudD1cImVsZW1lbnRcIiBsZXQtZm9ybUVsZW1lbnRSZWY9XCJmb3JtRWxlbWVudFJlZlwiPlxuICAgIDxlby1mb3JtLWlucHV0IFt0YWddPVwidGFnXCJcbiAgICAgIFtsYWJlbF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5sYWJlbCA/IGZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmxhYmVsIDogZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubmFtZVwiXG4gICAgICBbaXNOdWxsXT1cImlzTnVsbFwiXG4gICAgICBbc2tpcFRvZ2dsZV09XCJza2lwVG9nZ2xlIHx8IHNpdHVhdGlvbiAhPT0gJ1NFQVJDSCdcIiAob25Ub2dnbGVMYWJlbCk9XCJsYWJlbFRvZ2dsZWQoJGV2ZW50KVwiXG4gICAgICBbcmVxdWlyZWRdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVxdWlyZWRcIiBbZGlzYWJsZWRdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVhZG9ubHlcIlxuICAgICAgW2ludmFsaWRdPVwiZm9ybUVsZW1lbnRSZWYuaW52YWxpZFwiPlxuXG4gICAgICA8ZW8tc3RyaW5nXG4gICAgICAgICpuZ0lmPVwiIWZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlZmVyZW5jZSAmJiBmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5jbGFzc2lmaWNhdGlvbiAhPT0gJ3NlbGVjdG9yJ1wiXG4gICAgICAgIFtzaXR1YXRpb25dPVwiZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuc2l0dWF0aW9uXCJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJlbGVtZW50Ll9lb0Zvcm1Db250cm9sV3JhcHBlci5jb250cm9sTmFtZVwiXG4gICAgICAgIFthdXRvY29tcGxldGVdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQuYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgW211bHRpc2VsZWN0XT1cIiEhZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubXVsdGlzZWxlY3RcIlxuICAgICAgICBbbXVsdGlsaW5lXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm11bHRpbGluZVwiXG4gICAgICAgIFtjbGFzc2lmaWNhdGlvbl09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5jbGFzc2lmaWNhdGlvblwiIFtyZWdleF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWdleFwiXG4gICAgICAgIFtxbmFtZV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5xbmFtZVwiIFtzaXplXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnNpemVcIlxuICAgICAgICBbcmVhZG9ubHldPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVhZG9ubHlcIiBbbWluTGVuZ3RoXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm1pbmxlblwiXG4gICAgICAgIFttYXhMZW5ndGhdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubWF4bGVuXCI+PC9lby1zdHJpbmc+XG5cbiAgICAgIDwhLS0gRHluYW1pYyBMaXN0IC0tPlxuICAgICAgPGVvLWR5bmFtaWMtbGlzdFxuICAgICAgICAqbmdJZj1cIiFmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWZlcmVuY2UgJiYgZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQuY2xhc3NpZmljYXRpb24gPT09ICdzZWxlY3RvcidcIlxuICAgICAgICBbc2l0dWF0aW9uXT1cImVsZW1lbnQuX2VvRm9ybUNvbnRyb2xXcmFwcGVyLnNpdHVhdGlvblwiIFtwaWNrZXJUaXRsZV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5sYWJlbFwiXG4gICAgICAgIFtmaWx0ZXJGdW5jdGlvbl09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5maWx0ZXJGdW5jdGlvblwiXG4gICAgICAgIFttdWx0aXNlbGVjdF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5tdWx0aXNlbGVjdFwiIFtsaXN0T2JqZWN0XT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lmxpc3RcIlxuICAgICAgICBbcmVhZG9ubHldPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVhZG9ubHlcIlxuICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImVsZW1lbnQuX2VvRm9ybUNvbnRyb2xXcmFwcGVyLmNvbnRyb2xOYW1lXCI+PC9lby1keW5hbWljLWxpc3Q+XG5cblxuICAgICAgPCEtLSBSZWZlcmVuY2UgLS0+XG4gICAgICA8ZW8tcmVmZXJlbmNlICpuZ0lmPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVmZXJlbmNlXCJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJlbGVtZW50Ll9lb0Zvcm1Db250cm9sV3JhcHBlci5jb250cm9sTmFtZVwiXG4gICAgICAgIFtyZWFkb25seV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWFkb25seVwiIFtyZWZlcmVuY2VdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVmZXJlbmNlXCJcbiAgICAgICAgW211bHRpc2VsZWN0XT1cIiEhZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubXVsdGlzZWxlY3QgPyBmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5tdWx0aXNlbGVjdCA6IHNpdHVhdGlvbiA9PT0gJ1NFQVJDSCdcIlxuICAgICAgICBbbWluTGVuZ3RoXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm1pbmxlblwiXG4gICAgICAgIFttYXhMZW5ndGhdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubWF4bGVuXCI+PC9lby1yZWZlcmVuY2U+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDwhLS0gSUQtUmVmZXJlbmNlIC0tPlxuICA8bmctdGVtcGxhdGUgZW9Gb3JtRWxlbWVudFRlbXBsYXRlIHByb3BlcnR5VHlwZT1cIlJFRkVSRU5DRVwiIGxldC1lbGVtZW50PVwiZWxlbWVudFwiIGxldC1mb3JtRWxlbWVudFJlZj1cImZvcm1FbGVtZW50UmVmXCI+XG4gICAgPGVvLWZvcm0taW5wdXQgW3RhZ109XCJ0YWdcIlxuICAgICAgW2xhYmVsXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmxhYmVsID8gZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubGFiZWwgOiBmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5uYW1lXCJcbiAgICAgIFtpc051bGxdPVwiaXNOdWxsXCJcbiAgICAgIFtza2lwVG9nZ2xlXT1cInNraXBUb2dnbGUgfHwgc2l0dWF0aW9uICE9PSAnU0VBUkNIJ1wiIChvblRvZ2dsZUxhYmVsKT1cImxhYmVsVG9nZ2xlZCgkZXZlbnQpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZXF1aXJlZFwiIFtkaXNhYmxlZF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWFkb25seVwiXG4gICAgICBbaW52YWxpZF09XCJmb3JtRWxlbWVudFJlZi5pbnZhbGlkXCI+XG5cbiAgICAgIDxlby1pZC1yZWZlcmVuY2UgW2Zvcm1Db250cm9sTmFtZV09XCJlbGVtZW50Ll9lb0Zvcm1Db250cm9sV3JhcHBlci5jb250cm9sTmFtZVwiXG4gICAgICAgIFtzaXR1YXRpb25dPVwiZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuc2l0dWF0aW9uXCJcbiAgICAgICAgW2RhdGFUb1JlbmRlcl09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5kYXRhVG9SZW5kZXJcIlxuICAgICAgICBbcmVmZXJlbmNlXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlZmVyZW5jZVwiIFtyZWFkb25seV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWFkb25seVwiXG4gICAgICAgIFttdWx0aXNlbGVjdF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5tdWx0aXNlbGVjdFwiIFtjb250ZXh0SWRdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQuY29udGV4dElkXCJcbiAgICAgICAgW2V4Y2VwdGlvbklEc109XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5leGNlcHRpb25JRHNcIlxuICAgICAgICBbcXVlcnlGaWx0ZXJzXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnF1ZXJ5RmlsdGVyc1wiXG4gICAgICAgIFtvYmplY3RUeXBlc0ZpbHRlcl09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5vYmplY3RUeXBlc0ZpbHRlclwiPjwvZW8taWQtcmVmZXJlbmNlPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIElEIC0tPlxuICA8bmctdGVtcGxhdGUgZW9Gb3JtRWxlbWVudFRlbXBsYXRlIHByb3BlcnR5VHlwZT1cIklEXCIgbGV0LWVsZW1lbnQ9XCJlbGVtZW50XCIgbGV0LWZvcm1FbGVtZW50UmVmPVwiZm9ybUVsZW1lbnRSZWZcIj5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbdGFnXT1cInRhZ1wiXG4gICAgICBbbGFiZWxdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubGFiZWwgPyBmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5sYWJlbCA6IGZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm5hbWVcIlxuICAgICAgW2lzTnVsbF09XCJpc051bGxcIlxuICAgICAgW3NraXBUb2dnbGVdPVwic2tpcFRvZ2dsZSB8fCBzaXR1YXRpb24gIT09ICdTRUFSQ0gnXCIgKG9uVG9nZ2xlTGFiZWwpPVwibGFiZWxUb2dnbGVkKCRldmVudClcIlxuICAgICAgW3JlcXVpcmVkXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlcXVpcmVkXCIgW2Rpc2FibGVkXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlYWRvbmx5XCJcbiAgICAgIFtpbnZhbGlkXT1cImZvcm1FbGVtZW50UmVmLmludmFsaWRcIj5cblxuICAgICAgPGVvLXN0cmluZyBbc2l0dWF0aW9uXT1cImVsZW1lbnQuX2VvRm9ybUNvbnRyb2xXcmFwcGVyLnNpdHVhdGlvblwiXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuY29udHJvbE5hbWVcIlxuICAgICAgICBbYXV0b2NvbXBsZXRlXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmF1dG9jb21wbGV0ZVwiXG4gICAgICAgIFttdWx0aXNlbGVjdF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5tdWx0aXNlbGVjdFwiIFtyZWdleF09XCInXlswLTlhLWZBLUZdKiQnXCJcbiAgICAgICAgW3FuYW1lXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnFuYW1lXCIgW3JlYWRvbmx5XT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlYWRvbmx5XCJcbiAgICAgICAgW21pbkxlbmd0aF09XCIzMlwiIFttYXhMZW5ndGhdPVwiMzJcIj48L2VvLXN0cmluZz5cblxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuXG4gIDwhLS0gQk9PTEVBTiAtLT5cbiAgPG5nLXRlbXBsYXRlIGVvRm9ybUVsZW1lbnRUZW1wbGF0ZSBwcm9wZXJ0eVR5cGU9XCJCT09MRUFOXCIgbGV0LWVsZW1lbnQ9XCJlbGVtZW50XCIgbGV0LWZvcm1FbGVtZW50UmVmPVwiZm9ybUVsZW1lbnRSZWZcIj5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbdGFnXT1cInRhZ1wiIGNsYXNzPVwiY2hlY2tib3hcIlxuICAgICAgW2xhYmVsXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmxhYmVsID8gZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubGFiZWwgOiBmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5uYW1lXCJcbiAgICAgIFtpc051bGxdPVwiaXNOdWxsXCJcbiAgICAgIFtza2lwVG9nZ2xlXT1cInNraXBUb2dnbGUgfHwgc2l0dWF0aW9uICE9PSAnU0VBUkNIJ1wiIFtyZXF1aXJlZF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZXF1aXJlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVhZG9ubHlcIiAob25Ub2dnbGVMYWJlbCk9XCJsYWJlbFRvZ2dsZWQoJGV2ZW50KVwiXG4gICAgICBbaW52YWxpZF09XCJmb3JtRWxlbWVudFJlZi5pbnZhbGlkXCI+XG5cbiAgICAgIDxlby1jaGVja2JveCBbZm9ybUNvbnRyb2xOYW1lXT1cImVsZW1lbnQuX2VvRm9ybUNvbnRyb2xXcmFwcGVyLmNvbnRyb2xOYW1lXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlcXVpcmVkXCIgW3JlYWRvbmx5XT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlYWRvbmx5XCJcbiAgICAgICAgW3RyaXN0YXRlXT1cInRydWVcIj48L2VvLWNoZWNrYm94PlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIENPREVTWVNURU0gLS0+XG4gIDxuZy10ZW1wbGF0ZSBlb0Zvcm1FbGVtZW50VGVtcGxhdGUgcHJvcGVydHlUeXBlPVwiQ09ERVNZU1RFTVwiIGxldC1lbGVtZW50PVwiZWxlbWVudFwiXG4gICAgbGV0LWZvcm1FbGVtZW50UmVmPVwiZm9ybUVsZW1lbnRSZWZcIj5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbdGFnXT1cInRhZ1wiXG4gICAgICBbbGFiZWxdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubGFiZWwgPyBmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5sYWJlbCA6IGZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm5hbWVcIlxuICAgICAgW2lzTnVsbF09XCJpc051bGxcIlxuICAgICAgW3NraXBUb2dnbGVdPVwic2tpcFRvZ2dsZSB8fCBzaXR1YXRpb24gIT09ICdTRUFSQ0gnXCIgKG9uVG9nZ2xlTGFiZWwpPVwibGFiZWxUb2dnbGVkKCRldmVudClcIlxuICAgICAgW3JlcXVpcmVkXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlcXVpcmVkXCIgW2Rpc2FibGVkXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlYWRvbmx5XCJcbiAgICAgIFtpbnZhbGlkXT1cImZvcm1FbGVtZW50UmVmLmludmFsaWRcIj5cblxuICAgICAgPGVvLWNvZGVzeXN0ZW0gW3NpdHVhdGlvbl09XCJlbGVtZW50Ll9lb0Zvcm1Db250cm9sV3JhcHBlci5zaXR1YXRpb25cIlxuICAgICAgICBbcGlja2VyVGl0bGVdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubGFiZWxcIiBbcmVhZG9ubHldPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVhZG9ubHlcIlxuICAgICAgICBbY29kZXN5c3RlbV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5jb2Rlc3lzdGVtXCJcbiAgICAgICAgW211bHRpc2VsZWN0XT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm11bHRpc2VsZWN0XCJcbiAgICAgICAgW2ZpbHRlckZ1bmN0aW9uXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmZpbHRlckZ1bmN0aW9uXCJcbiAgICAgICAgW2Rpc2FibGluZ0ZpbHRlckZ1bmN0aW9uXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmRpc2FibGluZ0ZpbHRlckZ1bmN0aW9uXCJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJlbGVtZW50Ll9lb0Zvcm1Db250cm9sV3JhcHBlci5jb250cm9sTmFtZVwiPjwvZW8tY29kZXN5c3RlbT5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPCEtLSBPUkdBTklaQVRJT04gLS0+XG4gIDxuZy10ZW1wbGF0ZSBlb0Zvcm1FbGVtZW50VGVtcGxhdGUgcHJvcGVydHlUeXBlPVwiT1JHQU5JWkFUSU9OXCIgbGV0LWVsZW1lbnQ9XCJlbGVtZW50XCJcbiAgICBsZXQtZm9ybUVsZW1lbnRSZWY9XCJmb3JtRWxlbWVudFJlZlwiPlxuICAgIDxlby1mb3JtLWlucHV0IFt0YWddPVwidGFnXCJcbiAgICAgIFtsYWJlbF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5sYWJlbCA/IGZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmxhYmVsIDogZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubmFtZVwiXG4gICAgICBbaXNOdWxsXT1cImlzTnVsbFwiXG4gICAgICBbc2tpcFRvZ2dsZV09XCJza2lwVG9nZ2xlIHx8IHNpdHVhdGlvbiAhPT0gJ1NFQVJDSCdcIiAob25Ub2dnbGVMYWJlbCk9XCJsYWJlbFRvZ2dsZWQoJGV2ZW50KVwiXG4gICAgICBbcmVxdWlyZWRdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVxdWlyZWRcIiBbZGlzYWJsZWRdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVhZG9ubHlcIlxuICAgICAgW2ludmFsaWRdPVwiZm9ybUVsZW1lbnRSZWYuaW52YWxpZFwiPlxuXG4gICAgICA8ZW8tb3JnYW5pemF0aW9uIFtzaXR1YXRpb25dPVwiZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuc2l0dWF0aW9uXCJcbiAgICAgICAgW2RhdGFNZXRhXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmRhdGFNZXRhXCIgW3JlYWRvbmx5XT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlYWRvbmx5XCJcbiAgICAgICAgW2ZpbHRlck9iamVjdF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5maWx0ZXJcIiBbbXVsdGlzZWxlY3RdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubXVsdGlzZWxlY3RcIlxuICAgICAgICAob25EYXRhTWV0YUNoYW5nZWQpPVwib3JnYW5pemF0aW9uRGF0YU1ldGFSZXNvbHZlZCgkZXZlbnQpXCJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJlbGVtZW50Ll9lb0Zvcm1Db250cm9sV3JhcHBlci5jb250cm9sTmFtZVwiPjwvZW8tb3JnYW5pemF0aW9uPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIE5VTUJFUiAtLT5cbiAgPG5nLXRlbXBsYXRlIGVvRm9ybUVsZW1lbnRUZW1wbGF0ZSBwcm9wZXJ0eVR5cGU9XCJOVU1CRVJcIiBsZXQtZWxlbWVudD1cImVsZW1lbnRcIiBsZXQtZm9ybUVsZW1lbnRSZWY9XCJmb3JtRWxlbWVudFJlZlwiPlxuICAgIDxlby1mb3JtLWlucHV0IFt0YWddPVwidGFnXCJcbiAgICAgIFtsYWJlbF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5sYWJlbCA/IGZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmxhYmVsIDogZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubmFtZVwiXG4gICAgICBbaXNOdWxsXT1cImlzTnVsbFwiXG4gICAgICBbc2tpcFRvZ2dsZV09XCJza2lwVG9nZ2xlIHx8IHNpdHVhdGlvbiAhPT0gJ1NFQVJDSCdcIiAob25Ub2dnbGVMYWJlbCk9XCJsYWJlbFRvZ2dsZWQoJGV2ZW50KVwiXG4gICAgICBbcmVxdWlyZWRdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVxdWlyZWRcIiBbZGlzYWJsZWRdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVhZG9ubHlcIlxuICAgICAgW2ludmFsaWRdPVwiZm9ybUVsZW1lbnRSZWYuaW52YWxpZFwiPlxuXG4gICAgICA8ZW8tbnVtYmVyICpuZ0lmPVwic2l0dWF0aW9uICE9PSAnU0VBUkNIJ1wiIFtyZWFkb25seV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWFkb25seVwiXG4gICAgICAgIFtwcmVjaXNpb25dPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucHJlY2lzaW9uXCIgW3NjYWxlXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnNjYWxlXCJcbiAgICAgICAgW2dyb3VwaW5nXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lmdyb3VwaW5nXCIgW3BhdHRlcm5dPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucGF0dGVyblwiXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuY29udHJvbE5hbWVcIj5cbiAgICAgIDwvZW8tbnVtYmVyPlxuXG4gICAgICA8ZW8tbnVtYmVyLXJhbmdlICpuZ0lmPVwic2l0dWF0aW9uID09PSAnU0VBUkNIJ1wiIFtyZWFkb25seV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWFkb25seVwiXG4gICAgICAgIFtwcmVjaXNpb25dPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucHJlY2lzaW9uXCIgW3NjYWxlXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnNjYWxlXCJcbiAgICAgICAgW2dyb3VwaW5nXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lmdyb3VwaW5nXCIgW3BhdHRlcm5dPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucGF0dGVyblwiXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuY29udHJvbE5hbWVcIj48L2VvLW51bWJlci1yYW5nZT5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPCEtLSBEQVRFIEFORCBEQVRFVElNRSAtLT5cbiAgPG5nLXRlbXBsYXRlIGVvRm9ybUVsZW1lbnRUZW1wbGF0ZSBwcm9wZXJ0eVR5cGU9XCJEQVRFVElNRVwiIGxldC1lbGVtZW50PVwiZWxlbWVudFwiIGxldC1mb3JtRWxlbWVudFJlZj1cImZvcm1FbGVtZW50UmVmXCI+XG4gICAgPGVvLWZvcm0taW5wdXQgW3RhZ109XCJ0YWdcIlxuICAgICAgW2xhYmVsXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmxhYmVsID8gZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubGFiZWwgOiBmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5uYW1lXCJcbiAgICAgIFtpc051bGxdPVwiaXNOdWxsXCJcbiAgICAgIFtza2lwVG9nZ2xlXT1cInNraXBUb2dnbGUgfHwgc2l0dWF0aW9uICE9PSAnU0VBUkNIJ1wiIChvblRvZ2dsZUxhYmVsKT1cImxhYmVsVG9nZ2xlZCgkZXZlbnQpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZXF1aXJlZFwiIFtkaXNhYmxlZF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWFkb25seVwiXG4gICAgICBbaW52YWxpZF09XCJmb3JtRWxlbWVudFJlZi5pbnZhbGlkXCI+XG5cbiAgICAgIDxlby1kYXRlICpuZ0lmPVwic2l0dWF0aW9uICE9PSAnU0VBUkNIJ1wiIFt3aXRoVGltZV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC53aXRodGltZVwiXG4gICAgICAgIFtyZWFkb25seV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWFkb25seVwiXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuY29udHJvbE5hbWVcIj48L2VvLWRhdGU+XG5cbiAgICAgIDxlby1kYXRldGltZS1yYW5nZSAqbmdJZj1cInNpdHVhdGlvbiA9PT0gJ1NFQVJDSCdcIiBbcGlja2VyVGl0bGVdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubGFiZWxcIlxuICAgICAgICBbd2l0aFRpbWVdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQud2l0aHRpbWVcIlxuICAgICAgICBbb3BlcmF0b3JdPVwiZWxlbWVudD8udmFsdWVbZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuY29udHJvbE5hbWVdID8gZWxlbWVudC52YWx1ZVtlbGVtZW50Ll9lb0Zvcm1Db250cm9sV3JhcHBlci5jb250cm9sTmFtZV0/Lm9wZXJhdG9yOiAnZXEnXCJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJlbGVtZW50Ll9lb0Zvcm1Db250cm9sV3JhcHBlci5jb250cm9sTmFtZVwiPjwvZW8tZGF0ZXRpbWUtcmFuZ2U+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICA8IS0tIHByaW50IG91dCB0aGUgdHlwZSBpZiBpdCdzIG5vdCBtYXRjaGluZyBhbnl0aGluZyAtLT5cbiAgPG5nLXRlbXBsYXRlICN0cGxVbmtub3duPjxiPnt7Zm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQudHlwZX19PC9iPjwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL29iamVjdC1mb3JtL29iamVjdC1mb3JtL2Zvcm0tZWxlbWVudC9mb3JtLWVsZW1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWZvcm0vb2JqZWN0LWZvcm0vZm9ybS1lbGVtZW50L2Zvcm0tZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxlQUFlLEVBQWMsS0FBSyxFQUFxQyxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3ZKLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUXRFLE1BQU0sT0FBTyxvQkFBb0I7SUFtQi9CLHFGQUFxRjtJQUNyRixJQUNJLGFBQWEsQ0FBQyxFQUE0QjtRQUM1QyxJQUFJLEVBQUUsRUFBRTtZQUVOLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDeEUsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3BELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDekI7WUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUU7Z0JBQzNELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUMx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RixhQUFhO3NCQURoQixLQUFLO3VCQUFDLFNBQVM7Z0JBd0JRLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIElucHV0LCBRdWVyeUxpc3QsIFJlbmRlcmVyMiwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7T2JqZWN0Rm9ybUNvbnRyb2xXcmFwcGVyfSBmcm9tICcuLi9vYmplY3QtZm9ybS1jb250cm9sLXdyYXBwZXInO1xuaW1wb3J0IHtGb3JtRWxlbWVudFRlbXBsYXRlfSBmcm9tICcuL2Zvcm0tZWxlbWVudC10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1mb3JtLWVsZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1lbGVtZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1lbGVtZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIC8vZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkcmVuKEZvcm1FbGVtZW50VGVtcGxhdGUsIHtlbWl0RGlzdGluY3RDaGFuZ2VzT25seTogdHJ1ZX0pIGVsZW1lbnRUZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxGb3JtRWxlbWVudFRlbXBsYXRlPjtcbiAgQENvbnRlbnRDaGlsZHJlbihGb3JtRWxlbWVudFRlbXBsYXRlLCB7ZW1pdERpc3RpbmN0Q2hhbmdlc09ubHk6IHRydWV9KSBjb250ZW50RWxlbWVudFRlbXBsYXRlczogUXVlcnlMaXN0PEZvcm1FbGVtZW50VGVtcGxhdGU+O1xuXG5cblxuICBlbGVtZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIGZvcm1FbGVtZW50UmVmOiBhbnk7XG4gIGVsZW1lbnQ6IE9iamVjdEZvcm1Db250cm9sV3JhcHBlcjtcbiAgZm9jdXNlZDtcbiAgaXNOdWxsOiBib29sZWFuO1xuICB0YWc6IHtcbiAgICBsYWJlbDogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmdcbiAgfTtcblxuICBASW5wdXQoKSBzaXR1YXRpb247XG4gIEBJbnB1dCgpIHNraXBUb2dnbGU6IGJvb2xlYW47XG5cbiAgLy8gZWxlbWVudCBpcyBzdXBwb3NlZCB0byBiZSBhIHNwZWNpYWwgVW50eXBlZEZvcm1Hcm91cCBob2xkaW5nIGEgc2luZ2xlIGZvcm0gZWxlbWVudFxuICBASW5wdXQoJ2VsZW1lbnQnKVxuICBzZXQgZWxlbWVudFNldHRlcihlbDogT2JqZWN0Rm9ybUNvbnRyb2xXcmFwcGVyKSB7XG4gICAgaWYgKGVsKSB7XG5cbiAgICAgIHRoaXMuZWxlbWVudCA9IGVsO1xuICAgICAgdGhpcy5mb3JtRWxlbWVudFJlZiA9IGVsLmNvbnRyb2xzW2VsLl9lb0Zvcm1Db250cm9sV3JhcHBlci5jb250cm9sTmFtZV07XG4gICAgICBpZiAodGhpcy5mb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5pc05vdFNldFZhbHVlKSB7XG4gICAgICAgIHRoaXMubGFiZWxUb2dnbGVkKHRydWUpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQudHlwZSA9PT0gJ1JFRkVSRU5DRScpIHtcbiAgICAgICAgdGhpcy5hZGREYXRhVG9SZW5kZXIodGhpcy5mb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5mb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC50eXBlID09PSAnSUQnKSB7XG4gICAgICAgIHRoaXMuZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubWlubGVuID0gMzI7XG4gICAgICAgIHRoaXMuZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubWF4bGVuID0gMzI7XG4gICAgICB9XG4gICAgICB0aGlzLmZldGNoVGFncygpO1xuXG4gICAgICBpZiAodGhpcy5mb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWFkb25seSAmJiB0aGlzLmZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMuZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVxdWlyZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAVmlld0NoaWxkKCdmb3JtRmllbGQnKSBmb3JtRmllbGQ6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBlbDogRWxlbWVudFJlZikge1xuICB9XG5cbiAgcHJpdmF0ZSBhZGREYXRhVG9SZW5kZXIoZWxlbWVudCkge1xuICAgIGNvbnN0IG11bHRpc2VsZWN0ID0gZWxlbWVudC5tdWx0aXNlbGVjdDtcbiAgICBjb25zdCBkYXRhTWV0YSA9IGVsZW1lbnQuZGF0YU1ldGE7XG4gICAgaWYgKG11bHRpc2VsZWN0ICYmIGRhdGFNZXRhKSB7XG4gICAgICBlbGVtZW50LmRhdGFUb1JlbmRlciA9IGRhdGFNZXRhO1xuICAgIH1cbiAgICBpZiAoIW11bHRpc2VsZWN0ICYmIGRhdGFNZXRhKSB7XG4gICAgICBkYXRhTWV0YS5pZCA9IGVsZW1lbnQudmFsdWU7XG4gICAgICBlbGVtZW50LmRhdGFUb1JlbmRlciA9IFtkYXRhTWV0YV07XG4gICAgfVxuICB9XG5cbiAgbGFiZWxUb2dnbGVkKHRvZ2dsZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuc2tpcFRvZ2dsZSAmJiB0aGlzLmVsZW1lbnQuX2VvRm9ybUNvbnRyb2xXcmFwcGVyLnNpdHVhdGlvbiA9PT0gJ1NFQVJDSCcpIHtcbiAgICAgIGNvbnN0IHRvZ2dsZUNsYXNzID0gJ2xhYmVsLXRvZ2dsZWQnO1xuICAgICAgdGhpcy5pc051bGwgPSB0b2dnbGVkO1xuICAgICAgaWYgKHRvZ2dsZWQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHRvZ2dsZUNsYXNzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0b2dnbGVDbGFzcyk7XG4gICAgICB9XG4gICAgICB0aGlzLmZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmlzTm90U2V0VmFsdWUgPSB0b2dnbGVkO1xuICAgICAgdGhpcy5lbGVtZW50LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG4gIH1cblxuICBvcmdhbml6YXRpb25EYXRhTWV0YVJlc29sdmVkKGRhdGEpIHtcbiAgICAvLyBuZXcgbWV0YSBkYXRhIHdpbGwgYWx3YXlzIGFycml2ZSBhcyBhcnJheSBldmVuIGZvciBzaW5nbGUgaW5wdXRzLCBzbyB3ZSBoYXZlIHRvIGNvbnZlcnRcbiAgICB0aGlzLmZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmRhdGFNZXRhID0gdGhpcy5mb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5tdWx0aXNlbGVjdCA/IGRhdGEgOiBkYXRhWzBdO1xuICB9XG5cbiAgZmV0Y2hUYWdzKCkge1xuICAgIHRoaXMudGFnID0gbnVsbDtcbiAgICBpZiAodGhpcy5zaXR1YXRpb24gPT09ICdDUkVBVEUnICYmXG4gICAgICAodGhpcy5mb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5oYXNPd25Qcm9wZXJ0eSgnZGVmYXVsdHZhbHVlZnVuY3Rpb24nKSB8fCB0aGlzLmZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lmhhc093blByb3BlcnR5KCdkZWZhdWx0dmFsdWUnKSkpIHtcbiAgICAgIHRoaXMudGFnID0gdGhpcy5mb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5kZWZhdWx0dmFsdWVmdW5jdGlvbiA9PT0gJ0VYVFJBQ1RJT04nID8ge1xuICAgICAgICBsYWJlbDogJ2V4JyxcbiAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmZvcm0uZWxlbWVudC50YWcuZXgnKVxuICAgICAgfSA6IHtcbiAgICAgICAgbGFiZWw6ICdkZicsXG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5mb3JtLmVsZW1lbnQudGFnLmRmJylcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHRwbHMgPSBbLi4udGhpcy5lbGVtZW50VGVtcGxhdGVzLnRvQXJyYXkoKSwgLi4udGhpcy5jb250ZW50RWxlbWVudFRlbXBsYXRlcy50b0FycmF5KCldO1xuICAgIGNvbnN0IGRpciA9IHRwbHMuZmluZCh0cGwgPT4gdHBsLnByb3BlcnR5VHlwZSA9PT0gdGhpcy5mb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC50eXBlKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZWxlbWVudFRlbXBsYXRlID0gZGlyID8gZGlyLnRlbXBsYXRlIDogdW5kZWZpbmVkXG4gICAgfSlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZWxlbWVudFwiIFtmb3JtR3JvdXBdPVwiZWxlbWVudFwiICpuZ0lmPVwiZWxlbWVudFwiPlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkIHQte3tmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC50eXBlfX1cIiAjZm9ybUZpZWxkXG4gICAgW25nQ2xhc3NdPVwie2Rpc2FibGVkOiAhIWZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlYWRvbmx5fVwiICpuZ0lmPVwiZWxlbWVudFRlbXBsYXRlXCI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZWxlbWVudFRlbXBsYXRlOyBjb250ZXh0OiB7ZWxlbWVudCwgZm9ybUVsZW1lbnRSZWZ9XCI+PC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIHRoZSBmaWVsZHMgZGVzY3JpcHRpb24gLS0+XG4gICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgKm5nSWY9XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5kZXNjcmlwdGlvblwiPnt7Zm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQuZGVzY3JpcHRpb259fTwvZGl2PlxuXG4gICAgPCEtLSBlcnJvci92YWxpZGF0aW9uIG1lc3NhZ2VzIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJlcnItbXNnXCIgKm5nSWY9XCJmb3JtRWxlbWVudFJlZi5lcnJvcnNcIj5cblxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1FbGVtZW50UmVmLmVycm9ycy5kYXRlcmFuZ2VcIiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5kYXRlcmFuZ2UuaW52YWxpZDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1FbGVtZW50UmVmLmVycm9ycy5udW1iZXJyYW5nZVwiIHRyYW5zbGF0ZT5lby5mb3JtLnByb3BlcnR5Lm51bWJlcnJhbmdlLmludmFsaWQ8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJmb3JtRWxlbWVudFJlZi5lcnJvcnMubnVtYmVyXCIgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkubnVtYmVyPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZm9ybUVsZW1lbnRSZWYuZXJyb3JzLnByZWNpc2lvblwiIHRyYW5zbGF0ZVxuICAgICAgICBbdHJhbnNsYXRlUGFyYW1zXT1cImZvcm1FbGVtZW50UmVmLmVycm9ycy5wcmVjaXNpb24udHJhbnNsYXRlVmFsdWVzXCI+XG4gICAgICAgIHt7Zm9ybUVsZW1lbnRSZWYuZXJyb3JzLnByZWNpc2lvbi50cmFuc2xhdGVLZXl9fTwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1FbGVtZW50UmVmLmVycm9ycy5zY2FsZVwiIHRyYW5zbGF0ZVxuICAgICAgICBbdHJhbnNsYXRlUGFyYW1zXT1cImZvcm1FbGVtZW50UmVmLmVycm9ycy5zY2FsZS50cmFuc2xhdGVWYWx1ZXNcIj57e2Zvcm1FbGVtZW50UmVmLmVycm9ycy5zY2FsZS50cmFuc2xhdGVLZXl9fVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJmb3JtRWxlbWVudFJlZi5lcnJvcnMucmVnZXggfHwgZm9ybUVsZW1lbnRSZWYuZXJyb3JzLnBhdHRlcm5cIiB0cmFuc2xhdGU+XG4gICAgICAgIGVvLmZvcm0ucHJvcGVydHkuc3RyaW5nLnJlZ2V4Lm5vbWF0Y2g8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJmb3JtRWxlbWVudFJlZi5lcnJvcnMuY2xhc3NpZmljYXRpb25lbWFpbFwiIHRyYW5zbGF0ZT5cbiAgICAgICAgZW8uZm9ybS5wcm9wZXJ0eS5zdHJpbmcuZXJyb3IuY2xhc3NpZmljYXRpb24uZW1haWw8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJmb3JtRWxlbWVudFJlZi5lcnJvcnMuY2xhc3NpZmljYXRpb251cmxcIiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5zdHJpbmcuZXJyb3IuY2xhc3NpZmljYXRpb24udXJsXG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJmb3JtRWxlbWVudFJlZi5lcnJvcnMub25seVdoaXRlc3BhY2VzXCIgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkuc3RyaW5nLmVycm9yLndoaXRlc3BhY2VzPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZm9ybUVsZW1lbnRSZWYuZXJyb3JzLmRhdGVjb250cm9sXCIgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkuZGF0ZS5pbnZhbGlkPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZm9ybUVsZW1lbnRSZWYuZXJyb3JzLmNvZGVzeXN0ZW1cIiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5jb2Rlc3lzdGVtLnZhbHVlLmludmFsaWQ8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJmb3JtRWxlbWVudFJlZi5lcnJvcnMuZW9mb3JtU2NyaXB0XCI+e3tmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5lcnJvci5tc2d9fTwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1FbGVtZW50UmVmLmVycm9ycy5yZXF1aXJlZFwiIHRyYW5zbGF0ZT5lby5mb3JtLnByb3BlcnR5LnJlcXVpcmVkPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZm9ybUVsZW1lbnRSZWYuZXJyb3JzLm1heGxlbmd0aFwiIHRyYW5zbGF0ZVxuICAgICAgICBbdHJhbnNsYXRlUGFyYW1zXT1cInttYXhsZW5ndGg6IGZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm1heGxlbn1cIj5lby5mb3JtLnByb3BlcnR5Lm1heGxlbmd0aDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1FbGVtZW50UmVmLmVycm9ycy5taW5sZW5ndGhcIiB0cmFuc2xhdGVcbiAgICAgICAgW3RyYW5zbGF0ZVBhcmFtc109XCJ7bWlubGVuZ3RoOiBmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5taW5sZW59XCI+ZW8uZm9ybS5wcm9wZXJ0eS5taW5sZW5ndGg8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJmb3JtRWxlbWVudFJlZi5lcnJvcnMuZGVsZXRlZElEUmVmZXJlbmNlXCIgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkuaWRyZWZlcmVuY2UuZGVsZXRlZDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1FbGVtZW50UmVmLmVycm9ycy5kZWxldGVkT3JnT2JqZWN0XCIgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkub3Jnb2JqZWN0LmRlbGV0ZWQ8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICA8L2Rpdj5cblxuXG5cbiAgPCEtLSBTVFJJTkcgLS0+XG4gIDxuZy10ZW1wbGF0ZSBlb0Zvcm1FbGVtZW50VGVtcGxhdGUgcHJvcGVydHlUeXBlPVwiU1RSSU5HXCIgbGV0LWVsZW1lbnQ9XCJlbGVtZW50XCIgbGV0LWZvcm1FbGVtZW50UmVmPVwiZm9ybUVsZW1lbnRSZWZcIj5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbdGFnXT1cInRhZ1wiXG4gICAgICBbbGFiZWxdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubGFiZWwgPyBmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5sYWJlbCA6IGZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm5hbWVcIlxuICAgICAgW2lzTnVsbF09XCJpc051bGxcIlxuICAgICAgW3NraXBUb2dnbGVdPVwic2tpcFRvZ2dsZSB8fCBzaXR1YXRpb24gIT09ICdTRUFSQ0gnXCIgKG9uVG9nZ2xlTGFiZWwpPVwibGFiZWxUb2dnbGVkKCRldmVudClcIlxuICAgICAgW3JlcXVpcmVkXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlcXVpcmVkXCIgW2Rpc2FibGVkXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlYWRvbmx5XCJcbiAgICAgIFtpbnZhbGlkXT1cImZvcm1FbGVtZW50UmVmLmludmFsaWRcIj5cblxuICAgICAgPGVvLXN0cmluZ1xuICAgICAgICAqbmdJZj1cIiFmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWZlcmVuY2UgJiYgZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQuY2xhc3NpZmljYXRpb24gIT09ICdzZWxlY3RvcidcIlxuICAgICAgICBbc2l0dWF0aW9uXT1cImVsZW1lbnQuX2VvRm9ybUNvbnRyb2xXcmFwcGVyLnNpdHVhdGlvblwiXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuY29udHJvbE5hbWVcIlxuICAgICAgICBbYXV0b2NvbXBsZXRlXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmF1dG9jb21wbGV0ZVwiXG4gICAgICAgIFttdWx0aXNlbGVjdF09XCIhIWZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm11bHRpc2VsZWN0XCJcbiAgICAgICAgW211bHRpbGluZV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5tdWx0aWxpbmVcIlxuICAgICAgICBbY2xhc3NpZmljYXRpb25dPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQuY2xhc3NpZmljYXRpb25cIiBbcmVnZXhdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVnZXhcIlxuICAgICAgICBbcW5hbWVdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucW5hbWVcIiBbc2l6ZV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5zaXplXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlYWRvbmx5XCIgW21pbkxlbmd0aF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5taW5sZW5cIlxuICAgICAgICBbbWF4TGVuZ3RoXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm1heGxlblwiPjwvZW8tc3RyaW5nPlxuXG4gICAgICA8IS0tIER5bmFtaWMgTGlzdCAtLT5cbiAgICAgIDxlby1keW5hbWljLWxpc3RcbiAgICAgICAgKm5nSWY9XCIhZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVmZXJlbmNlICYmIGZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmNsYXNzaWZpY2F0aW9uID09PSAnc2VsZWN0b3InXCJcbiAgICAgICAgW3NpdHVhdGlvbl09XCJlbGVtZW50Ll9lb0Zvcm1Db250cm9sV3JhcHBlci5zaXR1YXRpb25cIiBbcGlja2VyVGl0bGVdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubGFiZWxcIlxuICAgICAgICBbZmlsdGVyRnVuY3Rpb25dPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQuZmlsdGVyRnVuY3Rpb25cIlxuICAgICAgICBbbXVsdGlzZWxlY3RdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubXVsdGlzZWxlY3RcIiBbbGlzdE9iamVjdF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5saXN0XCJcbiAgICAgICAgW3JlYWRvbmx5XT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlYWRvbmx5XCJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJlbGVtZW50Ll9lb0Zvcm1Db250cm9sV3JhcHBlci5jb250cm9sTmFtZVwiPjwvZW8tZHluYW1pYy1saXN0PlxuXG5cbiAgICAgIDwhLS0gUmVmZXJlbmNlIC0tPlxuICAgICAgPGVvLXJlZmVyZW5jZSAqbmdJZj1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlZmVyZW5jZVwiXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuY29udHJvbE5hbWVcIlxuICAgICAgICBbcmVhZG9ubHldPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVhZG9ubHlcIiBbcmVmZXJlbmNlXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlZmVyZW5jZVwiXG4gICAgICAgIFttdWx0aXNlbGVjdF09XCIhIWZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm11bHRpc2VsZWN0ID8gZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubXVsdGlzZWxlY3QgOiBzaXR1YXRpb24gPT09ICdTRUFSQ0gnXCJcbiAgICAgICAgW21pbkxlbmd0aF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5taW5sZW5cIlxuICAgICAgICBbbWF4TGVuZ3RoXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm1heGxlblwiPjwvZW8tcmVmZXJlbmNlPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIElELVJlZmVyZW5jZSAtLT5cbiAgPG5nLXRlbXBsYXRlIGVvRm9ybUVsZW1lbnRUZW1wbGF0ZSBwcm9wZXJ0eVR5cGU9XCJSRUZFUkVOQ0VcIiBsZXQtZWxlbWVudD1cImVsZW1lbnRcIiBsZXQtZm9ybUVsZW1lbnRSZWY9XCJmb3JtRWxlbWVudFJlZlwiPlxuICAgIDxlby1mb3JtLWlucHV0IFt0YWddPVwidGFnXCJcbiAgICAgIFtsYWJlbF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5sYWJlbCA/IGZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmxhYmVsIDogZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubmFtZVwiXG4gICAgICBbaXNOdWxsXT1cImlzTnVsbFwiXG4gICAgICBbc2tpcFRvZ2dsZV09XCJza2lwVG9nZ2xlIHx8IHNpdHVhdGlvbiAhPT0gJ1NFQVJDSCdcIiAob25Ub2dnbGVMYWJlbCk9XCJsYWJlbFRvZ2dsZWQoJGV2ZW50KVwiXG4gICAgICBbcmVxdWlyZWRdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVxdWlyZWRcIiBbZGlzYWJsZWRdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVhZG9ubHlcIlxuICAgICAgW2ludmFsaWRdPVwiZm9ybUVsZW1lbnRSZWYuaW52YWxpZFwiPlxuXG4gICAgICA8ZW8taWQtcmVmZXJlbmNlIFtmb3JtQ29udHJvbE5hbWVdPVwiZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuY29udHJvbE5hbWVcIlxuICAgICAgICBbc2l0dWF0aW9uXT1cImVsZW1lbnQuX2VvRm9ybUNvbnRyb2xXcmFwcGVyLnNpdHVhdGlvblwiXG4gICAgICAgIFtkYXRhVG9SZW5kZXJdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQuZGF0YVRvUmVuZGVyXCJcbiAgICAgICAgW3JlZmVyZW5jZV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWZlcmVuY2VcIiBbcmVhZG9ubHldPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVhZG9ubHlcIlxuICAgICAgICBbbXVsdGlzZWxlY3RdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubXVsdGlzZWxlY3RcIiBbY29udGV4dElkXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmNvbnRleHRJZFwiXG4gICAgICAgIFtleGNlcHRpb25JRHNdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQuZXhjZXB0aW9uSURzXCJcbiAgICAgICAgW3F1ZXJ5RmlsdGVyc109XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5xdWVyeUZpbHRlcnNcIlxuICAgICAgICBbb2JqZWN0VHlwZXNGaWx0ZXJdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQub2JqZWN0VHlwZXNGaWx0ZXJcIj48L2VvLWlkLXJlZmVyZW5jZT5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPCEtLSBJRCAtLT5cbiAgPG5nLXRlbXBsYXRlIGVvRm9ybUVsZW1lbnRUZW1wbGF0ZSBwcm9wZXJ0eVR5cGU9XCJJRFwiIGxldC1lbGVtZW50PVwiZWxlbWVudFwiIGxldC1mb3JtRWxlbWVudFJlZj1cImZvcm1FbGVtZW50UmVmXCI+XG4gICAgPGVvLWZvcm0taW5wdXQgW3RhZ109XCJ0YWdcIlxuICAgICAgW2xhYmVsXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmxhYmVsID8gZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubGFiZWwgOiBmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5uYW1lXCJcbiAgICAgIFtpc051bGxdPVwiaXNOdWxsXCJcbiAgICAgIFtza2lwVG9nZ2xlXT1cInNraXBUb2dnbGUgfHwgc2l0dWF0aW9uICE9PSAnU0VBUkNIJ1wiIChvblRvZ2dsZUxhYmVsKT1cImxhYmVsVG9nZ2xlZCgkZXZlbnQpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZXF1aXJlZFwiIFtkaXNhYmxlZF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWFkb25seVwiXG4gICAgICBbaW52YWxpZF09XCJmb3JtRWxlbWVudFJlZi5pbnZhbGlkXCI+XG5cbiAgICAgIDxlby1zdHJpbmcgW3NpdHVhdGlvbl09XCJlbGVtZW50Ll9lb0Zvcm1Db250cm9sV3JhcHBlci5zaXR1YXRpb25cIlxuICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImVsZW1lbnQuX2VvRm9ybUNvbnRyb2xXcmFwcGVyLmNvbnRyb2xOYW1lXCJcbiAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5hdXRvY29tcGxldGVcIlxuICAgICAgICBbbXVsdGlzZWxlY3RdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubXVsdGlzZWxlY3RcIiBbcmVnZXhdPVwiJ15bMC05YS1mQS1GXSokJ1wiXG4gICAgICAgIFtxbmFtZV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5xbmFtZVwiIFtyZWFkb25seV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWFkb25seVwiXG4gICAgICAgIFttaW5MZW5ndGhdPVwiMzJcIiBbbWF4TGVuZ3RoXT1cIjMyXCI+PC9lby1zdHJpbmc+XG5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gIDwvbmctdGVtcGxhdGU+XG5cblxuICA8IS0tIEJPT0xFQU4gLS0+XG4gIDxuZy10ZW1wbGF0ZSBlb0Zvcm1FbGVtZW50VGVtcGxhdGUgcHJvcGVydHlUeXBlPVwiQk9PTEVBTlwiIGxldC1lbGVtZW50PVwiZWxlbWVudFwiIGxldC1mb3JtRWxlbWVudFJlZj1cImZvcm1FbGVtZW50UmVmXCI+XG4gICAgPGVvLWZvcm0taW5wdXQgW3RhZ109XCJ0YWdcIiBjbGFzcz1cImNoZWNrYm94XCJcbiAgICAgIFtsYWJlbF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5sYWJlbCA/IGZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmxhYmVsIDogZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubmFtZVwiXG4gICAgICBbaXNOdWxsXT1cImlzTnVsbFwiXG4gICAgICBbc2tpcFRvZ2dsZV09XCJza2lwVG9nZ2xlIHx8IHNpdHVhdGlvbiAhPT0gJ1NFQVJDSCdcIiBbcmVxdWlyZWRdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVxdWlyZWRcIlxuICAgICAgW2Rpc2FibGVkXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlYWRvbmx5XCIgKG9uVG9nZ2xlTGFiZWwpPVwibGFiZWxUb2dnbGVkKCRldmVudClcIlxuICAgICAgW2ludmFsaWRdPVwiZm9ybUVsZW1lbnRSZWYuaW52YWxpZFwiPlxuXG4gICAgICA8ZW8tY2hlY2tib3ggW2Zvcm1Db250cm9sTmFtZV09XCJlbGVtZW50Ll9lb0Zvcm1Db250cm9sV3JhcHBlci5jb250cm9sTmFtZVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZXF1aXJlZFwiIFtyZWFkb25seV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWFkb25seVwiXG4gICAgICAgIFt0cmlzdGF0ZV09XCJ0cnVlXCI+PC9lby1jaGVja2JveD5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPCEtLSBDT0RFU1lTVEVNIC0tPlxuICA8bmctdGVtcGxhdGUgZW9Gb3JtRWxlbWVudFRlbXBsYXRlIHByb3BlcnR5VHlwZT1cIkNPREVTWVNURU1cIiBsZXQtZWxlbWVudD1cImVsZW1lbnRcIlxuICAgIGxldC1mb3JtRWxlbWVudFJlZj1cImZvcm1FbGVtZW50UmVmXCI+XG4gICAgPGVvLWZvcm0taW5wdXQgW3RhZ109XCJ0YWdcIlxuICAgICAgW2xhYmVsXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmxhYmVsID8gZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubGFiZWwgOiBmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5uYW1lXCJcbiAgICAgIFtpc051bGxdPVwiaXNOdWxsXCJcbiAgICAgIFtza2lwVG9nZ2xlXT1cInNraXBUb2dnbGUgfHwgc2l0dWF0aW9uICE9PSAnU0VBUkNIJ1wiIChvblRvZ2dsZUxhYmVsKT1cImxhYmVsVG9nZ2xlZCgkZXZlbnQpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZXF1aXJlZFwiIFtkaXNhYmxlZF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWFkb25seVwiXG4gICAgICBbaW52YWxpZF09XCJmb3JtRWxlbWVudFJlZi5pbnZhbGlkXCI+XG5cbiAgICAgIDxlby1jb2Rlc3lzdGVtIFtzaXR1YXRpb25dPVwiZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuc2l0dWF0aW9uXCJcbiAgICAgICAgW3BpY2tlclRpdGxlXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmxhYmVsXCIgW3JlYWRvbmx5XT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlYWRvbmx5XCJcbiAgICAgICAgW2NvZGVzeXN0ZW1dPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQuY29kZXN5c3RlbVwiXG4gICAgICAgIFttdWx0aXNlbGVjdF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5tdWx0aXNlbGVjdFwiXG4gICAgICAgIFtmaWx0ZXJGdW5jdGlvbl09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5maWx0ZXJGdW5jdGlvblwiXG4gICAgICAgIFtkaXNhYmxpbmdGaWx0ZXJGdW5jdGlvbl09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5kaXNhYmxpbmdGaWx0ZXJGdW5jdGlvblwiXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuY29udHJvbE5hbWVcIj48L2VvLWNvZGVzeXN0ZW0+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDwhLS0gT1JHQU5JWkFUSU9OIC0tPlxuICA8bmctdGVtcGxhdGUgZW9Gb3JtRWxlbWVudFRlbXBsYXRlIHByb3BlcnR5VHlwZT1cIk9SR0FOSVpBVElPTlwiIGxldC1lbGVtZW50PVwiZWxlbWVudFwiXG4gICAgbGV0LWZvcm1FbGVtZW50UmVmPVwiZm9ybUVsZW1lbnRSZWZcIj5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbdGFnXT1cInRhZ1wiXG4gICAgICBbbGFiZWxdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubGFiZWwgPyBmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5sYWJlbCA6IGZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm5hbWVcIlxuICAgICAgW2lzTnVsbF09XCJpc051bGxcIlxuICAgICAgW3NraXBUb2dnbGVdPVwic2tpcFRvZ2dsZSB8fCBzaXR1YXRpb24gIT09ICdTRUFSQ0gnXCIgKG9uVG9nZ2xlTGFiZWwpPVwibGFiZWxUb2dnbGVkKCRldmVudClcIlxuICAgICAgW3JlcXVpcmVkXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlcXVpcmVkXCIgW2Rpc2FibGVkXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlYWRvbmx5XCJcbiAgICAgIFtpbnZhbGlkXT1cImZvcm1FbGVtZW50UmVmLmludmFsaWRcIj5cblxuICAgICAgPGVvLW9yZ2FuaXphdGlvbiBbc2l0dWF0aW9uXT1cImVsZW1lbnQuX2VvRm9ybUNvbnRyb2xXcmFwcGVyLnNpdHVhdGlvblwiXG4gICAgICAgIFtkYXRhTWV0YV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5kYXRhTWV0YVwiIFtyZWFkb25seV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5yZWFkb25seVwiXG4gICAgICAgIFtmaWx0ZXJPYmplY3RdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQuZmlsdGVyXCIgW211bHRpc2VsZWN0XT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm11bHRpc2VsZWN0XCJcbiAgICAgICAgKG9uRGF0YU1ldGFDaGFuZ2VkKT1cIm9yZ2FuaXphdGlvbkRhdGFNZXRhUmVzb2x2ZWQoJGV2ZW50KVwiXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuY29udHJvbE5hbWVcIj48L2VvLW9yZ2FuaXphdGlvbj5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPCEtLSBOVU1CRVIgLS0+XG4gIDxuZy10ZW1wbGF0ZSBlb0Zvcm1FbGVtZW50VGVtcGxhdGUgcHJvcGVydHlUeXBlPVwiTlVNQkVSXCIgbGV0LWVsZW1lbnQ9XCJlbGVtZW50XCIgbGV0LWZvcm1FbGVtZW50UmVmPVwiZm9ybUVsZW1lbnRSZWZcIj5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbdGFnXT1cInRhZ1wiXG4gICAgICBbbGFiZWxdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubGFiZWwgPyBmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5sYWJlbCA6IGZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50Lm5hbWVcIlxuICAgICAgW2lzTnVsbF09XCJpc051bGxcIlxuICAgICAgW3NraXBUb2dnbGVdPVwic2tpcFRvZ2dsZSB8fCBzaXR1YXRpb24gIT09ICdTRUFSQ0gnXCIgKG9uVG9nZ2xlTGFiZWwpPVwibGFiZWxUb2dnbGVkKCRldmVudClcIlxuICAgICAgW3JlcXVpcmVkXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlcXVpcmVkXCIgW2Rpc2FibGVkXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnJlYWRvbmx5XCJcbiAgICAgIFtpbnZhbGlkXT1cImZvcm1FbGVtZW50UmVmLmludmFsaWRcIj5cblxuICAgICAgPGVvLW51bWJlciAqbmdJZj1cInNpdHVhdGlvbiAhPT0gJ1NFQVJDSCdcIiBbcmVhZG9ubHldPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVhZG9ubHlcIlxuICAgICAgICBbcHJlY2lzaW9uXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnByZWNpc2lvblwiIFtzY2FsZV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5zY2FsZVwiXG4gICAgICAgIFtncm91cGluZ109XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5ncm91cGluZ1wiIFtwYXR0ZXJuXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnBhdHRlcm5cIlxuICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImVsZW1lbnQuX2VvRm9ybUNvbnRyb2xXcmFwcGVyLmNvbnRyb2xOYW1lXCI+XG4gICAgICA8L2VvLW51bWJlcj5cblxuICAgICAgPGVvLW51bWJlci1yYW5nZSAqbmdJZj1cInNpdHVhdGlvbiA9PT0gJ1NFQVJDSCdcIiBbcmVhZG9ubHldPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVhZG9ubHlcIlxuICAgICAgICBbcHJlY2lzaW9uXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnByZWNpc2lvblwiIFtzY2FsZV09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5zY2FsZVwiXG4gICAgICAgIFtncm91cGluZ109XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5ncm91cGluZ1wiIFtwYXR0ZXJuXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnBhdHRlcm5cIlxuICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImVsZW1lbnQuX2VvRm9ybUNvbnRyb2xXcmFwcGVyLmNvbnRyb2xOYW1lXCI+PC9lby1udW1iZXItcmFuZ2U+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDwhLS0gREFURSBBTkQgREFURVRJTUUgLS0+XG4gIDxuZy10ZW1wbGF0ZSBlb0Zvcm1FbGVtZW50VGVtcGxhdGUgcHJvcGVydHlUeXBlPVwiREFURVRJTUVcIiBsZXQtZWxlbWVudD1cImVsZW1lbnRcIiBsZXQtZm9ybUVsZW1lbnRSZWY9XCJmb3JtRWxlbWVudFJlZlwiPlxuICAgIDxlby1mb3JtLWlucHV0IFt0YWddPVwidGFnXCJcbiAgICAgIFtsYWJlbF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudC5sYWJlbCA/IGZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmxhYmVsIDogZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQubmFtZVwiXG4gICAgICBbaXNOdWxsXT1cImlzTnVsbFwiXG4gICAgICBbc2tpcFRvZ2dsZV09XCJza2lwVG9nZ2xlIHx8IHNpdHVhdGlvbiAhPT0gJ1NFQVJDSCdcIiAob25Ub2dnbGVMYWJlbCk9XCJsYWJlbFRvZ2dsZWQoJGV2ZW50KVwiXG4gICAgICBbcmVxdWlyZWRdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVxdWlyZWRcIiBbZGlzYWJsZWRdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVhZG9ubHlcIlxuICAgICAgW2ludmFsaWRdPVwiZm9ybUVsZW1lbnRSZWYuaW52YWxpZFwiPlxuXG4gICAgICA8ZW8tZGF0ZSAqbmdJZj1cInNpdHVhdGlvbiAhPT0gJ1NFQVJDSCdcIiBbd2l0aFRpbWVdPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQud2l0aHRpbWVcIlxuICAgICAgICBbcmVhZG9ubHldPVwiZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQucmVhZG9ubHlcIlxuICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImVsZW1lbnQuX2VvRm9ybUNvbnRyb2xXcmFwcGVyLmNvbnRyb2xOYW1lXCI+PC9lby1kYXRlPlxuXG4gICAgICA8ZW8tZGF0ZXRpbWUtcmFuZ2UgKm5nSWY9XCJzaXR1YXRpb24gPT09ICdTRUFSQ0gnXCIgW3BpY2tlclRpdGxlXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmxhYmVsXCJcbiAgICAgICAgW3dpdGhUaW1lXT1cImZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LndpdGh0aW1lXCJcbiAgICAgICAgW29wZXJhdG9yXT1cImVsZW1lbnQ/LnZhbHVlW2VsZW1lbnQuX2VvRm9ybUNvbnRyb2xXcmFwcGVyLmNvbnRyb2xOYW1lXSA/IGVsZW1lbnQudmFsdWVbZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuY29udHJvbE5hbWVdPy5vcGVyYXRvcjogJ2VxJ1wiXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZWxlbWVudC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuY29udHJvbE5hbWVcIj48L2VvLWRhdGV0aW1lLXJhbmdlPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgPCEtLSBwcmludCBvdXQgdGhlIHR5cGUgaWYgaXQncyBub3QgbWF0Y2hpbmcgYW55dGhpbmcgLS0+XG4gIDxuZy10ZW1wbGF0ZSAjdHBsVW5rbm93bj48Yj57e2Zvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LnR5cGV9fTwvYj48L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|