@alfresco/aca-content 5.2.0 → 5.3.0-11955434723
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/esm2022/folder-rules/manage-rules/manage-rules.smart-component.mjs +13 -17
- package/esm2022/folder-rules/rule-details/actions/rule-action.ui-component.mjs +9 -12
- package/esm2022/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +8 -12
- package/esm2022/folder-rules/rule-details/rule-details.ui-component.mjs +8 -12
- package/esm2022/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +5 -7
- package/esm2022/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +7 -10
- package/esm2022/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +8 -11
- package/esm2022/lib/components/common/toggle-shared/toggle-shared.component.mjs +6 -11
- package/esm2022/lib/components/context-menu/context-menu-outside-event.directive.mjs +7 -12
- package/esm2022/lib/components/context-menu/context-menu.component.mjs +2 -2
- package/esm2022/lib/components/details/details.component.mjs +4 -3
- package/esm2022/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +5 -10
- package/esm2022/lib/components/dl-custom-components/name-column/name-column.component.mjs +8 -12
- package/esm2022/lib/components/files/files.component.mjs +9 -8
- package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +12 -15
- package/esm2022/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +12 -16
- package/esm2022/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +7 -10
- package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +6 -11
- package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +5 -8
- package/esm2022/lib/components/search/search-input/search-input.component.mjs +6 -9
- package/esm2022/lib/components/search/search-input-control/search-input-control.component.mjs +2 -8
- package/esm2022/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +3 -3
- package/esm2022/lib/components/search/search-results/search-results.component.mjs +2 -3
- package/esm2022/lib/components/search/search-results-row/search-results-row.component.mjs +7 -11
- package/esm2022/lib/components/search/search-save/sidenav/save-search-sidenav.component.mjs +5 -10
- package/esm2022/lib/components/shared-link-view/shared-link-view.component.mjs +8 -11
- package/esm2022/lib/components/sidenav/components/sidenav-header.component.mjs +5 -10
- package/esm2022/lib/components/sidenav/directives/active-link.directive.mjs +6 -6
- package/esm2022/lib/components/sidenav/directives/expansion-panel.directive.mjs +7 -11
- package/esm2022/lib/components/sidenav/directives/menu-panel.directive.mjs +7 -11
- package/esm2022/lib/components/sidenav/sidenav.component.mjs +9 -13
- package/esm2022/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +6 -10
- package/esm2022/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +4 -9
- package/esm2022/lib/components/view-profile/view-profile.component.mjs +4 -9
- package/esm2022/lib/directives/document-list.directive.mjs +8 -12
- package/esm2022/viewer/lib/components/preview/preview.component.mjs +9 -11
- package/esm2022/viewer/lib/components/viewer/viewer.component.mjs +15 -16
- package/fesm2022/alfresco-aca-content-folder-rules.mjs +27 -49
- package/fesm2022/alfresco-aca-content-folder-rules.mjs.map +1 -1
- package/fesm2022/alfresco-aca-content-viewer.mjs +16 -20
- package/fesm2022/alfresco-aca-content-viewer.mjs.map +1 -1
- package/fesm2022/alfresco-aca-content.mjs +73 -168
- package/fesm2022/alfresco-aca-content.mjs.map +1 -1
- package/folder-rules/manage-rules/manage-rules.smart-component.d.ts +3 -5
- package/folder-rules/rule-details/actions/rule-action.ui-component.d.ts +4 -5
- package/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.d.ts +3 -4
- package/folder-rules/rule-details/rule-details.ui-component.d.ts +4 -5
- package/folder-rules/rule-list/rule-list/rule-list.ui-component.d.ts +3 -4
- package/folder-rules/rule-set-picker/rule-set-picker.smart-component.d.ts +3 -5
- package/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.d.ts +3 -4
- package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +4 -5
- package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +3 -4
- package/lib/components/context-menu/context-menu.component.d.ts +1 -1
- package/lib/components/details/details.component.d.ts +1 -2
- package/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.d.ts +3 -4
- package/lib/components/dl-custom-components/name-column/name-column.component.d.ts +3 -4
- package/lib/components/files/files.component.d.ts +1 -1
- package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +4 -6
- package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +6 -7
- package/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.d.ts +3 -4
- package/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.d.ts +3 -4
- package/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.d.ts +2 -3
- package/lib/components/search/search-input/search-input.component.d.ts +1 -2
- package/lib/components/search/search-input-control/search-input-control.component.d.ts +2 -5
- package/lib/components/search/search-results/search-results.component.d.ts +0 -1
- package/lib/components/search/search-results-row/search-results-row.component.d.ts +3 -4
- package/lib/components/search/search-save/sidenav/save-search-sidenav.component.d.ts +3 -5
- package/lib/components/shared-link-view/shared-link-view.component.d.ts +4 -5
- package/lib/components/sidenav/components/sidenav-header.component.d.ts +3 -4
- package/lib/components/sidenav/directives/active-link.directive.d.ts +1 -1
- package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +3 -4
- package/lib/components/sidenav/directives/menu-panel.directive.d.ts +3 -4
- package/lib/components/sidenav/sidenav.component.d.ts +3 -4
- package/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.d.ts +3 -4
- package/lib/components/upload-files-dialog/upload-files-dialog.component.d.ts +1 -27
- package/lib/components/view-profile/view-profile.component.d.ts +2 -4
- package/lib/directives/document-list.directive.d.ts +3 -5
- package/package.json +5 -5
- package/viewer/lib/components/preview/preview.component.d.ts +3 -4
- package/viewer/lib/components/viewer/viewer.component.d.ts +2 -2
package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs
CHANGED
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
* You should have received a copy of the GNU Lesser General Public License
|
|
22
22
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
23
|
*/
|
|
24
|
-
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
25
|
-
import {
|
|
24
|
+
import { Component, DestroyRef, inject, Input, ViewEncapsulation } from '@angular/core';
|
|
25
|
+
import { FormsModule, ReactiveFormsModule, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
|
26
26
|
import { QueriesApi, SiteEntry } from '@alfresco/js-api';
|
|
27
27
|
import { Store } from '@ngrx/store';
|
|
28
|
-
import { SnackbarActionTypes, UpdateLibraryAction
|
|
29
|
-
import { debounceTime, filter, mergeMap
|
|
28
|
+
import { isAdmin, SnackbarActionTypes, UpdateLibraryAction } from '@alfresco/aca-shared/store';
|
|
29
|
+
import { debounceTime, filter, mergeMap } from 'rxjs/operators';
|
|
30
30
|
import { AlfrescoApiService } from '@alfresco/adf-content-services';
|
|
31
|
-
import { from
|
|
31
|
+
import { from } from 'rxjs';
|
|
32
32
|
import { MatOptionModule } from '@angular/material/core';
|
|
33
33
|
import { CommonModule } from '@angular/common';
|
|
34
34
|
import { MatCardModule } from '@angular/material/card';
|
|
@@ -39,6 +39,7 @@ import { MatInputModule } from '@angular/material/input';
|
|
|
39
39
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
40
40
|
import { MatButtonModule } from '@angular/material/button';
|
|
41
41
|
import { Actions, ofType } from '@ngrx/effects';
|
|
42
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
42
43
|
import * as i0 from "@angular/core";
|
|
43
44
|
import * as i1 from "@alfresco/adf-content-services";
|
|
44
45
|
import * as i2 from "@ngrx/store";
|
|
@@ -88,7 +89,7 @@ class LibraryMetadataFormComponent {
|
|
|
88
89
|
matcher = new InstantErrorStateMatcher();
|
|
89
90
|
canUpdateLibrary = false;
|
|
90
91
|
isAdmin = false;
|
|
91
|
-
|
|
92
|
+
destroyRef = inject(DestroyRef);
|
|
92
93
|
constructor(alfrescoApiService, store, actions$) {
|
|
93
94
|
this.alfrescoApiService = alfrescoApiService;
|
|
94
95
|
this.store = store;
|
|
@@ -116,12 +117,12 @@ class LibraryMetadataFormComponent {
|
|
|
116
117
|
this.toggleEdit();
|
|
117
118
|
this.updateForm(this.node);
|
|
118
119
|
this.form.controls.title.statusChanges
|
|
119
|
-
.pipe(
|
|
120
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
120
121
|
.subscribe(() => (this._titleErrorTranslationKey = this.form.controls.title.errors?.empty
|
|
121
122
|
? 'LIBRARY.ERRORS.ONLY_SPACES'
|
|
122
123
|
: 'LIBRARY.ERRORS.TITLE_TOO_LONG_OR_MISSING'));
|
|
123
124
|
this.form.controls['title'].valueChanges
|
|
124
|
-
.pipe(debounceTime(300), mergeMap((title) => this.findLibraryByTitle(title)),
|
|
125
|
+
.pipe(debounceTime(300), mergeMap((title) => this.findLibraryByTitle(title)), takeUntilDestroyed(this.destroyRef))
|
|
125
126
|
.subscribe((result) => {
|
|
126
127
|
const { entries } = result.list;
|
|
127
128
|
if (entries.length) {
|
|
@@ -138,7 +139,7 @@ class LibraryMetadataFormComponent {
|
|
|
138
139
|
});
|
|
139
140
|
this.store
|
|
140
141
|
.select(isAdmin)
|
|
141
|
-
.pipe(
|
|
142
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
142
143
|
.subscribe((value) => {
|
|
143
144
|
this.isAdmin = value;
|
|
144
145
|
});
|
|
@@ -146,10 +147,6 @@ class LibraryMetadataFormComponent {
|
|
|
146
147
|
this.handleUpdatingEvent(SnackbarActionTypes.Info, 'LIBRARY.SUCCESS.LIBRARY_UPDATED', () => Object.assign(this.node.entry, this.form.value));
|
|
147
148
|
this.handleUpdatingEvent(SnackbarActionTypes.Error, 'LIBRARY.ERRORS.LIBRARY_UPDATE_ERROR', () => this.form.markAsDirty());
|
|
148
149
|
}
|
|
149
|
-
ngOnDestroy() {
|
|
150
|
-
this.onDestroy$.next(true);
|
|
151
|
-
this.onDestroy$.complete();
|
|
152
|
-
}
|
|
153
150
|
ngOnChanges() {
|
|
154
151
|
this.updateForm(this.node);
|
|
155
152
|
this.canUpdateLibrary = this.node?.entry?.role === 'SiteManager' || this.isAdmin;
|
|
@@ -182,7 +179,7 @@ class LibraryMetadataFormComponent {
|
|
|
182
179
|
}
|
|
183
180
|
handleUpdatingEvent(actionType, payload, handle) {
|
|
184
181
|
this.actions$
|
|
185
|
-
.pipe(ofType(actionType), filter((action) => action.payload === payload),
|
|
182
|
+
.pipe(ofType(actionType), filter((action) => action.payload === payload), takeUntilDestroyed(this.destroyRef))
|
|
186
183
|
.subscribe(handle);
|
|
187
184
|
}
|
|
188
185
|
validateEmptyName(control) {
|
|
@@ -210,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
210
207
|
}], ctorParameters: function () { return [{ type: i1.AlfrescoApiService }, { type: i2.Store }, { type: i3.Actions }]; }, propDecorators: { node: [{
|
|
211
208
|
type: Input
|
|
212
209
|
}] } });
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeS1tZXRhZGF0YS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9pbmZvLWRyYXdlci9saWJyYXJ5LW1ldGFkYXRhLXRhYi9saWJyYXJ5LW1ldGFkYXRhLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL2luZm8tZHJhd2VyL2xpYnJhcnktbWV0YWRhdGEtdGFiL2xpYnJhcnktbWV0YWRhdGEtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFnQyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixVQUFVLEVBR1YsV0FBVyxFQUNYLG1CQUFtQixFQUdwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDckUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBR0wsbUJBQW1CLEVBR25CLG1CQUFtQixFQUNuQixPQUFPLEVBQ1IsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFjLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFD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LENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDaEYsQ0FBQzt1R0E3SlUsNEJBQTRCOzJGQUE1Qiw0QkFBNEIsb0lDeEZ6Qyx3d0dBZ0VBLGluQ0RPSSxZQUFZLCtQQUNaLGFBQWEseVZBQ2IsZUFBZSwyRkFDZixrQkFBa0IsK2RBQ2xCLFdBQVcsdzNCQUNYLG1CQUFtQiwrVUFDbkIsZUFBZSx3VEFDZixlQUFlLDhCQUNmLGNBQWMsMldBQ2QsVUFBVSwwTEFDVixlQUFlOztTQU9OLDRCQUE0QjsyRkFBNUIsNEJBQTRCO2tCQXBCeEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsVUFBVTt3QkFDVixlQUFlO3FCQUNoQixZQUNTLDJCQUEyQixpQkFHdEIsaUJBQWlCLENBQUMsSUFBSTttSkFnQnJDLElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVW50eXBlZEZvcm1Hcm91cCxcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBWYWxpZGF0b3JzLFxuICBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gIE5nRm9ybSxcbiAgRm9ybXNNb2R1bGUsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIEZvcm1Db250cm9sLFxuICBWYWxpZGF0aW9uRXJyb3JzXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFF1ZXJpZXNBcGksIFNpdGVFbnRyeSwgU2l0ZVBhZ2luZyB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBBcHBTdG9yZSxcbiAgU25hY2tiYXJBY3Rpb24sXG4gIFNuYWNrYmFyQWN0aW9uVHlwZXMsXG4gIFNuYWNrYmFyRXJyb3JBY3Rpb24sXG4gIFNuYWNrYmFySW5mb0FjdGlvbixcbiAgVXBkYXRlTGlicmFyeUFjdGlvbixcbiAgaXNBZG1pblxufSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWVyZ2VNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciwgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgQWN0aW9ucywgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5cbmV4cG9ydCBjbGFzcyBJbnN0YW50RXJyb3JTdGF0ZU1hdGNoZXIgaW1wbGVtZW50cyBFcnJvclN0YXRlTWF0Y2hlciB7XG4gIGlzRXJyb3JTdGF0ZShjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgfCBudWxsLCBmb3JtOiBGb3JtR3JvdXBEaXJlY3RpdmUgfCBOZ0Zvcm0gfCBudWxsKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNTdWJtaXR0ZWQgPSBmb3JtPy5zdWJtaXR0ZWQ7XG4gICAgcmV0dXJuICEhKGNvbnRyb2w/LmludmFsaWQgJiYgKGNvbnRyb2w/LmRpcnR5IHx8IGNvbnRyb2w/LnRvdWNoZWQgfHwgaXNTdWJtaXR0ZWQpKTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRDYXJkTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEExMXlNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlXG4gIF0sXG4gIHNlbGVjdG9yOiAnYXBwLWxpYnJhcnktbWV0YWRhdGEtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9saWJyYXJ5LW1ldGFkYXRhLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saWJyYXJ5LW1ldGFkYXRhLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBMaWJyYXJ5TWV0YWRhdGFGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX3F1ZXJpZXNBcGk6IFF1ZXJpZXNBcGk7XG4gIHByaXZhdGUgX3RpdGxlRXJyb3JUcmFuc2xhdGlvbktleTogc3RyaW5nO1xuXG4gIGdldCBxdWVyaWVzQXBpKCk6IFF1ZXJpZXNBcGkge1xuICAgIHRoaXMuX3F1ZXJpZXNBcGkgPSB0aGlzLl9xdWVyaWVzQXBpID8/IG5ldyBRdWVyaWVzQXBpKHRoaXMuYWxmcmVzY29BcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgIHJldHVybiB0aGlzLl9xdWVyaWVzQXBpO1xuICB9XG5cbiAgZ2V0IHRpdGxlRXJyb3JUcmFuc2xhdGlvbktleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90aXRsZUVycm9yVHJhbnNsYXRpb25LZXk7XG4gIH1cblxuICBASW5wdXQoKVxuICBub2RlOiBTaXRlRW50cnk7XG5cbiAgbGlicmFyeVRpdGxlRXhpc3RzID0gZmFsc2U7XG5cbiAgbGlicmFyeVR5cGUgPSBbXG4gICAgeyB2YWx1ZTogJ1BVQkxJQycsIGxhYmVsOiAnTElCUkFSWS5WSVNJQklMSVRZLlBVQkxJQycgfSxcbiAgICB7IHZhbHVlOiAnUFJJVkFURScsIGxhYmVsOiAnTElCUkFSWS5WSVNJQklMSVRZLlBSSVZBVEUnIH0sXG4gICAgeyB2YWx1ZTogJ01PREVSQVRFRCcsIGxhYmVsOiAnTElCUkFSWS5WSVNJQklMSVRZLk1PREVSQVRFRCcgfVxuICBdO1xuXG4gIGZvcm06IFVudHlwZWRGb3JtR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgaWQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH0pLFxuICAgIHRpdGxlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHsgdmFsdWU6ICcnIH0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpLCB0aGlzLnZhbGlkYXRlRW1wdHlOYW1lXSksXG4gICAgZGVzY3JpcHRpb246IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogJycgfSwgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDUxMildKSxcbiAgICB2aXNpYmlsaXR5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMubGlicmFyeVR5cGVbMF0udmFsdWUpXG4gIH0pO1xuXG4gIG1hdGNoZXIgPSBuZXcgSW5zdGFudEVycm9yU3RhdGVNYXRjaGVyKCk7XG4gIGNhblVwZGF0ZUxpYnJhcnkgPSBmYWxzZTtcbiAgaXNBZG1pbiA9IGZhbHNlO1xuXG4gIG9uRGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWxmcmVzY29BcGlTZXJ2aWNlOiBBbGZyZXNjb0FwaVNlcnZpY2UsIHByb3RlY3RlZCBzdG9yZTogU3RvcmU8QXBwU3RvcmU+LCBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zKSB7fVxuXG4gIHRvZ2dsZUVkaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5lbmFibGVkKSB7XG4gICAgICB0aGlzLmZvcm0uZGlzYWJsZSh7XG4gICAgICAgIGVtaXRFdmVudDogZmFsc2VcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm0uZW5hYmxlKHtcbiAgICAgICAgZW1pdEV2ZW50OiBmYWxzZVxuICAgICAgfSk7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuaWQuZGlzYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLnVwZGF0ZUZvcm0odGhpcy5ub2RlKTtcbiAgICB0aGlzLnRvZ2dsZUVkaXQoKTtcbiAgICB0aGlzLmZvcm0ubWFya0FzUHJpc3RpbmUoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudG9nZ2xlRWRpdCgpO1xuICAgIHRoaXMudXBkYXRlRm9ybSh0aGlzLm5vZGUpO1xuICAgIHRoaXMuZm9ybS5jb250cm9scy50aXRsZS5zdGF0dXNDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgKHRoaXMuX3RpdGxlRXJyb3JUcmFuc2xhdGlvbktleSA9IHRoaXMuZm9ybS5jb250cm9scy50aXRsZS5lcnJvcnM/LmVtcHR5XG4gICAgICAgICAgICA/ICdMSUJSQVJZLkVSUk9SUy5PTkxZX1NQQUNFUydcbiAgICAgICAgICAgIDogJ0xJQlJBUlkuRVJST1JTLlRJVExFX1RPT19MT05HX09SX01JU1NJTkcnKVxuICAgICAgKTtcbiAgICB0aGlzLmZvcm0uY29udHJvbHNbJ3RpdGxlJ10udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICAgIG1lcmdlTWFwKCh0aXRsZSkgPT4gdGhpcy5maW5kTGlicmFyeUJ5VGl0bGUodGl0bGUpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgICBjb25zdCB7IGVudHJpZXMgfSA9IHJlc3VsdC5saXN0O1xuXG4gICAgICAgIGlmIChlbnRyaWVzLmxlbmd0aCkge1xuICAgICAgICAgIGlmICh0aGlzLmZvcm0uY29udHJvbHMudGl0bGUudmFsdWUgPT09IHRoaXMubm9kZS5lbnRyeS50aXRsZSkge1xuICAgICAgICAgICAgdGhpcy5saWJyYXJ5VGl0bGVFeGlzdHMgPSBmYWxzZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5saWJyYXJ5VGl0bGVFeGlzdHMgPSB0aGlzLmZvcm0uY29udHJvbHMudGl0bGUudmFsdWUgPT09IGVudHJpZXNbMF0uZW50cnkudGl0bGU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubGlicmFyeVRpdGxlRXhpc3RzID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoaXNBZG1pbilcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5pc0FkbWluID0gdmFsdWU7XG4gICAgICB9KTtcbiAgICB0aGlzLmNhblVwZGF0ZUxpYnJhcnkgPSB0aGlzLm5vZGU/LmVudHJ5Py5yb2xlID09PSAnU2l0ZU1hbmFnZXInIHx8IHRoaXMuaXNBZG1pbjtcbiAgICB0aGlzLmhhbmRsZVVwZGF0aW5nRXZlbnQ8U25hY2tiYXJJbmZvQWN0aW9uPihTbmFja2JhckFjdGlvblR5cGVzLkluZm8sICdMSUJSQVJZLlNVQ0NFU1MuTElCUkFSWV9VUERBVEVEJywgKCkgPT5cbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5ub2RlLmVudHJ5LCB0aGlzLmZvcm0udmFsdWUpXG4gICAgKTtcbiAgICB0aGlzLmhhbmRsZVVwZGF0aW5nRXZlbnQ8U25hY2tiYXJFcnJvckFjdGlvbj4oU25hY2tiYXJBY3Rpb25UeXBlcy5FcnJvciwgJ0xJQlJBUlkuRVJST1JTLkxJQlJBUllfVVBEQVRFX0VSUk9SJywgKCkgPT4gdGhpcy5mb3JtLm1hcmtBc0RpcnR5KCkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLnVwZGF0ZUZvcm0odGhpcy5ub2RlKTtcbiAgICB0aGlzLmNhblVwZGF0ZUxpYnJhcnkgPSB0aGlzLm5vZGU/LmVudHJ5Py5yb2xlID09PSAnU2l0ZU1hbmFnZXInIHx8IHRoaXMuaXNBZG1pbjtcbiAgfVxuXG4gIHVwZGF0ZSgpIHtcbiAgICBpZiAodGhpcy5jYW5VcGRhdGVMaWJyYXJ5ICYmIHRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5mb3JtLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBuZXcgVXBkYXRlTGlicmFyeUFjdGlvbih7XG4gICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICAgIHRpdGxlOiB0aGlzLmZvcm0udmFsdWUudGl0bGUudHJpbSgpXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRm9ybShub2RlOiBTaXRlRW50cnkpIHtcbiAgICBjb25zdCB7IGVudHJ5IH0gPSBub2RlO1xuXG4gICAgdGhpcy5mb3JtLnNldFZhbHVlKHtcbiAgICAgIGlkOiBlbnRyeS5pZCxcbiAgICAgIHRpdGxlOiBlbnRyeS50aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBlbnRyeS5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIHZpc2liaWxpdHk6IGVudHJ5LnZpc2liaWxpdHlcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZExpYnJhcnlCeVRpdGxlKGxpYnJhcnlUaXRsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxTaXRlUGFnaW5nIHwgeyBsaXN0OiB7IGVudHJpZXM6IGFueVtdIH0gfT4ge1xuICAgIHJldHVybiBmcm9tKFxuICAgICAgdGhpcy5xdWVyaWVzQXBpXG4gICAgICAgIC5maW5kU2l0ZXMobGlicmFyeVRpdGxlLnRyaW0oKSwge1xuICAgICAgICAgIG1heEl0ZW1zOiAxLFxuICAgICAgICAgIGZpZWxkczogWyd0aXRsZSddXG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoKSA9PiAoeyBsaXN0OiB7IGVudHJpZXM6IFtdIH0gfSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVXBkYXRpbmdFdmVudDxUIGV4dGVuZHMgU25hY2tiYXJBY3Rpb24+KGFjdGlvblR5cGU6IFNuYWNrYmFyQWN0aW9uVHlwZXMsIHBheWxvYWQ6IHN0cmluZywgaGFuZGxlOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5hY3Rpb25zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG9mVHlwZTxUPihhY3Rpb25UeXBlKSxcbiAgICAgICAgZmlsdGVyKChhY3Rpb24pID0+IGFjdGlvbi5wYXlsb2FkID09PSBwYXlsb2FkKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoaGFuZGxlKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVFbXB0eU5hbWUoY29udHJvbDogRm9ybUNvbnRyb2w8c3RyaW5nPik6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIHJldHVybiBjb250cm9sLnZhbHVlLmxlbmd0aCAmJiAhY29udHJvbC52YWx1ZS50cmltKCkgPyB7IGVtcHR5OiB0cnVlIH0gOiBudWxsO1xuICB9XG59XG4iLCI8bWF0LWNhcmQgYXBwZWFyYW5jZT1cInJhaXNlZFwiICpuZ0lmPVwibm9kZVwiPlxuICA8bWF0LWNhcmQtY29udGVudD5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYXV0b1wiIGRhdGEtYXV0b21hdGlvbi1pZD1cImxpYnJhcnktbmFtZS1wcm9wZXJ0aWVzLXdyYXBwZXJcIiBjbGFzcz1cImFwcC1saWJyYXJ5LW1ldGFkYXRhLWZvcm0tZmllbGRcIj5cbiAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cImFwcC1saWJyYXJ5LW1ldGFkYXRhLWZvcm0tZmllbGQtbGFiZWxcIj57eyAnTElCUkFSWS5ESUFMT0cuRk9STS5OQU1FJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJmb3JtLmVuYWJsZWRcIlxuICAgICAgICAgIFtjZGtUcmFwRm9jdXNdPVwiZm9ybS5lbmFibGVkXCJcbiAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ0xJQlJBUlkuRElBTE9HLkZPUk0uTkFNRScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCJcbiAgICAgICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwibWF0Y2hlclwiXG4gICAgICAgIC8+XG4gICAgICAgIDxtYXQtaGludCAqbmdJZj1cImxpYnJhcnlUaXRsZUV4aXN0c1wiPnt7ICdMSUJSQVJZLkhJTlRTLlNJVEVfVElUTEVfRVhJU1RTJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWhpbnQ+XG4gICAgICAgIDxtYXQtZXJyb3I+XG4gICAgICAgICAge3sgdGl0bGVFcnJvclRyYW5zbGF0aW9uS2V5IHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhdXRvXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwibGlicmFyeS1pZC1wcm9wZXJ0aWVzLXdyYXBwZXJcIiBjbGFzcz1cImFwcC1saWJyYXJ5LW1ldGFkYXRhLWZvcm0tZmllbGRcIj5cbiAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cImFwcC1saWJyYXJ5LW1ldGFkYXRhLWZvcm0tZmllbGQtbGFiZWxcIj57eyAnTElCUkFSWS5ESUFMT0cuRk9STS5TSVRFX0lEJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJ7eyAnTElCUkFSWS5ESUFMT0cuRk9STS5TSVRFX0lEJyB8IHRyYW5zbGF0ZSB9fVwiIGZvcm1Db250cm9sTmFtZT1cImlkXCIgLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYXV0b1wiIGRhdGEtYXV0b21hdGlvbi1pZD1cImxpYnJhcnktdmlzaWJpbGl0eS1wcm9wZXJ0aWVzLXdyYXBwZXJcIiBjbGFzcz1cImFwcC1saWJyYXJ5LW1ldGFkYXRhLWZvcm0tZmllbGRcIj5cbiAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cImFwcC1saWJyYXJ5LW1ldGFkYXRhLWZvcm0tZmllbGQtbGFiZWxcIj57eyAnTElCUkFSWS5ESUFMT0cuRk9STS5WSVNJQklMSVRZJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdCBwbGFjZWhvbGRlcj1cInt7ICdMSUJSQVJZLkRJQUxPRy5GT1JNLlZJU0lCSUxJVFknIHwgdHJhbnNsYXRlIH19XCIgZm9ybUNvbnRyb2xOYW1lPVwidmlzaWJpbGl0eVwiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJ0eXBlLnZhbHVlXCIgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidsaWJyYXJ5LXZpc2liaWxpdHktb3B0aW9uLScgKyB0eXBlLnZhbHVlXCIgKm5nRm9yPVwibGV0IHR5cGUgb2YgbGlicmFyeVR5cGVcIj5cbiAgICAgICAgICAgIHt7IHR5cGUubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYXV0b1wiIGRhdGEtYXV0b21hdGlvbi1pZD1cImxpYnJhcnktZGVzY3JpcHRpb24tcHJvcGVydGllcy13cmFwcGVyXCIgY2xhc3M9XCJhcHAtbGlicmFyeS1tZXRhZGF0YS1mb3JtLWZpZWxkXCI+XG4gICAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJhcHAtbGlicmFyeS1tZXRhZGF0YS1mb3JtLWZpZWxkLWxhYmVsXCI+e3sgJ0xJQlJBUlkuRElBTE9HLkZPUk0uREVTQ1JJUFRJT04nIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnTElCUkFSWS5ESUFMT0cuRk9STS5ERVNDUklQVElPTicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIHJvd3M9XCIzXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgW2Vycm9yU3RhdGVNYXRjaGVyXT1cIm1hdGNoZXJcIlxuICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgPG1hdC1lcnJvcj5cbiAgICAgICAgICB7eyAnTElCUkFSWS5FUlJPUlMuREVTQ1JJUFRJT05fVE9PX0xPTkcnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Zvcm0+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cblxuICA8bWF0LWNhcmQtYWN0aW9ucyBhbGlnbj1cImVuZFwiICpuZ0lmPVwiY2FuVXBkYXRlTGlicmFyeVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmb3JtLmVuYWJsZWRcIj5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsKClcIj5cbiAgICAgICAge3sgJ0xJQlJBUlkuRElBTE9HLkNBTkNFTCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWQgfHwgZm9ybS5wcmlzdGluZVwiIChjbGljayk9XCJ1cGRhdGUoKVwiPlxuICAgICAgICB7eyAnTElCUkFSWS5ESUFMT0cuVVBEQVRFJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJ0b2dnbGVFZGl0KClcIiAqbmdJZj1cImZvcm0uZGlzYWJsZWRcIj5cbiAgICAgIHt7ICdMSUJSQVJZLkRJQUxPRy5FRElUJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L21hdC1jYXJkLWFjdGlvbnM+XG48L21hdC1jYXJkPlxuIl19
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeS1tZXRhZGF0YS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9pbmZvLWRyYXdlci9saWJyYXJ5LW1ldGFkYXRhLXRhYi9saWJyYXJ5LW1ldGFkYXRhLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL2luZm8tZHJhd2VyL2xpYnJhcnktbWV0YWRhdGEtdGFiL2xpYnJhcnktbWV0YWRhdGEtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFHTCxXQUFXLEVBRVgsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFFaEIsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFFTCxPQUFPLEVBRVAsbUJBQW1CLEVBR25CLG1CQUFtQixFQUNwQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxJQUFJLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFD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RUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2hGLENBQUM7dUdBeEpVLDRCQUE0QjsyRkFBNUIsNEJBQTRCLG9JQ3pGekMsd3dHQWdFQSxpbkNEUUksWUFBWSwrUEFDWixhQUFhLHlWQUNiLGVBQWUsMkZBQ2Ysa0JBQWtCLCtkQUNsQixXQUFXLHczQkFDWCxtQkFBbUIsK1VBQ25CLGVBQWUsd1RBQ2YsZUFBZSw4QkFDZixjQUFjLDJXQUNkLFVBQVUsMExBQ1YsZUFBZTs7U0FPTiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFwQnhDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixjQUFjO3dCQUNkLFVBQVU7d0JBQ1YsZUFBZTtxQkFDaEIsWUFDUywyQkFBMkIsaUJBR3RCLGlCQUFpQixDQUFDLElBQUk7bUpBZ0JyQyxJQUFJO3NCQURILEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEZvcm1Db250cm9sLFxuICBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gIEZvcm1zTW9kdWxlLFxuICBOZ0Zvcm0sXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcbiAgVW50eXBlZEZvcm1Hcm91cCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBRdWVyaWVzQXBpLCBTaXRlRW50cnksIFNpdGVQYWdpbmcgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQXBwU3RvcmUsXG4gIGlzQWRtaW4sXG4gIFNuYWNrYmFyQWN0aW9uLFxuICBTbmFja2JhckFjdGlvblR5cGVzLFxuICBTbmFja2JhckVycm9yQWN0aW9uLFxuICBTbmFja2JhckluZm9BY3Rpb24sXG4gIFVwZGF0ZUxpYnJhcnlBY3Rpb25cbn0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWxmcmVzY29BcGlTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVycm9yU3RhdGVNYXRjaGVyLCBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuZXhwb3J0IGNsYXNzIEluc3RhbnRFcnJvclN0YXRlTWF0Y2hlciBpbXBsZW1lbnRzIEVycm9yU3RhdGVNYXRjaGVyIHtcbiAgaXNFcnJvclN0YXRlKGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCB8IG51bGwsIGZvcm06IEZvcm1Hcm91cERpcmVjdGl2ZSB8IE5nRm9ybSB8IG51bGwpOiBib29sZWFuIHtcbiAgICBjb25zdCBpc1N1Ym1pdHRlZCA9IGZvcm0/LnN1Ym1pdHRlZDtcbiAgICByZXR1cm4gISEoY29udHJvbD8uaW52YWxpZCAmJiAoY29udHJvbD8uZGlydHkgfHwgY29udHJvbD8udG91Y2hlZCB8fCBpc1N1Ym1pdHRlZCkpO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdENhcmRNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgQTExeU1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGVcbiAgXSxcbiAgc2VsZWN0b3I6ICdhcHAtbGlicmFyeS1tZXRhZGF0YS1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYnJhcnktbWV0YWRhdGEtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpYnJhcnktbWV0YWRhdGEtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIExpYnJhcnlNZXRhZGF0YUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgX3F1ZXJpZXNBcGk6IFF1ZXJpZXNBcGk7XG4gIHByaXZhdGUgX3RpdGxlRXJyb3JUcmFuc2xhdGlvbktleTogc3RyaW5nO1xuXG4gIGdldCBxdWVyaWVzQXBpKCk6IFF1ZXJpZXNBcGkge1xuICAgIHRoaXMuX3F1ZXJpZXNBcGkgPSB0aGlzLl9xdWVyaWVzQXBpID8/IG5ldyBRdWVyaWVzQXBpKHRoaXMuYWxmcmVzY29BcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgIHJldHVybiB0aGlzLl9xdWVyaWVzQXBpO1xuICB9XG5cbiAgZ2V0IHRpdGxlRXJyb3JUcmFuc2xhdGlvbktleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90aXRsZUVycm9yVHJhbnNsYXRpb25LZXk7XG4gIH1cblxuICBASW5wdXQoKVxuICBub2RlOiBTaXRlRW50cnk7XG5cbiAgbGlicmFyeVRpdGxlRXhpc3RzID0gZmFsc2U7XG5cbiAgbGlicmFyeVR5cGUgPSBbXG4gICAgeyB2YWx1ZTogJ1BVQkxJQycsIGxhYmVsOiAnTElCUkFSWS5WSVNJQklMSVRZLlBVQkxJQycgfSxcbiAgICB7IHZhbHVlOiAnUFJJVkFURScsIGxhYmVsOiAnTElCUkFSWS5WSVNJQklMSVRZLlBSSVZBVEUnIH0sXG4gICAgeyB2YWx1ZTogJ01PREVSQVRFRCcsIGxhYmVsOiAnTElCUkFSWS5WSVNJQklMSVRZLk1PREVSQVRFRCcgfVxuICBdO1xuXG4gIGZvcm06IFVudHlwZWRGb3JtR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgaWQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH0pLFxuICAgIHRpdGxlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHsgdmFsdWU6ICcnIH0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpLCB0aGlzLnZhbGlkYXRlRW1wdHlOYW1lXSksXG4gICAgZGVzY3JpcHRpb246IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogJycgfSwgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDUxMildKSxcbiAgICB2aXNpYmlsaXR5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMubGlicmFyeVR5cGVbMF0udmFsdWUpXG4gIH0pO1xuXG4gIG1hdGNoZXIgPSBuZXcgSW5zdGFudEVycm9yU3RhdGVNYXRjaGVyKCk7XG4gIGNhblVwZGF0ZUxpYnJhcnkgPSBmYWxzZTtcbiAgaXNBZG1pbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFsZnJlc2NvQXBpU2VydmljZTogQWxmcmVzY29BcGlTZXJ2aWNlLCBwcm90ZWN0ZWQgc3RvcmU6IFN0b3JlPEFwcFN0b3JlPiwgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucykge31cblxuICB0b2dnbGVFZGl0KCkge1xuICAgIGlmICh0aGlzLmZvcm0uZW5hYmxlZCkge1xuICAgICAgdGhpcy5mb3JtLmRpc2FibGUoe1xuICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtLmVuYWJsZSh7XG4gICAgICAgIGVtaXRFdmVudDogZmFsc2VcbiAgICAgIH0pO1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmlkLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy51cGRhdGVGb3JtKHRoaXMubm9kZSk7XG4gICAgdGhpcy50b2dnbGVFZGl0KCk7XG4gICAgdGhpcy5mb3JtLm1hcmtBc1ByaXN0aW5lKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRvZ2dsZUVkaXQoKTtcbiAgICB0aGlzLnVwZGF0ZUZvcm0odGhpcy5ub2RlKTtcbiAgICB0aGlzLmZvcm0uY29udHJvbHMudGl0bGUuc3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgICh0aGlzLl90aXRsZUVycm9yVHJhbnNsYXRpb25LZXkgPSB0aGlzLmZvcm0uY29udHJvbHMudGl0bGUuZXJyb3JzPy5lbXB0eVxuICAgICAgICAgICAgPyAnTElCUkFSWS5FUlJPUlMuT05MWV9TUEFDRVMnXG4gICAgICAgICAgICA6ICdMSUJSQVJZLkVSUk9SUy5USVRMRV9UT09fTE9OR19PUl9NSVNTSU5HJylcbiAgICAgICk7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzWyd0aXRsZSddLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgICAgICBtZXJnZU1hcCgodGl0bGUpID0+IHRoaXMuZmluZExpYnJhcnlCeVRpdGxlKHRpdGxlKSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBlbnRyaWVzIH0gPSByZXN1bHQubGlzdDtcblxuICAgICAgICBpZiAoZW50cmllcy5sZW5ndGgpIHtcbiAgICAgICAgICBpZiAodGhpcy5mb3JtLmNvbnRyb2xzLnRpdGxlLnZhbHVlID09PSB0aGlzLm5vZGUuZW50cnkudGl0bGUpIHtcbiAgICAgICAgICAgIHRoaXMubGlicmFyeVRpdGxlRXhpc3RzID0gZmFsc2U7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubGlicmFyeVRpdGxlRXhpc3RzID0gdGhpcy5mb3JtLmNvbnRyb2xzLnRpdGxlLnZhbHVlID09PSBlbnRyaWVzWzBdLmVudHJ5LnRpdGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxpYnJhcnlUaXRsZUV4aXN0cyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KGlzQWRtaW4pXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuaXNBZG1pbiA9IHZhbHVlO1xuICAgICAgfSk7XG4gICAgdGhpcy5jYW5VcGRhdGVMaWJyYXJ5ID0gdGhpcy5ub2RlPy5lbnRyeT8ucm9sZSA9PT0gJ1NpdGVNYW5hZ2VyJyB8fCB0aGlzLmlzQWRtaW47XG4gICAgdGhpcy5oYW5kbGVVcGRhdGluZ0V2ZW50PFNuYWNrYmFySW5mb0FjdGlvbj4oU25hY2tiYXJBY3Rpb25UeXBlcy5JbmZvLCAnTElCUkFSWS5TVUNDRVNTLkxJQlJBUllfVVBEQVRFRCcsICgpID0+XG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMubm9kZS5lbnRyeSwgdGhpcy5mb3JtLnZhbHVlKVxuICAgICk7XG4gICAgdGhpcy5oYW5kbGVVcGRhdGluZ0V2ZW50PFNuYWNrYmFyRXJyb3JBY3Rpb24+KFNuYWNrYmFyQWN0aW9uVHlwZXMuRXJyb3IsICdMSUJSQVJZLkVSUk9SUy5MSUJSQVJZX1VQREFURV9FUlJPUicsICgpID0+IHRoaXMuZm9ybS5tYXJrQXNEaXJ0eSgpKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMudXBkYXRlRm9ybSh0aGlzLm5vZGUpO1xuICAgIHRoaXMuY2FuVXBkYXRlTGlicmFyeSA9IHRoaXMubm9kZT8uZW50cnk/LnJvbGUgPT09ICdTaXRlTWFuYWdlcicgfHwgdGhpcy5pc0FkbWluO1xuICB9XG5cbiAgdXBkYXRlKCkge1xuICAgIGlmICh0aGlzLmNhblVwZGF0ZUxpYnJhcnkgJiYgdGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmZvcm0ubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIG5ldyBVcGRhdGVMaWJyYXJ5QWN0aW9uKHtcbiAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgdGl0bGU6IHRoaXMuZm9ybS52YWx1ZS50aXRsZS50cmltKClcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGb3JtKG5vZGU6IFNpdGVFbnRyeSkge1xuICAgIGNvbnN0IHsgZW50cnkgfSA9IG5vZGU7XG5cbiAgICB0aGlzLmZvcm0uc2V0VmFsdWUoe1xuICAgICAgaWQ6IGVudHJ5LmlkLFxuICAgICAgdGl0bGU6IGVudHJ5LnRpdGxlLFxuICAgICAgZGVzY3JpcHRpb246IGVudHJ5LmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgdmlzaWJpbGl0eTogZW50cnkudmlzaWJpbGl0eVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kTGlicmFyeUJ5VGl0bGUobGlicmFyeVRpdGxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNpdGVQYWdpbmcgfCB7IGxpc3Q6IHsgZW50cmllczogYW55W10gfSB9PiB7XG4gICAgcmV0dXJuIGZyb20oXG4gICAgICB0aGlzLnF1ZXJpZXNBcGlcbiAgICAgICAgLmZpbmRTaXRlcyhsaWJyYXJ5VGl0bGUudHJpbSgpLCB7XG4gICAgICAgICAgbWF4SXRlbXM6IDEsXG4gICAgICAgICAgZmllbGRzOiBbJ3RpdGxlJ11cbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKCgpID0+ICh7IGxpc3Q6IHsgZW50cmllczogW10gfSB9KSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVVcGRhdGluZ0V2ZW50PFQgZXh0ZW5kcyBTbmFja2JhckFjdGlvbj4oYWN0aW9uVHlwZTogU25hY2tiYXJBY3Rpb25UeXBlcywgcGF5bG9hZDogc3RyaW5nLCBoYW5kbGU6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGlvbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgb2ZUeXBlPFQ+KGFjdGlvblR5cGUpLFxuICAgICAgICBmaWx0ZXIoKGFjdGlvbikgPT4gYWN0aW9uLnBheWxvYWQgPT09IHBheWxvYWQpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShoYW5kbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUVtcHR5TmFtZShjb250cm9sOiBGb3JtQ29udHJvbDxzdHJpbmc+KTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgcmV0dXJuIGNvbnRyb2wudmFsdWUubGVuZ3RoICYmICFjb250cm9sLnZhbHVlLnRyaW0oKSA/IHsgZW1wdHk6IHRydWUgfSA6IG51bGw7XG4gIH1cbn1cbiIsIjxtYXQtY2FyZCBhcHBlYXJhbmNlPVwicmFpc2VkXCIgKm5nSWY9XCJub2RlXCI+XG4gIDxtYXQtY2FyZC1jb250ZW50PlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhdXRvXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwibGlicmFyeS1uYW1lLXByb3BlcnRpZXMtd3JhcHBlclwiIGNsYXNzPVwiYXBwLWxpYnJhcnktbWV0YWRhdGEtZm9ybS1maWVsZFwiPlxuICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwiYXBwLWxpYnJhcnktbWV0YWRhdGEtZm9ybS1maWVsZC1sYWJlbFwiPnt7ICdMSUJSQVJZLkRJQUxPRy5GT1JNLk5BTUUnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgW2Nka1RyYXBGb2N1c0F1dG9DYXB0dXJlXT1cImZvcm0uZW5hYmxlZFwiXG4gICAgICAgICAgW2Nka1RyYXBGb2N1c109XCJmb3JtLmVuYWJsZWRcIlxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnTElCUkFSWS5ESUFMT0cuRk9STS5OQU1FJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIlxuICAgICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJtYXRjaGVyXCJcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1oaW50ICpuZ0lmPVwibGlicmFyeVRpdGxlRXhpc3RzXCI+e3sgJ0xJQlJBUlkuSElOVFMuU0lURV9USVRMRV9FWElTVFMnIHwgdHJhbnNsYXRlIH19PC9tYXQtaGludD5cbiAgICAgICAgPG1hdC1lcnJvcj5cbiAgICAgICAgICB7eyB0aXRsZUVycm9yVHJhbnNsYXRpb25LZXkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImF1dG9cIiBkYXRhLWF1dG9tYXRpb24taWQ9XCJsaWJyYXJ5LWlkLXByb3BlcnRpZXMtd3JhcHBlclwiIGNsYXNzPVwiYXBwLWxpYnJhcnktbWV0YWRhdGEtZm9ybS1maWVsZFwiPlxuICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwiYXBwLWxpYnJhcnktbWV0YWRhdGEtZm9ybS1maWVsZC1sYWJlbFwiPnt7ICdMSUJSQVJZLkRJQUxPRy5GT1JNLlNJVEVfSUQnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cInt7ICdMSUJSQVJZLkRJQUxPRy5GT1JNLlNJVEVfSUQnIHwgdHJhbnNsYXRlIH19XCIgZm9ybUNvbnRyb2xOYW1lPVwiaWRcIiAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhdXRvXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwibGlicmFyeS12aXNpYmlsaXR5LXByb3BlcnRpZXMtd3JhcHBlclwiIGNsYXNzPVwiYXBwLWxpYnJhcnktbWV0YWRhdGEtZm9ybS1maWVsZFwiPlxuICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwiYXBwLWxpYnJhcnktbWV0YWRhdGEtZm9ybS1maWVsZC1sYWJlbFwiPnt7ICdMSUJSQVJZLkRJQUxPRy5GT1JNLlZJU0lCSUxJVFknIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IHBsYWNlaG9sZGVyPVwie3sgJ0xJQlJBUlkuRElBTE9HLkZPUk0uVklTSUJJTElUWScgfCB0cmFuc2xhdGUgfX1cIiBmb3JtQ29udHJvbE5hbWU9XCJ2aXNpYmlsaXR5XCI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInR5cGUudmFsdWVcIiBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2xpYnJhcnktdmlzaWJpbGl0eS1vcHRpb24tJyArIHR5cGUudmFsdWVcIiAqbmdGb3I9XCJsZXQgdHlwZSBvZiBsaWJyYXJ5VHlwZVwiPlxuICAgICAgICAgICAge3sgdHlwZS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhdXRvXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwibGlicmFyeS1kZXNjcmlwdGlvbi1wcm9wZXJ0aWVzLXdyYXBwZXJcIiBjbGFzcz1cImFwcC1saWJyYXJ5LW1ldGFkYXRhLWZvcm0tZmllbGRcIj5cbiAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cImFwcC1saWJyYXJ5LW1ldGFkYXRhLWZvcm0tZmllbGQtbGFiZWxcIj57eyAnTElCUkFSWS5ESUFMT0cuRk9STS5ERVNDUklQVElPTicgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdMSUJSQVJZLkRJQUxPRy5GT1JNLkRFU0NSSVBUSU9OJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgcm93cz1cIjNcIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwibWF0Y2hlclwiXG4gICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICA8bWF0LWVycm9yPlxuICAgICAgICAgIHt7ICdMSUJSQVJZLkVSUk9SUy5ERVNDUklQVElPTl9UT09fTE9ORycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZm9ybT5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuXG4gIDxtYXQtY2FyZC1hY3Rpb25zIGFsaWduPVwiZW5kXCIgKm5nSWY9XCJjYW5VcGRhdGVMaWJyYXJ5XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm0uZW5hYmxlZFwiPlxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAgICB7eyAnTElCUkFSWS5ESUFMT0cuQ0FOQ0VMJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZCB8fCBmb3JtLnByaXN0aW5lXCIgKGNsaWNrKT1cInVwZGF0ZSgpXCI+XG4gICAgICAgIHt7ICdMSUJSQVJZLkRJQUxPRy5VUERBVEUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInRvZ2dsZUVkaXQoKVwiICpuZ0lmPVwiZm9ybS5kaXNhYmxlZFwiPlxuICAgICAge3sgJ0xJQlJBUlkuRElBTE9HLkVESVQnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LWNhcmQtYWN0aW9ucz5cbjwvbWF0LWNhcmQ+XG4iXX0=
|
|
@@ -21,17 +21,17 @@
|
|
|
21
21
|
* You should have received a copy of the GNU Lesser General Public License
|
|
22
22
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
23
|
*/
|
|
24
|
-
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
24
|
+
import { Component, DestroyRef, inject, Input, ViewEncapsulation } from '@angular/core';
|
|
25
25
|
import { Node } from '@alfresco/js-api';
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
26
|
+
import { AppExtensionService, isLocked, NodePermissionService } from '@alfresco/aca-shared';
|
|
27
|
+
import { infoDrawerMetadataAspect, NodeActionTypes } from '@alfresco/aca-shared/store';
|
|
28
28
|
import { AppConfigService, NotificationService } from '@alfresco/adf-core';
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import { filter, map, takeUntil } from 'rxjs/operators';
|
|
29
|
+
import { CategoryService, ContentMetadataComponent, ContentMetadataService, TagService } from '@alfresco/adf-content-services';
|
|
30
|
+
import { filter, map } from 'rxjs/operators';
|
|
32
31
|
import { CommonModule } from '@angular/common';
|
|
33
32
|
import { Actions, ofType } from '@ngrx/effects';
|
|
34
33
|
import { Store } from '@ngrx/store';
|
|
34
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
35
35
|
import * as i0 from "@angular/core";
|
|
36
36
|
import * as i1 from "@alfresco/aca-shared";
|
|
37
37
|
import * as i2 from "@alfresco/adf-core";
|
|
@@ -49,7 +49,6 @@ class MetadataTabComponent {
|
|
|
49
49
|
tagService;
|
|
50
50
|
categoryService;
|
|
51
51
|
store;
|
|
52
|
-
onDestroy$ = new Subject();
|
|
53
52
|
_displayCategories = true;
|
|
54
53
|
_displayTags = true;
|
|
55
54
|
node;
|
|
@@ -62,6 +61,7 @@ class MetadataTabComponent {
|
|
|
62
61
|
get displayTags() {
|
|
63
62
|
return this._displayTags;
|
|
64
63
|
}
|
|
64
|
+
destroyRef = inject(DestroyRef);
|
|
65
65
|
constructor(permission, extensions, appConfig, notificationService, contentMetadataService, actions$, tagService, categoryService, store) {
|
|
66
66
|
this.permission = permission;
|
|
67
67
|
this.extensions = extensions;
|
|
@@ -79,12 +79,12 @@ class MetadataTabComponent {
|
|
|
79
79
|
ngOnInit() {
|
|
80
80
|
this._displayTags = this.tagService.areTagsEnabled();
|
|
81
81
|
this._displayCategories = this.categoryService.areCategoriesEnabled();
|
|
82
|
-
this.contentMetadataService.error.pipe(
|
|
82
|
+
this.contentMetadataService.error.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((err) => {
|
|
83
83
|
this.notificationService.showError(err.message);
|
|
84
84
|
});
|
|
85
85
|
this.checkIfNodeIsUpdatable(this.node);
|
|
86
86
|
this.actions$
|
|
87
|
-
.pipe(ofType(NodeActionTypes.EditOffline), filter((updatedNode) => this.node.id === updatedNode.payload.entry.id),
|
|
87
|
+
.pipe(ofType(NodeActionTypes.EditOffline), filter((updatedNode) => this.node.id === updatedNode.payload.entry.id), takeUntilDestroyed(this.destroyRef))
|
|
88
88
|
.subscribe((updatedNode) => {
|
|
89
89
|
this.checkIfNodeIsUpdatable(updatedNode?.payload.entry);
|
|
90
90
|
});
|
|
@@ -92,16 +92,12 @@ class MetadataTabComponent {
|
|
|
92
92
|
return panels.map((panel) => {
|
|
93
93
|
return { panelTitle: panel.title, component: panel.component };
|
|
94
94
|
});
|
|
95
|
-
}),
|
|
95
|
+
}), takeUntilDestroyed(this.destroyRef));
|
|
96
96
|
this.store
|
|
97
97
|
.select(infoDrawerMetadataAspect)
|
|
98
|
-
.pipe(
|
|
98
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
99
99
|
.subscribe((metadataAspect) => (this.metadataAspect = metadataAspect));
|
|
100
100
|
}
|
|
101
|
-
ngOnDestroy() {
|
|
102
|
-
this.onDestroy$.next(true);
|
|
103
|
-
this.onDestroy$.complete();
|
|
104
|
-
}
|
|
105
101
|
checkIfNodeIsUpdatable(node) {
|
|
106
102
|
this.readOnly = !(node && !isLocked({ entry: node }) ? this.permission.check(node, ['update']) : false);
|
|
107
103
|
}
|
|
@@ -142,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
142
138
|
}], ctorParameters: function () { return [{ type: i1.NodePermissionService }, { type: i1.AppExtensionService }, { type: i2.AppConfigService }, { type: i2.NotificationService }, { type: i3.ContentMetadataService }, { type: i4.Actions }, { type: i3.TagService }, { type: i3.CategoryService }, { type: i5.Store }]; }, propDecorators: { node: [{
|
|
143
139
|
type: Input
|
|
144
140
|
}] } });
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9pbmZvLWRyYXdlci9tZXRhZGF0YS10YWIvbWV0YWRhdGEtdGFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVGLE9BQU8sRUFBK0IsZUFBZSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0UsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQ0wsc0JBQXNCLEVBRXRCLFVBQVUsRUFDVixlQUFlLEVBQ2Ysd0JBQXdCLEVBQ3pCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7O0FBRXBDLE1Ba0JhLG9CQUFvQjtJQW9CckI7SUFDRTtJQUNGO0lBQ0E7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RCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFO2lCQUNwQztxVkFPQyxJQUFJO3NCQURILEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBOb2RlUGVybWlzc2lvblNlcnZpY2UsIGlzTG9ja2VkLCBBcHBFeHRlbnNpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHsgQXBwU3RvcmUsIEVkaXRPZmZsaW5lQWN0aW9uLCBOb2RlQWN0aW9uVHlwZXMsIGluZm9EcmF3ZXJNZXRhZGF0YUFzcGVjdCB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UsIE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQ29udGVudE1ldGFkYXRhU2VydmljZSxcbiAgQ29udGVudE1ldGFkYXRhQ3VzdG9tUGFuZWwsXG4gIFRhZ1NlcnZpY2UsXG4gIENhdGVnb3J5U2VydmljZSxcbiAgQ29udGVudE1ldGFkYXRhQ29tcG9uZW50XG59IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFjdGlvbnMsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDb250ZW50TWV0YWRhdGFDb21wb25lbnRdLFxuICBzZWxlY3RvcjogJ2FwcC1tZXRhZGF0YS10YWInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhZGYtY29udGVudC1tZXRhZGF0YVxuICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgIFtwcmVzZXRdPVwiJ2N1c3RvbSdcIlxuICAgICAgW25vZGVdPVwibm9kZVwiXG4gICAgICBbY3VzdG9tUGFuZWxzXT1cImN1c3RvbVBhbmVscyB8IGFzeW5jXCJcbiAgICAgIFtkaXNwbGF5Q2F0ZWdvcmllc109XCJkaXNwbGF5Q2F0ZWdvcmllc1wiXG4gICAgICBbZGlzcGxheVRhZ3NdPVwiZGlzcGxheVRhZ3NcIlxuICAgICAgW2Rpc3BsYXlBc3BlY3RdPVwibWV0YWRhdGFBc3BlY3RcIlxuICAgIC8+XG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdhcHAtbWV0YWRhdGEtdGFiJyB9XG59KVxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhVGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcm90ZWN0ZWQgb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgX2Rpc3BsYXlDYXRlZ29yaWVzID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfZGlzcGxheVRhZ3MgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIG5vZGU6IE5vZGU7XG5cbiAgcmVhZE9ubHkgPSBmYWxzZTtcbiAgY3VzdG9tUGFuZWxzOiBPYnNlcnZhYmxlPENvbnRlbnRNZXRhZGF0YUN1c3RvbVBhbmVsW10+O1xuICBtZXRhZGF0YUFzcGVjdDogc3RyaW5nO1xuXG4gIGdldCBkaXNwbGF5Q2F0ZWdvcmllcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzcGxheUNhdGVnb3JpZXM7XG4gIH1cbiAgZ2V0IGRpc3BsYXlUYWdzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5VGFncztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGVybWlzc2lvbjogTm9kZVBlcm1pc3Npb25TZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBleHRlbnNpb25zOiBBcHBFeHRlbnNpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwQ29uZmlnOiBBcHBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRlbnRNZXRhZGF0YVNlcnZpY2U6IENvbnRlbnRNZXRhZGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIHRhZ1NlcnZpY2U6IFRhZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYXRlZ29yeVNlcnZpY2U6IENhdGVnb3J5U2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxBcHBTdG9yZT5cbiAgKSB7XG4gICAgaWYgKHRoaXMuZXh0ZW5zaW9ucy5jb250ZW50TWV0YWRhdGEpIHtcbiAgICAgIHRoaXMuYXBwQ29uZmlnLmNvbmZpZ1snY29udGVudC1tZXRhZGF0YSddLnByZXNldHMgPSB0aGlzLmV4dGVuc2lvbnMuY29udGVudE1ldGFkYXRhLnByZXNldHM7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fZGlzcGxheVRhZ3MgPSB0aGlzLnRhZ1NlcnZpY2UuYXJlVGFnc0VuYWJsZWQoKTtcbiAgICB0aGlzLl9kaXNwbGF5Q2F0ZWdvcmllcyA9IHRoaXMuY2F0ZWdvcnlTZXJ2aWNlLmFyZUNhdGVnb3JpZXNFbmFibGVkKCk7XG5cbiAgICB0aGlzLmNvbnRlbnRNZXRhZGF0YVNlcnZpY2UuZXJyb3IucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlcnI6IHsgbWVzc2FnZTogc3RyaW5nIH0pID0+IHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5zaG93RXJyb3IoZXJyLm1lc3NhZ2UpO1xuICAgIH0pO1xuICAgIHRoaXMuY2hlY2tJZk5vZGVJc1VwZGF0YWJsZSh0aGlzLm5vZGUpO1xuICAgIHRoaXMuYWN0aW9ucyRcbiAgICAgIC5waXBlKFxuICAgICAgICBvZlR5cGU8RWRpdE9mZmxpbmVBY3Rpb24+KE5vZGVBY3Rpb25UeXBlcy5FZGl0T2ZmbGluZSksXG4gICAgICAgIGZpbHRlcigodXBkYXRlZE5vZGUpID0+IHRoaXMubm9kZS5pZCA9PT0gdXBkYXRlZE5vZGUucGF5bG9hZC5lbnRyeS5pZCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh1cGRhdGVkTm9kZSkgPT4ge1xuICAgICAgICB0aGlzLmNoZWNrSWZOb2RlSXNVcGRhdGFibGUodXBkYXRlZE5vZGU/LnBheWxvYWQuZW50cnkpO1xuICAgICAgfSk7XG4gICAgdGhpcy5jdXN0b21QYW5lbHMgPSB0aGlzLmV4dGVuc2lvbnMuZ2V0Q3VzdG9tTWV0YWRhdGFQYW5lbHMoeyBlbnRyeTogdGhpcy5ub2RlIH0pLnBpcGUoXG4gICAgICBtYXAoKHBhbmVscykgPT4ge1xuICAgICAgICByZXR1cm4gcGFuZWxzLm1hcCgocGFuZWwpID0+IHtcbiAgICAgICAgICByZXR1cm4geyBwYW5lbFRpdGxlOiBwYW5lbC50aXRsZSwgY29tcG9uZW50OiBwYW5lbC5jb21wb25lbnQgfTtcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpXG4gICAgKTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KGluZm9EcmF3ZXJNZXRhZGF0YUFzcGVjdClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgobWV0YWRhdGFBc3BlY3QpID0+ICh0aGlzLm1ldGFkYXRhQXNwZWN0ID0gbWV0YWRhdGFBc3BlY3QpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KHRydWUpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0lmTm9kZUlzVXBkYXRhYmxlKG5vZGU6IE5vZGUpIHtcbiAgICB0aGlzLnJlYWRPbmx5ID0gIShub2RlICYmICFpc0xvY2tlZCh7IGVudHJ5OiBub2RlIH0pID8gdGhpcy5wZXJtaXNzaW9uLmNoZWNrKG5vZGUsIFsndXBkYXRlJ10pIDogZmFsc2UpO1xuICB9XG59XG4iXX0=
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9pbmZvLWRyYXdlci9tZXRhZGF0YS10YWIvbWV0YWRhdGEtdGFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RixPQUFPLEVBQStCLHdCQUF3QixFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTNFLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysd0JBQXdCLEVBRXhCLHNCQUFzQixFQUN0QixVQUFVLEVBQ1gsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztBQUVoRSxNQWtCYSxvQkFBb0I7SUFxQnJCO0lB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LElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIERlc3Ryb3lSZWYsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGUgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IEFwcEV4dGVuc2lvblNlcnZpY2UsIGlzTG9ja2VkLCBOb2RlUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5pbXBvcnQgeyBBcHBTdG9yZSwgRWRpdE9mZmxpbmVBY3Rpb24sIGluZm9EcmF3ZXJNZXRhZGF0YUFzcGVjdCwgTm9kZUFjdGlvblR5cGVzIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSwgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBDYXRlZ29yeVNlcnZpY2UsXG4gIENvbnRlbnRNZXRhZGF0YUNvbXBvbmVudCxcbiAgQ29udGVudE1ldGFkYXRhQ3VzdG9tUGFuZWwsXG4gIENvbnRlbnRNZXRhZGF0YVNlcnZpY2UsXG4gIFRhZ1NlcnZpY2Vcbn0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFjdGlvbnMsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDb250ZW50TWV0YWRhdGFDb21wb25lbnRdLFxuICBzZWxlY3RvcjogJ2FwcC1tZXRhZGF0YS10YWInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhZGYtY29udGVudC1tZXRhZGF0YVxuICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgIFtwcmVzZXRdPVwiJ2N1c3RvbSdcIlxuICAgICAgW25vZGVdPVwibm9kZVwiXG4gICAgICBbY3VzdG9tUGFuZWxzXT1cImN1c3RvbVBhbmVscyB8IGFzeW5jXCJcbiAgICAgIFtkaXNwbGF5Q2F0ZWdvcmllc109XCJkaXNwbGF5Q2F0ZWdvcmllc1wiXG4gICAgICBbZGlzcGxheVRhZ3NdPVwiZGlzcGxheVRhZ3NcIlxuICAgICAgW2Rpc3BsYXlBc3BlY3RdPVwibWV0YWRhdGFBc3BlY3RcIlxuICAgIC8+XG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdhcHAtbWV0YWRhdGEtdGFiJyB9XG59KVxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhVGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBfZGlzcGxheUNhdGVnb3JpZXMgPSB0cnVlO1xuICBwcml2YXRlIF9kaXNwbGF5VGFncyA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgbm9kZTogTm9kZTtcblxuICByZWFkT25seSA9IGZhbHNlO1xuICBjdXN0b21QYW5lbHM6IE9ic2VydmFibGU8Q29udGVudE1ldGFkYXRhQ3VzdG9tUGFuZWxbXT47XG4gIG1ldGFkYXRhQXNwZWN0OiBzdHJpbmc7XG5cbiAgZ2V0IGRpc3BsYXlDYXRlZ29yaWVzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5Q2F0ZWdvcmllcztcbiAgfVxuICBnZXQgZGlzcGxheVRhZ3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlUYWdzO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGVybWlzc2lvbjogTm9kZVBlcm1pc3Npb25TZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBleHRlbnNpb25zOiBBcHBFeHRlbnNpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwQ29uZmlnOiBBcHBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRlbnRNZXRhZGF0YVNlcnZpY2U6IENvbnRlbnRNZXRhZGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIHRhZ1NlcnZpY2U6IFRhZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYXRlZ29yeVNlcnZpY2U6IENhdGVnb3J5U2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxBcHBTdG9yZT5cbiAgKSB7XG4gICAgaWYgKHRoaXMuZXh0ZW5zaW9ucy5jb250ZW50TWV0YWRhdGEpIHtcbiAgICAgIHRoaXMuYXBwQ29uZmlnLmNvbmZpZ1snY29udGVudC1tZXRhZGF0YSddLnByZXNldHMgPSB0aGlzLmV4dGVuc2lvbnMuY29udGVudE1ldGFkYXRhLnByZXNldHM7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fZGlzcGxheVRhZ3MgPSB0aGlzLnRhZ1NlcnZpY2UuYXJlVGFnc0VuYWJsZWQoKTtcbiAgICB0aGlzLl9kaXNwbGF5Q2F0ZWdvcmllcyA9IHRoaXMuY2F0ZWdvcnlTZXJ2aWNlLmFyZUNhdGVnb3JpZXNFbmFibGVkKCk7XG5cbiAgICB0aGlzLmNvbnRlbnRNZXRhZGF0YVNlcnZpY2UuZXJyb3IucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChlcnI6IHsgbWVzc2FnZTogc3RyaW5nIH0pID0+IHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5zaG93RXJyb3IoZXJyLm1lc3NhZ2UpO1xuICAgIH0pO1xuICAgIHRoaXMuY2hlY2tJZk5vZGVJc1VwZGF0YWJsZSh0aGlzLm5vZGUpO1xuICAgIHRoaXMuYWN0aW9ucyRcbiAgICAgIC5waXBlKFxuICAgICAgICBvZlR5cGU8RWRpdE9mZmxpbmVBY3Rpb24+KE5vZGVBY3Rpb25UeXBlcy5FZGl0T2ZmbGluZSksXG4gICAgICAgIGZpbHRlcigodXBkYXRlZE5vZGUpID0+IHRoaXMubm9kZS5pZCA9PT0gdXBkYXRlZE5vZGUucGF5bG9hZC5lbnRyeS5pZCksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh1cGRhdGVkTm9kZSkgPT4ge1xuICAgICAgICB0aGlzLmNoZWNrSWZOb2RlSXNVcGRhdGFibGUodXBkYXRlZE5vZGU/LnBheWxvYWQuZW50cnkpO1xuICAgICAgfSk7XG4gICAgdGhpcy5jdXN0b21QYW5lbHMgPSB0aGlzLmV4dGVuc2lvbnMuZ2V0Q3VzdG9tTWV0YWRhdGFQYW5lbHMoeyBlbnRyeTogdGhpcy5ub2RlIH0pLnBpcGUoXG4gICAgICBtYXAoKHBhbmVscykgPT4ge1xuICAgICAgICByZXR1cm4gcGFuZWxzLm1hcCgocGFuZWwpID0+IHtcbiAgICAgICAgICByZXR1cm4geyBwYW5lbFRpdGxlOiBwYW5lbC50aXRsZSwgY29tcG9uZW50OiBwYW5lbC5jb21wb25lbnQgfTtcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgKTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KGluZm9EcmF3ZXJNZXRhZGF0YUFzcGVjdClcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgobWV0YWRhdGFBc3BlY3QpID0+ICh0aGlzLm1ldGFkYXRhQXNwZWN0ID0gbWV0YWRhdGFBc3BlY3QpKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tJZk5vZGVJc1VwZGF0YWJsZShub2RlOiBOb2RlKSB7XG4gICAgdGhpcy5yZWFkT25seSA9ICEobm9kZSAmJiAhaXNMb2NrZWQoeyBlbnRyeTogbm9kZSB9KSA/IHRoaXMucGVybWlzc2lvbi5jaGVjayhub2RlLCBbJ3VwZGF0ZSddKSA6IGZhbHNlKTtcbiAgfVxufVxuIl19
|
|
@@ -21,18 +21,19 @@
|
|
|
21
21
|
* You should have received a copy of the GNU Lesser General Public License
|
|
22
22
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
23
|
*/
|
|
24
|
-
import { ChangeDetectorRef, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
24
|
+
import { ChangeDetectorRef, Component, DestroyRef, inject, Input, ViewEncapsulation } from '@angular/core';
|
|
25
25
|
import { CommonModule } from '@angular/common';
|
|
26
26
|
import { Store } from '@ngrx/store';
|
|
27
27
|
import { getAppSelection } from '@alfresco/aca-shared/store';
|
|
28
28
|
import { AvatarComponent, IconComponent, NotificationService } from '@alfresco/adf-core';
|
|
29
|
-
import { forkJoin,
|
|
30
|
-
import { catchError, take
|
|
29
|
+
import { forkJoin, throwError } from 'rxjs';
|
|
30
|
+
import { catchError, take } from 'rxjs/operators';
|
|
31
31
|
import { MatMenuModule } from '@angular/material/menu';
|
|
32
32
|
import { MatListModule } from '@angular/material/list';
|
|
33
33
|
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
34
34
|
import { AgentService, SearchAiService } from '@alfresco/adf-content-services';
|
|
35
35
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
36
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
36
37
|
import * as i0 from "@angular/core";
|
|
37
38
|
import * as i1 from "@ngrx/store";
|
|
38
39
|
import * as i2 from "@alfresco/adf-core";
|
|
@@ -52,7 +53,6 @@ class AgentsButtonComponent {
|
|
|
52
53
|
data;
|
|
53
54
|
selectedNodesState;
|
|
54
55
|
_agents = [];
|
|
55
|
-
onDestroy$ = new Subject();
|
|
56
56
|
_disabled = true;
|
|
57
57
|
_initialsByAgentId = {};
|
|
58
58
|
_hxInsightUrl;
|
|
@@ -68,6 +68,7 @@ class AgentsButtonComponent {
|
|
|
68
68
|
get hxInsightUrl() {
|
|
69
69
|
return this._hxInsightUrl;
|
|
70
70
|
}
|
|
71
|
+
destroyRef = inject(DestroyRef);
|
|
71
72
|
constructor(store, notificationService, searchAiService, agentService, translateService, cd) {
|
|
72
73
|
this.store = store;
|
|
73
74
|
this.notificationService = notificationService;
|
|
@@ -79,7 +80,7 @@ class AgentsButtonComponent {
|
|
|
79
80
|
ngOnInit() {
|
|
80
81
|
this.store
|
|
81
82
|
.select(getAppSelection)
|
|
82
|
-
.pipe(
|
|
83
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
83
84
|
.subscribe((selection) => {
|
|
84
85
|
this.selectedNodesState = selection;
|
|
85
86
|
});
|
|
@@ -99,10 +100,6 @@ class AgentsButtonComponent {
|
|
|
99
100
|
}
|
|
100
101
|
}, (error) => this.notificationService.showError(this.translateService.instant(error)));
|
|
101
102
|
}
|
|
102
|
-
ngOnDestroy() {
|
|
103
|
-
this.onDestroy$.next();
|
|
104
|
-
this.onDestroy$.complete();
|
|
105
|
-
}
|
|
106
103
|
onClick() {
|
|
107
104
|
if (!this.selectedNodesState.isEmpty) {
|
|
108
105
|
const message = this.searchAiService.checkSearchAvailability(this.selectedNodesState);
|
|
@@ -132,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
132
129
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.NotificationService }, { type: i3.SearchAiService }, { type: i3.AgentService }, { type: i4.TranslateService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
|
133
130
|
type: Input
|
|
134
131
|
}] } });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnRzLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMva25vd2xlZGdlLXJldHJpZXZhbC9zZWFyY2gtYWkvYWdlbnRzLWJ1dHRvbi9hZ2VudHMtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9rbm93bGVkZ2UtcmV0cmlldmFsL3NlYXJjaC1haS9hZ2VudHMtYnV0dG9uL2FnZW50cy1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFZLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUEwQixNQUFNLHdCQUF3QixDQUFDO0FBQy9FLE9B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SSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUN2QixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRTtTQUNwQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7dUdBNUZVLHFCQUFxQjsyRkFBckIscUJBQXFCLHNKQ2hEbEMsdzdDQW9DQSx3OUNES1ksWUFBWSwrUEFBRSxhQUFhLDJQQUFFLGFBQWEsNGRBQUUsZUFBZSw0RkFBRSxlQUFlLGlIQUFFLGFBQWEsMkZBQUUsZ0JBQWdCOztTQU81RyxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFUakMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxZQUM5RyxtQkFBbUIsaUJBR2QsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRTtzUEFJcEMsSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTZWxlY3Rpb25TdGF0ZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEFwcFN0b3JlLCBnZXRBcHBTZWxlY3Rpb24gfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBBdmF0YXJDb21wb25lbnQsIEljb25Db21wb25lbnQsIE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIFN1YmplY3QsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUsIE1hdFNlbGVjdGlvbkxpc3RDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IEFnZW50U2VydmljZSwgU2VhcmNoQWlTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdE1lbnVNb2R1bGUsIE1hdExpc3RNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgQXZhdGFyQ29tcG9uZW50LCBJY29uQ29tcG9uZW50LCBNYXRUb29sdGlwTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdhY2EtYWdlbnRzLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZ2VudHMtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWdlbnRzLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAnYWNhLWFnZW50cy1idXR0b24nIH1cbn0pXG5leHBvcnQgY2xhc3MgQWdlbnRzQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBkYXRhOiB7IHRyaWdnZXI6IHN0cmluZyB9O1xuXG4gIHByaXZhdGUgc2VsZWN0ZWROb2Rlc1N0YXRlOiBTZWxlY3Rpb25TdGF0ZTtcbiAgcHJpdmF0ZSBfYWdlbnRzOiBBZ2VudFtdID0gW107XG4gIHByaXZhdGUgb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX2Rpc2FibGVkID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfaW5pdGlhbHNCeUFnZW50SWQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgcHJpdmF0ZSBfaHhJbnNpZ2h0VXJsOiBzdHJpbmc7XG5cbiAgZ2V0IGFnZW50cygpOiBBZ2VudFtdIHtcbiAgICByZXR1cm4gdGhpcy5fYWdlbnRzO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIGdldCBpbml0aWFsc0J5QWdlbnRJZCgpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4gdGhpcy5faW5pdGlhbHNCeUFnZW50SWQ7XG4gIH1cblxuICBnZXQgaHhJbnNpZ2h0VXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2h4SW5zaWdodFVybDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPEFwcFN0b3JlPixcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZWFyY2hBaVNlcnZpY2U6IFNlYXJjaEFpU2VydmljZSxcbiAgICBwcml2YXRlIGFnZW50U2VydmljZTogQWdlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChnZXRBcHBTZWxlY3Rpb24pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGlvbikgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXNTdGF0ZSA9IHNlbGVjdGlvbjtcbiAgICAgIH0pO1xuICAgIGZvcmtKb2luKHtcbiAgICAgIGFnZW50czogdGhpcy5hZ2VudFNlcnZpY2UuZ2V0QWdlbnRzKCkucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB0aHJvd0Vycm9yKCdLTk9XTEVER0VfUkVUUklFVkFMLlNFQVJDSC5FUlJPUlMuQUdFTlRTX0ZFVENISU5HJykpXG4gICAgICApLFxuICAgICAgY29uZmlnOiB0aGlzLnNlYXJjaEFpU2VydmljZS5nZXRDb25maWcoKS5waXBlKGNhdGNoRXJyb3IoKCkgPT4gdGhyb3dFcnJvcignS05PV0xFREdFX1JFVFJJRVZBTC5TRUFSQ0guRVJST1JTLkhYX0lOU0lHSFRfVVJMX0ZFVENISU5HJykpKVxuICAgIH0pLnN1YnNjcmliZShcbiAgICAgIChyZXN1bHQpID0+IHtcbiAgICAgICAgdGhpcy5faHhJbnNpZ2h0VXJsID0gcmVzdWx0LmNvbmZpZy5lbnRyeS5rbm93bGVkZ2VSZXRyaWV2YWxVcmw7XG4gICAgICAgIHRoaXMuX2FnZW50cyA9IHJlc3VsdC5hZ2VudHM7XG5cbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuYWdlbnRzLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuX2luaXRpYWxzQnlBZ2VudElkID0gdGhpcy5hZ2VudHMucmVkdWNlKChpbml0aWFscywgYWdlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHdvcmRzID0gYWdlbnQubmFtZS5zcGxpdCgnICcpLmZpbHRlcigod29yZCkgPT4gIXdvcmQubWF0Y2goL1teYS16QS1aXSsvZykpO1xuICAgICAgICAgICAgaW5pdGlhbHNbYWdlbnQuaWRdID0gYCR7d29yZHNbMF1bMF19JHt3b3Jkc1sxXT8uWzBdIHx8ICcnfWA7XG4gICAgICAgICAgICByZXR1cm4gaW5pdGlhbHM7XG4gICAgICAgICAgfSwge30pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgKGVycm9yOiBzdHJpbmcpID0+IHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5zaG93RXJyb3IodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZXJyb3IpKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgb25DbGljaygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWROb2Rlc1N0YXRlLmlzRW1wdHkpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLnNlYXJjaEFpU2VydmljZS5jaGVja1NlYXJjaEF2YWlsYWJpbGl0eSh0aGlzLnNlbGVjdGVkTm9kZXNTdGF0ZSk7XG4gICAgICBpZiAobWVzc2FnZSkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc2hvd0Vycm9yKG1lc3NhZ2UpO1xuICAgICAgfVxuICAgICAgdGhpcy5fZGlzYWJsZWQgPSAhIW1lc3NhZ2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2Rpc2FibGVkID0gdHJ1ZTtcbiAgICBvcGVuKHRoaXMuaHhJbnNpZ2h0VXJsKTtcbiAgfVxuXG4gIG9uQWdlbnRTZWxlY3Rpb24oY2hhbmdlOiBNYXRTZWxlY3Rpb25MaXN0Q2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh7XG4gICAgICB0eXBlOiB0aGlzLmRhdGEudHJpZ2dlcixcbiAgICAgIGFnZW50SWQ6IGNoYW5nZS5vcHRpb25zWzBdLnZhbHVlLmlkXG4gICAgfSk7XG4gICAgY2hhbmdlLnNvdXJjZS5kZXNlbGVjdEFsbCgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYWdlbnRzLmxlbmd0aCAmJiBoeEluc2lnaHRVcmxcIj5cbiAgPGJ1dHRvblxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJkaXNhYmxlZCA/IG51bGwgOiBhZ2VudHNMaXN0XCJcbiAgICBjbGFzcz1cImFjYS1hZ2VudHMtbWVudS1idXR0b24gYWNhLWFnZW50cy1idXR0b24tbWVudS10cmlnZ2VyXCJcbiAgICAobW91c2V1cCk9XCJvbkNsaWNrKClcIlxuICAgIChrZXlkb3duLmVudGVyKT1cIm9uQ2xpY2soKVwiXG4gICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWNhLWFnZW50cy1idXR0b25cIj5cbiAgICA8YWRmLWljb25cbiAgICAgIHZhbHVlPVwiYWRmOmNvbG9yZWQtc3RhcnMtYWlcIlxuICAgICAgY2xhc3M9XCJhY2EtYWdlbnRzLWJ1dHRvbi1pY29uXCIgLz5cbiAgICB7eyAnS05PV0xFREdFX1JFVFJJRVZBTC5TRUFSQ0guQUdFTlRTX0JVVFRPTi5MQUJFTCcgfCB0cmFuc2xhdGV9fVxuICA8L2J1dHRvbj5cbiAgPG1hdC1tZW51XG4gICAgI2FnZW50c0xpc3Q9XCJtYXRNZW51XCJcbiAgICBjbGFzcz1cImFjYS1hZ2VudHMtYnV0dG9uLW1lbnVcIlxuICAgIHhQb3NpdGlvbj1cImJlZm9yZVwiPlxuICAgIDxtYXQtc2VsZWN0aW9uLWxpc3RcbiAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25BZ2VudFNlbGVjdGlvbigkZXZlbnQpXCJcbiAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXG4gICAgICBjbGFzcz1cImFjYS1hZ2VudHMtYnV0dG9uLW1lbnUtbGlzdFwiXG4gICAgICBbaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvcl09XCJ0cnVlXCI+XG4gICAgICA8bWF0LWxpc3Qtb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBhZ2VudCBvZiBhZ2VudHNcIlxuICAgICAgICBjbGFzcz1cImFjYS1hZ2VudHMtYnV0dG9uLW1lbnUtbGlzdC1hZ2VudFwiXG4gICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInYWNhLWFnZW50cy1idXR0b24tYWdlbnQtJyArIGFnZW50LmlkXCJcbiAgICAgICAgW3ZhbHVlXT1cImFnZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2EtYWdlbnRzLWJ1dHRvbi1tZW51LWxpc3QtYWdlbnQtY29udGVudFwiPlxuICAgICAgICAgIDxhZGYtYXZhdGFyIFtzcmNdPVwiYWdlbnQ/LmF2YXRhclVybFwiIFtpbml0aWFsc109XCJpbml0aWFsc0J5QWdlbnRJZFthZ2VudC5pZF1cIiAvPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNhLWFnZW50cy1idXR0b24tbWVudS1saXN0LWFnZW50LWNvbnRlbnQtbmFtZVwiIFttYXRUb29sdGlwXT1cImFnZW50Lm5hbWVcIiBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidyaWdodCdcIj5cbiAgICAgICAgICAge3sgYWdlbnQubmFtZSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICA8L21hdC1zZWxlY3Rpb24tbGlzdD5cbiAgPC9tYXQtbWVudT5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnRzLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMva25vd2xlZGdlLXJldHJpZXZhbC9zZWFyY2gtYWkvYWdlbnRzLWJ1dHRvbi9hZ2VudHMtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9rbm93bGVkZ2UtcmV0cmlldmFsL3NlYXJjaC1haS9hZ2VudHMtYnV0dG9uL2FnZW50cy1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBWSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQTBCLE1BQU0sd0JBQXdCLENBQUM7QUFDL0UsT0FB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QU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7U0FDcEMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QixDQUFDO3VHQXhGVSxxQkFBcUI7MkZBQXJCLHFCQUFxQixzSkNqRGxDLHc3Q0FvQ0EsdzlDRE1ZLFlBQVksK1BBQUUsYUFBYSwyUEFBRSxhQUFhLDRkQUFFLGVBQWUsNEZBQUUsZUFBZSxpSEFBRSxhQUFhLDJGQUFFLGdCQUFnQjs7U0FPNUcscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBVGpDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsWUFDOUcsbUJBQW1CLGlCQUdkLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUU7c1BBSXBDLElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBpbmplY3QsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2VsZWN0aW9uU3RhdGUgfSBmcm9tICdAYWxmcmVzY28vYWRmLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBcHBTdG9yZSwgZ2V0QXBwU2VsZWN0aW9uIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50LCBJY29uQ29tcG9uZW50LCBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IGZvcmtKb2luLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSwgTWF0U2VsZWN0aW9uTGlzdENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgQWdlbnRTZXJ2aWNlLCBTZWFyY2hBaVNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0TWVudU1vZHVsZSwgTWF0TGlzdE1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBBdmF0YXJDb21wb25lbnQsIEljb25Db21wb25lbnQsIE1hdFRvb2x0aXBNb2R1bGVdLFxuICBzZWxlY3RvcjogJ2FjYS1hZ2VudHMtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FnZW50cy1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZ2VudHMtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdhY2EtYWdlbnRzLWJ1dHRvbicgfVxufSlcbmV4cG9ydCBjbGFzcyBBZ2VudHNCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBkYXRhOiB7IHRyaWdnZXI6IHN0cmluZyB9O1xuXG4gIHByaXZhdGUgc2VsZWN0ZWROb2Rlc1N0YXRlOiBTZWxlY3Rpb25TdGF0ZTtcbiAgcHJpdmF0ZSBfYWdlbnRzOiBBZ2VudFtdID0gW107XG4gIHByaXZhdGUgX2Rpc2FibGVkID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfaW5pdGlhbHNCeUFnZW50SWQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgcHJpdmF0ZSBfaHhJbnNpZ2h0VXJsOiBzdHJpbmc7XG5cbiAgZ2V0IGFnZW50cygpOiBBZ2VudFtdIHtcbiAgICByZXR1cm4gdGhpcy5fYWdlbnRzO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIGdldCBpbml0aWFsc0J5QWdlbnRJZCgpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4gdGhpcy5faW5pdGlhbHNCeUFnZW50SWQ7XG4gIH1cblxuICBnZXQgaHhJbnNpZ2h0VXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2h4SW5zaWdodFVybDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxBcHBTdG9yZT4sXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VhcmNoQWlTZXJ2aWNlOiBTZWFyY2hBaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhZ2VudFNlcnZpY2U6IEFnZW50U2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoZ2V0QXBwU2VsZWN0aW9uKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKChzZWxlY3Rpb24pID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzU3RhdGUgPSBzZWxlY3Rpb247XG4gICAgICB9KTtcbiAgICBmb3JrSm9pbih7XG4gICAgICBhZ2VudHM6IHRoaXMuYWdlbnRTZXJ2aWNlLmdldEFnZW50cygpLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gdGhyb3dFcnJvcignS05PV0xFREdFX1JFVFJJRVZBTC5TRUFSQ0guRVJST1JTLkFHRU5UU19GRVRDSElORycpKVxuICAgICAgKSxcbiAgICAgIGNvbmZpZzogdGhpcy5zZWFyY2hBaVNlcnZpY2UuZ2V0Q29uZmlnKCkucGlwZShjYXRjaEVycm9yKCgpID0+IHRocm93RXJyb3IoJ0tOT1dMRURHRV9SRVRSSUVWQUwuU0VBUkNILkVSUk9SUy5IWF9JTlNJR0hUX1VSTF9GRVRDSElORycpKSlcbiAgICB9KS5zdWJzY3JpYmUoXG4gICAgICAocmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMuX2h4SW5zaWdodFVybCA9IHJlc3VsdC5jb25maWcuZW50cnkua25vd2xlZGdlUmV0cmlldmFsVXJsO1xuICAgICAgICB0aGlzLl9hZ2VudHMgPSByZXN1bHQuYWdlbnRzO1xuXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIGlmICh0aGlzLmFnZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLl9pbml0aWFsc0J5QWdlbnRJZCA9IHRoaXMuYWdlbnRzLnJlZHVjZSgoaW5pdGlhbHMsIGFnZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB3b3JkcyA9IGFnZW50Lm5hbWUuc3BsaXQoJyAnKS5maWx0ZXIoKHdvcmQpID0+ICF3b3JkLm1hdGNoKC9bXmEtekEtWl0rL2cpKTtcbiAgICAgICAgICAgIGluaXRpYWxzW2FnZW50LmlkXSA9IGAke3dvcmRzWzBdWzBdfSR7d29yZHNbMV0/LlswXSB8fCAnJ31gO1xuICAgICAgICAgICAgcmV0dXJuIGluaXRpYWxzO1xuICAgICAgICAgIH0sIHt9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIChlcnJvcjogc3RyaW5nKSA9PiB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc2hvd0Vycm9yKHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGVycm9yKSlcbiAgICApO1xuICB9XG5cbiAgb25DbGljaygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWROb2Rlc1N0YXRlLmlzRW1wdHkpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLnNlYXJjaEFpU2VydmljZS5jaGVja1NlYXJjaEF2YWlsYWJpbGl0eSh0aGlzLnNlbGVjdGVkTm9kZXNTdGF0ZSk7XG4gICAgICBpZiAobWVzc2FnZSkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc2hvd0Vycm9yKG1lc3NhZ2UpO1xuICAgICAgfVxuICAgICAgdGhpcy5fZGlzYWJsZWQgPSAhIW1lc3NhZ2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2Rpc2FibGVkID0gdHJ1ZTtcbiAgICBvcGVuKHRoaXMuaHhJbnNpZ2h0VXJsKTtcbiAgfVxuXG4gIG9uQWdlbnRTZWxlY3Rpb24oY2hhbmdlOiBNYXRTZWxlY3Rpb25MaXN0Q2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh7XG4gICAgICB0eXBlOiB0aGlzLmRhdGEudHJpZ2dlcixcbiAgICAgIGFnZW50SWQ6IGNoYW5nZS5vcHRpb25zWzBdLnZhbHVlLmlkXG4gICAgfSk7XG4gICAgY2hhbmdlLnNvdXJjZS5kZXNlbGVjdEFsbCgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYWdlbnRzLmxlbmd0aCAmJiBoeEluc2lnaHRVcmxcIj5cbiAgPGJ1dHRvblxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJkaXNhYmxlZCA/IG51bGwgOiBhZ2VudHNMaXN0XCJcbiAgICBjbGFzcz1cImFjYS1hZ2VudHMtbWVudS1idXR0b24gYWNhLWFnZW50cy1idXR0b24tbWVudS10cmlnZ2VyXCJcbiAgICAobW91c2V1cCk9XCJvbkNsaWNrKClcIlxuICAgIChrZXlkb3duLmVudGVyKT1cIm9uQ2xpY2soKVwiXG4gICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWNhLWFnZW50cy1idXR0b25cIj5cbiAgICA8YWRmLWljb25cbiAgICAgIHZhbHVlPVwiYWRmOmNvbG9yZWQtc3RhcnMtYWlcIlxuICAgICAgY2xhc3M9XCJhY2EtYWdlbnRzLWJ1dHRvbi1pY29uXCIgLz5cbiAgICB7eyAnS05PV0xFREdFX1JFVFJJRVZBTC5TRUFSQ0guQUdFTlRTX0JVVFRPTi5MQUJFTCcgfCB0cmFuc2xhdGV9fVxuICA8L2J1dHRvbj5cbiAgPG1hdC1tZW51XG4gICAgI2FnZW50c0xpc3Q9XCJtYXRNZW51XCJcbiAgICBjbGFzcz1cImFjYS1hZ2VudHMtYnV0dG9uLW1lbnVcIlxuICAgIHhQb3NpdGlvbj1cImJlZm9yZVwiPlxuICAgIDxtYXQtc2VsZWN0aW9uLWxpc3RcbiAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25BZ2VudFNlbGVjdGlvbigkZXZlbnQpXCJcbiAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXG4gICAgICBjbGFzcz1cImFjYS1hZ2VudHMtYnV0dG9uLW1lbnUtbGlzdFwiXG4gICAgICBbaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvcl09XCJ0cnVlXCI+XG4gICAgICA8bWF0LWxpc3Qtb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBhZ2VudCBvZiBhZ2VudHNcIlxuICAgICAgICBjbGFzcz1cImFjYS1hZ2VudHMtYnV0dG9uLW1lbnUtbGlzdC1hZ2VudFwiXG4gICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInYWNhLWFnZW50cy1idXR0b24tYWdlbnQtJyArIGFnZW50LmlkXCJcbiAgICAgICAgW3ZhbHVlXT1cImFnZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2EtYWdlbnRzLWJ1dHRvbi1tZW51LWxpc3QtYWdlbnQtY29udGVudFwiPlxuICAgICAgICAgIDxhZGYtYXZhdGFyIFtzcmNdPVwiYWdlbnQ/LmF2YXRhclVybFwiIFtpbml0aWFsc109XCJpbml0aWFsc0J5QWdlbnRJZFthZ2VudC5pZF1cIiAvPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNhLWFnZW50cy1idXR0b24tbWVudS1saXN0LWFnZW50LWNvbnRlbnQtbmFtZVwiIFttYXRUb29sdGlwXT1cImFnZW50Lm5hbWVcIiBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidyaWdodCdcIj5cbiAgICAgICAgICAge3sgYWdlbnQubmFtZSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICA8L21hdC1zZWxlY3Rpb24tbGlzdD5cbiAgPC9tYXQtbWVudT5cbjwvbmctY29udGFpbmVyPlxuIl19
|