@eo-sdk/client 11.0.0-beta.1 → 11.0.0-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/dashboard.component.d.ts +2 -23
- package/app/eo-client/dashboard/dashboard.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts +28 -5
- package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts +33 -21
- package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts +9 -0
- package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.d.ts +3 -2
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.d.ts +2 -0
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.d.ts +1 -0
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.d.ts +7 -0
- package/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.d.ts +9 -4
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts +2 -2
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.d.ts +3 -2
- package/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts +3 -2
- package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts +3 -2
- package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.d.ts +25 -0
- package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts +15 -6
- package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.d.ts +7 -0
- package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/picture-widget/picture-widget-setup/picture-widget-setup.component.d.ts +18 -0
- package/app/eo-client/dashboard/widgets/picture-widget/picture-widget-setup/picture-widget-setup.component.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/picture-widget/picture-widget.component.d.ts +10 -0
- package/app/eo-client/dashboard/widgets/picture-widget/picture-widget.component.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts +1 -2
- package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/todowidget/todo-setup/todo-setup.component.d.ts +24 -0
- package/app/eo-client/dashboard/widgets/todowidget/todo-setup/todo-setup.component.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/todowidget/todo-widget.component.d.ts +34 -0
- package/app/eo-client/dashboard/widgets/todowidget/todo-widget.component.d.ts.map +1 -0
- package/app/eo-client/eo-client.module.d.ts +29 -23
- package/app/eo-client/eo-client.module.d.ts.map +1 -1
- package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts.map +1 -1
- package/app/eo-client/login/login.component.d.ts +3 -1
- package/app/eo-client/login/login.component.d.ts.map +1 -1
- package/app/eo-client/process-state/process-state.component.d.ts +3 -5
- package/app/eo-client/process-state/process-state.component.d.ts.map +1 -1
- package/app/eo-client/settings/settings.component.d.ts +4 -11
- package/app/eo-client/settings/settings.component.d.ts.map +1 -1
- package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.d.ts +5 -1
- package/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/signature-action/signature-action.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +7 -3
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-shell.module.d.ts +17 -16
- package/app/eo-framework/app-shell/app-shell.module.d.ts.map +1 -1
- package/app/eo-framework/app-shell/index.d.ts +1 -0
- package/app/eo-framework/app-shell/index.d.ts.map +1 -1
- package/app/eo-framework/app-shell/license-warning/license-warning.component.d.ts +10 -0
- package/app/eo-framework/app-shell/license-warning/license-warning.component.d.ts.map +1 -0
- package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts +4 -4
- package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/string/string.component.d.ts +1 -0
- package/app/eo-framework/form-elements/string/string.component.d.ts.map +1 -1
- package/app/eo-framework/frame/frame.component.d.ts +2 -1
- package/app/eo-framework/frame/frame.component.d.ts.map +1 -1
- package/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.d.ts.map +1 -1
- package/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/filters/codesystem-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/filters/datetime-filter.component.d.ts +0 -8
- package/app/eo-framework/grid/filters/datetime-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/filters/dynamic-list-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/grid.component.d.ts +1 -1
- package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
- package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
- package/app/eo-framework/media/media.component.d.ts +15 -1
- package/app/eo-framework/media/media.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-details.component.d.ts +9 -3
- package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +2 -0
- package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form-helper.service.d.ts.map +1 -1
- package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
- package/app/eo-framework/result-list/result-list.component.d.ts +3 -2
- package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.d.ts.map +1 -1
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +2 -1
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
- package/app/eo-framework/util/services/utilities.service.d.ts +195 -0
- package/app/eo-framework/util/services/utilities.service.d.ts.map +1 -1
- package/app/eo-framework-core/api/grid.service.d.ts +1 -5
- package/app/eo-framework-core/api/grid.service.d.ts.map +1 -1
- package/app/eo-framework-core/api/plugins.service.d.ts +6 -0
- package/app/eo-framework-core/api/plugins.service.d.ts.map +1 -1
- package/app/eo-framework-core/error-handler/error-handler.service.d.ts.map +1 -1
- package/assets/_default/config/main.json +1 -1
- package/assets/_default/i18n/de.json +48 -11
- package/assets/_default/i18n/en.json +50 -13
- package/assets/_default/svg/ic_noImage.svg +1 -0
- package/assets/_default/svg/ic_photo_library.svg +1 -0
- package/assets/_default/svg/ic_task.svg +1 -0
- package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/dashboard.component.mjs +21 -69
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +183 -78
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +142 -36
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/icharts.mjs +1 -1
- package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.mjs +21 -13
- package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +7 -3
- package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.mjs +1 -1
- package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.mjs +1 -1
- package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +68 -53
- package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +7 -8
- package/esm2022/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.mjs +16 -10
- package/esm2022/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.mjs +3 -4
- package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.mjs +15 -9
- package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.mjs +16 -10
- package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.mjs +85 -0
- package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +101 -32
- package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.mjs +2 -0
- package/esm2022/app/eo-client/dashboard/widgets/picture-widget/picture-widget-setup/picture-widget-setup.component.mjs +54 -0
- package/esm2022/app/eo-client/dashboard/widgets/picture-widget/picture-widget.component.mjs +24 -0
- package/esm2022/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +4 -7
- package/esm2022/app/eo-client/dashboard/widgets/todowidget/todo-setup/todo-setup.component.mjs +74 -0
- package/esm2022/app/eo-client/dashboard/widgets/todowidget/todo-widget.component.mjs +103 -0
- package/esm2022/app/eo-client/eo-client.module.mjs +25 -6
- package/esm2022/app/eo-client/favorite-state/favorite-state.component.mjs +4 -4
- package/esm2022/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +25 -11
- package/esm2022/app/eo-client/login/login.component.mjs +14 -11
- package/esm2022/app/eo-client/notifications-state/notifications-state.component.mjs +5 -5
- package/esm2022/app/eo-client/object-state/object-state/object-state.component.mjs +3 -3
- package/esm2022/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +6 -6
- package/esm2022/app/eo-client/process-state/process-state.component.mjs +12 -17
- package/esm2022/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +6 -6
- package/esm2022/app/eo-client/result-state/result-state.component.mjs +1 -1
- package/esm2022/app/eo-client/settings/settings.component.mjs +34 -40
- package/esm2022/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +4 -5
- package/esm2022/app/eo-client/version-state/version-state.component.mjs +5 -5
- package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +6 -6
- package/esm2022/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +23 -3
- package/esm2022/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/signature-action/signature-action.component.mjs +5 -2
- package/esm2022/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +5 -4
- package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +44 -24
- package/esm2022/app/eo-framework/app-shell/app-bar/context-search/context-search.component.mjs +3 -3
- package/esm2022/app/eo-framework/app-shell/app-shell.module.mjs +13 -7
- package/esm2022/app/eo-framework/app-shell/index.mjs +2 -1
- package/esm2022/app/eo-framework/app-shell/license-warning/license-warning.component.mjs +26 -0
- package/esm2022/app/eo-framework/form-elements/codesystem/codesystem.component.mjs +3 -3
- package/esm2022/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +35 -28
- package/esm2022/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +7 -4
- package/esm2022/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +2 -2
- package/esm2022/app/eo-framework/form-elements/organization/organization.component.mjs +2 -2
- package/esm2022/app/eo-framework/form-elements/reference/reference.component.mjs +2 -2
- package/esm2022/app/eo-framework/form-elements/string/string.component.mjs +8 -5
- package/esm2022/app/eo-framework/frame/frame.component.mjs +3 -2
- package/esm2022/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.mjs +7 -2
- package/esm2022/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.mjs +3 -3
- package/esm2022/app/eo-framework/grid/filters/codesystem-filter.component.mjs +1 -14
- package/esm2022/app/eo-framework/grid/filters/datetime-filter.component.mjs +6 -33
- package/esm2022/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +3 -19
- package/esm2022/app/eo-framework/grid/filters/filesize-filter.component.mjs +2 -2
- package/esm2022/app/eo-framework/grid/grid.component.mjs +11 -12
- package/esm2022/app/eo-framework/inbox-details/inbox-details.component.mjs +5 -3
- package/esm2022/app/eo-framework/media/media.component.mjs +68 -19
- package/esm2022/app/eo-framework/object-details/object-details.component.mjs +53 -15
- package/esm2022/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +3 -3
- package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +19 -28
- package/esm2022/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +3 -3
- package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +4 -4
- package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-scripting-scope.mjs +11 -7
- package/esm2022/app/eo-framework/object-form/object-form/object-form.component.mjs +3 -3
- package/esm2022/app/eo-framework/object-form/object-form-helper.service.mjs +6 -1
- package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +15 -4
- package/esm2022/app/eo-framework/process/history/process-history.component.mjs +2 -2
- package/esm2022/app/eo-framework/quick-search/quick-search/quick-search.component.mjs +3 -3
- package/esm2022/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +1 -1
- package/esm2022/app/eo-framework/result-list/result-list.component.mjs +34 -5
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +18 -5
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +6 -3
- package/esm2022/app/eo-framework/ui/overlay/overlay.component.mjs +2 -2
- package/esm2022/app/eo-framework/util/services/utilities.service.mjs +4 -1
- package/esm2022/app/eo-framework-core/api/grid.service.mjs +34 -45
- package/esm2022/app/eo-framework-core/api/plugins.service.mjs +44 -2
- package/esm2022/app/eo-framework-core/error-handler/error-handler.service.mjs +6 -6
- package/fesm2022/eo-sdk-client.mjs +1589 -805
- package/fesm2022/eo-sdk-client.mjs.map +1 -1
- package/misc/scripts/exclude-core-ng-package.js +11 -0
- package/misc/scripts/prebuild-about-state.js +2 -3
- package/package.json +6 -6
- package/proxy.config.json +15 -0
|
@@ -45,6 +45,9 @@ export class DynamicListComponent {
|
|
|
45
45
|
return this._list;
|
|
46
46
|
}
|
|
47
47
|
set selectedNodes(n) {
|
|
48
|
+
if (n && !Array.isArray(n)) {
|
|
49
|
+
this.autocompleteFn(n[this._list.config.valueField || 'value'] || n.name);
|
|
50
|
+
}
|
|
48
51
|
this._selectedNodes = structuredClone(n);
|
|
49
52
|
}
|
|
50
53
|
get selectedNodes() {
|
|
@@ -204,7 +207,7 @@ export class DynamicListComponent {
|
|
|
204
207
|
}
|
|
205
208
|
return acNode.data[this.valueField].toLowerCase().indexOf(term.toLowerCase()) !== -1 ||
|
|
206
209
|
(acNode.data[this.descriptionField] && acNode.data[this.descriptionField].toLowerCase().indexOf(term.toLowerCase()) !== -1);
|
|
207
|
-
});
|
|
210
|
+
}).slice(0, 10);
|
|
208
211
|
}
|
|
209
212
|
listEntryToTreeNode(listEntry) {
|
|
210
213
|
let selectable = false;
|
|
@@ -263,7 +266,7 @@ export class DynamicListComponent {
|
|
|
263
266
|
useExisting: forwardRef(() => DynamicListComponent),
|
|
264
267
|
multi: true,
|
|
265
268
|
}
|
|
266
|
-
], viewQueries: [{ propertyName: "autoCompleteInput", first: true, predicate: ["autocomplete"], descendants: true }, { propertyName: "autoCompleteButton", first: true, predicate: ["button"], descendants: true }], ngImport: i0, template: "<eo-dialog #listDialog [title]=\"pickerTitle\" [visible]=\"display\" [ngClass]=\"{empty: !(list?.entries?.length)}\"\n [styleClass]=\"'dynlist-dialog'\" (hide)=\"display = false\">\n\n <eo-tree [tree]=\"tree\" *ngIf=\"display && tree\" [isDisplayed]=\"display\" [options]=\"{multiselect: multiselect}\"\n [(ngModel)]=\"selectedNodes\" (keyup.enter)=\"showDialog($event, false)\"\n (ngModelChange)=\"onTreeSelectionChanged($event)\">\n </eo-tree>\n\n <div class=\"empty\" *ngIf=\"!(list?.entries?.length)\">\n <div translate>eo.form.property.dynamic.list.empty</div>\n </div>\n</eo-dialog>\n\n<div class=\"eo-dynamic-list\" [ngClass]=\"{full: selectedNodes && selectedNodes.length === autocompleteValues.length}\">\n\n <yvc-autocomplete [(ngModel)]=\"selectedNodes\" #autocomplete (suggestionSelect)=\"onAutoCompleteSelect($event)\"\n [disabled]=\"readonly\" (suggestionUnselect)=\"onAutoCompleteUnselect($event)\" [forceSelection]=\"true\"\n [autocompleteValues]=\"autocompleteRes\" field=\"{{valueField}}\" (autocompleteFnc)=\"autocompleteFn($event)\"\n [multiple]=\"multiselect\">\n\n <ng-template let-item #chipTemplate>\n <div>\n <div class=\"value\">{{item[valueField]}}</div>\n </div>\n </ng-template>\n\n <ng-template #autocompleteOptionTemplate let-item>\n <div>\n <div class=\"value\">{{item[valueField]}}</div>\n <div class=\"description\" style=\"font-style: italic; color: var(--text-color-caption)\">{{item[descriptionField]}}</div>\n </div>\n </ng-template>\n </yvc-autocomplete>\n\n <button #button class=\"ui-button\" *ngIf=\"!readonly\" [disabled]=\"readonly\" (click)=\"showDialog($event, $event.detail)\"\n (keyup.arrowDown)=\"showDialog($event)\" (keyup.enter)=\"showDialog($event)\" (keyup.space)=\"showDialog($event)\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n</div>", styles: [".rtl .form-element .form-field>div label{text-align:left!important}:host .eo-dynamic-list{display:flex;align-items:center;justify-content:space-between}:host .eo-dynamic-list .description{padding-left:0!important}:host .eo-dynamic-list yvc-autocomplete{flex:1 1 auto;border:0;outline:0}:host .eo-dynamic-list>button{flex:0 0 auto;padding:0}:host .eo-dynamic-list>button eo-icon{width:16px;height:16px;margin:auto}:host .eo-dynamic-list.full ::ng-deep yvc-autocomplete .inputToken{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i5.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i6.TreeComponent, selector: "eo-tree", inputs: ["options", "isDisplayed", "readonly", "emptyMessage", "selectionKey", "highlightedNodes", "tree", "treeUpdate"], outputs: ["expandedNodesChanged", "onSelected"] }, { kind: "component", type: i7.AutoComplete, selector: "yvc-autocomplete", inputs: ["field", "placeholder", "minLength", "multiple", "typeahead", "distinctValues", "forceSelection", "autocompleteValues", "disabled"], outputs: ["autocompleteFnc", "blur", "focus", "suggestionUnselect", "suggestionSelect"] }] }); }
|
|
269
|
+
], viewQueries: [{ propertyName: "autoCompleteInput", first: true, predicate: ["autocomplete"], descendants: true }, { propertyName: "autoCompleteButton", first: true, predicate: ["button"], descendants: true }], ngImport: i0, template: "<eo-dialog #listDialog [title]=\"pickerTitle\" [visible]=\"display\" [ngClass]=\"{empty: !(list?.entries?.length)}\"\n [styleClass]=\"'dynlist-dialog'\" (hide)=\"display = false\">\n\n <eo-tree [tree]=\"tree\" *ngIf=\"display && tree\" [isDisplayed]=\"display\" [options]=\"{multiselect: multiselect}\"\n [(ngModel)]=\"selectedNodes\" (keyup.enter)=\"showDialog($event, false)\"\n (ngModelChange)=\"onTreeSelectionChanged($event)\">\n </eo-tree>\n\n <div class=\"empty\" *ngIf=\"!(list?.entries?.length)\">\n <div translate>eo.form.property.dynamic.list.empty</div>\n </div>\n</eo-dialog>\n\n<div class=\"eo-dynamic-list\" [ngClass]=\"{full: selectedNodes && selectedNodes.length === autocompleteValues.length}\">\n\n <yvc-autocomplete [(ngModel)]=\"selectedNodes\" #autocomplete (suggestionSelect)=\"onAutoCompleteSelect($event)\"\n [disabled]=\"readonly\" (suggestionUnselect)=\"onAutoCompleteUnselect($event)\" [forceSelection]=\"true\"\n [autocompleteValues]=\"autocompleteRes\" (ngModelChange)=\"onTreeSelectionChanged($event)\" field=\"{{valueField}}\" (autocompleteFnc)=\"autocompleteFn($event)\"\n [multiple]=\"multiselect\">\n\n <ng-template let-item #chipTemplate>\n <div>\n <div class=\"value\">{{item[valueField]}}</div>\n </div>\n </ng-template>\n\n <ng-template #autocompleteOptionTemplate let-item>\n <div>\n <div class=\"value\">{{item[valueField]}}</div>\n <div class=\"description\" style=\"font-style: italic; color: var(--text-color-caption)\">{{item[descriptionField]}}</div>\n </div>\n </ng-template>\n </yvc-autocomplete>\n\n <button #button class=\"ui-button\" *ngIf=\"!readonly\" [disabled]=\"readonly\" (click)=\"showDialog($event, $event.detail)\"\n (keyup.arrowDown)=\"showDialog($event)\" (keyup.enter)=\"showDialog($event)\" (keyup.space)=\"showDialog($event)\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n</div>", styles: [".rtl .form-element .form-field>div label{text-align:left!important}:host .eo-dynamic-list{display:flex;align-items:center;justify-content:space-between}:host .eo-dynamic-list .description{padding-left:0!important}:host .eo-dynamic-list yvc-autocomplete{flex:1 1 auto;border:0;outline:0}:host .eo-dynamic-list>button{flex:0 0 auto;padding:0}:host .eo-dynamic-list>button eo-icon{width:16px;height:16px;margin:auto}:host .eo-dynamic-list.full ::ng-deep yvc-autocomplete .inputToken{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i5.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i6.TreeComponent, selector: "eo-tree", inputs: ["options", "isDisplayed", "readonly", "emptyMessage", "selectionKey", "highlightedNodes", "tree", "treeUpdate"], outputs: ["expandedNodesChanged", "onSelected"] }, { kind: "component", type: i7.AutoComplete, selector: "yvc-autocomplete", inputs: ["field", "placeholder", "minLength", "multiple", "typeahead", "distinctValues", "forceSelection", "autocompleteValues", "disabled"], outputs: ["autocompleteFnc", "blur", "focus", "suggestionUnselect", "suggestionSelect"] }] }); }
|
|
267
270
|
}
|
|
268
271
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DynamicListComponent, decorators: [{
|
|
269
272
|
type: Component,
|
|
@@ -278,7 +281,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
278
281
|
useExisting: forwardRef(() => DynamicListComponent),
|
|
279
282
|
multi: true,
|
|
280
283
|
}
|
|
281
|
-
], template: "<eo-dialog #listDialog [title]=\"pickerTitle\" [visible]=\"display\" [ngClass]=\"{empty: !(list?.entries?.length)}\"\n [styleClass]=\"'dynlist-dialog'\" (hide)=\"display = false\">\n\n <eo-tree [tree]=\"tree\" *ngIf=\"display && tree\" [isDisplayed]=\"display\" [options]=\"{multiselect: multiselect}\"\n [(ngModel)]=\"selectedNodes\" (keyup.enter)=\"showDialog($event, false)\"\n (ngModelChange)=\"onTreeSelectionChanged($event)\">\n </eo-tree>\n\n <div class=\"empty\" *ngIf=\"!(list?.entries?.length)\">\n <div translate>eo.form.property.dynamic.list.empty</div>\n </div>\n</eo-dialog>\n\n<div class=\"eo-dynamic-list\" [ngClass]=\"{full: selectedNodes && selectedNodes.length === autocompleteValues.length}\">\n\n <yvc-autocomplete [(ngModel)]=\"selectedNodes\" #autocomplete (suggestionSelect)=\"onAutoCompleteSelect($event)\"\n [disabled]=\"readonly\" (suggestionUnselect)=\"onAutoCompleteUnselect($event)\" [forceSelection]=\"true\"\n [autocompleteValues]=\"autocompleteRes\" field=\"{{valueField}}\" (autocompleteFnc)=\"autocompleteFn($event)\"\n [multiple]=\"multiselect\">\n\n <ng-template let-item #chipTemplate>\n <div>\n <div class=\"value\">{{item[valueField]}}</div>\n </div>\n </ng-template>\n\n <ng-template #autocompleteOptionTemplate let-item>\n <div>\n <div class=\"value\">{{item[valueField]}}</div>\n <div class=\"description\" style=\"font-style: italic; color: var(--text-color-caption)\">{{item[descriptionField]}}</div>\n </div>\n </ng-template>\n </yvc-autocomplete>\n\n <button #button class=\"ui-button\" *ngIf=\"!readonly\" [disabled]=\"readonly\" (click)=\"showDialog($event, $event.detail)\"\n (keyup.arrowDown)=\"showDialog($event)\" (keyup.enter)=\"showDialog($event)\" (keyup.space)=\"showDialog($event)\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n</div>", styles: [".rtl .form-element .form-field>div label{text-align:left!important}:host .eo-dynamic-list{display:flex;align-items:center;justify-content:space-between}:host .eo-dynamic-list .description{padding-left:0!important}:host .eo-dynamic-list yvc-autocomplete{flex:1 1 auto;border:0;outline:0}:host .eo-dynamic-list>button{flex:0 0 auto;padding:0}:host .eo-dynamic-list>button eo-icon{width:16px;height:16px;margin:auto}:host .eo-dynamic-list.full ::ng-deep yvc-autocomplete .inputToken{display:none}\n"] }]
|
|
284
|
+
], template: "<eo-dialog #listDialog [title]=\"pickerTitle\" [visible]=\"display\" [ngClass]=\"{empty: !(list?.entries?.length)}\"\n [styleClass]=\"'dynlist-dialog'\" (hide)=\"display = false\">\n\n <eo-tree [tree]=\"tree\" *ngIf=\"display && tree\" [isDisplayed]=\"display\" [options]=\"{multiselect: multiselect}\"\n [(ngModel)]=\"selectedNodes\" (keyup.enter)=\"showDialog($event, false)\"\n (ngModelChange)=\"onTreeSelectionChanged($event)\">\n </eo-tree>\n\n <div class=\"empty\" *ngIf=\"!(list?.entries?.length)\">\n <div translate>eo.form.property.dynamic.list.empty</div>\n </div>\n</eo-dialog>\n\n<div class=\"eo-dynamic-list\" [ngClass]=\"{full: selectedNodes && selectedNodes.length === autocompleteValues.length}\">\n\n <yvc-autocomplete [(ngModel)]=\"selectedNodes\" #autocomplete (suggestionSelect)=\"onAutoCompleteSelect($event)\"\n [disabled]=\"readonly\" (suggestionUnselect)=\"onAutoCompleteUnselect($event)\" [forceSelection]=\"true\"\n [autocompleteValues]=\"autocompleteRes\" (ngModelChange)=\"onTreeSelectionChanged($event)\" field=\"{{valueField}}\" (autocompleteFnc)=\"autocompleteFn($event)\"\n [multiple]=\"multiselect\">\n\n <ng-template let-item #chipTemplate>\n <div>\n <div class=\"value\">{{item[valueField]}}</div>\n </div>\n </ng-template>\n\n <ng-template #autocompleteOptionTemplate let-item>\n <div>\n <div class=\"value\">{{item[valueField]}}</div>\n <div class=\"description\" style=\"font-style: italic; color: var(--text-color-caption)\">{{item[descriptionField]}}</div>\n </div>\n </ng-template>\n </yvc-autocomplete>\n\n <button #button class=\"ui-button\" *ngIf=\"!readonly\" [disabled]=\"readonly\" (click)=\"showDialog($event, $event.detail)\"\n (keyup.arrowDown)=\"showDialog($event)\" (keyup.enter)=\"showDialog($event)\" (keyup.space)=\"showDialog($event)\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n</div>", styles: [".rtl .form-element .form-field>div label{text-align:left!important}:host .eo-dynamic-list{display:flex;align-items:center;justify-content:space-between}:host .eo-dynamic-list .description{padding-left:0!important}:host .eo-dynamic-list yvc-autocomplete{flex:1 1 auto;border:0;outline:0}:host .eo-dynamic-list>button{flex:0 0 auto;padding:0}:host .eo-dynamic-list>button eo-icon{width:16px;height:16px;margin:auto}:host .eo-dynamic-list.full ::ng-deep yvc-autocomplete .inputToken{display:none}\n"] }]
|
|
282
285
|
}], ctorParameters: () => [], propDecorators: { autoCompleteInput: [{
|
|
283
286
|
type: ViewChild,
|
|
284
287
|
args: ['autocomplete']
|
|
@@ -300,4 +303,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
300
303
|
type: Input,
|
|
301
304
|
args: ['listObject']
|
|
302
305
|
}] } });
|
|
303
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvZHluYW1pYy1saXN0L2R5bmFtaWMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2R5bmFtaWMtbGlzdC9keW5hbWljLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQVUsS0FBSyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBSUwsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDZCxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFzQnhCLE1BQU0sT0FBTyxvQkFBb0I7SUFZL0IsSUFDSSxjQUFjLENBQUMsSUFBYztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUlELElBQ0ksVUFBVSxDQUFDLEVBQU87UUFDcEIsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLElBQUksRUFBRSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN0QyxJQUFHLElBQUksQ0FBQyxhQUFhLEVBQUMsQ0FBQztvQkFDckIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7d0JBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFD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QixpQkFBaUI7c0JBQTNDLFNBQVM7dUJBQUMsY0FBYztnQkFDSixrQkFBa0I7c0JBQXRDLFNBQVM7dUJBQUMsUUFBUTtnQkFFVixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtGLGNBQWM7c0JBRGpCLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQVduQixVQUFVO3NCQURiLEtBQUs7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBmb3J3YXJkUmVmLCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgVmFsaWRhdG9yLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgTkdfVkFMSURBVE9SU1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0F1dG9Db21wbGV0ZX0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge1RyZWVOb2RlfSBmcm9tICcuLi8uLi90cmVlL3RyZWUuY29tcG9uZW50LmludGVyZmFjZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tZHluYW1pYy1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IER5bmFtaWNMaXN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRHluYW1pY0xpc3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgT25Jbml0IHtcblxuICBAVmlld0NoaWxkKCdhdXRvY29tcGxldGUnKSBhdXRvQ29tcGxldGVJbnB1dDogQXV0b0NvbXBsZXRlO1xuICBAVmlld0NoaWxkKCdidXR0b24nKSBhdXRvQ29tcGxldGVCdXR0b247XG5cbiAgQElucHV0KCkgc2l0dWF0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG11bHRpc2VsZWN0OiBib29sZWFuO1xuICBASW5wdXQoKSBwaWNrZXJUaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcblxuICBwcml2YXRlIF9maWx0ZXJGdW5jOiBGdW5jdGlvbjtcblxuICBASW5wdXQoJ2ZpbHRlckZ1bmN0aW9uJylcbiAgc2V0IGZpbHRlckZ1bmN0aW9uKGZ1bmM6IEZ1bmN0aW9uKSB7XG4gICAgdGhpcy5fZmlsdGVyRnVuYyA9IGZ1bmM7XG4gICAgaWYgKHRoaXMuX2xpc3QpIHtcbiAgICAgIHRoaXMuYnVpbGRUcmVlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdDogYW55O1xuXG4gIEBJbnB1dCgnbGlzdE9iamVjdCcpXG4gIHNldCBsaXN0T2JqZWN0KGxvOiBhbnkpIHtcbiAgICBpZiAobG8pIHtcbiAgICAgIHRoaXMuX2xpc3QgPSBsbztcbiAgICAgIGlmIChsby5jb25maWcgJiYgbG8uY29uZmlnLnZhbHVlRmllbGQpIHtcbiAgICAgICAgaWYodGhpcy5zZWxlY3RlZE5vZGVzKXtcbiAgICAgICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gIHRoaXMuc2VsZWN0ZWROb2Rlcy5tYXAoc24gPT4ge1xuICAgICAgICAgICAgICBzbltsby5jb25maWcudmFsdWVGaWVsZF0gPSBzblt0aGlzLnZhbHVlRmllbGRdO1xuICAgICAgICAgICAgICByZXR1cm4gc247XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzW2xvLmNvbmZpZy52YWx1ZUZpZWxkXSA9IHRoaXMuc2VsZWN0ZWROb2Rlc1t0aGlzLnZhbHVlRmllbGRdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZhbHVlRmllbGQgPSBsby5jb25maWcudmFsdWVGaWVsZDtcbiAgICAgIH1cbiAgICAgIGlmIChsby5jb25maWcgJiYgbG8uY29uZmlnLmRlc2NyaXB0aW9uRmllbGQpIHtcbiAgICAgICAgdGhpcy5kZXNjcmlwdGlvbkZpZWxkID0gbG8uY29uZmlnLmRlc2NyaXB0aW9uRmllbGQ7XG4gICAgICB9XG4gICAgICBpZiAobG8uY29uZmlnICYmIGxvLmNvbmZpZy5zdWJFbnRyaWVzRmllbGQpIHtcbiAgICAgICAgdGhpcy5zdWJFbnRyaWVzRmllbGQgPSBsby5jb25maWcuc3ViRW50cmllc0ZpZWxkO1xuICAgICAgfVxuICAgICAgdGhpcy5idWlsZFRyZWUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgbGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbGlzdDtcbiAgfVxuXG4gIHZhbHVlRmllbGQgPSAndmFsdWUnO1xuICBzdWJFbnRyaWVzRmllbGQgPSAnZW50cmllcyc7XG4gIGRlc2NyaXB0aW9uRmllbGQgPSAnZGVzY3JpcHRpb24nO1xuICBkaXNwbGF5ID0gZmFsc2U7XG4gIHByaXZhdGUgZGlydHkgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc1ZhbGlkID0gdHJ1ZTtcbiAgdmFsdWU7XG4gIHRyZWU6IFRyZWVOb2RlW107XG4gIHByaXZhdGUgX3NlbGVjdGVkTm9kZXM6IGFueTtcbiAgc2V0IHNlbGVjdGVkTm9kZXMobjogYW55KSB7XG4gICAgdGhpcy5fc2VsZWN0ZWROb2RlcyA9IHN0cnVjdHVyZWRDbG9uZShuKTtcbiAgfVxuICBnZXQgc2VsZWN0ZWROb2RlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWROb2RlcztcbiAgfVxuICBhdXRvY29tcGxldGVSZXM7XG4gIGF1dG9jb21wbGV0ZVZhbHVlczogVHJlZU5vZGVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSB8fCBudWxsO1xuICAgIGNvbnN0IHZhbHVlcyA9ICF0aGlzLnZhbHVlIHx8IEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkgPyB0aGlzLnZhbHVlIHx8IFtdIDogW3RoaXMudmFsdWVdO1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBbXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IG51bGw7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IHZhbHVlcy5tYXAodiA9PiB7XG4gICAgICAgICAgbGV0IG5vZGUgPSB7fTtcbiAgICAgICAgICBub2RlW3RoaXMudmFsdWVGaWVsZF0gPSB2O1xuICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBub2RlID0ge307XG4gICAgICAgIG5vZGVbdGhpcy52YWx1ZUZpZWxkXSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBub2RlO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBub2RlcyA9ICF0aGlzLnNlbGVjdGVkTm9kZXMgfHwgQXJyYXkuaXNBcnJheSh0aGlzLnNlbGVjdGVkTm9kZXMpID8gdGhpcy5zZWxlY3RlZE5vZGVzIHx8IFtdIDogW3RoaXMuc2VsZWN0ZWROb2Rlc107XG5cbiAgICBpZiAodGhpcy5fbGlzdCAmJiAobm9kZXMubGVuZ3RoICE9PSB2YWx1ZXMubGVuZ3RoIHx8IG5vZGVzLnNvbWUoKG4sIGkpID0+IG5bdGhpcy52YWx1ZUZpZWxkXSAhPT0gdmFsdWVzW2ldKSkpIHtcbiAgICAgIHRoaXMuYnVpbGRUcmVlKCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgfVxuXG4gIG9uQXV0b0NvbXBsZXRlU2VsZWN0KG5vZGU/KSB7XG4gICAgY29uc3Qgd2FzSW52YWxpZCA9ICF0aGlzLmlzVmFsaWQ7XG4gICAgdGhpcy5pc1ZhbGlkID0gdHJ1ZTtcbiAgICB0aGlzLnNldEZvcm1Db250cm9sVmFsdWUod2FzSW52YWxpZCk7XG4gIH1cblxuICBvbkF1dG9Db21wbGV0ZVVuc2VsZWN0KG5vZGU/KSB7XG4gICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gdGhpcy5zZWxlY3RlZE5vZGVzLmZpbHRlcigoc05vZGUpID0+IHNOb2RlLnZhbHVlICE9PSBub2RlLnZhbHVlKTtcbiAgICB0aGlzLnNldEZvcm1Db250cm9sVmFsdWUoKTtcbiAgfVxuXG4gIG9uVHJlZVNlbGVjdGlvbkNoYW5nZWQoZXZ0KSB7XG4gICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICB0aGlzLmRpc3BsYXkgPSBmYWxzZTtcbiAgICB9XG4gICAgY29uc3Qgd2FzSW52YWxpZCA9ICF0aGlzLmlzVmFsaWQ7XG4gICAgdGhpcy5pc1ZhbGlkID0gdHJ1ZTtcbiAgICB0aGlzLnNldEZvcm1Db250cm9sVmFsdWUod2FzSW52YWxpZCk7XG4gIH1cblxuICBvbkNsZWFyKCkge1xuICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5zZXRGb3JtQ29udHJvbFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBhbmQgcHJvcGFnYXRlcyB0aGUgZm9ybSBjb250cm9scyB2YWx1ZSBiYXNlZCBvbiB0aGUgY29tcG9uZW50cyBpbm5lciB2YWx1ZXMuIFByb3BhZ2F0ZXMgb25seVxuICAgKiB3aGVuIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZC5cbiAgICogQHBhcmFtIGZvcmNlUHJvcGFnYXRpb24gLSBmb3JjZXMgcHJvcGFnYXRpb24gZXZlbiBpZiB0aGUgdmFsdWUgaGFzbid0IGJlZW4gY2hhbmdlZFxuICAgKi9cbiAgcHJpdmF0ZSBzZXRGb3JtQ29udHJvbFZhbHVlKGZvcmNlUHJvcGFnYXRpb24/OiBib29sZWFuKSB7XG4gICAgbGV0IHY7XG4gICAgbGV0IGNoYW5nZWQ6IGJvb2xlYW47XG4gICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIHYgPSB0aGlzLnNlbGVjdGVkTm9kZXMgPyB0aGlzLnNlbGVjdGVkTm9kZXMubWFwKChub2RlKSA9PiBub2RlW3RoaXMudmFsdWVGaWVsZF0pIDogW107XG4gICAgICBjaGFuZ2VkID0gIXRoaXMudmFsdWUgfHwgISh2Lmxlbmd0aCA9PT0gdGhpcy52YWx1ZS5sZW5ndGggJiYgdi5ldmVyeSgodmFsKSA9PiB0aGlzLnZhbHVlLnNvbWUoKGN1clZhbCkgPT4gY3VyVmFsID09PSB2YWwpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHYgPSB0aGlzLnNlbGVjdGVkTm9kZXMgPyB0aGlzLnNlbGVjdGVkTm9kZXMuZGF0YVt0aGlzLnZhbHVlRmllbGRdIDogbnVsbDtcbiAgICAgIGNoYW5nZWQgPSB2ICE9PSB0aGlzLnZhbHVlO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZCB8fCBmb3JjZVByb3BhZ2F0aW9uKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdjtcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRUcmVlKCkge1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzID0gW107XG4gICAgbGV0IHRyZWU6IFRyZWVOb2RlW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX2xpc3QuZW50cmllcy5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5hZGRUcmVlTm9kZSh0cmVlLCB0aGlzLl9saXN0LmVudHJpZXNbaV0pO1xuICAgIH1cbiAgICB0aGlzLnRyZWUgPSB0cmVlO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUcmVlTm9kZShwYXJlbnROb2RlOiBUcmVlTm9kZVtdLCBsaXN0RW50cnkpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJGdW5jdGlvbiAmJiAhdGhpcy5maWx0ZXJGdW5jdGlvbihsaXN0RW50cnkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBub2RlOiBUcmVlTm9kZSA9IHRoaXMubGlzdEVudHJ5VG9UcmVlTm9kZShsaXN0RW50cnkpO1xuICAgIGlmIChub2RlLnNlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzLnB1c2gobm9kZSk7XG4gICAgfVxuICAgIGlmIChsaXN0RW50cnlbdGhpcy5zdWJFbnRyaWVzRmllbGRdKSB7XG4gICAgICBub2RlLmNoaWxkcmVuID0gW107XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3RFbnRyeVt0aGlzLnN1YkVudHJpZXNGaWVsZF0ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy5hZGRUcmVlTm9kZShub2RlLmNoaWxkcmVuLCBsaXN0RW50cnlbdGhpcy5zdWJFbnRyaWVzRmllbGRdW2ldKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jaGVja1NlbGVjdGVkKG5vZGUpO1xuICAgIHBhcmVudE5vZGUucHVzaChub2RlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tTZWxlY3RlZChub2RlOiBUcmVlTm9kZSkge1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGlzVHJlZU5vZGVWYWx1ZUluVmFsdWUgPSBub2RlLmRhdGFbdGhpcy52YWx1ZUZpZWxkXSA9PT0gdGhpcy52YWx1ZVtpXTtcbiAgICAgICAgaWYgKGlzVHJlZU5vZGVWYWx1ZUluVmFsdWUpIHtcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVUaGF0SGFzVmFsdWUgPSB0aGlzLnNlbGVjdGVkTm9kZXMuZmluZChzTiA9PiBzTlt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLnZhbHVlW2ldKTtcbiAgICAgICAgICBpZighc2VsZWN0ZWROb2RlVGhhdEhhc1ZhbHVlKSB7XG4gICAgICAgICAgICBub2RlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlcy5wdXNoKG5vZGUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZWxlY3RlZE5vZGVUaGF0SGFzVmFsdWUuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobm9kZS5kYXRhW3RoaXMudmFsdWVGaWVsZF0gPT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgbm9kZS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IG5vZGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXV0b2NvbXBsZXRlRm4odGVybTogc3RyaW5nKSB7XG5cbiAgICB0aGlzLmF1dG9jb21wbGV0ZVJlcyA9IHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzLmZpbHRlcigoYWNOb2RlKSA9PiB7XG4gICAgICBpZiAodGhpcy5maWx0ZXJGdW5jdGlvbiAmJiAhdGhpcy5maWx0ZXJGdW5jdGlvbihhY05vZGUuZGF0YSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWROb2Rlcy5maW5kKChub2RlKSA9PiBhY05vZGUuZGF0YVt0aGlzLnZhbHVlRmllbGRdID09PSBub2RlLmRhdGFbdGhpcy52YWx1ZUZpZWxkXSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBhY05vZGUuZGF0YVt0aGlzLnZhbHVlRmllbGRdLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih0ZXJtLnRvTG93ZXJDYXNlKCkpICE9PSAtMSB8fFxuICAgICAgICAoYWNOb2RlLmRhdGFbdGhpcy5kZXNjcmlwdGlvbkZpZWxkXSAmJiBhY05vZGUuZGF0YVt0aGlzLmRlc2NyaXB0aW9uRmllbGRdLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih0ZXJtLnRvTG93ZXJDYXNlKCkpICE9PSAtMSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RFbnRyeVRvVHJlZU5vZGUobGlzdEVudHJ5KTogVHJlZU5vZGUge1xuICAgIGxldCBzZWxlY3RhYmxlID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuX2xpc3QgJiYgdGhpcy5fbGlzdC5jb25maWcgJiYgdGhpcy5fbGlzdC5jb25maWcuYWxsZWxlbWVudHNzZWxlY3RhYmxlKSB7XG4gICAgICBzZWxlY3RhYmxlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2VsZWN0YWJsZSA9ICEobGlzdEVudHJ5W3RoaXMuc3ViRW50cmllc0ZpZWxkXSAmJiBsaXN0RW50cnlbdGhpcy5zdWJFbnRyaWVzRmllbGRdLmxlbmd0aCA+IDApO1xuICAgIH1cblxuICAgIGxldCB0cmVlTm9kZSA9IHtcbiAgICAgIGlkOiBsaXN0RW50cnkuaWQgPyBsaXN0RW50cnkuaWQgOiBsaXN0RW50cnlbdGhpcy52YWx1ZUZpZWxkXSxcbiAgICAgIG5hbWU6IGxpc3RFbnRyeVt0aGlzLmRlc2NyaXB0aW9uRmllbGRdID8gbGlzdEVudHJ5W3RoaXMudmFsdWVGaWVsZF0gKyAnICgnICsgbGlzdEVudHJ5W3RoaXMuZGVzY3JpcHRpb25GaWVsZF0gKyAnKScgOiBsaXN0RW50cnlbdGhpcy52YWx1ZUZpZWxkXSxcbiAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgIGV4cGFuZGVkOiBmYWxzZSxcbiAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgIHNlbGVjdGFibGU6IHNlbGVjdGFibGUsXG4gICAgICBkYXRhOiBsaXN0RW50cnlcbiAgICB9O1xuICAgIHRyZWVOb2RlW3RoaXMudmFsdWVGaWVsZF0gPSBsaXN0RW50cnlbdGhpcy52YWx1ZUZpZWxkXTtcbiAgICB0cmVlTm9kZVt0aGlzLmRlc2NyaXB0aW9uRmllbGRdID0gbGlzdEVudHJ5W3RoaXMuZGVzY3JpcHRpb25GaWVsZF07XG4gICAgdHJlZU5vZGVbdGhpcy5zdWJFbnRyaWVzRmllbGRdID0gbGlzdEVudHJ5W3RoaXMuc3ViRW50cmllc0ZpZWxkXTtcblxuICAgIHJldHVybiB0cmVlTm9kZTtcbiAgfVxuXG4gIHNob3dEaWFsb2coZXZlbnQ/LCBkaXNwbGF5ID0gdHJ1ZSkge1xuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgLy9pZ25vcmUgc3ludGhldGl6ZWQgZXZlbnRzIG9uIGVudGVyXG4gICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2NsaWNrJyAmJiBldmVudC5kZXRhaWwgPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmRpc3BsYXkgPSAhIWRpc3BsYXk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5zaXR1YXRpb24gPT09ICdTRUFSQ0gnKSB7XG4gICAgICB0aGlzLm11bHRpc2VsZWN0ID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoYzogVW50eXBlZEZvcm1Db250cm9sKSB7XG4gICAgcmV0dXJuICh0aGlzLmlzVmFsaWQpID8gbnVsbCA6IHtcbiAgICAgIGR5bmFtaWNsaXN0OiB7XG4gICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIiwiPGVvLWRpYWxvZyAjbGlzdERpYWxvZyBbdGl0bGVdPVwicGlja2VyVGl0bGVcIiBbdmlzaWJsZV09XCJkaXNwbGF5XCIgW25nQ2xhc3NdPVwie2VtcHR5OiAhKGxpc3Q/LmVudHJpZXM/Lmxlbmd0aCl9XCJcbiAgW3N0eWxlQ2xhc3NdPVwiJ2R5bmxpc3QtZGlhbG9nJ1wiIChoaWRlKT1cImRpc3BsYXkgPSBmYWxzZVwiPlxuXG4gIDxlby10cmVlIFt0cmVlXT1cInRyZWVcIiAqbmdJZj1cImRpc3BsYXkgJiYgdHJlZVwiIFtpc0Rpc3BsYXllZF09XCJkaXNwbGF5XCIgW29wdGlvbnNdPVwie211bHRpc2VsZWN0OiBtdWx0aXNlbGVjdH1cIlxuICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWROb2Rlc1wiIChrZXl1cC5lbnRlcik9XCJzaG93RGlhbG9nKCRldmVudCwgZmFsc2UpXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvblRyZWVTZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIj5cbiAgPC9lby10cmVlPlxuXG4gIDxkaXYgY2xhc3M9XCJlbXB0eVwiICpuZ0lmPVwiIShsaXN0Py5lbnRyaWVzPy5sZW5ndGgpXCI+XG4gICAgPGRpdiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5keW5hbWljLmxpc3QuZW1wdHk8L2Rpdj5cbiAgPC9kaXY+XG48L2VvLWRpYWxvZz5cblxuPGRpdiBjbGFzcz1cImVvLWR5bmFtaWMtbGlzdFwiIFtuZ0NsYXNzXT1cIntmdWxsOiBzZWxlY3RlZE5vZGVzICYmIHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSBhdXRvY29tcGxldGVWYWx1ZXMubGVuZ3RofVwiPlxuXG4gIDx5dmMtYXV0b2NvbXBsZXRlIFsobmdNb2RlbCldPVwic2VsZWN0ZWROb2Rlc1wiICNhdXRvY29tcGxldGUgKHN1Z2dlc3Rpb25TZWxlY3QpPVwib25BdXRvQ29tcGxldGVTZWxlY3QoJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCIgKHN1Z2dlc3Rpb25VbnNlbGVjdCk9XCJvbkF1dG9Db21wbGV0ZVVuc2VsZWN0KCRldmVudClcIiBbZm9yY2VTZWxlY3Rpb25dPVwidHJ1ZVwiXG4gICAgW2F1dG9jb21wbGV0ZVZhbHVlc109XCJhdXRvY29tcGxldGVSZXNcIiBmaWVsZD1cInt7dmFsdWVGaWVsZH19XCIgKGF1dG9jb21wbGV0ZUZuYyk9XCJhdXRvY29tcGxldGVGbigkZXZlbnQpXCJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlzZWxlY3RcIj5cblxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSAjY2hpcFRlbXBsYXRlPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+e3tpdGVtW3ZhbHVlRmllbGRdfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI2F1dG9jb21wbGV0ZU9wdGlvblRlbXBsYXRlIGxldC1pdGVtPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+e3tpdGVtW3ZhbHVlRmllbGRdfX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgc3R5bGU9XCJmb250LXN0eWxlOiBpdGFsaWM7IGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWNhcHRpb24pXCI+e3tpdGVtW2Rlc2NyaXB0aW9uRmllbGRdfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwveXZjLWF1dG9jb21wbGV0ZT5cblxuICA8YnV0dG9uICNidXR0b24gY2xhc3M9XCJ1aS1idXR0b25cIiAqbmdJZj1cIiFyZWFkb25seVwiIFtkaXNhYmxlZF09XCJyZWFkb25seVwiIChjbGljayk9XCJzaG93RGlhbG9nKCRldmVudCwgJGV2ZW50LmRldGFpbClcIlxuICAgIChrZXl1cC5hcnJvd0Rvd24pPVwic2hvd0RpYWxvZygkZXZlbnQpXCIgKGtleXVwLmVudGVyKT1cInNob3dEaWFsb2coJGV2ZW50KVwiIChrZXl1cC5zcGFjZSk9XCJzaG93RGlhbG9nKCRldmVudClcIj5cbiAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hcnJvd19kb3duLnN2ZydcIj48L2VvLWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+Il19
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvZHluYW1pYy1saXN0L2R5bmFtaWMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2R5bmFtaWMtbGlzdC9keW5hbWljLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQVUsS0FBSyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBSUwsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDZCxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFzQnhCLE1BQU0sT0FBTyxvQkFBb0I7SUFZL0IsSUFDSSxjQUFjLENBQUMsSUFBYztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUlELElBQ0ksVUFBVSxDQUFDLEVBQU87UUFDcEIsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLElBQUksRUFBRSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7d0JBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFD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LGFBR2hCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDOzRCQUNuRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dEQUkwQixpQkFBaUI7c0JBQTNDLFNBQVM7dUJBQUMsY0FBYztnQkFDSixrQkFBa0I7c0JBQXRDLFNBQVM7dUJBQUMsUUFBUTtnQkFFVixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtGLGNBQWM7c0JBRGpCLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQVduQixVQUFVO3NCQURiLEtBQUs7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBmb3J3YXJkUmVmLCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgVmFsaWRhdG9yLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgTkdfVkFMSURBVE9SU1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0F1dG9Db21wbGV0ZX0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge1RyZWVOb2RlfSBmcm9tICcuLi8uLi90cmVlL3RyZWUuY29tcG9uZW50LmludGVyZmFjZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tZHluYW1pYy1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IER5bmFtaWNMaXN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRHluYW1pY0xpc3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgT25Jbml0IHtcblxuICBAVmlld0NoaWxkKCdhdXRvY29tcGxldGUnKSBhdXRvQ29tcGxldGVJbnB1dDogQXV0b0NvbXBsZXRlO1xuICBAVmlld0NoaWxkKCdidXR0b24nKSBhdXRvQ29tcGxldGVCdXR0b247XG5cbiAgQElucHV0KCkgc2l0dWF0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG11bHRpc2VsZWN0OiBib29sZWFuO1xuICBASW5wdXQoKSBwaWNrZXJUaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcblxuICBwcml2YXRlIF9maWx0ZXJGdW5jOiBGdW5jdGlvbjtcblxuICBASW5wdXQoJ2ZpbHRlckZ1bmN0aW9uJylcbiAgc2V0IGZpbHRlckZ1bmN0aW9uKGZ1bmM6IEZ1bmN0aW9uKSB7XG4gICAgdGhpcy5fZmlsdGVyRnVuYyA9IGZ1bmM7XG4gICAgaWYgKHRoaXMuX2xpc3QpIHtcbiAgICAgIHRoaXMuYnVpbGRUcmVlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdDogYW55O1xuXG4gIEBJbnB1dCgnbGlzdE9iamVjdCcpXG4gIHNldCBsaXN0T2JqZWN0KGxvOiBhbnkpIHtcbiAgICBpZiAobG8pIHtcbiAgICAgIHRoaXMuX2xpc3QgPSBsbztcbiAgICAgIGlmIChsby5jb25maWcgJiYgbG8uY29uZmlnLnZhbHVlRmllbGQpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWROb2Rlcykge1xuICAgICAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSB0aGlzLnNlbGVjdGVkTm9kZXMubWFwKHNuID0+IHtcbiAgICAgICAgICAgICAgc25bbG8uY29uZmlnLnZhbHVlRmllbGRdID0gc25bdGhpcy52YWx1ZUZpZWxkXTtcbiAgICAgICAgICAgICAgcmV0dXJuIHNuO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlc1tsby5jb25maWcudmFsdWVGaWVsZF0gPSB0aGlzLnNlbGVjdGVkTm9kZXNbdGhpcy52YWx1ZUZpZWxkXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52YWx1ZUZpZWxkID0gbG8uY29uZmlnLnZhbHVlRmllbGQ7XG4gICAgICB9XG4gICAgICBpZiAobG8uY29uZmlnICYmIGxvLmNvbmZpZy5kZXNjcmlwdGlvbkZpZWxkKSB7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb25GaWVsZCA9IGxvLmNvbmZpZy5kZXNjcmlwdGlvbkZpZWxkO1xuICAgICAgfVxuICAgICAgaWYgKGxvLmNvbmZpZyAmJiBsby5jb25maWcuc3ViRW50cmllc0ZpZWxkKSB7XG4gICAgICAgIHRoaXMuc3ViRW50cmllc0ZpZWxkID0gbG8uY29uZmlnLnN1YkVudHJpZXNGaWVsZDtcbiAgICAgIH1cbiAgICAgIHRoaXMuYnVpbGRUcmVlKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGxpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xpc3Q7XG4gIH1cblxuICB2YWx1ZUZpZWxkID0gJ3ZhbHVlJztcbiAgc3ViRW50cmllc0ZpZWxkID0gJ2VudHJpZXMnO1xuICBkZXNjcmlwdGlvbkZpZWxkID0gJ2Rlc2NyaXB0aW9uJztcbiAgZGlzcGxheSA9IGZhbHNlO1xuICBwcml2YXRlIGRpcnR5ID0gZmFsc2U7XG4gIHByaXZhdGUgaXNWYWxpZCA9IHRydWU7XG4gIHZhbHVlO1xuICB0cmVlOiBUcmVlTm9kZVtdO1xuICBwcml2YXRlIF9zZWxlY3RlZE5vZGVzOiBhbnk7XG4gIHNldCBzZWxlY3RlZE5vZGVzKG46IGFueSkge1xuICAgIGlmIChuICYmICFBcnJheS5pc0FycmF5KG4pKSB7XG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZUZuKG5bdGhpcy5fbGlzdC5jb25maWcudmFsdWVGaWVsZCB8fCAndmFsdWUnXSB8fCBuLm5hbWUpO1xuICAgIH1cbiAgICB0aGlzLl9zZWxlY3RlZE5vZGVzID0gc3RydWN0dXJlZENsb25lKG4pO1xuICB9XG4gIGdldCBzZWxlY3RlZE5vZGVzKCkge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZE5vZGVzO1xuICB9XG4gIGF1dG9jb21wbGV0ZVJlcztcbiAgYXV0b2NvbXBsZXRlVmFsdWVzOiBUcmVlTm9kZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlIHx8IG51bGw7XG4gICAgY29uc3QgdmFsdWVzID0gIXRoaXMudmFsdWUgfHwgQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSA/IHRoaXMudmFsdWUgfHwgW10gOiBbdGhpcy52YWx1ZV07XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IFtdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gbnVsbDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gdmFsdWVzLm1hcCh2ID0+IHtcbiAgICAgICAgICBsZXQgbm9kZSA9IHt9O1xuICAgICAgICAgIG5vZGVbdGhpcy52YWx1ZUZpZWxkXSA9IHY7XG4gICAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IG5vZGUgPSB7fTtcbiAgICAgICAgbm9kZVt0aGlzLnZhbHVlRmllbGRdID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IG5vZGU7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IG5vZGVzID0gIXRoaXMuc2VsZWN0ZWROb2RlcyB8fCBBcnJheS5pc0FycmF5KHRoaXMuc2VsZWN0ZWROb2RlcykgPyB0aGlzLnNlbGVjdGVkTm9kZXMgfHwgW10gOiBbdGhpcy5zZWxlY3RlZE5vZGVzXTtcblxuICAgIGlmICh0aGlzLl9saXN0ICYmIChub2Rlcy5sZW5ndGggIT09IHZhbHVlcy5sZW5ndGggfHwgbm9kZXMuc29tZSgobiwgaSkgPT4gblt0aGlzLnZhbHVlRmllbGRdICE9PSB2YWx1ZXNbaV0pKSkge1xuICAgICAgdGhpcy5idWlsZFRyZWUoKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICB9XG5cbiAgb25BdXRvQ29tcGxldGVTZWxlY3Qobm9kZT8pIHtcbiAgICBjb25zdCB3YXNJbnZhbGlkID0gIXRoaXMuaXNWYWxpZDtcbiAgICB0aGlzLmlzVmFsaWQgPSB0cnVlO1xuICAgIHRoaXMuc2V0Rm9ybUNvbnRyb2xWYWx1ZSh3YXNJbnZhbGlkKTtcbiAgfVxuXG4gIG9uQXV0b0NvbXBsZXRlVW5zZWxlY3Qobm9kZT8pIHtcbiAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSB0aGlzLnNlbGVjdGVkTm9kZXMuZmlsdGVyKChzTm9kZSkgPT4gc05vZGUudmFsdWUgIT09IG5vZGUudmFsdWUpO1xuICAgIHRoaXMuc2V0Rm9ybUNvbnRyb2xWYWx1ZSgpO1xuICB9XG5cbiAgb25UcmVlU2VsZWN0aW9uQ2hhbmdlZChldnQpIHtcbiAgICBpZiAoIXRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIHRoaXMuZGlzcGxheSA9IGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB3YXNJbnZhbGlkID0gIXRoaXMuaXNWYWxpZDtcbiAgICB0aGlzLmlzVmFsaWQgPSB0cnVlO1xuICAgIHRoaXMuc2V0Rm9ybUNvbnRyb2xWYWx1ZSh3YXNJbnZhbGlkKTtcbiAgfVxuXG4gIG9uQ2xlYXIoKSB7XG4gICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLnNldEZvcm1Db250cm9sVmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGFuZCBwcm9wYWdhdGVzIHRoZSBmb3JtIGNvbnRyb2xzIHZhbHVlIGJhc2VkIG9uIHRoZSBjb21wb25lbnRzIGlubmVyIHZhbHVlcy4gUHJvcGFnYXRlcyBvbmx5XG4gICAqIHdoZW4gdGhlIHZhbHVlIGhhcyBjaGFuZ2VkLlxuICAgKiBAcGFyYW0gZm9yY2VQcm9wYWdhdGlvbiAtIGZvcmNlcyBwcm9wYWdhdGlvbiBldmVuIGlmIHRoZSB2YWx1ZSBoYXNuJ3QgYmVlbiBjaGFuZ2VkXG4gICAqL1xuICBwcml2YXRlIHNldEZvcm1Db250cm9sVmFsdWUoZm9yY2VQcm9wYWdhdGlvbj86IGJvb2xlYW4pIHtcbiAgICBsZXQgdjtcbiAgICBsZXQgY2hhbmdlZDogYm9vbGVhbjtcbiAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdiA9IHRoaXMuc2VsZWN0ZWROb2RlcyA/IHRoaXMuc2VsZWN0ZWROb2Rlcy5tYXAoKG5vZGUpID0+IG5vZGVbdGhpcy52YWx1ZUZpZWxkXSkgOiBbXTtcbiAgICAgIGNoYW5nZWQgPSAhdGhpcy52YWx1ZSB8fCAhKHYubGVuZ3RoID09PSB0aGlzLnZhbHVlLmxlbmd0aCAmJiB2LmV2ZXJ5KCh2YWwpID0+IHRoaXMudmFsdWUuc29tZSgoY3VyVmFsKSA9PiBjdXJWYWwgPT09IHZhbCkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdiA9IHRoaXMuc2VsZWN0ZWROb2RlcyA/IHRoaXMuc2VsZWN0ZWROb2Rlcy5kYXRhW3RoaXMudmFsdWVGaWVsZF0gOiBudWxsO1xuICAgICAgY2hhbmdlZCA9IHYgIT09IHRoaXMudmFsdWU7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkIHx8IGZvcmNlUHJvcGFnYXRpb24pIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2O1xuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFRyZWUoKSB7XG4gICAgdGhpcy5hdXRvY29tcGxldGVWYWx1ZXMgPSBbXTtcbiAgICBsZXQgdHJlZTogVHJlZU5vZGVbXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fbGlzdC5lbnRyaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLmFkZFRyZWVOb2RlKHRyZWUsIHRoaXMuX2xpc3QuZW50cmllc1tpXSk7XG4gICAgfVxuICAgIHRoaXMudHJlZSA9IHRyZWU7XG4gIH1cblxuICBwcml2YXRlIGFkZFRyZWVOb2RlKHBhcmVudE5vZGU6IFRyZWVOb2RlW10sIGxpc3RFbnRyeSkge1xuICAgIGlmICh0aGlzLmZpbHRlckZ1bmN0aW9uICYmICF0aGlzLmZpbHRlckZ1bmN0aW9uKGxpc3RFbnRyeSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IG5vZGU6IFRyZWVOb2RlID0gdGhpcy5saXN0RW50cnlUb1RyZWVOb2RlKGxpc3RFbnRyeSk7XG4gICAgaWYgKG5vZGUuc2VsZWN0YWJsZSkge1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVWYWx1ZXMucHVzaChub2RlKTtcbiAgICB9XG4gICAgaWYgKGxpc3RFbnRyeVt0aGlzLnN1YkVudHJpZXNGaWVsZF0pIHtcbiAgICAgIG5vZGUuY2hpbGRyZW4gPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdEVudHJ5W3RoaXMuc3ViRW50cmllc0ZpZWxkXS5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLmFkZFRyZWVOb2RlKG5vZGUuY2hpbGRyZW4sIGxpc3RFbnRyeVt0aGlzLnN1YkVudHJpZXNGaWVsZF1baV0pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNoZWNrU2VsZWN0ZWQobm9kZSk7XG4gICAgcGFyZW50Tm9kZS5wdXNoKG5vZGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1NlbGVjdGVkKG5vZGU6IFRyZWVOb2RlKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudmFsdWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgaXNUcmVlTm9kZVZhbHVlSW5WYWx1ZSA9IG5vZGUuZGF0YVt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLnZhbHVlW2ldO1xuICAgICAgICBpZiAoaXNUcmVlTm9kZVZhbHVlSW5WYWx1ZSkge1xuICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZVRoYXRIYXNWYWx1ZSA9IHRoaXMuc2VsZWN0ZWROb2Rlcy5maW5kKHNOID0+IHNOW3RoaXMudmFsdWVGaWVsZF0gPT09IHRoaXMudmFsdWVbaV0pO1xuICAgICAgICAgIGlmICghc2VsZWN0ZWROb2RlVGhhdEhhc1ZhbHVlKSB7XG4gICAgICAgICAgICBub2RlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlcy5wdXNoKG5vZGUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZWxlY3RlZE5vZGVUaGF0SGFzVmFsdWUuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobm9kZS5kYXRhW3RoaXMudmFsdWVGaWVsZF0gPT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgbm9kZS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IG5vZGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXV0b2NvbXBsZXRlRm4odGVybTogc3RyaW5nKSB7XG5cbiAgICB0aGlzLmF1dG9jb21wbGV0ZVJlcyA9IHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzLmZpbHRlcigoYWNOb2RlKSA9PiB7XG4gICAgICBpZiAodGhpcy5maWx0ZXJGdW5jdGlvbiAmJiAhdGhpcy5maWx0ZXJGdW5jdGlvbihhY05vZGUuZGF0YSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWROb2Rlcy5maW5kKChub2RlKSA9PiBhY05vZGUuZGF0YVt0aGlzLnZhbHVlRmllbGRdID09PSBub2RlLmRhdGFbdGhpcy52YWx1ZUZpZWxkXSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBhY05vZGUuZGF0YVt0aGlzLnZhbHVlRmllbGRdLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih0ZXJtLnRvTG93ZXJDYXNlKCkpICE9PSAtMSB8fFxuICAgICAgICAoYWNOb2RlLmRhdGFbdGhpcy5kZXNjcmlwdGlvbkZpZWxkXSAmJiBhY05vZGUuZGF0YVt0aGlzLmRlc2NyaXB0aW9uRmllbGRdLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih0ZXJtLnRvTG93ZXJDYXNlKCkpICE9PSAtMSk7XG4gICAgfSkuc2xpY2UoMCwgMTApO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0RW50cnlUb1RyZWVOb2RlKGxpc3RFbnRyeSk6IFRyZWVOb2RlIHtcbiAgICBsZXQgc2VsZWN0YWJsZSA9IGZhbHNlO1xuICAgIGlmICh0aGlzLl9saXN0ICYmIHRoaXMuX2xpc3QuY29uZmlnICYmIHRoaXMuX2xpc3QuY29uZmlnLmFsbGVsZW1lbnRzc2VsZWN0YWJsZSkge1xuICAgICAgc2VsZWN0YWJsZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNlbGVjdGFibGUgPSAhKGxpc3RFbnRyeVt0aGlzLnN1YkVudHJpZXNGaWVsZF0gJiYgbGlzdEVudHJ5W3RoaXMuc3ViRW50cmllc0ZpZWxkXS5sZW5ndGggPiAwKTtcbiAgICB9XG5cbiAgICBsZXQgdHJlZU5vZGUgPSB7XG4gICAgICBpZDogbGlzdEVudHJ5LmlkID8gbGlzdEVudHJ5LmlkIDogbGlzdEVudHJ5W3RoaXMudmFsdWVGaWVsZF0sXG4gICAgICBuYW1lOiBsaXN0RW50cnlbdGhpcy5kZXNjcmlwdGlvbkZpZWxkXSA/IGxpc3RFbnRyeVt0aGlzLnZhbHVlRmllbGRdICsgJyAoJyArIGxpc3RFbnRyeVt0aGlzLmRlc2NyaXB0aW9uRmllbGRdICsgJyknIDogbGlzdEVudHJ5W3RoaXMudmFsdWVGaWVsZF0sXG4gICAgICBjaGlsZHJlbjogW10sXG4gICAgICBleHBhbmRlZDogZmFsc2UsXG4gICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICBzZWxlY3RhYmxlOiBzZWxlY3RhYmxlLFxuICAgICAgZGF0YTogbGlzdEVudHJ5XG4gICAgfTtcbiAgICB0cmVlTm9kZVt0aGlzLnZhbHVlRmllbGRdID0gbGlzdEVudHJ5W3RoaXMudmFsdWVGaWVsZF07XG4gICAgdHJlZU5vZGVbdGhpcy5kZXNjcmlwdGlvbkZpZWxkXSA9IGxpc3RFbnRyeVt0aGlzLmRlc2NyaXB0aW9uRmllbGRdO1xuICAgIHRyZWVOb2RlW3RoaXMuc3ViRW50cmllc0ZpZWxkXSA9IGxpc3RFbnRyeVt0aGlzLnN1YkVudHJpZXNGaWVsZF07XG5cbiAgICByZXR1cm4gdHJlZU5vZGU7XG4gIH1cblxuICBzaG93RGlhbG9nKGV2ZW50PywgZGlzcGxheSA9IHRydWUpIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIC8vaWdub3JlIHN5bnRoZXRpemVkIGV2ZW50cyBvbiBlbnRlclxuICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjbGljaycgJiYgZXZlbnQuZGV0YWlsID09PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5kaXNwbGF5ID0gISFkaXNwbGF5O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2l0dWF0aW9uID09PSAnU0VBUkNIJykge1xuICAgICAgdGhpcy5tdWx0aXNlbGVjdCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGM6IFVudHlwZWRGb3JtQ29udHJvbCkge1xuICAgIHJldHVybiAodGhpcy5pc1ZhbGlkKSA/IG51bGwgOiB7XG4gICAgICBkeW5hbWljbGlzdDoge1xuICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiIsIjxlby1kaWFsb2cgI2xpc3REaWFsb2cgW3RpdGxlXT1cInBpY2tlclRpdGxlXCIgW3Zpc2libGVdPVwiZGlzcGxheVwiIFtuZ0NsYXNzXT1cIntlbXB0eTogIShsaXN0Py5lbnRyaWVzPy5sZW5ndGgpfVwiXG4gIFtzdHlsZUNsYXNzXT1cIidkeW5saXN0LWRpYWxvZydcIiAoaGlkZSk9XCJkaXNwbGF5ID0gZmFsc2VcIj5cblxuICA8ZW8tdHJlZSBbdHJlZV09XCJ0cmVlXCIgKm5nSWY9XCJkaXNwbGF5ICYmIHRyZWVcIiBbaXNEaXNwbGF5ZWRdPVwiZGlzcGxheVwiIFtvcHRpb25zXT1cInttdWx0aXNlbGVjdDogbXVsdGlzZWxlY3R9XCJcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkTm9kZXNcIiAoa2V5dXAuZW50ZXIpPVwic2hvd0RpYWxvZygkZXZlbnQsIGZhbHNlKVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25UcmVlU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCI+XG4gIDwvZW8tdHJlZT5cblxuICA8ZGl2IGNsYXNzPVwiZW1wdHlcIiAqbmdJZj1cIiEobGlzdD8uZW50cmllcz8ubGVuZ3RoKVwiPlxuICAgIDxkaXYgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkuZHluYW1pYy5saXN0LmVtcHR5PC9kaXY+XG4gIDwvZGl2PlxuPC9lby1kaWFsb2c+XG5cbjxkaXYgY2xhc3M9XCJlby1keW5hbWljLWxpc3RcIiBbbmdDbGFzc109XCJ7ZnVsbDogc2VsZWN0ZWROb2RlcyAmJiBzZWxlY3RlZE5vZGVzLmxlbmd0aCA9PT0gYXV0b2NvbXBsZXRlVmFsdWVzLmxlbmd0aH1cIj5cblxuICA8eXZjLWF1dG9jb21wbGV0ZSBbKG5nTW9kZWwpXT1cInNlbGVjdGVkTm9kZXNcIiAjYXV0b2NvbXBsZXRlIChzdWdnZXN0aW9uU2VsZWN0KT1cIm9uQXV0b0NvbXBsZXRlU2VsZWN0KCRldmVudClcIlxuICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVwiIChzdWdnZXN0aW9uVW5zZWxlY3QpPVwib25BdXRvQ29tcGxldGVVbnNlbGVjdCgkZXZlbnQpXCIgW2ZvcmNlU2VsZWN0aW9uXT1cInRydWVcIlxuICAgIFthdXRvY29tcGxldGVWYWx1ZXNdPVwiYXV0b2NvbXBsZXRlUmVzXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25UcmVlU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCIgZmllbGQ9XCJ7e3ZhbHVlRmllbGR9fVwiIChhdXRvY29tcGxldGVGbmMpPVwiYXV0b2NvbXBsZXRlRm4oJGV2ZW50KVwiXG4gICAgW211bHRpcGxlXT1cIm11bHRpc2VsZWN0XCI+XG5cbiAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gI2NoaXBUZW1wbGF0ZT5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPnt7aXRlbVt2YWx1ZUZpZWxkXX19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNhdXRvY29tcGxldGVPcHRpb25UZW1wbGF0ZSBsZXQtaXRlbT5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPnt7aXRlbVt2YWx1ZUZpZWxkXX19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiIHN0eWxlPVwiZm9udC1zdHlsZTogaXRhbGljOyBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1jYXB0aW9uKVwiPnt7aXRlbVtkZXNjcmlwdGlvbkZpZWxkXX19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3l2Yy1hdXRvY29tcGxldGU+XG5cbiAgPGJ1dHRvbiAjYnV0dG9uIGNsYXNzPVwidWktYnV0dG9uXCIgKm5nSWY9XCIhcmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIiAoY2xpY2spPVwic2hvd0RpYWxvZygkZXZlbnQsICRldmVudC5kZXRhaWwpXCJcbiAgICAoa2V5dXAuYXJyb3dEb3duKT1cInNob3dEaWFsb2coJGV2ZW50KVwiIChrZXl1cC5lbnRlcik9XCJzaG93RGlhbG9nKCRldmVudClcIiAoa2V5dXAuc3BhY2UpPVwic2hvd0RpYWxvZygkZXZlbnQpXCI+XG4gICAgPGVvLWljb24gW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYXJyb3dfZG93bi5zdmcnXCI+PC9lby1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PiJdfQ==
|
|
@@ -188,7 +188,7 @@ export class IdReferenceComponent {
|
|
|
188
188
|
this.searchService
|
|
189
189
|
.executeQuery(q)
|
|
190
190
|
.pipe(debounceTime(500), map(item => item ? this.searchService.createResultFromResponse(item) : [])).subscribe((result) => {
|
|
191
|
-
this.autocompleteRes = result.hits;
|
|
191
|
+
this.autocompleteRes = result.hits.slice(0, 10);
|
|
192
192
|
});
|
|
193
193
|
}
|
|
194
194
|
onAutoCompleteBlur() {
|
|
@@ -249,4 +249,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
249
249
|
}], objectTypesFilter: [{
|
|
250
250
|
type: Input
|
|
251
251
|
}] } });
|
|
252
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtcmVmZXJlbmNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvaWQtcmVmZXJlbmNlL2lkLXJlZmVyZW5jZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2lkLXJlZmVyZW5jZS9pZC1yZWZlcmVuY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQXVCLGlCQUFpQixFQUFpQyxhQUFhLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNySCxPQUFPLEVBTVUsS0FBSyxFQUNyQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUMsWUFBWSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQTRCakQsTUFBTSxPQUFPLG9CQUFvQjtJQWtCL0IsSUFBSSxXQUFXLENBQUMsSUFBd0I7UUFDdEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQ0ksWUFBWSxDQUFDLElBQXdCO1FBQ3ZDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUMxQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUks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cUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7NEtBYVEsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNxQixpQkFBaUI7c0JBQTNDLFNBQVM7dUJBQUMsY0FBYztnQkFlckIsWUFBWTtzQkFEZixLQUFLO2dCQVVGLFNBQVM7c0JBRFosS0FBSztnQkFPRyxZQUFZO3NCQUFwQixLQUFLO2dCQUlHLGlCQUFpQjtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVmZXJlbmNlU2VydmljZX0gZnJvbSAnLi8uLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9yZWZlcmVuY2VzL3JlZmVyZW5jZS5zZXJ2aWNlJztcbmltcG9ydCB7Q29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvciwgVW50eXBlZEZvcm1Db250cm9sLCBOR19WQUxJREFUT1JTfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBDbGlwYm9hcmQsXG4gIENsaXBib2FyZFNlcnZpY2UsXG4gIERtc09iamVjdCxcbiAgT2JqZWN0VHlwZSxcbiAgU2VhcmNoUmVzdWx0LCBTZWFyY2hTZXJ2aWNlLFxuICBTeXN0ZW1TZXJ2aWNlLCBVdGlsc1xufSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtBdXRvQ29tcGxldGV9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9hdXRvY29tcGxldGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUb1JlbmRlckl0ZW0ge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgdHlwZU5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHN0YXRlPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1pZC1yZWZlcmVuY2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vaWQtcmVmZXJlbmNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWQtcmVmZXJlbmNlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSWRSZWZlcmVuY2VDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJZFJlZmVyZW5jZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBJZFJlZmVyZW5jZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIFZhbGlkYXRvciB7XG4gIHByaXZhdGUgdmFsdWU7IC8vIG1vZGVsIHZhbHVlXG4gIF9pbm5lclZhbHVlczogRGF0YVRvUmVuZGVySXRlbVtdID0gW107IC8vIGlubmVyIG5nLW1vZGVsIHZhbHVlXG4gIGNsaXBib2FyZDogQ2xpcGJvYXJkO1xuICByZWZlcmVuY2VUeXBlOiBPYmplY3RUeXBlO1xuICBzdWJUeXBlczogT2JqZWN0VHlwZVtdO1xuICB0b29sdGlwVHlwZUhpbnQ6IHN0cmluZztcbiAgdmlzaWJsZURpYWxvZyA9IGZhbHNlO1xuXG4gIGF1dG9jb21wbGV0ZVJlcztcblxuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcbiAgQElucHV0KCkgbXVsdGlzZWxlY3Q6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNpdHVhdGlvbjogc3RyaW5nO1xuICBASW5wdXQoKSBjb250ZXh0SWQ6IHN0cmluZztcbiAgQElucHV0KCkgZXhjZXB0aW9uSURzOiBzdHJpbmdbXTtcbiAgQFZpZXdDaGlsZCgnYXV0b2NvbXBsZXRlJykgYXV0b0NvbXBsZXRlSW5wdXQ6IEF1dG9Db21wbGV0ZTtcblxuICBzZXQgaW5uZXJWYWx1ZXMoZGF0YTogRGF0YVRvUmVuZGVySXRlbVtdKSB7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHRoaXMuX2lubmVyVmFsdWVzID0gZGF0YTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5faW5uZXJWYWx1ZXMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBnZXQgaW5uZXJWYWx1ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lubmVyVmFsdWVzO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRhdGFUb1JlbmRlcihkYXRhOiBEYXRhVG9SZW5kZXJJdGVtW10pIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgdGhpcy5pbm5lclZhbHVlcyA9IGRhdGE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZXMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgcmVmZXJlbmNlKHJlZjogYW55KSB7XG4gICAgdGhpcy5yZWZlcmVuY2VUeXBlID0gcmVmID8gdGhpcy5zeXN0ZW0uZ2V0T2JqZWN0VHlwZShyZWYudHlwZSkgOiBudWxsO1xuICAgIHRoaXMuc3ViVHlwZXMgPSB0aGlzLmdldFN1YlR5cGVzKHRoaXMucmVmZXJlbmNlVHlwZT8ubmFtZSwgdGhpcy5zeXN0ZW0uZ2V0T2JqZWN0VHlwZXMoKSk7XG4gICAgdGhpcy50b29sdGlwVHlwZUhpbnQgPSB0aGlzLmNyZWF0ZVRvb2x0aXBUeXBlSGludCh0aGlzLnJlZmVyZW5jZVR5cGUsIHRoaXMuc3ViVHlwZXMpO1xuICB9XG5cbiAgQElucHV0KCkgcXVlcnlGaWx0ZXJzOiB7XG4gICAgW2ZpZWxkUW5hbWU6IHN0cmluZ106IHtvOiBzdHJpbmcsIHYxOiBhbnksIHYyOiBhbnl9XG4gIH07XG5cbiAgQElucHV0KCkgb2JqZWN0VHlwZXNGaWx0ZXI6IHN0cmluZ1tdO1xuXG4gIHByaXZhdGUgZ2V0U3ViVHlwZXModHlwZU5hbWUsIHR5cGVzKSB7XG4gICAgbGV0IHN1YlR5cGVzID0gW107XG4gICAgdHlwZXMuZm9yRWFjaChvYmplY3RUeXBlID0+IHtcbiAgICAgIGlmICghIW9iamVjdFR5cGUuc3VwZXJ0eXBlcy5maW5kKHNUID0+IHNUID09PSB0eXBlTmFtZSkpIHtcbiAgICAgICAgc3ViVHlwZXMucHVzaChvYmplY3RUeXBlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gc3ViVHlwZXM7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRvb2x0aXBUeXBlSGludChyZWZlcmVuY2VUeXBlLCBzdWJUeXBlcyA9IFtdKSB7XG4gICAgcmV0dXJuIHJlZmVyZW5jZVR5cGUgPyBgKCR7W3JlZmVyZW5jZVR5cGUubGFiZWwsIC4uLnN1YlR5cGVzLm1hcCh0eXBlcyA9PiB0eXBlcy5sYWJlbCldLmpvaW4oJywgJyl9KWAgOiAnJztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2xpcGJvYXJkU2VydmljZTogQ2xpcGJvYXJkU2VydmljZSwgcHJpdmF0ZSBzeXN0ZW06IFN5c3RlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWZlcmVuY2VTZXJ2aWNlOiBSZWZlcmVuY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSkge1xuICAgIHRoaXMuY2xpcGJvYXJkU2VydmljZS5jbGlwYm9hcmQkLnN1YnNjcmliZShjbGlwYm9hcmQgPT4gKHRoaXMuY2xpcGJvYXJkID0gY2xpcGJvYXJkKSk7XG4gICAgdGhpcy5jbGlwYm9hcmQgPSB0aGlzLmNsaXBib2FyZFNlcnZpY2UuZ2V0KCk7XG4gIH1cblxuICBzaG93RGlhbG9nKCkge1xuICAgIHRoaXMudmlzaWJsZURpYWxvZyA9ICF0aGlzLnZpc2libGVEaWFsb2c7XG4gIH1cblxuICBnZXQgc2VsZWN0aW9uRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMubXVsdGlzZWxlY3QgPyBmYWxzZSA6IHRoaXMuaW5uZXJWYWx1ZXMubGVuZ3RoO1xuICB9XG5cbiAgZ2V0IGlzRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICF0aGlzLnJlZmVyZW5jZVR5cGUgfHxcbiAgICAgIHRoaXMucmVhZG9ubHkgfHxcbiAgICAgIHRoaXMuY2xpcGJvYXJkLmFjdGlvbiA9PT0gMSB8fFxuICAgICAgIXRoaXMuY2xpcGJvYXJkLmVsZW1lbnRzLmxlbmd0aCB8fFxuICAgICAgdGhpcy5jb250YWluc0luY29ycmVjdFR5cGVzKFxuICAgICAgICB0aGlzLmNsaXBib2FyZC5lbGVtZW50cyxcbiAgICAgICAgdGhpcy5yZWZlcmVuY2VUeXBlLFxuICAgICAgICB0aGlzLnN1YlR5cGVzXG4gICAgICApIHx8XG4gICAgICB0aGlzLmNvbnRhaW5zSW5jb3JyZWN0Q29udGV4dCh0aGlzLmNsaXBib2FyZC5lbGVtZW50cywgdGhpcy5jb250ZXh0SWQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY29udGFpbnNJbmNvcnJlY3RUeXBlcyhjbGlwYm9hcmRFbGVtZW50cywgcmVmVHlwZSwgc3ViVHlwZXMpIHtcbiAgICByZXR1cm4gISFjbGlwYm9hcmRFbGVtZW50cy5maW5kKGNiRWwgPT4gIShjYkVsLnR5cGVOYW1lID09PSByZWZUeXBlLm5hbWUgfHwgc3ViVHlwZXMuZmluZChzVCA9PiBzVC5uYW1lID09PSBjYkVsLnR5cGVOYW1lKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb250YWluc0luY29ycmVjdENvbnRleHQoY2xpcGJvYXJkRWxlbWVudHMsIGNvbnRleHRJZCkge1xuICAgIHJldHVybiAhIWNsaXBib2FyZEVsZW1lbnRzLmZpbmQoY2JFbCA9PiB7XG4gICAgICBpZiAoIWNvbnRleHRJZCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gIWNiRWwuY29udGV4dEZvbGRlciB8fCBjYkVsLmNvbnRleHRGb2xkZXIuaWQgIT09IGNvbnRleHRJZDtcbiAgICB9KTtcbiAgfVxuXG4gIHBhc3RlKGNvbnRlbnQ/OiBEbXNPYmplY3RbXSkge1xuICAgIHRoaXMubGlua0Rtc09iamVjdChjb250ZW50KTtcbiAgICB0aGlzLnNob3dEaWFsb2coKTtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlua0Rtc09iamVjdChjb250ZW50PzogRG1zT2JqZWN0W10pIHtcbiAgICAoY29udGVudCB8fCB0aGlzLmNsaXBib2FyZC5lbGVtZW50cykuZm9yRWFjaCgoZG1zT2JqZWN0OiBEbXNPYmplY3QpID0+IHtcbiAgICAgIGNvbnN0IHtpZCwgdGl0bGUsIGRlc2NyaXB0aW9uLCB0eXBlTmFtZX0gPSBkbXNPYmplY3Q7XG4gICAgICB0aGlzLmlubmVyVmFsdWVzLnB1c2goe2lkLCB0aXRsZSwgZGVzY3JpcHRpb24sIHR5cGVOYW1lfSk7XG4gICAgfSk7XG4gICAgdGhpcy5pbm5lclZhbHVlcyA9IFV0aWxzLnVuaXFCeSh0aGlzLmlubmVyVmFsdWVzLCAnaWQnKTtcbiAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZXMubWFwKGl2ID0+IGl2LmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZXNbMF0uaWQ7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlSXRlbShpdGVtKSB7XG4gICAgdGhpcy5pbm5lclZhbHVlcyA9IHRoaXMuaW5uZXJWYWx1ZXMuZmlsdGVyKGl2ID0+IGl2LmlkICE9PSBpdGVtLmlkKTtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5tdWx0aXNlbGVjdFxuICAgICAgPyBVdGlscy51bmlxQnkodGhpcy5pbm5lclZhbHVlcywgJ2lkJykubWFwKGl2ID0+IGl2LmlkKVxuICAgICAgOiBudWxsO1xuICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdGhpcy5jbGVhcklubmVySW5wdXQoKTtcbiAgICB9XG4gICAgdGhpcy5hdXRvQ29tcGxldGVJbnB1dC5mb2N1c0lucHV0KCk7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFySW5uZXJJbnB1dCgpIHtcbiAgICB0aGlzLmF1dG9Db21wbGV0ZUlucHV0LmNsZWFySW5wdXQoKTtcblxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnVwZGF0ZUlubmVyVmFsdWVzKHRoaXMudmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZXMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUlubmVyVmFsdWVzKHZhbHVlKSB7XG4gICAgY29uc3QgdmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgdGhpcy5pbm5lclZhbHVlcyA9IHRoaXMuaW5uZXJWYWx1ZXMuZmlsdGVyKGlWID0+IHtcbiAgICAgIC8vIHJlbW92ZSBpbm5lclZhbHVlcywgd2hlcmUgdGhlIGlkIHdhcyByZW1vdmVkIGZyb20gdmFsdWVcbiAgICAgIHJldHVybiB2YWx1ZXMuZmluZCh2ID0+IHYgPT09IGlWLmlkKTtcbiAgICB9KTtcbiAgICBjb25zdCBuZXdWYWx1ZXMgPSB2YWx1ZXMuZmlsdGVyKHYgPT4ge1xuICAgICAgcmV0dXJuICF0aGlzLmlubmVyVmFsdWVzLmZpbmQoaVYgPT4gaVYuaWQgPT09IHYpO1xuICAgIH0pO1xuICAgIGlmIChuZXdWYWx1ZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnJlZmVyZW5jZVNlcnZpY2UuZmV0Y2hJRFJlZmVyZW5jZU1ldGFEYXRhKG5ld1ZhbHVlcykuc3Vic2NyaWJlKG5ld0lubmVyVmFsdWVzID0+IHtcbiAgICAgICAgdGhpcy5pbm5lclZhbHVlcyA9IHRoaXMuaW5uZXJWYWx1ZXMuY29uY2F0KG5ld0lubmVyVmFsdWVzKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7IH07XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHsgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjOiBVbnR5cGVkRm9ybUNvbnRyb2wpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIGhhbmRsZXIgaW52b2tlZCB3aGVuIGFuIGVudHJ5IHdhcyBzZWxlY3RlZCB1c2luZyB0aGUgYXV0b2NvbXBsZXRlIGlucHV0XG4gIG9uQXV0b0NvbXBsZXRlU2VsZWN0KGV2dD8pIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5pbm5lclZhbHVlcykpIHtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZXMgPSBbdGhpcy5pbm5lclZhbHVlc107XG4gICAgfVxuICAgIHRoaXMuaW5uZXJWYWx1ZXMgPSBVdGlscy51bmlxQnkodGhpcy5pbm5lclZhbHVlcywgJ2lkJyk7XG4gICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmlubmVyVmFsdWVzLm1hcChpdiA9PiBpdi5pZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmlubmVyVmFsdWVzWzBdLmlkO1xuICAgIH1cbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGF1dG9jb21wbGV0ZUZuKHRlcm06IHN0cmluZykge1xuICAgIGxldCBxOiBhbnkgPSB7XG4gICAgICBmaWVsZHM6IFsndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAndHlwZSddLFxuICAgICAgdHlwZXM6IFt0aGlzLnJlZmVyZW5jZVR5cGUubmFtZV0sXG4gICAgICB0ZXJtOiB0ZXJtLFxuICAgICAgZmlsdGVyczogdGhpcy5xdWVyeUZpbHRlcnMsXG4gICAgICBvcHRpb25zOiB7d2l0aGNvbnRleHQ6IHRydWUsIGhpZ2hsaWdodGluZzogZmFsc2V9XG4gICAgfTtcblxuICAgIGlmICh0aGlzLm9iamVjdFR5cGVzRmlsdGVyKSB7XG4gICAgICBxLnR5cGVzID0gdGhpcy5vYmplY3RUeXBlc0ZpbHRlcjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb250ZXh0SWQpIHtcbiAgICAgIGlmIChxLmZpbHRlcnMpIHtcbiAgICAgICAgcS5maWx0ZXJzLmNvbnRleHRmb2xkZXJpZCA9IHt2MTogdGhpcy5jb250ZXh0SWQsIG86ICdlcSd9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcS5maWx0ZXJzID0ge2NvbnRleHRmb2xkZXJpZDoge3YxOiB0aGlzLmNvbnRleHRJZCwgbzogJ2VxJ319O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2VhcmNoU2VydmljZVxuICAgICAgLmV4ZWN1dGVRdWVyeShxKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSg1MDApLFxuICAgICAgICBtYXAoaXRlbSA9PiBpdGVtID8gdGhpcy5zZWFyY2hTZXJ2aWNlLmNyZWF0ZVJlc3VsdEZyb21SZXNwb25zZShpdGVtKSA6IFtdKVxuICAgICAgKS5zdWJzY3JpYmUoKHJlc3VsdDogU2VhcmNoUmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gcmVzdWx0LmhpdHM7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uQXV0b0NvbXBsZXRlQmx1cigpIHtcbiAgICB0aGlzLmF1dG9Db21wbGV0ZUlucHV0LmNsZWFySW5wdXQoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnNpdHVhdGlvbiA9PT0gJ1NFQVJDSCcpIHtcbiAgICAgIHRoaXMubXVsdGlzZWxlY3QgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVvLWlkLXJlZmVyZW5jZVwiIFtuZ0NsYXNzXT1cInthY0lucHV0SGlkZGVuOiAhbXVsdGlzZWxlY3QgJiYgX2lubmVyVmFsdWVzLmxlbmd0aH1cIj5cbiAgPHl2Yy1hdXRvY29tcGxldGUgWyhuZ01vZGVsKV09XCJpbm5lclZhbHVlc1wiIFttaW5MZW5ndGhdPVwiMVwiICNhdXRvY29tcGxldGVcbiAgICAoc3VnZ2VzdGlvblNlbGVjdCk9XCJvbkF1dG9Db21wbGV0ZVNlbGVjdCgkZXZlbnQpXCIgKHN1Z2dlc3Rpb25VbnNlbGVjdCk9XCJyZW1vdmVJdGVtKCRldmVudClcIlxuICAgIChibHVyKT1cIm9uQXV0b0NvbXBsZXRlQmx1cigpXCIgW2F1dG9jb21wbGV0ZVZhbHVlc109XCJhdXRvY29tcGxldGVSZXNcIiBmaWVsZD1cInRpdGxlXCIgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICBbZm9yY2VTZWxlY3Rpb25dPVwidHJ1ZVwiIChhdXRvY29tcGxldGVGbmMpPVwiYXV0b2NvbXBsZXRlRm4oJGV2ZW50KVwiIFttdWx0aXBsZV09XCJ0cnVlXCI+XG5cbiAgICA8IS0tIFtzdHlsZUNsYXNzXT1cIiFtdWx0aXNlbGVjdCAmJiBpbm5lclZhbHVlcy5sZW5ndGggPT09IDEgPyAneHh4JyA6ICcnXCI+IC0tPlxuXG4gICAgPG5nLXRlbXBsYXRlICNjaGlwVGVtcGxhdGUgbGV0LWl0ZW0+XG4gICAgICA8YSAqbmdJZj1cIiFpdGVtLnN0YXRlIHx8IGl0ZW0uc3RhdGUgPT09ICdPSydcIiBjbGFzcz1cImxpbmsgcm91dGVyLWxpbmtcIlxuICAgICAgICBbcm91dGVyTGlua109XCJbJy9vYmplY3QnLCBpdGVtLmlkLCB7b3V0bGV0czoge21vZGFsOiBudWxsfX1dXCIgW3F1ZXJ5UGFyYW1zXT1cInt0eXBlOiByZWZlcmVuY2VUeXBlLnFuYW1lfVwiPlxuICAgICAgICA8c3ZnIGZvY3VzYWJsZT1cImZhbHNlXCIgY2xhc3M9XCJyZWYtaWNvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIlxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TThcbiAgICAgICAgMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01elwiPlxuICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2E+XG4gICAgICA8ZW8taWNvbiBbb2JqZWN0VHlwZV09XCJyZWZlcmVuY2VUeXBlXCIgdGl0bGU9XCJ7e3JlZmVyZW5jZVR5cGU/LmxhYmVsfX1cIiBjbGFzcz1cInJlZi10eXBlLWljb25cIiBbbmdDbGFzc109XCJ7J2RlbGV0ZWQtcmVmZXJlbmNlLWxhYmVsJzogaXRlbS5zdGF0ZSAmJiAoaXRlbS5zdGF0ZSA9PT0gJ1JFQ1lDTEVEJyB8fCBpdGVtLnN0YXRlID09PSAnR09ORScpfVwiPjwvZW8taWNvbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIShpdGVtLnN0YXRlICYmIChpdGVtLnN0YXRlID09PSAnUkVDWUNMRUQnIHx8IGl0ZW0uc3RhdGUgPT09ICdHT05FJykpOyBlbHNlIGRlbGV0ZWRcIiBjbGFzcz1cImxhYmVsXCIgZW9SdGxBd2FyZT1cImZ1bGxcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnRpdGxlIHx8IHJlZmVyZW5jZVR5cGU/LmxhYmVsOyBlbHNlIG5vQWNjZXNzXCI+XG4gICAgICAgICAge3tpdGVtLnRpdGxlIHx8IHJlZmVyZW5jZVR5cGU/LmxhYmVsfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgICAgPG5nLXRlbXBsYXRlICNub0FjY2Vzcz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbCBuby1hY2Nlc3MtcmVmZXJlbmNlLWxhYmVsXCI+e3soJ2VvLnJlZmVyZW5jZXMubm9BY2Nlc3MnIHwgdHJhbnNsYXRlKX19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVsZXRlZD5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbCBkZWxldGVkLXJlZmVyZW5jZS1sYWJlbFwiPnt7KCdlby5yZWZlcmVuY2VzLmRlbGV0ZWQnIHwgdHJhbnNsYXRlKX19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3l2Yy1hdXRvY29tcGxldGU+XG5cbiAgPG5nLXRlbXBsYXRlICNub3RGb3VuZD48c3BhbiBjbGFzcz1cImxhYmVsXCI+e3tpbm5lclZhbHVlcyAmJiBpbm5lclZhbHVlcy5sZW5ndGggPyAoJ2VvLnJlZmVyZW5jZXMubm90LmF2YWlsYWJsZScgfFxuICAgICAgdHJhbnNsYXRlKSA6ICcnfX08L3NwYW4+PC9uZy10ZW1wbGF0ZT5cblxuICA8YnV0dG9uICNidXR0b24gY2xhc3M9XCJ1aS1idXR0b25cIiAqbmdJZj1cIiFyZWFkb25seVwiXG4gICAgdGl0bGU9XCJ7eygnZW8ucmVmZXJlbmNlcy5zZWFyY2gnIHwgdHJhbnNsYXRlKSArICcgJyArIHRvb2x0aXBUeXBlSGludH19XCIgW2Rpc2FibGVkXT1cInNlbGVjdGlvbkRpc2FibGVkXCJcbiAgICAoY2xpY2spPVwic2hvd0RpYWxvZygpXCI+XG4gICAgPGVvLWljb24gW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfbm9uZS5zdmcnXCI+PC9lby1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48ZW8tZGlhbG9nIFt0aXRsZV09XCIoJ2VvLnJlZmVyZW5jZXMuYWRkJyB8IHRyYW5zbGF0ZSlcIiBbc3VidGl0bGVdPVwicmVmZXJlbmNlVHlwZT8ubGFiZWxcIiBbKHZpc2libGUpXT1cInZpc2libGVEaWFsb2dcIlxuICBbbWluV2lkdGhdPVwiNTc3XCIgW21pbkhlaWdodF09XCI1OTBcIiBbc3R5bGVDbGFzc109XCIncmVmZXJlbmNlLWZpZWxkLWRpYWxvZydcIiAjZGlhbG9nPlxuXG4gIDxlby1yZWZlcmVuY2UtZmluZGVyICpuZ0lmPVwiZGlhbG9nLnZpc2libGVcIiBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkXCIgW3R5cGVzXT1cInJlZmVyZW5jZVR5cGUucW5hbWVcIlxuICAgIFttdWx0aXNlbGVjdF09XCJtdWx0aXNlbGVjdFwiIFtjdXJyZW50U2VsZWN0aW9uXT1cImlubmVyVmFsdWVzXCIgW2NsaXBib2FyZF09XCJjbGlwYm9hcmRcIiBbY29udGV4dElkXT1cImNvbnRleHRJZFwiXG4gICAgW2V4Y2VwdGlvbklEc109XCJleGNlcHRpb25JRHNcIiBbcXVlcnlGaWx0ZXJzXT1cInF1ZXJ5RmlsdGVyc1wiIChhZGREbXNPYmplY3RzKT1cInBhc3RlKCRldmVudClcIj5cbiAgPC9lby1yZWZlcmVuY2UtZmluZGVyPlxuPC9lby1kaWFsb2c+XG4iXX0=
|
|
252
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtcmVmZXJlbmNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvaWQtcmVmZXJlbmNlL2lkLXJlZmVyZW5jZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2lkLXJlZmVyZW5jZS9pZC1yZWZlcmVuY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQXVCLGlCQUFpQixFQUFpQyxhQUFhLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNySCxPQUFPLEVBTVUsS0FBSyxFQUNyQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUMsWUFBWSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQTRCakQsTUFBTSxPQUFPLG9CQUFvQjtJQWtCL0IsSUFBSSxXQUFXLENBQUMsSUFBd0I7UUFDdEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQ0ksWUFBWSxDQUFDLElBQXdCO1FBQ3ZDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUMxQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUks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LFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDOzRCQUNuRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs0S0FhUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ3FCLGlCQUFpQjtzQkFBM0MsU0FBUzt1QkFBQyxjQUFjO2dCQWVyQixZQUFZO3NCQURmLEtBQUs7Z0JBVUYsU0FBUztzQkFEWixLQUFLO2dCQU9HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBSUcsaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWZlcmVuY2VTZXJ2aWNlfSBmcm9tICcuLy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3JlZmVyZW5jZXMvcmVmZXJlbmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdG9yLCBVbnR5cGVkRm9ybUNvbnRyb2wsIE5HX1ZBTElEQVRPUlN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIENsaXBib2FyZCxcbiAgQ2xpcGJvYXJkU2VydmljZSxcbiAgRG1zT2JqZWN0LFxuICBPYmplY3RUeXBlLFxuICBTZWFyY2hSZXN1bHQsIFNlYXJjaFNlcnZpY2UsXG4gIFN5c3RlbVNlcnZpY2UsIFV0aWxzXG59IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0F1dG9Db21wbGV0ZX0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2F1dG9jb21wbGV0ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRvUmVuZGVySXRlbSB7XG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICB0eXBlTmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgc3RhdGU/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWlkLXJlZmVyZW5jZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pZC1yZWZlcmVuY2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pZC1yZWZlcmVuY2UuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJZFJlZmVyZW5jZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElkUmVmZXJlbmNlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIElkUmVmZXJlbmNlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgVmFsaWRhdG9yIHtcbiAgcHJpdmF0ZSB2YWx1ZTsgLy8gbW9kZWwgdmFsdWVcbiAgX2lubmVyVmFsdWVzOiBEYXRhVG9SZW5kZXJJdGVtW10gPSBbXTsgLy8gaW5uZXIgbmctbW9kZWwgdmFsdWVcbiAgY2xpcGJvYXJkOiBDbGlwYm9hcmQ7XG4gIHJlZmVyZW5jZVR5cGU6IE9iamVjdFR5cGU7XG4gIHN1YlR5cGVzOiBPYmplY3RUeXBlW107XG4gIHRvb2x0aXBUeXBlSGludDogc3RyaW5nO1xuICB2aXNpYmxlRGlhbG9nID0gZmFsc2U7XG5cbiAgYXV0b2NvbXBsZXRlUmVzO1xuXG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuICBASW5wdXQoKSBtdWx0aXNlbGVjdDogYm9vbGVhbjtcbiAgQElucHV0KCkgc2l0dWF0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbnRleHRJZDogc3RyaW5nO1xuICBASW5wdXQoKSBleGNlcHRpb25JRHM6IHN0cmluZ1tdO1xuICBAVmlld0NoaWxkKCdhdXRvY29tcGxldGUnKSBhdXRvQ29tcGxldGVJbnB1dDogQXV0b0NvbXBsZXRlO1xuXG4gIHNldCBpbm5lclZhbHVlcyhkYXRhOiBEYXRhVG9SZW5kZXJJdGVtW10pIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgdGhpcy5faW5uZXJWYWx1ZXMgPSBkYXRhO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9pbm5lclZhbHVlcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIGdldCBpbm5lclZhbHVlcygpIHtcbiAgICByZXR1cm4gdGhpcy5faW5uZXJWYWx1ZXM7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZGF0YVRvUmVuZGVyKGRhdGE6IERhdGFUb1JlbmRlckl0ZW1bXSkge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLmlubmVyVmFsdWVzID0gZGF0YTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbm5lclZhbHVlcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCByZWZlcmVuY2UocmVmOiBhbnkpIHtcbiAgICB0aGlzLnJlZmVyZW5jZVR5cGUgPSByZWYgPyB0aGlzLnN5c3RlbS5nZXRPYmplY3RUeXBlKHJlZi50eXBlKSA6IG51bGw7XG4gICAgdGhpcy5zdWJUeXBlcyA9IHRoaXMuZ2V0U3ViVHlwZXModGhpcy5yZWZlcmVuY2VUeXBlPy5uYW1lLCB0aGlzLnN5c3RlbS5nZXRPYmplY3RUeXBlcygpKTtcbiAgICB0aGlzLnRvb2x0aXBUeXBlSGludCA9IHRoaXMuY3JlYXRlVG9vbHRpcFR5cGVIaW50KHRoaXMucmVmZXJlbmNlVHlwZSwgdGhpcy5zdWJUeXBlcyk7XG4gIH1cblxuICBASW5wdXQoKSBxdWVyeUZpbHRlcnM6IHtcbiAgICBbZmllbGRRbmFtZTogc3RyaW5nXToge286IHN0cmluZywgdjE6IGFueSwgdjI6IGFueX1cbiAgfTtcblxuICBASW5wdXQoKSBvYmplY3RUeXBlc0ZpbHRlcjogc3RyaW5nW107XG5cbiAgcHJpdmF0ZSBnZXRTdWJUeXBlcyh0eXBlTmFtZSwgdHlwZXMpIHtcbiAgICBsZXQgc3ViVHlwZXMgPSBbXTtcbiAgICB0eXBlcy5mb3JFYWNoKG9iamVjdFR5cGUgPT4ge1xuICAgICAgaWYgKCEhb2JqZWN0VHlwZS5zdXBlcnR5cGVzLmZpbmQoc1QgPT4gc1QgPT09IHR5cGVOYW1lKSkge1xuICAgICAgICBzdWJUeXBlcy5wdXNoKG9iamVjdFR5cGUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBzdWJUeXBlcztcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVG9vbHRpcFR5cGVIaW50KHJlZmVyZW5jZVR5cGUsIHN1YlR5cGVzID0gW10pIHtcbiAgICByZXR1cm4gcmVmZXJlbmNlVHlwZSA/IGAoJHtbcmVmZXJlbmNlVHlwZS5sYWJlbCwgLi4uc3ViVHlwZXMubWFwKHR5cGVzID0+IHR5cGVzLmxhYmVsKV0uam9pbignLCAnKX0pYCA6ICcnO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjbGlwYm9hcmRTZXJ2aWNlOiBDbGlwYm9hcmRTZXJ2aWNlLCBwcml2YXRlIHN5c3RlbTogU3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIHJlZmVyZW5jZVNlcnZpY2U6IFJlZmVyZW5jZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlKSB7XG4gICAgdGhpcy5jbGlwYm9hcmRTZXJ2aWNlLmNsaXBib2FyZCQuc3Vic2NyaWJlKGNsaXBib2FyZCA9PiAodGhpcy5jbGlwYm9hcmQgPSBjbGlwYm9hcmQpKTtcbiAgICB0aGlzLmNsaXBib2FyZCA9IHRoaXMuY2xpcGJvYXJkU2VydmljZS5nZXQoKTtcbiAgfVxuXG4gIHNob3dEaWFsb2coKSB7XG4gICAgdGhpcy52aXNpYmxlRGlhbG9nID0gIXRoaXMudmlzaWJsZURpYWxvZztcbiAgfVxuXG4gIGdldCBzZWxlY3Rpb25EaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5tdWx0aXNlbGVjdCA/IGZhbHNlIDogdGhpcy5pbm5lclZhbHVlcy5sZW5ndGg7XG4gIH1cblxuICBnZXQgaXNEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgIXRoaXMucmVmZXJlbmNlVHlwZSB8fFxuICAgICAgdGhpcy5yZWFkb25seSB8fFxuICAgICAgdGhpcy5jbGlwYm9hcmQuYWN0aW9uID09PSAxIHx8XG4gICAgICAhdGhpcy5jbGlwYm9hcmQuZWxlbWVudHMubGVuZ3RoIHx8XG4gICAgICB0aGlzLmNvbnRhaW5zSW5jb3JyZWN0VHlwZXMoXG4gICAgICAgIHRoaXMuY2xpcGJvYXJkLmVsZW1lbnRzLFxuICAgICAgICB0aGlzLnJlZmVyZW5jZVR5cGUsXG4gICAgICAgIHRoaXMuc3ViVHlwZXNcbiAgICAgICkgfHxcbiAgICAgIHRoaXMuY29udGFpbnNJbmNvcnJlY3RDb250ZXh0KHRoaXMuY2xpcGJvYXJkLmVsZW1lbnRzLCB0aGlzLmNvbnRleHRJZClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjb250YWluc0luY29ycmVjdFR5cGVzKGNsaXBib2FyZEVsZW1lbnRzLCByZWZUeXBlLCBzdWJUeXBlcykge1xuICAgIHJldHVybiAhIWNsaXBib2FyZEVsZW1lbnRzLmZpbmQoY2JFbCA9PiAhKGNiRWwudHlwZU5hbWUgPT09IHJlZlR5cGUubmFtZSB8fCBzdWJUeXBlcy5maW5kKHNUID0+IHNULm5hbWUgPT09IGNiRWwudHlwZU5hbWUpKSk7XG4gIH1cblxuICBwcml2YXRlIGNvbnRhaW5zSW5jb3JyZWN0Q29udGV4dChjbGlwYm9hcmRFbGVtZW50cywgY29udGV4dElkKSB7XG4gICAgcmV0dXJuICEhY2xpcGJvYXJkRWxlbWVudHMuZmluZChjYkVsID0+IHtcbiAgICAgIGlmICghY29udGV4dElkKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAhY2JFbC5jb250ZXh0Rm9sZGVyIHx8IGNiRWwuY29udGV4dEZvbGRlci5pZCAhPT0gY29udGV4dElkO1xuICAgIH0pO1xuICB9XG5cbiAgcGFzdGUoY29udGVudD86IERtc09iamVjdFtdKSB7XG4gICAgdGhpcy5saW5rRG1zT2JqZWN0KGNvbnRlbnQpO1xuICAgIHRoaXMuc2hvd0RpYWxvZygpO1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaW5rRG1zT2JqZWN0KGNvbnRlbnQ/OiBEbXNPYmplY3RbXSkge1xuICAgIChjb250ZW50IHx8IHRoaXMuY2xpcGJvYXJkLmVsZW1lbnRzKS5mb3JFYWNoKChkbXNPYmplY3Q6IERtc09iamVjdCkgPT4ge1xuICAgICAgY29uc3Qge2lkLCB0aXRsZSwgZGVzY3JpcHRpb24sIHR5cGVOYW1lfSA9IGRtc09iamVjdDtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZXMucHVzaCh7aWQsIHRpdGxlLCBkZXNjcmlwdGlvbiwgdHlwZU5hbWV9KTtcbiAgICB9KTtcbiAgICB0aGlzLmlubmVyVmFsdWVzID0gVXRpbHMudW5pcUJ5KHRoaXMuaW5uZXJWYWx1ZXMsICdpZCcpO1xuICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5pbm5lclZhbHVlcy5tYXAoaXYgPT4gaXYuaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5pbm5lclZhbHVlc1swXS5pZDtcbiAgICB9XG4gIH1cblxuICByZW1vdmVJdGVtKGl0ZW0pIHtcbiAgICB0aGlzLmlubmVyVmFsdWVzID0gdGhpcy5pbm5lclZhbHVlcy5maWx0ZXIoaXYgPT4gaXYuaWQgIT09IGl0ZW0uaWQpO1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLm11bHRpc2VsZWN0XG4gICAgICA/IFV0aWxzLnVuaXFCeSh0aGlzLmlubmVyVmFsdWVzLCAnaWQnKS5tYXAoaXYgPT4gaXYuaWQpXG4gICAgICA6IG51bGw7XG4gICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICB0aGlzLmNsZWFySW5uZXJJbnB1dCgpO1xuICAgIH1cbiAgICB0aGlzLmF1dG9Db21wbGV0ZUlucHV0LmZvY3VzSW5wdXQoKTtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJJbm5lcklucHV0KCkge1xuICAgIHRoaXMuYXV0b0NvbXBsZXRlSW5wdXQuY2xlYXJJbnB1dCgpO1xuXG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMudXBkYXRlSW5uZXJWYWx1ZXModGhpcy52YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5pbm5lclZhbHVlcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlSW5uZXJWYWx1ZXModmFsdWUpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgICB0aGlzLmlubmVyVmFsdWVzID0gdGhpcy5pbm5lclZhbHVlcy5maWx0ZXIoaVYgPT4ge1xuICAgICAgLy8gcmVtb3ZlIGlubmVyVmFsdWVzLCB3aGVyZSB0aGUgaWQgd2FzIHJlbW92ZWQgZnJvbSB2YWx1ZVxuICAgICAgcmV0dXJuIHZhbHVlcy5maW5kKHYgPT4gdiA9PT0gaVYuaWQpO1xuICAgIH0pO1xuICAgIGNvbnN0IG5ld1ZhbHVlcyA9IHZhbHVlcy5maWx0ZXIodiA9PiB7XG4gICAgICByZXR1cm4gIXRoaXMuaW5uZXJWYWx1ZXMuZmluZChpViA9PiBpVi5pZCA9PT0gdik7XG4gICAgfSk7XG4gICAgaWYgKG5ld1ZhbHVlcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMucmVmZXJlbmNlU2VydmljZS5mZXRjaElEUmVmZXJlbmNlTWV0YURhdGEobmV3VmFsdWVzKS5zdWJzY3JpYmUobmV3SW5uZXJWYWx1ZXMgPT4ge1xuICAgICAgICB0aGlzLmlubmVyVmFsdWVzID0gdGhpcy5pbm5lclZhbHVlcy5jb25jYXQobmV3SW5uZXJWYWx1ZXMpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvcGFnYXRlQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHsgfTtcblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQgeyB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGM6IFVudHlwZWRGb3JtQ29udHJvbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gaGFuZGxlciBpbnZva2VkIHdoZW4gYW4gZW50cnkgd2FzIHNlbGVjdGVkIHVzaW5nIHRoZSBhdXRvY29tcGxldGUgaW5wdXRcbiAgb25BdXRvQ29tcGxldGVTZWxlY3QoZXZ0Pykge1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh0aGlzLmlubmVyVmFsdWVzKSkge1xuICAgICAgdGhpcy5pbm5lclZhbHVlcyA9IFt0aGlzLmlubmVyVmFsdWVzXTtcbiAgICB9XG4gICAgdGhpcy5pbm5lclZhbHVlcyA9IFV0aWxzLnVuaXFCeSh0aGlzLmlubmVyVmFsdWVzLCAnaWQnKTtcbiAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZXMubWFwKGl2ID0+IGl2LmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZXNbMF0uaWQ7XG4gICAgfVxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgYXV0b2NvbXBsZXRlRm4odGVybTogc3RyaW5nKSB7XG4gICAgbGV0IHE6IGFueSA9IHtcbiAgICAgIGZpZWxkczogWyd0aXRsZScsICdkZXNjcmlwdGlvbicsICd0eXBlJ10sXG4gICAgICB0eXBlczogW3RoaXMucmVmZXJlbmNlVHlwZS5uYW1lXSxcbiAgICAgIHRlcm06IHRlcm0sXG4gICAgICBmaWx0ZXJzOiB0aGlzLnF1ZXJ5RmlsdGVycyxcbiAgICAgIG9wdGlvbnM6IHt3aXRoY29udGV4dDogdHJ1ZSwgaGlnaGxpZ2h0aW5nOiBmYWxzZX1cbiAgICB9O1xuXG4gICAgaWYgKHRoaXMub2JqZWN0VHlwZXNGaWx0ZXIpIHtcbiAgICAgIHEudHlwZXMgPSB0aGlzLm9iamVjdFR5cGVzRmlsdGVyO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbnRleHRJZCkge1xuICAgICAgaWYgKHEuZmlsdGVycykge1xuICAgICAgICBxLmZpbHRlcnMuY29udGV4dGZvbGRlcmlkID0ge3YxOiB0aGlzLmNvbnRleHRJZCwgbzogJ2VxJ307XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBxLmZpbHRlcnMgPSB7Y29udGV4dGZvbGRlcmlkOiB7djE6IHRoaXMuY29udGV4dElkLCBvOiAnZXEnfX07XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlXG4gICAgICAuZXhlY3V0ZVF1ZXJ5KHEpXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKDUwMCksXG4gICAgICAgIG1hcChpdGVtID0+IGl0ZW0gPyB0aGlzLnNlYXJjaFNlcnZpY2UuY3JlYXRlUmVzdWx0RnJvbVJlc3BvbnNlKGl0ZW0pIDogW10pXG4gICAgICApLnN1YnNjcmliZSgocmVzdWx0OiBTZWFyY2hSZXN1bHQpID0+IHtcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVSZXMgPSByZXN1bHQuaGl0cy5zbGljZSgwLCAxMCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uQXV0b0NvbXBsZXRlQmx1cigpIHtcbiAgICB0aGlzLmF1dG9Db21wbGV0ZUlucHV0LmNsZWFySW5wdXQoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnNpdHVhdGlvbiA9PT0gJ1NFQVJDSCcpIHtcbiAgICAgIHRoaXMubXVsdGlzZWxlY3QgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVvLWlkLXJlZmVyZW5jZVwiIFtuZ0NsYXNzXT1cInthY0lucHV0SGlkZGVuOiAhbXVsdGlzZWxlY3QgJiYgX2lubmVyVmFsdWVzLmxlbmd0aH1cIj5cbiAgPHl2Yy1hdXRvY29tcGxldGUgWyhuZ01vZGVsKV09XCJpbm5lclZhbHVlc1wiIFttaW5MZW5ndGhdPVwiMVwiICNhdXRvY29tcGxldGVcbiAgICAoc3VnZ2VzdGlvblNlbGVjdCk9XCJvbkF1dG9Db21wbGV0ZVNlbGVjdCgkZXZlbnQpXCIgKHN1Z2dlc3Rpb25VbnNlbGVjdCk9XCJyZW1vdmVJdGVtKCRldmVudClcIlxuICAgIChibHVyKT1cIm9uQXV0b0NvbXBsZXRlQmx1cigpXCIgW2F1dG9jb21wbGV0ZVZhbHVlc109XCJhdXRvY29tcGxldGVSZXNcIiBmaWVsZD1cInRpdGxlXCIgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICBbZm9yY2VTZWxlY3Rpb25dPVwidHJ1ZVwiIChhdXRvY29tcGxldGVGbmMpPVwiYXV0b2NvbXBsZXRlRm4oJGV2ZW50KVwiIFttdWx0aXBsZV09XCJ0cnVlXCI+XG5cbiAgICA8IS0tIFtzdHlsZUNsYXNzXT1cIiFtdWx0aXNlbGVjdCAmJiBpbm5lclZhbHVlcy5sZW5ndGggPT09IDEgPyAneHh4JyA6ICcnXCI+IC0tPlxuXG4gICAgPG5nLXRlbXBsYXRlICNjaGlwVGVtcGxhdGUgbGV0LWl0ZW0+XG4gICAgICA8YSAqbmdJZj1cIiFpdGVtLnN0YXRlIHx8IGl0ZW0uc3RhdGUgPT09ICdPSydcIiBjbGFzcz1cImxpbmsgcm91dGVyLWxpbmtcIlxuICAgICAgICBbcm91dGVyTGlua109XCJbJy9vYmplY3QnLCBpdGVtLmlkLCB7b3V0bGV0czoge21vZGFsOiBudWxsfX1dXCIgW3F1ZXJ5UGFyYW1zXT1cInt0eXBlOiByZWZlcmVuY2VUeXBlLnFuYW1lfVwiPlxuICAgICAgICA8c3ZnIGZvY3VzYWJsZT1cImZhbHNlXCIgY2xhc3M9XCJyZWYtaWNvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIlxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TThcbiAgICAgICAgMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01elwiPlxuICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2E+XG4gICAgICA8ZW8taWNvbiBbb2JqZWN0VHlwZV09XCJyZWZlcmVuY2VUeXBlXCIgdGl0bGU9XCJ7e3JlZmVyZW5jZVR5cGU/LmxhYmVsfX1cIiBjbGFzcz1cInJlZi10eXBlLWljb25cIiBbbmdDbGFzc109XCJ7J2RlbGV0ZWQtcmVmZXJlbmNlLWxhYmVsJzogaXRlbS5zdGF0ZSAmJiAoaXRlbS5zdGF0ZSA9PT0gJ1JFQ1lDTEVEJyB8fCBpdGVtLnN0YXRlID09PSAnR09ORScpfVwiPjwvZW8taWNvbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIShpdGVtLnN0YXRlICYmIChpdGVtLnN0YXRlID09PSAnUkVDWUNMRUQnIHx8IGl0ZW0uc3RhdGUgPT09ICdHT05FJykpOyBlbHNlIGRlbGV0ZWRcIiBjbGFzcz1cImxhYmVsXCIgZW9SdGxBd2FyZT1cImZ1bGxcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnRpdGxlIHx8IHJlZmVyZW5jZVR5cGU/LmxhYmVsOyBlbHNlIG5vQWNjZXNzXCI+XG4gICAgICAgICAge3tpdGVtLnRpdGxlIHx8IHJlZmVyZW5jZVR5cGU/LmxhYmVsfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgICAgPG5nLXRlbXBsYXRlICNub0FjY2Vzcz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbCBuby1hY2Nlc3MtcmVmZXJlbmNlLWxhYmVsXCI+e3soJ2VvLnJlZmVyZW5jZXMubm9BY2Nlc3MnIHwgdHJhbnNsYXRlKX19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVsZXRlZD5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbCBkZWxldGVkLXJlZmVyZW5jZS1sYWJlbFwiPnt7KCdlby5yZWZlcmVuY2VzLmRlbGV0ZWQnIHwgdHJhbnNsYXRlKX19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3l2Yy1hdXRvY29tcGxldGU+XG5cbiAgPG5nLXRlbXBsYXRlICNub3RGb3VuZD48c3BhbiBjbGFzcz1cImxhYmVsXCI+e3tpbm5lclZhbHVlcyAmJiBpbm5lclZhbHVlcy5sZW5ndGggPyAoJ2VvLnJlZmVyZW5jZXMubm90LmF2YWlsYWJsZScgfFxuICAgICAgdHJhbnNsYXRlKSA6ICcnfX08L3NwYW4+PC9uZy10ZW1wbGF0ZT5cblxuICA8YnV0dG9uICNidXR0b24gY2xhc3M9XCJ1aS1idXR0b25cIiAqbmdJZj1cIiFyZWFkb25seVwiXG4gICAgdGl0bGU9XCJ7eygnZW8ucmVmZXJlbmNlcy5zZWFyY2gnIHwgdHJhbnNsYXRlKSArICcgJyArIHRvb2x0aXBUeXBlSGludH19XCIgW2Rpc2FibGVkXT1cInNlbGVjdGlvbkRpc2FibGVkXCJcbiAgICAoY2xpY2spPVwic2hvd0RpYWxvZygpXCI+XG4gICAgPGVvLWljb24gW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfbm9uZS5zdmcnXCI+PC9lby1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48ZW8tZGlhbG9nIFt0aXRsZV09XCIoJ2VvLnJlZmVyZW5jZXMuYWRkJyB8IHRyYW5zbGF0ZSlcIiBbc3VidGl0bGVdPVwicmVmZXJlbmNlVHlwZT8ubGFiZWxcIiBbKHZpc2libGUpXT1cInZpc2libGVEaWFsb2dcIlxuICBbbWluV2lkdGhdPVwiNTc3XCIgW21pbkhlaWdodF09XCI1OTBcIiBbc3R5bGVDbGFzc109XCIncmVmZXJlbmNlLWZpZWxkLWRpYWxvZydcIiAjZGlhbG9nPlxuXG4gIDxlby1yZWZlcmVuY2UtZmluZGVyICpuZ0lmPVwiZGlhbG9nLnZpc2libGVcIiBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkXCIgW3R5cGVzXT1cInJlZmVyZW5jZVR5cGUucW5hbWVcIlxuICAgIFttdWx0aXNlbGVjdF09XCJtdWx0aXNlbGVjdFwiIFtjdXJyZW50U2VsZWN0aW9uXT1cImlubmVyVmFsdWVzXCIgW2NsaXBib2FyZF09XCJjbGlwYm9hcmRcIiBbY29udGV4dElkXT1cImNvbnRleHRJZFwiXG4gICAgW2V4Y2VwdGlvbklEc109XCJleGNlcHRpb25JRHNcIiBbcXVlcnlGaWx0ZXJzXT1cInF1ZXJ5RmlsdGVyc1wiIChhZGREbXNPYmplY3RzKT1cInBhc3RlKCRldmVudClcIj5cbiAgPC9lby1yZWZlcmVuY2UtZmluZGVyPlxuPC9lby1kaWFsb2c+XG4iXX0=
|
|
@@ -103,7 +103,7 @@ export class OrganizationComponent {
|
|
|
103
103
|
.subscribe((res) => {
|
|
104
104
|
// autocomplete values should be unique and not part of the exceptions
|
|
105
105
|
this.autocompleteRes = res.filter(v => (!this.value || this.value.indexOf(v.name) === -1) && this.exceptions.indexOf(v.name) === -1 && (!this.removeCurrentUser || this.currentUserId !== v.id))
|
|
106
|
-
.sort(Utils.sortValues('title'));
|
|
106
|
+
.sort(Utils.sortValues('title')).slice(0, 10);
|
|
107
107
|
}, Utils.throw(null, this.translate.instant('eo.form.property.organization.request.error.title'), this.translate.instant('eo.form.property.organization.request.error.msg')));
|
|
108
108
|
}
|
|
109
109
|
else {
|
|
@@ -213,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
213
213
|
}], filterObject: [{
|
|
214
214
|
type: Input
|
|
215
215
|
}] } });
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pemF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvb3JnYW5pemF0aW9uL29yZ2FuaXphdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL29yZ2FuaXphdGlvbi9vcmdhbml6YXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXVCLGFBQWEsRUFBRSxpQkFBaUIsRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pHLE9BQU8sRUFBK0QsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRWpHLE9BQU8sRUFBQyxRQUFRLElBQUksa0JBQWtCLEVBQUUsRUFBRSxJQUFJLFlBQVksRUFBZSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUEwQnRGLE1BQU0sT0FBTyxxQkFBcUI7SUE2QmhDLElBQWEsaUJBQWlCLENBQUMsQ0FBVTtRQUN2QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdFLENBQUM7SUFDRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQTtJQUNoQyxDQUFDO0lBR0QsSUFBYSxRQUFRLENBQUMsQ0FBVTtRQUM5QixJQUFJLENBQUMsU0FBUyxH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LGlCQUFpQjtzQkFBM0MsU0FBUzt1QkFBQyxjQUFjO2dCQVVNLFNBQVM7c0JBQXZDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUc3QixlQUFlO3NCQURkLE1BQU07Z0JBSVAsaUJBQWlCO3NCQURoQixNQUFNO2dCQVlNLGlCQUFpQjtzQkFBN0IsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ08sUUFBUTtzQkFBcEIsS0FBSztnQkFNTyxRQUFRO3NCQUFwQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdG9yfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0JhY2tlbmRTZXJ2aWNlLCBTeXN0ZW1TZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlLCBVc2VyU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0F1dG9Db21wbGV0ZX0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge2ZvcmtKb2luIGFzIG9ic2VydmFibGVGb3JrSm9pbiwgb2YgYXMgb2JzZXJ2YWJsZU9mLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9yZ2FuaXphdGlvbkZpbHRlciB7XG4gIHR5cGU/OiBzdHJpbmc7ICAgICAgICAvLyBUaGUgdHlwZSBvZiB0aGUgb3JnYW5pemF0aW9uIHVuaXQgKCdVU0VSJyBvciAnR1JPVVAnKSB0byBiZSBkaXNwbGF5ZWRcbiAgZ3JvdXBzPzogc3RyaW5nW107ICAgIC8vIGFuIGFycmF5IG9mIGdyb3VwIG5hbWVzIHRvIGZpbHRlciBhdXRvY29tcGxldGUgcmVzdWx0cyB3aXRoXG4gIHJvbGVzPzogc3RyaW5nW107ICAgICAvLyBhbiBhcnJheSBvZiByb2xlIG5hbWVzIHRvIGZpbHRlciBhdXRvY29tcGxldGUgcmVzdWx0cyB3aXRoXG4gIGFjdGl2ZW9ubHk/OiBib29sZWFuOyAvLyB3aGV0aGVyIG9yIG5vdCB0byBmZXRjaCBvbmx5IGFjdGl2ZSBvcmdhbml6YXRpb24gb2JqZWN0c1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1vcmdhbml6YXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vb3JnYW5pemF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb3JnYW5pemF0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gT3JnYW5pemF0aW9uQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gT3JnYW5pemF0aW9uQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE9yZ2FuaXphdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlckNvbnRlbnRDaGVja2VkLCBWYWxpZGF0b3Ige1xuXG4gIEBWaWV3Q2hpbGQoJ2F1dG9jb21wbGV0ZScpIGF1dG9Db21wbGV0ZUlucHV0OiBBdXRvQ29tcGxldGU7XG5cbiAgaWNvbiA9IHtcbiAgICB1c2VyOiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjIwXCI+PHBhdGggZD1cIk00ODAtNDgwcS02MCAwLTEwMi00MnQtNDItMTAycTAtNjAgNDItMTAydDEwMi00MnE2MCAwIDEwMiA0MnQ0MiAxMDJxMCA2MC00MiAxMDJ0LTEwMiA0MlpNMTkyLTE5MnYtOTZxMC0yMyAxMi41LTQzLjVUMjM5LTM2NnE1NS0zMiAxMTYuNS00OVQ0ODAtNDMycTYzIDAgMTI0LjUgMTdUNzIxLTM2NnEyMiAxMyAzNC41IDM0dDEyLjUgNDR2OTZIMTkyWlwiLz48L3N2Zz4nLFxuICAgIGdyb3VwOiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjIwXCI+PHBhdGggZD1cIk05Ni0xOTJ2LTkycTAtMjYgMTIuNS00Ny41VDE0My0zNjZxNTQtMzIgMTE0LjUtNDlUMzg0LTQzMnE2NiAwIDEyNi41IDE3VDYyNS0zNjZxMjIgMTMgMzQuNSAzNC41VDY3Mi0yODR2OTJIOTZabTY0OCAwdi05MnEwLTQyLTE5LjUtNzhUNjcyLTQyMXEzOSA4IDc1LjUgMjEuNVQ4MTctMzY2cTIyIDEzIDM0LjUgMzQuNVQ4NjQtMjg0djkySDc0NFpNMzg0LTQ4MHEtNjAgMC0xMDItNDJ0LTQyLTEwMnEwLTYwIDQyLTEwMnQxMDItNDJxNjAgMCAxMDIgNDJ0NDIgMTAycTAgNjAtNDIgMTAydC0xMDIgNDJabTMzNi0xNDRxMCA2MC00MiAxMDJ0LTEwMiA0MnEtOCAwLTE1LS41dC0xNS0yLjVxMjUtMjkgMzkuNS02NC41VDYwMC02MjRxMC00MS0xNC41LTc2LjVUNTQ2LTc2NXE4LTIgMTUtMi41dDE1LS41cTYwIDAgMTAyIDQydDQyIDEwMlpcIi8+PC9zdmc+J1xuICB9XG5cbiAgcmVtb3RlVXJsID0gJy9vcmdhbml6YXRpb24vcXVlcnk/cT0nO1xuICBtaW5MZW5ndGggPSAyO1xuICB3aWxkQ2FyZCA9ICcqJztcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yZWFkb25seScpIF9yZWFkb25seTogYm9vbGVhbjtcblxuICBAT3V0cHV0KClcbiAgb25WYWx1ZVJlc29sdmVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvLyBlbWl0dGVkIHdoZW4gdmFsdWUgY2hhbmdlZCBob2xkaW5nIHRoZSByZXNvbHZlZCBkYXRhX21ldGFcbiAgQE91dHB1dCgpXG4gIG9uRGF0YU1ldGFDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGF1dG9jb21wbGV0ZVJlczogYW55W107XG4gIC8vIG1vZGVsIHZhbHVlXG4gIHZhbHVlO1xuICBjdXJyZW50VXNlcklkOiBzdHJpbmc7XG4gIC8vIGlubmVyIG5nLW1vZGVsIHZhbHVlXG4gIGlubmVyVmFsdWU6IGFueVtdID0gW107XG4gIGVycm9yOiBhbnkgPSB7fTtcbiAgZGVsZXRlZEl0ZW1JRDogc3RyaW5nO1xuICBwcml2YXRlIF9yZW1vdmVDdXJyZW50VXNlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZXQgcmVtb3ZlQ3VycmVudFVzZXIoYjogYm9vbGVhbikge1xuICAgIHRoaXMuX3JlbW92ZUN1cnJlbnRVc2VyID0gYjtcbiAgICB0aGlzLmN1cnJlbnRVc2VySWQgPSBiID8gdGhpcy51c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpPy5pZCA6IHVuZGVmaW5lZDtcbiAgfVxuICBnZXQgcmVtb3ZlQ3VycmVudFVzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbW92ZUN1cnJlbnRVc2VyXG4gIH1cbiAgQElucHV0KCkgc2l0dWF0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG11bHRpc2VsZWN0OiBib29sZWFuO1xuICBASW5wdXQoKSBzZXQgcmVhZG9ubHkocjogYm9vbGVhbikge1xuICAgIHRoaXMuX3JlYWRvbmx5ID0gcjtcbiAgfVxuICBnZXQgcmVhZG9ubHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xuICB9XG4gIEBJbnB1dCgpIHNldCBkYXRhTWV0YShkTTogYW55KSB7XG4gICAgaWYgKGRNKSB7XG4gICAgICB0aGlzLmlubmVyVmFsdWUgPSBBcnJheS5pc0FycmF5KGRNKSA/IGRNIDogW2RNXTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgLy8gbGlzdCBvZiB2YWx1ZXMgdGhhdCBzaG91bGQgbm90IGJlIHNlbGVjdGFibGVcbiAgQElucHV0KCkgZXhjZXB0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgQElucHV0KCkgZmlsdGVyT2JqZWN0OiBPcmdhbml6YXRpb25GaWx0ZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHN5c3RlbVNlcnZpY2U6IFN5c3RlbVNlcnZpY2UsXG4gICAgcHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgKSB7IH1cblxuICBwdWJsaWMgdmFsaWRhdGUoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkQXV0b2NvbXBsZXRlVXJpKHF1ZXJ5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIHE6IHF1ZXJ5LFxuICAgICAgYWN0aXZlb25seTogKHRoaXMuc2l0dWF0aW9uICE9PSAnU0VBUkNIJykgPyAndHJ1ZScgOiAnZmFsc2UnLFxuICAgICAgZGV0YWlsczogdHJ1ZVxuICAgIH07XG5cbiAgICBpZiAodGhpcy5maWx0ZXJPYmplY3QpIHtcbiAgICAgIGlmICh0aGlzLmZpbHRlck9iamVjdC50eXBlKSB7XG4gICAgICAgIHBhcmFtc1snc2NvcGUnXSA9IHRoaXMuZmlsdGVyT2JqZWN0LnR5cGU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5maWx0ZXJPYmplY3QuZ3JvdXBzKSB7XG4gICAgICAgIHBhcmFtc1snZ3JvdXBmaWx0ZXInXSA9IHRoaXMuZmlsdGVyT2JqZWN0Lmdyb3VwcztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmZpbHRlck9iamVjdC5yb2xlcykge1xuICAgICAgICBwYXJhbXNbJ3JvbGVmaWx0ZXInXSA9IHRoaXMuZmlsdGVyT2JqZWN0LnJvbGVzO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZmlsdGVyT2JqZWN0Lmhhc093blByb3BlcnR5KCdhY3RpdmVvbmx5JykpIHtcbiAgICAgICAgcGFyYW1zWydhY3RpdmVvbmx5J10gPSB0aGlzLmZpbHRlck9iamVjdC5hY3RpdmVvbmx5ID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFV0aWxzLmJ1aWxkVXJpKCcvb3JnYW5pemF0aW9uL3F1ZXJ5JywgcGFyYW1zKTtcbiAgfVxuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5yZXNvbHZlRm4odmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gIH1cblxuICBwcml2YXRlIHByb3BhZ2F0ZSgpIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLm9uRGF0YU1ldGFDaGFuZ2VkLmVtaXQodGhpcy5pbm5lclZhbHVlKTtcbiAgfVxuXG4gIGF1dG9jb21wbGV0ZUZuKHRlcm06IHN0cmluZykge1xuICAgIGlmICh0ZXJtLmxlbmd0aCA+PSB0aGlzLm1pbkxlbmd0aCB8fCB0ZXJtID09PSB0aGlzLndpbGRDYXJkKSB7XG4gICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCB8fCAoIXRoaXMubXVsdGlzZWxlY3QgJiYgdGhpcy5pbm5lclZhbHVlLmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgICAgdGhpcy5iYWNrZW5kLmdldEpzb24odGhpcy5idWlsZEF1dG9jb21wbGV0ZVVyaSh0ZXJtKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICAgIC8vIGF1dG9jb21wbGV0ZSB2YWx1ZXMgc2hvdWxkIGJlIHVuaXF1ZSBhbmQgbm90IHBhcnQgb2YgdGhlIGV4Y2VwdGlvbnNcbiAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gcmVzLmZpbHRlcih2ID0+ICghdGhpcy52YWx1ZSB8fCB0aGlzLnZhbHVlLmluZGV4T2Yodi5uYW1lKSA9PT0gLTEpICYmIHRoaXMuZXhjZXB0aW9ucy5pbmRleE9mKHYubmFtZSkgPT09IC0xICYmICghdGhpcy5yZW1vdmVDdXJyZW50VXNlciB8fCB0aGlzLmN1cnJlbnRVc2VySWQgIT09IHYuaWQpKVxuICAgICAgICAgICAgICAuc29ydChVdGlscy5zb3J0VmFsdWVzKCd0aXRsZScpKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgICAgVXRpbHMudGhyb3cobnVsbCxcbiAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZm9ybS5wcm9wZXJ0eS5vcmdhbml6YXRpb24ucmVxdWVzdC5lcnJvci50aXRsZScpLFxuICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5mb3JtLnByb3BlcnR5Lm9yZ2FuaXphdGlvbi5yZXF1ZXN0LmVycm9yLm1zZycpXG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gW107XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gW107XG4gICAgfVxuICB9XG5cbiAgcmVzb2x2ZUZuKHZhbHVlOiBhbnkpOiBTdWJzY3JpcHRpb24ge1xuICAgIGxldCBtYXAgPSAodmFsdWUgaW5zdGFuY2VvZiBBcnJheSA/IHZhbHVlIDogW3ZhbHVlXSkubWFwKHYgPT4ge1xuICAgICAgbGV0IG1hdGNoID0gdGhpcy5pbm5lclZhbHVlLmZpbmQoaXYgPT4gaXYubmFtZSA9PT0gdik7XG4gICAgICByZXR1cm4gbWF0Y2ggPyBvYnNlcnZhYmxlT2YobWF0Y2gpIDogdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9yZ2FuaXphdGlvbk9iamVjdCh2KTtcbiAgICB9KTtcbiAgICByZXR1cm4gb2JzZXJ2YWJsZUZvcmtKb2luKG1hcCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgdGhpcy5pbm5lclZhbHVlID0gZGF0YTtcbiAgICAgIHRoaXMub25WYWx1ZVJlc29sdmVkLmVtaXQodGhpcy5pbm5lclZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIGhhbmRsZSBzZWxlY3Rpb24gY2hhbmdlcyB0byB0aGUgbW9kZWxcbiAgb25VbnNlbGVjdCh2YWx1ZSkge1xuICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZS5maWx0ZXIodiA9PiB2Lm5hbWUgIT09IHZhbHVlLm5hbWUpO1xuICAgIGxldCBfdmFsdWUgPSB0aGlzLmlubmVyVmFsdWUubWFwKHYgPT4gdi5uYW1lKTtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5tdWx0aXNlbGVjdCA/IF92YWx1ZSA6IG51bGw7XG4gICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICB0aGlzLmNsZWFySW5uZXJJbnB1dCgpO1xuICAgIH1cbiAgICB0aGlzLmF1dG9Db21wbGV0ZUlucHV0LmZvY3VzSW5wdXQoKTtcbiAgICB0aGlzLnByb3BhZ2F0ZSgpO1xuICB9XG5cbiAgLy8gaGFuZGxlIHNlbGVjdGlvbiBjaGFuZ2VzIHRvIHRoZSBtb2RlbFxuICBvblNlbGVjdCh2YWx1ZSkge1xuICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5pbm5lclZhbHVlLm1hcCh2ID0+IHYubmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGludGVybmFsIGF1dG9jb21wbGV0ZSBjb250cm9sIGlzIGFsd2F5cyBzZXQgdG8gbXVsdGlzZWxlY3RcbiAgICAgIC8vIHNvIHRoZSByZXNvbHZlZCB2YWx1ZSBpcyBhbHdheXMgYW4gYXJyYXlcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmlubmVyVmFsdWVbMF0ubmFtZTtcbiAgICB9XG4gICAgdGhpcy5wcm9wYWdhdGUoKTtcbiAgfVxuXG4gIG9uQXV0b0NvbXBsZXRlQmx1cigpIHtcbiAgICB0aGlzLmNsZWFySW5uZXJJbnB1dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhcklubmVySW5wdXQoKSB7XG4gICAgdGhpcy5hdXRvQ29tcGxldGVJbnB1dC5jbGVhcklucHV0KCk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSB7XG4gICAgaWYgKHRoaXMuc2l0dWF0aW9uID09PSAnU0VBUkNIJykge1xuICAgICAgdGhpcy5tdWx0aXNlbGVjdCA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZW8tb3JnYW5pemF0aW9uXCIgW25nQ2xhc3NdPVwie2FjSW5wdXRIaWRkZW46ICFtdWx0aXNlbGVjdCAmJiBpbm5lclZhbHVlLmxlbmd0aH1cIj5cblxuICA8eXZjLWF1dG9jb21wbGV0ZSBbKG5nTW9kZWwpXT1cImlubmVyVmFsdWVcIiAjYXV0b2NvbXBsZXRlIChzdWdnZXN0aW9uU2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIChzdWdnZXN0aW9uVW5zZWxlY3QpPVwib25VbnNlbGVjdCgkZXZlbnQpXCIgKGJsdXIpPVwib25BdXRvQ29tcGxldGVCbHVyKClcIlxuICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVwiIFthdXRvY29tcGxldGVWYWx1ZXNdPVwiYXV0b2NvbXBsZXRlUmVzXCIgZmllbGQ9XCJpZFwiXG4gICAgW2ZvcmNlU2VsZWN0aW9uXT1cInRydWVcIlxuICAgIChhdXRvY29tcGxldGVGbmMpPVwiYXV0b2NvbXBsZXRlRm4oJGV2ZW50KVwiIFttdWx0aXBsZV09XCJ0cnVlXCI+XG5cbiAgICA8bmctdGVtcGxhdGUgI2F1dG9jb21wbGV0ZU9wdGlvblRlbXBsYXRlIGxldC1pdGVtPlxuICAgICAgPGRpdiBjbGFzcz1cIm9yZy1pdGVtXCI+XG4gICAgICAgIDx5dmMtaWNvbiBbc3ZnXT1cIml0ZW0udHlwZSA9PT0gJ2dyb3VwJyA/ICBpY29uLmdyb3VwIDogaWNvbi51c2VyXCI+PC95dmMtaWNvbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIoaXRlbS5maXJzdG5hbWU/Lmxlbmd0aCAmJiBpdGVtLmxhc3RuYW1lPy5sZW5ndGgpIHx8IGl0ZW0udHlwZSA9PT0gJ2dyb3VwJ1wiPnt7aXRlbS50aXRsZX19XG4gICAgICAgICAgKHt7aXRlbS5uYW1lfX0pPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmICFpdGVtLmxhc3RuYW1lPy5sZW5ndGggJiYgaXRlbS50eXBlICE9PSAnZ3JvdXAnXCI+KHt7aXRlbS5uYW1lfX0pPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmIGl0ZW0ubGFzdG5hbWU/Lmxlbmd0aFwiPnt7aXRlbS5sYXN0bmFtZX19ICh7e2l0ZW0ubmFtZX19KTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmICFpdGVtLmxhc3RuYW1lPy5sZW5ndGhcIj57e2l0ZW0uZmlyc3RuYW1lfX0gKHt7aXRlbS5uYW1lfX0pPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjY2hpcFRlbXBsYXRlIGxldC1pdGVtPlxuICAgICAgPGRpdiBjbGFzcz1cIm9yZy1pdGVtXCI+XG4gICAgICAgIDx5dmMtaWNvbiBbc3ZnXT1cIml0ZW0udHlwZSA9PT0gJ2dyb3VwJyA/ICBpY29uLmdyb3VwIDogaWNvbi51c2VyXCI+PC95dmMtaWNvbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cIihpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmIGl0ZW0ubGFzdG5hbWU/Lmxlbmd0aCAmJiBpdGVtLmFjdGl2ZSkgfHwgaXRlbS50eXBlID09PSAnZ3JvdXAnXCI+e3tpdGVtLnRpdGxlfX1cbiAgICAgICAgICAoe3tpdGVtLm5hbWV9fSk8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiKCFpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmICFpdGVtLmxhc3RuYW1lPy5sZW5ndGggJiYgIWl0ZW0uYWN0aXZlICYmICFpdGVtLnR5cGUpXCJcbiAgICAgICAgICBjbGFzcz1cImRlbGV0ZWQtdXNlci1sYWJlbFwiPnt7J2VvLmZvcm0ucHJvcGVydHkub3JnYW5pemF0aW9uLmVycm9yLnVzZXJub3Rmb3VuZCd8dHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgKm5nSWY9XCIhaXRlbS5maXJzdG5hbWU/Lmxlbmd0aCAmJiAhaXRlbS5sYXN0bmFtZT8ubGVuZ3RoICYmIGl0ZW0uYWN0aXZlICYmIGl0ZW0udHlwZSAhPT0gJ2dyb3VwJ1wiPih7e2l0ZW0ubmFtZX19KTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5maXJzdG5hbWU/Lmxlbmd0aCAmJiBpdGVtLmxhc3RuYW1lPy5sZW5ndGhcIj57e2l0ZW0ubGFzdG5hbWV9fSAoe3tpdGVtLm5hbWV9fSk8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5maXJzdG5hbWU/Lmxlbmd0aCAmJiAhaXRlbS5sYXN0bmFtZT8ubGVuZ3RoXCI+e3tpdGVtLmZpcnN0bmFtZX19ICh7e2l0ZW0ubmFtZX19KTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgXG4gIDwveXZjLWF1dG9jb21wbGV0ZT5cbjwvZGl2PiJdfQ==
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pemF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvb3JnYW5pemF0aW9uL29yZ2FuaXphdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL29yZ2FuaXphdGlvbi9vcmdhbml6YXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXVCLGFBQWEsRUFBRSxpQkFBaUIsRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pHLE9BQU8sRUFBK0QsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRWpHLE9BQU8sRUFBQyxRQUFRLElBQUksa0JBQWtCLEVBQUUsRUFBRSxJQUFJLFlBQVksRUFBZSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUEwQnRGLE1BQU0sT0FBTyxxQkFBcUI7SUE2QmhDLElBQWEsaUJBQWlCLENBQUMsQ0FBVTtRQUN2QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdFLENBQUM7SUFDRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQTtJQUNoQyxDQUFDO0lBR0QsSUFBYSxRQUFRLENBQUMsQ0FBVTtRQUM5QixJQUFJLENBQUMsU0FBUyxH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RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjt3S0FJMEIsaUJBQWlCO3NCQUEzQyxTQUFTO3VCQUFDLGNBQWM7Z0JBVU0sU0FBUztzQkFBdkMsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBRzdCLGVBQWU7c0JBRGQsTUFBTTtnQkFJUCxpQkFBaUI7c0JBRGhCLE1BQU07Z0JBWU0saUJBQWlCO3NCQUE3QixLQUFLO2dCQU9HLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDTyxRQUFRO3NCQUFwQixLQUFLO2dCQU1PLFFBQVE7c0JBQXBCLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0b3J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QmFja2VuZFNlcnZpY2UsIFN5c3RlbVNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2UsIFVzZXJTZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7QXV0b0NvbXBsZXRlfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7Zm9ya0pvaW4gYXMgb2JzZXJ2YWJsZUZvcmtKb2luLCBvZiBhcyBvYnNlcnZhYmxlT2YsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5pemF0aW9uRmlsdGVyIHtcbiAgdHlwZT86IHN0cmluZzsgICAgICAgIC8vIFRoZSB0eXBlIG9mIHRoZSBvcmdhbml6YXRpb24gdW5pdCAoJ1VTRVInIG9yICdHUk9VUCcpIHRvIGJlIGRpc3BsYXllZFxuICBncm91cHM/OiBzdHJpbmdbXTsgICAgLy8gYW4gYXJyYXkgb2YgZ3JvdXAgbmFtZXMgdG8gZmlsdGVyIGF1dG9jb21wbGV0ZSByZXN1bHRzIHdpdGhcbiAgcm9sZXM/OiBzdHJpbmdbXTsgICAgIC8vIGFuIGFycmF5IG9mIHJvbGUgbmFtZXMgdG8gZmlsdGVyIGF1dG9jb21wbGV0ZSByZXN1bHRzIHdpdGhcbiAgYWN0aXZlb25seT86IGJvb2xlYW47IC8vIHdoZXRoZXIgb3Igbm90IHRvIGZldGNoIG9ubHkgYWN0aXZlIG9yZ2FuaXphdGlvbiBvYmplY3RzXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLW9yZ2FuaXphdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9vcmdhbml6YXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vcmdhbml6YXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBPcmdhbml6YXRpb25Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBPcmdhbml6YXRpb25Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgT3JnYW5pemF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyQ29udGVudENoZWNrZWQsIFZhbGlkYXRvciB7XG5cbiAgQFZpZXdDaGlsZCgnYXV0b2NvbXBsZXRlJykgYXV0b0NvbXBsZXRlSW5wdXQ6IEF1dG9Db21wbGV0ZTtcblxuICBpY29uID0ge1xuICAgIHVzZXI6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjBcIj48cGF0aCBkPVwiTTQ4MC00ODBxLTYwIDAtMTAyLTQydC00Mi0xMDJxMC02MCA0Mi0xMDJ0MTAyLTQycTYwIDAgMTAyIDQydDQyIDEwMnEwIDYwLTQyIDEwMnQtMTAyIDQyWk0xOTItMTkydi05NnEwLTIzIDEyLjUtNDMuNVQyMzktMzY2cTU1LTMyIDExNi41LTQ5VDQ4MC00MzJxNjMgMCAxMjQuNSAxN1Q3MjEtMzY2cTIyIDEzIDM0LjUgMzR0MTIuNSA0NHY5NkgxOTJaXCIvPjwvc3ZnPicsXG4gICAgZ3JvdXA6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjBcIj48cGF0aCBkPVwiTTk2LTE5MnYtOTJxMC0yNiAxMi41LTQ3LjVUMTQzLTM2NnE1NC0zMiAxMTQuNS00OVQzODQtNDMycTY2IDAgMTI2LjUgMTdUNjI1LTM2NnEyMiAxMyAzNC41IDM0LjVUNjcyLTI4NHY5Mkg5NlptNjQ4IDB2LTkycTAtNDItMTkuNS03OFQ2NzItNDIxcTM5IDggNzUuNSAyMS41VDgxNy0zNjZxMjIgMTMgMzQuNSAzNC41VDg2NC0yODR2OTJINzQ0Wk0zODQtNDgwcS02MCAwLTEwMi00MnQtNDItMTAycTAtNjAgNDItMTAydDEwMi00MnE2MCAwIDEwMiA0MnQ0MiAxMDJxMCA2MC00MiAxMDJ0LTEwMiA0MlptMzM2LTE0NHEwIDYwLTQyIDEwMnQtMTAyIDQycS04IDAtMTUtLjV0LTE1LTIuNXEyNS0yOSAzOS41LTY0LjVUNjAwLTYyNHEwLTQxLTE0LjUtNzYuNVQ1NDYtNzY1cTgtMiAxNS0yLjV0MTUtLjVxNjAgMCAxMDIgNDJ0NDIgMTAyWlwiLz48L3N2Zz4nXG4gIH1cblxuICByZW1vdGVVcmwgPSAnL29yZ2FuaXphdGlvbi9xdWVyeT9xPSc7XG4gIG1pbkxlbmd0aCA9IDI7XG4gIHdpbGRDYXJkID0gJyonO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlYWRvbmx5JykgX3JlYWRvbmx5OiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKVxuICBvblZhbHVlUmVzb2x2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8vIGVtaXR0ZWQgd2hlbiB2YWx1ZSBjaGFuZ2VkIGhvbGRpbmcgdGhlIHJlc29sdmVkIGRhdGFfbWV0YVxuICBAT3V0cHV0KClcbiAgb25EYXRhTWV0YUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgYXV0b2NvbXBsZXRlUmVzOiBhbnlbXTtcbiAgLy8gbW9kZWwgdmFsdWVcbiAgdmFsdWU7XG4gIGN1cnJlbnRVc2VySWQ6IHN0cmluZztcbiAgLy8gaW5uZXIgbmctbW9kZWwgdmFsdWVcbiAgaW5uZXJWYWx1ZTogYW55W10gPSBbXTtcbiAgZXJyb3I6IGFueSA9IHt9O1xuICBkZWxldGVkSXRlbUlEOiBzdHJpbmc7XG4gIHByaXZhdGUgX3JlbW92ZUN1cnJlbnRVc2VyOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNldCByZW1vdmVDdXJyZW50VXNlcihiOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVtb3ZlQ3VycmVudFVzZXIgPSBiO1xuICAgIHRoaXMuY3VycmVudFVzZXJJZCA9IGIgPyB0aGlzLnVzZXJTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCk/LmlkIDogdW5kZWZpbmVkO1xuICB9XG4gIGdldCByZW1vdmVDdXJyZW50VXNlcigpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVtb3ZlQ3VycmVudFVzZXJcbiAgfVxuICBASW5wdXQoKSBzaXR1YXRpb246IHN0cmluZztcbiAgQElucHV0KCkgbXVsdGlzZWxlY3Q6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNldCByZWFkb25seShyOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVhZG9ubHkgPSByO1xuICB9XG4gIGdldCByZWFkb25seSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZG9ubHk7XG4gIH1cbiAgQElucHV0KCkgc2V0IGRhdGFNZXRhKGRNOiBhbnkpIHtcbiAgICBpZiAoZE0pIHtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IEFycmF5LmlzQXJyYXkoZE0pID8gZE0gOiBbZE1dO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICAvLyBsaXN0IG9mIHZhbHVlcyB0aGF0IHNob3VsZCBub3QgYmUgc2VsZWN0YWJsZVxuICBASW5wdXQoKSBleGNlcHRpb25zOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBmaWx0ZXJPYmplY3Q6IE9yZ2FuaXphdGlvbkZpbHRlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtU2VydmljZTogU3lzdGVtU2VydmljZSxcbiAgICBwdWJsaWMgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICApIHsgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZSgpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRBdXRvY29tcGxldGVVcmkocXVlcnk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgcTogcXVlcnksXG4gICAgICBhY3RpdmVvbmx5OiAodGhpcy5zaXR1YXRpb24gIT09ICdTRUFSQ0gnKSA/ICd0cnVlJyA6ICdmYWxzZScsXG4gICAgICBkZXRhaWxzOiB0cnVlXG4gICAgfTtcblxuICAgIGlmICh0aGlzLmZpbHRlck9iamVjdCkge1xuICAgICAgaWYgKHRoaXMuZmlsdGVyT2JqZWN0LnR5cGUpIHtcbiAgICAgICAgcGFyYW1zWydzY29wZSddID0gdGhpcy5maWx0ZXJPYmplY3QudHlwZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmZpbHRlck9iamVjdC5ncm91cHMpIHtcbiAgICAgICAgcGFyYW1zWydncm91cGZpbHRlciddID0gdGhpcy5maWx0ZXJPYmplY3QuZ3JvdXBzO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZmlsdGVyT2JqZWN0LnJvbGVzKSB7XG4gICAgICAgIHBhcmFtc1sncm9sZWZpbHRlciddID0gdGhpcy5maWx0ZXJPYmplY3Qucm9sZXM7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5maWx0ZXJPYmplY3QuaGFzT3duUHJvcGVydHkoJ2FjdGl2ZW9ubHknKSkge1xuICAgICAgICBwYXJhbXNbJ2FjdGl2ZW9ubHknXSA9IHRoaXMuZmlsdGVyT2JqZWN0LmFjdGl2ZW9ubHkgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gVXRpbHMuYnVpbGRVcmkoJy9vcmdhbml6YXRpb24vcXVlcnknLCBwYXJhbXMpO1xuICB9XG5cbiAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnJlc29sdmVGbih2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5pbm5lclZhbHVlID0gW107XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgfVxuXG4gIHByaXZhdGUgcHJvcGFnYXRlKCkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMub25EYXRhTWV0YUNoYW5nZWQuZW1pdCh0aGlzLmlubmVyVmFsdWUpO1xuICB9XG5cbiAgYXV0b2NvbXBsZXRlRm4odGVybTogc3RyaW5nKSB7XG4gICAgaWYgKHRlcm0ubGVuZ3RoID49IHRoaXMubWluTGVuZ3RoIHx8IHRlcm0gPT09IHRoaXMud2lsZENhcmQpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0IHx8ICghdGhpcy5tdWx0aXNlbGVjdCAmJiB0aGlzLmlubmVyVmFsdWUubGVuZ3RoID09PSAwKSkge1xuICAgICAgICB0aGlzLmJhY2tlbmQuZ2V0SnNvbih0aGlzLmJ1aWxkQXV0b2NvbXBsZXRlVXJpKHRlcm0pKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICAgICAgLy8gYXV0b2NvbXBsZXRlIHZhbHVlcyBzaG91bGQgYmUgdW5pcXVlIGFuZCBub3QgcGFydCBvZiB0aGUgZXhjZXB0aW9uc1xuICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGVSZXMgPSByZXMuZmlsdGVyKHYgPT4gKCF0aGlzLnZhbHVlIHx8IHRoaXMudmFsdWUuaW5kZXhPZih2Lm5hbWUpID09PSAtMSkgJiYgdGhpcy5leGNlcHRpb25zLmluZGV4T2Yodi5uYW1lKSA9PT0gLTEgJiYgKCF0aGlzLnJlbW92ZUN1cnJlbnRVc2VyIHx8IHRoaXMuY3VycmVudFVzZXJJZCAhPT0gdi5pZCkpXG4gICAgICAgICAgICAgIC5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ3RpdGxlJykpLnNsaWNlKDAsIDEwKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgICAgVXRpbHMudGhyb3cobnVsbCxcbiAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZm9ybS5wcm9wZXJ0eS5vcmdhbml6YXRpb24ucmVxdWVzdC5lcnJvci50aXRsZScpLFxuICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5mb3JtLnByb3BlcnR5Lm9yZ2FuaXphdGlvbi5yZXF1ZXN0LmVycm9yLm1zZycpXG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gW107XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gW107XG4gICAgfVxuICB9XG5cbiAgcmVzb2x2ZUZuKHZhbHVlOiBhbnkpOiBTdWJzY3JpcHRpb24ge1xuICAgIGxldCBtYXAgPSAodmFsdWUgaW5zdGFuY2VvZiBBcnJheSA/IHZhbHVlIDogW3ZhbHVlXSkubWFwKHYgPT4ge1xuICAgICAgbGV0IG1hdGNoID0gdGhpcy5pbm5lclZhbHVlLmZpbmQoaXYgPT4gaXYubmFtZSA9PT0gdik7XG4gICAgICByZXR1cm4gbWF0Y2ggPyBvYnNlcnZhYmxlT2YobWF0Y2gpIDogdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9yZ2FuaXphdGlvbk9iamVjdCh2KTtcbiAgICB9KTtcbiAgICByZXR1cm4gb2JzZXJ2YWJsZUZvcmtKb2luKG1hcCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgdGhpcy5pbm5lclZhbHVlID0gZGF0YTtcbiAgICAgIHRoaXMub25WYWx1ZVJlc29sdmVkLmVtaXQodGhpcy5pbm5lclZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIGhhbmRsZSBzZWxlY3Rpb24gY2hhbmdlcyB0byB0aGUgbW9kZWxcbiAgb25VbnNlbGVjdCh2YWx1ZSkge1xuICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZS5maWx0ZXIodiA9PiB2Lm5hbWUgIT09IHZhbHVlLm5hbWUpO1xuICAgIGxldCBfdmFsdWUgPSB0aGlzLmlubmVyVmFsdWUubWFwKHYgPT4gdi5uYW1lKTtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5tdWx0aXNlbGVjdCA/IF92YWx1ZSA6IG51bGw7XG4gICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICB0aGlzLmNsZWFySW5uZXJJbnB1dCgpO1xuICAgIH1cbiAgICB0aGlzLmF1dG9Db21wbGV0ZUlucHV0LmZvY3VzSW5wdXQoKTtcbiAgICB0aGlzLnByb3BhZ2F0ZSgpO1xuICB9XG5cbiAgLy8gaGFuZGxlIHNlbGVjdGlvbiBjaGFuZ2VzIHRvIHRoZSBtb2RlbFxuICBvblNlbGVjdCh2YWx1ZSkge1xuICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5pbm5lclZhbHVlLm1hcCh2ID0+IHYubmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGludGVybmFsIGF1dG9jb21wbGV0ZSBjb250cm9sIGlzIGFsd2F5cyBzZXQgdG8gbXVsdGlzZWxlY3RcbiAgICAgIC8vIHNvIHRoZSByZXNvbHZlZCB2YWx1ZSBpcyBhbHdheXMgYW4gYXJyYXlcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmlubmVyVmFsdWVbMF0ubmFtZTtcbiAgICB9XG4gICAgdGhpcy5wcm9wYWdhdGUoKTtcbiAgfVxuXG4gIG9uQXV0b0NvbXBsZXRlQmx1cigpIHtcbiAgICB0aGlzLmNsZWFySW5uZXJJbnB1dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhcklubmVySW5wdXQoKSB7XG4gICAgdGhpcy5hdXRvQ29tcGxldGVJbnB1dC5jbGVhcklucHV0KCk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSB7XG4gICAgaWYgKHRoaXMuc2l0dWF0aW9uID09PSAnU0VBUkNIJykge1xuICAgICAgdGhpcy5tdWx0aXNlbGVjdCA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZW8tb3JnYW5pemF0aW9uXCIgW25nQ2xhc3NdPVwie2FjSW5wdXRIaWRkZW46ICFtdWx0aXNlbGVjdCAmJiBpbm5lclZhbHVlLmxlbmd0aH1cIj5cblxuICA8eXZjLWF1dG9jb21wbGV0ZSBbKG5nTW9kZWwpXT1cImlubmVyVmFsdWVcIiAjYXV0b2NvbXBsZXRlIChzdWdnZXN0aW9uU2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIChzdWdnZXN0aW9uVW5zZWxlY3QpPVwib25VbnNlbGVjdCgkZXZlbnQpXCIgKGJsdXIpPVwib25BdXRvQ29tcGxldGVCbHVyKClcIlxuICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVwiIFthdXRvY29tcGxldGVWYWx1ZXNdPVwiYXV0b2NvbXBsZXRlUmVzXCIgZmllbGQ9XCJpZFwiXG4gICAgW2ZvcmNlU2VsZWN0aW9uXT1cInRydWVcIlxuICAgIChhdXRvY29tcGxldGVGbmMpPVwiYXV0b2NvbXBsZXRlRm4oJGV2ZW50KVwiIFttdWx0aXBsZV09XCJ0cnVlXCI+XG5cbiAgICA8bmctdGVtcGxhdGUgI2F1dG9jb21wbGV0ZU9wdGlvblRlbXBsYXRlIGxldC1pdGVtPlxuICAgICAgPGRpdiBjbGFzcz1cIm9yZy1pdGVtXCI+XG4gICAgICAgIDx5dmMtaWNvbiBbc3ZnXT1cIml0ZW0udHlwZSA9PT0gJ2dyb3VwJyA/ICBpY29uLmdyb3VwIDogaWNvbi51c2VyXCI+PC95dmMtaWNvbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIoaXRlbS5maXJzdG5hbWU/Lmxlbmd0aCAmJiBpdGVtLmxhc3RuYW1lPy5sZW5ndGgpIHx8IGl0ZW0udHlwZSA9PT0gJ2dyb3VwJ1wiPnt7aXRlbS50aXRsZX19XG4gICAgICAgICAgKHt7aXRlbS5uYW1lfX0pPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmICFpdGVtLmxhc3RuYW1lPy5sZW5ndGggJiYgaXRlbS50eXBlICE9PSAnZ3JvdXAnXCI+KHt7aXRlbS5uYW1lfX0pPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmIGl0ZW0ubGFzdG5hbWU/Lmxlbmd0aFwiPnt7aXRlbS5sYXN0bmFtZX19ICh7e2l0ZW0ubmFtZX19KTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmICFpdGVtLmxhc3RuYW1lPy5sZW5ndGhcIj57e2l0ZW0uZmlyc3RuYW1lfX0gKHt7aXRlbS5uYW1lfX0pPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjY2hpcFRlbXBsYXRlIGxldC1pdGVtPlxuICAgICAgPGRpdiBjbGFzcz1cIm9yZy1pdGVtXCI+XG4gICAgICAgIDx5dmMtaWNvbiBbc3ZnXT1cIml0ZW0udHlwZSA9PT0gJ2dyb3VwJyA/ICBpY29uLmdyb3VwIDogaWNvbi51c2VyXCI+PC95dmMtaWNvbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cIihpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmIGl0ZW0ubGFzdG5hbWU/Lmxlbmd0aCAmJiBpdGVtLmFjdGl2ZSkgfHwgaXRlbS50eXBlID09PSAnZ3JvdXAnXCI+e3tpdGVtLnRpdGxlfX1cbiAgICAgICAgICAoe3tpdGVtLm5hbWV9fSk8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiKCFpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmICFpdGVtLmxhc3RuYW1lPy5sZW5ndGggJiYgIWl0ZW0uYWN0aXZlICYmICFpdGVtLnR5cGUpXCJcbiAgICAgICAgICBjbGFzcz1cImRlbGV0ZWQtdXNlci1sYWJlbFwiPnt7J2VvLmZvcm0ucHJvcGVydHkub3JnYW5pemF0aW9uLmVycm9yLnVzZXJub3Rmb3VuZCd8dHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgKm5nSWY9XCIhaXRlbS5maXJzdG5hbWU/Lmxlbmd0aCAmJiAhaXRlbS5sYXN0bmFtZT8ubGVuZ3RoICYmIGl0ZW0uYWN0aXZlICYmIGl0ZW0udHlwZSAhPT0gJ2dyb3VwJ1wiPih7e2l0ZW0ubmFtZX19KTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5maXJzdG5hbWU/Lmxlbmd0aCAmJiBpdGVtLmxhc3RuYW1lPy5sZW5ndGhcIj57e2l0ZW0ubGFzdG5hbWV9fSAoe3tpdGVtLm5hbWV9fSk8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5maXJzdG5hbWU/Lmxlbmd0aCAmJiAhaXRlbS5sYXN0bmFtZT8ubGVuZ3RoXCI+e3tpdGVtLmZpcnN0bmFtZX19ICh7e2l0ZW0ubmFtZX19KTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgXG4gIDwveXZjLWF1dG9jb21wbGV0ZT5cbjwvZGl2PiJdfQ==
|
|
@@ -51,7 +51,7 @@ export class ReferenceComponent {
|
|
|
51
51
|
const results = res.hits.hits
|
|
52
52
|
.filter(h => !value.includes(h._source[this.reference.element]))
|
|
53
53
|
.map(h => ({ value: h._source[this.reference.element], title: h._source.title }));
|
|
54
|
-
this.autocompleteRes = Utils.uniqBy(results, 'value');
|
|
54
|
+
this.autocompleteRes = Utils.uniqBy(results, 'value').slice(0, 10);
|
|
55
55
|
}
|
|
56
56
|
else {
|
|
57
57
|
this.autocompleteRes = [];
|
|
@@ -220,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
220
220
|
}], onReferenceClicked: [{
|
|
221
221
|
type: Output
|
|
222
222
|
}] } });
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvcmVmZXJlbmNlL3JlZmVyZW5jZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL3JlZmVyZW5jZS9yZWZlcmVuY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFFTCxpQkFBaUIsRUFHakIsYUFBYSxFQUNkLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFnQixLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7O0FBb0JsRCxNQUFNLE9BQU8sa0JBQWtCO0lBcUI3QixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVJ0Qyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBS2xELHVCQUF1QjtRQUN2QixlQUFVLEdBQXFDLEVBQUUsQ0FBQztRQUtsRCxvQkFBZSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDakMsQ0FBQyxDQUFBO0lBSEQsQ0FBQztJQUtELGFBQWEsQ0FBQyxZQUFZLEVBQUUsS0FBSztRQUMvQixPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsQyxPQUFPO2dCQUNMLEtBQUssRUFBRSxDQUFDO2dCQUNSLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNKLEtBQUssRUFB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LEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtrRkFJMEIsaUJBQWlCO3NCQUEzQyxTQUFTO3VCQUFDLGNBQWM7Z0JBRWhCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFJRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0b3IsXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcbiAgTkdfVkFMSURBVE9SU1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1NlYXJjaFNlcnZpY2UsIFV0aWxzfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtBdXRvQ29tcGxldGV9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9hdXRvY29tcGxldGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1yZWZlcmVuY2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVmZXJlbmNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVmZXJlbmNlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmVmZXJlbmNlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmVmZXJlbmNlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFJlZmVyZW5jZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xuXG4gIEBWaWV3Q2hpbGQoJ2F1dG9jb21wbGV0ZScpIGF1dG9Db21wbGV0ZUlucHV0OiBBdXRvQ29tcGxldGU7XG5cbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIG11bHRpc2VsZWN0OiBib29sZWFuO1xuICAvKipcbiAgICogUHJvcGVydHkgdG8gc2VhcmNoIGZvciwgYXN3ZWxsIGFzIHRoZSBvYmplY3QgdHlwZVxuICAgKi9cbiAgQElucHV0KCkgcmVmZXJlbmNlOiB7ZWxlbWVudDogc3RyaW5nLCB0eXBlOiBzdHJpbmd9O1xuICBASW5wdXQoKSBtaW5MZW5ndGg6IG51bWJlcjtcbiAgQElucHV0KCkgbWF4TGVuZ3RoOiBudW1iZXI7XG5cbiAgQE91dHB1dCgpIG9uUmVmZXJlbmNlQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBhdXRvY29tcGxldGVSZXM6IGFueVtdO1xuICAvLyBtb2RlbCB2YWx1ZVxuICBwcml2YXRlIHZhbHVlO1xuICAvLyBpbm5lciBuZy1tb2RlbCB2YWx1ZVxuICBpbm5lclZhbHVlOiB7dmFsdWU6IHN0cmluZywgdGl0bGU6IHN0cmluZ31bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSkge1xuICB9XG5cbiAgcHJvcGFnYXRlQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHtcbiAgfVxuXG4gIHRyYW5mb3JtVmFsdWUodmFsdWVJc0FycmF5LCB2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZUlzQXJyYXkgPyB2YWx1ZS5tYXAodiA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YWx1ZTogdixcbiAgICAgICAgdGl0bGU6IG51bGxcbiAgICAgIH1cbiAgICB9KSA6IFt7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICB0aXRsZTogbnVsbFxuICAgIH1dO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG5cbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IHZhbHVlSXNBcnJheSA9IEFycmF5LmlzQXJyYXkodmFsdWUpO1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlSXNBcnJheSA/IEFycmF5LmZyb20obmV3IFNldCh2YWx1ZSkpIDogdmFsdWU7XG5cbiAgICAgIC8vIHRyYW5zZm9ybSB2YWx1ZSB0byBpbm5lciB2YWx1ZVxuICAgICAgdGhpcy5pbm5lclZhbHVlID0gdGhpcy50cmFuZm9ybVZhbHVlKHZhbHVlSXNBcnJheSwgdGhpcy52YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5pbm5lclZhbHVlID0gW107XG4gICAgfVxuXG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICB9XG5cbiAgYXV0b2NvbXBsZXRlUmVzdWx0KHJlcyA9IG51bGwsIHF1ZXJ5ID0gJycpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlIDogW107XG4gICAgaWYgKHJlcyAmJiByZXMuaGl0cyAmJiByZXMuaGl0cy50b3RhbC52YWx1ZSkge1xuICAgICAgY29uc3QgcmVzdWx0cyA9IHJlcy5oaXRzLmhpdHNcbiAgICAgICAgLmZpbHRlcihoID0+ICF2YWx1ZS5pbmNsdWRlcyhoLl9zb3VyY2VbdGhpcy5yZWZlcmVuY2UuZWxlbWVudF0pKVxuICAgICAgICAubWFwKGggPT4gKHt2YWx1ZTogaC5fc291cmNlW3RoaXMucmVmZXJlbmNlLmVsZW1lbnRdLCB0aXRsZTogaC5fc291cmNlLnRpdGxlfSkpO1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVSZXMgPSBVdGlscy51bmlxQnkocmVzdWx0cywgJ3ZhbHVlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gW107XG4gICAgfVxuICB9XG5cbiAgYXV0b2NvbXBsZXRlRm4odGVybTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMubXVsdGlzZWxlY3QgfHwgIXRoaXMuaW5uZXJWYWx1ZS5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHt0eXBlLCBlbGVtZW50fSA9IHRoaXMucmVmZXJlbmNlO1xuICAgICAgY29uc3QgcSA9IHtcbiAgICAgICAgZmlsdGVyczoge30sXG4gICAgICAgIHR5cGVzOiBbdHlwZV0sXG4gICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICd0aXRsZScsXG4gICAgICAgICAgZWxlbWVudFxuICAgICAgICBdLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgc29ydDoge1xuICAgICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgICAgb3JkZXI6ICdhc2MnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICAvLyB0b2RvOiBhZGQgY29uZGl0aW9uIHRvIHJlbW92ZSB0aGUgdmFsdWVzIHRoYXQgYXJlIGFscmVhZHkgc2V0IHdoZW4gcmVnZXggb3BlcmF0b3IgaXMgc3VwcG9ydGVkXG4gICAgICBxLmZpbHRlcnNbZWxlbWVudF0gPSB7XG4gICAgICAgIG86ICdlcScsXG4gICAgICAgIHYxOiBgJHt0ZXJtfSpgXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2VcbiAgICAgICAgLmV4ZWN1dGVRdWVyeShxKVxuICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLmF1dG9jb21wbGV0ZVJlc3VsdChyZXMsIHRlcm0pLCAoKSA9PiB0aGlzLmF1dG9jb21wbGV0ZVJlc3VsdChudWxsLCB0ZXJtKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVSZXN1bHQobnVsbCwgdGVybSk7XG4gICAgfVxuICB9XG5cbiAgLy8gaGFuZGxlIHNlbGVjdGlvbiBjaGFuZ2VzIHRvIHRoZSBtb2RlbFxuICBvblVuc2VsZWN0KGl0ZW0pIHtcbiAgICB0aGlzLmlubmVyVmFsdWUgPSB0aGlzLmlubmVyVmFsdWUuZmlsdGVyKGl2ID0+IGl2LnZhbHVlICE9PSBpdGVtLnZhbHVlKTtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5tdWx0aXNlbGVjdCA/IFV0aWxzLnVuaXFCeSh0aGlzLmlubmVyVmFsdWUsICd2YWx1ZScpLm1hcChpdiA9PiBpdi52YWx1ZSkgOiBudWxsO1xuICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdGhpcy5jbGVhcklubmVySW5wdXQoKTtcbiAgICB9XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICAvLyBoYW5kbGUgc2VsZWN0aW9uIGNoYW5nZXMgdG8gdGhlIG1vZGVsXG4gIG9uU2VsZWN0KHNlbGVjdGVkSXRlbSkge1xuXG4gICAgaWYgKHR5cGVvZiBzZWxlY3RlZEl0ZW0gPT09ICdzdHJpbmcnKSBzZWxlY3RlZEl0ZW0gPSB7XG4gICAgICB2YWx1ZTogc2VsZWN0ZWRJdGVtLFxuICAgICAgdGl0bGU6IHNlbGVjdGVkSXRlbVxuICAgIH1cblxuICAgIHRoaXMuaW5uZXJWYWx1ZS5wdXNoKHNlbGVjdGVkSXRlbSk7XG4gICAgdGhpcy5pbm5lclZhbHVlID0gVXRpbHMudW5pcUJ5KHRoaXMuaW5uZXJWYWx1ZSwgJ3ZhbHVlJyk7XG5cbiAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZS5tYXAoaXYgPT4gaXYudmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5pbm5lclZhbHVlWzBdLnZhbHVlO1xuICAgIH1cbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIG9uQXV0b0NvbXBsZXRlQmx1cigpIHtcbiAgICB0aGlzLmNsZWFySW5uZXJJbnB1dCgpO1xuICB9XG5cbiAgb25LZXlVcEVudGVyKGV2ZW50KSB7XG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQudmFsdWUudHJpbSgpO1xuICAgIGlmIChpbnB1dC5sZW5ndGgpIHtcbiAgICAgIHRoaXMub25TZWxlY3Qoe3ZhbHVlOiBpbnB1dCwgdGl0bGU6IGlucHV0fSk7XG4gICAgfVxuICAgIHRoaXMuY2xlYXJJbm5lcklucHV0KCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFySW5uZXJJbnB1dCgpIHtcbiAgICB0aGlzLmF1dG9Db21wbGV0ZUlucHV0LmNsZWFySW5wdXQoKTtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZVJlc3VsdCgpO1xuICB9XG5cbiAgZ2V0SXRlbUxpbmtQYXJhbXMoaXRlbSkge1xuICAgIGNvbnN0IHF1ZXJ5ID0ge1xuICAgICAgdHlwZXM6IFt0aGlzLnJlZmVyZW5jZS50eXBlXSxcbiAgICAgIGZpbHRlcnM6IHt9XG4gICAgfTtcbiAgICBxdWVyeS5maWx0ZXJzW3RoaXMucmVmZXJlbmNlLmVsZW1lbnRdID0ge1xuICAgICAgbzogJ2VxJyxcbiAgICAgIHYxOiBpdGVtLnZhbHVlXG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgcXVlcnk6IGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShxdWVyeSkpXG4gICAgfTtcbiAgfVxuXG4gIC8vIHJldHVybnMgbnVsbCB3aGVuIHZhbGlkIGVsc2UgdGhlIHZhbGlkYXRpb24gb2JqZWN0XG4gIHB1YmxpYyB2YWxpZGF0ZShjOiBVbnR5cGVkRm9ybUNvbnRyb2wpIHtcbiAgICBsZXQgZXJyO1xuXG4gICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJiAhIXRoaXMudmFsdWUuZmluZCh2ID0+IHYubGVuZ3RoIDwgdGhpcy5taW5MZW5ndGgpKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydtaW5sZW5ndGgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPiAwICYmICEhdGhpcy52YWx1ZS5maW5kKHYgPT4gdi5sZW5ndGggPiB0aGlzLm1heExlbmd0aCkpIHtcbiAgICAgICAgICBlcnIgPSB7fTtcbiAgICAgICAgICBlcnJbJ21heGxlbmd0aCddID0ge1xuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPiAwICYmIHRoaXMudmFsdWUubGVuZ3RoIDwgdGhpcy5taW5MZW5ndGgpIHtcbiAgICAgICAgICBlcnIgPSB7fTtcbiAgICAgICAgICBlcnJbJ21pbmxlbmd0aCddID0ge1xuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydtYXhsZW5ndGgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZXJyID8gZXJyIDogbnVsbDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVvLWZvcm0tcmVmZXJlbmNlXCIgW25nQ2xhc3NdPVwie2FjSW5wdXRIaWRkZW46ICFtdWx0aXNlbGVjdCAmJiAhIWlubmVyVmFsdWUubGVuZ3RofVwiPlxuXG4gIDx5dmMtYXV0b2NvbXBsZXRlIFtuZ01vZGVsXT1cImlubmVyVmFsdWVcIiAjYXV0b2NvbXBsZXRlIChzdWdnZXN0aW9uU2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxuICAgIChzdWdnZXN0aW9uVW5zZWxlY3QpPVwib25VbnNlbGVjdCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCIgW211bHRpcGxlXT1cInRydWVcIlxuICAgIFthdXRvY29tcGxldGVWYWx1ZXNdPVwiYXV0b2NvbXBsZXRlUmVzXCIgW2ZpZWxkXT1cIid2YWx1ZSdcIiBbZm9yY2VTZWxlY3Rpb25dPVwidHJ1ZVwiIChibHVyKT1cIm9uQXV0b0NvbXBsZXRlQmx1cigpXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwib25LZXlVcEVudGVyKCRldmVudClcIiAoYXV0b2NvbXBsZXRlRm5jKT1cImF1dG9jb21wbGV0ZUZuKCRldmVudClcIj5cblxuICAgIDwhLS0gdGVtcGxhdGUgZm9yIHRoZSBzdWdnZXN0IGxpc3QgLS0+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtICNhdXRvY29tcGxldGVPcHRpb25UZW1wbGF0ZT5cbiAgICAgIDxzcGFuIGNsYXNzPVwieXZjLWF1dG9jb21wbGV0ZS10b2tlbi1sYWJlbFwiIHRpdGxlPVwie3tpdGVtLnZhbHVlfX0gKHt7aXRlbS50aXRsZX19KVwiPlxuICAgICAgICA8c3Ryb25nPnt7aXRlbS52YWx1ZX19PC9zdHJvbmc+XG4gICAgICAgIDxzcGFuPnt7aXRlbS50aXRsZX19PC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8IS0tIHRlbXBsYXRlIGZvciB0aGUgc2VsZWN0ZWQgaXRlbXMgLS0+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtICNjaGlwVGVtcGxhdGU+XG4gICAgICA8YSBjbGFzcz1cImxpbmsgcm91dGVyLWxpbmtcIiBbcm91dGVyTGlua109XCJbJy9yZXN1bHQnXVwiIFtxdWVyeVBhcmFtc109XCJnZXRJdGVtTGlua1BhcmFtcyhpdGVtKVwiPlxuICAgICAgICA8c3ZnIGZvY3VzYWJsZT1cImZhbHNlXCIgY2xhc3M9XCJyZWYtaWNvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIlxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TThcbiAgICAgICAgICAxM2g4di0ySDh2MnptOS02aC00djEuOWg0YzEuNzEgMCAzLjEgMS4zOSAzLjEgMy4xcy0xLjM5IDMuMS0zLjEgMy4xaC00VjE3aDRjMi43NiAwIDUtMi4yNCA1LTVzLTIuMjQtNS01LTV6XCI+XG4gICAgICAgICAgPC9wYXRoPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvYT5cbiAgICAgIDxzcGFuIGNsYXNzPVwieXZjLWF1dG9jb21wbGV0ZS10b2tlbi1sYWJlbFwiPnt7aXRlbS52YWx1ZX19PC9zcGFuPlxuXG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC95dmMtYXV0b2NvbXBsZXRlPlxuPC9kaXY+Il19
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvcmVmZXJlbmNlL3JlZmVyZW5jZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL3JlZmVyZW5jZS9yZWZlcmVuY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFFTCxpQkFBaUIsRUFHakIsYUFBYSxFQUNkLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFnQixLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7O0FBb0JsRCxNQUFNLE9BQU8sa0JBQWtCO0lBcUI3QixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVJ0Qyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBS2xELHVCQUF1QjtRQUN2QixlQUFVLEdBQXFDLEVBQUUsQ0FBQztRQUtsRCxvQkFBZSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDakMsQ0FBQyxDQUFBO0lBSEQsQ0FBQztJQUtELGFBQWEsQ0FBQyxZQUFZLEVBQUUsS0FBSztRQUMvQixPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsQyxPQUFPO2dCQUNMLEtBQUssRUFBRSxDQUFDO2dCQUNSLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNKLEtBQUssRUFB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RSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2tGQUkwQixpQkFBaUI7c0JBQTNDLFNBQVM7dUJBQUMsY0FBYztnQkFFaEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUlHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgVmlld0NoaWxkLCBPdXRwdXQsIEV2ZW50RW1pdHRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRvcixcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBOR19WQUxJREFUT1JTXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U2VhcmNoU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0F1dG9Db21wbGV0ZX0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2F1dG9jb21wbGV0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXJlZmVyZW5jZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWZlcmVuY2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWZlcmVuY2UuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSZWZlcmVuY2VDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSZWZlcmVuY2VDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmVmZXJlbmNlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciB7XG5cbiAgQFZpZXdDaGlsZCgnYXV0b2NvbXBsZXRlJykgYXV0b0NvbXBsZXRlSW5wdXQ6IEF1dG9Db21wbGV0ZTtcblxuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcbiAgQElucHV0KCkgbXVsdGlzZWxlY3Q6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQcm9wZXJ0eSB0byBzZWFyY2ggZm9yLCBhc3dlbGwgYXMgdGhlIG9iamVjdCB0eXBlXG4gICAqL1xuICBASW5wdXQoKSByZWZlcmVuY2U6IHtlbGVtZW50OiBzdHJpbmcsIHR5cGU6IHN0cmluZ307XG4gIEBJbnB1dCgpIG1pbkxlbmd0aDogbnVtYmVyO1xuICBASW5wdXQoKSBtYXhMZW5ndGg6IG51bWJlcjtcblxuICBAT3V0cHV0KCkgb25SZWZlcmVuY2VDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGF1dG9jb21wbGV0ZVJlczogYW55W107XG4gIC8vIG1vZGVsIHZhbHVlXG4gIHByaXZhdGUgdmFsdWU7XG4gIC8vIGlubmVyIG5nLW1vZGVsIHZhbHVlXG4gIGlubmVyVmFsdWU6IHt2YWx1ZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nfVtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlKSB7XG4gIH1cblxuICBwcm9wYWdhdGVDaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xuICB9XG5cbiAgdHJhbmZvcm1WYWx1ZSh2YWx1ZUlzQXJyYXksIHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlSXNBcnJheSA/IHZhbHVlLm1hcCh2ID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhbHVlOiB2LFxuICAgICAgICB0aXRsZTogbnVsbFxuICAgICAgfVxuICAgIH0pIDogW3tcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIHRpdGxlOiBudWxsXG4gICAgfV07XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgY29uc3QgdmFsdWVJc0FycmF5ID0gQXJyYXkuaXNBcnJheSh2YWx1ZSk7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWVJc0FycmF5ID8gQXJyYXkuZnJvbShuZXcgU2V0KHZhbHVlKSkgOiB2YWx1ZTtcblxuICAgICAgLy8gdHJhbnNmb3JtIHZhbHVlIHRvIGlubmVyIHZhbHVlXG4gICAgICB0aGlzLmlubmVyVmFsdWUgPSB0aGlzLnRyYW5mb3JtVmFsdWUodmFsdWVJc0FycmF5LCB0aGlzLnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICB0aGlzLmlubmVyVmFsdWUgPSBbXTtcbiAgICB9XG5cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gIH1cblxuICBhdXRvY29tcGxldGVSZXN1bHQocmVzID0gbnVsbCwgcXVlcnkgPSAnJykge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUgOiBbXTtcbiAgICBpZiAocmVzICYmIHJlcy5oaXRzICYmIHJlcy5oaXRzLnRvdGFsLnZhbHVlKSB7XG4gICAgICBjb25zdCByZXN1bHRzID0gcmVzLmhpdHMuaGl0c1xuICAgICAgICAuZmlsdGVyKGggPT4gIXZhbHVlLmluY2x1ZGVzKGguX3NvdXJjZVt0aGlzLnJlZmVyZW5jZS5lbGVtZW50XSkpXG4gICAgICAgIC5tYXAoaCA9PiAoe3ZhbHVlOiBoLl9zb3VyY2VbdGhpcy5yZWZlcmVuY2UuZWxlbWVudF0sIHRpdGxlOiBoLl9zb3VyY2UudGl0bGV9KSk7XG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZVJlcyA9IFV0aWxzLnVuaXFCeShyZXN1bHRzLCAndmFsdWUnKS5zbGljZSgwLCAxMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gW107XG4gICAgfVxuICB9XG5cbiAgYXV0b2NvbXBsZXRlRm4odGVybTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMubXVsdGlzZWxlY3QgfHwgIXRoaXMuaW5uZXJWYWx1ZS5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHt0eXBlLCBlbGVtZW50fSA9IHRoaXMucmVmZXJlbmNlO1xuICAgICAgY29uc3QgcSA9IHtcbiAgICAgICAgZmlsdGVyczoge30sXG4gICAgICAgIHR5cGVzOiBbdHlwZV0sXG4gICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICd0aXRsZScsXG4gICAgICAgICAgZWxlbWVudFxuICAgICAgICBdLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgc29ydDoge1xuICAgICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgICAgb3JkZXI6ICdhc2MnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICAvLyB0b2RvOiBhZGQgY29uZGl0aW9uIHRvIHJlbW92ZSB0aGUgdmFsdWVzIHRoYXQgYXJlIGFscmVhZHkgc2V0IHdoZW4gcmVnZXggb3BlcmF0b3IgaXMgc3VwcG9ydGVkXG4gICAgICBxLmZpbHRlcnNbZWxlbWVudF0gPSB7XG4gICAgICAgIG86ICdlcScsXG4gICAgICAgIHYxOiBgJHt0ZXJtfSpgXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2VcbiAgICAgICAgLmV4ZWN1dGVRdWVyeShxKVxuICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLmF1dG9jb21wbGV0ZVJlc3VsdChyZXMsIHRlcm0pLCAoKSA9PiB0aGlzLmF1dG9jb21wbGV0ZVJlc3VsdChudWxsLCB0ZXJtKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVSZXN1bHQobnVsbCwgdGVybSk7XG4gICAgfVxuICB9XG5cbiAgLy8gaGFuZGxlIHNlbGVjdGlvbiBjaGFuZ2VzIHRvIHRoZSBtb2RlbFxuICBvblVuc2VsZWN0KGl0ZW0pIHtcbiAgICB0aGlzLmlubmVyVmFsdWUgPSB0aGlzLmlubmVyVmFsdWUuZmlsdGVyKGl2ID0+IGl2LnZhbHVlICE9PSBpdGVtLnZhbHVlKTtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5tdWx0aXNlbGVjdCA/IFV0aWxzLnVuaXFCeSh0aGlzLmlubmVyVmFsdWUsICd2YWx1ZScpLm1hcChpdiA9PiBpdi52YWx1ZSkgOiBudWxsO1xuICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdGhpcy5jbGVhcklubmVySW5wdXQoKTtcbiAgICB9XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICAvLyBoYW5kbGUgc2VsZWN0aW9uIGNoYW5nZXMgdG8gdGhlIG1vZGVsXG4gIG9uU2VsZWN0KHNlbGVjdGVkSXRlbSkge1xuXG4gICAgaWYgKHR5cGVvZiBzZWxlY3RlZEl0ZW0gPT09ICdzdHJpbmcnKSBzZWxlY3RlZEl0ZW0gPSB7XG4gICAgICB2YWx1ZTogc2VsZWN0ZWRJdGVtLFxuICAgICAgdGl0bGU6IHNlbGVjdGVkSXRlbVxuICAgIH1cblxuICAgIHRoaXMuaW5uZXJWYWx1ZS5wdXNoKHNlbGVjdGVkSXRlbSk7XG4gICAgdGhpcy5pbm5lclZhbHVlID0gVXRpbHMudW5pcUJ5KHRoaXMuaW5uZXJWYWx1ZSwgJ3ZhbHVlJyk7XG5cbiAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZS5tYXAoaXYgPT4gaXYudmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5pbm5lclZhbHVlWzBdLnZhbHVlO1xuICAgIH1cbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIG9uQXV0b0NvbXBsZXRlQmx1cigpIHtcbiAgICB0aGlzLmNsZWFySW5uZXJJbnB1dCgpO1xuICB9XG5cbiAgb25LZXlVcEVudGVyKGV2ZW50KSB7XG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQudmFsdWUudHJpbSgpO1xuICAgIGlmIChpbnB1dC5sZW5ndGgpIHtcbiAgICAgIHRoaXMub25TZWxlY3Qoe3ZhbHVlOiBpbnB1dCwgdGl0bGU6IGlucHV0fSk7XG4gICAgfVxuICAgIHRoaXMuY2xlYXJJbm5lcklucHV0KCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFySW5uZXJJbnB1dCgpIHtcbiAgICB0aGlzLmF1dG9Db21wbGV0ZUlucHV0LmNsZWFySW5wdXQoKTtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZVJlc3VsdCgpO1xuICB9XG5cbiAgZ2V0SXRlbUxpbmtQYXJhbXMoaXRlbSkge1xuICAgIGNvbnN0IHF1ZXJ5ID0ge1xuICAgICAgdHlwZXM6IFt0aGlzLnJlZmVyZW5jZS50eXBlXSxcbiAgICAgIGZpbHRlcnM6IHt9XG4gICAgfTtcbiAgICBxdWVyeS5maWx0ZXJzW3RoaXMucmVmZXJlbmNlLmVsZW1lbnRdID0ge1xuICAgICAgbzogJ2VxJyxcbiAgICAgIHYxOiBpdGVtLnZhbHVlXG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgcXVlcnk6IGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShxdWVyeSkpXG4gICAgfTtcbiAgfVxuXG4gIC8vIHJldHVybnMgbnVsbCB3aGVuIHZhbGlkIGVsc2UgdGhlIHZhbGlkYXRpb24gb2JqZWN0XG4gIHB1YmxpYyB2YWxpZGF0ZShjOiBVbnR5cGVkRm9ybUNvbnRyb2wpIHtcbiAgICBsZXQgZXJyO1xuXG4gICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJiAhIXRoaXMudmFsdWUuZmluZCh2ID0+IHYubGVuZ3RoIDwgdGhpcy5taW5MZW5ndGgpKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydtaW5sZW5ndGgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPiAwICYmICEhdGhpcy52YWx1ZS5maW5kKHYgPT4gdi5sZW5ndGggPiB0aGlzLm1heExlbmd0aCkpIHtcbiAgICAgICAgICBlcnIgPSB7fTtcbiAgICAgICAgICBlcnJbJ21heGxlbmd0aCddID0ge1xuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPiAwICYmIHRoaXMudmFsdWUubGVuZ3RoIDwgdGhpcy5taW5MZW5ndGgpIHtcbiAgICAgICAgICBlcnIgPSB7fTtcbiAgICAgICAgICBlcnJbJ21pbmxlbmd0aCddID0ge1xuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydtYXhsZW5ndGgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZXJyID8gZXJyIDogbnVsbDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVvLWZvcm0tcmVmZXJlbmNlXCIgW25nQ2xhc3NdPVwie2FjSW5wdXRIaWRkZW46ICFtdWx0aXNlbGVjdCAmJiAhIWlubmVyVmFsdWUubGVuZ3RofVwiPlxuXG4gIDx5dmMtYXV0b2NvbXBsZXRlIFtuZ01vZGVsXT1cImlubmVyVmFsdWVcIiAjYXV0b2NvbXBsZXRlIChzdWdnZXN0aW9uU2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxuICAgIChzdWdnZXN0aW9uVW5zZWxlY3QpPVwib25VbnNlbGVjdCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCIgW211bHRpcGxlXT1cInRydWVcIlxuICAgIFthdXRvY29tcGxldGVWYWx1ZXNdPVwiYXV0b2NvbXBsZXRlUmVzXCIgW2ZpZWxkXT1cIid2YWx1ZSdcIiBbZm9yY2VTZWxlY3Rpb25dPVwidHJ1ZVwiIChibHVyKT1cIm9uQXV0b0NvbXBsZXRlQmx1cigpXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwib25LZXlVcEVudGVyKCRldmVudClcIiAoYXV0b2NvbXBsZXRlRm5jKT1cImF1dG9jb21wbGV0ZUZuKCRldmVudClcIj5cblxuICAgIDwhLS0gdGVtcGxhdGUgZm9yIHRoZSBzdWdnZXN0IGxpc3QgLS0+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtICNhdXRvY29tcGxldGVPcHRpb25UZW1wbGF0ZT5cbiAgICAgIDxzcGFuIGNsYXNzPVwieXZjLWF1dG9jb21wbGV0ZS10b2tlbi1sYWJlbFwiIHRpdGxlPVwie3tpdGVtLnZhbHVlfX0gKHt7aXRlbS50aXRsZX19KVwiPlxuICAgICAgICA8c3Ryb25nPnt7aXRlbS52YWx1ZX19PC9zdHJvbmc+XG4gICAgICAgIDxzcGFuPnt7aXRlbS50aXRsZX19PC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8IS0tIHRlbXBsYXRlIGZvciB0aGUgc2VsZWN0ZWQgaXRlbXMgLS0+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtICNjaGlwVGVtcGxhdGU+XG4gICAgICA8YSBjbGFzcz1cImxpbmsgcm91dGVyLWxpbmtcIiBbcm91dGVyTGlua109XCJbJy9yZXN1bHQnXVwiIFtxdWVyeVBhcmFtc109XCJnZXRJdGVtTGlua1BhcmFtcyhpdGVtKVwiPlxuICAgICAgICA8c3ZnIGZvY3VzYWJsZT1cImZhbHNlXCIgY2xhc3M9XCJyZWYtaWNvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIlxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TThcbiAgICAgICAgICAxM2g4di0ySDh2MnptOS02aC00djEuOWg0YzEuNzEgMCAzLjEgMS4zOSAzLjEgMy4xcy0xLjM5IDMuMS0zLjEgMy4xaC00VjE3aDRjMi43NiAwIDUtMi4yNCA1LTVzLTIuMjQtNS01LTV6XCI+XG4gICAgICAgICAgPC9wYXRoPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvYT5cbiAgICAgIDxzcGFuIGNsYXNzPVwieXZjLWF1dG9jb21wbGV0ZS10b2tlbi1sYWJlbFwiPnt7aXRlbS52YWx1ZX19PC9zcGFuPlxuXG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC95dmMtYXV0b2NvbXBsZXRlPlxuPC9kaXY+Il19
|