@eui/core 16.1.1 → 17.0.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/docs/classes/UpdateUserRightsAction.html +3 -3
  2. package/docs/dependencies.html +2 -2
  3. package/docs/injectables/CoreAppEffects.html +12 -10
  4. package/docs/injectables/{UxDynamicMenuService.html → EuiDynamicMenuService.html} +10 -10
  5. package/docs/injectables/EuiPermissionService.html +4 -4
  6. package/docs/injectables/{UxTimezoneService.html → EuiTimezoneService.html} +5 -5
  7. package/docs/injectables/UxAppShellService.html +123 -1207
  8. package/docs/interfaces/{TimeZone.html → EuiTimeZone.html} +3 -3
  9. package/docs/interfaces/UIState.html +8 -8
  10. package/docs/js/menu-wc.js +9 -9
  11. package/docs/js/search/search_index.js +2 -2
  12. package/docs/miscellaneous/variables.html +705 -705
  13. package/esm2022/lib/services/dynamic-menu/dynamic-menu.service.mjs +66 -0
  14. package/esm2022/lib/services/errors/http-error-handler-callback-functions.mjs +5 -4
  15. package/esm2022/lib/services/eui-timezone.service.mjs +716 -0
  16. package/esm2022/lib/services/i18n/i18n.service.mjs +5 -5
  17. package/esm2022/lib/services/index.mjs +3 -3
  18. package/esm2022/lib/services/permission/permission.service.mjs +2 -2
  19. package/esm2022/lib/services/store/actions/user.actions.mjs +1 -1
  20. package/esm2022/lib/services/store/effects/app.effects.mjs +13 -3
  21. package/esm2022/lib/services/ux-app-shell.service.mjs +3 -149
  22. package/esm2022/lib/services/ux-error-feedback/ux-error-feedback.service.mjs +26 -17
  23. package/fesm2022/eui-core.mjs +63 -189
  24. package/fesm2022/eui-core.mjs.map +1 -1
  25. package/lib/services/dynamic-menu/dynamic-menu.service.d.ts +15 -0
  26. package/lib/services/dynamic-menu/dynamic-menu.service.d.ts.map +1 -0
  27. package/lib/services/errors/http-error-handler-callback-functions.d.ts.map +1 -1
  28. package/lib/services/{ux-timezone.service.d.ts → eui-timezone.service.d.ts} +9 -9
  29. package/lib/services/eui-timezone.service.d.ts.map +1 -0
  30. package/lib/services/index.d.ts +2 -2
  31. package/lib/services/index.d.ts.map +1 -1
  32. package/lib/services/permission/permission.service.d.ts +7 -7
  33. package/lib/services/permission/permission.service.d.ts.map +1 -1
  34. package/lib/services/store/actions/user.actions.d.ts +3 -3
  35. package/lib/services/store/actions/user.actions.d.ts.map +1 -1
  36. package/lib/services/store/effects/app.effects.d.ts.map +1 -1
  37. package/lib/services/ux-app-shell.service.d.ts +8 -31
  38. package/lib/services/ux-app-shell.service.d.ts.map +1 -1
  39. package/lib/services/ux-error-feedback/ux-error-feedback.service.d.ts.map +1 -1
  40. package/package.json +2 -2
  41. package/esm2022/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.mjs +0 -66
  42. package/esm2022/lib/services/ux-timezone.service.mjs +0 -717
  43. package/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.d.ts +0 -15
  44. package/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.d.ts.map +0 -1
  45. package/lib/services/ux-timezone.service.d.ts.map +0 -1
@@ -0,0 +1,66 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { getUserState } from '@eui/base';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../permission/permission.service";
5
+ import * as i2 from "../store/store.service";
6
+ export class EuiDynamicMenuService {
7
+ // TODO: it should be moved euiservice, or it should be static
8
+ // TODO: can we moved that service inside the module of the component that's using it?
9
+ constructor(uxPermission, store) {
10
+ this.uxPermission = uxPermission;
11
+ this.store = store;
12
+ this.menuLinks = [];
13
+ this.store.select(getUserState).subscribe((user) => {
14
+ if (user.menuLinks) {
15
+ this.menuLinks = user.menuLinks;
16
+ }
17
+ });
18
+ }
19
+ getMenuLinks() {
20
+ return this.menuLinks;
21
+ }
22
+ filterEuiMenuItemsWithRights(links) {
23
+ return links.filter((link) => {
24
+ if (link.hasChildren) {
25
+ link.children = this.filterEuiMenuItemsWithRights(link.children);
26
+ }
27
+ // First check if the user is denied access:
28
+ if (link.deniedRightId) {
29
+ if (this.uxPermission.checkRight(link.deniedRightId)) {
30
+ return false;
31
+ }
32
+ }
33
+ if (link.deniedRightIds) {
34
+ for (const deniedRightId of link.deniedRightIds) {
35
+ if (this.uxPermission.checkRight(deniedRightId)) {
36
+ return false;
37
+ }
38
+ }
39
+ }
40
+ // Then check if the user needs to be allowed access explicitly:
41
+ if (link.allowedRightId) {
42
+ return this.uxPermission.checkRight(link.allowedRightId);
43
+ }
44
+ if (link.allowedRightIds) {
45
+ for (const allowedRightId of link.allowedRightIds) {
46
+ if (this.uxPermission.checkRight(allowedRightId)) {
47
+ return true;
48
+ }
49
+ }
50
+ // User doesn't have one of the allowed rights. Deny access:
51
+ return false;
52
+ }
53
+ // Access to the menu item is not denied, therefore allow it:
54
+ return true;
55
+ });
56
+ }
57
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: EuiDynamicMenuService, deps: [{ token: i1.EuiPermissionService }, { token: i2.StoreService }], target: i0.ɵɵFactoryTarget.Injectable }); }
58
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: EuiDynamicMenuService, providedIn: 'root' }); }
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: EuiDynamicMenuService, decorators: [{
61
+ type: Injectable,
62
+ args: [{
63
+ providedIn: 'root',
64
+ }]
65
+ }], ctorParameters: function () { return [{ type: i1.EuiPermissionService }, { type: i2.StoreService }]; } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2R5bmFtaWMtbWVudS9keW5hbWljLW1lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxXQUFXLENBQUM7Ozs7QUFPdEQsTUFBTSxPQUFPLHFCQUFxQjtJQUc5Qiw4REFBOEQ7SUFDOUQsc0ZBQXNGO0lBQ3RGLFlBQW9CLFlBQWtDLEVBQVUsS0FBbUI7UUFBL0QsaUJBQVksR0FBWixZQUFZLENBQXNCO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUpuRixjQUFTLEdBQWUsRUFBRSxDQUFDO1FBS3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQy9DLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ25DO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsNEJBQTRCLENBQUMsS0FBeUI7UUFDbEQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDekIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDcEU7WUFFRCw0Q0FBNEM7WUFDNUMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUNwQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtvQkFDbEQsT0FBTyxLQUFLLENBQUM7aUJBQ2hCO2FBQ0o7WUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JCLEtBQUssTUFBTSxhQUFhLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtvQkFDN0MsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRTt3QkFDN0MsT0FBTyxLQUFLLENBQUM7cUJBQ2hCO2lCQUNKO2FBQ0o7WUFFRCxnRUFBZ0U7WUFDaEUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUM1RDtZQUNELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDdEIsS0FBSyxNQUFNLGNBQWMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO29CQUMvQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFO3dCQUM5QyxPQUFPLElBQUksQ0FBQztxQkFDZjtpQkFDSjtnQkFDRCw0REFBNEQ7Z0JBQzVELE9BQU8sS0FBSyxDQUFDO2FBQ2hCO1lBRUQsNkRBQTZEO1lBQzdELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztpSUF0RFEscUJBQXFCO3FJQUFyQixxQkFBcUIsY0FGbEIsTUFBTTs7MkZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldFVzZXJTdGF0ZSwgRXVpTWVudUl0ZW0gfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRXVpUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9zdG9yZS9zdG9yZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXVpRHluYW1pY01lbnVTZXJ2aWNlIHtcbiAgICBtZW51TGlua3M6IEFycmF5PGFueT4gPSBbXTtcblxuICAgIC8vIFRPRE86IGl0IHNob3VsZCBiZSBtb3ZlZCBldWlzZXJ2aWNlLCBvciBpdCBzaG91bGQgYmUgc3RhdGljXG4gICAgLy8gVE9ETzogY2FuIHdlIG1vdmVkIHRoYXQgc2VydmljZSBpbnNpZGUgdGhlIG1vZHVsZSBvZiB0aGUgY29tcG9uZW50IHRoYXQncyB1c2luZyBpdD9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHV4UGVybWlzc2lvbjogRXVpUGVybWlzc2lvblNlcnZpY2UsIHByaXZhdGUgc3RvcmU6IFN0b3JlU2VydmljZSkge1xuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChnZXRVc2VyU3RhdGUpLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICAgICAgaWYgKHVzZXIubWVudUxpbmtzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51TGlua3MgPSB1c2VyLm1lbnVMaW5rcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0TWVudUxpbmtzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tZW51TGlua3M7XG4gICAgfVxuXG4gICAgZmlsdGVyRXVpTWVudUl0ZW1zV2l0aFJpZ2h0cyhsaW5rczogQXJyYXk8RXVpTWVudUl0ZW0+KTogQXJyYXk8RXVpTWVudUl0ZW0+IHtcbiAgICAgICAgcmV0dXJuIGxpbmtzLmZpbHRlcigobGluaykgPT4ge1xuICAgICAgICAgICAgaWYgKGxpbmsuaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBsaW5rLmNoaWxkcmVuID0gdGhpcy5maWx0ZXJFdWlNZW51SXRlbXNXaXRoUmlnaHRzKGxpbmsuY2hpbGRyZW4pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGaXJzdCBjaGVjayBpZiB0aGUgdXNlciBpcyBkZW5pZWQgYWNjZXNzOlxuICAgICAgICAgICAgaWYgKGxpbmsuZGVuaWVkUmlnaHRJZCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnV4UGVybWlzc2lvbi5jaGVja1JpZ2h0KGxpbmsuZGVuaWVkUmlnaHRJZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsaW5rLmRlbmllZFJpZ2h0SWRzKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBkZW5pZWRSaWdodElkIG9mIGxpbmsuZGVuaWVkUmlnaHRJZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudXhQZXJtaXNzaW9uLmNoZWNrUmlnaHQoZGVuaWVkUmlnaHRJZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVGhlbiBjaGVjayBpZiB0aGUgdXNlciBuZWVkcyB0byBiZSBhbGxvd2VkIGFjY2VzcyBleHBsaWNpdGx5OlxuICAgICAgICAgICAgaWYgKGxpbmsuYWxsb3dlZFJpZ2h0SWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51eFBlcm1pc3Npb24uY2hlY2tSaWdodChsaW5rLmFsbG93ZWRSaWdodElkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsaW5rLmFsbG93ZWRSaWdodElkcykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgYWxsb3dlZFJpZ2h0SWQgb2YgbGluay5hbGxvd2VkUmlnaHRJZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudXhQZXJtaXNzaW9uLmNoZWNrUmlnaHQoYWxsb3dlZFJpZ2h0SWQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBVc2VyIGRvZXNuJ3QgaGF2ZSBvbmUgb2YgdGhlIGFsbG93ZWQgcmlnaHRzLiBEZW55IGFjY2VzczpcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFjY2VzcyB0byB0aGUgbWVudSBpdGVtIGlzIG5vdCBkZW5pZWQsIHRoZXJlZm9yZSBhbGxvdyBpdDpcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { LogService } from '../log/log.service';
2
- import { UxAppShellService } from '../ux-app-shell.service';
2
+ // import { UxAppShellService } from '../ux-app-shell.service';
3
3
  export function AlertHttpErrorCallbackFn(error) {
4
4
  alert(error.statusText);
5
5
  }
@@ -11,7 +11,8 @@ export function LogHttpErrorCallbackFn(error, injector) {
11
11
  logService.error('HttpError', error);
12
12
  }
13
13
  export function GrowlHttpErrorCallbackFn(error, injector) {
14
- const asService = injector.get(UxAppShellService);
15
- asService.growlError(error.statusText);
14
+ // TODO v17 should not display growl from here but from where it's called
15
+ // const asService = injector.get(UxAppShellService);
16
+ // asService.growlError(error.statusText);
16
17
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1oYW5kbGVyLWNhbGxiYWNrLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZXJyb3JzL2h0dHAtZXJyb3ItaGFuZGxlci1jYWxsYmFjay1mdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUF3QjtJQUM3RCxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsS0FBd0I7SUFDL0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxLQUF3QixFQUFFLFFBQWtCO0lBQy9FLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUF3QixFQUFFLFFBQWtCO0lBQ2pGLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9sb2cuc2VydmljZSc7XG5pbXBvcnQgeyBVeEFwcFNoZWxsU2VydmljZSB9IGZyb20gJy4uL3V4LWFwcC1zaGVsbC5zZXJ2aWNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIEFsZXJ0SHR0cEVycm9yQ2FsbGJhY2tGbihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICBhbGVydChlcnJvci5zdGF0dXNUZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENvbnNvbGVIdHRwRXJyb3JDYWxsYmFja0ZuKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0h0dHBFcnJvcicsIGVycm9yKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIExvZ0h0dHBFcnJvckNhbGxiYWNrRm4oZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBjb25zdCBsb2dTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KExvZ1NlcnZpY2UpO1xuICAgIGxvZ1NlcnZpY2UuZXJyb3IoJ0h0dHBFcnJvcicsIGVycm9yKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEdyb3dsSHR0cEVycm9yQ2FsbGJhY2tGbihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UsIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIGNvbnN0IGFzU2VydmljZSA9IGluamVjdG9yLmdldChVeEFwcFNoZWxsU2VydmljZSk7XG4gICAgYXNTZXJ2aWNlLmdyb3dsRXJyb3IoZXJyb3Iuc3RhdHVzVGV4dCk7XG59XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1oYW5kbGVyLWNhbGxiYWNrLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZXJyb3JzL2h0dHAtZXJyb3ItaGFuZGxlci1jYWxsYmFjay1mdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELCtEQUErRDtBQUUvRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsS0FBd0I7SUFDN0QsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEtBQXdCO0lBQy9ELE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsS0FBd0IsRUFBRSxRQUFrQjtJQUMvRSxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVDLFVBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsS0FBd0IsRUFBRSxRQUFrQjtJQUNqRix5RUFBeUU7SUFDekUscURBQXFEO0lBQ3JELDBDQUEwQztBQUM5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9sb2cuc2VydmljZSc7XG4vLyBpbXBvcnQgeyBVeEFwcFNoZWxsU2VydmljZSB9IGZyb20gJy4uL3V4LWFwcC1zaGVsbC5zZXJ2aWNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIEFsZXJ0SHR0cEVycm9yQ2FsbGJhY2tGbihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICBhbGVydChlcnJvci5zdGF0dXNUZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENvbnNvbGVIdHRwRXJyb3JDYWxsYmFja0ZuKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0h0dHBFcnJvcicsIGVycm9yKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIExvZ0h0dHBFcnJvckNhbGxiYWNrRm4oZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBjb25zdCBsb2dTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KExvZ1NlcnZpY2UpO1xuICAgIGxvZ1NlcnZpY2UuZXJyb3IoJ0h0dHBFcnJvcicsIGVycm9yKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEdyb3dsSHR0cEVycm9yQ2FsbGJhY2tGbihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UsIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIC8vIFRPRE8gdjE3IHNob3VsZCBub3QgZGlzcGxheSBncm93bCBmcm9tIGhlcmUgYnV0IGZyb20gd2hlcmUgaXQncyBjYWxsZWRcbiAgICAvLyBjb25zdCBhc1NlcnZpY2UgPSBpbmplY3Rvci5nZXQoVXhBcHBTaGVsbFNlcnZpY2UpO1xuICAgIC8vIGFzU2VydmljZS5ncm93bEVycm9yKGVycm9yLnN0YXR1c1RleHQpO1xufVxuIl19