@alauda-fe/common 1.4.0 → 1.4.2

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 (64) hide show
  1. package/api/auth-api.service.d.ts +14 -0
  2. package/api/platform-ui.service.d.ts +1 -0
  3. package/api/public-api.d.ts +1 -0
  4. package/array-form-table/form/component.d.ts +7 -3
  5. package/assets/icons/icon-refresh-drag.svg +1 -0
  6. package/authorization/authorization.d.ts +27 -0
  7. package/authorization/constants.d.ts +11 -0
  8. package/authorization/interceptor.service.d.ts +2 -0
  9. package/authorization/public-api.d.ts +3 -0
  10. package/authorization/session-manage.service.d.ts +2 -4
  11. package/authorization/state.service.d.ts +6 -30
  12. package/authorization/storage-token.d.ts +4 -10
  13. package/business/resource-select/exports/project-selector/component.d.ts +1 -0
  14. package/core/abstract/base-nested-form-control.d.ts +1 -1
  15. package/core/directives/feature-gate.directive.d.ts +2 -1
  16. package/core/pipes/minimum-format.pipe.d.ts +1 -1
  17. package/core/services/feature-gate.service.d.ts +1 -0
  18. package/core/types/commons.d.ts +2 -0
  19. package/core/types/k8s/crd.d.ts +64 -0
  20. package/core/types/resource-definitions.d.ts +3 -3
  21. package/core/utils/cache-store.d.ts +15 -13
  22. package/core/utils/common.d.ts +1 -0
  23. package/core/utils/version.d.ts +1 -1
  24. package/effect-directive/event.directive.d.ts +36 -0
  25. package/esm2022/api/auth-api.service.mjs +34 -0
  26. package/esm2022/api/platform-ui.service.mjs +2 -1
  27. package/esm2022/api/public-api.mjs +2 -1
  28. package/esm2022/array-form-table/form/component.mjs +30 -15
  29. package/esm2022/authorization/authorization.mjs +157 -0
  30. package/esm2022/authorization/constants.mjs +15 -0
  31. package/esm2022/authorization/interceptor.service.mjs +32 -10
  32. package/esm2022/authorization/public-api.mjs +4 -1
  33. package/esm2022/authorization/session-manage.service.mjs +11 -24
  34. package/esm2022/authorization/state.service.mjs +46 -140
  35. package/esm2022/authorization/storage-token.mjs +12 -88
  36. package/esm2022/business/resource-select/exports/project-selector/component.mjs +14 -6
  37. package/esm2022/business/resource-select/internals/data-grid/component.mjs +2 -2
  38. package/esm2022/core/directives/feature-gate.directive.mjs +7 -4
  39. package/esm2022/core/guards/feature.guard.mjs +3 -2
  40. package/esm2022/core/pipes/minimum-format.pipe.mjs +4 -3
  41. package/esm2022/core/services/feature-gate.service.mjs +4 -3
  42. package/esm2022/core/types/commons.mjs +1 -1
  43. package/esm2022/core/types/k8s/crd.mjs +8 -1
  44. package/esm2022/core/types/resource-definitions.mjs +2 -2
  45. package/esm2022/core/utils/cache-store.mjs +56 -29
  46. package/esm2022/core/utils/common.mjs +9 -1
  47. package/esm2022/effect-directive/event.directive.mjs +79 -4
  48. package/esm2022/k8s-resource-list/footer/component.mjs +7 -5
  49. package/esm2022/multi-search/multi-search-tags/component.mjs +2 -2
  50. package/esm2022/multi-search/types.mjs +1 -1
  51. package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +2 -2
  52. package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +3 -8
  53. package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +2 -2
  54. package/esm2022/pod-status/component.mjs +34 -55
  55. package/esm2022/searchable-selector/component.mjs +2 -2
  56. package/esm2022/widget/date-range-picker/component.mjs +1 -2
  57. package/esm2022/widget/status-icon/status-icon.component.mjs +1 -1
  58. package/multi-search/types.d.ts +1 -0
  59. package/package.json +1 -1
  60. package/page-scaffold/page/notices/notice.component.d.ts +1 -1
  61. package/pod-status/component.d.ts +1 -3
  62. package/styles/tailwind-preset.scss +1 -1
  63. package/table/helper.d.ts +1 -1
  64. package/table/module.d.ts +1 -1
@@ -1,98 +1,22 @@
1
- import { ID_TOKEN_KEY, REFRESH_TOKEN_KEY, STORAGE_TYPE_KEY, } from './state.service';
2
- let sessionTokenShareChannel;
3
- const SESSION_TOKEN_SHARE_CHANNEL = 'SESSION_TOKEN_SHARE_CHANNEL';
4
- const SESSION_CLOSE_TIMESTAMP = 'session_close_timestamp';
5
- const recordSessionTimestamp = () => {
6
- sessionStorage.setItem(SESSION_CLOSE_TIMESTAMP, Date.now().toString());
7
- };
8
- const getStorage = (storageType) => storageType === 'session' ? sessionStorage : localStorage;
9
- export function readStorageType() {
10
- return (localStorage.getItem(STORAGE_TYPE_KEY) === 'session' ? 'session' : 'local');
11
- }
1
+ import { ID_TOKEN_KEY } from './constants';
2
+ const APP_ALIVE_RECORD = 'app_alive_record';
12
3
  export function cleanStorageToken() {
13
4
  localStorage.removeItem(ID_TOKEN_KEY);
14
- localStorage.removeItem(REFRESH_TOKEN_KEY);
15
- sessionStorage.removeItem(ID_TOKEN_KEY);
16
- sessionStorage.removeItem(REFRESH_TOKEN_KEY);
17
5
  }
18
6
  export function writeStorageToken(token) {
19
- cleanStorageToken();
20
- sessionStorage.removeItem(SESSION_CLOSE_TIMESTAMP);
21
- const storage = getStorage(token.storageType);
22
- storage.setItem(ID_TOKEN_KEY, token.idToken);
23
- storage.setItem(REFRESH_TOKEN_KEY, token.refreshToken);
24
- localStorage.setItem(STORAGE_TYPE_KEY, token.storageType);
25
- if (token.storageType === 'session') {
26
- setupSessionTokenShareChannel();
27
- }
28
- else {
29
- closeSessionTokenShareChannel();
7
+ if (!token) {
8
+ return;
30
9
  }
10
+ cleanStorageToken();
11
+ localStorage.setItem(ID_TOKEN_KEY, token);
31
12
  }
32
13
  export function readStorageToken() {
33
- const storageType = readStorageType();
34
- if (storageType === 'session') {
35
- const sessionTimestamp = sessionStorage.getItem(SESSION_CLOSE_TIMESTAMP);
36
- sessionStorage.removeItem(SESSION_CLOSE_TIMESTAMP);
37
- if (sessionTimestamp &&
38
- Date.now() - parseInt(sessionTimestamp) > 30 * 1000) {
39
- // 浏览器恢复标签时清除 session token
40
- cleanStorageToken();
41
- console.warn('session timeout');
42
- }
43
- setupSessionTokenShareChannel();
44
- }
45
- const storage = getStorage(storageType);
46
- return {
47
- storageType,
48
- idToken: storage.getItem(ID_TOKEN_KEY),
49
- refreshToken: storage.getItem(REFRESH_TOKEN_KEY),
50
- };
14
+ return localStorage.getItem(ID_TOKEN_KEY);
51
15
  }
52
- export function asyncReadStorageToken() {
53
- const storageToken = readStorageToken();
54
- if (storageToken.storageType === 'session' && !storageToken.idToken) {
55
- return new Promise(resolve => {
56
- const timer = window.setTimeout(() => {
57
- console.warn('request session token timeout');
58
- sessionTokenShareChannel.removeEventListener('message', receiveSessionToken);
59
- resolve({});
60
- }, 50);
61
- function receiveSessionToken({ data, }) {
62
- if (data.type === 'provide') {
63
- window.clearTimeout(timer);
64
- sessionTokenShareChannel.removeEventListener('message', receiveSessionToken);
65
- writeStorageToken(data.token);
66
- resolve(data.token);
67
- }
68
- }
69
- sessionTokenShareChannel.addEventListener('message', receiveSessionToken);
70
- sessionTokenShareChannel.postMessage({ type: 'request' });
71
- });
72
- }
73
- return Promise.resolve(storageToken);
74
- }
75
- function setupSessionTokenShareChannel() {
76
- if (sessionTokenShareChannel) {
77
- return;
78
- }
79
- sessionTokenShareChannel = new BroadcastChannel(SESSION_TOKEN_SHARE_CHANNEL);
80
- sessionTokenShareChannel.addEventListener('message', ({ data }) => {
81
- if (data.type === 'request') {
82
- sessionTokenShareChannel.postMessage({
83
- type: 'provide',
84
- token: readStorageToken(),
85
- });
86
- }
87
- });
88
- window.addEventListener('beforeunload', recordSessionTimestamp);
16
+ export function refreshStorageAliveRecord() {
17
+ localStorage.setItem(APP_ALIVE_RECORD, Date.now().toString());
89
18
  }
90
- function closeSessionTokenShareChannel() {
91
- if (!sessionTokenShareChannel) {
92
- return;
93
- }
94
- sessionTokenShareChannel.close();
95
- sessionTokenShareChannel = null;
96
- window.removeEventListener('beforeunload', recordSessionTimestamp);
19
+ export function readStorageAliveRecord() {
20
+ return parseInt(localStorage.getItem(APP_ALIVE_RECORD));
97
21
  }
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hdXRob3JpemF0aW9uL3N0b3JhZ2UtdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixpQkFBaUIsRUFDakIsZ0JBQWdCLEdBRWpCLE1BQU0saUJBQWlCLENBQUM7QUFFekIsSUFBSSx3QkFBMEMsQ0FBQztBQUUvQyxNQUFNLDJCQUEyQixHQUFHLDZCQUE2QixDQUFDO0FBRWxFLE1BQU0sdUJBQXVCLEdBQUcseUJBQXlCLENBQUM7QUFFMUQsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLEVBQUU7SUFDbEMsY0FBYyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsR0FBRyxDQUFDLFdBQXdCLEVBQVcsRUFBRSxDQUN2RCxXQUFXLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztBQWU1RCxNQUFNLFVBQVUsZUFBZTtJQUM3QixPQUFPLENBQ0wsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQzVELENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUI7SUFDL0IsWUFBWSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN0QyxZQUFZLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFM0MsY0FBYyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxjQUFjLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUVE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LENBQUMsQ0FBQztZQUUxRSx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELFNBQVMsNkJBQTZCO0lBQ3BDLElBQUksd0JBQXdCLEVBQUUsQ0FBQztRQUM3QixPQUFPO0lBQ1QsQ0FBQztJQUVELHdCQUF3QixHQUFHLElBQUksZ0JBQWdCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUU3RSx3QkFBd0IsQ0FBQyxnQkFBZ0IsQ0FDdkMsU0FBUyxFQUNULENBQUMsRUFBRSxJQUFJLEVBQXVDLEVBQUUsRUFBRTtRQUNoRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUIsd0JBQXdCLENBQUMsV0FBVyxDQUFDO2dCQUNuQyxJQUFJLEVBQUUsU0FBUztnQkFDZixLQUFLLEVBQUUsZ0JBQWdCLEVBQUU7YUFDRCxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUMsQ0FDRixDQUFDO0lBRUYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRCxTQUFTLDZCQUE2QjtJQUNwQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUM5QixPQUFPO0lBQ1QsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pDLHdCQUF3QixHQUFHLElBQUksQ0FBQztJQUVoQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFLHNCQUFzQixDQUFDLENBQUM7QUFDckUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIElEX1RPS0VOX0tFWSxcbiAgUkVGUkVTSF9UT0tFTl9LRVksXG4gIFNUT1JBR0VfVFlQRV9LRVksXG4gIFN0b3JhZ2VUeXBlLFxufSBmcm9tICcuL3N0YXRlLnNlcnZpY2UnO1xuXG5sZXQgc2Vzc2lvblRva2VuU2hhcmVDaGFubmVsOiBCcm9hZGNhc3RDaGFubmVsO1xuXG5jb25zdCBTRVNTSU9OX1RPS0VOX1NIQVJFX0NIQU5ORUwgPSAnU0VTU0lPTl9UT0tFTl9TSEFSRV9DSEFOTkVMJztcblxuY29uc3QgU0VTU0lPTl9DTE9TRV9USU1FU1RBTVAgPSAnc2Vzc2lvbl9jbG9zZV90aW1lc3RhbXAnO1xuXG5jb25zdCByZWNvcmRTZXNzaW9uVGltZXN0YW1wID0gKCkgPT4ge1xuICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFNFU1NJT05fQ0xPU0VfVElNRVNUQU1QLCBEYXRlLm5vdygpLnRvU3RyaW5nKCkpO1xufTtcblxuY29uc3QgZ2V0U3RvcmFnZSA9IChzdG9yYWdlVHlwZTogU3RvcmFnZVR5cGUpOiBTdG9yYWdlID0+XG4gIHN0b3JhZ2VUeXBlID09PSAnc2Vzc2lvbicgPyBzZXNzaW9uU3RvcmFnZSA6IGxvY2FsU3RvcmFnZTtcblxudHlwZSBTZXNzaW9uVG9rZW5TaGFyZURhdGEgPVxuICB8IHtcbiAgICAgIHR5cGU6ICdwcm92aWRlJztcbiAgICAgIHRva2VuOiBTdG9yYWdlVG9rZW47XG4gICAgfVxuICB8IHsgdHlwZTogJ3JlcXVlc3QnIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmFnZVRva2VuIHtcbiAgc3RvcmFnZVR5cGU6IFN0b3JhZ2VUeXBlO1xuICBpZFRva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFN0b3JhZ2VUeXBlKCkge1xuICByZXR1cm4gKFxuICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFNUT1JBR0VfVFlQRV9LRVkpID09PSAnc2Vzc2lvbicgPyAnc2Vzc2lvbicgOiAnbG9jYWwnXG4gICkgYXMgU3RvcmFnZVR5cGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhblN0b3JhZ2VUb2tlbigpIHtcbiAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oSURfVE9LRU5fS0VZKTtcbiAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oUkVGUkVTSF9UT0tFTl9LRVkpO1xuXG4gIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oSURfVE9LRU5fS0VZKTtcbiAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShSRUZSRVNIX1RPS0VOX0tFWSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZVN0b3JhZ2VUb2tlbih0b2tlbjogU3RvcmFnZVRva2VuKSB7XG4gIGNsZWFuU3RvcmFnZVRva2VuKCk7XG4gIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oU0VTU0lPTl9DTE9TRV9USU1FU1RBTVApO1xuXG4gIGNvbnN0IHN0b3JhZ2UgPSBnZXRTdG9yYWdlKHRva2VuLnN0b3JhZ2VUeXBlKTtcblxuICBzdG9yYWdlLnNldEl0ZW0oSURfVE9LRU5fS0VZLCB0b2tlbi5pZFRva2VuKTtcbiAgc3RvcmFnZS5zZXRJdGVtKFJFRlJFU0hfVE9LRU5fS0VZLCB0b2tlbi5yZWZyZXNoVG9rZW4pO1xuICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShTVE9SQUdFX1RZUEVfS0VZLCB0b2tlbi5zdG9yYWdlVHlwZSk7XG5cbiAgaWYgKHRva2VuLnN0b3JhZ2VUeXBlID09PSAnc2Vzc2lvbicpIHtcbiAgICBzZXR1cFNlc3Npb25Ub2tlblNoYXJlQ2hhbm5lbCgpO1xuICB9IGVsc2Uge1xuICAgIGNsb3NlU2Vzc2lvblRva2VuU2hhcmVDaGFubmVsKCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRTdG9yYWdlVG9rZW4oKTogUGFydGlhbDxTdG9yYWdlVG9rZW4+IHtcbiAgY29uc3Qgc3RvcmFnZVR5cGUgPSByZWFkU3RvcmFnZVR5cGUoKTtcblxuICBpZiAoc3RvcmFnZVR5cGUgPT09ICdzZXNzaW9uJykge1xuICAgIGNvbnN0IHNlc3Npb25UaW1lc3RhbXAgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFNFU1NJT05fQ0xPU0VfVElNRVNUQU1QKTtcbiAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFNFU1NJT05fQ0xPU0VfVElNRVNUQU1QKTtcblxuICAgIGlmIChcbiAgICAgIHNlc3Npb25UaW1lc3RhbXAgJiZcbiAgICAgIERhdGUubm93KCkgLSBwYXJzZUludChzZXNzaW9uVGltZXN0YW1wKSA+IDMwICogMTAwMFxuICAgICkge1xuICAgICAgLy8g5rWP6KeI5Zmo5oGi5aSN5qCH562+5pe25riF6ZmkIHNlc3Npb24gdG9rZW5cbiAgICAgIGNsZWFuU3RvcmFnZVRva2VuKCk7XG4gICAgICBjb25zb2xlLndhcm4oJ3Nlc3Npb24gdGltZW91dCcpO1xuICAgIH1cblxuICAgIHNldHVwU2Vzc2lvblRva2VuU2hhcmVDaGFubmVsKCk7XG4gIH1cblxuICBjb25zdCBzdG9yYWdlID0gZ2V0U3RvcmFnZShzdG9yYWdlVHlwZSk7XG5cbiAgcmV0dXJuIHtcbiAgICBzdG9yYWdlVHlwZSxcbiAgICBpZFRva2VuOiBzdG9yYWdlLmdldEl0ZW0oSURfVE9LRU5fS0VZKSxcbiAgICByZWZyZXNoVG9rZW46IHN0b3JhZ2UuZ2V0SXRlbShSRUZSRVNIX1RPS0VOX0tFWSksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3luY1JlYWRTdG9yYWdlVG9rZW4oKTogUHJvbWlzZTxQYXJ0aWFsPFN0b3JhZ2VUb2tlbj4+IHtcbiAgY29uc3Qgc3RvcmFnZVRva2VuID0gcmVhZFN0b3JhZ2VUb2tlbigpO1xuXG4gIGlmIChzdG9yYWdlVG9rZW4uc3RvcmFnZVR5cGUgPT09ICdzZXNzaW9uJyAmJiAhc3RvcmFnZVRva2VuLmlkVG9rZW4pIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICBjb25zdCB0aW1lciA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc29sZS53YXJuKCdyZXF1ZXN0IHNlc3Npb24gdG9rZW4gdGltZW91dCcpO1xuXG4gICAgICAgIHNlc3Npb25Ub2tlblNoYXJlQ2hhbm5lbC5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgICAgICAgICdtZXNzYWdlJyxcbiAgICAgICAgICByZWNlaXZlU2Vzc2lvblRva2VuLFxuICAgICAgICApO1xuICAgICAgICByZXNvbHZlKHt9KTtcbiAgICAgIH0sIDUwKTtcblxuICAgICAgZnVuY3Rpb24gcmVjZWl2ZVNlc3Npb25Ub2tlbih7XG4gICAgICAgIGRhdGEsXG4gICAgICB9OiBNZXNzYWdlRXZlbnQ8U2Vzc2lvblRva2VuU2hhcmVEYXRhPikge1xuICAgICAgICBpZiAoZGF0YS50eXBlID09PSAncHJvdmlkZScpIHtcbiAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICAgICAgICBzZXNzaW9uVG9rZW5TaGFyZUNoYW5uZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICAgICdtZXNzYWdlJyxcbiAgICAgICAgICAgIHJlY2VpdmVTZXNzaW9uVG9rZW4sXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHdyaXRlU3RvcmFnZVRva2VuKGRhdGEudG9rZW4pO1xuICAgICAgICAgIHJlc29sdmUoZGF0YS50b2tlbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc2Vzc2lvblRva2VuU2hhcmVDaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCByZWNlaXZlU2Vzc2lvblRva2VuKTtcblxuICAgICAgc2Vzc2lvblRva2VuU2hhcmVDaGFubmVsLnBvc3RNZXNzYWdlKHsgdHlwZTogJ3JlcXVlc3QnIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShzdG9yYWdlVG9rZW4pO1xufVxuXG5mdW5jdGlvbiBzZXR1cFNlc3Npb25Ub2tlblNoYXJlQ2hhbm5lbCgpIHtcbiAgaWYgKHNlc3Npb25Ub2tlblNoYXJlQ2hhbm5lbCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHNlc3Npb25Ub2tlblNoYXJlQ2hhbm5lbCA9IG5ldyBCcm9hZGNhc3RDaGFubmVsKFNFU1NJT05fVE9LRU5fU0hBUkVfQ0hBTk5FTCk7XG5cbiAgc2Vzc2lvblRva2VuU2hhcmVDaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgJ21lc3NhZ2UnLFxuICAgICh7IGRhdGEgfTogTWVzc2FnZUV2ZW50PFNlc3Npb25Ub2tlblNoYXJlRGF0YT4pID0+IHtcbiAgICAgIGlmIChkYXRhLnR5cGUgPT09ICdyZXF1ZXN0Jykge1xuICAgICAgICBzZXNzaW9uVG9rZW5TaGFyZUNoYW5uZWwucG9zdE1lc3NhZ2Uoe1xuICAgICAgICAgIHR5cGU6ICdwcm92aWRlJyxcbiAgICAgICAgICB0b2tlbjogcmVhZFN0b3JhZ2VUb2tlbigpLFxuICAgICAgICB9IGFzIFNlc3Npb25Ub2tlblNoYXJlRGF0YSk7XG4gICAgICB9XG4gICAgfSxcbiAgKTtcblxuICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignYmVmb3JldW5sb2FkJywgcmVjb3JkU2Vzc2lvblRpbWVzdGFtcCk7XG59XG5cbmZ1bmN0aW9uIGNsb3NlU2Vzc2lvblRva2VuU2hhcmVDaGFubmVsKCkge1xuICBpZiAoIXNlc3Npb25Ub2tlblNoYXJlQ2hhbm5lbCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHNlc3Npb25Ub2tlblNoYXJlQ2hhbm5lbC5jbG9zZSgpO1xuICBzZXNzaW9uVG9rZW5TaGFyZUNoYW5uZWwgPSBudWxsO1xuXG4gIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdiZWZvcmV1bmxvYWQnLCByZWNvcmRTZXNzaW9uVGltZXN0YW1wKTtcbn1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hdXRob3JpemF0aW9uL3N0b3JhZ2UtdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUzQyxNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDO0FBRTVDLE1BQU0sVUFBVSxpQkFBaUI7SUFDL0IsWUFBWSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQWE7SUFDN0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTztJQUNULENBQUM7SUFDRCxpQkFBaUIsRUFBRSxDQUFDO0lBRXBCLFlBQVksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QjtJQUN2QyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRF9UT0tFTl9LRVkgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IEFQUF9BTElWRV9SRUNPUkQgPSAnYXBwX2FsaXZlX3JlY29yZCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhblN0b3JhZ2VUb2tlbigpIHtcbiAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oSURfVE9LRU5fS0VZKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlU3RvcmFnZVRva2VuKHRva2VuOiBzdHJpbmcpIHtcbiAgaWYgKCF0b2tlbikge1xuICAgIHJldHVybjtcbiAgfVxuICBjbGVhblN0b3JhZ2VUb2tlbigpO1xuXG4gIGxvY2FsU3RvcmFnZS5zZXRJdGVtKElEX1RPS0VOX0tFWSwgdG9rZW4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFN0b3JhZ2VUb2tlbigpOiBzdHJpbmcge1xuICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oSURfVE9LRU5fS0VZKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZnJlc2hTdG9yYWdlQWxpdmVSZWNvcmQoKSB7XG4gIGxvY2FsU3RvcmFnZS5zZXRJdGVtKEFQUF9BTElWRV9SRUNPUkQsIERhdGUubm93KCkudG9TdHJpbmcoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkU3RvcmFnZUFsaXZlUmVjb3JkKCk6IG51bWJlciB7XG4gIHJldHVybiBwYXJzZUludChsb2NhbFN0b3JhZ2UuZ2V0SXRlbShBUFBfQUxJVkVfUkVDT1JEKSk7XG59XG4iXX0=
@@ -1,5 +1,7 @@
1
1
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, TemplateRef, ViewChild, } from '@angular/core';
2
+ import { takeUntil } from 'rxjs';
2
3
  import { AuthorizationStateService } from '../../../../authorization/public-api';
4
+ import { onDestroy } from '../../../../core/utils/observable';
3
5
  import { getWorkspaceParams, setWorkspaceParams } from '../../utils';
4
6
  import { ResourceSelectorPopupService } from './../../internals/selector-popup/service';
5
7
  import { ConfigurableField } from './../../types';
@@ -43,13 +45,19 @@ export class ProjectSelectorComponent {
43
45
  ConfigurableField.Time,
44
46
  ];
45
47
  this.isActive = false;
48
+ this.destroy$ = onDestroy();
46
49
  }
47
50
  ngAfterViewInit() {
48
- const email = this.auth.payloadSnapshot.email;
49
- const project = getWorkspaceParams(email)?.project;
50
- if (this.value && !project) {
51
- setWorkspaceParams({ project: this.value }, email);
52
- }
51
+ this.auth
52
+ .getAccountInfo()
53
+ .pipe(takeUntil(this.destroy$))
54
+ .subscribe(info => {
55
+ const email = info.email;
56
+ const project = getWorkspaceParams(email)?.project;
57
+ if (this.value && !project) {
58
+ setWorkspaceParams({ project: this.value }, email);
59
+ }
60
+ });
53
61
  }
54
62
  openPopup() {
55
63
  if (this.isActive) {
@@ -122,4 +130,4 @@ export class ProjectSelectorComponent {
122
130
  type: Output
123
131
  }] }); })();
124
132
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProjectSelectorComponent, { className: "ProjectSelectorComponent" }); })();
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9leHBvcnRzL3Byb2plY3Qtc2VsZWN0b3IvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9leHBvcnRzL3Byb2plY3Qtc2VsZWN0b3IvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3JFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBZ0IsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7SUNUNUQsK0JBR0M7SUFDQyw4QkFBNEM7SUFDOUMsaUJBQU87OztJQUNQLGdDQUdDO0lBQ0MsWUFDRjs7SUFBQSxpQkFBTzs7SUFETCxjQUNGO0lBREUsZ0VBQ0Y7Ozs7SUFTRiw0Q0FNQztJQUZDLHNOQUFjLHVCQUFnQixLQUFDO0lBRWhDLGlCQUFtQjs7O0lBRGxCLEFBRkEsQUFEQSw0Q0FBdUIsaURBQ1csdUJBRW5COztBRFJuQixNQUFNLE9BQU8sd0JBQXdCO0lBMEJuQyxZQUNtQixZQUEwQyxFQUMxQyxHQUFzQixFQUN0QixVQUFzQixFQUN0QixJQUErQjtRQUgvQixpQkFBWSxHQUFaLFlBQVks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e1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXV0aG9yaXphdGlvblN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2F1dGhvcml6YXRpb24vcHVibGljLWFwaSc7XG5pbXBvcnQgeyBnZXRXb3Jrc3BhY2VQYXJhbXMsIHNldFdvcmtzcGFjZVBhcmFtcyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuaW1wb3J0IHsgUmVzb3VyY2VTZWxlY3RvclBvcHVwUmVmIH0gZnJvbSAnLi8uLi8uLi9pbnRlcm5hbHMvc2VsZWN0b3ItcG9wdXAvcmVmJztcbmltcG9ydCB7IFJlc291cmNlU2VsZWN0b3JQb3B1cFNlcnZpY2UgfSBmcm9tICcuLy4uLy4uL2ludGVybmFscy9zZWxlY3Rvci1wb3B1cC9zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ3VyYWJsZUZpZWxkLCBEYXRhSXRlbUJhc2UgfSBmcm9tICcuLy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXByb2plY3Qtc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuLy4uL2NsdXN0ZXItc2VsZWN0b3Ivc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUHJvamVjdFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ3BvcHVwJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcG9wdXBUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKVxuICB2YWx1ZTogc3RyaW5nO1xuXG4gIC8vIOaYr+WQpuW8gOWQryBwb3B1cCDnsr7nroDmqKHlvI/vvIzpgILnlKjkuo7pnaLljIXlsZFcbiAgQElucHV0KClcbiAgcG9wdXBMaXRlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIGZpZWxkczogQ29uZmlndXJhYmxlRmllbGRbXTtcblxuICBAT3V0cHV0KClcbiAgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBkaXNwbGF5RmllbGRzOiBDb25maWd1cmFibGVGaWVsZFtdID0gW1xuICAgIENvbmZpZ3VyYWJsZUZpZWxkLlN0YXR1cyxcbiAgICBDb25maWd1cmFibGVGaWVsZC5UaW1lLFxuICBdO1xuXG4gIGlzQWN0aXZlID0gZmFsc2U7XG5cbiAgcG9wdXBSZWY6IFJlc291cmNlU2VsZWN0b3JQb3B1cFJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcHVwU2VydmljZTogUmVzb3VyY2VTZWxlY3RvclBvcHVwU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aDogQXV0aG9yaXphdGlvblN0YXRlU2VydmljZSxcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBlbWFpbCA9IHRoaXMuYXV0aC5wYXlsb2FkU25hcHNob3QuZW1haWw7XG4gICAgY29uc3QgcHJvamVjdCA9IGdldFdvcmtzcGFjZVBhcmFtcyhlbWFpbCk/LnByb2plY3Q7XG4gICAgaWYgKHRoaXMudmFsdWUgJiYgIXByb2plY3QpIHtcbiAgICAgIHNldFdvcmtzcGFjZVBhcmFtcyh7IHByb2plY3Q6IHRoaXMudmFsdWUgfSwgZW1haWwpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5Qb3B1cCgpIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSkge1xuICAgICAgdGhpcy5jbG9zZVBvcHVwKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNBY3RpdmUgPSB0cnVlO1xuICAgICAgdGhpcy5wb3B1cFJlZiA9IHRoaXMucG9wdXBTZXJ2aWNlLm9wZW4oe1xuICAgICAgICBvcmlnaW46IHRoaXMuZWxlbWVudFJlZixcbiAgICAgICAgY29udGVudDogdGhpcy5wb3B1cFRlbXBsYXRlLFxuICAgICAgICBwb3B1cExpdGU6IHRoaXMucG9wdXBMaXRlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnBvcHVwUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlUG9wdXAoKSB7XG4gICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMucG9wdXBSZWYuY2xvc2UoKTtcbiAgfVxuXG4gIG9uU2VsZWN0KGl0ZW06IERhdGFJdGVtQmFzZSkge1xuICAgIHRoaXMudmFsdWUgPSBpdGVtLm5hbWU7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGl0ZW0ubmFtZSk7XG4gICAgdGhpcy5jbG9zZVBvcHVwKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJhY2wtcmVzb3VyY2Utc2VsZWN0b3JcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2FjbC1yZXNvdXJjZS1zZWxlY3Rvci0tYWN0aXZlJzogaXNBY3RpdmUsXG4gICAgJ2FjbC1yZXNvdXJjZS1zZWxlY3Rvci0tbGl0ZSc6IHBvcHVwTGl0ZVxuICB9XCJcbiAgKGNsaWNrKT1cIm9wZW5Qb3B1cCgpXCJcbj5cbiAgPGRpdiBjbGFzcz1cImFjbC1yZXNvdXJjZS1zZWxlY3Rvcl9faXRlbSBwcm9qZWN0XCI+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwiaWNvbi13cmFwcGVyXCJcbiAgICAgICpuZ0lmPVwiIXBvcHVwTGl0ZVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJiaWNvbG9yOnByb2plY3RcIj48L2F1aS1pY29uPlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJ3aXRoLWNvbG9uXCJcbiAgICAgICpuZ0lmPVwiIXBvcHVwTGl0ZVwiXG4gICAgPlxuICAgICAge3sgJ3Byb2plY3QnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0ZWQtbmFtZSB0ZXh0LXRydW5jYXRlXCI+e3sgdmFsdWUgfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYWNsLXJlc291cmNlLXNlbGVjdG9yX19hcnJvd1wiPlxuICAgIDxhdWktaWNvbiBpY29uPVwiY2FyZXRfZG93bl9zXCI+PC9hdWktaWNvbj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwb3B1cD5cbiAgPGFjbC1wcm9qZWN0LWxpc3RcbiAgICBjb250ZXh0PVwicG9wdXBcIlxuICAgIFtwb3B1cExpdGVdPVwicG9wdXBMaXRlXCJcbiAgICBbZmllbGRzXT1cImZpZWxkcyB8fCBkaXNwbGF5RmllbGRzXCJcbiAgICAoc2VsZWN0SXRlbSk9XCJvblNlbGVjdCgkZXZlbnQpXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICA+PC9hY2wtcHJvamVjdC1saXN0PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9leHBvcnRzL3Byb2plY3Qtc2VsZWN0b3IvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9leHBvcnRzL3Byb2plY3Qtc2VsZWN0b3IvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3JFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBZ0IsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7SUNYNUQsK0JBR0M7SUFDQyw4QkFBNEM7SUFDOUMsaUJBQU87OztJQUNQLGdDQUdDO0lBQ0MsWUFDRjs7SUFBQSxpQkFBTzs7SUFETCxjQUNGO0lBREUsZ0VBQ0Y7Ozs7SUFTRiw0Q0FNQztJQUZDLHNOQUFjLHVCQUFnQixLQUFDO0lBRWhDLGlCQUFtQjs7O0lBRGxCLEFBRkEsQUFEQSw0Q0FBdUIsaURBQ1csdUJBRW5COztBRE5uQixNQUFNLE9BQU8sd0JBQXdCO0lBNEJuQyxZQUNtQixZQUEwQyxFQUMxQyxHQUFzQixFQUN0QixVQUFzQixFQUN0QixJQUErQjtRQUgvQixpQkFBWSxHQUFaLFlBQVksQ0FBOEI7UUFDMUMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUEyQjtRQWpCbEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXpDLGtCQUFhLEdBQXdCO1lBQ25DLGlCQUFpQixDQUFDLE1BQU07WUFDeEIsaUJBQWlCLENBQUMsSUFBSTtTQUN2QixDQUFDO1FBRUYsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUlqQixhQUFRLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFPcEIsQ0FBQztJQUVKLGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSTthQUNOLGNBQWMsRUFBRTthQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN6QixNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUM7WUFDbkQsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzNCLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNyRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3JDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDdkIsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhO2dCQUMzQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7YUFDMUIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFrQjtRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO3lGQTFFVSx3QkFBd0I7b0VBQXhCLHdCQUF3Qjs7Ozs7OztZQzVCckMsOEJBT0M7WUFEQyx3SUFBUyxlQUFXLEtBQUM7WUFFckIsOEJBQWlEO1lBTy9DLEFBTkEsMkVBR0MsOERBTUE7WUFHRCwrQkFBMEM7WUFBQSxZQUFXO1lBQ3ZELEFBRHVELGlCQUFPLEVBQ3hEO1lBQ04sOEJBQTBDO1lBQ3hDLDhCQUF5QztZQUU3QyxBQURFLGlCQUFNLEVBQ0Y7WUFFTiwwSEFBb0I7O1lBMUJsQixpRkFHRTtZQU1HLGVBQWdCO1lBQWhCLHFDQUFnQjtZQU1oQixjQUFnQjtZQUFoQixxQ0FBZ0I7WUFJdUIsZUFBVztZQUFYLCtCQUFXOzs7aUZETzVDLHdCQUF3QjtjQU5wQyxTQUFTOzJCQUNFLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNOzhKQUkvQyxhQUFhO2tCQURaLFNBQVM7bUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUlwQyxLQUFLO2tCQURKLEtBQUs7WUFLTixTQUFTO2tCQURSLEtBQUs7WUFJTixNQUFNO2tCQURMLEtBQUs7WUFJTixXQUFXO2tCQURWLE1BQU07O2tGQWRJLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEF1dGhvcml6YXRpb25TdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hdXRob3JpemF0aW9uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgb25EZXN0cm95IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS91dGlscy9vYnNlcnZhYmxlJztcbmltcG9ydCB7IGdldFdvcmtzcGFjZVBhcmFtcywgc2V0V29ya3NwYWNlUGFyYW1zIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBSZXNvdXJjZVNlbGVjdG9yUG9wdXBSZWYgfSBmcm9tICcuLy4uLy4uL2ludGVybmFscy9zZWxlY3Rvci1wb3B1cC9yZWYnO1xuaW1wb3J0IHsgUmVzb3VyY2VTZWxlY3RvclBvcHVwU2VydmljZSB9IGZyb20gJy4vLi4vLi4vaW50ZXJuYWxzL3NlbGVjdG9yLXBvcHVwL3NlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlndXJhYmxlRmllbGQsIERhdGFJdGVtQmFzZSB9IGZyb20gJy4vLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcHJvamVjdC1zZWxlY3RvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vLi4vY2x1c3Rlci1zZWxlY3Rvci9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9qZWN0U2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgncG9wdXAnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwb3B1cFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBzdHJpbmc7XG5cbiAgLy8g5piv5ZCm5byA5ZCvIHBvcHVwIOeyvueugOaooeW8j++8jOmAgueUqOS6jumdouWMheWxkVxuICBASW5wdXQoKVxuICBwb3B1cExpdGU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgZmllbGRzOiBDb25maWd1cmFibGVGaWVsZFtdO1xuXG4gIEBPdXRwdXQoKVxuICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGRpc3BsYXlGaWVsZHM6IENvbmZpZ3VyYWJsZUZpZWxkW10gPSBbXG4gICAgQ29uZmlndXJhYmxlRmllbGQuU3RhdHVzLFxuICAgIENvbmZpZ3VyYWJsZUZpZWxkLlRpbWUsXG4gIF07XG5cbiAgaXNBY3RpdmUgPSBmYWxzZTtcblxuICBwb3B1cFJlZjogUmVzb3VyY2VTZWxlY3RvclBvcHVwUmVmO1xuXG4gIGRlc3Ryb3kkID0gb25EZXN0cm95KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3B1cFNlcnZpY2U6IFJlc291cmNlU2VsZWN0b3JQb3B1cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGg6IEF1dGhvcml6YXRpb25TdGF0ZVNlcnZpY2UsXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hdXRoXG4gICAgICAuZ2V0QWNjb3VudEluZm8oKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShpbmZvID0+IHtcbiAgICAgICAgY29uc3QgZW1haWwgPSBpbmZvLmVtYWlsO1xuICAgICAgICBjb25zdCBwcm9qZWN0ID0gZ2V0V29ya3NwYWNlUGFyYW1zKGVtYWlsKT8ucHJvamVjdDtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgIXByb2plY3QpIHtcbiAgICAgICAgICBzZXRXb3Jrc3BhY2VQYXJhbXMoeyBwcm9qZWN0OiB0aGlzLnZhbHVlIH0sIGVtYWlsKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvcGVuUG9wdXAoKSB7XG4gICAgaWYgKHRoaXMuaXNBY3RpdmUpIHtcbiAgICAgIHRoaXMuY2xvc2VQb3B1cCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgIHRoaXMucG9wdXBSZWYgPSB0aGlzLnBvcHVwU2VydmljZS5vcGVuKHtcbiAgICAgICAgb3JpZ2luOiB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgIGNvbnRlbnQ6IHRoaXMucG9wdXBUZW1wbGF0ZSxcbiAgICAgICAgcG9wdXBMaXRlOiB0aGlzLnBvcHVwTGl0ZSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5wb3B1cFJlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjbG9zZVBvcHVwKCkge1xuICAgIHRoaXMuaXNBY3RpdmUgPSBmYWxzZTtcbiAgICB0aGlzLnBvcHVwUmVmLmNsb3NlKCk7XG4gIH1cblxuICBvblNlbGVjdChpdGVtOiBEYXRhSXRlbUJhc2UpIHtcbiAgICB0aGlzLnZhbHVlID0gaXRlbS5uYW1lO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChpdGVtLm5hbWUpO1xuICAgIHRoaXMuY2xvc2VQb3B1cCgpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYWNsLXJlc291cmNlLXNlbGVjdG9yXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdhY2wtcmVzb3VyY2Utc2VsZWN0b3ItLWFjdGl2ZSc6IGlzQWN0aXZlLFxuICAgICdhY2wtcmVzb3VyY2Utc2VsZWN0b3ItLWxpdGUnOiBwb3B1cExpdGVcbiAgfVwiXG4gIChjbGljayk9XCJvcGVuUG9wdXAoKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhY2wtcmVzb3VyY2Utc2VsZWN0b3JfX2l0ZW0gcHJvamVjdFwiPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cImljb24td3JhcHBlclwiXG4gICAgICAqbmdJZj1cIiFwb3B1cExpdGVcIlxuICAgID5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwiYmljb2xvcjpwcm9qZWN0XCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwid2l0aC1jb2xvblwiXG4gICAgICAqbmdJZj1cIiFwb3B1cExpdGVcIlxuICAgID5cbiAgICAgIHt7ICdwcm9qZWN0JyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInNlbGVjdGVkLW5hbWUgdGV4dC10cnVuY2F0ZVwiPnt7IHZhbHVlIH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFjbC1yZXNvdXJjZS1zZWxlY3Rvcl9fYXJyb3dcIj5cbiAgICA8YXVpLWljb24gaWNvbj1cImNhcmV0X2Rvd25fc1wiPjwvYXVpLWljb24+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcG9wdXA+XG4gIDxhY2wtcHJvamVjdC1saXN0XG4gICAgY29udGV4dD1cInBvcHVwXCJcbiAgICBbcG9wdXBMaXRlXT1cInBvcHVwTGl0ZVwiXG4gICAgW2ZpZWxkc109XCJmaWVsZHMgfHwgZGlzcGxheUZpZWxkc1wiXG4gICAgKHNlbGVjdEl0ZW0pPVwib25TZWxlY3QoJGV2ZW50KVwiXG4gICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgPjwvYWNsLXByb2plY3QtbGlzdD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -451,7 +451,7 @@ export class ResourceDataGridComponent {
451
451
  ]).pipe(map(([data, keyword]) => data.filter(item => {
452
452
  const k = keyword.toLowerCase();
453
453
  return (item.name.toLowerCase().includes(k) ||
454
- item.displayName.toLowerCase().includes(k));
454
+ item.displayName?.toLowerCase()?.includes(k));
455
455
  })));
456
456
  }
457
457
  initScroll(scrollEl) {
@@ -578,4 +578,4 @@ __decorate([
578
578
  type: Output
579
579
  }] }); })();
580
580
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ResourceDataGridComponent, { className: "ResourceDataGridComponent" }); })();
581
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvZGF0YS1ncmlkL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9idXNpbmVzcy9yZXNvdXJjZS1zZWxlY3QvaW50ZXJuYWxzL2RhdGEtZ3JpZC90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlELE9BQU8sRUFDTCxpQkFBaUIsR0FLbEIsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7OztJQ2JuQiwrQkFHQztJQUNDLGtCQUEwRDtJQUM1RCxpQkFBTTs7O0lBQ04sMEJBR087Ozs7SUFhTCxBQUpGLGdDQUdDLGVBS0U7SUFEQyxxTEFBUyxzQkFBZSxLQUFLLENBQUMsS0FBQztJQUUvQiwrQkFBaUM7SUFDbkMsaUJBQU87SUFDUCxnQ0FJQztJQURDLHFMQUFTLHNCQUFlLE1BQU0sQ0FBQyxLQUFDO0lBRWhDLCtCQUFpQztJQUVyQyxBQURFLGlCQUFPLEVBQ0Y7OztJQVpILGNBQThEO0lBQTlELG1GQUE4RDtJQU85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WUFBQSxZQUEyQzs7WUFFaEQsQUFGZ0QsaUJBQzdDLEVBQ0k7WUFPUCxBQU5BLDBFQUdDLCtEQU1BO1lBQ0Qsc0NBT0M7O1lBSEMsaUlBQWlCLHlCQUFxQixJQUFDO1lBR3hDLGlCQUFhO1lBQ2QsOEVBR0M7WUFnQkgsaUJBQU07WUFDTiw4RkFRQzs7OztZQTZNRCw0RUFHQzs7O1lBclFHLGNBQWdEO1lBQWhELG9FQUFnRDtZQUUxQyxlQUF5QztZQUF6Qyw0RkFBeUM7WUFFNUMsZUFBMkM7WUFBM0MscUlBQTJDO1lBSzdDLGVBQWdCO1lBQWhCLHFDQUFnQjtZQU1oQixjQUFlO1lBQWYsb0NBQWU7WUFHaEIsY0FBc0I7WUFJdEIsQUFGQSxBQURBLEFBREEsb0NBQXNCLHlFQUNzQyx3QkFDekMsbUJBRUQ7WUFLakIsZUFBd0I7WUFBeEIsNkNBQXdCO1lBbUIxQixjQUs0QztZQUw1QywwTEFLNEM7WUFpTjVDLGVBQWE7WUFBYixrQ0FBYTs7O0FEdk5kO0lBREMsZUFBZSxFQUFFOzhCQUNYLFVBQVU7d0RBQWlCO2lGQWpCdkIseUJBQXlCO2NBTnJDLFNBQVM7MkJBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNO2dCQUd4QixJQUFJO2tCQUExQixTQUFTO21CQUFDLE1BQU07WUFPakIsT0FBTztrQkFETixLQUFLO1lBSU4sU0FBUztrQkFEUixLQUFLO1lBSU4sSUFBSTtrQkFESCxLQUFLO1lBSU4sS0FBSyxNQUdMLElBQUk7a0JBREgsS0FBSztZQUlOLE1BQU07a0JBREwsS0FBSztZQUlOLGlCQUFpQjtrQkFEaEIsS0FBSztZQUlOLFdBQVc7a0JBRFYsS0FBSztZQUlOLE9BQU87a0JBRE4sS0FBSztZQUlOLFVBQVU7a0JBRFQsTUFBTTtZQUlQLE1BQU07a0JBREwsTUFBTTtZQUlQLE1BQU07a0JBREwsTUFBTTs7a0ZBeENJLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRpZmZlcmVuY2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgcGx1cmFsIH0gZnJvbSAncGx1cmFsaXplJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBVc2FnZUNvbnRleHQgfSBmcm9tICcuLi8uLi9iYXNlLWxpc3QnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhYmxlRmllbGQsXG4gIERhdGFJdGVtLFxuICBEYXRhSXRlbUJhc2UsXG4gIERhdGFUeXBlLFxuICBEaXNwbGF5TW9kZSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcmVzb3VyY2UtZGF0YS1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZURhdGFHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnZ3JpZCcpIHNldCBncmlkKGdyaWQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgaWYgKGdyaWQpIHtcbiAgICAgIHRoaXMuaW5pdFNjcm9sbChncmlkLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGNvbnRleHQ6IFVzYWdlQ29udGV4dCA9ICdwYWdlJztcblxuICBASW5wdXQoKVxuICBwb3B1cExpdGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkYXRhOiBEYXRhSXRlbUJhc2VbXSA9IFtdO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBkYXRhJDogT2JzZXJ2YWJsZTxEYXRhSXRlbUJhc2VbXT47XG5cbiAgQElucHV0KClcbiAgdHlwZTogRGF0YVR5cGUgPSAnbmFtZXNwYWNlJztcblxuICBASW5wdXQoKVxuICBmaWVsZHM6IENvbmZpZ3VyYWJsZUZpZWxkW10gPSBbQ29uZmlndXJhYmxlRmllbGQuVGltZV07XG5cbiAgQElucHV0KClcbiAgYWN0aW9uVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgc2VsZWN0ZWRVaWQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nID0gdHJ1ZTtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0SXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YUl0ZW1CYXNlPigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVsb2FkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGtleXdvcmQgPSAnJztcblxuICBmaWVsZHNEZWYgPSBDb25maWd1cmFibGVGaWVsZDtcblxuICBkaXNwbGF5TW9kZTogRGlzcGxheU1vZGUgPSAncm93JztcblxuICBmaWx0ZXIkID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nPigxKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRpc3BsYXlNb2RlS2V5ID0gJ2FjbF9kaXNwbGF5X21vZGUnO1xuXG4gIGRpc3BsYXlEYXRhJDogT2JzZXJ2YWJsZTxEYXRhSXRlbUJhc2VbXT47XG5cbiAgcHJpdmF0ZSBzY3JvbGxJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIHN0YXR1c0ljb246IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgbm9ybWFsOiAnY2hlY2tfY2lyY2xlX3MnLFxuICAgIGFibm9ybWFsOiAnZXhjbGFtYXRpb25fdHJpYW5nbGVfcycsXG4gICAgZW5hYmxlZDogJ2NoZWNrX2NpcmNsZV9zJyxcbiAgICBkaXNhYmxlZDogJ21pbnVzX2NpcmNsZV9zJyxcbiAgfTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBkaXNwbGF5TW9kZSA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmRpc3BsYXlNb2RlS2V5KTtcbiAgICB0aGlzLmRpc3BsYXlNb2RlID1cbiAgICAgIHRoaXMuY29udGV4dCA9PT0gJ3BvcHVwJ1xuICAgICAgICA/IHRoaXMucG9wdXBMaXRlXG4gICAgICAgICAgPyAncm93LWxpdGUnXG4gICAgICAgICAgOiAncm93J1xuICAgICAgICA6IFsncm93JywgJ2NhcmQnXS5pbmNsdWRlcyhkaXNwbGF5TW9kZSlcbiAgICAgICAgPyAoZGlzcGxheU1vZGUgYXMgRGlzcGxheU1vZGUpXG4gICAgICAgIDogJ3Jvdyc7XG4gICAgdGhpcy5kaXNwbGF5RGF0YSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuZGF0YSQsXG4gICAgICB0aGlzLmZpbHRlciQucGlwZShzdGFydFdpdGgoJycpKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbZGF0YSwga2V5d29yZF0pID0+XG4gICAgICAgIGRhdGEuZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgICAgIGNvbnN0IGsgPSBrZXl3b3JkLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGl0ZW0ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGspIHx8XG4gICAgICAgICAgICBpdGVtLmRpc3BsYXlOYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaylcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNjcm9sbChzY3JvbGxFbDogSFRNTEVsZW1lbnQpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbnRleHQgPT09ICdwYWdlJyB8fFxuICAgICAgdGhpcy5zY3JvbGxJbml0aWFsaXplZCB8fFxuICAgICAgIXRoaXMuZGF0YT8ubGVuZ3RoXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuZGF0YS5maW5kSW5kZXgoXG4gICAgICBpdGVtID0+IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkID09PSB0aGlzLnNlbGVjdGVkVWlkLFxuICAgICk7XG4gICAgY29uc3Qgcm93SGVpZ2h0ID0gc2Nyb2xsRWwuc2Nyb2xsSGVpZ2h0IC8gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICBpZiAoXG4gICAgICBjdXJyZW50SW5kZXggPiAtMSAmJlxuICAgICAgcm93SGVpZ2h0ICogKGN1cnJlbnRJbmRleCArIDEpID4gc2Nyb2xsRWwub2Zmc2V0SGVpZ2h0XG4gICAgKSB7XG4gICAgICBzY3JvbGxFbC5zY3JvbGxUbyh7XG4gICAgICAgIHRvcDogcm93SGVpZ2h0ICogY3VycmVudEluZGV4LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgZ2V0SGlnaGxpZ2h0ZWROYW1lU3RycyA9IChpdGVtOiBEYXRhSXRlbUJhc2UpID0+IHtcbiAgICBpZiAoIXRoaXMua2V5d29yZCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IGl0ZW0ubmFtZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgfVxuICAgIGNvbnN0IG9yaWdpbmFsID0gaXRlbS5uYW1lO1xuICAgIGNvbnN0IHN0cnMgPSBpdGVtLm5hbWUudG9Mb3dlckNhc2UoKS5zcGxpdCh0aGlzLmtleXdvcmQudG9Mb3dlckNhc2UoKSk7XG4gICAgY29uc3QgcmV0OiBBcnJheTx7XG4gICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgICBpc0hpZ2hsaWdodGVkPzogYm9vbGVhbjtcbiAgICB9PiA9IFtdO1xuICAgIGxldCBwb3MgPSAwO1xuICAgIGZvciAoY29uc3QgW2ksIHN0cl0gb2Ygc3Rycy5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbnN0IGVuZCA9IHBvcyArIHN0ci5sZW5ndGg7XG4gICAgICByZXQucHVzaCh7XG4gICAgICAgIHRleHQ6IG9yaWdpbmFsLnNsaWNlKHBvcywgZW5kKSxcbiAgICAgIH0pO1xuICAgICAgaWYgKGkgIT09IHN0cnMubGVuZ3RoIC0gMSkge1xuICAgICAgICByZXQucHVzaCh7XG4gICAgICAgICAgdGV4dDogb3JpZ2luYWwuc2xpY2UoZW5kLCBlbmQgKyB0aGlzLmtleXdvcmQubGVuZ3RoKSxcbiAgICAgICAgICBpc0hpZ2hsaWdodGVkOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHBvcyA9IGVuZCArIHRoaXMua2V5d29yZC5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH07XG5cbiAgb25TZWxlY3QoaXRlbTogRGF0YUl0ZW1CYXNlKSB7XG4gICAgaWYgKFxuICAgICAgaXRlbS5zdGF0ZT8uZGlzYWJsZWQgfHxcbiAgICAgIHRoaXMuc2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRVaWQgPSBpdGVtLm5hbWU7XG4gICAgdGhpcy5zZWxlY3RJdGVtLmVtaXQoaXRlbSk7XG4gIH1cblxuICBzZXREaXNwbGF5TW9kZShtb2RlOiBEaXNwbGF5TW9kZSkge1xuICAgIHRoaXMuZGlzcGxheU1vZGUgPSBtb2RlO1xuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmRpc3BsYXlNb2RlS2V5LCBtb2RlKTtcbiAgfVxuXG4gIGtleXdvcmRDaGFuZ2Uoa2V5d29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXl3b3JkID0ga2V5d29yZDtcbiAgICB0aGlzLmZpbHRlciQubmV4dChrZXl3b3JkKTtcbiAgfVxuXG4gIGZpbHRlckRpc2FibGVkRGF0YShkYXRhOiBEYXRhSXRlbUJhc2VbXSwgY29udGV4dDogVXNhZ2VDb250ZXh0KSB7XG4gICAgLy8gd29ya2Fyb3VuZCBmb3IgdHlwaW5ncyBpbiB0ZW1wbGF0ZVxuICAgIHJldHVybiAoXG4gICAgICBjb250ZXh0ID09PSAncGFnZScgPyBkYXRhIDogZGF0YS5maWx0ZXIoaXRlbSA9PiAhaXRlbS5zdGF0ZT8uZGlzYWJsZWQpXG4gICAgKSBhcyBEYXRhSXRlbVtdO1xuICB9XG5cbiAgc29ydFdpdGhvdXRJc3RpbyA9IChkYXRhOiBEYXRhSXRlbUJhc2VbXSkgPT4ge1xuICAgIGNvbnN0IHdpdGhvdXRJc3RpbyA9IGRhdGEuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0/LnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uKTtcbiAgICByZXR1cm4gWy4uLmRpZmZlcmVuY2UoZGF0YSwgd2l0aG91dElzdGlvKSwgLi4ud2l0aG91dElzdGlvXTtcbiAgfTtcblxuICBwbHVyYWxGb3JtKHR5cGU6IERhdGFUeXBlKSB7XG4gICAgcmV0dXJuIHBsdXJhbCh0eXBlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICA8c3BhblxuICAgIGNsYXNzPVwiaGVhZGVyX190aXRsZVwiXG4gICAgW25nQ2xhc3NdPVwieyAnaGVhZGVyX190aXRsZS0tbGl0ZSc6IHBvcHVwTGl0ZSB9XCJcbiAgPlxuICAgIDxzcGFuPnt7IHR5cGUgfCBwdXJlOiBwbHVyYWxGb3JtIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgPjxzcGFuIGNsYXNzPVwiaGVhZGVyX19kZXNjXCJcbiAgICAgID7vvIh7eyAoZGlzcGxheURhdGEkIHwgYXN5bmMpPy5sZW5ndGggfHwgMCB9fe+8iTwvc3BhblxuICAgID5cbiAgPC9zcGFuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJoZWFkZXJfX2N1c3RvbVwiXG4gICAgKm5nSWY9XCIhcG9wdXBMaXRlXCJcbiAgPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthY2xSZXNvdXJjZUdyaWRIZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwidHctZmxleC0xXCJcbiAgICAqbmdJZj1cInBvcHVwTGl0ZVwiXG4gID48L2Rpdj5cbiAgPGF1aS1zZWFyY2hcbiAgICBbc2VhcmNoQnV0dG9uXT1cImZhbHNlXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2ZpbHRlcl9ieV9uYW1lX29yX2Rpc3BsYXlfbmFtZScgfCB0cmFuc2xhdGVcIlxuICAgIFtrZXl3b3JkXT1cImtleXdvcmRcIlxuICAgIChrZXl3b3JkQ2hhbmdlKT1cImtleXdvcmRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICBzaXplPVwic21hbGxcIlxuICA+PC9hdWktc2VhcmNoPlxuICA8c3BhblxuICAgIGNsYXNzPVwiaGVhZGVyX19kaXNwbGF5LW1vZGVcIlxuICAgICpuZ0lmPVwiY29udGV4dCA9PT0gJ3BhZ2UnXCJcbiAgPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInN3aXRjaC1idG5cIlxuICAgICAgW25nQ2xhc3NdPVwieyAnc3dpdGNoLWJ0bi0tc2VsZWN0ZWQnOiBkaXNwbGF5TW9kZSAhPT0gJ2NhcmQnIH1cIlxuICAgICAgKGNsaWNrKT1cInNldERpc3BsYXlNb2RlKCdyb3cnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJsaXN0XCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwic3dpdGNoLWJ0blwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdzd2l0Y2gtYnRuLS1zZWxlY3RlZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgfVwiXG4gICAgICAoY2xpY2spPVwic2V0RGlzcGxheU1vZGUoJ2NhcmQnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJncmlkXCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIlxuICAgICFsb2FkaW5nICYmXG4gICAgKGRpc3BsYXlEYXRhJFxuICAgICAgfCBhc3luY1xuICAgICAgfCBwdXJlOiBzb3J0V2l0aG91dElzdGlvXG4gICAgICB8IHB1cmU6IGZpbHRlckRpc2FibGVkRGF0YTpjb250ZXh0KSBhcyBkaXNwbGF5RGF0YVxuICBcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJncmlkXCJcbiAgICAqbmdJZj1cImRpc3BsYXlEYXRhLmxlbmd0aFwiXG4gICAgI2dyaWRcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnZ3JpZC0tY2FyZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgJiYgY29udGV4dCAhPT0gJ3BvcHVwJyxcbiAgICAgICdncmlkLS1wb3B1cCc6IGNvbnRleHQgPT09ICdwb3B1cCcsXG4gICAgICAnZ3JpZC0tcG9wdXAtLWxpdGUnOiBjb250ZXh0ID09PSAncG9wdXAnICYmIHBvcHVwTGl0ZVxuICAgIH1cIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJncmlkX19pdGVtXCJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXlEYXRhXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLXNlbGVjdGVkJzpcbiAgICAgICAgICBjb250ZXh0ID09PSAncG9wdXAnICYmIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZCxcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLWRpc2FibGVkJzogaXRlbS5zdGF0ZT8uZGlzYWJsZWRcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGl0ZW0pXCJcbiAgICAgIFthdHRyLmRhdGEtdGVzdF09XCJpdGVtLm5hbWUgKyAnLycgKyBpdGVtLmNsdXN0ZXJcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwiaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgICBbYXVpVG9vbHRpcERpc2FibGVkXT1cIiFpdGVtLnN0YXRlPy5kaXNhYmxlZCB8fCAhaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkXCJcbiAgICAgICAgY2xhc3M9XCJjaGVjay10cmlhbmdsZS1iYWRnZVwiXG4gICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwhLS0gaWNvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1pY29uXCI+XG4gICAgICAgIDxhY2wtcmVzb3VyY2UtaWNvblxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgIFtjb2xvcl09XCJcbiAgICAgICAgICAgIGNvbnRleHQgPT09ICdwb3B1cCcgJiZcbiAgICAgICAgICAgICFwb3B1cExpdGUgJiZcbiAgICAgICAgICAgIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZFxuICAgICAgICAgICAgICA/ICd3aGl0ZSdcbiAgICAgICAgICAgICAgOiAnYmx1ZSdcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtkaXNwbGF5TW9kZV09XCJkaXNwbGF5TW9kZVwiXG4gICAgICAgID48L2FjbC1yZXNvdXJjZS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5hbWUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtbmFtZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN0ciBvZiBnZXRIaWdobGlnaHRlZE5hbWVTdHJzKGl0ZW0pXCI+XG4gICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7IGhpZ2hsaWdodGVkOiBzdHIuaXNIaWdobGlnaHRlZCB9XCI+e3tcbiAgICAgICAgICAgICAgc3RyLnRleHRcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZGVzXCJcbiAgICAgICAgICAqbmdJZj1cIiFwb3B1cExpdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZGlzcGxheU5hbWVcIj57e1xuICAgICAgICAgICAgaXRlbS5kaXNwbGF5TmFtZVxuICAgICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5zOiBjbHVzdGVyIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGZsZXggZ3JpZF9fZmllbGQtY2x1c3RlclwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5DbHVzdGVyKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJiZWxvbmdlZC1jbHVzdGVyIHR3LWZsZXhcIlxuICAgICAgICAgIGF1aVRvb2x0aXA9XCJ7e1xuICAgICAgICAgICAgKCdiZWxvbmdlZF9jbHVzdGVyJyB8IHRyYW5zbGF0ZSkgKyAnOiAnICsgaXRlbS5jbHVzdGVyXG4gICAgICAgICAgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2JlbG9uZ2VkX2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHctdGV4dC1lbGxpcHNpcyB0dy1vdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICAgICAgPnt7IGl0ZW0uY2x1c3RlclxuICAgICAgICAgICAgfX08bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jbHVzdGVyRGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGl0ZW0uY2x1c3RlckFyY2ggfX1cbiAgICAgICAgICA8L2F1aS10YWc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBwcm9qZWN0OiBzdGF0dXMgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc3RhdHVzIHt7XG4gICAgICAgICAgJ2dyaWRfX2ZpZWxkLXN0YXR1cy0tJyArIGl0ZW0uc3RhdHVzXG4gICAgICAgIH19XCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZHMuaW5jbHVkZXMoZmllbGRzRGVmLlN0YXR1cylcIlxuICAgICAgPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAqbmdJZj1cInBvcHVwTGl0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJ0dy10ZXh0LWhlbHAtdGV4dCB0dy1tci04XCJcbiAgICAgICAgICA+e3sgJ3N0YXR1cycgfCB0cmFuc2xhdGUgfX06PC9sYWJlbFxuICAgICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdzdGF0dXMnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBbaWNvbl09XCJzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXVwiXG4gICAgICAgICAgW2JhY2tncm91bmRdPVwiXG4gICAgICAgICAgICBzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXS5lbmRzV2l0aCgnX3RyaWFuZ2xlX3MnKVxuICAgICAgICAgICAgICA/ICd0cmlhbmdsZSdcbiAgICAgICAgICAgICAgOiAnY2lyY2xlJ1xuICAgICAgICAgIFwiXG4gICAgICAgICAgY2xhc3M9XCJ7eyAnaWNvbi0nICsgaXRlbS5zdGF0dXMgfX1cIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAge3sgaXRlbS5zdGF0dXMgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBhc206IHNlcnZpY2UgbWVzaCAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnYmVsb25nZWRfc2VydmljZW1lc2gnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj4ge3sgaXRlbS5zZXJ2aWNlTWVzaE5hbWUgfX0gPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb25cIlxuICAgICAgICAgICAgPihJc3RpbyB7eyBpdGVtLnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2gpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgID57eyBpdGVtLmNsdXN0ZXJcbiAgICAgICAgICB9fTxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmNsdXN0ZXJEaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgaXRlbS5jbHVzdGVyQXJjaCB9fVxuICAgICAgICA8L2F1aS10YWc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBtZXNoIGdyb3VwIC0tPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2hHcm91cClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnY2x1c3RlcicgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IGl0ZW0uY2x1c3RlciB9fSA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYXNtOiBpc3RpbyAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaEdyb3VwKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdJc3RpbycgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgPnt7IGl0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb24gfHwgKCdub3RfZGVwbG95ZWQnIHwgdHJhbnNsYXRlKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSB0aW1lIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLXRpbWVcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuVGltZSkgJiYgIXBvcHVwTGl0ZVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdjcmVhdGVkX2F0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3sgaXRlbS50aW1lc3RhbXAgfCBhY2xSZWxhdGl2ZVRpbWUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYWN0aW9uIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLWFjdGlvblwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuQWN0aW9uKSAmJlxuICAgICAgICAgIGFjdGlvblRlbXBsYXRlUmVmICYmXG4gICAgICAgICAgY29udGV4dCAhPT0gJ3BvcHVwJ1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0aW9uVGVtcGxhdGVSZWZcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0uX19vcmlnaW5cbiAgICAgICAgICB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YWNsLXJlc291cmNlLW5vLWRhdGFcbiAgICAqbmdJZj1cIiFwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgW2lzRmlsdGVyZWRdPVwiISFrZXl3b3JkXCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAocmVmcmVzaCk9XCJyZWxvYWQuZW1pdCgpXCJcbiAgICAoY2xlYXIpPVwia2V5d29yZENoYW5nZSgnJylcIlxuICA+PC9hY2wtcmVzb3VyY2Utbm8tZGF0YT5cbiAgPGFjbC16ZXJvLXN0YXRlXG4gICAgKm5nSWY9XCJwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgY29udGV4dD1cInRhYmxlXCJcbiAgPjwvYWNsLXplcm8tc3RhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxkaXZcbiAgY2xhc3M9XCJsb2FkaW5nXCJcbiAgKm5nSWY9XCJsb2FkaW5nXCJcbj5cbiAgPGFjbC1sb2FkaW5nLW1hc2tcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICB0eXBlPVwiY29udGVudFwiXG4gID48L2FjbC1sb2FkaW5nLW1hc2s+XG48L2Rpdj5cbiJdfQ==
581
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvZGF0YS1ncmlkL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9idXNpbmVzcy9yZXNvdXJjZS1zZWxlY3QvaW50ZXJuYWxzL2RhdGEtZ3JpZC90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlELE9BQU8sRUFDTCxpQkFBaUIsR0FLbEIsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7OztJQ2JuQiwrQkFHQztJQUNDLGtCQUEwRDtJQUM1RCxpQkFBTTs7O0lBQ04sMEJBR087Ozs7SUFhTCxBQUpGLGdDQUdDLGVBS0U7SUFEQyxxTEFBUyxzQkFBZSxLQUFLLENBQUMsS0FBQztJQUUvQiwrQkFBaUM7SUFDbkMsaUJBQU87SUFDUCxnQ0FJQztJQURDLHFMQUFTLHNCQUFlLE1BQU0sQ0FBQyxLQUFDO0lBRWhDLCtCQUFpQztJQUVyQyxBQURFLGlCQUFPLEVBQ0Y7OztJQVpILGNBQThEO0lBQTlELG1GQUE4RDtJQU85RCxlQUE4RDtJQUE5RCxtRkFBOEQ7OztJQXVDOUQsK0JBSVk7OztJQWtCUiw2QkFBK0Q7SUFDN0QsZ0NBQXFEO0lBQUEsWUFFbkQ7SUFBQSxpQkFBTzs7OztJQUZILGNBQThDO0lBQTlDLDBFQUE4QztJQUFDLGNBRW5EO0lBRm1ELGlDQUVuRDs7O0lBT0osNkJBQXVDO0lBQUEsWUFFckM7Ozs7SUFGcUMsY0FFckM7SUFGcUMseUNBRXJDOzs7SUFOSiwrQkFHQztJQUNDLDhIQUF1QztJQUd6QyxpQkFBTTs7O0lBSFcsY0FBc0I7SUFBdEIsMENBQXNCOzs7SUFtQmpDLDZCQUNDO0lBQUEsWUFBK0I7Ozs7SUFBL0IsY0FBK0I7SUFBL0IsMkRBQStCOzs7SUFHcEMsbUNBSUM7SUFDQyxZQUNGO0lBQUEsaUJBQVU7OztJQURSLGNBQ0Y7SUFERSxvREFDRjs7O0lBbkJGLEFBSkYsK0JBR0MsZUFNRTs7SUFDQyxnQ0FBeUI7SUFBQSxZQUFvQzs7SUFBQSxpQkFBTztJQUNwRSxnQ0FDRztJQUFBLFlBQ0M7SUFBQSw4SEFDQztJQUVMLGlCQUFPO0lBQ1AscUhBSUM7SUFJTCxBQURFLGlCQUFPLEVBQ0g7OztJQW5CRixjQUVHO0lBRkgseUdBRUc7SUFFc0IsZUFBb0M7SUFBcEMsOERBQW9DO0lBRTFELGVBQ0M7SUFERCxxQ0FDQztJQUFlLGNBQTZCO0lBQTdCLGlEQUE2QjtJQU83QyxjQUFzQjtJQUF0QiwwQ0FBc0I7OztJQWEzQixpQ0FHRztJQUFBLFlBQTJCOztJQUFBLGlCQUM3Qjs7SUFERSxjQUEyQjtJQUEzQiw4REFBMkI7OztJQVRoQywyQkFLQztJQUNDLGlIQUdHO0lBRUgsZ0NBQXlCO0lBQUEsWUFBMEI7O0lBQUEsaUJBQU87SUFDMUQsK0JBUVk7SUFDWixZQUNGOztJQUFBLGlCQUFNOzs7O0lBckJKLHlHQUVHO0lBSUEsY0FBZTtJQUFmLHVDQUFlO0lBSU8sZUFBMEI7SUFBMUIscURBQTBCO0lBUWpELGVBQW1DO0lBQW5DLHVDQUFtQztJQUxuQyxBQURBLHdEQUFnQyxpR0FLL0I7SUFHSCxjQUNGO0lBREUsc0VBQ0Y7OztJQVNJLDZCQUNHO0lBQUEsWUFBMEM7Ozs7SUFBMUMsY0FBMEM7SUFBMUMsc0VBQTBDOzs7SUFKL0MsQUFKRiwrQkFHQyxlQUMwQjtJQUFBLFlBQXdDOztJQUFBLGlCQUFPO0lBQ3hFLDRCQUFNO0lBQUMsWUFBMkI7SUFBQSxpQkFBTztJQUN6QywrQkFBaUI7SUFDZiwrSEFDRztJQUdQLEFBREUsaUJBQU0sRUFDRjs7O0lBUHFCLGVBQXdDO0lBQXhDLGtFQUF3QztJQUMxRCxlQUEyQjtJQUEzQix3REFBMkI7SUFFakIsZUFBa0M7SUFBbEMsc0RBQWtDOzs7SUFhL0MsNkJBQ0M7SUFBQSxZQUErQjs7OztJQUEvQixjQUErQjtJQUEvQiwyREFBK0I7OztJQUdwQyxtQ0FJQztJQUNDLFlBQ0Y7SUFBQSxpQkFBVTs7O0lBRFIsY0FDRjtJQURFLG9EQUNGOzs7SUFiQSxBQUpGLCtCQUdDLGVBQzBCO0lBQUEsWUFBMkI7O0lBQUEsaUJBQU87SUFDM0QsNEJBQ0c7SUFBQSxZQUNDO0lBQUEsK0hBQ0M7SUFFTCxpQkFBTztJQUNQLHNIQUlDO0lBR0gsaUJBQU07OztJQWRxQixlQUEyQjtJQUEzQixxREFBMkI7SUFFakQsZUFDQztJQURELHFDQUNDO0lBQWUsY0FBNkI7SUFBN0IsaURBQTZCO0lBTzdDLGNBQXNCO0lBQXRCLDBDQUFzQjs7O0lBWXpCLEFBSkYsK0JBR0MsZUFDMEI7SUFBQSxZQUEyQjs7SUFBQSxpQkFBTztJQUMzRCw0QkFBTTtJQUFBLFlBQW1CO0lBQzNCLEFBRDJCLGlCQUFPLEVBQzVCOzs7SUFGcUIsZUFBMkI7SUFBM0IscURBQTJCO0lBQzlDLGVBQW1CO0lBQW5CLCtDQUFtQjs7O0lBT3pCLEFBSkYsK0JBR0MsZUFDMEI7SUFBQSxZQUFhO0lBQUEsaUJBQU87SUFDN0MsNEJBQ0c7SUFBQSxZQUNIOztJQUNGLEFBREUsaUJBQU8sRUFDSDs7O0lBSnFCLGVBQWE7SUFBYiw2QkFBYTtJQUVuQyxlQUNIO0lBREcsdUdBQ0g7OztJQVFBLEFBSkYsK0JBR0MsZUFDMEI7SUFBQSxZQUE4Qjs7SUFBQSxpQkFBTztJQUM5RCw0QkFBTTtJQUFBLFlBQXNDOztJQUM5QyxBQUQ4QyxpQkFBTyxFQUMvQzs7O0lBRnFCLGVBQThCO0lBQTlCLHdEQUE4QjtJQUNqRCxlQUFzQztJQUF0Qyw2REFBc0M7Ozs7SUFHOUMsK0JBUUM7SUFOQyxrTEFBUyx3QkFBd0IsS0FBQztJQU9sQyw0QkFLZ0I7SUFDbEIsaUJBQU07Ozs7SUFMRixjQUFzQztJQUN0QyxBQURBLDJEQUFzQyx5RUFHcEM7Ozs7SUFqTFIsK0JBWUM7SUFKQyxtT0FBUyx3QkFBYyxLQUFDO0lBS3hCLGlIQUlDO0lBRUQsK0JBQTBDO0lBQ3hDLHdDQVVxQjtJQUN2QixpQkFBTTtJQUdKLEFBREYsK0JBQTBDLGNBQ3RCO0lBQ2hCLHlIQUErRDtJQUtqRSxpQkFBTTtJQUNOLHVHQUdDO0lBS0gsaUJBQU07SUFtSE4sQUFSQSxBQVhBLEFBUkEsQUF0QkEsQUFiQSxBQXhCQSxBQTNCQSx3R0FHQywyRkE2QkEsNEZBc0JBLDRGQWFBLDRGQXNCQSw0RkFRQSw0RkFXQSw0RkFhQTtJQVFILGlCQUFNOzs7O0lBektKLEFBREEsQUFQQSxnTUFJRSxvRUFHZ0MsMklBQ2tDOztJQUdqRSxjQUFnRDtJQUFoRCwyRUFBZ0Q7SUFPL0MsZUFBYTtJQVFiLEFBUEEsQUFEQSxrQ0FBYSxxSUFPWixtQ0FDMEI7SUFNRyxlQUErQjtJQUEvQixnRUFBK0I7SUFRNUQsY0FBZ0I7SUFBaEIsd0NBQWdCO0lBVWxCLGNBQXdDO0lBQXhDLHVFQUF3QztJQTZCeEMsY0FBdUM7SUFBdkMsc0VBQXVDO0lBc0J2QyxjQUE0QztJQUE1QywyRUFBNEM7SUFhNUMsY0FBNEM7SUFBNUMsMkVBQTRDO0lBc0I1QyxjQUFpRDtJQUFqRCxnRkFBaUQ7SUFRakQsY0FBaUQ7SUFBakQsZ0ZBQWlEO0lBV2pELGNBQW1EO0lBQW5ELHlGQUFtRDtJQVNuRCxjQUtUO0lBTFMsZ0lBS1Q7OztJQXRMRSxrQ0FTQztJQUNDLG1HQVlDO0lBeUtILGlCQUFNOzs7O0lBM0xKLDZMQUlFO0lBSWlCLGVBQWM7SUFBZCx3Q0FBYzs7OztJQW9MbkMsZ0RBTUM7SUFEQyxBQURBLHlPQUFXLG9CQUFhLEtBQUMsd05BQ2hCLHFCQUFjLEVBQUUsQ0FBQyxLQUFDO0lBQzVCLGlCQUF1Qjs7O0lBSHRCLEFBREEsNkNBQXdCLHFCQUNYOzs7SUFJZixxQ0FHa0I7OztJQW5OcEIsNkJBUUM7SUFpTUMsQUFoTUEsMkZBU0MsZ0hBNkxBOztJQUNELGlIQUdDOzs7Ozs7OztJQXhNRSxjQUF3QjtJQUF4Qiw0Q0FBd0I7SUErTHhCLGNBQW1EO0lBQW5ELG9JQUFtRDtJQU9uRCxlQUFrRDtJQUFsRCxtSUFBa0Q7OztJQUl2RCwrQkFHQztJQUNDLHVDQUdvQjtJQUN0QixpQkFBTTs7O0lBSEYsY0FBbUI7SUFBbkIsd0NBQW1COztBRDNPdkIsTUFBTSxPQUFPLHlCQUF5QjtJQU50QztRQWNFLFlBQU8sR0FBaUIsTUFBTSxDQUFDO1FBRy9CLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFHbEIsU0FBSSxHQUFtQixFQUFFLENBQUM7UUFNMUIsU0FBSSxHQUFhLFdBQVcsQ0FBQztRQUc3QixXQUFNLEdBQXdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFTdkQsWUFBTyxHQUFHLElBQUksQ0FBQztRQUdmLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUc5QyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUdwQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVsQyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBRWIsY0FBUyxHQUFHLGlCQUFpQixDQUFDO1FBRTlCLGdCQUFXLEdBQWdCLEtBQUssQ0FBQztRQUVqQyxZQUFPLEdBQUcsSUFBSSxhQUFhLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFdEIsbUJBQWMsR0FBRyxrQkFBa0IsQ0FBQztRQUk3QyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFbEMsZUFBVSxHQUEyQjtZQUNuQyxNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixRQUFRLEVBQUUsZ0JBQWdCO1NBQzNCLENBQUM7UUFtREYsMkJBQXNCLEdBQUcsQ0FBQyxJQUFrQixFQUFFLEVBQUU7WUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbEIsT0FBTztvQkFDTDt3QkFDRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7cUJBQ2hCO2lCQUNGLENBQUM7WUFDSixDQUFDO1lBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDdkUsTUFBTSxHQUFHLEdBR0osRUFBRSxDQUFDO1lBQ1IsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ1osS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUN0QyxNQUFNLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztnQkFDN0IsR0FBRyxDQUFDLElBQUksQ0FBQztvQkFDUCxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO2lCQUMvQixDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDMUIsR0FBRyxDQUFDLElBQUksQ0FBQzt3QkFDUCxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUNwRCxhQUFhLEVBQUUsSUFBSTtxQkFDcEIsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxDQUFDO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUM7UUE4QkYscUJBQWdCLEdBQUcsQ0FBQyxJQUFvQixFQUFFLEVBQUU7WUFDMUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLHVCQUF1QixDQUFDLENBQUM7WUFDekUsT0FBTyxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsRUFBRSxHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQztLQUtIO0lBbkxDLElBQXVCLElBQUksQ0FBQyxJQUE2QjtRQUN2RCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUEyREQsUUFBUTtRQUNOLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsV0FBVztZQUNkLElBQUksQ0FBQyxPQUFPLEtBQUssT0FBTztnQkFDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTO29CQUNkLENBQUMsQ0FBQyxVQUFVO29CQUNaLENBQUMsQ0FBQyxLQUFLO2dCQUNULENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO29CQUNyQyxDQUFDLENBQUUsV0FBMkI7b0JBQzlCLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDZCxJQUFJLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQztZQUNoQyxJQUFJLENBQUMsS0FBSztZQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNqQyxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNqQixNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDaEMsT0FBTyxDQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQzdDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sVUFBVSxDQUFDLFFBQXFCO1FBQ3RDLElBQ0UsSUFBSSxDQUFDLE9BQU8sS0FBSyxNQUFNO1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUI7WUFDdEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFDbEIsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQ3RDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQ3hELENBQUM7UUFDRixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNELElBQ0UsWUFBWSxHQUFHLENBQUMsQ0FBQztZQUNqQixTQUFTLEdBQUcsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFDdEQsQ0FBQztZQUNELFFBQVEsQ0FBQyxRQUFRLENBQUM7Z0JBQ2hCLEdBQUcsRUFBRSxTQUFTLEdBQUcsWUFBWTthQUM5QixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBaUNELFFBQVEsQ0FBQyxJQUFrQjtRQUN6QixJQUNFLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUTtZQUNwQixJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFDL0MsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBaUI7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQWU7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQW9CLEVBQUUsT0FBcUI7UUFDNUQscUNBQXFDO1FBQ3JDLE9BQU8sQ0FDTCxPQUFPLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQ3pELENBQUM7SUFDbEIsQ0FBQztJQU9ELFVBQVUsQ0FBQyxJQUFjO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7MEZBbkxVLHlCQUF5QjtvRUFBekIseUJBQXlCOzs7Ozs7O1lDMUJsQyxBQUpGLEFBREYsOEJBQW9CLGNBSWpCLFdBQ087WUFBQSxZQUF5Qzs7O1lBQUEsaUJBQzlDO1lBQUEsK0JBQ0U7WUFBQSxZQUEyQzs7WUFFaEQsQUFGZ0QsaUJBQzdDLEVBQ0k7WUFPUCxBQU5BLDBFQUdDLCtEQU1BO1lBQ0Qsc0NBT0M7O1lBSEMsaUlBQWlCLHlCQUFxQixJQUFDO1lBR3hDLGlCQUFhO1lBQ2QsOEVBR0M7WUFnQkgsaUJBQU07WUFDTiw4RkFRQzs7OztZQTZNRCw0RUFHQzs7O1lBclFHLGNBQWdEO1lBQWhELG9FQUFnRDtZQUUxQyxlQUF5QztZQUF6Qyw0RkFBeUM7WUFFNUMsZUFBMkM7WUFBM0MscUlBQTJDO1lBSzdDLGVBQWdCO1lBQWhCLHFDQUFnQjtZQU1oQixjQUFlO1lBQWYsb0NBQWU7WUFHaEIsY0FBc0I7WUFJdEIsQUFGQSxBQURBLEFBREEsb0NBQXNCLHlFQUNzQyx3QkFDekMsbUJBRUQ7WUFLakIsZUFBd0I7WUFBeEIsNkNBQXdCO1lBbUIxQixjQUs0QztZQUw1QywwTEFLNEM7WUFpTjVDLGVBQWE7WUFBYixrQ0FBYTs7O0FEdk5kO0lBREMsZUFBZSxFQUFFOzhCQUNYLFVBQVU7d0RBQWlCO2lGQWpCdkIseUJBQXlCO2NBTnJDLFNBQVM7MkJBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNO2dCQUd4QixJQUFJO2tCQUExQixTQUFTO21CQUFDLE1BQU07WUFPakIsT0FBTztrQkFETixLQUFLO1lBSU4sU0FBUztrQkFEUixLQUFLO1lBSU4sSUFBSTtrQkFESCxLQUFLO1lBSU4sS0FBSyxNQUdMLElBQUk7a0JBREgsS0FBSztZQUlOLE1BQU07a0JBREwsS0FBSztZQUlOLGlCQUFpQjtrQkFEaEIsS0FBSztZQUlOLFdBQVc7a0JBRFYsS0FBSztZQUlOLE9BQU87a0JBRE4sS0FBSztZQUlOLFVBQVU7a0JBRFQsTUFBTTtZQUlQLE1BQU07a0JBREwsTUFBTTtZQUlQLE1BQU07a0JBREwsTUFBTTs7a0ZBeENJLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRpZmZlcmVuY2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgcGx1cmFsIH0gZnJvbSAncGx1cmFsaXplJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBVc2FnZUNvbnRleHQgfSBmcm9tICcuLi8uLi9iYXNlLWxpc3QnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhYmxlRmllbGQsXG4gIERhdGFJdGVtLFxuICBEYXRhSXRlbUJhc2UsXG4gIERhdGFUeXBlLFxuICBEaXNwbGF5TW9kZSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcmVzb3VyY2UtZGF0YS1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZURhdGFHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnZ3JpZCcpIHNldCBncmlkKGdyaWQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgaWYgKGdyaWQpIHtcbiAgICAgIHRoaXMuaW5pdFNjcm9sbChncmlkLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGNvbnRleHQ6IFVzYWdlQ29udGV4dCA9ICdwYWdlJztcblxuICBASW5wdXQoKVxuICBwb3B1cExpdGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkYXRhOiBEYXRhSXRlbUJhc2VbXSA9IFtdO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBkYXRhJDogT2JzZXJ2YWJsZTxEYXRhSXRlbUJhc2VbXT47XG5cbiAgQElucHV0KClcbiAgdHlwZTogRGF0YVR5cGUgPSAnbmFtZXNwYWNlJztcblxuICBASW5wdXQoKVxuICBmaWVsZHM6IENvbmZpZ3VyYWJsZUZpZWxkW10gPSBbQ29uZmlndXJhYmxlRmllbGQuVGltZV07XG5cbiAgQElucHV0KClcbiAgYWN0aW9uVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgc2VsZWN0ZWRVaWQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nID0gdHJ1ZTtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0SXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YUl0ZW1CYXNlPigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVsb2FkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGtleXdvcmQgPSAnJztcblxuICBmaWVsZHNEZWYgPSBDb25maWd1cmFibGVGaWVsZDtcblxuICBkaXNwbGF5TW9kZTogRGlzcGxheU1vZGUgPSAncm93JztcblxuICBmaWx0ZXIkID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nPigxKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRpc3BsYXlNb2RlS2V5ID0gJ2FjbF9kaXNwbGF5X21vZGUnO1xuXG4gIGRpc3BsYXlEYXRhJDogT2JzZXJ2YWJsZTxEYXRhSXRlbUJhc2VbXT47XG5cbiAgcHJpdmF0ZSBzY3JvbGxJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIHN0YXR1c0ljb246IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgbm9ybWFsOiAnY2hlY2tfY2lyY2xlX3MnLFxuICAgIGFibm9ybWFsOiAnZXhjbGFtYXRpb25fdHJpYW5nbGVfcycsXG4gICAgZW5hYmxlZDogJ2NoZWNrX2NpcmNsZV9zJyxcbiAgICBkaXNhYmxlZDogJ21pbnVzX2NpcmNsZV9zJyxcbiAgfTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBkaXNwbGF5TW9kZSA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmRpc3BsYXlNb2RlS2V5KTtcbiAgICB0aGlzLmRpc3BsYXlNb2RlID1cbiAgICAgIHRoaXMuY29udGV4dCA9PT0gJ3BvcHVwJ1xuICAgICAgICA/IHRoaXMucG9wdXBMaXRlXG4gICAgICAgICAgPyAncm93LWxpdGUnXG4gICAgICAgICAgOiAncm93J1xuICAgICAgICA6IFsncm93JywgJ2NhcmQnXS5pbmNsdWRlcyhkaXNwbGF5TW9kZSlcbiAgICAgICAgICA/IChkaXNwbGF5TW9kZSBhcyBEaXNwbGF5TW9kZSlcbiAgICAgICAgICA6ICdyb3cnO1xuICAgIHRoaXMuZGlzcGxheURhdGEkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmRhdGEkLFxuICAgICAgdGhpcy5maWx0ZXIkLnBpcGUoc3RhcnRXaXRoKCcnKSksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2RhdGEsIGtleXdvcmRdKSA9PlxuICAgICAgICBkYXRhLmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgICBjb25zdCBrID0ga2V5d29yZC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpdGVtLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhrKSB8fFxuICAgICAgICAgICAgaXRlbS5kaXNwbGF5TmFtZT8udG9Mb3dlckNhc2UoKT8uaW5jbHVkZXMoaylcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNjcm9sbChzY3JvbGxFbDogSFRNTEVsZW1lbnQpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbnRleHQgPT09ICdwYWdlJyB8fFxuICAgICAgdGhpcy5zY3JvbGxJbml0aWFsaXplZCB8fFxuICAgICAgIXRoaXMuZGF0YT8ubGVuZ3RoXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuZGF0YS5maW5kSW5kZXgoXG4gICAgICBpdGVtID0+IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkID09PSB0aGlzLnNlbGVjdGVkVWlkLFxuICAgICk7XG4gICAgY29uc3Qgcm93SGVpZ2h0ID0gc2Nyb2xsRWwuc2Nyb2xsSGVpZ2h0IC8gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICBpZiAoXG4gICAgICBjdXJyZW50SW5kZXggPiAtMSAmJlxuICAgICAgcm93SGVpZ2h0ICogKGN1cnJlbnRJbmRleCArIDEpID4gc2Nyb2xsRWwub2Zmc2V0SGVpZ2h0XG4gICAgKSB7XG4gICAgICBzY3JvbGxFbC5zY3JvbGxUbyh7XG4gICAgICAgIHRvcDogcm93SGVpZ2h0ICogY3VycmVudEluZGV4LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgZ2V0SGlnaGxpZ2h0ZWROYW1lU3RycyA9IChpdGVtOiBEYXRhSXRlbUJhc2UpID0+IHtcbiAgICBpZiAoIXRoaXMua2V5d29yZCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IGl0ZW0ubmFtZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgfVxuICAgIGNvbnN0IG9yaWdpbmFsID0gaXRlbS5uYW1lO1xuICAgIGNvbnN0IHN0cnMgPSBpdGVtLm5hbWUudG9Mb3dlckNhc2UoKS5zcGxpdCh0aGlzLmtleXdvcmQudG9Mb3dlckNhc2UoKSk7XG4gICAgY29uc3QgcmV0OiBBcnJheTx7XG4gICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgICBpc0hpZ2hsaWdodGVkPzogYm9vbGVhbjtcbiAgICB9PiA9IFtdO1xuICAgIGxldCBwb3MgPSAwO1xuICAgIGZvciAoY29uc3QgW2ksIHN0cl0gb2Ygc3Rycy5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbnN0IGVuZCA9IHBvcyArIHN0ci5sZW5ndGg7XG4gICAgICByZXQucHVzaCh7XG4gICAgICAgIHRleHQ6IG9yaWdpbmFsLnNsaWNlKHBvcywgZW5kKSxcbiAgICAgIH0pO1xuICAgICAgaWYgKGkgIT09IHN0cnMubGVuZ3RoIC0gMSkge1xuICAgICAgICByZXQucHVzaCh7XG4gICAgICAgICAgdGV4dDogb3JpZ2luYWwuc2xpY2UoZW5kLCBlbmQgKyB0aGlzLmtleXdvcmQubGVuZ3RoKSxcbiAgICAgICAgICBpc0hpZ2hsaWdodGVkOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHBvcyA9IGVuZCArIHRoaXMua2V5d29yZC5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH07XG5cbiAgb25TZWxlY3QoaXRlbTogRGF0YUl0ZW1CYXNlKSB7XG4gICAgaWYgKFxuICAgICAgaXRlbS5zdGF0ZT8uZGlzYWJsZWQgfHxcbiAgICAgIHRoaXMuc2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRVaWQgPSBpdGVtLm5hbWU7XG4gICAgdGhpcy5zZWxlY3RJdGVtLmVtaXQoaXRlbSk7XG4gIH1cblxuICBzZXREaXNwbGF5TW9kZShtb2RlOiBEaXNwbGF5TW9kZSkge1xuICAgIHRoaXMuZGlzcGxheU1vZGUgPSBtb2RlO1xuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmRpc3BsYXlNb2RlS2V5LCBtb2RlKTtcbiAgfVxuXG4gIGtleXdvcmRDaGFuZ2Uoa2V5d29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXl3b3JkID0ga2V5d29yZDtcbiAgICB0aGlzLmZpbHRlciQubmV4dChrZXl3b3JkKTtcbiAgfVxuXG4gIGZpbHRlckRpc2FibGVkRGF0YShkYXRhOiBEYXRhSXRlbUJhc2VbXSwgY29udGV4dDogVXNhZ2VDb250ZXh0KSB7XG4gICAgLy8gd29ya2Fyb3VuZCBmb3IgdHlwaW5ncyBpbiB0ZW1wbGF0ZVxuICAgIHJldHVybiAoXG4gICAgICBjb250ZXh0ID09PSAncGFnZScgPyBkYXRhIDogZGF0YS5maWx0ZXIoaXRlbSA9PiAhaXRlbS5zdGF0ZT8uZGlzYWJsZWQpXG4gICAgKSBhcyBEYXRhSXRlbVtdO1xuICB9XG5cbiAgc29ydFdpdGhvdXRJc3RpbyA9IChkYXRhOiBEYXRhSXRlbUJhc2VbXSkgPT4ge1xuICAgIGNvbnN0IHdpdGhvdXRJc3RpbyA9IGRhdGEuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0/LnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uKTtcbiAgICByZXR1cm4gWy4uLmRpZmZlcmVuY2UoZGF0YSwgd2l0aG91dElzdGlvKSwgLi4ud2l0aG91dElzdGlvXTtcbiAgfTtcblxuICBwbHVyYWxGb3JtKHR5cGU6IERhdGFUeXBlKSB7XG4gICAgcmV0dXJuIHBsdXJhbCh0eXBlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICA8c3BhblxuICAgIGNsYXNzPVwiaGVhZGVyX190aXRsZVwiXG4gICAgW25nQ2xhc3NdPVwieyAnaGVhZGVyX190aXRsZS0tbGl0ZSc6IHBvcHVwTGl0ZSB9XCJcbiAgPlxuICAgIDxzcGFuPnt7IHR5cGUgfCBwdXJlOiBwbHVyYWxGb3JtIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgPjxzcGFuIGNsYXNzPVwiaGVhZGVyX19kZXNjXCJcbiAgICAgID7vvIh7eyAoZGlzcGxheURhdGEkIHwgYXN5bmMpPy5sZW5ndGggfHwgMCB9fe+8iTwvc3BhblxuICAgID5cbiAgPC9zcGFuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJoZWFkZXJfX2N1c3RvbVwiXG4gICAgKm5nSWY9XCIhcG9wdXBMaXRlXCJcbiAgPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthY2xSZXNvdXJjZUdyaWRIZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwidHctZmxleC0xXCJcbiAgICAqbmdJZj1cInBvcHVwTGl0ZVwiXG4gID48L2Rpdj5cbiAgPGF1aS1zZWFyY2hcbiAgICBbc2VhcmNoQnV0dG9uXT1cImZhbHNlXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2ZpbHRlcl9ieV9uYW1lX29yX2Rpc3BsYXlfbmFtZScgfCB0cmFuc2xhdGVcIlxuICAgIFtrZXl3b3JkXT1cImtleXdvcmRcIlxuICAgIChrZXl3b3JkQ2hhbmdlKT1cImtleXdvcmRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICBzaXplPVwic21hbGxcIlxuICA+PC9hdWktc2VhcmNoPlxuICA8c3BhblxuICAgIGNsYXNzPVwiaGVhZGVyX19kaXNwbGF5LW1vZGVcIlxuICAgICpuZ0lmPVwiY29udGV4dCA9PT0gJ3BhZ2UnXCJcbiAgPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInN3aXRjaC1idG5cIlxuICAgICAgW25nQ2xhc3NdPVwieyAnc3dpdGNoLWJ0bi0tc2VsZWN0ZWQnOiBkaXNwbGF5TW9kZSAhPT0gJ2NhcmQnIH1cIlxuICAgICAgKGNsaWNrKT1cInNldERpc3BsYXlNb2RlKCdyb3cnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJsaXN0XCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwic3dpdGNoLWJ0blwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdzd2l0Y2gtYnRuLS1zZWxlY3RlZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgfVwiXG4gICAgICAoY2xpY2spPVwic2V0RGlzcGxheU1vZGUoJ2NhcmQnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJncmlkXCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIlxuICAgICFsb2FkaW5nICYmXG4gICAgKGRpc3BsYXlEYXRhJFxuICAgICAgfCBhc3luY1xuICAgICAgfCBwdXJlOiBzb3J0V2l0aG91dElzdGlvXG4gICAgICB8IHB1cmU6IGZpbHRlckRpc2FibGVkRGF0YTpjb250ZXh0KSBhcyBkaXNwbGF5RGF0YVxuICBcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJncmlkXCJcbiAgICAqbmdJZj1cImRpc3BsYXlEYXRhLmxlbmd0aFwiXG4gICAgI2dyaWRcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnZ3JpZC0tY2FyZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgJiYgY29udGV4dCAhPT0gJ3BvcHVwJyxcbiAgICAgICdncmlkLS1wb3B1cCc6IGNvbnRleHQgPT09ICdwb3B1cCcsXG4gICAgICAnZ3JpZC0tcG9wdXAtLWxpdGUnOiBjb250ZXh0ID09PSAncG9wdXAnICYmIHBvcHVwTGl0ZVxuICAgIH1cIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJncmlkX19pdGVtXCJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXlEYXRhXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLXNlbGVjdGVkJzpcbiAgICAgICAgICBjb250ZXh0ID09PSAncG9wdXAnICYmIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZCxcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLWRpc2FibGVkJzogaXRlbS5zdGF0ZT8uZGlzYWJsZWRcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGl0ZW0pXCJcbiAgICAgIFthdHRyLmRhdGEtdGVzdF09XCJpdGVtLm5hbWUgKyAnLycgKyBpdGVtLmNsdXN0ZXJcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwiaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgICBbYXVpVG9vbHRpcERpc2FibGVkXT1cIiFpdGVtLnN0YXRlPy5kaXNhYmxlZCB8fCAhaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkXCJcbiAgICAgICAgY2xhc3M9XCJjaGVjay10cmlhbmdsZS1iYWRnZVwiXG4gICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwhLS0gaWNvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1pY29uXCI+XG4gICAgICAgIDxhY2wtcmVzb3VyY2UtaWNvblxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgIFtjb2xvcl09XCJcbiAgICAgICAgICAgIGNvbnRleHQgPT09ICdwb3B1cCcgJiZcbiAgICAgICAgICAgICFwb3B1cExpdGUgJiZcbiAgICAgICAgICAgIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZFxuICAgICAgICAgICAgICA/ICd3aGl0ZSdcbiAgICAgICAgICAgICAgOiAnYmx1ZSdcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtkaXNwbGF5TW9kZV09XCJkaXNwbGF5TW9kZVwiXG4gICAgICAgID48L2FjbC1yZXNvdXJjZS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5hbWUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtbmFtZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN0ciBvZiBnZXRIaWdobGlnaHRlZE5hbWVTdHJzKGl0ZW0pXCI+XG4gICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7IGhpZ2hsaWdodGVkOiBzdHIuaXNIaWdobGlnaHRlZCB9XCI+e3tcbiAgICAgICAgICAgICAgc3RyLnRleHRcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZGVzXCJcbiAgICAgICAgICAqbmdJZj1cIiFwb3B1cExpdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZGlzcGxheU5hbWVcIj57e1xuICAgICAgICAgICAgaXRlbS5kaXNwbGF5TmFtZVxuICAgICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5zOiBjbHVzdGVyIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGZsZXggZ3JpZF9fZmllbGQtY2x1c3RlclwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5DbHVzdGVyKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJiZWxvbmdlZC1jbHVzdGVyIHR3LWZsZXhcIlxuICAgICAgICAgIGF1aVRvb2x0aXA9XCJ7e1xuICAgICAgICAgICAgKCdiZWxvbmdlZF9jbHVzdGVyJyB8IHRyYW5zbGF0ZSkgKyAnOiAnICsgaXRlbS5jbHVzdGVyXG4gICAgICAgICAgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2JlbG9uZ2VkX2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHctdGV4dC1lbGxpcHNpcyB0dy1vdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICAgICAgPnt7IGl0ZW0uY2x1c3RlclxuICAgICAgICAgICAgfX08bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jbHVzdGVyRGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGl0ZW0uY2x1c3RlckFyY2ggfX1cbiAgICAgICAgICA8L2F1aS10YWc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBwcm9qZWN0OiBzdGF0dXMgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc3RhdHVzIHt7XG4gICAgICAgICAgJ2dyaWRfX2ZpZWxkLXN0YXR1cy0tJyArIGl0ZW0uc3RhdHVzXG4gICAgICAgIH19XCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZHMuaW5jbHVkZXMoZmllbGRzRGVmLlN0YXR1cylcIlxuICAgICAgPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAqbmdJZj1cInBvcHVwTGl0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJ0dy10ZXh0LWhlbHAtdGV4dCB0dy1tci04XCJcbiAgICAgICAgICA+e3sgJ3N0YXR1cycgfCB0cmFuc2xhdGUgfX06PC9sYWJlbFxuICAgICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdzdGF0dXMnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBbaWNvbl09XCJzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXVwiXG4gICAgICAgICAgW2JhY2tncm91bmRdPVwiXG4gICAgICAgICAgICBzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXS5lbmRzV2l0aCgnX3RyaWFuZ2xlX3MnKVxuICAgICAgICAgICAgICA/ICd0cmlhbmdsZSdcbiAgICAgICAgICAgICAgOiAnY2lyY2xlJ1xuICAgICAgICAgIFwiXG4gICAgICAgICAgY2xhc3M9XCJ7eyAnaWNvbi0nICsgaXRlbS5zdGF0dXMgfX1cIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAge3sgaXRlbS5zdGF0dXMgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBhc206IHNlcnZpY2UgbWVzaCAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnYmVsb25nZWRfc2VydmljZW1lc2gnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj4ge3sgaXRlbS5zZXJ2aWNlTWVzaE5hbWUgfX0gPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb25cIlxuICAgICAgICAgICAgPihJc3RpbyB7eyBpdGVtLnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2gpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgID57eyBpdGVtLmNsdXN0ZXJcbiAgICAgICAgICB9fTxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmNsdXN0ZXJEaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgaXRlbS5jbHVzdGVyQXJjaCB9fVxuICAgICAgICA8L2F1aS10YWc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBtZXNoIGdyb3VwIC0tPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2hHcm91cClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnY2x1c3RlcicgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IGl0ZW0uY2x1c3RlciB9fSA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYXNtOiBpc3RpbyAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaEdyb3VwKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdJc3RpbycgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgPnt7IGl0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb24gfHwgKCdub3RfZGVwbG95ZWQnIHwgdHJhbnNsYXRlKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSB0aW1lIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLXRpbWVcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuVGltZSkgJiYgIXBvcHVwTGl0ZVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdjcmVhdGVkX2F0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3sgaXRlbS50aW1lc3RhbXAgfCBhY2xSZWxhdGl2ZVRpbWUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYWN0aW9uIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLWFjdGlvblwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuQWN0aW9uKSAmJlxuICAgICAgICAgIGFjdGlvblRlbXBsYXRlUmVmICYmXG4gICAgICAgICAgY29udGV4dCAhPT0gJ3BvcHVwJ1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0aW9uVGVtcGxhdGVSZWZcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0uX19vcmlnaW5cbiAgICAgICAgICB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YWNsLXJlc291cmNlLW5vLWRhdGFcbiAgICAqbmdJZj1cIiFwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgW2lzRmlsdGVyZWRdPVwiISFrZXl3b3JkXCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAocmVmcmVzaCk9XCJyZWxvYWQuZW1pdCgpXCJcbiAgICAoY2xlYXIpPVwia2V5d29yZENoYW5nZSgnJylcIlxuICA+PC9hY2wtcmVzb3VyY2Utbm8tZGF0YT5cbiAgPGFjbC16ZXJvLXN0YXRlXG4gICAgKm5nSWY9XCJwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgY29udGV4dD1cInRhYmxlXCJcbiAgPjwvYWNsLXplcm8tc3RhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxkaXZcbiAgY2xhc3M9XCJsb2FkaW5nXCJcbiAgKm5nSWY9XCJsb2FkaW5nXCJcbj5cbiAgPGFjbC1sb2FkaW5nLW1hc2tcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICB0eXBlPVwiY29udGVudFwiXG4gID48L2FjbC1sb2FkaW5nLW1hc2s+XG48L2Rpdj5cbiJdfQ==
@@ -30,6 +30,7 @@ export class FeatureGateDirective {
30
30
  this.crd = crd;
31
31
  this.featureName = null;
32
32
  this.cluster = null;
33
+ this.negate = false;
33
34
  this.thenTemplateRef = null;
34
35
  this.elseTemplateRef = null;
35
36
  this.subscription = null;
@@ -40,8 +41,7 @@ export class FeatureGateDirective {
40
41
  this.container.createEmbeddedView(this.thenTemplateRef);
41
42
  return;
42
43
  }
43
- this.subscription = this.featureGate
44
- .isEnabled(this.featureName, this.cluster)
44
+ this.subscription = this.featureGate[this.negate ? 'isNegateEnabled' : 'isEnabled'](this.featureName, this.cluster)
45
45
  .pipe(distinctUntilChanged())
46
46
  .subscribe(enabled => {
47
47
  this.container.clear();
@@ -60,7 +60,7 @@ export class FeatureGateDirective {
60
60
  }
61
61
  }
62
62
  static { this.ɵfac = function FeatureGateDirective_Factory(t) { return new (t || FeatureGateDirective)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i1.FeatureGateService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.TemplateRef)); }; }
63
- static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: FeatureGateDirective, selectors: [["", "aclFeatureGate", ""]], inputs: { featureName: [0, "aclFeatureGate", "featureName"], cluster: [0, "aclFeatureGateCluster", "cluster"], then: [0, "aclFeatureGateThen", "then"], else: [0, "aclFeatureGateElse", "else"] }, standalone: true }); }
63
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: FeatureGateDirective, selectors: [["", "aclFeatureGate", ""]], inputs: { featureName: [0, "aclFeatureGate", "featureName"], cluster: [0, "aclFeatureGateCluster", "cluster"], negate: [0, "aclFeatureGateNegate", "negate"], then: [0, "aclFeatureGateThen", "then"], else: [0, "aclFeatureGateElse", "else"] }, standalone: true }); }
64
64
  }
65
65
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureGateDirective, [{
66
66
  type: Directive,
@@ -71,6 +71,9 @@ export class FeatureGateDirective {
71
71
  }], cluster: [{
72
72
  type: Input,
73
73
  args: ['aclFeatureGateCluster']
74
+ }], negate: [{
75
+ type: Input,
76
+ args: ['aclFeatureGateNegate']
74
77
  }], then: [{
75
78
  type: Input,
76
79
  args: ['aclFeatureGateThen']
@@ -84,4 +87,4 @@ function assertTemplate(property, templateRef) {
84
87
  throw new Error(`${property} must be a TemplateRef, but received '${stringify(templateRef)}'.`);
85
88
  }
86
89
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1nYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL2RpcmVjdGl2ZXMvZmVhdHVyZS1nYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBR0wsV0FBVyxFQUNYLGdCQUFnQjtBQUNoQiw0QkFBNEI7QUFDNUIsVUFBVSxJQUFJLFNBQVMsR0FDeEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixvQkFBb0IsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBRXRFOzs7OztHQUtHO0FBRUgsTUFBTSxPQUFPLG9CQUFvQjtJQU8vQixJQUVJLElBQUksQ0FBQyxXQUE4QjtRQUNyQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUM7SUFDckMsQ0FBQztJQUVELElBQ0ksSUFBSSxDQUFDLFdBQThCO1FBQ3JDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBT0QsWUFDbUIsU0FBMkIsRUFDM0IsV0FBK0IsRUFDL0IsR0FBc0IsRUFDdkMsV0FBOEI7UUFIYixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUExQnpDLGdCQUFXLEdBQVcsSUFBSSxDQUFDO1FBRzNCLFlBQU8sR0FBVyxJQUFJLENBQUM7UUFlZixvQkFBZSxHQUFzQixJQUFJLENBQUM7UUFDMUMsb0JBQWUsR0FBc0IsSUFBSSxDQUFDO1FBRTFDLGlCQUFZLEdBQWlCLElBQUksQ0FBQztRQVF4QyxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDeEQsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXO2FBQ2pDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDekMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDNUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkIsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMxRCxDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMxRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztxRkExRFUsb0JBQW9CO29FQUFwQixvQkFBb0I7O2lGQUFwQixvQkFBb0I7Y0FEaEMsU0FBUztlQUFDLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7NElBRzNELFdBQVc7a0JBRFYsS0FBSzttQkFBQyxnQkFBZ0I7WUFJdkIsT0FBTztrQkFETixLQUFLO21CQUFDLHVCQUF1QjtZQUsxQixJQUFJO2tCQUZQLEtBQUs7bUJBQUMsb0JBQW9CO1lBUXZCLElBQUk7a0JBRFAsS0FBSzttQkFBQyxvQkFBb0I7O0FBK0M3QixTQUFTLGNBQWMsQ0FDckIsUUFBZ0IsRUFDaEIsV0FBb0M7SUFFcEMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsQ0FDNUIsQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDLGtCQUFrQixDQUMvQyxDQUFDO0lBQ0YsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FDYixHQUFHLFFBQVEseUNBQXlDLFNBQVMsQ0FDM0QsV0FBVyxDQUNaLElBQUksQ0FDTixDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB1dGlsc1xuICovXG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIC8vIGNzcGVsbDogZGlzYWJsZS1uZXh0LWxpbmVcbiAgybVzdHJpbmdpZnkgYXMgc3RyaW5naWZ5LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRmVhdHVyZUdhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmVhdHVyZS1nYXRlLnNlcnZpY2UnO1xuXG4vKipcbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIDxuZy1jb250YWluZXIgKmFjbEZlYXR1cmVHYXRlPVwiZ2F0ZS1uYW1lXCI+PC9uZy1jb250YWluZXI+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2FjbEZlYXR1cmVHYXRlXScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlR2F0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCdhY2xGZWF0dXJlR2F0ZScpXG4gIGZlYXR1cmVOYW1lOiBzdHJpbmcgPSBudWxsO1xuXG4gIEBJbnB1dCgnYWNsRmVhdHVyZUdhdGVDbHVzdGVyJylcbiAgY2x1c3Rlcjogc3RyaW5nID0gbnVsbDtcblxuICBASW5wdXQoJ2FjbEZlYXR1cmVHYXRlVGhlbicpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL25vLXRoZW5hYmxlXG4gIHNldCB0aGVuKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx2b2lkPikge1xuICAgIGFzc2VydFRlbXBsYXRlKCdhY2xGZWF0dXJlR2F0ZVRoZW4nLCB0ZW1wbGF0ZVJlZik7XG4gICAgdGhpcy50aGVuVGVtcGxhdGVSZWYgPSB0ZW1wbGF0ZVJlZjtcbiAgfVxuXG4gIEBJbnB1dCgnYWNsRmVhdHVyZUdhdGVFbHNlJylcbiAgc2V0IGVsc2UodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHZvaWQ+KSB7XG4gICAgYXNzZXJ0VGVtcGxhdGUoJ2FjbFZlcnNpb25HYXRlRWxzZScsIHRlbXBsYXRlUmVmKTtcbiAgICB0aGlzLmVsc2VUZW1wbGF0ZVJlZiA9IHRlbXBsYXRlUmVmO1xuICB9XG5cbiAgcHJpdmF0ZSB0aGVuVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHZvaWQ+ID0gbnVsbDtcbiAgcHJpdmF0ZSBlbHNlVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHZvaWQ+ID0gbnVsbDtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjcmQ6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx2b2lkPixcbiAgKSB7XG4gICAgdGhpcy50aGVuVGVtcGxhdGVSZWYgPSB0ZW1wbGF0ZVJlZjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5mZWF0dXJlTmFtZSkge1xuICAgICAgdGhpcy5jb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGhlblRlbXBsYXRlUmVmKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuZmVhdHVyZUdhdGVcbiAgICAgIC5pc0VuYWJsZWQodGhpcy5mZWF0dXJlTmFtZSwgdGhpcy5jbHVzdGVyKVxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoZW5hYmxlZCA9PiB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyLmNsZWFyKCk7XG4gICAgICAgIGlmIChlbmFibGVkKSB7XG4gICAgICAgICAgdGhpcy5jb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGhlblRlbXBsYXRlUmVmKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmVsc2VUZW1wbGF0ZVJlZikge1xuICAgICAgICAgIHRoaXMuY29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLmVsc2VUZW1wbGF0ZVJlZik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jcmQubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYXNzZXJ0VGVtcGxhdGUoXG4gIHByb3BlcnR5OiBzdHJpbmcsXG4gIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCxcbik6IHZvaWQge1xuICBjb25zdCBpc1RlbXBsYXRlUmVmT3JOdWxsID0gISEoXG4gICAgIXRlbXBsYXRlUmVmIHx8IHRlbXBsYXRlUmVmLmNyZWF0ZUVtYmVkZGVkVmlld1xuICApO1xuICBpZiAoIWlzVGVtcGxhdGVSZWZPck51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgJHtwcm9wZXJ0eX0gbXVzdCBiZSBhIFRlbXBsYXRlUmVmLCBidXQgcmVjZWl2ZWQgJyR7c3RyaW5naWZ5KFxuICAgICAgICB0ZW1wbGF0ZVJlZixcbiAgICAgICl9Jy5gLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1nYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL2RpcmVjdGl2ZXMvZmVhdHVyZS1nYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBR0wsV0FBVyxFQUNYLGdCQUFnQjtBQUNoQiw0QkFBNEI7QUFDNUIsVUFBVSxJQUFJLFNBQVMsR0FDeEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixvQkFBb0IsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBRXRFOzs7OztHQUtHO0FBRUgsTUFBTSxPQUFPLG9CQUFvQjtJQVUvQixJQUNJLElBQUksQ0FBQyxXQUE4QjtRQUNyQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUM7SUFDckMsQ0FBQztJQUVELElBQ0ksSUFBSSxDQUFDLFdBQThCO1FBQ3JDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBT0QsWUFDbUIsU0FBMkIsRUFDM0IsV0FBK0IsRUFDL0IsR0FBc0IsRUFDdkMsV0FBOEI7UUFIYixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE1QnpDLGdCQUFXLEdBQVcsSUFBSSxDQUFDO1FBRzNCLFlBQU8sR0FBVyxJQUFJLENBQUM7UUFHdkIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQWNoQixvQkFBZSxHQUFzQixJQUFJLENBQUM7UUFDMUMsb0JBQWUsR0FBc0IsSUFBSSxDQUFDO1FBRTFDLGlCQUFZLEdBQWlCLElBQUksQ0FBQztRQVF4QyxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDeEQsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQzlDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQzlCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDMUQsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDMUQsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7cUZBN0RVLG9CQUFvQjtvRUFBcEIsb0JBQW9COztpRkFBcEIsb0JBQW9CO2NBRGhDLFNBQVM7ZUFBQyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFOzRJQUczRCxXQUFXO2tCQURWLEtBQUs7bUJBQUMsZ0JBQWdCO1lBSXZCLE9BQU87a0JBRE4sS0FBSzttQkFBQyx1QkFBdUI7WUFJOUIsTUFBTTtrQkFETCxLQUFLO21CQUFDLHNCQUFzQjtZQUl6QixJQUFJO2tCQURQLEtBQUs7bUJBQUMsb0JBQW9CO1lBT3ZCLElBQUk7a0JBRFAsS0FBSzttQkFBQyxvQkFBb0I7O0FBZ0Q3QixTQUFTLGNBQWMsQ0FDckIsUUFBZ0IsRUFDaEIsV0FBb0M7SUFFcEMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsQ0FDNUIsQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDLGtCQUFrQixDQUMvQyxDQUFDO0lBQ0YsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FDYixHQUFHLFFBQVEseUNBQXlDLFNBQVMsQ0FDM0QsV0FBVyxDQUNaLElBQUksQ0FDTixDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB1dGlsc1xuICovXG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIC8vIGNzcGVsbDogZGlzYWJsZS1uZXh0LWxpbmVcbiAgybVzdHJpbmdpZnkgYXMgc3RyaW5naWZ5LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRmVhdHVyZUdhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmVhdHVyZS1nYXRlLnNlcnZpY2UnO1xuXG4vKipcbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIDxuZy1jb250YWluZXIgKmFjbEZlYXR1cmVHYXRlPVwiZ2F0ZS1uYW1lXCI+PC9uZy1jb250YWluZXI+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2FjbEZlYXR1cmVHYXRlXScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlR2F0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCdhY2xGZWF0dXJlR2F0ZScpXG4gIGZlYXR1cmVOYW1lOiBzdHJpbmcgPSBudWxsO1xuXG4gIEBJbnB1dCgnYWNsRmVhdHVyZUdhdGVDbHVzdGVyJylcbiAgY2x1c3Rlcjogc3RyaW5nID0gbnVsbDtcblxuICBASW5wdXQoJ2FjbEZlYXR1cmVHYXRlTmVnYXRlJylcbiAgbmVnYXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdhY2xGZWF0dXJlR2F0ZVRoZW4nKVxuICBzZXQgdGhlbih0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dm9pZD4pIHtcbiAgICBhc3NlcnRUZW1wbGF0ZSgnYWNsRmVhdHVyZUdhdGVUaGVuJywgdGVtcGxhdGVSZWYpO1xuICAgIHRoaXMudGhlblRlbXBsYXRlUmVmID0gdGVtcGxhdGVSZWY7XG4gIH1cblxuICBASW5wdXQoJ2FjbEZlYXR1cmVHYXRlRWxzZScpXG4gIHNldCBlbHNlKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx2b2lkPikge1xuICAgIGFzc2VydFRlbXBsYXRlKCdhY2xWZXJzaW9uR2F0ZUVsc2UnLCB0ZW1wbGF0ZVJlZik7XG4gICAgdGhpcy5lbHNlVGVtcGxhdGVSZWYgPSB0ZW1wbGF0ZVJlZjtcbiAgfVxuXG4gIHByaXZhdGUgdGhlblRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx2b2lkPiA9IG51bGw7XG4gIHByaXZhdGUgZWxzZVRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx2b2lkPiA9IG51bGw7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dm9pZD4sXG4gICkge1xuICAgIHRoaXMudGhlblRlbXBsYXRlUmVmID0gdGVtcGxhdGVSZWY7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuZmVhdHVyZU5hbWUpIHtcbiAgICAgIHRoaXMuY29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRoZW5UZW1wbGF0ZVJlZik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmZlYXR1cmVHYXRlW1xuICAgICAgdGhpcy5uZWdhdGUgPyAnaXNOZWdhdGVFbmFibGVkJyA6ICdpc0VuYWJsZWQnXG4gICAgXSh0aGlzLmZlYXR1cmVOYW1lLCB0aGlzLmNsdXN0ZXIpXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgLnN1YnNjcmliZShlbmFibGVkID0+IHtcbiAgICAgICAgdGhpcy5jb250YWluZXIuY2xlYXIoKTtcbiAgICAgICAgaWYgKGVuYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLmNvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50aGVuVGVtcGxhdGVSZWYpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZWxzZVRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgdGhpcy5jb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuZWxzZVRlbXBsYXRlUmVmKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNyZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhc3NlcnRUZW1wbGF0ZShcbiAgcHJvcGVydHk6IHN0cmluZyxcbiAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsLFxuKTogdm9pZCB7XG4gIGNvbnN0IGlzVGVtcGxhdGVSZWZPck51bGwgPSAhIShcbiAgICAhdGVtcGxhdGVSZWYgfHwgdGVtcGxhdGVSZWYuY3JlYXRlRW1iZWRkZWRWaWV3XG4gICk7XG4gIGlmICghaXNUZW1wbGF0ZVJlZk9yTnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGAke3Byb3BlcnR5fSBtdXN0IGJlIGEgVGVtcGxhdGVSZWYsIGJ1dCByZWNlaXZlZCAnJHtzdHJpbmdpZnkoXG4gICAgICAgIHRlbXBsYXRlUmVmLFxuICAgICAgKX0nLmAsXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -29,13 +29,14 @@ export class FeatureGuard {
29
29
  const data = {
30
30
  featureName: '',
31
31
  guard_url: DEFAULT_FEATURE_FORBIDDEN_URL,
32
+ negate: false,
32
33
  ...route.data,
33
34
  };
34
35
  let currentCluster;
35
36
  if (this.getCluster) {
36
37
  currentCluster = this.getCluster(route);
37
38
  }
38
- return this.featureGate.isEnabled(data.featureName, currentCluster).pipe(map(enabled => {
39
+ return this.featureGate[data.negate ? 'isNegateEnabled' : 'isEnabled'](data.featureName, currentCluster).pipe(map(enabled => {
39
40
  if (enabled)
40
41
  return true;
41
42
  const errorUrl = `${data.guard_url}/${data.featureName}`;
@@ -55,4 +56,4 @@ export class FeatureGuard {
55
56
  }, {
56
57
  type: Optional
57
58
  }] }], null); })();
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL2d1YXJkcy9mZWF0dXJlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPN0UsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7OztBQUloRixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxtQkFBbUIsQ0FBQztBQUVqRSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FDbkQsOEJBQThCLENBQy9CLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUVILE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQ21CLFdBQStCLEVBQy9CLGdCQUF5QyxFQUd6QyxVQUE2QjtRQUo3QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUd6QyxlQUFVLEdBQVYsVUFBVSxDQUFtQjtJQUM3QyxDQUFDO0lBRUosZ0JBQWdCLENBQ2QsVUFBa0MsRUFDbEMsS0FBMEI7UUFFMUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsV0FBVyxDQUNULEtBQTZCLEVBQzdCLEtBQTBCO1FBRTFCLE1BQU0sSUFBSSxHQUFHO1lBQ1gsV0FBVyxFQUFFLEVBQUU7WUFDZixTQUFTLEVBQUUsNkJBQTZCO1lBQ3hDLEdBQUcsS0FBSyxDQUFDLElBQUk7U0FDZCxDQUFDO1FBRUYsSUFBSSxjQUFzQixDQUFDO1FBRTNCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUN0RSxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDWixJQUFJLE9BQU87Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFDekIsTUFBTSxRQUFRLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUV6RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDcEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs2RUF6Q1UsWUFBWSwyRkFJYixtQkFBbUI7dUVBSmxCLFlBQVksV0FBWixZQUFZLG1CQURDLE1BQU07O2lGQUNuQixZQUFZO2NBRHhCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O3NCQUs3QixNQUFNO3VCQUFDLG1CQUFtQjs7c0JBQzFCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgQ2FuQWN0aXZhdGUsXG4gIENhbkFjdGl2YXRlQ2hpbGQsXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRmVhdHVyZUdhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmVhdHVyZS1nYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2lsZW50bHlOYXZpZ2F0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zaWxlbnRseS1uYXZpZ2F0ZS5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgR2V0Q3VycmVudENsdXN0ZXIgPSAocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IHN0cmluZztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRkVBVFVSRV9GT1JCSURERU5fVVJMID0gJ2ZlYXR1cmUtZm9yYmlkZGVuJztcblxuZXhwb3J0IGNvbnN0IEdFVF9DVVJSRU5UX0NMVVNURVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48R2V0Q3VycmVudENsdXN0ZXI+KFxuICAnR2V0IGN1cnJlbnQgY2x1c3RlciBmdW5jdGlvbicsXG4pO1xuXG4vKipcbiAqIGBgYHRzXG4gKiBkYXRhOiB7XG4gKiAgcGF0aDogJ2hvbWUnLFxuICogIGNhbkFjdGl2YXRlOiBbIEZlYXR1cmVHdWFyZCBdLFxuICogIGRhdGE6IHsgZmVhdHVyZU5hbWU6ICdhY2UzJywgZ3VhcmRfdXJsOiAneHh4JyAgfVxuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRmVhdHVyZUd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUsIENhbkFjdGl2YXRlQ2hpbGQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaWxlbnRseU5hdmlnYXRlOiBTaWxlbnRseU5hdmlnYXRlU2VydmljZSxcbiAgICBASW5qZWN0KEdFVF9DVVJSRU5UX0NMVVNURVIpXG4gICAgQE9wdGlvbmFsKClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdldENsdXN0ZXI6IEdldEN1cnJlbnRDbHVzdGVyLFxuICApIHt9XG5cbiAgY2FuQWN0aXZhdGVDaGlsZChcbiAgICBjaGlsZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICApOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jYW5BY3RpdmF0ZShjaGlsZFJvdXRlLCBzdGF0ZSk7XG4gIH1cblxuICBjYW5BY3RpdmF0ZShcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGZlYXR1cmVOYW1lOiAnJyxcbiAgICAgIGd1YXJkX3VybDogREVGQVVMVF9GRUFUVVJFX0ZPUkJJRERFTl9VUkwsXG4gICAgICAuLi5yb3V0ZS5kYXRhLFxuICAgIH07XG5cbiAgICBsZXQgY3VycmVudENsdXN0ZXI6IHN0cmluZztcblxuICAgIGlmICh0aGlzLmdldENsdXN0ZXIpIHtcbiAgICAgIGN1cnJlbnRDbHVzdGVyID0gdGhpcy5nZXRDbHVzdGVyKHJvdXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mZWF0dXJlR2F0ZS5pc0VuYWJsZWQoZGF0YS5mZWF0dXJlTmFtZSwgY3VycmVudENsdXN0ZXIpLnBpcGUoXG4gICAgICBtYXAoZW5hYmxlZCA9PiB7XG4gICAgICAgIGlmIChlbmFibGVkKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgY29uc3QgZXJyb3JVcmwgPSBgJHtkYXRhLmd1YXJkX3VybH0vJHtkYXRhLmZlYXR1cmVOYW1lfWA7XG5cbiAgICAgICAgdGhpcy5zaWxlbnRseU5hdmlnYXRlLm5hdmlnYXRlKHN0YXRlLnVybCwgZXJyb3JVcmwpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL2d1YXJkcy9mZWF0dXJlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPN0UsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7OztBQUloRixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxtQkFBbUIsQ0FBQztBQUVqRSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FDbkQsOEJBQThCLENBQy9CLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUVILE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQ21CLFdBQStCLEVBQy9CLGdCQUF5QyxFQUd6QyxVQUE2QjtRQUo3QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUd6QyxlQUFVLEdBQVYsVUFBVSxDQUFtQjtJQUM3QyxDQUFDO0lBRUosZ0JBQWdCLENBQ2QsVUFBa0MsRUFDbEMsS0FBMEI7UUFFMUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsV0FBVyxDQUNULEtBQTZCLEVBQzdCLEtBQTBCO1FBRTFCLE1BQU0sSUFBSSxHQUFHO1lBQ1gsV0FBVyxFQUFFLEVBQUU7WUFDZixTQUFTLEVBQUUsNkJBQTZCO1lBQ3hDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxLQUFLLENBQUMsSUFBSTtTQUNkLENBQUM7UUFFRixJQUFJLGNBQXNCLENBQUM7UUFFM0IsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQ3BFLElBQUksQ0FBQyxXQUFXLEVBQ2hCLGNBQWMsQ0FDZixDQUFDLElBQUksQ0FDSixHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDWixJQUFJLE9BQU87Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFDekIsTUFBTSxRQUFRLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUV6RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDcEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs2RUE3Q1UsWUFBWSwyRkFJYixtQkFBbUI7dUVBSmxCLFlBQVksV0FBWixZQUFZLG1CQURDLE1BQU07O2lGQUNuQixZQUFZO2NBRHhCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O3NCQUs3QixNQUFNO3VCQUFDLG1CQUFtQjs7c0JBQzFCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgQ2FuQWN0aXZhdGUsXG4gIENhbkFjdGl2YXRlQ2hpbGQsXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRmVhdHVyZUdhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmVhdHVyZS1nYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2lsZW50bHlOYXZpZ2F0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zaWxlbnRseS1uYXZpZ2F0ZS5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgR2V0Q3VycmVudENsdXN0ZXIgPSAocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IHN0cmluZztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRkVBVFVSRV9GT1JCSURERU5fVVJMID0gJ2ZlYXR1cmUtZm9yYmlkZGVuJztcblxuZXhwb3J0IGNvbnN0IEdFVF9DVVJSRU5UX0NMVVNURVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48R2V0Q3VycmVudENsdXN0ZXI+KFxuICAnR2V0IGN1cnJlbnQgY2x1c3RlciBmdW5jdGlvbicsXG4pO1xuXG4vKipcbiAqIGBgYHRzXG4gKiBkYXRhOiB7XG4gKiAgcGF0aDogJ2hvbWUnLFxuICogIGNhbkFjdGl2YXRlOiBbIEZlYXR1cmVHdWFyZCBdLFxuICogIGRhdGE6IHsgZmVhdHVyZU5hbWU6ICdhY2UzJywgZ3VhcmRfdXJsOiAneHh4JyAgfVxuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRmVhdHVyZUd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUsIENhbkFjdGl2YXRlQ2hpbGQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaWxlbnRseU5hdmlnYXRlOiBTaWxlbnRseU5hdmlnYXRlU2VydmljZSxcbiAgICBASW5qZWN0KEdFVF9DVVJSRU5UX0NMVVNURVIpXG4gICAgQE9wdGlvbmFsKClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdldENsdXN0ZXI6IEdldEN1cnJlbnRDbHVzdGVyLFxuICApIHt9XG5cbiAgY2FuQWN0aXZhdGVDaGlsZChcbiAgICBjaGlsZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICApOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jYW5BY3RpdmF0ZShjaGlsZFJvdXRlLCBzdGF0ZSk7XG4gIH1cblxuICBjYW5BY3RpdmF0ZShcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGZlYXR1cmVOYW1lOiAnJyxcbiAgICAgIGd1YXJkX3VybDogREVGQVVMVF9GRUFUVVJFX0ZPUkJJRERFTl9VUkwsXG4gICAgICBuZWdhdGU6IGZhbHNlLFxuICAgICAgLi4ucm91dGUuZGF0YSxcbiAgICB9O1xuXG4gICAgbGV0IGN1cnJlbnRDbHVzdGVyOiBzdHJpbmc7XG5cbiAgICBpZiAodGhpcy5nZXRDbHVzdGVyKSB7XG4gICAgICBjdXJyZW50Q2x1c3RlciA9IHRoaXMuZ2V0Q2x1c3Rlcihyb3V0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZmVhdHVyZUdhdGVbZGF0YS5uZWdhdGUgPyAnaXNOZWdhdGVFbmFibGVkJyA6ICdpc0VuYWJsZWQnXShcbiAgICAgIGRhdGEuZmVhdHVyZU5hbWUsXG4gICAgICBjdXJyZW50Q2x1c3RlcixcbiAgICApLnBpcGUoXG4gICAgICBtYXAoZW5hYmxlZCA9PiB7XG4gICAgICAgIGlmIChlbmFibGVkKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgY29uc3QgZXJyb3JVcmwgPSBgJHtkYXRhLmd1YXJkX3VybH0vJHtkYXRhLmZlYXR1cmVOYW1lfWA7XG5cbiAgICAgICAgdGhpcy5zaWxlbnRseU5hdmlnYXRlLm5hdmlnYXRlKHN0YXRlLnVybCwgZXJyb3JVcmwpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -6,10 +6,11 @@ export class MinimumFormatPipe {
6
6
  constructor(decimal) {
7
7
  this.decimal = decimal;
8
8
  }
9
- transform(value) {
9
+ transform(value, decimalPlaces = 0) {
10
+ const decimalFormat = `1.${decimalPlaces}-${decimalPlaces || 2}`;
10
11
  return +value > 0 && +value < 0.01
11
12
  ? '<0.01'
12
- : this.decimal.transform(value, '1.0-2')?.replace(/,/g, '');
13
+ : this.decimal.transform(value, decimalFormat)?.replace(/,/g, '');
13
14
  }
14
15
  static { this.ɵfac = function MinimumFormatPipe_Factory(t) { return new (t || MinimumFormatPipe)(i0.ɵɵdirectiveInject(i1.DecimalPipe, 16)); }; }
15
16
  static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclMinimumFormat", type: MinimumFormatPipe, pure: true, standalone: true }); }
@@ -21,4 +22,4 @@ export class MinimumFormatPipe {
21
22
  standalone: true,
22
23
  }]
23
24
  }], () => [{ type: i1.DecimalPipe }], null); })();
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW11bS1mb3JtYXQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3BpcGVzL21pbmltdW0tZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFNcEQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUE2QixPQUFvQjtRQUFwQixZQUFPLEdBQVAsT0FBTyxDQUFhO0lBQUcsQ0FBQztJQUVyRCxTQUFTLENBQUMsS0FBc0I7UUFDOUIsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSTtZQUNoQyxDQUFDLENBQUMsT0FBTztZQUNULENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO2tGQVBVLGlCQUFpQjswRkFBakIsaUJBQWlCOztpRkFBakIsaUJBQWlCO2NBSjdCLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixVQUFVLEVBQUUsSUFBSTthQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnYWNsTWluaW11bUZvcm1hdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE1pbmltdW1Gb3JtYXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGVjaW1hbDogRGVjaW1hbFBpcGUpIHt9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gK3ZhbHVlID4gMCAmJiArdmFsdWUgPCAwLjAxXG4gICAgICA/ICc8MC4wMSdcbiAgICAgIDogdGhpcy5kZWNpbWFsLnRyYW5zZm9ybSh2YWx1ZSwgJzEuMC0yJyk/LnJlcGxhY2UoLywvZywgJycpO1xuICB9XG59XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW11bS1mb3JtYXQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3BpcGVzL21pbmltdW0tZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFNcEQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUE2QixPQUFvQjtRQUFwQixZQUFPLEdBQVAsT0FBTyxDQUFhO0lBQUcsQ0FBQztJQUVyRCxTQUFTLENBQUMsS0FBc0IsRUFBRSxhQUFhLEdBQUcsQ0FBQztRQUNqRCxNQUFNLGFBQWEsR0FBRyxLQUFLLGFBQWEsSUFBSSxhQUFhLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDakUsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSTtZQUNoQyxDQUFDLENBQUMsT0FBTztZQUNULENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO2tGQVJVLGlCQUFpQjswRkFBakIsaUJBQWlCOztpRkFBakIsaUJBQWlCO2NBSjdCLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixVQUFVLEVBQUUsSUFBSTthQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnYWNsTWluaW11bUZvcm1hdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE1pbmltdW1Gb3JtYXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGVjaW1hbDogRGVjaW1hbFBpcGUpIHt9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGRlY2ltYWxQbGFjZXMgPSAwKSB7XG4gICAgY29uc3QgZGVjaW1hbEZvcm1hdCA9IGAxLiR7ZGVjaW1hbFBsYWNlc30tJHtkZWNpbWFsUGxhY2VzIHx8IDJ9YDtcbiAgICByZXR1cm4gK3ZhbHVlID4gMCAmJiArdmFsdWUgPCAwLjAxXG4gICAgICA/ICc8MC4wMSdcbiAgICAgIDogdGhpcy5kZWNpbWFsLnRyYW5zZm9ybSh2YWx1ZSwgZGVjaW1hbEZvcm1hdCk/LnJlcGxhY2UoLywvZywgJycpO1xuICB9XG59XG4iXX0=
@@ -10,13 +10,11 @@ import { API_GATEWAY } from '../constants/public-api';
10
10
  import { CacheStore } from '../utils/public-api';
11
11
  import * as i0 from "@angular/core";
12
12
  import * as i1 from "@angular/common/http";
13
- const GlobalCluster = Symbol('Global Cluster');
14
13
  export class FeatureGateService {
15
14
  constructor(http) {
16
15
  this.http = http;
17
16
  this.cacheStore = new CacheStore({
18
17
  share: () => shareReplay(1),
19
- idGenerator: (cluster) => cluster || GlobalCluster,
20
18
  fetcher: (cluster) => {
21
19
  const url = cluster
22
20
  ? `${API_GATEWAY}/fg/v1/${cluster}/featuregates`
@@ -39,6 +37,9 @@ export class FeatureGateService {
39
37
  isEnabled(gateName, cluster) {
40
38
  return this.cacheStore.fetch(cluster).pipe(map(v => !!v[gateName]), take(1));
41
39
  }
40
+ isNegateEnabled(gateName, cluster) {
41
+ return this.cacheStore.fetch(cluster).pipe(map(v => !v[gateName]), take(1));
42
+ }
42
43
  /**
43
44
  * filter list with gate, send items without feature gate as begin push (can skip by passing `skipNoFeatureGatePush` argument with true)
44
45
  * @param items - list need filter
@@ -70,4 +71,4 @@ export class FeatureGateService {
70
71
  type: Injectable,
71
72
  args: [{ providedIn: 'root' }]
72
73
  }], () => [{ type: i1.HttpClient }], null); })();
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1nYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS9zZXJ2aWNlcy9mZWF0dXJlLWdhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkQsT0FBTyxFQUVMLEVBQUUsRUFDRixVQUFVLEVBQ1YsR0FBRyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsSUFBSSxHQUNMLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBRWpELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRy9DLE1BQU0sT0FBTyxrQkFBa0I7SUFxQjdCLFlBQTZCLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFwQjVCLGVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUMzQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMzQixXQUFXLEVBQUUsQ0FBQyxPQUFnQixFQUFFLEVBQUUsQ0FBQyxPQUFPLElBQUksYUFBYTtZQUMzRCxPQUFPLEVBQUUsQ0FBQyxPQUFnQixFQUFFLEVBQUU7Z0JBQzVCLE1BQU0sR0FBRyxHQUFHLE9BQU87b0JBQ2pCLENBQUMsQ0FBQyxHQUFHLFdBQVcsVUFBVSxPQUFPLGVBQWU7b0JBQ2hELENBQUMsQ0FBQyxHQUFHLFdBQVcscUJBQXFCLENBQUM7Z0JBRXhDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDakUsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQ2hCLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7b0JBQ3pCLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO29CQUM5QyxPQUFPLEdBQUcsQ0FBQztnQkFDYixDQUFDLEVBQUUsRUFBNkIsQ0FBQyxDQUNsQyxFQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBNkIsQ0FBQyxDQUFDLENBQ3BELENBQUM7WUFDSixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBRTZDLENBQUM7SUFFakQsU0FBUyxDQUFDLE9BQWdCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLFFBQWdCLEVBQUUsT0FBZ0I7UUFDMUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3hDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDdkIsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILGFBQWEsQ0FDWCxLQUFVLEVBQ1YsWUFBaUMsRUFDakMsT0FBZ0IsRUFDaEIsZUFHVyxPQUFPLEVBQ2xCLHFCQUFxQixHQUFHLEtBQUs7UUFFN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNsRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDTixZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDcEUsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUFDO1FBRUYsT0FBTyxxQkFBcUI7WUFDMUIsQ0FBQyxDQUFDLFFBQVE7WUFDVixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDWCxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDNUQsQ0FBQztJQUNSLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZLENBQUMsT0FBZ0I7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQzttRkEvRVUsa0JBQWtCO3VFQUFsQixrQkFBa0IsV0FBbEIsa0JBQWtCLG1CQURMLE1BQU07O2lGQUNuQixrQkFBa0I7Y0FEOUIsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHV0aWxzXG4gKi9cblxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlciBhcyBfZmlsdGVyLCBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIGNhdGNoRXJyb3IsXG4gIG1hcCxcbiAgc3RhcnRXaXRoLFxuICBzaGFyZVJlcGxheSxcbiAgdGFrZSxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFQSV9HQVRFV0FZIH0gZnJvbSAnLi4vY29uc3RhbnRzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRmVhdHVyZUdhdGUsIEt1YmVybmV0ZXNSZXNvdXJjZUxpc3QgfSBmcm9tICcuLi90eXBlcy9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENhY2hlU3RvcmUgfSBmcm9tICcuLi91dGlscy9wdWJsaWMtYXBpJztcblxuY29uc3QgR2xvYmFsQ2x1c3RlciA9IFN5bWJvbCgnR2xvYmFsIENsdXN0ZXInKTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlR2F0ZVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlU3RvcmUgPSBuZXcgQ2FjaGVTdG9yZSh7XG4gICAgc2hhcmU6ICgpID0+IHNoYXJlUmVwbGF5KDEpLFxuICAgIGlkR2VuZXJhdG9yOiAoY2x1c3Rlcj86IHN0cmluZykgPT4gY2x1c3RlciB8fCBHbG9iYWxDbHVzdGVyLFxuICAgIGZldGNoZXI6IChjbHVzdGVyPzogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB1cmwgPSBjbHVzdGVyXG4gICAgICAgID8gYCR7QVBJX0dBVEVXQVl9L2ZnL3YxLyR7Y2x1c3Rlcn0vZmVhdHVyZWdhdGVzYFxuICAgICAgICA6IGAke0FQSV9HQVRFV0FZfS9mZy92MS9mZWF0dXJlZ2F0ZXNgO1xuXG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PEZlYXR1cmVHYXRlPj4odXJsKS5waXBlKFxuICAgICAgICBtYXAoKHsgaXRlbXMgfSkgPT5cbiAgICAgICAgICBpdGVtcy5yZWR1Y2UoKGFjYywgY3VycikgPT4ge1xuICAgICAgICAgICAgYWNjW2N1cnIubWV0YWRhdGEubmFtZV0gPSBjdXJyLnN0YXR1cy5lbmFibGVkO1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9LCB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiksXG4gICAgICAgICksXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2Yoe30gYXMgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4pKSxcbiAgICAgICk7XG4gICAgfSxcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50KSB7fVxuXG4gIGxvYWRTdGF0ZShjbHVzdGVyPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVTdG9yZS5mZXRjaFN0YXRlKGNsdXN0ZXIpLnBpcGUobWFwKGxvYWQgPT4gbG9hZC5zdGF0ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrIGdhdGUgc3RhdHVzXG4gICAqIEBwYXJhbSBnYXRlIC0gc3BlY2lmaWVkIGZlYXR1cmUgZ2F0ZVxuICAgKiBAcGFyYW0gY2x1c3RlciAtIGNoZWNrIGdhdGUgZm9yIHNwZWNpZmllZCBjbHVzdGVyXG4gICAqL1xuICBpc0VuYWJsZWQoZ2F0ZU5hbWU6IHN0cmluZywgY2x1c3Rlcj86IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlU3RvcmUuZmV0Y2goY2x1c3RlcikucGlwZShcbiAgICAgIG1hcCh2ID0+ICEhdltnYXRlTmFtZV0pLFxuICAgICAgdGFrZSgxKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGZpbHRlciBsaXN0IHdpdGggZ2F0ZSwgc2VuZCBpdGVtcyB3aXRob3V0IGZlYXR1cmUgZ2F0ZSBhcyBiZWdpbiBwdXNoIChjYW4gc2tpcCBieSBwYXNzaW5nIGBza2lwTm9GZWF0dXJlR2F0ZVB1c2hgIGFyZ3VtZW50IHdpdGggdHJ1ZSlcbiAgICogQHBhcmFtIGl0ZW1zIC0gbGlzdCBuZWVkIGZpbHRlclxuICAgKiBAcGFyYW0gZ2F0ZUFjY2Vzc29yIC0gaG93IHRvIGdldCBnYXRlIGZyb20gaXRlbVxuICAgKiBAcGFyYW0gY2x1c3RlciAtIGNoZWNrIGdhdGUgZm9yIHNwZWNpZmllZCBjbHVzdGVyXG4gICAqIEBwYXJhbSBmaWx0ZXJNZXRob2QgLSBmaWx0ZXIgbWV0aG9kLCBkZWZhdWx0IHRvIGxpc3QgZmlsdGVyLCBjYW4gZmlsdGVyIGRlZXAgd2l0aCBjcmVhdGVSZWN1cnNpdmVGaWx0ZXIgb3IgdG90YWxseSBjdXN0b20gbWV0aG9kLlxuICAgKiBAcGFyYW0gc2tpcE5vRmVhdHVyZUdhdGVQdXNoIC0gc2tpcCBiZWdpbiBwdXNoICwgZGVmYXVsdCBmYWxzZS5cbiAgICovXG4gIGZpbHRlckVuYWJsZWQ8VD4oXG4gICAgaXRlbXM6IFRbXSxcbiAgICBnYXRlQWNjZXNzb3I6IChpdGVtOiBUKSA9PiBzdHJpbmcsXG4gICAgY2x1c3Rlcj86IHN0cmluZyxcbiAgICBmaWx0ZXJNZXRob2Q6IChcbiAgICAgIGl0ZW1zOiBUW10sXG4gICAgICBjb25kaXRpb246IChpdGVtOiBUKSA9PiBib29sZWFuLFxuICAgICkgPT4gVFtdID0gX2ZpbHRlcixcbiAgICBza2lwTm9GZWF0dXJlR2F0ZVB1c2ggPSBmYWxzZSxcbiAgKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICBjb25zdCBmaWx0ZXJlZCA9IHRoaXMuY2FjaGVTdG9yZS5mZXRjaChjbHVzdGVyKS5waXBlKFxuICAgICAgbWFwKHYgPT5cbiAgICAgICAgZmlsdGVyTWV0aG9kKGl0ZW1zLCBpdGVtID0+IHtcbiAgICAgICAgICBjb25zdCBnYXRlID0gZ2F0ZUFjY2Vzc29yKGl0ZW0pO1xuICAgICAgICAgIHJldHVybiBnYXRlID8gKGdldChpdGVtLCAnbmVnYXRlJykgPyAhdltnYXRlXSA6ICEhdltnYXRlXSkgOiB0cnVlO1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIHJldHVybiBza2lwTm9GZWF0dXJlR2F0ZVB1c2hcbiAgICAgID8gZmlsdGVyZWRcbiAgICAgIDogZmlsdGVyZWQucGlwZShcbiAgICAgICAgICBzdGFydFdpdGgoZmlsdGVyTWV0aG9kKGl0ZW1zLCBpdGVtID0+ICFnYXRlQWNjZXNzb3IoaXRlbSkpKSxcbiAgICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZWZldGNoIGNhY2hlZCBmZWF0dXJlIGdhdGUgc2V0dGluZ3NcbiAgICogQHBhcmFtIGNsdXN0ZXIgLSBzcGVjaWZpZWQgY2x1c3RlciwgcmVmZXRjaCBhbGwgYWxyZWFkeSBjYWNoZWQgc2V0dGluZ3Mgd2hlbiBjbHVzdGVyIGlzIGVtcHR5XG4gICAqL1xuICByZWZldGNoQ2FjaGUoY2x1c3Rlcj86IHN0cmluZykge1xuICAgIHRoaXMuY2FjaGVTdG9yZS5yZWZldGNoKGNsdXN0ZXIpO1xuICB9XG59XG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1nYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS9zZXJ2aWNlcy9mZWF0dXJlLWdhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkQsT0FBTyxFQUVMLEVBQUUsRUFDRixVQUFVLEVBQ1YsR0FBRyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsSUFBSSxHQUNMLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBR2pELE1BQU0sT0FBTyxrQkFBa0I7SUF1QjdCLFlBQTZCLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUF0QjVCLGVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUMzQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMzQixPQUFPLEVBQUUsQ0FBQyxPQUFnQixFQUFFLEVBQUU7Z0JBQzVCLE1BQU0sR0FBRyxHQUFHLE9BQU87b0JBQ2pCLENBQUMsQ0FBQyxHQUFHLFdBQVcsVUFBVSxPQUFPLGVBQWU7b0JBQ2hELENBQUMsQ0FBQyxHQUFHLFdBQVcscUJBQXFCLENBQUM7Z0JBRXhDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDakUsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUs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QHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHV0aWxzXG4gKi9cblxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlciBhcyBfZmlsdGVyLCBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIGNhdGNoRXJyb3IsXG4gIG1hcCxcbiAgc3RhcnRXaXRoLFxuICBzaGFyZVJlcGxheSxcbiAgdGFrZSxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFQSV9HQVRFV0FZIH0gZnJvbSAnLi4vY29uc3RhbnRzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRmVhdHVyZUdhdGUsIEt1YmVybmV0ZXNSZXNvdXJjZUxpc3QgfSBmcm9tICcuLi90eXBlcy9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENhY2hlU3RvcmUgfSBmcm9tICcuLi91dGlscy9wdWJsaWMtYXBpJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlR2F0ZVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlU3RvcmUgPSBuZXcgQ2FjaGVTdG9yZSh7XG4gICAgc2hhcmU6ICgpID0+IHNoYXJlUmVwbGF5KDEpLFxuICAgIGZldGNoZXI6IChjbHVzdGVyPzogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB1cmwgPSBjbHVzdGVyXG4gICAgICAgID8gYCR7QVBJX0dBVEVXQVl9L2ZnL3YxLyR7Y2x1c3Rlcn0vZmVhdHVyZWdhdGVzYFxuICAgICAgICA6IGAke0FQSV9HQVRFV0FZfS9mZy92MS9mZWF0dXJlZ2F0ZXNgO1xuXG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PEZlYXR1cmVHYXRlPj4odXJsKS5waXBlKFxuICAgICAgICBtYXAoKHsgaXRlbXMgfSkgPT5cbiAgICAgICAgICBpdGVtcy5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjLCBjdXJyKSA9PiB7XG4gICAgICAgICAgICAgIGFjY1tjdXJyLm1ldGFkYXRhLm5hbWVdID0gY3Vyci5zdGF0dXMuZW5hYmxlZDtcbiAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPixcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IG9mKHt9IGFzIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+KSksXG4gICAgICApO1xuICAgIH0sXG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCkge31cblxuICBsb2FkU3RhdGUoY2x1c3Rlcj86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmNhY2hlU3RvcmUuZmV0Y2hTdGF0ZShjbHVzdGVyKS5waXBlKG1hcChsb2FkID0+IGxvYWQuc3RhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBnYXRlIHN0YXR1c1xuICAgKiBAcGFyYW0gZ2F0ZSAtIHNwZWNpZmllZCBmZWF0dXJlIGdhdGVcbiAgICogQHBhcmFtIGNsdXN0ZXIgLSBjaGVjayBnYXRlIGZvciBzcGVjaWZpZWQgY2x1c3RlclxuICAgKi9cbiAgaXNFbmFibGVkKGdhdGVOYW1lOiBzdHJpbmcsIGNsdXN0ZXI/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZVN0b3JlLmZldGNoKGNsdXN0ZXIpLnBpcGUoXG4gICAgICBtYXAodiA9PiAhIXZbZ2F0ZU5hbWVdKSxcbiAgICAgIHRha2UoMSksXG4gICAgKTtcbiAgfVxuXG4gIGlzTmVnYXRlRW5hYmxlZChnYXRlTmFtZTogc3RyaW5nLCBjbHVzdGVyPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVTdG9yZS5mZXRjaChjbHVzdGVyKS5waXBlKFxuICAgICAgbWFwKHYgPT4gIXZbZ2F0ZU5hbWVdKSxcbiAgICAgIHRha2UoMSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBmaWx0ZXIgbGlzdCB3aXRoIGdhdGUsIHNlbmQgaXRlbXMgd2l0aG91dCBmZWF0dXJlIGdhdGUgYXMgYmVnaW4gcHVzaCAoY2FuIHNraXAgYnkgcGFzc2luZyBgc2tpcE5vRmVhdHVyZUdhdGVQdXNoYCBhcmd1bWVudCB3aXRoIHRydWUpXG4gICAqIEBwYXJhbSBpdGVtcyAtIGxpc3QgbmVlZCBmaWx0ZXJcbiAgICogQHBhcmFtIGdhdGVBY2Nlc3NvciAtIGhvdyB0byBnZXQgZ2F0ZSBmcm9tIGl0ZW1cbiAgICogQHBhcmFtIGNsdXN0ZXIgLSBjaGVjayBnYXRlIGZvciBzcGVjaWZpZWQgY2x1c3RlclxuICAgKiBAcGFyYW0gZmlsdGVyTWV0aG9kIC0gZmlsdGVyIG1ldGhvZCwgZGVmYXVsdCB0byBsaXN0IGZpbHRlciwgY2FuIGZpbHRlciBkZWVwIHdpdGggY3JlYXRlUmVjdXJzaXZlRmlsdGVyIG9yIHRvdGFsbHkgY3VzdG9tIG1ldGhvZC5cbiAgICogQHBhcmFtIHNraXBOb0ZlYXR1cmVHYXRlUHVzaCAtIHNraXAgYmVnaW4gcHVzaCAsIGRlZmF1bHQgZmFsc2UuXG4gICAqL1xuICBmaWx0ZXJFbmFibGVkPFQ+KFxuICAgIGl0ZW1zOiBUW10sXG4gICAgZ2F0ZUFjY2Vzc29yOiAoaXRlbTogVCkgPT4gc3RyaW5nLFxuICAgIGNsdXN0ZXI/OiBzdHJpbmcsXG4gICAgZmlsdGVyTWV0aG9kOiAoXG4gICAgICBpdGVtczogVFtdLFxuICAgICAgY29uZGl0aW9uOiAoaXRlbTogVCkgPT4gYm9vbGVhbixcbiAgICApID0+IFRbXSA9IF9maWx0ZXIsXG4gICAgc2tpcE5vRmVhdHVyZUdhdGVQdXNoID0gZmFsc2UsXG4gICk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgY29uc3QgZmlsdGVyZWQgPSB0aGlzLmNhY2hlU3RvcmUuZmV0Y2goY2x1c3RlcikucGlwZShcbiAgICAgIG1hcCh2ID0+XG4gICAgICAgIGZpbHRlck1ldGhvZChpdGVtcywgaXRlbSA9PiB7XG4gICAgICAgICAgY29uc3QgZ2F0ZSA9IGdhdGVBY2Nlc3NvcihpdGVtKTtcbiAgICAgICAgICByZXR1cm4gZ2F0ZSA/IChnZXQoaXRlbSwgJ25lZ2F0ZScpID8gIXZbZ2F0ZV0gOiAhIXZbZ2F0ZV0pIDogdHJ1ZTtcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG5cbiAgICByZXR1cm4gc2tpcE5vRmVhdHVyZUdhdGVQdXNoXG4gICAgICA/IGZpbHRlcmVkXG4gICAgICA6IGZpbHRlcmVkLnBpcGUoXG4gICAgICAgICAgc3RhcnRXaXRoKGZpbHRlck1ldGhvZChpdGVtcywgaXRlbSA9PiAhZ2F0ZUFjY2Vzc29yKGl0ZW0pKSksXG4gICAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogcmVmZXRjaCBjYWNoZWQgZmVhdHVyZSBnYXRlIHNldHRpbmdzXG4gICAqIEBwYXJhbSBjbHVzdGVyIC0gc3BlY2lmaWVkIGNsdXN0ZXIsIHJlZmV0Y2ggYWxsIGFscmVhZHkgY2FjaGVkIHNldHRpbmdzIHdoZW4gY2x1c3RlciBpcyBlbXB0eVxuICAgKi9cbiAgcmVmZXRjaENhY2hlKGNsdXN0ZXI/OiBzdHJpbmcpIHtcbiAgICB0aGlzLmNhY2hlU3RvcmUucmVmZXRjaChjbHVzdGVyKTtcbiAgfVxufVxuIl19
@@ -3,4 +3,4 @@
3
3
  * @module types
4
4
  */
5
5
  export {};
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3R5cGVzL2NvbW1vbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdHlwZXNcbiAqL1xuXG5leHBvcnQgdHlwZSBTdHJpbmdNYXAgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50cyB7XG4gIEdMT0JBTF9OQU1FU1BBQ0U/OiBzdHJpbmc7XG4gIExBQkVMX0JBU0VfRE9NQUlOPzogc3RyaW5nO1xuICBMT0dPX1VSTD86IHN0cmluZztcbiAgSU5ORVJfUFJPSkVDVF9OU19QUkVGSVg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VMaXN0UGFyYW1zIGV4dGVuZHMgU3RyaW5nTWFwIHtcbiAgbGltaXQ/OiBzdHJpbmc7XG4gIGNvbnRpbnVlPzogc3RyaW5nO1xuICBsYWJlbFNlbGVjdG9yPzogc3RyaW5nO1xuICBmaWVsZFNlbGVjdG9yPzogc3RyaW5nO1xuICBmaWVsZD86IHN0cmluZztcbiAga2V5d29yZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXb3Jrc3BhY2VQYXJhbXMge1xuICBwcm9qZWN0Pzogc3RyaW5nO1xuICBjbHVzdGVyPzogc3RyaW5nO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIHNlcnZpY2VtZXNoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtzcGFjZUxpc3RQYXJhbXNcbiAgZXh0ZW5kcyBXb3Jrc3BhY2VQYXJhbXMsXG4gICAgUmVzb3VyY2VMaXN0UGFyYW1zIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya3NwYWNlRGV0YWlsUGFyYW1zIGV4dGVuZHMgV29ya3NwYWNlTGlzdFBhcmFtcyB7XG4gIG5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEtleVZhbHVlPFYgPSBzdHJpbmcsIFQgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+ID0gVCAmIHtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlOiBWO1xufTtcblxuZXhwb3J0IHR5cGUgUGFnaW5hdGlvbjxULCBPID0geyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0+ID0ge1xuICB0b3RhbDogbnVtYmVyO1xuICBpdGVtczogVFtdO1xufSAmIE87XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3R5cGVzL2NvbW1vbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdHlwZXNcbiAqL1xuXG5leHBvcnQgdHlwZSBTdHJpbmdNYXAgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50cyB7XG4gIEdMT0JBTF9OQU1FU1BBQ0U/OiBzdHJpbmc7XG4gIExBQkVMX0JBU0VfRE9NQUlOPzogc3RyaW5nO1xuICBMT0dPX1VSTD86IHN0cmluZztcbiAgSU5ORVJfUFJPSkVDVF9OU19QUkVGSVg/OiBzdHJpbmc7XG4gIENQQUFTX1NFU1NJT05fU1dJVENIPzogJ29uJyB8ICdvZmYnO1xuICBDTE9TRV9CUk9XU0VSX0VORF9TRVNTSU9OPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlTGlzdFBhcmFtcyBleHRlbmRzIFN0cmluZ01hcCB7XG4gIGxpbWl0Pzogc3RyaW5nO1xuICBjb250aW51ZT86IHN0cmluZztcbiAgbGFiZWxTZWxlY3Rvcj86IHN0cmluZztcbiAgZmllbGRTZWxlY3Rvcj86IHN0cmluZztcbiAgZmllbGQ/OiBzdHJpbmc7XG4gIGtleXdvcmQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya3NwYWNlUGFyYW1zIHtcbiAgcHJvamVjdD86IHN0cmluZztcbiAgY2x1c3Rlcj86IHN0cmluZztcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICBzZXJ2aWNlbWVzaD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXb3Jrc3BhY2VMaXN0UGFyYW1zXG4gIGV4dGVuZHMgV29ya3NwYWNlUGFyYW1zLFxuICAgIFJlc291cmNlTGlzdFBhcmFtcyB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtzcGFjZURldGFpbFBhcmFtcyBleHRlbmRzIFdvcmtzcGFjZUxpc3RQYXJhbXMge1xuICBuYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBLZXlWYWx1ZTxWID0gc3RyaW5nLCBUIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0PiA9IFQgJiB7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZTogVjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhZ2luYXRpb248VCwgTyA9IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9PiA9IHtcbiAgdG90YWw6IG51bWJlcjtcbiAgaXRlbXM6IFRbXTtcbn0gJiBPO1xuIl19