ngx-edu-sharing-ui 9.2.0 → 10.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/scss/mixins.scss +4 -4
- package/assets/scss/variables-scss.scss +5 -1
- package/assets/scss/variables.scss +1 -3
- package/esm2022/lib/actionbar/actionbar.component.mjs +38 -20
- package/esm2022/lib/common/edu-sharing-ui-common.module.mjs +8 -5
- package/esm2022/lib/directives/border-box-observer.directive.mjs +6 -6
- package/esm2022/lib/directives/check-text-overflow.directive.mjs +5 -5
- package/esm2022/lib/directives/drag-nodes/nodes-drag-source.directive.mjs +4 -4
- package/esm2022/lib/directives/drag-nodes/nodes-drag.directive.mjs +4 -4
- package/esm2022/lib/directives/drag-nodes/nodes-drop-target.directive.mjs +4 -4
- package/esm2022/lib/directives/focus-state.directive.mjs +4 -4
- package/esm2022/lib/directives/icon.directive.mjs +26 -9
- package/esm2022/lib/directives/infinite-scroll.directive.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown.component.mjs +25 -12
- package/esm2022/lib/edu-sharing-ui-configuration.mjs +4 -4
- package/esm2022/lib/edu-sharing-ui.module.mjs +5 -5
- package/esm2022/lib/index.mjs +88 -0
- package/esm2022/lib/list-items/format-duration.pipe.mjs +4 -4
- package/esm2022/lib/list-items/list-base/list-base.component.mjs +4 -4
- package/esm2022/lib/list-items/list-collection-info/list-collection-info.component.mjs +4 -4
- package/esm2022/lib/list-items/list-counts/list-counts.component.mjs +4 -4
- package/esm2022/lib/list-items/list-items.module.mjs +5 -5
- package/esm2022/lib/list-items/list-node-license/list-node-license.component.mjs +4 -4
- package/esm2022/lib/list-items/list-node-replication-source/list-node-replication-source.component.mjs +4 -4
- package/esm2022/lib/list-items/list-node-workflow/list-node-workflow.component.mjs +5 -5
- package/esm2022/lib/list-items/list-text/list-text.component.mjs +11 -11
- package/esm2022/lib/list-items/list-widget.mjs +4 -4
- package/esm2022/lib/list-items/node-row/node-row.component.mjs +4 -4
- package/esm2022/lib/list-items/node-source.pipe.mjs +4 -4
- package/esm2022/lib/mds/mds-helper.service.mjs +4 -4
- package/esm2022/lib/mds/mds.module.mjs +5 -5
- package/esm2022/lib/node-entries/drag-preview/drag-preview.component.mjs +5 -5
- package/esm2022/lib/node-entries/entries-model.mjs +1 -1
- package/esm2022/lib/node-entries/list-item-label.pipe.mjs +11 -8
- package/esm2022/lib/node-entries/node-entries-card/node-entries-card.component.mjs +9 -25
- package/esm2022/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.mjs +45 -38
- package/esm2022/lib/node-entries/node-entries-card-small/node-entries-card-small.component.mjs +7 -8
- package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +5 -5
- package/esm2022/lib/node-entries/node-entries-global.service.mjs +4 -4
- package/esm2022/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.mjs +4 -4
- package/esm2022/lib/node-entries/node-entries-table/node-entries-table.component.mjs +51 -56
- package/esm2022/lib/node-entries/node-entries-templates.service.mjs +4 -4
- package/esm2022/lib/node-entries/node-entries-wrapper.component.mjs +60 -22
- package/esm2022/lib/node-entries/node-entries.component.mjs +5 -5
- package/esm2022/lib/node-entries/node-entries.module.mjs +5 -5
- package/esm2022/lib/node-entries/node-rating/node-rating.component.mjs +4 -4
- package/esm2022/lib/node-entries/node-stats-badges/node-stats-badges.component.mjs +4 -4
- package/esm2022/lib/node-entries/node-type-badge/node-type-badge.component.mjs +4 -4
- package/esm2022/lib/node-entries/option-button/option-button.component.mjs +11 -9
- package/esm2022/lib/node-entries/preview-image/preview-image.component.mjs +4 -4
- package/esm2022/lib/node-entries/sort-select-panel/sort-select-panel.component.mjs +5 -5
- package/esm2022/lib/node-url/node-url.component.mjs +4 -4
- package/esm2022/lib/pipes/file-size.pipe.mjs +9 -8
- package/esm2022/lib/pipes/format-date.pipe.mjs +4 -4
- package/esm2022/lib/pipes/node-icon.pipe.mjs +4 -4
- package/esm2022/lib/pipes/node-image-size.pipe.mjs +4 -4
- package/esm2022/lib/pipes/node-image.pipe.mjs +4 -4
- package/esm2022/lib/pipes/node-license.pipe.mjs +24 -0
- package/esm2022/lib/pipes/node-person-name.pipe.mjs +4 -4
- package/esm2022/lib/pipes/node-title.pipe.mjs +21 -6
- package/esm2022/lib/pipes/option-tooltip.pipe.mjs +6 -6
- package/esm2022/lib/pipes/property-slug.pipe.mjs +4 -4
- package/esm2022/lib/pipes/replace-chars.pipe.mjs +4 -4
- package/esm2022/lib/pipes/vcard-name.pipe.mjs +10 -4
- package/esm2022/lib/services/abstract/keyboard-shortcuts.service.mjs +4 -4
- package/esm2022/lib/services/abstract/options-helper.service.mjs +1 -1
- package/esm2022/lib/services/accessibility.service.mjs +4 -4
- package/esm2022/lib/services/app-container.service.mjs +7 -4
- package/esm2022/lib/services/local-events.service.mjs +11 -4
- package/esm2022/lib/services/node-entries.service.mjs +31 -11
- package/esm2022/lib/services/node-helper.service.mjs +38 -6
- package/esm2022/lib/services/nodes-drag-drop.service.mjs +4 -4
- package/esm2022/lib/services/options-helper-data.service.mjs +7 -7
- package/esm2022/lib/services/render-helper.service.mjs +114 -0
- package/esm2022/lib/services/repo-url.service.mjs +4 -4
- package/esm2022/lib/services/search-helper.service.mjs +52 -0
- package/esm2022/lib/services/temporary-storage.service.mjs +4 -4
- package/esm2022/lib/services/ui.service.mjs +21 -6
- package/esm2022/lib/sort-dropdown/sort-dropdown.component.mjs +8 -8
- package/esm2022/lib/spinner/spinner.component.mjs +4 -4
- package/esm2022/lib/translations/translation-loader.mjs +54 -16
- package/esm2022/lib/translations/translations.module.mjs +8 -6
- package/esm2022/lib/translations/translations.service.mjs +36 -10
- package/esm2022/lib/types/api-models.mjs +1 -1
- package/esm2022/lib/types/injection-tokens.mjs +10 -1
- package/esm2022/lib/types/list-item.mjs +1 -1
- package/esm2022/lib/types/option-item.mjs +23 -7
- package/esm2022/lib/util/VCard.mjs +2 -2
- package/esm2022/ngx-edu-sharing-ui.mjs +2 -2
- package/esm2022/public-api.mjs +2 -0
- package/fesm2022/ngx-edu-sharing-ui.mjs +1004 -577
- package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -1
- package/index.d.ts +1 -1
- package/lib/actionbar/actionbar.component.d.ts +15 -4
- package/lib/common/edu-sharing-ui-common.module.d.ts +17 -16
- package/lib/directives/icon.directive.d.ts +5 -3
- package/lib/dropdown/dropdown.component.d.ts +10 -6
- package/lib/index.d.ts +84 -0
- package/lib/list-items/list-text/list-text.component.d.ts +4 -5
- package/lib/node-entries/entries-model.d.ts +4 -1
- package/lib/node-entries/list-item-label.pipe.d.ts +3 -1
- package/lib/node-entries/node-entries-card/node-entries-card.component.d.ts +1 -1
- package/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.d.ts +4 -2
- package/lib/node-entries/node-entries-card-small/node-entries-card-small.component.d.ts +1 -3
- package/lib/node-entries/node-entries-table/node-entries-table.component.d.ts +3 -1
- package/lib/node-entries/node-entries-wrapper.component.d.ts +9 -2
- package/lib/node-entries/option-button/option-button.component.d.ts +2 -1
- package/lib/pipes/node-license.pipe.d.ts +14 -0
- package/lib/pipes/node-title.pipe.d.ts +4 -1
- package/lib/pipes/option-tooltip.pipe.d.ts +1 -1
- package/lib/pipes/vcard-name.pipe.d.ts +1 -1
- package/lib/services/abstract/options-helper.service.d.ts +2 -2
- package/lib/services/app-container.service.d.ts +2 -1
- package/lib/services/local-events.service.d.ts +7 -0
- package/lib/services/node-entries.service.d.ts +10 -3
- package/lib/services/node-helper.service.d.ts +11 -2
- package/lib/services/options-helper-data.service.d.ts +7 -7
- package/lib/services/render-helper.service.d.ts +24 -0
- package/lib/services/search-helper.service.d.ts +21 -0
- package/lib/services/ui.service.d.ts +9 -2
- package/lib/sort-dropdown/sort-dropdown.component.d.ts +2 -2
- package/lib/translations/translation-loader.d.ts +3 -1
- package/lib/translations/translations.service.d.ts +6 -2
- package/lib/types/api-models.d.ts +9 -0
- package/lib/types/injection-tokens.d.ts +9 -0
- package/lib/types/list-item.d.ts +2 -2
- package/lib/types/option-item.d.ts +27 -10
- package/package.json +7 -7
- package/public-api.d.ts +1 -0
- package/esm2022/module.mjs +0 -84
- package/module.d.ts +0 -80
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
|
+
import * as Constants from 'ngx-edu-sharing-api';
|
|
2
3
|
import { RestConstants } from 'ngx-edu-sharing-api';
|
|
3
4
|
import { BehaviorSubject, merge } from 'rxjs';
|
|
4
5
|
import { switchMap } from 'rxjs/operators';
|
|
5
6
|
import { ListItem } from '../../types/list-item';
|
|
6
7
|
import { ListWidget } from '../list-widget';
|
|
7
|
-
import * as Constants from 'ngx-edu-sharing-api';
|
|
8
8
|
import { MdsHelperService } from '../../mds/mds-helper.service';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "../../services/node-helper.service";
|
|
@@ -17,10 +17,11 @@ import * as i7 from "../../pipes/format-date.pipe";
|
|
|
17
17
|
import * as i8 from "../../pipes/file-size.pipe";
|
|
18
18
|
import * as i9 from "../../pipes/node-image-size.pipe";
|
|
19
19
|
import * as i10 from "../../pipes/node-person-name.pipe";
|
|
20
|
-
import * as i11 from "../../pipes/
|
|
21
|
-
import * as i12 from "
|
|
22
|
-
import * as i13 from "
|
|
23
|
-
import * as i14 from "../
|
|
20
|
+
import * as i11 from "../../pipes/node-title.pipe";
|
|
21
|
+
import * as i12 from "../../pipes/vcard-name.pipe";
|
|
22
|
+
import * as i13 from "@ngx-translate/core";
|
|
23
|
+
import * as i14 from "../node-source.pipe";
|
|
24
|
+
import * as i15 from "../format-duration.pipe";
|
|
24
25
|
export class ListTextComponent extends ListWidget {
|
|
25
26
|
static { this.supportedItems = [
|
|
26
27
|
new ListItem('NODE', '*'),
|
|
@@ -39,7 +40,6 @@ export class ListTextComponent extends ListWidget {
|
|
|
39
40
|
this.VCARD_FIELDS = RestConstants.getAllVCardFields();
|
|
40
41
|
this.displayName$ = new BehaviorSubject(null);
|
|
41
42
|
}
|
|
42
|
-
async ngOnChanges(changes) { }
|
|
43
43
|
async ngOnInit() {
|
|
44
44
|
merge([this.nodeSubject, this.itemSubject])
|
|
45
45
|
.pipe(switchMap(() => this.updateDisplayname()))
|
|
@@ -96,11 +96,11 @@ export class ListTextComponent extends ListWidget {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
100
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
99
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListTextComponent, deps: [{ token: i1.NodeHelperService }, { token: i2.MdsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ListTextComponent, selector: "es-list-text", usesInheritance: true, ngImport: i0, template: "<label *ngIf=\"item.config?.showLabel\">\n {{ getI18n(item) | translate }}\n</label>\n<ng-container *ngIf=\"item.type === 'ORG' || item.type === 'GROUP'\">\n <ng-container [ngSwitch]=\"item.name\">\n <span *ngSwitchCase=\"'displayName'\" [class.type-danger]=\"isDangerousGroup()\">\n {{ $any(getNode()).profile?.displayName || $any(getNode()).authorityName }}\n </span>\n <span *ngSwitchCase=\"'groupType'\">\n {{ 'PERMISSIONS.GROUP_TYPE.' + $any(getNode()).profile?.groupType | translate }}\n </span>\n <span *ngSwitchDefault>\n {{ $any(getNode())[item.name] }}\n </span>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"item.type === 'USER'\">\n <span *ngIf=\"isUserProfileAttribute(item.name)\">\n {{ $any(getNode()).profile?.[item.name] }}\n </span>\n <span *ngIf=\"item.name === 'status'\">\n {{ 'PERMISSIONS.USER_STATUS.' + $any(getNode()).status.status | translate }}\n </span>\n <span *ngIf=\"!isUserProfileAttribute(item.name) && item.name !== 'status'\">\n {{ $any(getNode())[item.name] }}\n </span>\n</ng-container>\n<ng-container\n [ngSwitch]=\"item.name\"\n *ngIf=\"item.type === 'NODE' || item.type === 'NODE_PROPOSAL' || item.type === 'COLLECTION'\"\n>\n <span *ngSwitchCase=\"'name'\">\n {{ $any(getNode()).name }}\n </span>\n <span\n *ngSwitchCase=\"'mediatype'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'MEDIATYPE.' + $any(getNode()).mediatype | translate }}\n </span>\n <span *ngSwitchCase=\"'size'\" [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\">\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).size | formatSize }}\n </span>\n <span\n *ngSwitchCase=\"'dimensions'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()) | NodeImageSize }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:wf_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <es-list-node-workflow\n [item]=\"item\"\n [node]=\"node\"\n [provideLabel]=\"false\"\n ></es-list-node-workflow>\n <!--<span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'WORKFLOW.' + getWorkflowStatus().id | translate }}-->\n </span>\n <span\n *ngSwitchCase=\"'cm:creator'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).createdBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'cm:modifier'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cm:modifier' | translate }}:</span\n >\n {{ $any(getNode()).modifiedBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:replicationsource'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:replicationsource' | translate }}:</span\n >\n {{ $any(getNode()).properties['ccm:replicationsource'] | appNodeSource : { mode: 'text' } }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:commonlicense_key'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:commonlicense_key' | translate }}:</span\n >\n <ng-container *ngIf=\"$any(getNode()).properties['ccm:commonlicense_key'] as license\">\n {{\n license[0] === 'CUSTOM'\n ? $any(getNode()).properties['cclom:rights_description']\n : ('LICENSE.NAMES.' + $any(getNode()).properties['ccm:commonlicense_key']\n | translate : { fallback: $any(getNode()).properties['ccm:commonlicense_key'] })\n }}\n </ng-container>\n <ng-container *ngIf=\"!$any(getNode()).properties['ccm:commonlicense_key']\">\n {{ 'LICENSE.NAMES.NONE' | translate }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'ccm:educationaltypicalagerange'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:educationaltypicalagerange' | translate }}:</span\n >\n <ng-container\n *ngIf=\"\n $any(getNode()).properties['ccm:educationaltypicalagerange_from'] ||\n $any(getNode()).properties['ccm:educationaltypicalagerange_to']\n \"\n >\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_from'] }} -\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_to'] }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'cclom:duration'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cclom:duration' | translate }}:</span\n >\n {{ $any(getNode()).properties['cclom:duration']?.[0] | formatDuration }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:collection_proposal_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:collection_proposal_status' | translate }}:</span\n >\n <!-- use node instead of getNode() to access the raw proposal data! -->\n {{\n 'PROPOSAL_STATUS.' + $any(node).properties['ccm:collection_proposal_status']?.[0]\n | translate: { fallback: '' }\n }}\n </span>\n <span\n *ngSwitchDefault\n esCheckTextOverflow\n #text=\"esCheckTextOverflow\"\n [matTooltip]=\"\n provideLabel ? (getI18n(item) | translate) : text.hasTextOverflow() ? content.innerText : null\n \"\n #content\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n <ng-container *ngIf=\"['title', 'cm:title', 'cclom:title'].includes(item.name)\">\n {{ $any(getNode()) | nodeTitle }}\n </ng-container>\n <ng-container *ngIf=\"['name', 'cm:name'].includes(item.name)\">\n {{ $any(getNode()) | nodeTitle : { type: 'name' } }}\n </ng-container>\n <ng-container\n *ngIf=\"!['name', 'cm:name', 'title', 'cm:title', 'cclom:title'].includes(item.name)\"\n >\n <ng-container\n *ngIf=\"DATE_FIELDS.indexOf(item.name) === -1 && VCARD_FIELDS.indexOf(item.name) === -1\"\n >\n {{ displayName$ | async }}\n </ng-container>\n <ng-container *ngIf=\"DATE_FIELDS.includes(item.name)\">\n {{\n ($any(getNode()).properties[item.name + '_LONG']?.[0] || $any(getNode()).properties[item.name]?.[0])\n | formatDate: { async: true, time: true, relative: true }\n | async\n }}\n </ng-container>\n <ng-container *ngIf=\"VCARD_FIELDS.includes(item.name)\">\n {{\n $any(getNode()).properties[item.name]\n ? ($any(getNode()).properties[item.name] | vcardName)\n : ''\n }}\n </ng-container>\n </ng-container>\n </span>\n</ng-container>\n", styles: [".type-danger{color:var(--warning)}span{display:block}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i4.CheckTextOverflowDirective, selector: "[esCheckTextOverflow]", inputs: ["esCheckTextOverflow"], exportAs: ["esCheckTextOverflow"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i6.ListNodeWorkflowComponent, selector: "es-list-node-workflow" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.FormatDatePipe, name: "formatDate" }, { kind: "pipe", type: i8.FormatSizePipe, name: "formatSize" }, { kind: "pipe", type: i9.NodeImageSizePipe, name: "NodeImageSize" }, { kind: "pipe", type: i10.NodePersonNamePipe, name: "nodePersonName" }, { kind: "pipe", type: i11.NodeTitlePipe, name: "nodeTitle" }, { kind: "pipe", type: i12.VCardNamePipe, name: "vcardName" }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }, { kind: "pipe", type: i14.NodeSourcePipe, name: "appNodeSource" }, { kind: "pipe", type: i15.FormatDurationPipe, name: "formatDuration" }] }); }
|
|
101
101
|
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListTextComponent, decorators: [{
|
|
103
103
|
type: Component,
|
|
104
|
-
args: [{ selector: 'es-list-text', template: "<label *ngIf=\"item.config?.showLabel\">\n {{ getI18n(item) | translate }}\n</label>\n<ng-container *ngIf=\"item.type === 'ORG' || item.type === 'GROUP'\">\n <ng-container [ngSwitch]=\"item.name\">\n <span *ngSwitchCase=\"'displayName'\" [class.type-danger]=\"isDangerousGroup()\">\n {{ $any(getNode()).profile?.displayName || $any(getNode()).authorityName }}\n </span>\n <span *ngSwitchCase=\"'groupType'\">\n {{ 'PERMISSIONS.GROUP_TYPE.' + $any(getNode()).profile?.groupType | translate }}\n </span>\n <span *ngSwitchDefault>\n {{ $any(getNode())[item.name] }}\n </span>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"item.type === 'USER'\">\n <span *ngIf=\"isUserProfileAttribute(item.name)\">\n {{ $any(getNode()).profile?.[item.name] }}\n </span>\n <span *ngIf=\"item.name === 'status'\">\n {{ 'PERMISSIONS.USER_STATUS.' + $any(getNode()).status.status | translate }}\n </span>\n <span *ngIf=\"!isUserProfileAttribute(item.name) && item.name !== 'status'\">\n {{ $any(getNode())[item.name] }}\n </span>\n</ng-container>\n<ng-container\n [ngSwitch]=\"item.name\"\n *ngIf=\"item.type === 'NODE' || item.type === 'NODE_PROPOSAL' || item.type === 'COLLECTION'\"\n>\n <span *ngSwitchCase=\"'name'\">\n {{ $any(getNode()).name }}\n </span>\n <span\n *ngSwitchCase=\"'mediatype'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'MEDIATYPE.' + $any(getNode()).mediatype | translate }}\n </span>\n <span *ngSwitchCase=\"'size'\" [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\">\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).size | formatSize }}\n </span>\n <span\n *ngSwitchCase=\"'dimensions'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()) | NodeImageSize }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:wf_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <es-list-node-workflow\n [item]=\"item\"\n [node]=\"node\"\n [provideLabel]=\"false\"\n ></es-list-node-workflow>\n <!--<span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'WORKFLOW.' + getWorkflowStatus().id | translate }}-->\n </span>\n <span\n *ngSwitchCase=\"'cm:creator'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).createdBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'cm:modifier'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cm:modifier' | translate }}:</span\n >\n {{ $any(getNode()).modifiedBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:replicationsource'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:replicationsource' | translate }}:</span\n >\n {{ $any(getNode()).properties['ccm:replicationsource'] | appNodeSource: { mode: 'text' } }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:commonlicense_key'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:commonlicense_key' | translate }}:</span\n >\n <ng-container *ngIf=\"$any(getNode()).properties['ccm:commonlicense_key'] as license\">\n {{\n license[0] === 'CUSTOM'\n ? $any(getNode()).properties['cclom:rights_description']\n : ('LICENSE.NAMES.' + $any(getNode()).properties['ccm:commonlicense_key']\n | translate: { fallback: $any(getNode()).properties['ccm:commonlicense_key'] })\n }}\n </ng-container>\n <ng-container *ngIf=\"!$any(getNode()).properties['ccm:commonlicense_key']\">\n {{ 'LICENSE.NAMES.NONE' | translate }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'ccm:educationaltypicalagerange'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:educationaltypicalagerange' | translate }}:</span\n >\n <ng-container\n *ngIf=\"\n $any(getNode()).properties['ccm:educationaltypicalagerange_from'] ||\n $any(getNode()).properties['ccm:educationaltypicalagerange_to']\n \"\n >\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_from'] }} -\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_to'] }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'cclom:duration'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cclom:duration' | translate }}:</span\n >\n {{ $any(getNode()).properties['cclom:duration']?.[0] | formatDuration }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:collection_proposal_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:collection_proposal_status' | translate }}:</span\n >\n <!-- use node instead of getNode() to access the raw proposal data! -->\n {{\n 'PROPOSAL_STATUS.' + $any(node).properties['ccm:collection_proposal_status']?.[0]\n | translate: { fallback: '' }\n }}\n </span>\n <span\n *ngSwitchDefault\n esCheckTextOverflow\n #text=\"esCheckTextOverflow\"\n [matTooltip]=\"\n provideLabel ? (getI18n(item) | translate) : text.hasTextOverflow() ? content.innerText : null\n \"\n #content\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n <ng-container *ngIf=\"['title', 'cm:title', 'cclom:title'].includes(item.name)\">\n {{ $any(getNode()).
|
|
104
|
+
args: [{ selector: 'es-list-text', template: "<label *ngIf=\"item.config?.showLabel\">\n {{ getI18n(item) | translate }}\n</label>\n<ng-container *ngIf=\"item.type === 'ORG' || item.type === 'GROUP'\">\n <ng-container [ngSwitch]=\"item.name\">\n <span *ngSwitchCase=\"'displayName'\" [class.type-danger]=\"isDangerousGroup()\">\n {{ $any(getNode()).profile?.displayName || $any(getNode()).authorityName }}\n </span>\n <span *ngSwitchCase=\"'groupType'\">\n {{ 'PERMISSIONS.GROUP_TYPE.' + $any(getNode()).profile?.groupType | translate }}\n </span>\n <span *ngSwitchDefault>\n {{ $any(getNode())[item.name] }}\n </span>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"item.type === 'USER'\">\n <span *ngIf=\"isUserProfileAttribute(item.name)\">\n {{ $any(getNode()).profile?.[item.name] }}\n </span>\n <span *ngIf=\"item.name === 'status'\">\n {{ 'PERMISSIONS.USER_STATUS.' + $any(getNode()).status.status | translate }}\n </span>\n <span *ngIf=\"!isUserProfileAttribute(item.name) && item.name !== 'status'\">\n {{ $any(getNode())[item.name] }}\n </span>\n</ng-container>\n<ng-container\n [ngSwitch]=\"item.name\"\n *ngIf=\"item.type === 'NODE' || item.type === 'NODE_PROPOSAL' || item.type === 'COLLECTION'\"\n>\n <span *ngSwitchCase=\"'name'\">\n {{ $any(getNode()).name }}\n </span>\n <span\n *ngSwitchCase=\"'mediatype'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'MEDIATYPE.' + $any(getNode()).mediatype | translate }}\n </span>\n <span *ngSwitchCase=\"'size'\" [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\">\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).size | formatSize }}\n </span>\n <span\n *ngSwitchCase=\"'dimensions'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()) | NodeImageSize }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:wf_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <es-list-node-workflow\n [item]=\"item\"\n [node]=\"node\"\n [provideLabel]=\"false\"\n ></es-list-node-workflow>\n <!--<span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'WORKFLOW.' + getWorkflowStatus().id | translate }}-->\n </span>\n <span\n *ngSwitchCase=\"'cm:creator'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).createdBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'cm:modifier'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cm:modifier' | translate }}:</span\n >\n {{ $any(getNode()).modifiedBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:replicationsource'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:replicationsource' | translate }}:</span\n >\n {{ $any(getNode()).properties['ccm:replicationsource'] | appNodeSource : { mode: 'text' } }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:commonlicense_key'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:commonlicense_key' | translate }}:</span\n >\n <ng-container *ngIf=\"$any(getNode()).properties['ccm:commonlicense_key'] as license\">\n {{\n license[0] === 'CUSTOM'\n ? $any(getNode()).properties['cclom:rights_description']\n : ('LICENSE.NAMES.' + $any(getNode()).properties['ccm:commonlicense_key']\n | translate : { fallback: $any(getNode()).properties['ccm:commonlicense_key'] })\n }}\n </ng-container>\n <ng-container *ngIf=\"!$any(getNode()).properties['ccm:commonlicense_key']\">\n {{ 'LICENSE.NAMES.NONE' | translate }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'ccm:educationaltypicalagerange'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:educationaltypicalagerange' | translate }}:</span\n >\n <ng-container\n *ngIf=\"\n $any(getNode()).properties['ccm:educationaltypicalagerange_from'] ||\n $any(getNode()).properties['ccm:educationaltypicalagerange_to']\n \"\n >\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_from'] }} -\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_to'] }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'cclom:duration'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cclom:duration' | translate }}:</span\n >\n {{ $any(getNode()).properties['cclom:duration']?.[0] | formatDuration }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:collection_proposal_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:collection_proposal_status' | translate }}:</span\n >\n <!-- use node instead of getNode() to access the raw proposal data! -->\n {{\n 'PROPOSAL_STATUS.' + $any(node).properties['ccm:collection_proposal_status']?.[0]\n | translate: { fallback: '' }\n }}\n </span>\n <span\n *ngSwitchDefault\n esCheckTextOverflow\n #text=\"esCheckTextOverflow\"\n [matTooltip]=\"\n provideLabel ? (getI18n(item) | translate) : text.hasTextOverflow() ? content.innerText : null\n \"\n #content\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n <ng-container *ngIf=\"['title', 'cm:title', 'cclom:title'].includes(item.name)\">\n {{ $any(getNode()) | nodeTitle }}\n </ng-container>\n <ng-container *ngIf=\"['name', 'cm:name'].includes(item.name)\">\n {{ $any(getNode()) | nodeTitle : { type: 'name' } }}\n </ng-container>\n <ng-container\n *ngIf=\"!['name', 'cm:name', 'title', 'cm:title', 'cclom:title'].includes(item.name)\"\n >\n <ng-container\n *ngIf=\"DATE_FIELDS.indexOf(item.name) === -1 && VCARD_FIELDS.indexOf(item.name) === -1\"\n >\n {{ displayName$ | async }}\n </ng-container>\n <ng-container *ngIf=\"DATE_FIELDS.includes(item.name)\">\n {{\n ($any(getNode()).properties[item.name + '_LONG']?.[0] || $any(getNode()).properties[item.name]?.[0])\n | formatDate: { async: true, time: true, relative: true }\n | async\n }}\n </ng-container>\n <ng-container *ngIf=\"VCARD_FIELDS.includes(item.name)\">\n {{\n $any(getNode()).properties[item.name]\n ? ($any(getNode()).properties[item.name] | vcardName)\n : ''\n }}\n </ng-container>\n </ng-container>\n </span>\n</ng-container>\n", styles: [".type-danger{color:var(--warning)}span{display:block}\n"] }]
|
|
105
105
|
}], ctorParameters: () => [{ type: i1.NodeHelperService }, { type: i2.MdsService }, { type: i0.ChangeDetectorRef }] });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9saXN0LXRleHQvbGlzdC10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9saXN0LXRleHQvbGlzdC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQWtDLGFBQWEsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEtBQUssU0FBUyxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBT2hFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxVQUFVO2FBQ3RDLG1CQUFjLEdBQUc7UUFDcEIsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQztRQUN6QixJQUFJLFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDO1FBQ2xDLElBQUksUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUM7UUFDL0IsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztRQUN4QixJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUs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LENBQUMsQ0FBQyxDQUFDO1lBQzVDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQzs4R0F4RlEsaUJBQWlCO2tHQUFqQixpQkFBaUIsZ0dDZjlCLDJuT0F1TEE7OzJGRHhLYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0ksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWRzU2VydmljZSwgTm9kZSwgT3JnYW5pemF0aW9uLCBSZXN0Q29uc3RhbnRzLCBQcm9wb3NhbE5vZGUgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnLi4vLi4vdHlwZXMvbGlzdC1pdGVtJztcbmltcG9ydCB7IExpc3RXaWRnZXQgfSBmcm9tICcuLi9saXN0LXdpZGdldCc7XG5pbXBvcnQgeyBOb2RlSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vZGUtaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgQ29uc3RhbnRzIGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgTWRzSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL21kcy9tZHMtaGVscGVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VzLWxpc3QtdGV4dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtdGV4dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGlzdC10ZXh0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIExpc3RUZXh0Q29tcG9uZW50IGV4dGVuZHMgTGlzdFdpZGdldCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgc3RhdGljIHN1cHBvcnRlZEl0ZW1zID0gW1xuICAgICAgICBuZXcgTGlzdEl0ZW0oJ05PREUnLCAnKicpLFxuICAgICAgICBuZXcgTGlzdEl0ZW0oJ05PREVfUFJPUE9TQUwnLCAnKicpLFxuICAgICAgICBuZXcgTGlzdEl0ZW0oJ0NPTExFQ1RJT04nLCAnKicpLFxuICAgICAgICBuZXcgTGlzdEl0ZW0oJ09SRycsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnR1JPVVAnLCAnKicpLFxuICAgICAgICBuZXcgTGlzdEl0ZW0oJ1VTRVInLCAnKicpLFxuICAgIF07XG4gICAgcmVhZG9ubHkgREFURV9GSUVMRFMgPSBSZXN0Q29uc3RhbnRzLkRBVEVfRklFTERTO1xuICAgIHJlYWRvbmx5IFZDQVJEX0ZJRUxEUyA9IFJlc3RDb25zdGFudHMuZ2V0QWxsVkNhcmRGaWVsZHMoKTtcbiAgICBkaXNwbGF5TmFtZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4obnVsbCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBub2RlSGVscGVyOiBOb2RlSGVscGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBtZHM6IE1kc1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHt9XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgbWVyZ2UoW3RoaXMubm9kZVN1YmplY3QsIHRoaXMuaXRlbVN1YmplY3RdKVxuICAgICAgICAgICAgLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMudXBkYXRlRGlzcGxheW5hbWUoKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkaXNwbGF5TmFtZSkgPT4ge30pO1xuICAgIH1cbiAgICBnZXROb2RlKCkge1xuICAgICAgICBpZiAodGhpcy5pdGVtLnR5cGUgPT09ICdOT0RFX1BST1BPU0FMJykge1xuICAgICAgICAgICAgcmV0dXJuICh0aGlzLm5vZGUgYXMgUHJvcG9zYWxOb2RlKS5wcm9wb3NhbCB8fCB0aGlzLm5vZGU7XG4gICAgICAgIH0gZWxzZSBpZiAoKHRoaXMubm9kZSBhcyBOb2RlKS50eXBlID09PSBSZXN0Q29uc3RhbnRzLkNDTV9UWVBFX0NPTExFQ1RJT05fUFJPUE9TQUwpIHtcbiAgICAgICAgICAgIHJldHVybiAodGhpcy5ub2RlIGFzIE5vZGUpLnJlbGF0aW9ucz8uT3JpZ2luYWwgPz8gdGhpcy5ub2RlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLm5vZGU7XG4gICAgfVxuXG4gICAgaXNVc2VyUHJvZmlsZUF0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIFJlc3RDb25zdGFudHMuQVVUSE9SSVRZX0ZJUlNUTkFNRSxcbiAgICAgICAgICAgICAgICBSZXN0Q29uc3RhbnRzLkFVVEhPUklUWV9MQVNUTkFNRSxcbiAgICAgICAgICAgICAgICBSZXN0Q29uc3RhbnRzLkFVVEhPUklUWV9FTUFJTCxcbiAgICAgICAgICAgIF0uaW5kZXhPZihhdHRyaWJ1dGUpICE9PSAtMVxuICAgICAgICApO1xuICAgIH1cbiAgICBnZXRXb3JrZmxvd1N0YXR1cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZUhlbHBlci5nZXRXb3JrZmxvd1N0YXR1cyh0aGlzLm5vZGUgYXMgTm9kZSkuY3VycmVudDtcbiAgICB9XG5cbiAgICBnZXRJMThuKGl0ZW06IExpc3RJdGVtKSB7XG4gICAgICAgIHJldHVybiAoaXRlbS50eXBlID09PSAnTk9ERV9QUk9QT1NBTCcgPyAnTk9ERV9QUk9QT1NBTCcgOiAnTk9ERScpICsgJy4nICsgaXRlbS5uYW1lO1xuICAgIH1cblxuICAgIGlzRGFuZ2Vyb3VzR3JvdXAoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAodGhpcy5ub2RlIGFzIE9yZ2FuaXphdGlvbikuYXV0aG9yaXR5TmFtZSA9PT1cbiAgICAgICAgICAgIFJlc3RDb25zdGFudHMuR1JPVVBfQUxGUkVTQ09fQURNSU5JU1RSQVRPUlNcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIHVwZGF0ZURpc3BsYXluYW1lKCkge1xuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlKCkgYXMgTm9kZTtcbiAgICAgICAgaWYgKCFub2RlLnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheU5hbWUkLm5leHQoJycpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGlzcGxheU5hbWUkLm5leHQoXG4gICAgICAgICAgICBub2RlLnByb3BlcnRpZXNbdGhpcy5pdGVtLm5hbWUgKyAnX0RJU1BMQVlOQU1FJ10/Lmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICA/IG5vZGUucHJvcGVydGllc1t0aGlzLml0ZW0ubmFtZSArICdfRElTUExBWU5BTUUnXS5qb2luKCcsICcpXG4gICAgICAgICAgICAgICAgOiBub2RlLnByb3BlcnRpZXNbdGhpcy5pdGVtLm5hbWVdPy5qb2luKCcsICcpLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IG1kcyA9IGF3YWl0IHRoaXMubWRzXG4gICAgICAgICAgICAuZ2V0TWV0YWRhdGFTZXQoe1xuICAgICAgICAgICAgICAgIHJlcG9zaXRvcnk6IG5vZGUucmVmPy5yZXBvIHx8IENvbnN0YW50cy5IT01FX1JFUE9TSVRPUlksXG4gICAgICAgICAgICAgICAgbWV0YWRhdGFTZXQ6IG5vZGUubWV0YWRhdGFzZXQgfHwgQ29uc3RhbnRzLkRFRkFVTFQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xuICAgICAgICBjb25zdCB3aWRnZXQgPSBNZHNIZWxwZXJTZXJ2aWNlLmdldFdpZGdldCh0aGlzLml0ZW0ubmFtZSwgbnVsbCwgbWRzLndpZGdldHMpO1xuICAgICAgICBpZiAod2lkZ2V0Py52YWx1ZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGkxOG4gPSBub2RlLnByb3BlcnRpZXNbdGhpcy5pdGVtLm5hbWVdXG4gICAgICAgICAgICAgICAgPy5tYXAoKHByb3ApID0+IHdpZGdldC52YWx1ZXMuZmlsdGVyKCh2KSA9PiB2LmlkID09PSBwcm9wKT8uWzBdPy5jYXB0aW9uKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGNhcCkgPT4gISFjYXApO1xuICAgICAgICAgICAgaWYgKGkxOG4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlOYW1lJC5uZXh0KGkxOG4uam9pbignLCAnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bGFiZWwgKm5nSWY9XCJpdGVtLmNvbmZpZz8uc2hvd0xhYmVsXCI+XG4gIHt7IGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUgfX1cbjwvbGFiZWw+XG48bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnT1JHJyB8fCBpdGVtLnR5cGUgPT09ICdHUk9VUCdcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaXRlbS5uYW1lXCI+XG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidkaXNwbGF5TmFtZSdcIiBbY2xhc3MudHlwZS1kYW5nZXJdPVwiaXNEYW5nZXJvdXNHcm91cCgpXCI+XG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvZmlsZT8uZGlzcGxheU5hbWUgfHwgJGFueShnZXROb2RlKCkpLmF1dGhvcml0eU5hbWUgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidncm91cFR5cGUnXCI+XG4gICAgICB7eyAnUEVSTUlTU0lPTlMuR1JPVVBfVFlQRS4nICsgJGFueShnZXROb2RlKCkpLnByb2ZpbGU/Lmdyb3VwVHlwZSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAge3sgJGFueShnZXROb2RlKCkpW2l0ZW0ubmFtZV0gfX1cbiAgICA8L3NwYW4+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG48bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnVVNFUidcIj5cbiAgPHNwYW4gKm5nSWY9XCJpc1VzZXJQcm9maWxlQXR0cmlidXRlKGl0ZW0ubmFtZSlcIj5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvZmlsZT8uW2l0ZW0ubmFtZV0gfX1cbiAgPC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cIml0ZW0ubmFtZSA9PT0gJ3N0YXR1cydcIj5cbiAgICB7eyAnUEVSTUlTU0lPTlMuVVNFUl9TVEFUVVMuJyArICRhbnkoZ2V0Tm9kZSgpKS5zdGF0dXMuc3RhdHVzIHwgdHJhbnNsYXRlIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCIhaXNVc2VyUHJvZmlsZUF0dHJpYnV0ZShpdGVtLm5hbWUpICYmIGl0ZW0ubmFtZSAhPT0gJ3N0YXR1cydcIj5cbiAgICB7eyAkYW55KGdldE5vZGUoKSlbaXRlbS5uYW1lXSB9fVxuICA8L3NwYW4+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXJcbiAgW25nU3dpdGNoXT1cIml0ZW0ubmFtZVwiXG4gICpuZ0lmPVwiaXRlbS50eXBlID09PSAnTk9ERScgfHwgaXRlbS50eXBlID09PSAnTk9ERV9QUk9QT1NBTCcgfHwgaXRlbS50eXBlID09PSAnQ09MTEVDVElPTidcIlxuPlxuICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ25hbWUnXCI+XG4gICAge3sgJGFueShnZXROb2RlKCkpLm5hbWUgfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInbWVkaWF0eXBlJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiPnt7IGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUgfX06PC9zcGFuPlxuICAgIHt7ICdNRURJQVRZUEUuJyArICRhbnkoZ2V0Tm9kZSgpKS5tZWRpYXR5cGUgfCB0cmFuc2xhdGUgfX1cbiAgPC9zcGFuPlxuICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3NpemUnXCIgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSB9fTo8L3NwYW4+XG4gICAge3sgJGFueShnZXROb2RlKCkpLnNpemUgfCBmb3JtYXRTaXplIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2RpbWVuc2lvbnMnXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSB9fTo8L3NwYW4+XG4gICAge3sgJGFueShnZXROb2RlKCkpIHwgTm9kZUltYWdlU2l6ZSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidjY206d2Zfc3RhdHVzJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8ZXMtbGlzdC1ub2RlLXdvcmtmbG93XG4gICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgIFtub2RlXT1cIm5vZGVcIlxuICAgICAgW3Byb3ZpZGVMYWJlbF09XCJmYWxzZVwiXG4gICAgPjwvZXMtbGlzdC1ub2RlLXdvcmtmbG93PlxuICAgIDwhLS08c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiPnt7IGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUgfX06PC9zcGFuPlxuICAgIHt7ICdXT1JLRkxPVy4nICsgZ2V0V29ya2Zsb3dTdGF0dXMoKS5pZCB8IHRyYW5zbGF0ZSB9fS0tPlxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidjbTpjcmVhdG9yJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiPnt7IGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUgfX06PC9zcGFuPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS5jcmVhdGVkQnkgfCBub2RlUGVyc29uTmFtZSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidjbTptb2RpZmllcidcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgPnt7ICdOT0RFLmNtOm1vZGlmaWVyJyB8IHRyYW5zbGF0ZSB9fTo8L3NwYW5cbiAgICA+XG4gICAge3sgJGFueShnZXROb2RlKCkpLm1vZGlmaWVkQnkgfCBub2RlUGVyc29uTmFtZSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidjY206cmVwbGljYXRpb25zb3VyY2UnXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgID57eyAnTk9ERS5jY206cmVwbGljYXRpb25zb3VyY2UnIHwgdHJhbnNsYXRlIH19Ojwvc3BhblxuICAgID5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOnJlcGxpY2F0aW9uc291cmNlJ10gfCBhcHBOb2RlU291cmNlOiB7IG1vZGU6ICd0ZXh0JyB9IH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NjbTpjb21tb25saWNlbnNlX2tleSdcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgPnt7ICdOT0RFLmNjbTpjb21tb25saWNlbnNlX2tleScgfCB0cmFuc2xhdGUgfX06PC9zcGFuXG4gICAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmNvbW1vbmxpY2Vuc2Vfa2V5J10gYXMgbGljZW5zZVwiPlxuICAgICAge3tcbiAgICAgICAgbGljZW5zZVswXSA9PT0gJ0NVU1RPTSdcbiAgICAgICAgICA/ICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY2xvbTpyaWdodHNfZGVzY3JpcHRpb24nXVxuICAgICAgICAgIDogKCdMSUNFTlNFLk5BTUVTLicgKyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmNvbW1vbmxpY2Vuc2Vfa2V5J11cbiAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7IGZhbGxiYWNrOiAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmNvbW1vbmxpY2Vuc2Vfa2V5J10gfSlcbiAgICAgIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmNvbW1vbmxpY2Vuc2Vfa2V5J11cIj5cbiAgICAgIHt7ICdMSUNFTlNFLk5BTUVTLk5PTkUnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NjbTplZHVjYXRpb25hbHR5cGljYWxhZ2VyYW5nZSdcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgPnt7ICdOT0RFLmNjbTplZHVjYXRpb25hbHR5cGljYWxhZ2VyYW5nZScgfCB0cmFuc2xhdGUgfX06PC9zcGFuXG4gICAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY206ZWR1Y2F0aW9uYWx0eXBpY2FsYWdlcmFuZ2VfZnJvbSddIHx8XG4gICAgICAgICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY206ZWR1Y2F0aW9uYWx0eXBpY2FsYWdlcmFuZ2VfdG8nXVxuICAgICAgXCJcbiAgICA+XG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmVkdWNhdGlvbmFsdHlwaWNhbGFnZXJhbmdlX2Zyb20nXSB9fSAtXG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmVkdWNhdGlvbmFsdHlwaWNhbGFnZXJhbmdlX3RvJ10gfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY2Nsb206ZHVyYXRpb24nXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgID57eyAnTk9ERS5jY2xvbTpkdXJhdGlvbicgfCB0cmFuc2xhdGUgfX06PC9zcGFuXG4gICAgPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY2xvbTpkdXJhdGlvbiddPy5bMF0gfCBmb3JtYXREdXJhdGlvbiB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidjY206Y29sbGVjdGlvbl9wcm9wb3NhbF9zdGF0dXMnXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgID57eyAnTk9ERS5jY206Y29sbGVjdGlvbl9wcm9wb3NhbF9zdGF0dXMnIHwgdHJhbnNsYXRlIH19Ojwvc3BhblxuICAgID5cbiAgICA8IS0tIHVzZSBub2RlIGluc3RlYWQgb2YgZ2V0Tm9kZSgpIHRvIGFjY2VzcyB0aGUgcmF3IHByb3Bvc2FsIGRhdGEhIC0tPlxuICAgIHt7XG4gICAgICAnUFJPUE9TQUxfU1RBVFVTLicgKyAkYW55KG5vZGUpLnByb3BlcnRpZXNbJ2NjbTpjb2xsZWN0aW9uX3Byb3Bvc2FsX3N0YXR1cyddPy5bMF1cbiAgICAgICAgfCB0cmFuc2xhdGU6IHsgZmFsbGJhY2s6ICcnIH1cbiAgICB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoRGVmYXVsdFxuICAgIGVzQ2hlY2tUZXh0T3ZlcmZsb3dcbiAgICAjdGV4dD1cImVzQ2hlY2tUZXh0T3ZlcmZsb3dcIlxuICAgIFttYXRUb29sdGlwXT1cIlxuICAgICAgcHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogdGV4dC5oYXNUZXh0T3ZlcmZsb3coKSA/IGNvbnRlbnQuaW5uZXJUZXh0IDogbnVsbFxuICAgIFwiXG4gICAgI2NvbnRlbnRcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSB9fTo8L3NwYW4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlsndGl0bGUnLCAnY206dGl0bGUnLCAnY2Nsb206dGl0bGUnXS5pbmNsdWRlcyhpdGVtLm5hbWUpXCI+XG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkudGl0bGUgfHwgJGFueShnZXROb2RlKCkpLm5hbWUgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIVsndGl0bGUnLCAnY206dGl0bGUnLCAnY2Nsb206dGl0bGUnXS5pbmNsdWRlcyhpdGVtLm5hbWUpXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiREFURV9GSUVMRFMuaW5kZXhPZihpdGVtLm5hbWUpID09PSAtMSAmJiBWQ0FSRF9GSUVMRFMuaW5kZXhPZihpdGVtLm5hbWUpID09PSAtMVwiXG4gICAgICA+XG4gICAgICAgIHt7IGRpc3BsYXlOYW1lJCB8IGFzeW5jIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEQVRFX0ZJRUxEUy5pbmNsdWRlcyhpdGVtLm5hbWUpXCI+XG4gICAgICAgIHt7XG4gICAgICAgICAgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbaXRlbS5uYW1lXT8uWzBdXG4gICAgICAgICAgICB8IGZvcm1hdERhdGU6IHsgYXN5bmM6IHRydWUsIHRpbWU6IHRydWUsIHJlbGF0aXZlOiB0cnVlIH1cbiAgICAgICAgICAgIHwgYXN5bmNcbiAgICAgICAgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlZDQVJEX0ZJRUxEUy5pbmNsdWRlcyhpdGVtLm5hbWUpXCI+XG4gICAgICAgIHt7XG4gICAgICAgICAgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbaXRlbS5uYW1lXVxuICAgICAgICAgICAgPyAoJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbaXRlbS5uYW1lXVswXSB8IHZjYXJkTmFtZSlcbiAgICAgICAgICAgIDogJydcbiAgICAgICAgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3NwYW4+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9saXN0LXRleHQvbGlzdC10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9saXN0LXRleHQvbGlzdC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sS0FBSyxTQUFTLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFnRCxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPaEUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFVBQVU7YUFDdEMsbUJBQWMsR0FBRztRQUNwQixJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDO1FBQ3pCLElBQUksUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUM7UUFDbEMsSUFBSSxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQztRQUMvQixJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO1FBQ3hCLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7UUFDMUIsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQztLQUM1QixBQVBvQixDQU9uQjtJQUtGLFlBQ1ksVUFBNkIsRUFDN0IsR0FBZSxFQUNmLGlCQUFvQztRQUU1QyxLQUFLLEVBQUUsQ0FBQztRQUpBLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBUHZDLGdCQUFXLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUN4QyxpQkFBWSxHQUFHLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzFELGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLENBQUM7SUFRakQsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1YsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO2FBQy9DLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELE9BQU87UUFDSCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsRUFBRSxDQUFDO1lBQ3JDLE9BQVEsSUFBSSxDQUFDLElBQXFCLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDN0QsQ0FBQzthQUFNLElBQUssSUFBSSxDQUFDLElBQWEsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLDRCQUE0QixFQUFFLENBQUM7WUFDakYsT0FBUSxJQUFJLENBQUMsSUFBYSxDQUFDLFNBQVMsRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztRQUNoRSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxTQUFpQjtRQUNwQyxPQUFPLENBQ0g7WUFDSSxhQUFhLENBQUMsbUJBQW1CO1lBQ2pDLGFBQWEsQ0FBQyxrQkFBa0I7WUFDaEMsYUFBYSxDQUFDLGVBQWU7U0FDaEMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzlCLENBQUM7SUFDTixDQUFDO0lBQ0QsaUJBQWlCO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFZLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDeEUsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFjO1FBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUN4RixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osT0FBTyxDQUNGLElBQUksQ0FBQyxJQUFxQixDQUFDLGFBQWE7WUFDekMsYUFBYSxDQUFDLDZCQUE2QixDQUM5QyxDQUFDO0lBQ04sQ0FBQztJQUVPLEtBQUssQ0FBQyxpQkFBaUI7UUFDM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBVSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0IsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQztZQUN4RCxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzdELENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUNwRCxDQUFDO1FBRUYsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRzthQUNyQixjQUFjLENBQUM7WUFDWixVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLElBQUksU0FBUyxDQUFDLGVBQWU7WUFDdkQsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDLE9BQU87U0FDckQsQ0FBQzthQUNELFNBQVMsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdFLElBQUksTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ3hDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztpQkFDeEUsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDNUMsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDOytHQXRGUSxpQkFBaUI7bUdBQWpCLGlCQUFpQiwyRUNmOUIseTFPQTRMQTs7NEZEN0thLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDSSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBDb25zdGFudHMgZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBNZHNTZXJ2aWNlLCBOb2RlLCBPcmdhbml6YXRpb24sIFByb3Bvc2FsTm9kZSwgUmVzdENvbnN0YW50cyB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi90eXBlcy9saXN0LWl0ZW0nO1xuaW1wb3J0IHsgTGlzdFdpZGdldCB9IGZyb20gJy4uL2xpc3Qtd2lkZ2V0JztcbmltcG9ydCB7IE5vZGVIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbm9kZS1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBNZHNIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbWRzL21kcy1oZWxwZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXMtbGlzdC10ZXh0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGlzdC10ZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9saXN0LXRleHQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdFRleHRDb21wb25lbnQgZXh0ZW5kcyBMaXN0V2lkZ2V0IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBzdGF0aWMgc3VwcG9ydGVkSXRlbXMgPSBbXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnTk9ERScsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnTk9ERV9QUk9QT1NBTCcsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnQ09MTEVDVElPTicsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnT1JHJywgJyonKSxcbiAgICAgICAgbmV3IExpc3RJdGVtKCdHUk9VUCcsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnVVNFUicsICcqJyksXG4gICAgXTtcbiAgICByZWFkb25seSBEQVRFX0ZJRUxEUyA9IFJlc3RDb25zdGFudHMuREFURV9GSUVMRFM7XG4gICAgcmVhZG9ubHkgVkNBUkRfRklFTERTID0gUmVzdENvbnN0YW50cy5nZXRBbGxWQ2FyZEZpZWxkcygpO1xuICAgIGRpc3BsYXlOYW1lJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG5vZGVIZWxwZXI6IE5vZGVIZWxwZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1kczogTWRzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgICAgIG1lcmdlKFt0aGlzLm5vZGVTdWJqZWN0LCB0aGlzLml0ZW1TdWJqZWN0XSlcbiAgICAgICAgICAgIC5waXBlKHN3aXRjaE1hcCgoKSA9PiB0aGlzLnVwZGF0ZURpc3BsYXluYW1lKCkpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGlzcGxheU5hbWUpID0+IHt9KTtcbiAgICB9XG4gICAgZ2V0Tm9kZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbS50eXBlID09PSAnTk9ERV9QUk9QT1NBTCcpIHtcbiAgICAgICAgICAgIHJldHVybiAodGhpcy5ub2RlIGFzIFByb3Bvc2FsTm9kZSkucHJvcG9zYWwgfHwgdGhpcy5ub2RlO1xuICAgICAgICB9IGVsc2UgaWYgKCh0aGlzLm5vZGUgYXMgTm9kZSkudHlwZSA9PT0gUmVzdENvbnN0YW50cy5DQ01fVFlQRV9DT0xMRUNUSU9OX1BST1BPU0FMKSB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMubm9kZSBhcyBOb2RlKS5yZWxhdGlvbnM/Lk9yaWdpbmFsID8/IHRoaXMubm9kZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5ub2RlO1xuICAgIH1cblxuICAgIGlzVXNlclByb2ZpbGVBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBSZXN0Q29uc3RhbnRzLkFVVEhPUklUWV9GSVJTVE5BTUUsXG4gICAgICAgICAgICAgICAgUmVzdENvbnN0YW50cy5BVVRIT1JJVFlfTEFTVE5BTUUsXG4gICAgICAgICAgICAgICAgUmVzdENvbnN0YW50cy5BVVRIT1JJVFlfRU1BSUwsXG4gICAgICAgICAgICBdLmluZGV4T2YoYXR0cmlidXRlKSAhPT0gLTFcbiAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0V29ya2Zsb3dTdGF0dXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVIZWxwZXIuZ2V0V29ya2Zsb3dTdGF0dXModGhpcy5ub2RlIGFzIE5vZGUpLmN1cnJlbnQ7XG4gICAgfVxuXG4gICAgZ2V0STE4bihpdGVtOiBMaXN0SXRlbSkge1xuICAgICAgICByZXR1cm4gKGl0ZW0udHlwZSA9PT0gJ05PREVfUFJPUE9TQUwnID8gJ05PREVfUFJPUE9TQUwnIDogJ05PREUnKSArICcuJyArIGl0ZW0ubmFtZTtcbiAgICB9XG5cbiAgICBpc0Rhbmdlcm91c0dyb3VwKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKHRoaXMubm9kZSBhcyBPcmdhbml6YXRpb24pLmF1dGhvcml0eU5hbWUgPT09XG4gICAgICAgICAgICBSZXN0Q29uc3RhbnRzLkdST1VQX0FMRlJFU0NPX0FETUlOSVNUUkFUT1JTXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyB1cGRhdGVEaXNwbGF5bmFtZSgpIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpIGFzIE5vZGU7XG4gICAgICAgIGlmICghbm9kZS5wcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlOYW1lJC5uZXh0KCcnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRpc3BsYXlOYW1lJC5uZXh0KFxuICAgICAgICAgICAgbm9kZS5wcm9wZXJ0aWVzW3RoaXMuaXRlbS5uYW1lICsgJ19ESVNQTEFZTkFNRSddPy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgPyBub2RlLnByb3BlcnRpZXNbdGhpcy5pdGVtLm5hbWUgKyAnX0RJU1BMQVlOQU1FJ10uam9pbignLCAnKVxuICAgICAgICAgICAgICAgIDogbm9kZS5wcm9wZXJ0aWVzW3RoaXMuaXRlbS5uYW1lXT8uam9pbignLCAnKSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBtZHMgPSBhd2FpdCB0aGlzLm1kc1xuICAgICAgICAgICAgLmdldE1ldGFkYXRhU2V0KHtcbiAgICAgICAgICAgICAgICByZXBvc2l0b3J5OiBub2RlLnJlZj8ucmVwbyB8fCBDb25zdGFudHMuSE9NRV9SRVBPU0lUT1JZLFxuICAgICAgICAgICAgICAgIG1ldGFkYXRhU2V0OiBub2RlLm1ldGFkYXRhc2V0IHx8IENvbnN0YW50cy5ERUZBVUxULFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC50b1Byb21pc2UoKTtcbiAgICAgICAgY29uc3Qgd2lkZ2V0ID0gTWRzSGVscGVyU2VydmljZS5nZXRXaWRnZXQodGhpcy5pdGVtLm5hbWUsIG51bGwsIG1kcy53aWRnZXRzKTtcbiAgICAgICAgaWYgKHdpZGdldD8udmFsdWVzKSB7XG4gICAgICAgICAgICBjb25zdCBpMThuID0gbm9kZS5wcm9wZXJ0aWVzW3RoaXMuaXRlbS5uYW1lXVxuICAgICAgICAgICAgICAgID8ubWFwKChwcm9wKSA9PiB3aWRnZXQudmFsdWVzLmZpbHRlcigodikgPT4gdi5pZCA9PT0gcHJvcCk/LlswXT8uY2FwdGlvbilcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChjYXApID0+ICEhY2FwKTtcbiAgICAgICAgICAgIGlmIChpMThuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5TmFtZSQubmV4dChpMThuLmpvaW4oJywgJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGxhYmVsICpuZ0lmPVwiaXRlbS5jb25maWc/LnNob3dMYWJlbFwiPlxuICB7eyBnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlIH19XG48L2xhYmVsPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ09SRycgfHwgaXRlbS50eXBlID09PSAnR1JPVVAnXCI+XG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIml0ZW0ubmFtZVwiPlxuICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZGlzcGxheU5hbWUnXCIgW2NsYXNzLnR5cGUtZGFuZ2VyXT1cImlzRGFuZ2Vyb3VzR3JvdXAoKVwiPlxuICAgICAge3sgJGFueShnZXROb2RlKCkpLnByb2ZpbGU/LmRpc3BsYXlOYW1lIHx8ICRhbnkoZ2V0Tm9kZSgpKS5hdXRob3JpdHlOYW1lIH19XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZ3JvdXBUeXBlJ1wiPlxuICAgICAge3sgJ1BFUk1JU1NJT05TLkdST1VQX1RZUEUuJyArICRhbnkoZ2V0Tm9kZSgpKS5wcm9maWxlPy5ncm91cFR5cGUgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKVtpdGVtLm5hbWVdIH19XG4gICAgPC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ1VTRVInXCI+XG4gIDxzcGFuICpuZ0lmPVwiaXNVc2VyUHJvZmlsZUF0dHJpYnV0ZShpdGVtLm5hbWUpXCI+XG4gICAge3sgJGFueShnZXROb2RlKCkpLnByb2ZpbGU/LltpdGVtLm5hbWVdIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJpdGVtLm5hbWUgPT09ICdzdGF0dXMnXCI+XG4gICAge3sgJ1BFUk1JU1NJT05TLlVTRVJfU1RBVFVTLicgKyAkYW55KGdldE5vZGUoKSkuc3RhdHVzLnN0YXR1cyB8IHRyYW5zbGF0ZSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiIWlzVXNlclByb2ZpbGVBdHRyaWJ1dGUoaXRlbS5uYW1lKSAmJiBpdGVtLm5hbWUgIT09ICdzdGF0dXMnXCI+XG4gICAge3sgJGFueShnZXROb2RlKCkpW2l0ZW0ubmFtZV0gfX1cbiAgPC9zcGFuPlxuPC9uZy1jb250YWluZXI+XG48bmctY29udGFpbmVyXG4gIFtuZ1N3aXRjaF09XCJpdGVtLm5hbWVcIlxuICAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ05PREUnIHx8IGl0ZW0udHlwZSA9PT0gJ05PREVfUFJPUE9TQUwnIHx8IGl0ZW0udHlwZSA9PT0gJ0NPTExFQ1RJT04nXCJcbj5cbiAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIiduYW1lJ1wiPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS5uYW1lIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ21lZGlhdHlwZSdcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIj57eyBnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlIH19Ojwvc3Bhbj5cbiAgICB7eyAnTUVESUFUWVBFLicgKyAkYW55KGdldE5vZGUoKSkubWVkaWF0eXBlIHwgdHJhbnNsYXRlIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidzaXplJ1wiIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIj5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiPnt7IGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUgfX06PC9zcGFuPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS5zaXplIHwgZm9ybWF0U2l6ZSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidkaW1lbnNpb25zJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiPnt7IGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUgfX06PC9zcGFuPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKSB8IE5vZGVJbWFnZVNpemUgfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY2NtOndmX3N0YXR1cydcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPGVzLWxpc3Qtbm9kZS13b3JrZmxvd1xuICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICBbbm9kZV09XCJub2RlXCJcbiAgICAgIFtwcm92aWRlTGFiZWxdPVwiZmFsc2VcIlxuICAgID48L2VzLWxpc3Qtbm9kZS13b3JrZmxvdz5cbiAgICA8IS0tPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIj57eyBnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlIH19Ojwvc3Bhbj5cbiAgICB7eyAnV09SS0ZMT1cuJyArIGdldFdvcmtmbG93U3RhdHVzKCkuaWQgfCB0cmFuc2xhdGUgfX0tLT5cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY206Y3JlYXRvcidcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIj57eyBnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlIH19Ojwvc3Bhbj5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkuY3JlYXRlZEJ5IHwgbm9kZVBlcnNvbk5hbWUgfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY206bW9kaWZpZXInXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgID57eyAnTk9ERS5jbTptb2RpZmllcicgfCB0cmFuc2xhdGUgfX06PC9zcGFuXG4gICAgPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS5tb2RpZmllZEJ5IHwgbm9kZVBlcnNvbk5hbWUgfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY2NtOnJlcGxpY2F0aW9uc291cmNlJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiXG4gICAgICA+e3sgJ05PREUuY2NtOnJlcGxpY2F0aW9uc291cmNlJyB8IHRyYW5zbGF0ZSB9fTo8L3NwYW5cbiAgICA+XG4gICAge3sgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbTpyZXBsaWNhdGlvbnNvdXJjZSddIHwgYXBwTm9kZVNvdXJjZSA6IHsgbW9kZTogJ3RleHQnIH0gfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY2NtOmNvbW1vbmxpY2Vuc2Vfa2V5J1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiXG4gICAgICA+e3sgJ05PREUuY2NtOmNvbW1vbmxpY2Vuc2Vfa2V5JyB8IHRyYW5zbGF0ZSB9fTo8L3NwYW5cbiAgICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY206Y29tbW9ubGljZW5zZV9rZXknXSBhcyBsaWNlbnNlXCI+XG4gICAgICB7e1xuICAgICAgICBsaWNlbnNlWzBdID09PSAnQ1VTVE9NJ1xuICAgICAgICAgID8gJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbG9tOnJpZ2h0c19kZXNjcmlwdGlvbiddXG4gICAgICAgICAgOiAoJ0xJQ0VOU0UuTkFNRVMuJyArICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY206Y29tbW9ubGljZW5zZV9rZXknXVxuICAgICAgICAgICAgfCB0cmFuc2xhdGUgOiB7IGZhbGxiYWNrOiAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmNvbW1vbmxpY2Vuc2Vfa2V5J10gfSlcbiAgICAgIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmNvbW1vbmxpY2Vuc2Vfa2V5J11cIj5cbiAgICAgIHt7ICdMSUNFTlNFLk5BTUVTLk5PTkUnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NjbTplZHVjYXRpb25hbHR5cGljYWxhZ2VyYW5nZSdcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgPnt7ICdOT0RFLmNjbTplZHVjYXRpb25hbHR5cGljYWxhZ2VyYW5nZScgfCB0cmFuc2xhdGUgfX06PC9zcGFuXG4gICAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY206ZWR1Y2F0aW9uYWx0eXBpY2FsYWdlcmFuZ2VfZnJvbSddIHx8XG4gICAgICAgICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY206ZWR1Y2F0aW9uYWx0eXBpY2FsYWdlcmFuZ2VfdG8nXVxuICAgICAgXCJcbiAgICA+XG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmVkdWNhdGlvbmFsdHlwaWNhbGFnZXJhbmdlX2Zyb20nXSB9fSAtXG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmVkdWNhdGlvbmFsdHlwaWNhbGFnZXJhbmdlX3RvJ10gfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY2Nsb206ZHVyYXRpb24nXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgID57eyAnTk9ERS5jY2xvbTpkdXJhdGlvbicgfCB0cmFuc2xhdGUgfX06PC9zcGFuXG4gICAgPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY2xvbTpkdXJhdGlvbiddPy5bMF0gfCBmb3JtYXREdXJhdGlvbiB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidjY206Y29sbGVjdGlvbl9wcm9wb3NhbF9zdGF0dXMnXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgID57eyAnTk9ERS5jY206Y29sbGVjdGlvbl9wcm9wb3NhbF9zdGF0dXMnIHwgdHJhbnNsYXRlIH19Ojwvc3BhblxuICAgID5cbiAgICA8IS0tIHVzZSBub2RlIGluc3RlYWQgb2YgZ2V0Tm9kZSgpIHRvIGFjY2VzcyB0aGUgcmF3IHByb3Bvc2FsIGRhdGEhIC0tPlxuICAgIHt7XG4gICAgICAnUFJPUE9TQUxfU1RBVFVTLicgKyAkYW55KG5vZGUpLnByb3BlcnRpZXNbJ2NjbTpjb2xsZWN0aW9uX3Byb3Bvc2FsX3N0YXR1cyddPy5bMF1cbiAgICAgICAgfCB0cmFuc2xhdGU6IHsgZmFsbGJhY2s6ICcnIH1cbiAgICB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoRGVmYXVsdFxuICAgIGVzQ2hlY2tUZXh0T3ZlcmZsb3dcbiAgICAjdGV4dD1cImVzQ2hlY2tUZXh0T3ZlcmZsb3dcIlxuICAgIFttYXRUb29sdGlwXT1cIlxuICAgICAgcHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogdGV4dC5oYXNUZXh0T3ZlcmZsb3coKSA/IGNvbnRlbnQuaW5uZXJUZXh0IDogbnVsbFxuICAgIFwiXG4gICAgI2NvbnRlbnRcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSB9fTo8L3NwYW4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlsndGl0bGUnLCAnY206dGl0bGUnLCAnY2Nsb206dGl0bGUnXS5pbmNsdWRlcyhpdGVtLm5hbWUpXCI+XG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkgfCBub2RlVGl0bGUgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiWyduYW1lJywgJ2NtOm5hbWUnXS5pbmNsdWRlcyhpdGVtLm5hbWUpXCI+XG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkgfCBub2RlVGl0bGUgOiB7IHR5cGU6ICduYW1lJyB9IH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCIhWyduYW1lJywgJ2NtOm5hbWUnLCAndGl0bGUnLCAnY206dGl0bGUnLCAnY2Nsb206dGl0bGUnXS5pbmNsdWRlcyhpdGVtLm5hbWUpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiREFURV9GSUVMRFMuaW5kZXhPZihpdGVtLm5hbWUpID09PSAtMSAmJiBWQ0FSRF9GSUVMRFMuaW5kZXhPZihpdGVtLm5hbWUpID09PSAtMVwiXG4gICAgICA+XG4gICAgICAgIHt7IGRpc3BsYXlOYW1lJCB8IGFzeW5jIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEQVRFX0ZJRUxEUy5pbmNsdWRlcyhpdGVtLm5hbWUpXCI+XG4gICAgICAgIHt7XG4gICAgICAgICAgKCRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzW2l0ZW0ubmFtZSArICdfTE9ORyddPy5bMF0gfHwgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbaXRlbS5uYW1lXT8uWzBdKVxuICAgICAgICAgICAgfCBmb3JtYXREYXRlOiB7IGFzeW5jOiB0cnVlLCB0aW1lOiB0cnVlLCByZWxhdGl2ZTogdHJ1ZSB9XG4gICAgICAgICAgICB8IGFzeW5jXG4gICAgICAgIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJWQ0FSRF9GSUVMRFMuaW5jbHVkZXMoaXRlbS5uYW1lKVwiPlxuICAgICAgICB7e1xuICAgICAgICAgICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzW2l0ZW0ubmFtZV1cbiAgICAgICAgICAgID8gKCRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzW2l0ZW0ubmFtZV0gfCB2Y2FyZE5hbWUpXG4gICAgICAgICAgICA6ICcnXG4gICAgICAgIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9zcGFuPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -34,10 +34,10 @@ export class ListWidget {
|
|
|
34
34
|
this.itemSubject = new BehaviorSubject(null);
|
|
35
35
|
this.provideLabelSubject = new BehaviorSubject(false);
|
|
36
36
|
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
38
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListWidget, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
38
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: ListWidget, inputs: { node: "node", item: "item", provideLabel: "provideLabel" }, ngImport: i0 }); }
|
|
39
39
|
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListWidget, decorators: [{
|
|
41
41
|
type: Directive
|
|
42
42
|
}], ctorParameters: () => [], propDecorators: { node: [{
|
|
43
43
|
type: Input
|
|
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
46
46
|
}], provideLabel: [{
|
|
47
47
|
type: Input
|
|
48
48
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC13aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2xpc3QtaXRlbXMvbGlzdC13aWRnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBUSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLdkMsTUFBTSxPQUFPLFVBQVU7SUFDbkIsSUFDSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBd0Q7UUFDN0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUtELElBQ0ksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQWU7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUdEOzs7Ozs7OztPQVFHO0lBQ0gsSUFDSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxLQUFLO1FBQ2xCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUdEO1FBL0JtQixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUVsRCxJQUFJLENBQUMsQ0FBQyxDQUFDLHVCQUF1QjtRQVNiLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVcsSUFBSSxDQUFDLENBQUM7UUFrQmxELHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXJELENBQUM7K0dBdkNQLFVBQVU7bUdBQVYsVUFBVTs7NEZBQVYsVUFBVTtrQkFEdEIsU0FBUzt3REFHRixJQUFJO3NCQURQLEtBQUs7Z0JBWUYsSUFBSTtzQkFEUCxLQUFLO2dCQW1CRixZQUFZO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgVHlwZSwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQZXJzb24gfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTm9kZSwgUHJvcG9zYWxOb2RlLCBHcm91cCwgU3RhdGlzdGljcyB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICcuLi90eXBlcy9saXN0LWl0ZW0nO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBMaXN0V2lkZ2V0IHtcbiAgICBASW5wdXQoKVxuICAgIGdldCBub2RlKCk6IE5vZGUgfCBQcm9wb3NhbE5vZGUgfCBHcm91cCB8IFBlcnNvbiB8IFN0YXRpc3RpY3Mge1xuICAgICAgICByZXR1cm4gdGhpcy5ub2RlU3ViamVjdC52YWx1ZTtcbiAgICB9XG4gICAgc2V0IG5vZGUodmFsdWU6IE5vZGUgfCBQcm9wb3NhbE5vZGUgfCBHcm91cCB8IFBlcnNvbiB8IFN0YXRpc3RpY3MpIHtcbiAgICAgICAgdGhpcy5ub2RlU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG5vZGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICAgICAgTm9kZSB8IFByb3Bvc2FsTm9kZSB8IEdyb3VwIHwgUGVyc29uIHwgU3RhdGlzdGljc1xuICAgID4obnVsbCk7IC8vIG5vZGUgKG9yIGdyb3VwL3VzZXIpXG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBpdGVtKCk6IExpc3RJdGVtIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbVN1YmplY3QudmFsdWU7XG4gICAgfVxuICAgIHNldCBpdGVtKHZhbHVlOiBMaXN0SXRlbSkge1xuICAgICAgICB0aGlzLml0ZW1TdWJqZWN0Lm5leHQodmFsdWUpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExpc3RJdGVtPihudWxsKTtcblxuICAgIC8qKlxuICAgICAqIFByb3ZpZGUgYSBsYWJlbCBmb3Igbm9uLW9idmlvdXMgZmllbGRzIHRoYXQgZGVzY3JpYmVzIHRoZSBmaWVsZCB0aGUgZ2l2ZW4gdmFsdWUgYmVsb25ncyB0by5cbiAgICAgKlxuICAgICAqIFRoZSBsYWJlbCBpcyBpbmNsdWRlZCBpbiBhIHRvb2x0aXAgYW5kIG1hZGUgYXZhaWxhYmxlIGZvciBhMTF5IHRlY2hub2xvZ2llcy5cbiAgICAgKlxuICAgICAqIFVzZWZ1bCB3aGVuIHRoZSB2YWx1ZSBpcyBkaXNwbGF5ZWQgd2l0aG91dCBjb250ZXh0LlxuICAgICAqXG4gICAgICogT3RoZXIgdG9vbHRpcHMgbWlnaHQgYmUgYWRkZWQgZXZlbiB3aXRoIHRoaXMgaW5wdXQgc2V0IHRvIGBmYWxzZWAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgcHJvdmlkZUxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm92aWRlTGFiZWxTdWJqZWN0LnZhbHVlO1xuICAgIH1cbiAgICBzZXQgcHJvdmlkZUxhYmVsKHZhbHVlKSB7XG4gICAgICAgIHRoaXMucHJvdmlkZUxhYmVsU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHByb3ZpZGVMYWJlbFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cbn1cblxuZXhwb3J0IHR5cGUgTGlzdFdpZGdldENsYXNzID0ge1xuICAgIHN1cHBvcnRlZEl0ZW1zOiBMaXN0SXRlbVtdO1xufSAmIFR5cGU8TGlzdFdpZGdldD47XG4iXX0=
|
|
@@ -7,10 +7,10 @@ import * as i4 from "../../pipes/node-icon.pipe";
|
|
|
7
7
|
import * as i5 from "@ngx-translate/core";
|
|
8
8
|
export class NodeRowComponent {
|
|
9
9
|
constructor() { }
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
11
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NodeRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NodeRowComponent, selector: "es-node-row", inputs: { node: "node", columns: "columns" }, queries: [{ propertyName: "customMetadataRef", first: true, predicate: ["customMetadata"], descendants: true }], ngImport: i0, template: "<div class=\"node-row\" *ngIf=\"node\">\n <div class=\"icon-bg\">\n <img\n [src]=\"node | esNodeIcon | async\"\n [alt]=\"\n node.mediatype\n ? ('NODE.mediatype' | translate) + ': ' + ('MEDIATYPE.' + node.mediatype | translate)\n : ''\n \"\n [matTooltip]=\"\n node.mediatype\n ? ('NODE.mediatype' | translate) + ': ' + ('MEDIATYPE.' + node.mediatype | translate)\n : ''\n \"\n />\n </div>\n <div class=\"node-data\">\n <div class=\"node-data-primary\">\n <es-list-text [node]=\"node\" [item]=\"columns[0]\"> </es-list-text>\n </div>\n <div class=\"node-data-secondary\">\n <es-list-text\n *ngFor=\"let column of columns.slice(1)\"\n [node]=\"node\"\n [item]=\"column\"\n [provideLabel]=\"true\"\n ></es-list-text>\n <ng-container *ngTemplateOutlet=\"customMetadataRef; context: { node: node }\"></ng-container>\n </div>\n </div>\n</div>\n", styles: [".node-row{width:100%;display:grid;grid-template-columns:var(--tableIconSize) auto;grid-gap:10px;align-items:center;padding:10px;white-space:normal}.node-row .node-data{flex-grow:1;display:flex;flex-direction:column}.node-row .node-data .node-data-primary{font-weight:700;padding-bottom:5px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-height:1.25em;max-height:1.25em;-webkit-line-clamp:1;-webkit-box-orient:vertical}.node-row .node-data .node-data-secondary{color:var(--textLight);display:flex;justify-content:space-between}.node-row .icon-bg{background-color:rgb(var(--palette-foreground-text-dark));border-radius:50%;width:var(--tableIconSize);height:var(--tableIconSize)!important;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 3px #0000001a}.node-row .icon-bg img,.node-row .icon-bg i{width:50%;z-index:0}.node-row .icon-bg i{color:rgb(var(--palette-foreground-text));font-size:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3.ListTextComponent, selector: "es-list-text" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.NodeIconPipe, name: "esNodeIcon" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NodeRowComponent, decorators: [{
|
|
14
14
|
type: Component,
|
|
15
15
|
args: [{ selector: 'es-node-row', template: "<div class=\"node-row\" *ngIf=\"node\">\n <div class=\"icon-bg\">\n <img\n [src]=\"node | esNodeIcon | async\"\n [alt]=\"\n node.mediatype\n ? ('NODE.mediatype' | translate) + ': ' + ('MEDIATYPE.' + node.mediatype | translate)\n : ''\n \"\n [matTooltip]=\"\n node.mediatype\n ? ('NODE.mediatype' | translate) + ': ' + ('MEDIATYPE.' + node.mediatype | translate)\n : ''\n \"\n />\n </div>\n <div class=\"node-data\">\n <div class=\"node-data-primary\">\n <es-list-text [node]=\"node\" [item]=\"columns[0]\"> </es-list-text>\n </div>\n <div class=\"node-data-secondary\">\n <es-list-text\n *ngFor=\"let column of columns.slice(1)\"\n [node]=\"node\"\n [item]=\"column\"\n [provideLabel]=\"true\"\n ></es-list-text>\n <ng-container *ngTemplateOutlet=\"customMetadataRef; context: { node: node }\"></ng-container>\n </div>\n </div>\n</div>\n", styles: [".node-row{width:100%;display:grid;grid-template-columns:var(--tableIconSize) auto;grid-gap:10px;align-items:center;padding:10px;white-space:normal}.node-row .node-data{flex-grow:1;display:flex;flex-direction:column}.node-row .node-data .node-data-primary{font-weight:700;padding-bottom:5px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-height:1.25em;max-height:1.25em;-webkit-line-clamp:1;-webkit-box-orient:vertical}.node-row .node-data .node-data-secondary{color:var(--textLight);display:flex;justify-content:space-between}.node-row .icon-bg{background-color:rgb(var(--palette-foreground-text-dark));border-radius:50%;width:var(--tableIconSize);height:var(--tableIconSize)!important;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 3px #0000001a}.node-row .icon-bg img,.node-row .icon-bg i{width:50%;z-index:0}.node-row .icon-bg i{color:rgb(var(--palette-foreground-text));font-size:20px}\n"] }]
|
|
16
16
|
}], ctorParameters: () => [], propDecorators: { customMetadataRef: [{
|
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
21
21
|
}], columns: [{
|
|
22
22
|
type: Input
|
|
23
23
|
}] } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9saXN0LWl0ZW1zL25vZGUtcm93L25vZGUtcm93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9ub2RlLXJvdy9ub2RlLXJvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFTNUUsTUFBTSxPQUFPLGdCQUFnQjtJQUt6QixnQkFBZSxDQUFDOytHQUxQLGdCQUFnQjttR0FBaEIsZ0JBQWdCLGtOQ1Q3Qix3OUJBK0JBOzs0RkR0QmEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNJLGFBQWE7d0RBS1MsaUJBQWlCO3NCQUFoRCxZQUFZO3VCQUFDLGdCQUFnQjtnQkFDckIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGUgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnLi4vLi4vdHlwZXMvbGlzdC1pdGVtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1ub2RlLXJvdycsXG4gICAgdGVtcGxhdGVVcmw6ICdub2RlLXJvdy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ25vZGUtcm93LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVSb3dDb21wb25lbnQge1xuICAgIEBDb250ZW50Q2hpbGQoJ2N1c3RvbU1ldGFkYXRhJykgY3VzdG9tTWV0YWRhdGFSZWY6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQElucHV0KCkgbm9kZTogTm9kZTtcbiAgICBASW5wdXQoKSBjb2x1bW5zOiBMaXN0SXRlbVtdO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiPGRpdiBjbGFzcz1cIm5vZGUtcm93XCIgKm5nSWY9XCJub2RlXCI+XG4gIDxkaXYgY2xhc3M9XCJpY29uLWJnXCI+XG4gICAgPGltZ1xuICAgICAgW3NyY109XCJub2RlIHwgZXNOb2RlSWNvbiB8IGFzeW5jXCJcbiAgICAgIFthbHRdPVwiXG4gICAgICAgIG5vZGUubWVkaWF0eXBlXG4gICAgICAgICAgPyAoJ05PREUubWVkaWF0eXBlJyB8IHRyYW5zbGF0ZSkgKyAnOiAnICsgKCdNRURJQVRZUEUuJyArIG5vZGUubWVkaWF0eXBlIHwgdHJhbnNsYXRlKVxuICAgICAgICAgIDogJydcbiAgICAgIFwiXG4gICAgICBbbWF0VG9vbHRpcF09XCJcbiAgICAgICAgbm9kZS5tZWRpYXR5cGVcbiAgICAgICAgICA/ICgnTk9ERS5tZWRpYXR5cGUnIHwgdHJhbnNsYXRlKSArICc6ICcgKyAoJ01FRElBVFlQRS4nICsgbm9kZS5tZWRpYXR5cGUgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgOiAnJ1xuICAgICAgXCJcbiAgICAvPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm5vZGUtZGF0YVwiPlxuICAgIDxkaXYgY2xhc3M9XCJub2RlLWRhdGEtcHJpbWFyeVwiPlxuICAgICAgPGVzLWxpc3QtdGV4dCBbbm9kZV09XCJub2RlXCIgW2l0ZW1dPVwiY29sdW1uc1swXVwiPiA8L2VzLWxpc3QtdGV4dD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibm9kZS1kYXRhLXNlY29uZGFyeVwiPlxuICAgICAgPGVzLWxpc3QtdGV4dFxuICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnMuc2xpY2UoMSlcIlxuICAgICAgICBbbm9kZV09XCJub2RlXCJcbiAgICAgICAgW2l0ZW1dPVwiY29sdW1uXCJcbiAgICAgICAgW3Byb3ZpZGVMYWJlbF09XCJ0cnVlXCJcbiAgICAgID48L2VzLWxpc3QtdGV4dD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21NZXRhZGF0YVJlZjsgY29udGV4dDogeyBub2RlOiBub2RlIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -39,11 +39,11 @@ export class NodeSourcePipe {
|
|
|
39
39
|
src = src.replace(/\//g, '_');
|
|
40
40
|
return src;
|
|
41
41
|
}
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
43
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NodeSourcePipe, deps: [{ token: i1.NodeHelperService }, { token: i2.NetworkService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
43
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: NodeSourcePipe, name: "appNodeSource" }); }
|
|
44
44
|
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NodeSourcePipe, decorators: [{
|
|
46
46
|
type: Pipe,
|
|
47
47
|
args: [{ name: 'appNodeSource' }]
|
|
48
48
|
}], ctorParameters: () => [{ type: i1.NodeHelperService }, { type: i2.NetworkService }] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1zb3VyY2UucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9ub2RlLXNvdXJjZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7O0FBS3BELE1BQU0sT0FBTyxjQUFjO0lBR3ZCLFlBQW9CLFVBQTZCLEVBQVUsVUFBMEI7UUFBakUsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUNqRixJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDN0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsU0FBUyxDQUNMLGlCQUF5QixFQUN6QixJQUVDO1FBRUQsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEYsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRSxDQUFDO2dCQUNwQiwwRUFBMEU7Z0JBQzFFLDhFQUE4RTtnQkFDOUUsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssSUFBSSxNQUFNLENBQUM7WUFDaEQsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDN0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEQsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxNQUFNLENBQUMsR0FBVztRQUN0QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDUCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUM7UUFDRCxHQUFHLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVELEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5QixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQzsrR0F6Q1EsY0FBYzs2R0FBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUQxQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ldHdvcmtTZXJ2aWNlLCBSZXBvc2l0b3J5IH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBOb2RlSGVscGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25vZGUtaGVscGVyLnNlcnZpY2UnO1xuXG5AUGlwZSh7IG5hbWU6ICdhcHBOb2RlU291cmNlJyB9KVxuZXhwb3J0IGNsYXNzIE5vZGVTb3VyY2VQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgcHJpdmF0ZSBob21lUmVwb3NpdG9yeTogUmVwb3NpdG9yeTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbm9kZUhlbHBlcjogTm9kZUhlbHBlclNlcnZpY2UsIHByaXZhdGUgbmV0d29ya0FwaTogTmV0d29ya1NlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5uZXR3b3JrQXBpLmdldEhvbWVSZXBvc2l0b3J5KCkuc3Vic2NyaWJlKChob21lUmVwb3NpdG9yeSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5ob21lUmVwb3NpdG9yeSA9IGhvbWVSZXBvc2l0b3J5O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0cmFuc2Zvcm0oXG4gICAgICAgIHJlcGxpY2F0aW9uU291cmNlOiBzdHJpbmcsXG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICAgIG1vZGU6ICd0ZXh0JyB8ICd1cmwnIHwgJ2VzY2FwZWQnO1xuICAgICAgICB9LFxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJhd1NyYyA9IHJlcGxpY2F0aW9uU291cmNlID8gcmVwbGljYXRpb25Tb3VyY2UudG9TdHJpbmcoKS50cmltKCkgOiAnaG9tZSc7XG4gICAgICAgIGlmIChhcmdzLm1vZGUgPT09ICd0ZXh0Jykge1xuICAgICAgICAgICAgaWYgKHJhd1NyYyA9PT0gJ2hvbWUnKSB7XG4gICAgICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgd2lsbCBmaXggdGhlIHBpcGUncyByZXR1cm4gdmFsdWUgdG8gJ2hvbWUnIGZvciBjYWxscyBiZWZvcmVcbiAgICAgICAgICAgICAgICAvLyBgdGhpcy5ob21lUmVwb3NpdG9yeWAgd2FzIHBvcHVsYXRlZCAoYWx0aG91Z2ggdGhhdCBkb2Vzbid0IHNlZW0gdG8gaGFwcGVuKS5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ob21lUmVwb3NpdG9yeT8udGl0bGUgfHwgJ2hvbWUnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJhd1NyYztcbiAgICAgICAgfSBlbHNlIGlmIChhcmdzLm1vZGUgPT09ICd1cmwnKSB7XG4gICAgICAgICAgICBjb25zdCBzcmMgPSB0aGlzLmVzY2FwZShyYXdTcmMpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubm9kZUhlbHBlci5nZXRTb3VyY2VJY29uUGF0aChzcmMpO1xuICAgICAgICB9IGVsc2UgaWYgKGFyZ3MubW9kZSA9PT0gJ2VzY2FwZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lc2NhcGUocmF3U3JjKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGVzY2FwZShzcmM6IHN0cmluZykge1xuICAgICAgICBpZiAoIXNyYykge1xuICAgICAgICAgICAgcmV0dXJuIHNyYztcbiAgICAgICAgfVxuICAgICAgICBzcmMgPSBzcmMuc3Vic3RyaW5nKHNyYy5sYXN0SW5kZXhPZignOicpICsgMSkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgc3JjID0gc3JjLnJlcGxhY2UoL1xccy9nLCAnXycpO1xuICAgICAgICBzcmMgPSBzcmMucmVwbGFjZSgvXFwuL2csICdfJyk7XG4gICAgICAgIHNyYyA9IHNyYy5yZXBsYWNlKC9cXC8vZywgJ18nKTtcbiAgICAgICAgcmV0dXJuIHNyYztcbiAgICB9XG59XG4iXX0=
|
|
@@ -158,10 +158,10 @@ export class MdsHelperService {
|
|
|
158
158
|
}
|
|
159
159
|
return used;
|
|
160
160
|
}
|
|
161
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
162
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.
|
|
161
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsHelperService, deps: [{ token: i1.AuthenticationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
162
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsHelperService }); }
|
|
163
163
|
}
|
|
164
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
164
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsHelperService, decorators: [{
|
|
165
165
|
type: Injectable
|
|
166
166
|
}], ctorParameters: () => [{ type: i1.AuthenticationService }] });
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRzLWhlbHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9tZHMvbWRzLWhlbHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFLSCxhQUFhLEdBRWhCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLG9CQUFvQixDQUFDOzs7QUFHNUQsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQXFCLEVBQUUsSUFBWTtRQUNsRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2YsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQzlCLElBQUksSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQzt3QkFDbEIsT0FBTyxJQUFJLENBQUM7b0JBQ2hCLENBQUM7Z0JBQ0wsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxHQUFHLElBQUksR0FBRywwQkFBMEIsQ0FBQyxDQUFDO1FBQzVGLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUEyQixFQUFFLE1BQVcsRUFBRSxJQUFZO1FBQ3BFLElBQUksT0FBTyxHQUFlLEVBQUUsQ0FBQztRQUM3QixJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzlCLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDbkIsS0FB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LENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDekMsQ0FBQztnQkFDQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs4R0F4S1EsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICAgIEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICBNZHNEZWZpbml0aW9uLFxuICAgIE1kc1NvcnQsXG4gICAgTWRzV2lkZ2V0LFxuICAgIFJlc3RDb25zdGFudHMsXG4gICAgU29ydCxcbn0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaXN0SXRlbSwgTGlzdEl0ZW1UeXBlIH0gZnJvbSAnLi4vdHlwZXMvbGlzdC1pdGVtJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1kc0hlbHBlclNlcnZpY2Uge1xuICAgIHN0YXRpYyBnZXRTb3J0SW5mbyhtZHNTZXQ6IE1kc0RlZmluaXRpb24sIG5hbWU6IHN0cmluZyk6IE1kc1NvcnQge1xuICAgICAgICBpZiAobWRzU2V0KSB7XG4gICAgICAgICAgICBpZiAobWRzU2V0LnNvcnRzKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBsaXN0IG9mIG1kc1NldC5zb3J0cykge1xuICAgICAgICAgICAgICAgICAgICBpZiAobGlzdC5pZCA9PSBuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGlzdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ21kcyBkb2VzIG5vdCBkZWZpbmUgc29ydCBpbmZvIGZvciAnICsgbmFtZSArICcsIGludmFsaWQgY29uZmlndXJhdGlvbiEnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgc3RhdGljIGdldENvbHVtbnModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBtZHNTZXQ6IGFueSwgbmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGxldCBjb2x1bW5zOiBMaXN0SXRlbVtdID0gW107XG4gICAgICAgIGlmIChtZHNTZXQpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgbGlzdCBvZiBtZHNTZXQubGlzdHMpIHtcbiAgICAgICAgICAgICAgICBpZiAobGlzdC5pZCA9PT0gbmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBsaXN0LmNvbHVtbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0eXBlOiBMaXN0SXRlbVR5cGUgPSAnTk9ERSc7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobmFtZSA9PT0gJ21lZGlhY2VudGVyR3JvdXBzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnR1JPVVAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChuYW1lID09PSAnc2VhcmNoQ29sbGVjdGlvbnMnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICdDT0xMRUNUSU9OJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGluIHRoaXMgY2FzZSwgdGhlIHR5cGUgaXMgaW5jbHVkZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb2x1bW4uaWQuaW5jbHVkZXMoJy4nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwbGl0ID0gY29sdW1uLmlkLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9IHNwbGl0WzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5pZCA9IHNwbGl0WzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IG5ldyBMaXN0SXRlbSh0eXBlLCBjb2x1bW4uaWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5mb3JtYXQgPSBjb2x1bW4uZm9ybWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAobWRzU2V0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICAgICAnbWRzIGRvZXMgbm90IGRlZmluZSBjb2x1bW5zIGZvciAnICsgbmFtZSArICcsIGludmFsaWQgY29uZmlndXJhdGlvbiEnLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobmFtZSA9PT0gJ3NlYXJjaCcgfHwgbmFtZSA9PT0gJ2NvbGxlY3Rpb25SZWZlcmVuY2VzJykge1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ05PREUnLCBSZXN0Q29uc3RhbnRzLkxPTV9QUk9QX1RJVExFKSk7XG4gICAgICAgICAgICAgICAgY29sdW1ucy5wdXNoKG5ldyBMaXN0SXRlbSgnTk9ERScsIFJlc3RDb25zdGFudHMuQ01fTU9ESUZJRURfREFURSkpO1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ05PREUnLCBSZXN0Q29uc3RhbnRzLkNDTV9QUk9QX0xJQ0VOU0UpKTtcbiAgICAgICAgICAgICAgICBjb2x1bW5zLnB1c2gobmV3IExpc3RJdGVtKCdOT0RFJywgUmVzdENvbnN0YW50cy5DQ01fUFJPUF9SRVBMSUNBVElPTlNPVVJDRSkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChuYW1lID09PSAnbWVkaWFjZW50ZXJNYW5hZ2VkJykge1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ05PREUnLCBSZXN0Q29uc3RhbnRzLkxPTV9QUk9QX1RJVExFKSk7XG4gICAgICAgICAgICAgICAgY29sdW1ucy5wdXNoKG5ldyBMaXN0SXRlbSgnTk9ERScsIFJlc3RDb25zdGFudHMuQ0NNX1BST1BfUkVQTElDQVRJT05TT1VSQ0VJRCkpO1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ05PREUnLCBSZXN0Q29uc3RhbnRzLkNDTV9QUk9QX1JFUExJQ0FUSU9OU09VUkNFKSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdtZWRpYWNlbnRlckdyb3VwcycpIHtcbiAgICAgICAgICAgICAgICBjb2x1bW5zLnB1c2gobmV3IExpc3RJdGVtKCdHUk9VUCcsIFJlc3RDb25zdGFudHMuQVVUSE9SSVRZX0RJU1BMQVlOQU1FKSk7XG4gICAgICAgICAgICAgICAgY29sdW1ucy5wdXNoKG5ldyBMaXN0SXRlbSgnR1JPVVAnLCBSZXN0Q29uc3RhbnRzLkFVVEhPUklUWV9HUk9VUFRZUEUpKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3NlYXJjaENvbGxlY3Rpb25zJykge1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ0NPTExFQ1RJT04nLCAndGl0bGUnKSk7XG4gICAgICAgICAgICAgICAgY29sdW1ucy5wdXNoKG5ldyBMaXN0SXRlbSgnQ09MTEVDVElPTicsICdpbmZvJykpO1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ0NPTExFQ1RJT04nLCAnc2NvcGUnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29sdW1ucy5tYXAoKGMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGMudHlwZSArICcuJyArIGMubmFtZTtcbiAgICAgICAgICAgIGlmIChjLnR5cGUgPT09ICdOT0RFJyAmJiB0cmFuc2xhdGUuaW5zdGFudChrZXkpID09PSBrZXkpIHtcbiAgICAgICAgICAgICAgICBjLmxhYmVsID0gbWRzU2V0LndpZGdldHMuZmlsdGVyKCh3OiBhbnkpID0+IHcuaWQgPT09IGMubmFtZSk/LlswXT8uY2FwdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGNvbHVtbnM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluZHMgdGhlIGFwcHJvcHJpYXRlIHdpZGdldCB3aXRoIHRoZSBpZCwgYnV0IHdpbGwgbm90IGNoZWNrIGFueSB3aWRnZXQgY29uZGl0aW9uc1xuICAgICAqIEBwYXJhbSBjaWRcbiAgICAgKiBAcGFyYW0gdGVtcGxhdGVcbiAgICAgKiBAcGFyYW0gd2lkZ2V0c1xuICAgICAqL1xuICAgIHN0YXRpYyBnZXRXaWRnZXQoY2lkOiBzdHJpbmcsIHRlbXBsYXRlOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsLCB3aWRnZXRzOiBNZHNXaWRnZXRbXSkge1xuICAgICAgICBpZiAod2lkZ2V0cyA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0NvdWxkIG5vdCBpdGVyYXRlIHdpZGdldCAnICsgY2lkICsgJzogbm8gd2lkZ2V0cyBkYXRhIHByb3ZpZGVkJyk7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCB3IG9mIHdpZGdldHMpIHtcbiAgICAgICAgICAgIGlmICh3LmlkID09IGNpZCkge1xuICAgICAgICAgICAgICAgIGlmICh0ZW1wbGF0ZSA9PT0gdW5kZWZpbmVkIHx8IHcudGVtcGxhdGUgPT09IHRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB3O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGhlbnRpY2F0aW9uOiBBdXRoZW50aWNhdGlvblNlcnZpY2UpIHt9XG5cbiAgICAvKipcbiAgICAgKiBTYW1lIGFzIGdldFdpZGdldCwgYnV0IHdpbGwgYWxzbyBjaGVjayB0aGUgd2lkZ2V0IGNvbmRpdGlvbnNcbiAgICAgKiBAcGFyYW0gY29ubmVjdG9yXG4gICAgICogQHBhcmFtIHByb3BlcnRpZXNcbiAgICAgKiBAcGFyYW0gaWRcbiAgICAgKiBAcGFyYW0gdGVtcGxhdGVcbiAgICAgKiBAcGFyYW0gd2lkZ2V0c1xuICAgICAqL1xuICAgIGFzeW5jIGdldFdpZGdldFdpdGhDb25kaXRpb24oXG4gICAgICAgIHByb3BlcnRpZXM6IGFueSxcbiAgICAgICAgaWQ6IHN0cmluZyxcbiAgICAgICAgdGVtcGxhdGU6IHN0cmluZyA9IG51bGwsXG4gICAgICAgIHdpZGdldHM6IGFueSxcbiAgICApIHtcbiAgICAgICAgZm9yIChsZXQgdyBvZiB3aWRnZXRzKSB7XG4gICAgICAgICAgICBpZiAody5pZCA9PSBpZCkge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgKHRlbXBsYXRlID09IG51bGwgfHwgdy50ZW1wbGF0ZSA9PSB0ZW1wbGF0ZSkgJiZcbiAgICAgICAgICAgICAgICAgICAgKGF3YWl0IHRoaXMuaXNXaWRnZXRDb25kaXRpb25UcnVlKHcsIHByb3BlcnRpZXMpKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgYXN5bmMgaXNXaWRnZXRDb25kaXRpb25UcnVlKHdpZGdldDogYW55LCBwcm9wZXJ0aWVzOiBhbnkpIHtcbiAgICAgICAgaWYgKCF3aWRnZXQuY29uZGl0aW9uKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgbGV0IGNvbmRpdGlvbiA9IHdpZGdldC5jb25kaXRpb247XG4gICAgICAgIGlmIChjb25kaXRpb24udHlwZSA9PSAnUFJPUEVSVFknICYmIHByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAoIXByb3BlcnRpZXNbY29uZGl0aW9uLnZhbHVlXSAmJiAhY29uZGl0aW9uLm5lZ2F0ZSkgfHxcbiAgICAgICAgICAgICAgICAocHJvcGVydGllc1tjb25kaXRpb24udmFsdWVdICYmIGNvbmRpdGlvbi5uZWdhdGUpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmRpdGlvbi50eXBlID09ICdUT09MUEVSTUlTU0lPTicpIHtcbiAgICAgICAgICAgIGxldCB0cCA9IGF3YWl0IHRoaXMuYXV0aGVudGljYXRpb24uaGFzVG9vbHBlcm1pc3Npb24oY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIGlmICh0cCA9PSBjb25kaXRpb24ubmVnYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBGaW5kIGEgdGVtcGxhdGUgYnkgaWQgaW4gdGhlIGdpdmVuIG1kc1xuICAgICAqL1xuICAgIHN0YXRpYyBmaW5kVGVtcGxhdGUobWRzOiBNZHNEZWZpbml0aW9uLCBpZDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBtZHMudmlld3MgYXMgQXJyYXk8XG4gICAgICAgICAgICAgICAgQXJyYXlFbGVtZW50PE1kc0RlZmluaXRpb25bJ3ZpZXdzJ10+IHwgQXJyYXlFbGVtZW50PE1kc0RlZmluaXRpb25bJ3ZpZXdzJ10+XG4gICAgICAgICAgICA+XG4gICAgICAgICkuZmluZCgodikgPT4gdi5pZCA9PT0gaWQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFsbCB3aWRnZXRzIHVzZWQgYnkgdGhlIGdpdmVuIHRlbXBsYXRlXG4gICAgICovXG4gICAgc3RhdGljIGdldFVzZWRXaWRnZXRzKG1kczogTWRzRGVmaW5pdGlvbiwgdGVtcGxhdGU6IHN0cmluZyA9IG51bGwpOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IHVzZWQ6IGFueSA9IFtdO1xuICAgICAgICBjb25zdCB0ZW1wbGF0ZURhdGEgPSBNZHNIZWxwZXJTZXJ2aWNlLmZpbmRUZW1wbGF0ZShtZHMsIHRlbXBsYXRlKTtcbiAgICAgICAgZm9yIChjb25zdCB3IG9mIG1kcy53aWRnZXRzKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVEYXRhLmh0bWwuaW5kZXhPZignPCcgKyB3LmlkKSAhPT0gLTEgJiZcbiAgICAgICAgICAgICAgICAhdXNlZC5maW5kKCh3MjogYW55KSA9PiB3Mi5pZCA9PT0gdy5pZClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHVzZWQucHVzaCh3KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdXNlZDtcbiAgICB9XG59XG5cbnR5cGUgQXJyYXlFbGVtZW50PEFycmF5VHlwZSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4gPVxuICAgIEFycmF5VHlwZSBleHRlbmRzIHJlYWRvbmx5IChpbmZlciBFbGVtZW50VHlwZSlbXSA/IEVsZW1lbnRUeXBlIDogbmV2ZXI7XG4iXX0=
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRzLWhlbHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9tZHMvbWRzLWhlbHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFLSCxhQUFhLEdBRWhCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLG9CQUFvQixDQUFDOzs7QUFHNUQsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQXFCLEVBQUUsSUFBWTtRQUNsRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2YsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQzlCLElBQUksSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQzt3QkFDbEIsT0FBTyxJQUFJLENBQUM7b0JBQ2hCLENBQUM7Z0JBQ0wsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxHQUFHLElBQUksR0FBRywwQkFBMEIsQ0FBQyxDQUFDO1FBQzVGLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUEyQixFQUFFLE1BQVcsRUFBRSxJQUFZO1FBQ3BFLElBQUksT0FBTyxHQUFlLEVBQUUsQ0FBQztRQUM3QixJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzlCLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDbkIsS0FB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LENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDekMsQ0FBQztnQkFDQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzsrR0F4S1EsZ0JBQWdCO21IQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICAgIEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICBNZHNEZWZpbml0aW9uLFxuICAgIE1kc1NvcnQsXG4gICAgTWRzV2lkZ2V0LFxuICAgIFJlc3RDb25zdGFudHMsXG4gICAgU29ydCxcbn0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaXN0SXRlbSwgTGlzdEl0ZW1UeXBlIH0gZnJvbSAnLi4vdHlwZXMvbGlzdC1pdGVtJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1kc0hlbHBlclNlcnZpY2Uge1xuICAgIHN0YXRpYyBnZXRTb3J0SW5mbyhtZHNTZXQ6IE1kc0RlZmluaXRpb24sIG5hbWU6IHN0cmluZyk6IE1kc1NvcnQge1xuICAgICAgICBpZiAobWRzU2V0KSB7XG4gICAgICAgICAgICBpZiAobWRzU2V0LnNvcnRzKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBsaXN0IG9mIG1kc1NldC5zb3J0cykge1xuICAgICAgICAgICAgICAgICAgICBpZiAobGlzdC5pZCA9PSBuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGlzdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ21kcyBkb2VzIG5vdCBkZWZpbmUgc29ydCBpbmZvIGZvciAnICsgbmFtZSArICcsIGludmFsaWQgY29uZmlndXJhdGlvbiEnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgc3RhdGljIGdldENvbHVtbnModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBtZHNTZXQ6IGFueSwgbmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGxldCBjb2x1bW5zOiBMaXN0SXRlbVtdID0gW107XG4gICAgICAgIGlmIChtZHNTZXQpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgbGlzdCBvZiBtZHNTZXQubGlzdHMpIHtcbiAgICAgICAgICAgICAgICBpZiAobGlzdC5pZCA9PT0gbmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBsaXN0LmNvbHVtbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0eXBlOiBMaXN0SXRlbVR5cGUgPSAnTk9ERSc7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobmFtZSA9PT0gJ21lZGlhY2VudGVyR3JvdXBzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnR1JPVVAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChuYW1lID09PSAnc2VhcmNoQ29sbGVjdGlvbnMnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICdDT0xMRUNUSU9OJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGluIHRoaXMgY2FzZSwgdGhlIHR5cGUgaXMgaW5jbHVkZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb2x1bW4uaWQuaW5jbHVkZXMoJy4nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwbGl0ID0gY29sdW1uLmlkLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9IHNwbGl0WzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5pZCA9IHNwbGl0WzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IG5ldyBMaXN0SXRlbSh0eXBlLCBjb2x1bW4uaWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5mb3JtYXQgPSBjb2x1bW4uZm9ybWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAobWRzU2V0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICAgICAnbWRzIGRvZXMgbm90IGRlZmluZSBjb2x1bW5zIGZvciAnICsgbmFtZSArICcsIGludmFsaWQgY29uZmlndXJhdGlvbiEnLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobmFtZSA9PT0gJ3NlYXJjaCcgfHwgbmFtZSA9PT0gJ2NvbGxlY3Rpb25SZWZlcmVuY2VzJykge1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ05PREUnLCBSZXN0Q29uc3RhbnRzLkxPTV9QUk9QX1RJVExFKSk7XG4gICAgICAgICAgICAgICAgY29sdW1ucy5wdXNoKG5ldyBMaXN0SXRlbSgnTk9ERScsIFJlc3RDb25zdGFudHMuQ01fTU9ESUZJRURfREFURSkpO1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ05PREUnLCBSZXN0Q29uc3RhbnRzLkNDTV9QUk9QX0xJQ0VOU0UpKTtcbiAgICAgICAgICAgICAgICBjb2x1bW5zLnB1c2gobmV3IExpc3RJdGVtKCdOT0RFJywgUmVzdENvbnN0YW50cy5DQ01fUFJPUF9SRVBMSUNBVElPTlNPVVJDRSkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChuYW1lID09PSAnbWVkaWFjZW50ZXJNYW5hZ2VkJykge1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ05PREUnLCBSZXN0Q29uc3RhbnRzLkxPTV9QUk9QX1RJVExFKSk7XG4gICAgICAgICAgICAgICAgY29sdW1ucy5wdXNoKG5ldyBMaXN0SXRlbSgnTk9ERScsIFJlc3RDb25zdGFudHMuQ0NNX1BST1BfUkVQTElDQVRJT05TT1VSQ0VJRCkpO1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ05PREUnLCBSZXN0Q29uc3RhbnRzLkNDTV9QUk9QX1JFUExJQ0FUSU9OU09VUkNFKSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdtZWRpYWNlbnRlckdyb3VwcycpIHtcbiAgICAgICAgICAgICAgICBjb2x1bW5zLnB1c2gobmV3IExpc3RJdGVtKCdHUk9VUCcsIFJlc3RDb25zdGFudHMuQVVUSE9SSVRZX0RJU1BMQVlOQU1FKSk7XG4gICAgICAgICAgICAgICAgY29sdW1ucy5wdXNoKG5ldyBMaXN0SXRlbSgnR1JPVVAnLCBSZXN0Q29uc3RhbnRzLkFVVEhPUklUWV9HUk9VUFRZUEUpKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3NlYXJjaENvbGxlY3Rpb25zJykge1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ0NPTExFQ1RJT04nLCAndGl0bGUnKSk7XG4gICAgICAgICAgICAgICAgY29sdW1ucy5wdXNoKG5ldyBMaXN0SXRlbSgnQ09MTEVDVElPTicsICdpbmZvJykpO1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ0NPTExFQ1RJT04nLCAnc2NvcGUnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29sdW1ucy5tYXAoKGMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGMudHlwZSArICcuJyArIGMubmFtZTtcbiAgICAgICAgICAgIGlmIChjLnR5cGUgPT09ICdOT0RFJyAmJiB0cmFuc2xhdGUuaW5zdGFudChrZXkpID09PSBrZXkpIHtcbiAgICAgICAgICAgICAgICBjLmxhYmVsID0gbWRzU2V0LndpZGdldHMuZmlsdGVyKCh3OiBhbnkpID0+IHcuaWQgPT09IGMubmFtZSk/LlswXT8uY2FwdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGNvbHVtbnM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluZHMgdGhlIGFwcHJvcHJpYXRlIHdpZGdldCB3aXRoIHRoZSBpZCwgYnV0IHdpbGwgbm90IGNoZWNrIGFueSB3aWRnZXQgY29uZGl0aW9uc1xuICAgICAqIEBwYXJhbSBjaWRcbiAgICAgKiBAcGFyYW0gdGVtcGxhdGVcbiAgICAgKiBAcGFyYW0gd2lkZ2V0c1xuICAgICAqL1xuICAgIHN0YXRpYyBnZXRXaWRnZXQoY2lkOiBzdHJpbmcsIHRlbXBsYXRlOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsLCB3aWRnZXRzOiBNZHNXaWRnZXRbXSkge1xuICAgICAgICBpZiAod2lkZ2V0cyA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0NvdWxkIG5vdCBpdGVyYXRlIHdpZGdldCAnICsgY2lkICsgJzogbm8gd2lkZ2V0cyBkYXRhIHByb3ZpZGVkJyk7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCB3IG9mIHdpZGdldHMpIHtcbiAgICAgICAgICAgIGlmICh3LmlkID09IGNpZCkge1xuICAgICAgICAgICAgICAgIGlmICh0ZW1wbGF0ZSA9PT0gdW5kZWZpbmVkIHx8IHcudGVtcGxhdGUgPT09IHRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB3O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGhlbnRpY2F0aW9uOiBBdXRoZW50aWNhdGlvblNlcnZpY2UpIHt9XG5cbiAgICAvKipcbiAgICAgKiBTYW1lIGFzIGdldFdpZGdldCwgYnV0IHdpbGwgYWxzbyBjaGVjayB0aGUgd2lkZ2V0IGNvbmRpdGlvbnNcbiAgICAgKiBAcGFyYW0gY29ubmVjdG9yXG4gICAgICogQHBhcmFtIHByb3BlcnRpZXNcbiAgICAgKiBAcGFyYW0gaWRcbiAgICAgKiBAcGFyYW0gdGVtcGxhdGVcbiAgICAgKiBAcGFyYW0gd2lkZ2V0c1xuICAgICAqL1xuICAgIGFzeW5jIGdldFdpZGdldFdpdGhDb25kaXRpb24oXG4gICAgICAgIHByb3BlcnRpZXM6IGFueSxcbiAgICAgICAgaWQ6IHN0cmluZyxcbiAgICAgICAgdGVtcGxhdGU6IHN0cmluZyA9IG51bGwsXG4gICAgICAgIHdpZGdldHM6IGFueSxcbiAgICApIHtcbiAgICAgICAgZm9yIChsZXQgdyBvZiB3aWRnZXRzKSB7XG4gICAgICAgICAgICBpZiAody5pZCA9PSBpZCkge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgKHRlbXBsYXRlID09IG51bGwgfHwgdy50ZW1wbGF0ZSA9PSB0ZW1wbGF0ZSkgJiZcbiAgICAgICAgICAgICAgICAgICAgKGF3YWl0IHRoaXMuaXNXaWRnZXRDb25kaXRpb25UcnVlKHcsIHByb3BlcnRpZXMpKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgYXN5bmMgaXNXaWRnZXRDb25kaXRpb25UcnVlKHdpZGdldDogYW55LCBwcm9wZXJ0aWVzOiBhbnkpIHtcbiAgICAgICAgaWYgKCF3aWRnZXQuY29uZGl0aW9uKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgbGV0IGNvbmRpdGlvbiA9IHdpZGdldC5jb25kaXRpb247XG4gICAgICAgIGlmIChjb25kaXRpb24udHlwZSA9PSAnUFJPUEVSVFknICYmIHByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAoIXByb3BlcnRpZXNbY29uZGl0aW9uLnZhbHVlXSAmJiAhY29uZGl0aW9uLm5lZ2F0ZSkgfHxcbiAgICAgICAgICAgICAgICAocHJvcGVydGllc1tjb25kaXRpb24udmFsdWVdICYmIGNvbmRpdGlvbi5uZWdhdGUpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmRpdGlvbi50eXBlID09ICdUT09MUEVSTUlTU0lPTicpIHtcbiAgICAgICAgICAgIGxldCB0cCA9IGF3YWl0IHRoaXMuYXV0aGVudGljYXRpb24uaGFzVG9vbHBlcm1pc3Npb24oY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIGlmICh0cCA9PSBjb25kaXRpb24ubmVnYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBGaW5kIGEgdGVtcGxhdGUgYnkgaWQgaW4gdGhlIGdpdmVuIG1kc1xuICAgICAqL1xuICAgIHN0YXRpYyBmaW5kVGVtcGxhdGUobWRzOiBNZHNEZWZpbml0aW9uLCBpZDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBtZHMudmlld3MgYXMgQXJyYXk8XG4gICAgICAgICAgICAgICAgQXJyYXlFbGVtZW50PE1kc0RlZmluaXRpb25bJ3ZpZXdzJ10+IHwgQXJyYXlFbGVtZW50PE1kc0RlZmluaXRpb25bJ3ZpZXdzJ10+XG4gICAgICAgICAgICA+XG4gICAgICAgICkuZmluZCgodikgPT4gdi5pZCA9PT0gaWQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFsbCB3aWRnZXRzIHVzZWQgYnkgdGhlIGdpdmVuIHRlbXBsYXRlXG4gICAgICovXG4gICAgc3RhdGljIGdldFVzZWRXaWRnZXRzKG1kczogTWRzRGVmaW5pdGlvbiwgdGVtcGxhdGU6IHN0cmluZyA9IG51bGwpOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IHVzZWQ6IGFueSA9IFtdO1xuICAgICAgICBjb25zdCB0ZW1wbGF0ZURhdGEgPSBNZHNIZWxwZXJTZXJ2aWNlLmZpbmRUZW1wbGF0ZShtZHMsIHRlbXBsYXRlKTtcbiAgICAgICAgZm9yIChjb25zdCB3IG9mIG1kcy53aWRnZXRzKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVEYXRhLmh0bWwuaW5kZXhPZignPCcgKyB3LmlkKSAhPT0gLTEgJiZcbiAgICAgICAgICAgICAgICAhdXNlZC5maW5kKCh3MjogYW55KSA9PiB3Mi5pZCA9PT0gdy5pZClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHVzZWQucHVzaCh3KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdXNlZDtcbiAgICB9XG59XG5cbnR5cGUgQXJyYXlFbGVtZW50PEFycmF5VHlwZSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4gPVxuICAgIEFycmF5VHlwZSBleHRlbmRzIHJlYWRvbmx5IChpbmZlciBFbGVtZW50VHlwZSlbXSA/IEVsZW1lbnRUeXBlIDogbmV2ZXI7XG4iXX0=
|
|
@@ -2,15 +2,15 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { MdsHelperService } from './mds-helper.service';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class MdsModule {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
6
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.
|
|
7
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: MdsModule }); }
|
|
7
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsModule, providers: [MdsHelperService] }); }
|
|
8
8
|
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsModule, decorators: [{
|
|
10
10
|
type: NgModule,
|
|
11
11
|
args: [{
|
|
12
12
|
declarations: [],
|
|
13
13
|
providers: [MdsHelperService],
|
|
14
14
|
}]
|
|
15
15
|
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbWRzL21kcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFNeEQsTUFBTSxPQUFPLFNBQVM7K0dBQVQsU0FBUztnSEFBVCxTQUFTO2dIQUFULFNBQVMsYUFGUCxDQUFDLGdCQUFnQixDQUFDOzs0RkFFcEIsU0FBUztrQkFKckIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1kc0hlbHBlclNlcnZpY2UgfSBmcm9tICcuL21kcy1oZWxwZXIuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBwcm92aWRlcnM6IFtNZHNIZWxwZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgTWRzTW9kdWxlIHt9XG4iXX0=
|
|
@@ -5,12 +5,12 @@ import * as i2 from "../../list-items/list-text/list-text.component";
|
|
|
5
5
|
import * as i3 from "@angular/material/badge";
|
|
6
6
|
import * as i4 from "../../pipes/node-icon.pipe";
|
|
7
7
|
export class DragPreviewComponent {
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DragPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DragPreviewComponent, selector: "es-drag-preview", inputs: { node: "node", selected: "selected", item: "item" }, ngImport: i0, template: "<div class=\"drag-preview\" [matBadge]=\"selected.length > 1 ? selected.length : null\">\n <div class=\"drag-preview-icon\">\n <img *ngIf=\"node.iconURL\" [src]=\"node | esNodeIcon | async\" />\n </div>\n <es-list-text class=\"drag-preview-text\" [node]=\"node\" [item]=\"item\"></es-list-text>\n</div>\n", styles: [".drag-preview{display:flex;align-items:center;gap:16px;height:48px;padding:0 12px;background-color:var(--palette-primary-50)}.drag-preview-icon{width:30px;height:30px;padding:3px;margin:1px 0;background-color:#fff;border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 0 3px #0000004d}.drag-preview-icon>img{width:18px;height:auto}.drag-preview-text{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ListTextComponent, selector: "es-list-text" }, { kind: "directive", type: i3.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.NodeIconPipe, name: "esNodeIcon" }] }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DragPreviewComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
|
-
args: [{ selector: 'es-drag-preview', template: "<div class=\"drag-preview\" [matBadge]=\"selected.length > 1 ? selected.length : null\">\n <div class=\"drag-preview-icon\">\n <img *ngIf=\"node.iconURL\" [src]=\"node | esNodeIcon\" />\n </div>\n <es-list-text class=\"drag-preview-text\" [node]=\"node\" [item]=\"item\"></es-list-text>\n</div>\n", styles: [".drag-preview{display:flex;align-items:center;gap:16px;height:48px;padding:0 12px;background-color:var(--palette-primary-50)}.drag-preview-icon{width:30px;height:30px;padding:3px;margin:1px 0;background-color:#fff;border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 0 3px #0000004d}.drag-preview-icon>img{width:18px;height:auto}.drag-preview-text{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
|
|
13
|
+
args: [{ selector: 'es-drag-preview', template: "<div class=\"drag-preview\" [matBadge]=\"selected.length > 1 ? selected.length : null\">\n <div class=\"drag-preview-icon\">\n <img *ngIf=\"node.iconURL\" [src]=\"node | esNodeIcon | async\" />\n </div>\n <es-list-text class=\"drag-preview-text\" [node]=\"node\" [item]=\"item\"></es-list-text>\n</div>\n", styles: [".drag-preview{display:flex;align-items:center;gap:16px;height:48px;padding:0 12px;background-color:var(--palette-primary-50)}.drag-preview-icon{width:30px;height:30px;padding:3px;margin:1px 0;background-color:#fff;border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 0 3px #0000004d}.drag-preview-icon>img{width:18px;height:auto}.drag-preview-text{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
|
|
14
14
|
}], propDecorators: { node: [{
|
|
15
15
|
type: Input
|
|
16
16
|
}], selected: [{
|
|
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
18
18
|
}], item: [{
|
|
19
19
|
type: Input
|
|
20
20
|
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbm9kZS1lbnRyaWVzL2RyYWctcHJldmlldy9kcmFnLXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9ub2RlLWVudHJpZXMvZHJhZy1wcmV2aWV3L2RyYWctcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBVWpELE1BQU0sT0FBTyxvQkFBb0I7K0dBQXBCLG9CQUFvQjttR0FBcEIsb0JBQW9CLHFIQ1ZqQyx3VEFNQTs7NEZESWEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNJLGlCQUFpQjs4QkFLbEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi90eXBlcy9saXN0LWl0ZW0nO1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgTm9kZUVudHJpZXNEYXRhVHlwZSB9IGZyb20gJy4uL2VudHJpZXMtbW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VzLWRyYWctcHJldmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyYWctcHJldmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHJhZy1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERyYWdQcmV2aWV3Q29tcG9uZW50PFQgZXh0ZW5kcyBOb2RlRW50cmllc0RhdGFUeXBlPiB7XG4gICAgQElucHV0KCkgbm9kZTogTm9kZTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZDogVFtdO1xuICAgIEBJbnB1dCgpIGl0ZW06IExpc3RJdGVtO1xufVxuIiwiPGRpdiBjbGFzcz1cImRyYWctcHJldmlld1wiIFttYXRCYWRnZV09XCJzZWxlY3RlZC5sZW5ndGggPiAxID8gc2VsZWN0ZWQubGVuZ3RoIDogbnVsbFwiPlxuICA8ZGl2IGNsYXNzPVwiZHJhZy1wcmV2aWV3LWljb25cIj5cbiAgICA8aW1nICpuZ0lmPVwibm9kZS5pY29uVVJMXCIgW3NyY109XCJub2RlIHwgZXNOb2RlSWNvbiB8IGFzeW5jXCIgLz5cbiAgPC9kaXY+XG4gIDxlcy1saXN0LXRleHQgY2xhc3M9XCJkcmFnLXByZXZpZXctdGV4dFwiIFtub2RlXT1cIm5vZGVcIiBbaXRlbV09XCJpdGVtXCI+PC9lcy1saXN0LXRleHQ+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -21,4 +21,4 @@ export var ClickSource;
|
|
|
21
21
|
ClickSource[ClickSource["Overlay"] = 4] = "Overlay";
|
|
22
22
|
ClickSource[ClickSource["Dropdown"] = 5] = "Dropdown";
|
|
23
23
|
})(ClickSource || (ClickSource = {}));
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cmllcy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbm9kZS1lbnRyaWVzL2VudHJpZXMtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0JBLE1BQU0sQ0FBTixJQUFZLHNCQUlYO0FBSkQsV0FBWSxzQkFBc0I7SUFDOUIscUVBQUssQ0FBQTtJQUNMLG1FQUFJLENBQUE7SUFDSiw2RUFBUyxDQUFBO0FBQ2IsQ0FBQyxFQUpXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFJakM7QUFFRCxNQUFNLENBQU4sSUFBWSxlQU1YO0FBTkQsV0FBWSxlQUFlO0lBQ3ZCLHFCQUFxQjtJQUNyQiwrRUFBaUIsQ0FBQTtJQUNqQixnQkFBZ0I7SUFDaEIsMkRBQU8sQ0FBQTtJQUNQLHFEQUFJLENBQUE7QUFDUixDQUFDLEVBTlcsZUFBZSxLQUFmLGVBQWUsUUFNMUI7QUE2QkQsTUFBTSxDQUFOLElBQVksV0FPWDtBQVBELFdBQVksV0FBVztJQUNuQixtREFBTyxDQUFBO0lBQ1AsNkNBQUksQ0FBQTtJQUNKLHFEQUFRLENBQUE7SUFDUixxREFBUSxDQUFBO0lBQ1IsbURBQU8sQ0FBQTtJQUNQLHFEQUFRLENBQUE7QUFDWixDQUFDLEVBUFcsV0FBVyxLQUFYLFdBQVcsUUFPdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5cbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEN1c3RvbU9wdGlvbnMsIE9wdGlvbkl0ZW0sIFRhcmdldCB9IGZyb20gJy4uL3R5cGVzL29wdGlvbi1pdGVtJztcbmltcG9ydCB7IExpc3RJdGVtLCBMaXN0SXRlbVNvcnQgfSBmcm9tICcuLi90eXBlcy9saXN0LWl0ZW0nO1xuaW1wb3J0IHsgQ2FuRHJvcCwgRHJhZ0RhdGEsIERyb3BBY3Rpb24gfSBmcm9tICcuLi90eXBlcy9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgTm9kZSwgR2VuZXJpY0F1dGhvcml0eSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgQWN0aW9uYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9uYmFyL2FjdGlvbmJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBOb2RlUm9vdCA9XG4gICAgfCAnTVlfRklMRVMnXG4gICAgfCAnQ09MTEVDVElPTl9IT01FJ1xuICAgIHwgJ1NIQVJFRF9GSUxFUydcbiAgICB8ICdNWV9TSEFSRURfRklMRVMnXG4gICAgfCAnVE9fTUVfU0hBUkVEX0ZJTEVTJ1xuICAgIHwgJ1dPUktGTE9XX1JFQ0VJVkUnXG4gICAgfCAnUkVDWUNMRSdcbiAgICB8ICdBTExfRklMRVMnO1xuXG5leHBvcnQgZW51bSBOb2RlRW50cmllc0Rpc3BsYXlUeXBlIHtcbiAgICBUYWJsZSxcbiAgICBHcmlkLFxuICAgIFNtYWxsR3JpZCxcbn1cblxuZXhwb3J0IGVudW0gSW50ZXJhY3Rpb25UeXBlIHtcbiAgICAvLyBjcmVhdGUgcm91dGVyIGxpbmtcbiAgICBEZWZhdWx0QWN0aW9uTGluayxcbiAgICAvLyBlbWl0IGFuIGV2ZW50XG4gICAgRW1pdHRlcixcbiAgICBOb25lLFxufVxuXG5leHBvcnQgdHlwZSBMaXN0T3B0aW9ucyA9IHsgW2tleSBpbiBUYXJnZXRdPzogT3B0aW9uSXRlbVtdIH07XG5leHBvcnQgdHlwZSBMaXN0T3B0aW9uc0NvbmZpZyA9IHtcbiAgICBhY3Rpb25iYXI/OiBBY3Rpb25iYXJDb21wb25lbnQ7XG4gICAgcGFyZW50PzogTm9kZTtcbiAgICBjdXN0b21PcHRpb25zPzogQ3VzdG9tT3B0aW9ucztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFNvcnRDb25maWcgZXh0ZW5kcyBTb3J0IHtcbiAgICBjb2x1bW5zOiBMaXN0SXRlbVNvcnRbXTtcbiAgICBhbGxvd2VkPzogYm9vbGVhbjtcbiAgICBjdXN0b21Tb3J0aW5nSW5Qcm9ncmVzcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIERyb3BUYXJnZXQgPSBOb2RlIHwgTm9kZVJvb3Q7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJvcFNvdXJjZTxUIGV4dGVuZHMgTm9kZUVudHJpZXNEYXRhVHlwZT4ge1xuICAgIGVsZW1lbnQ6IFRbXTtcbiAgICAvLyBzb3VyY2VMaXN0OiBMaXN0RXZlbnRJbnRlcmZhY2U8VD47XG4gICAgbW9kZTogRHJvcEFjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0RHJhZ0dyb3BDb25maWc8VCBleHRlbmRzIE5vZGVFbnRyaWVzRGF0YVR5cGU+IHtcbiAgICBkcmFnQWxsb3dlZDogYm9vbGVhbjtcbiAgICBkcm9wQWxsb3dlZD86IChkcmFnRGF0YTogRHJhZ0RhdGE8VD4pID0+IENhbkRyb3A7XG4gICAgZHJvcHBlZD86ICh0YXJnZXQ6IE5vZGUsIHNvdXJjZTogRHJvcFNvdXJjZTxOb2RlRW50cmllc0RhdGFUeXBlPikgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGVudW0gQ2xpY2tTb3VyY2Uge1xuICAgIFByZXZpZXcsXG4gICAgSWNvbixcbiAgICBNZXRhZGF0YSxcbiAgICBDb21tZW50cyxcbiAgICBPdmVybGF5LFxuICAgIERyb3Bkb3duLCAvLyBrZWVwOiB1c2VkIGluIGV4dGVuc2lvbnNcbn1cblxuZXhwb3J0IHR5cGUgTm9kZUNsaWNrRXZlbnQ8VCBleHRlbmRzIE5vZGVFbnRyaWVzRGF0YVR5cGU+ID0ge1xuICAgIGVsZW1lbnQ6IFQ7XG4gICAgc291cmNlOiBDbGlja1NvdXJjZTtcbiAgICBhdHRyaWJ1dGU/OiBMaXN0SXRlbTsgLy8gb25seSB3aGVuIHNvdXJjZSA9PT0gTWV0YWRhdGFcbn07XG5leHBvcnQgdHlwZSBGZXRjaEV2ZW50ID0ge1xuICAgIG9mZnNldDogbnVtYmVyO1xuICAgIGFtb3VudD86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBpcyBhIHJlc2V0IG9mIHRoZSBjdXJyZW50IGRhdGEgcmVxdWlyZWQ/XG4gICAgICogdGhpcyBzaG91bGQgYmUgdHJ1ZSBpZiB0aGlzIHdhcyBhIHBhZ2luYXRpb24gcmVxdWVzdFxuICAgICAqL1xuICAgIHJlc2V0PzogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBOb2RlRW50cmllc0RhdGFUeXBlID0gTm9kZSB8IEdlbmVyaWNBdXRob3JpdHk7XG5leHBvcnQgdHlwZSBHcmlkTGF5b3V0ID0gJ2dyaWQnIHwgJ3Njcm9sbCc7XG5leHBvcnQgdHlwZSBHcmlkQ29uZmlnID0ge1xuICAgIC8qKlxuICAgICAqIG1heCBhbW91bnQgb2Ygcm93cyB0aGF0IHNob3VsZCBiZSB2aXNpYmxlLCB1bnNldCBmb3Igbm8gbGltaXRcbiAgICAgKi9cbiAgICBtYXhSb3dzPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIGxheW91dCwgZGVmYXVsdHMgdG8gJ2dyaWQnXG4gICAgICogJ3Njcm9sbCcgbWF5IG9ubHkgYmUgdXNlZCB3aGVuIG1heFJvd3MgaXMgbm90IHNldFxuICAgICAqL1xuICAgIGxheW91dD86IEdyaWRMYXlvdXQ7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RFdmVudEludGVyZmFjZTxUIGV4dGVuZHMgTm9kZUVudHJpZXNEYXRhVHlwZT4ge1xuICAgIHVwZGF0ZU5vZGVzKG5vZGVzOiB2b2lkIHwgVFtdKTogdm9pZDtcblxuICAgIG9uRGlzcGxheVR5cGVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxOb2RlRW50cmllc0Rpc3BsYXlUeXBlPjtcblxuICAgIGdldERpc3BsYXlUeXBlKCk6IE5vZGVFbnRyaWVzRGlzcGxheVR5cGU7XG5cbiAgICBzZXREaXNwbGF5VHlwZShkaXNwbGF5VHlwZTogTm9kZUVudHJpZXNEaXNwbGF5VHlwZSk6IHZvaWQ7XG5cbiAgICBzaG93UmVvcmRlckNvbHVtbnNEaWFsb2coKTogdm9pZDtcblxuICAgIGFkZFZpcnR1YWxOb2Rlcyh2aXJ0dWFsOiBUW10pOiB2b2lkO1xuXG4gICAgc2V0T3B0aW9ucyhvcHRpb25zOiBMaXN0T3B0aW9ucyk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBhY3RpdmF0ZSBvcHRpb24gKGRyb3Bkb3duKSBnZW5lcmF0aW9uXG4gICAgICovXG4gICAgaW5pdE9wdGlvbnNHZW5lcmF0b3IoY29uZmlnOiBMaXN0T3B0aW9uc0NvbmZpZyk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xuXG4gICAgc2VsZWN0QWxsKCk6IHZvaWQ7XG5cbiAgICBnZXRTZWxlY3Rpb24oKTogU2VsZWN0aW9uTW9kZWw8VD47XG5cbiAgICAvKipcbiAgICAgKiB0cmlnZ2VyZWQgd2hlbiBub2Rlcy9vYmplY3RzIGFyZSBkZWxldGVkIGFuZCBzaG91bGQgbm90IGJlIHNob3duIGluIHRoZSBsaXN0IGFueW1vcmVcbiAgICAgKi9cbiAgICBkZWxldGVOb2RlcyhvYmplY3RzOiBUW10pOiB2b2lkO1xufVxuIl19
|