@seniorsistemas/data-seniorx-core 1.14.1 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/config/card.type.config.d.ts +1 -1
- package/core/constants/loading-state.const.d.ts +6 -0
- package/core/types/breadcrumb.type.d.ts +21 -0
- package/core/types/card.type.d.ts +14 -3
- package/core/types/loading-state.type.d.ts +9 -0
- package/esm2022/core/config/card.type.config.mjs +23 -11
- package/esm2022/core/constants/loading-state.const.mjs +6 -0
- package/esm2022/core/types/breadcrumb.type.mjs +2 -0
- package/esm2022/core/types/card.type.mjs +1 -1
- package/esm2022/core/types/loading-state.type.mjs +2 -0
- package/esm2022/features/breadcrumb/breadcrumb.component.mjs +176 -0
- package/esm2022/features/button/button.component.mjs +70 -13
- package/esm2022/features/card-list/card/card.component.mjs +105 -40
- package/esm2022/features/card-list/card-list.component.mjs +64 -29
- package/esm2022/features/combobox/combobox.component.mjs +78 -21
- package/esm2022/features/filters/filters.component.mjs +2 -2
- package/esm2022/features/list/list.component.mjs +188 -37
- package/esm2022/features/loading-state/loading-state.component.mjs +94 -0
- package/esm2022/features/loading-state/loading-state.directive.mjs +74 -0
- package/esm2022/features/paginator/paginator.component.mjs +64 -41
- package/esm2022/features/picklist/picklist.component.mjs +2 -2
- package/esm2022/features/row-card-list/row-card/row-card.component.mjs +3 -3
- package/esm2022/features/row-card-list/row-card-list.component.mjs +36 -21
- package/esm2022/features/scaffold/scaffold.component.mjs +43 -20
- package/esm2022/features/searchbox/searchbox.component.mjs +53 -16
- package/esm2022/features/sidebar/sidebar.component.mjs +9 -12
- package/esm2022/features/tab/tab-item.component.mjs +1 -1
- package/esm2022/features/tab/tab.component.mjs +149 -59
- package/esm2022/features/table/table.component.mjs +284 -147
- package/esm2022/features/textbox/textbox.component.mjs +3 -3
- package/esm2022/locales/en.json +79 -1
- package/esm2022/locales/es-CO.json +79 -1
- package/esm2022/locales/pt.json +79 -1
- package/esm2022/providers/cores.provider.mjs +20 -0
- package/esm2022/providers/features.provider.mjs +64 -0
- package/esm2022/providers/services.provider.mjs +3 -3
- package/esm2022/providers/translate.provider.mjs +4 -4
- package/esm2022/public-api.mjs +12 -7
- package/features/breadcrumb/breadcrumb.component.d.ts +45 -0
- package/features/button/button.component.d.ts +19 -4
- package/features/card-list/card/card.component.d.ts +28 -6
- package/features/card-list/card-list.component.d.ts +7 -2
- package/features/combobox/combobox.component.d.ts +15 -2
- package/features/list/list.component.d.ts +32 -6
- package/features/loading-state/loading-state.component.d.ts +25 -0
- package/features/loading-state/loading-state.directive.d.ts +21 -0
- package/features/paginator/paginator.component.d.ts +9 -5
- package/features/row-card-list/row-card-list.component.d.ts +6 -2
- package/features/scaffold/scaffold.component.d.ts +12 -5
- package/features/searchbox/searchbox.component.d.ts +14 -7
- package/features/sidebar/sidebar.component.d.ts +3 -4
- package/features/tab/tab.component.d.ts +16 -9
- package/features/table/table.component.d.ts +43 -17
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs +3765 -2512
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
- package/package.json +1 -1
- package/providers/cores.provider.d.ts +1 -0
- package/providers/features.provider.d.ts +1 -0
- package/providers/services.provider.d.ts +2 -2
- package/public-api.d.ts +8 -4
- package/src/locales/en.json +80 -2
- package/src/locales/es-CO.json +80 -2
- package/src/locales/pt.json +80 -2
- package/styles/sdc-card.scss +0 -1
- package/styles/sdc-global-variables.scss +21 -2
- package/styles.css +20 -3
- package/esm2022/features/spinner/spinner.component.mjs +0 -46
- package/esm2022/features/spinner/spinner.service.mjs +0 -23
- package/features/spinner/spinner.component.d.ts +0 -15
- package/features/spinner/spinner.service.d.ts +0 -10
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { CardListOptions } from '../types/card.type';
|
|
1
|
+
import type { CardListOptions } from '../types/card.type';
|
|
2
2
|
export declare const DEFAULT_CARD_LIST_OPTIONS: CardListOptions;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { LoadingStateIndicator } from '../types/loading-state.type';
|
|
2
|
+
export declare const DEFAULT_LOADING_STATE_INDICATOR: LoadingStateIndicator;
|
|
3
|
+
export declare const DEFAULT_LOADING_STATE_BLOCK_DELAY_MS = 300;
|
|
4
|
+
export declare const DEFAULT_LOADING_STATE_UNBLOCK_DELAY_MS = 200;
|
|
5
|
+
export declare const DEFAULT_LOADING_STATE_ID_PREFIX = "sdc-loading-state";
|
|
6
|
+
export declare const DEFAULT_LOADING_STATE_FULLSCREEN_Z_INDEX = 1005;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { IsActiveMatchOptions } from '@angular/router';
|
|
2
|
+
export type BreadcrumbMatchOptions = {
|
|
3
|
+
exact: boolean;
|
|
4
|
+
} | IsActiveMatchOptions;
|
|
5
|
+
export type BreadcrumbLabel = string;
|
|
6
|
+
export type BreadcrumbItem = {
|
|
7
|
+
label?: BreadcrumbLabel;
|
|
8
|
+
icon?: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
routerLink?: unknown[] | string;
|
|
11
|
+
url?: string;
|
|
12
|
+
target?: string;
|
|
13
|
+
queryParams?: Record<string, unknown>;
|
|
14
|
+
fragment?: string;
|
|
15
|
+
queryParamsHandling?: 'merge' | 'preserve' | '';
|
|
16
|
+
preserveFragment?: boolean;
|
|
17
|
+
skipLocationChange?: boolean;
|
|
18
|
+
replaceUrl?: boolean;
|
|
19
|
+
state?: Record<string, unknown>;
|
|
20
|
+
routerLinkActiveOptions?: BreadcrumbMatchOptions;
|
|
21
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EmptyStateConfig, Priority } from
|
|
1
|
+
import { EmptyStateConfig, Priority } from './semantics.type';
|
|
2
2
|
export interface Card {
|
|
3
3
|
id: string;
|
|
4
4
|
name: string;
|
|
@@ -10,12 +10,23 @@ export interface OptionsCard {
|
|
|
10
10
|
buttonPriority?: Priority;
|
|
11
11
|
buttonLabel?: string;
|
|
12
12
|
descriptionMaxLength?: number;
|
|
13
|
+
nameMaxLength?: number;
|
|
14
|
+
categoryMaxLength?: number;
|
|
13
15
|
backgroundIcon?: string;
|
|
14
16
|
iconColor?: string;
|
|
15
17
|
}
|
|
16
|
-
export interface
|
|
17
|
-
enablePagination: boolean;
|
|
18
|
+
export interface CardListTableOptions {
|
|
18
19
|
totalRecordsLabel?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface CardListPaginationOptions {
|
|
22
|
+
show: boolean;
|
|
23
|
+
rowsPerPage: number;
|
|
24
|
+
rowsPerPageOptions: readonly number[];
|
|
25
|
+
showRowsPerPageSelector: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface CardListOptions {
|
|
28
|
+
table: CardListTableOptions;
|
|
29
|
+
pagination: CardListPaginationOptions;
|
|
19
30
|
enableSideButtons: boolean;
|
|
20
31
|
customCard?: OptionsCard;
|
|
21
32
|
empty: EmptyStateConfig;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type LoadingStateIndicator = 'dots' | 'spinner' | 'logo';
|
|
2
|
+
export type LoadingStateDirectiveValue = boolean | {
|
|
3
|
+
loading: boolean;
|
|
4
|
+
indicator?: LoadingStateIndicator;
|
|
5
|
+
blockWindow?: boolean;
|
|
6
|
+
id?: string;
|
|
7
|
+
blockDelayMs?: number;
|
|
8
|
+
unblockDelayMs?: number;
|
|
9
|
+
};
|
|
@@ -1,18 +1,30 @@
|
|
|
1
|
+
const DEFAULT_ROWS_PER_PAGE_OPTIONS = [5, 10, 20];
|
|
2
|
+
const DEFAULT_ROWS_PER_PAGE = DEFAULT_ROWS_PER_PAGE_OPTIONS[0];
|
|
3
|
+
const DEFAULT_NAME_MAX_LENGTH = 14;
|
|
4
|
+
const DEFAULT_CATEGORY_MAX_LENGTH = 12;
|
|
5
|
+
const DEFAULT_DESCRIPTION_MAX_LENGTH = 100;
|
|
1
6
|
export const DEFAULT_CARD_LIST_OPTIONS = {
|
|
2
|
-
|
|
7
|
+
table: { totalRecordsLabel: 'platform.datacore.total_records' },
|
|
8
|
+
pagination: {
|
|
9
|
+
show: true,
|
|
10
|
+
rowsPerPage: DEFAULT_ROWS_PER_PAGE,
|
|
11
|
+
rowsPerPageOptions: DEFAULT_ROWS_PER_PAGE_OPTIONS,
|
|
12
|
+
showRowsPerPageSelector: false
|
|
13
|
+
},
|
|
3
14
|
enableSideButtons: false,
|
|
4
|
-
totalRecordsLabel: "platform.datacore.total_records",
|
|
5
15
|
customCard: {
|
|
6
|
-
buttonLabel:
|
|
7
|
-
buttonPriority:
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
16
|
+
buttonLabel: 'platform.datacore.see',
|
|
17
|
+
buttonPriority: 'primary',
|
|
18
|
+
nameMaxLength: DEFAULT_NAME_MAX_LENGTH,
|
|
19
|
+
categoryMaxLength: DEFAULT_CATEGORY_MAX_LENGTH,
|
|
20
|
+
descriptionMaxLength: DEFAULT_DESCRIPTION_MAX_LENGTH,
|
|
21
|
+
icon: 'fas fa-trophy',
|
|
22
|
+
backgroundIcon: '#428bca',
|
|
23
|
+
iconColor: '#ffffff'
|
|
12
24
|
},
|
|
13
25
|
empty: {
|
|
14
|
-
title:
|
|
15
|
-
message:
|
|
26
|
+
title: 'platform.datacore.empty_title',
|
|
27
|
+
message: 'platform.datacore.empty_message'
|
|
16
28
|
}
|
|
17
29
|
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC50eXBlLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvY29yZS9jb25maWcvY2FyZC50eXBlLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQVUsQ0FBQztBQUMzRCxNQUFNLHFCQUFxQixHQUFHLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRS9ELE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBQ25DLE1BQU0sMkJBQTJCLEdBQUcsRUFBRSxDQUFDO0FBQ3ZDLE1BQU0sOEJBQThCLEdBQUcsR0FBRyxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFvQjtJQUN4RCxLQUFLLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxpQ0FBaUMsRUFBRTtJQUMvRCxVQUFVLEVBQUU7UUFDVixJQUFJLEVBQUUsSUFBSTtRQUNWLFdBQVcsRUFBRSxxQkFBcUI7UUFDbEMsa0JBQWtCLEVBQUUsNkJBQTZCO1FBQ2pELHVCQUF1QixFQUFFLEtBQUs7S0FDL0I7SUFDRCxpQkFBaUIsRUFBRSxLQUFLO0lBQ3hCLFVBQVUsRUFBRTtRQUNWLFdBQVcsRUFBRSx1QkFBdUI7UUFDcEMsY0FBYyxFQUFFLFNBQVM7UUFDekIsYUFBYSxFQUFFLHVCQUF1QjtRQUN0QyxpQkFBaUIsRUFBRSwyQkFBMkI7UUFDOUMsb0JBQW9CLEVBQUUsOEJBQThCO1FBQ3BELElBQUksRUFBRSxlQUFlO1FBQ3JCLGNBQWMsRUFBRSxTQUFTO1FBQ3pCLFNBQVMsRUFBRSxTQUFTO0tBQ3JCO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsS0FBSyxFQUFFLCtCQUErQjtRQUN0QyxPQUFPLEVBQUUsaUNBQWlDO0tBQzNDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2FyZExpc3RPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMvY2FyZC50eXBlJztcblxuY29uc3QgREVGQVVMVF9ST1dTX1BFUl9QQUdFX09QVElPTlMgPSBbNSwgMTAsIDIwXSBhcyBjb25zdDtcbmNvbnN0IERFRkFVTFRfUk9XU19QRVJfUEFHRSA9IERFRkFVTFRfUk9XU19QRVJfUEFHRV9PUFRJT05TWzBdO1xuXG5jb25zdCBERUZBVUxUX05BTUVfTUFYX0xFTkdUSCA9IDE0O1xuY29uc3QgREVGQVVMVF9DQVRFR09SWV9NQVhfTEVOR1RIID0gMTI7XG5jb25zdCBERUZBVUxUX0RFU0NSSVBUSU9OX01BWF9MRU5HVEggPSAxMDA7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NBUkRfTElTVF9PUFRJT05TOiBDYXJkTGlzdE9wdGlvbnMgPSB7XG4gIHRhYmxlOiB7IHRvdGFsUmVjb3Jkc0xhYmVsOiAncGxhdGZvcm0uZGF0YWNvcmUudG90YWxfcmVjb3JkcycgfSxcbiAgcGFnaW5hdGlvbjoge1xuICAgIHNob3c6IHRydWUsXG4gICAgcm93c1BlclBhZ2U6IERFRkFVTFRfUk9XU19QRVJfUEFHRSxcbiAgICByb3dzUGVyUGFnZU9wdGlvbnM6IERFRkFVTFRfUk9XU19QRVJfUEFHRV9PUFRJT05TLFxuICAgIHNob3dSb3dzUGVyUGFnZVNlbGVjdG9yOiBmYWxzZVxuICB9LFxuICBlbmFibGVTaWRlQnV0dG9uczogZmFsc2UsXG4gIGN1c3RvbUNhcmQ6IHtcbiAgICBidXR0b25MYWJlbDogJ3BsYXRmb3JtLmRhdGFjb3JlLnNlZScsXG4gICAgYnV0dG9uUHJpb3JpdHk6ICdwcmltYXJ5JyxcbiAgICBuYW1lTWF4TGVuZ3RoOiBERUZBVUxUX05BTUVfTUFYX0xFTkdUSCxcbiAgICBjYXRlZ29yeU1heExlbmd0aDogREVGQVVMVF9DQVRFR09SWV9NQVhfTEVOR1RILFxuICAgIGRlc2NyaXB0aW9uTWF4TGVuZ3RoOiBERUZBVUxUX0RFU0NSSVBUSU9OX01BWF9MRU5HVEgsXG4gICAgaWNvbjogJ2ZhcyBmYS10cm9waHknLFxuICAgIGJhY2tncm91bmRJY29uOiAnIzQyOGJjYScsXG4gICAgaWNvbkNvbG9yOiAnI2ZmZmZmZidcbiAgfSxcbiAgZW1wdHk6IHtcbiAgICB0aXRsZTogJ3BsYXRmb3JtLmRhdGFjb3JlLmVtcHR5X3RpdGxlJyxcbiAgICBtZXNzYWdlOiAncGxhdGZvcm0uZGF0YWNvcmUuZW1wdHlfbWVzc2FnZSdcbiAgfVxufTtcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const DEFAULT_LOADING_STATE_INDICATOR = 'dots';
|
|
2
|
+
export const DEFAULT_LOADING_STATE_BLOCK_DELAY_MS = 300;
|
|
3
|
+
export const DEFAULT_LOADING_STATE_UNBLOCK_DELAY_MS = 200;
|
|
4
|
+
export const DEFAULT_LOADING_STATE_ID_PREFIX = 'sdc-loading-state';
|
|
5
|
+
export const DEFAULT_LOADING_STATE_FULLSCREEN_Z_INDEX = 1005;
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zdGF0ZS5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvY29yZS9jb25zdGFudHMvbG9hZGluZy1zdGF0ZS5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBMEIsTUFBTSxDQUFDO0FBRTdFLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLEdBQUcsQ0FBQztBQUN4RCxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxHQUFHLENBQUM7QUFFMUQsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsbUJBQW1CLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQUcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMb2FkaW5nU3RhdGVJbmRpY2F0b3IgfSBmcm9tICcuLi90eXBlcy9sb2FkaW5nLXN0YXRlLnR5cGUnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MT0FESU5HX1NUQVRFX0lORElDQVRPUjogTG9hZGluZ1N0YXRlSW5kaWNhdG9yID0gJ2RvdHMnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MT0FESU5HX1NUQVRFX0JMT0NLX0RFTEFZX01TID0gMzAwO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTE9BRElOR19TVEFURV9VTkJMT0NLX0RFTEFZX01TID0gMjAwO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MT0FESU5HX1NUQVRFX0lEX1BSRUZJWCA9ICdzZGMtbG9hZGluZy1zdGF0ZSc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9MT0FESU5HX1NUQVRFX0ZVTExTQ1JFRU5fWl9JTkRFWCA9IDEwMDU7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9jb3JlL3R5cGVzL2JyZWFkY3J1bWIudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJc0FjdGl2ZU1hdGNoT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCB0eXBlIEJyZWFkY3J1bWJNYXRjaE9wdGlvbnMgPSB7IGV4YWN0OiBib29sZWFuIH0gfCBJc0FjdGl2ZU1hdGNoT3B0aW9ucztcblxuZXhwb3J0IHR5cGUgQnJlYWRjcnVtYkxhYmVsID0gc3RyaW5nO1xuXG5leHBvcnQgdHlwZSBCcmVhZGNydW1iSXRlbSA9IHtcbiAgbGFiZWw/OiBCcmVhZGNydW1iTGFiZWw7XG4gIGljb24/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcblxuICByb3V0ZXJMaW5rPzogdW5rbm93bltdIHwgc3RyaW5nO1xuICB1cmw/OiBzdHJpbmc7XG5cbiAgdGFyZ2V0Pzogc3RyaW5nO1xuICBxdWVyeVBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBmcmFnbWVudD86IHN0cmluZztcbiAgcXVlcnlQYXJhbXNIYW5kbGluZz86ICdtZXJnZScgfCAncHJlc2VydmUnIHwgJyc7XG4gIHByZXNlcnZlRnJhZ21lbnQ/OiBib29sZWFuO1xuICBza2lwTG9jYXRpb25DaGFuZ2U/OiBib29sZWFuO1xuICByZXBsYWNlVXJsPzogYm9vbGVhbjtcbiAgc3RhdGU/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICByb3V0ZXJMaW5rQWN0aXZlT3B0aW9ucz86IEJyZWFkY3J1bWJNYXRjaE9wdGlvbnM7XG59OyJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9jb3JlL3R5cGVzL2NhcmQudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW1wdHlTdGF0ZUNvbmZpZywgUHJpb3JpdHkgfSBmcm9tICcuL3NlbWFudGljcy50eXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBDYXJkIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBjYXRlZ29yeTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnNDYXJkIHtcbiAgaWNvbj86IHN0cmluZztcbiAgYnV0dG9uUHJpb3JpdHk/OiBQcmlvcml0eTtcbiAgYnV0dG9uTGFiZWw/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uTWF4TGVuZ3RoPzogbnVtYmVyO1xuICBuYW1lTWF4TGVuZ3RoPzogbnVtYmVyO1xuICBjYXRlZ29yeU1heExlbmd0aD86IG51bWJlcjtcbiAgYmFja2dyb3VuZEljb24/OiBzdHJpbmc7XG4gIGljb25Db2xvcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXJkTGlzdFRhYmxlT3B0aW9ucyB7XG4gIHRvdGFsUmVjb3Jkc0xhYmVsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhcmRMaXN0UGFnaW5hdGlvbk9wdGlvbnMge1xuICBzaG93OiBib29sZWFuO1xuICByb3dzUGVyUGFnZTogbnVtYmVyO1xuICByb3dzUGVyUGFnZU9wdGlvbnM6IHJlYWRvbmx5IG51bWJlcltdO1xuICBzaG93Um93c1BlclBhZ2VTZWxlY3RvcjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXJkTGlzdE9wdGlvbnMge1xuICB0YWJsZTogQ2FyZExpc3RUYWJsZU9wdGlvbnM7XG4gIHBhZ2luYXRpb246IENhcmRMaXN0UGFnaW5hdGlvbk9wdGlvbnM7XG4gIGVuYWJsZVNpZGVCdXR0b25zOiBib29sZWFuO1xuICBjdXN0b21DYXJkPzogT3B0aW9uc0NhcmQ7XG4gIGVtcHR5OiBFbXB0eVN0YXRlQ29uZmlnO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zdGF0ZS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9jb3JlL3R5cGVzL2xvYWRpbmctc3RhdGUudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTG9hZGluZ1N0YXRlSW5kaWNhdG9yID0gJ2RvdHMnIHwgJ3NwaW5uZXInIHwgJ2xvZ28nO1xuXG5leHBvcnQgdHlwZSBMb2FkaW5nU3RhdGVEaXJlY3RpdmVWYWx1ZSA9XG4gIHwgYm9vbGVhblxuICB8IHtcbiAgICBsb2FkaW5nOiBib29sZWFuO1xuICAgIGluZGljYXRvcj86IExvYWRpbmdTdGF0ZUluZGljYXRvcjtcbiAgICBibG9ja1dpbmRvdz86IGJvb2xlYW47XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgYmxvY2tEZWxheU1zPzogbnVtYmVyO1xuICAgIHVuYmxvY2tEZWxheU1zPzogbnVtYmVyO1xuICB9OyJdfQ==
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, computed, signal } from '@angular/core';
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { NavigationEnd, PRIMARY_OUTLET, RouterModule } from '@angular/router';
|
|
5
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
6
|
+
import { filter } from 'rxjs/operators';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/router";
|
|
9
|
+
import * as i2 from "@ngx-translate/core";
|
|
10
|
+
const INDEX_ZERO = 0;
|
|
11
|
+
const DEFAULT_TARGET_HOME = '_self';
|
|
12
|
+
const HOME_ICON_CLASS = 'fa fa-home';
|
|
13
|
+
const ACTIVE_SUBSET_OPTIONS = {
|
|
14
|
+
exact: false,
|
|
15
|
+
paths: 'subset',
|
|
16
|
+
queryParams: 'subset',
|
|
17
|
+
fragment: 'ignored',
|
|
18
|
+
matrixParams: 'ignored'
|
|
19
|
+
};
|
|
20
|
+
const ACTIVE_EXACT_OPTIONS = {
|
|
21
|
+
exact: true,
|
|
22
|
+
paths: 'exact',
|
|
23
|
+
queryParams: 'exact',
|
|
24
|
+
fragment: 'ignored',
|
|
25
|
+
matrixParams: 'ignored'
|
|
26
|
+
};
|
|
27
|
+
export class BreadcrumbComponent {
|
|
28
|
+
activatedRoute;
|
|
29
|
+
router;
|
|
30
|
+
homeUrlSignal = signal(undefined);
|
|
31
|
+
targetHomeUrlSignal = signal(DEFAULT_TARGET_HOME);
|
|
32
|
+
ariaLabelSignal = signal(undefined);
|
|
33
|
+
title = signal('');
|
|
34
|
+
home = signal(undefined);
|
|
35
|
+
items = signal([]);
|
|
36
|
+
ariaLabelText = computed(() => this.ariaLabelSignal());
|
|
37
|
+
set homeUrl(value) {
|
|
38
|
+
this.homeUrlSignal.set(value ?? undefined);
|
|
39
|
+
this.rebuild();
|
|
40
|
+
}
|
|
41
|
+
get homeUrl() {
|
|
42
|
+
return this.homeUrlSignal();
|
|
43
|
+
}
|
|
44
|
+
set targetHomeUrl(value) {
|
|
45
|
+
this.targetHomeUrlSignal.set(value ?? DEFAULT_TARGET_HOME);
|
|
46
|
+
this.rebuild();
|
|
47
|
+
}
|
|
48
|
+
get targetHomeUrl() {
|
|
49
|
+
return this.targetHomeUrlSignal();
|
|
50
|
+
}
|
|
51
|
+
set ariaLabel(value) {
|
|
52
|
+
this.ariaLabelSignal.set(value);
|
|
53
|
+
}
|
|
54
|
+
constructor(activatedRoute, router) {
|
|
55
|
+
this.activatedRoute = activatedRoute;
|
|
56
|
+
this.router = router;
|
|
57
|
+
this.router.events
|
|
58
|
+
.pipe(filter((event) => event instanceof NavigationEnd), takeUntilDestroyed())
|
|
59
|
+
.subscribe(() => this.rebuild());
|
|
60
|
+
this.rebuild();
|
|
61
|
+
}
|
|
62
|
+
prevent(ev) {
|
|
63
|
+
ev.preventDefault();
|
|
64
|
+
ev.stopPropagation();
|
|
65
|
+
}
|
|
66
|
+
hasRouterLink(item) {
|
|
67
|
+
return !!item && item.routerLink != null;
|
|
68
|
+
}
|
|
69
|
+
routerLinkOf(item) {
|
|
70
|
+
return item.routerLink;
|
|
71
|
+
}
|
|
72
|
+
queryParamsOf(item) {
|
|
73
|
+
return item.queryParams;
|
|
74
|
+
}
|
|
75
|
+
hrefOf(item) {
|
|
76
|
+
return item.url ?? null;
|
|
77
|
+
}
|
|
78
|
+
targetAttrOf(item) {
|
|
79
|
+
return item.target ?? null;
|
|
80
|
+
}
|
|
81
|
+
rebuild() {
|
|
82
|
+
const currentRoute = this.activatedRoute.root;
|
|
83
|
+
const validRoutes = this.getValidChildren(currentRoute);
|
|
84
|
+
this.title.set(this.getCurrentTitle(validRoutes) ?? '');
|
|
85
|
+
this.home.set(this.getCurrentHome(validRoutes));
|
|
86
|
+
this.items.set(this.getCurrentItems(validRoutes));
|
|
87
|
+
}
|
|
88
|
+
getValidChildren(route) {
|
|
89
|
+
const rc = route.routeConfig;
|
|
90
|
+
const hasRenderable = !!rc?.component || !!rc?.loadComponent;
|
|
91
|
+
const hasPath = !!rc?.path;
|
|
92
|
+
const valid = hasPath && hasRenderable && route.outlet === PRIMARY_OUTLET;
|
|
93
|
+
return route.children.reduce((acc, child) => [...acc, ...this.getValidChildren(child)], valid ? [route] : []);
|
|
94
|
+
}
|
|
95
|
+
getCurrentTitle(routes) {
|
|
96
|
+
const last = routes[routes.length - 1];
|
|
97
|
+
if (last?.routeConfig) {
|
|
98
|
+
return this.getTitle(last);
|
|
99
|
+
}
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
getCurrentHome(routes) {
|
|
103
|
+
const homeUrl = this.homeUrlSignal();
|
|
104
|
+
const target = this.targetHomeUrlSignal();
|
|
105
|
+
if (homeUrl) {
|
|
106
|
+
return {
|
|
107
|
+
label: '',
|
|
108
|
+
routerLink: [homeUrl],
|
|
109
|
+
icon: HOME_ICON_CLASS,
|
|
110
|
+
routerLinkActiveOptions: ACTIVE_SUBSET_OPTIONS,
|
|
111
|
+
target
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
if (!routes.length) {
|
|
115
|
+
return undefined;
|
|
116
|
+
}
|
|
117
|
+
const isSingle = routes.length === 1;
|
|
118
|
+
return {
|
|
119
|
+
...this.getMenuItem(routes[INDEX_ZERO], isSingle),
|
|
120
|
+
icon: HOME_ICON_CLASS,
|
|
121
|
+
label: '',
|
|
122
|
+
routerLinkActiveOptions: ACTIVE_SUBSET_OPTIONS,
|
|
123
|
+
target
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
getCurrentItems(routes) {
|
|
127
|
+
if (!routes.length) {
|
|
128
|
+
return [];
|
|
129
|
+
}
|
|
130
|
+
const fromRoutes = this.homeUrlSignal() ? routes : routes.slice(1);
|
|
131
|
+
if (!fromRoutes.length) {
|
|
132
|
+
return [];
|
|
133
|
+
}
|
|
134
|
+
const lastIndex = fromRoutes.length - 1;
|
|
135
|
+
return fromRoutes.map((route, i) => this.getMenuItem(route, i === lastIndex));
|
|
136
|
+
}
|
|
137
|
+
getMenuItem(route, disabled = false) {
|
|
138
|
+
const label = this.getTitle(route);
|
|
139
|
+
const pathFromRoot = route.pathFromRoot;
|
|
140
|
+
const stopIndex = pathFromRoot.indexOf(route);
|
|
141
|
+
const parts = pathFromRoot
|
|
142
|
+
.slice(INDEX_ZERO, stopIndex + 1)
|
|
143
|
+
.flatMap((r) => r.snapshot.url.map((u) => u.path))
|
|
144
|
+
.filter((p) => Boolean(p));
|
|
145
|
+
const routerLink = ['/', ...parts];
|
|
146
|
+
const queryParams = route.snapshot.queryParams;
|
|
147
|
+
return {
|
|
148
|
+
label,
|
|
149
|
+
routerLink,
|
|
150
|
+
disabled,
|
|
151
|
+
queryParams,
|
|
152
|
+
routerLinkActiveOptions: ACTIVE_EXACT_OPTIONS
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
getTitle(route) {
|
|
156
|
+
const title = route.snapshot.data['routeTitle'];
|
|
157
|
+
if (!title) {
|
|
158
|
+
const path = route.routeConfig?.path ?? '';
|
|
159
|
+
throw new Error(`No routeTitle defined for the route /${path}`);
|
|
160
|
+
}
|
|
161
|
+
return String(title);
|
|
162
|
+
}
|
|
163
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
164
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BreadcrumbComponent, isStandalone: true, selector: "sdc-breadcrumb", inputs: { homeUrl: "homeUrl", targetHomeUrl: "targetHomeUrl", ariaLabel: "ariaLabel" }, ngImport: i0, template: "<nav class=\"sdc-breadcrumb\" [attr.aria-label]=\"(ariaLabelText() || 'platform.datacore.accessibility.breadcrumb_navigation') | translate\">\n <ol class=\"sdc-breadcrumb-list\">\n @if (home()) {\n <li class=\"sdc-breadcrumb-item sdc-breadcrumb-item--home\">\n @if (hasRouterLink(home()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(home()!)\"\n [queryParams]=\"queryParamsOf(home()!)\"\n [attr.target]=\"targetAttrOf(home()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (home()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"home()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else {\n <a\n class=\"sdc-breadcrumb-link\"\n [attr.href]=\"hrefOf(home()!)\"\n [attr.target]=\"targetAttrOf(home()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (home()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"home()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n }\n </li>\n }\n\n @for (item of items(); track $index; let i = $index) {\n <li class=\"sdc-breadcrumb-separator\" aria-hidden=\"true\"></li>\n\n <li class=\"sdc-breadcrumb-item\" [class.sdc-breadcrumb-item--current]=\"item.disabled\">\n @if (!item.disabled && hasRouterLink(item)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(item)\"\n [queryParams]=\"queryParamsOf(item)\"\n [attr.target]=\"targetAttrOf(item)\"\n >\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n </a>\n } @else {\n <span class=\"sdc-breadcrumb-current\" aria-current=\"page\">{{ (item.label || '') | translate }}</span>\n }\n </li>\n }\n </ol>\n</nav>", styles: ["@charset \"UTF-8\";:host{display:block}.sdc-breadcrumb{font-size:12px;line-height:1.2;padding:0;background:transparent}.sdc-breadcrumb-list{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}.sdc-breadcrumb-item{display:inline-flex;align-items:center;min-height:18px}.sdc-breadcrumb-link{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb));text-decoration:none!important;outline:none}.sdc-breadcrumb-link:hover,.sdc-breadcrumb-link:active,.sdc-breadcrumb-link:visited{text-decoration:none!important}.sdc-breadcrumb-link:focus-visible{outline:2px solid var(--sdc-primary-600, #2563eb);outline-offset:2px;border-radius:4px}.sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb));font-size:12px;line-height:1}.sdc-breadcrumb-item-label{font-weight:400}.sdc-breadcrumb-separator{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--sdc-breadcrumb-separator-padding-x, 8px);color:var(--sdc-breadcrumb-separator-color, #667085);font-size:var(--sdc-breadcrumb-separator-size, 17px);line-height:1;transform:translateY(var(--sdc-breadcrumb-separator-translate-y, -1.6px))}.sdc-breadcrumb-separator:before{content:\"\\203a\"}.sdc-breadcrumb-current{color:var(--sdc-breadcrumb-current-color, #666872);font-weight:400}.sdc-breadcrumb-item--current .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-current-color, #666872);pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
165
|
+
}
|
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbComponent, decorators: [{
|
|
167
|
+
type: Component,
|
|
168
|
+
args: [{ selector: 'sdc-breadcrumb', standalone: true, imports: [CommonModule, RouterModule, TranslateModule], encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav class=\"sdc-breadcrumb\" [attr.aria-label]=\"(ariaLabelText() || 'platform.datacore.accessibility.breadcrumb_navigation') | translate\">\n <ol class=\"sdc-breadcrumb-list\">\n @if (home()) {\n <li class=\"sdc-breadcrumb-item sdc-breadcrumb-item--home\">\n @if (hasRouterLink(home()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(home()!)\"\n [queryParams]=\"queryParamsOf(home()!)\"\n [attr.target]=\"targetAttrOf(home()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (home()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"home()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else {\n <a\n class=\"sdc-breadcrumb-link\"\n [attr.href]=\"hrefOf(home()!)\"\n [attr.target]=\"targetAttrOf(home()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (home()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"home()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n }\n </li>\n }\n\n @for (item of items(); track $index; let i = $index) {\n <li class=\"sdc-breadcrumb-separator\" aria-hidden=\"true\"></li>\n\n <li class=\"sdc-breadcrumb-item\" [class.sdc-breadcrumb-item--current]=\"item.disabled\">\n @if (!item.disabled && hasRouterLink(item)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(item)\"\n [queryParams]=\"queryParamsOf(item)\"\n [attr.target]=\"targetAttrOf(item)\"\n >\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n </a>\n } @else {\n <span class=\"sdc-breadcrumb-current\" aria-current=\"page\">{{ (item.label || '') | translate }}</span>\n }\n </li>\n }\n </ol>\n</nav>", styles: ["@charset \"UTF-8\";:host{display:block}.sdc-breadcrumb{font-size:12px;line-height:1.2;padding:0;background:transparent}.sdc-breadcrumb-list{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}.sdc-breadcrumb-item{display:inline-flex;align-items:center;min-height:18px}.sdc-breadcrumb-link{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb));text-decoration:none!important;outline:none}.sdc-breadcrumb-link:hover,.sdc-breadcrumb-link:active,.sdc-breadcrumb-link:visited{text-decoration:none!important}.sdc-breadcrumb-link:focus-visible{outline:2px solid var(--sdc-primary-600, #2563eb);outline-offset:2px;border-radius:4px}.sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb));font-size:12px;line-height:1}.sdc-breadcrumb-item-label{font-weight:400}.sdc-breadcrumb-separator{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--sdc-breadcrumb-separator-padding-x, 8px);color:var(--sdc-breadcrumb-separator-color, #667085);font-size:var(--sdc-breadcrumb-separator-size, 17px);line-height:1;transform:translateY(var(--sdc-breadcrumb-separator-translate-y, -1.6px))}.sdc-breadcrumb-separator:before{content:\"\\203a\"}.sdc-breadcrumb-current{color:var(--sdc-breadcrumb-current-color, #666872);font-weight:400}.sdc-breadcrumb-item--current .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-current-color, #666872);pointer-events:none}\n"] }]
|
|
169
|
+
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }], propDecorators: { homeUrl: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], targetHomeUrl: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], ariaLabel: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}] } });
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFHTCxhQUFhLEVBQ2IsY0FBYyxFQUVkLFlBQVksRUFDYixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHeEMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDO0FBQ3BDLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQztBQUlyQyxNQUFNLHFCQUFxQixHQUFrRDtJQUMzRSxLQUFLLEVBQUUsS0FBSztJQUNaLEtBQUssRUFBRSxRQUFRO0lBQ2YsV0FBVyxFQUFFLFFBQVE7SUFDckIsUUFBUSxFQUFFLFNBQVM7SUFDbkIsWUFBWSxFQUFFLFNBQVM7Q0FDeEIsQ0FBQztBQUVGLE1BQU0sb0JBQW9CLEdBQWtEO0lBQzFFLEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLE9BQU87SUFDZCxXQUFXLEVBQUUsT0FBTztJQUNwQixRQUFR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LENBQUM7UUFFaEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7d0dBbExVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLGtLQzVEaEMsMmpFQWtETSx1aURESU0sWUFBWSw4QkFBRSxZQUFZLCtRQUFFLGVBQWU7OzRGQU0xQyxtQkFBbUI7a0JBVC9CLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLENBQUMsaUJBR3ZDLGlCQUFpQixDQUFDLFFBQVEsbUJBQ3hCLHVCQUF1QixDQUFDLE1BQU07d0dBYzNDLE9BQU87c0JBRFYsS0FBSztnQkFXRixhQUFhO3NCQURoQixLQUFLO2dCQVdGLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZSxcbiAgSXNBY3RpdmVNYXRjaE9wdGlvbnMsXG4gIE5hdmlnYXRpb25FbmQsXG4gIFBSSU1BUllfT1VUTEVULFxuICBSb3V0ZXIsXG4gIFJvdXRlck1vZHVsZVxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCcmVhZGNydW1iSXRlbSB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvYnJlYWRjcnVtYi50eXBlJztcblxuY29uc3QgSU5ERVhfWkVSTyA9IDA7XG5jb25zdCBERUZBVUxUX1RBUkdFVF9IT01FID0gJ19zZWxmJztcbmNvbnN0IEhPTUVfSUNPTl9DTEFTUyA9ICdmYSBmYS1ob21lJztcblxudHlwZSBCcmVhZGNydW1iTWF0Y2hPcHRpb25zID0geyBleGFjdDogYm9vbGVhbiB9O1xuXG5jb25zdCBBQ1RJVkVfU1VCU0VUX09QVElPTlM6IEJyZWFkY3J1bWJNYXRjaE9wdGlvbnMgJiBJc0FjdGl2ZU1hdGNoT3B0aW9ucyA9IHtcbiAgZXhhY3Q6IGZhbHNlLFxuICBwYXRoczogJ3N1YnNldCcsXG4gIHF1ZXJ5UGFyYW1zOiAnc3Vic2V0JyxcbiAgZnJhZ21lbnQ6ICdpZ25vcmVkJyxcbiAgbWF0cml4UGFyYW1zOiAnaWdub3JlZCdcbn07XG5cbmNvbnN0IEFDVElWRV9FWEFDVF9PUFRJT05TOiBCcmVhZGNydW1iTWF0Y2hPcHRpb25zICYgSXNBY3RpdmVNYXRjaE9wdGlvbnMgPSB7XG4gIGV4YWN0OiB0cnVlLFxuICBwYXRoczogJ2V4YWN0JyxcbiAgcXVlcnlQYXJhbXM6ICdleGFjdCcsXG4gIGZyYWdtZW50OiAnaWdub3JlZCcsXG4gIG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnXG59O1xuXG50eXBlIEJyZWFkY3J1bWJJdGVtVm0gPSBPbWl0PEJyZWFkY3J1bWJJdGVtLCAnbGFiZWwnIHwgJ3JvdXRlckxpbmsnIHwgJ3F1ZXJ5UGFyYW1zJyB8ICdyb3V0ZXJMaW5rQWN0aXZlT3B0aW9ucyc+ICYge1xuICBsYWJlbDogc3RyaW5nO1xuICByb3V0ZXJMaW5rPzogc3RyaW5nW107XG4gIHF1ZXJ5UGFyYW1zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIHJvdXRlckxpbmtBY3RpdmVPcHRpb25zPzogQnJlYWRjcnVtYk1hdGNoT3B0aW9ucyAmIElzQWN0aXZlTWF0Y2hPcHRpb25zO1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLWJyZWFkY3J1bWInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYkNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaG9tZVVybFNpZ25hbCA9IHNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFyZ2V0SG9tZVVybFNpZ25hbCA9IHNpZ25hbDxzdHJpbmc+KERFRkFVTFRfVEFSR0VUX0hPTUUpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFyaWFMYWJlbFNpZ25hbCA9IHNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRpdGxlID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9tZSA9IHNpZ25hbDxCcmVhZGNydW1iSXRlbVZtIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbXMgPSBzaWduYWw8QnJlYWRjcnVtYkl0ZW1WbVtdPihbXSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFyaWFMYWJlbFRleHQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmFyaWFMYWJlbFNpZ25hbCgpKTtcblxuICBASW5wdXQoKVxuICBzZXQgaG9tZVVybCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5ob21lVXJsU2lnbmFsLnNldCh2YWx1ZSA/PyB1bmRlZmluZWQpO1xuICAgIHRoaXMucmVidWlsZCgpO1xuICB9XG5cbiAgZ2V0IGhvbWVVcmwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ob21lVXJsU2lnbmFsKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgdGFyZ2V0SG9tZVVybCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy50YXJnZXRIb21lVXJsU2lnbmFsLnNldCh2YWx1ZSA/PyBERUZBVUxUX1RBUkdFVF9IT01FKTtcbiAgICB0aGlzLnJlYnVpbGQoKTtcbiAgfVxuXG4gIGdldCB0YXJnZXRIb21lVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGFyZ2V0SG9tZVVybFNpZ25hbCgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGFyaWFMYWJlbCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5hcmlhTGFiZWxTaWduYWwuc2V0KHZhbHVlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLCB0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWJ1aWxkKCkpO1xuXG4gICAgdGhpcy5yZWJ1aWxkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmVudChldjogRXZlbnQpOiB2b2lkIHtcbiAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhc1JvdXRlckxpbmsoaXRlbTogQnJlYWRjcnVtYkl0ZW1WbSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIWl0ZW0gJiYgaXRlbS5yb3V0ZXJMaW5rICE9IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgcm91dGVyTGlua09mKGl0ZW06IEJyZWFkY3J1bWJJdGVtVm0pOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGl0ZW0ucm91dGVyTGluaztcbiAgfVxuXG4gIHByb3RlY3RlZCBxdWVyeVBhcmFtc09mKGl0ZW06IEJyZWFkY3J1bWJJdGVtVm0pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGl0ZW0ucXVlcnlQYXJhbXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgaHJlZk9mKGl0ZW06IEJyZWFkY3J1bWJJdGVtVm0pOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gaXRlbS51cmwgPz8gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCB0YXJnZXRBdHRyT2YoaXRlbTogQnJlYWRjcnVtYkl0ZW1WbSk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiBpdGVtLnRhcmdldCA/PyBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSByZWJ1aWxkKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRSb3V0ZSA9IHRoaXMuYWN0aXZhdGVkUm91dGUucm9vdDtcbiAgICBjb25zdCB2YWxpZFJvdXRlcyA9IHRoaXMuZ2V0VmFsaWRDaGlsZHJlbihjdXJyZW50Um91dGUpO1xuXG4gICAgdGhpcy50aXRsZS5zZXQodGhpcy5nZXRDdXJyZW50VGl0bGUodmFsaWRSb3V0ZXMpID8/ICcnKTtcbiAgICB0aGlzLmhvbWUuc2V0KHRoaXMuZ2V0Q3VycmVudEhvbWUodmFsaWRSb3V0ZXMpKTtcbiAgICB0aGlzLml0ZW1zLnNldCh0aGlzLmdldEN1cnJlbnRJdGVtcyh2YWxpZFJvdXRlcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYWxpZENoaWxkcmVuKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IEFjdGl2YXRlZFJvdXRlW10ge1xuICAgIGNvbnN0IHJjID0gcm91dGUucm91dGVDb25maWc7XG4gICAgY29uc3QgaGFzUmVuZGVyYWJsZSA9ICEhcmM/LmNvbXBvbmVudCB8fCAhIXJjPy5sb2FkQ29tcG9uZW50O1xuICAgIGNvbnN0IGhhc1BhdGggPSAhIXJjPy5wYXRoO1xuICAgIGNvbnN0IHZhbGlkID0gaGFzUGF0aCAmJiBoYXNSZW5kZXJhYmxlICYmIHJvdXRlLm91dGxldCA9PT0gUFJJTUFSWV9PVVRMRVQ7XG5cbiAgICByZXR1cm4gcm91dGUuY2hpbGRyZW4ucmVkdWNlPEFjdGl2YXRlZFJvdXRlW10+KFxuICAgICAgKGFjYywgY2hpbGQpID0+IFsuLi5hY2MsIC4uLnRoaXMuZ2V0VmFsaWRDaGlsZHJlbihjaGlsZCldLFxuICAgICAgdmFsaWQgPyBbcm91dGVdIDogW11cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50VGl0bGUocm91dGVzOiBBY3RpdmF0ZWRSb3V0ZVtdKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgbGFzdCA9IHJvdXRlc1tyb3V0ZXMubGVuZ3RoIC0gMV07XG5cbiAgICBpZiAobGFzdD8ucm91dGVDb25maWcpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFRpdGxlKGxhc3QpO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50SG9tZShyb3V0ZXM6IEFjdGl2YXRlZFJvdXRlW10pOiBCcmVhZGNydW1iSXRlbVZtIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBob21lVXJsID0gdGhpcy5ob21lVXJsU2lnbmFsKCk7XG4gICAgY29uc3QgdGFyZ2V0ID0gdGhpcy50YXJnZXRIb21lVXJsU2lnbmFsKCk7XG5cbiAgICBpZiAoaG9tZVVybCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbGFiZWw6ICcnLFxuICAgICAgICByb3V0ZXJMaW5rOiBbaG9tZVVybF0sXG4gICAgICAgIGljb246IEhPTUVfSUNPTl9DTEFTUyxcbiAgICAgICAgcm91dGVyTGlua0FjdGl2ZU9wdGlvbnM6IEFDVElWRV9TVUJTRVRfT1BUSU9OUyxcbiAgICAgICAgdGFyZ2V0XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICghcm91dGVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBpc1NpbmdsZSA9IHJvdXRlcy5sZW5ndGggPT09IDE7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5nZXRNZW51SXRlbShyb3V0ZXNbSU5ERVhfWkVST10sIGlzU2luZ2xlKSxcbiAgICAgIGljb246IEhPTUVfSUNPTl9DTEFTUyxcbiAgICAgIGxhYmVsOiAnJyxcbiAgICAgIHJvdXRlckxpbmtBY3RpdmVPcHRpb25zOiBBQ1RJVkVfU1VCU0VUX09QVElPTlMsXG4gICAgICB0YXJnZXRcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50SXRlbXMocm91dGVzOiBBY3RpdmF0ZWRSb3V0ZVtdKTogQnJlYWRjcnVtYkl0ZW1WbVtdIHtcbiAgICBpZiAoIXJvdXRlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBmcm9tUm91dGVzID0gdGhpcy5ob21lVXJsU2lnbmFsKCkgPyByb3V0ZXMgOiByb3V0ZXMuc2xpY2UoMSk7XG5cbiAgICBpZiAoIWZyb21Sb3V0ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEluZGV4ID0gZnJvbVJvdXRlcy5sZW5ndGggLSAxO1xuICAgIHJldHVybiBmcm9tUm91dGVzLm1hcCgocm91dGUsIGkpID0+IHRoaXMuZ2V0TWVudUl0ZW0ocm91dGUsIGkgPT09IGxhc3RJbmRleCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNZW51SXRlbShyb3V0ZTogQWN0aXZhdGVkUm91dGUsIGRpc2FibGVkID0gZmFsc2UpOiBCcmVhZGNydW1iSXRlbVZtIHtcbiAgICBjb25zdCBsYWJlbCA9IHRoaXMuZ2V0VGl0bGUocm91dGUpO1xuICAgIGNvbnN0IHBhdGhGcm9tUm9vdCA9IHJvdXRlLnBhdGhGcm9tUm9vdDtcbiAgICBjb25zdCBzdG9wSW5kZXggPSBwYXRoRnJvbVJvb3QuaW5kZXhPZihyb3V0ZSk7XG5cbiAgICBjb25zdCBwYXJ0cyA9IHBhdGhGcm9tUm9vdFxuICAgICAgLnNsaWNlKElOREVYX1pFUk8sIHN0b3BJbmRleCArIDEpXG4gICAgICAuZmxhdE1hcCgocikgPT4gci5zbmFwc2hvdC51cmwubWFwKCh1KSA9PiB1LnBhdGgpKVxuICAgICAgLmZpbHRlcigocCk6IHAgaXMgc3RyaW5nID0+IEJvb2xlYW4ocCkpO1xuXG4gICAgY29uc3Qgcm91dGVyTGluayA9IFsnLycsIC4uLnBhcnRzXTtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsLFxuICAgICAgcm91dGVyTGluayxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgcXVlcnlQYXJhbXMsXG4gICAgICByb3V0ZXJMaW5rQWN0aXZlT3B0aW9uczogQUNUSVZFX0VYQUNUX09QVElPTlNcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUaXRsZShyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRpdGxlID0gcm91dGUuc25hcHNob3QuZGF0YVsncm91dGVUaXRsZSddO1xuXG4gICAgaWYgKCF0aXRsZSkge1xuICAgICAgY29uc3QgcGF0aCA9IHJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoID8/ICcnO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyByb3V0ZVRpdGxlIGRlZmluZWQgZm9yIHRoZSByb3V0ZSAvJHtwYXRofWApO1xuICAgIH1cblxuICAgIHJldHVybiBTdHJpbmcodGl0bGUpO1xuICB9XG59IiwiPG5hdiBjbGFzcz1cInNkYy1icmVhZGNydW1iXCIgW2F0dHIuYXJpYS1sYWJlbF09XCIoYXJpYUxhYmVsVGV4dCgpIHx8ICdwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmJyZWFkY3J1bWJfbmF2aWdhdGlvbicpIHwgdHJhbnNsYXRlXCI+XG4gIDxvbCBjbGFzcz1cInNkYy1icmVhZGNydW1iLWxpc3RcIj5cbiAgICBAaWYgKGhvbWUoKSkge1xuICAgICAgPGxpIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItaXRlbSBzZGMtYnJlYWRjcnVtYi1pdGVtLS1ob21lXCI+XG4gICAgICAgIEBpZiAoaGFzUm91dGVyTGluayhob21lKCkhKSkge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1icmVhZGNydW1iLWxpbmtcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicm91dGVyTGlua09mKGhvbWUoKSEpXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJxdWVyeVBhcmFtc09mKGhvbWUoKSEpXCJcbiAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJ0YXJnZXRBdHRyT2YoaG9tZSgpISlcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5icmVhZGNydW1iX2hvbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGhvbWUoKSEuaWNvbikge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNkYy1icmVhZGNydW1iLWl0ZW0taWNvblwiIFtjbGFzc109XCJob21lKCkhLmljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1saW5rXCJcbiAgICAgICAgICAgIFthdHRyLmhyZWZdPVwiaHJlZk9mKGhvbWUoKSEpXCJcbiAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJ0YXJnZXRBdHRyT2YoaG9tZSgpISlcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5icmVhZGNydW1iX2hvbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGhvbWUoKSEuaWNvbikge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNkYy1icmVhZGNydW1iLWl0ZW0taWNvblwiIFtjbGFzc109XCJob21lKCkhLmljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9XG4gICAgICA8L2xpPlxuICAgIH1cblxuICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXMoKTsgdHJhY2sgJGluZGV4OyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgPGxpIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItc2VwYXJhdG9yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9saT5cblxuICAgICAgPGxpIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItaXRlbVwiIFtjbGFzcy5zZGMtYnJlYWRjcnVtYi1pdGVtLS1jdXJyZW50XT1cIml0ZW0uZGlzYWJsZWRcIj5cbiAgICAgICAgQGlmICghaXRlbS5kaXNhYmxlZCAmJiBoYXNSb3V0ZXJMaW5rKGl0ZW0pKSB7XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItbGlua1wiXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJyb3V0ZXJMaW5rT2YoaXRlbSlcIlxuICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zT2YoaXRlbSlcIlxuICAgICAgICAgICAgW2F0dHIudGFyZ2V0XT1cInRhcmdldEF0dHJPZihpdGVtKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1pdGVtLWxhYmVsXCI+e3sgKGl0ZW0ubGFiZWwgfHwgJycpIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1jdXJyZW50XCIgYXJpYS1jdXJyZW50PVwicGFnZVwiPnt7IChpdGVtLmxhYmVsIHx8ICcnKSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9saT5cbiAgICB9XG4gIDwvb2w+XG48L25hdj4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, HostListener, Input, Output,
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
3
|
import { ButtonModule } from '@seniorsistemas/angular-components/button';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@seniorsistemas/angular-components/button";
|
|
@@ -20,13 +20,34 @@ export class ButtonComponent {
|
|
|
20
20
|
slide;
|
|
21
21
|
styleClass;
|
|
22
22
|
badge;
|
|
23
|
-
|
|
23
|
+
_menuOptions = [];
|
|
24
|
+
_legacyMenuOptions = null;
|
|
25
|
+
_menuContext;
|
|
26
|
+
set menuOptions(value) {
|
|
27
|
+
this._menuOptions = value ?? [];
|
|
28
|
+
this.rebuildResolvedMenuOptions();
|
|
29
|
+
}
|
|
30
|
+
get menuOptions() {
|
|
31
|
+
return this._legacyMenuOptions ?? this._menuOptions;
|
|
32
|
+
}
|
|
33
|
+
set menuContext(value) {
|
|
34
|
+
this._menuContext = value;
|
|
35
|
+
this.rebuildResolvedMenuOptions();
|
|
36
|
+
}
|
|
37
|
+
get menuContext() {
|
|
38
|
+
return this._menuContext;
|
|
39
|
+
}
|
|
24
40
|
set legacyModel(value) {
|
|
25
41
|
if (value?.length) {
|
|
26
|
-
this.
|
|
42
|
+
this._legacyMenuOptions = this.mapLegacyMenu(value);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this._legacyMenuOptions = null;
|
|
27
46
|
}
|
|
47
|
+
this.rebuildResolvedMenuOptions();
|
|
28
48
|
}
|
|
29
49
|
onClick = new EventEmitter();
|
|
50
|
+
resolvedMenuOptions = [];
|
|
30
51
|
onHostClick(event) {
|
|
31
52
|
if (!this.disabled) {
|
|
32
53
|
return;
|
|
@@ -42,25 +63,59 @@ export class ButtonComponent {
|
|
|
42
63
|
}
|
|
43
64
|
this.onClick.emit(event);
|
|
44
65
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
66
|
+
rebuildResolvedMenuOptions() {
|
|
67
|
+
this.resolvedMenuOptions = this.wrapMenuCommands(this.menuOptions);
|
|
68
|
+
}
|
|
69
|
+
wrapMenuCommands(items = []) {
|
|
70
|
+
return items.map(item => {
|
|
71
|
+
const originalCommand = item.command;
|
|
72
|
+
const submenu = item.submenu?.length ? this.wrapMenuCommands(item.submenu) : undefined;
|
|
73
|
+
const wrappedItem = {
|
|
74
|
+
...item,
|
|
75
|
+
submenu
|
|
76
|
+
};
|
|
77
|
+
if (originalCommand) {
|
|
78
|
+
wrappedItem.command = (originalEvent) => {
|
|
79
|
+
const payload = {
|
|
80
|
+
originalEvent,
|
|
81
|
+
context: this._menuContext,
|
|
82
|
+
item: wrappedItem,
|
|
83
|
+
data: item.data
|
|
84
|
+
};
|
|
85
|
+
originalCommand(payload);
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
return wrappedItem;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
mapLegacyMenu(items = []) {
|
|
92
|
+
return items.map(item => {
|
|
93
|
+
if (item.separator) {
|
|
48
94
|
return { divider: true };
|
|
49
95
|
}
|
|
50
96
|
return {
|
|
51
|
-
label:
|
|
52
|
-
iconClass:
|
|
53
|
-
|
|
54
|
-
|
|
97
|
+
label: item.label ?? '',
|
|
98
|
+
iconClass: item.icon,
|
|
99
|
+
disabled: !!item.disabled,
|
|
100
|
+
command: item.command
|
|
101
|
+
? (originalEvent) => {
|
|
102
|
+
item.command?.({
|
|
103
|
+
originalEvent,
|
|
104
|
+
item,
|
|
105
|
+
context: this._menuContext
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
: undefined,
|
|
109
|
+
submenu: item.items?.length ? this.mapLegacyMenu(item.items) : undefined
|
|
55
110
|
};
|
|
56
111
|
});
|
|
57
112
|
}
|
|
58
113
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ButtonComponent, isStandalone: true, selector: "sdc-button", inputs: { id: "id", label: "label", disabled: "disabled", width: "width", priority: "priority", size: "size", type: "type", icon: "icon", rightIcon: "rightIcon", auxiliary: "auxiliary", caret: "caret", tooltip: "tooltip", animation: "animation", slide: "slide", styleClass: "styleClass", badge: "badge", menuOptions: "menuOptions", legacyModel: ["model", "legacyModel"] }, outputs: { onClick: "onClick" }, host: { listeners: { "click": "onHostClick($event)" } }, ngImport: i0, template: "<div [style.width]=\"width\">\n <s-button\n class=\"sdc-button-el\"\n (onClick)=\"handleClick($event)\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [size]=\"size\"\n [type]=\"type\"\n [priority]=\"priority\"\n [label]=\"label\"\n [iconClass]=\"icon\"\n [rightIconClass]=\"rightIcon\"\n [auxiliary]=\"auxiliary\"\n [caret]=\"caret!\"\n [tooltip]=\"tooltip\"\n [animation]=\"animation!\"\n [slide]=\"slide!\"\n [badge]=\"badge\"\n [styleClass]=\"styleClass!\"\n [menuOptions]=\"
|
|
114
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ButtonComponent, isStandalone: true, selector: "sdc-button", inputs: { id: "id", label: "label", disabled: "disabled", width: "width", priority: "priority", size: "size", type: "type", icon: "icon", rightIcon: "rightIcon", auxiliary: "auxiliary", caret: "caret", tooltip: "tooltip", animation: "animation", slide: "slide", styleClass: "styleClass", badge: "badge", menuOptions: "menuOptions", menuContext: "menuContext", legacyModel: ["model", "legacyModel"] }, outputs: { onClick: "onClick" }, host: { listeners: { "click": "onHostClick($event)" } }, ngImport: i0, template: "<div [style.width]=\"width\">\n <s-button\n class=\"sdc-button-el\"\n (onClick)=\"handleClick($event)\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [size]=\"size\"\n [type]=\"type\"\n [priority]=\"priority\"\n [label]=\"label\"\n [iconClass]=\"icon\"\n [rightIconClass]=\"rightIcon\"\n [auxiliary]=\"auxiliary\"\n [caret]=\"caret!\"\n [tooltip]=\"tooltip\"\n [animation]=\"animation!\"\n [slide]=\"slide!\"\n [badge]=\"badge\"\n [styleClass]=\"styleClass!\"\n [menuOptions]=\"resolvedMenuOptions\"\n [attr.aria-disabled]=\"disabled\"\n >\n </s-button>\n</div>\n", styles: ["::ng-deep .s-button-priority-primary .s-button-icon{color:#fff!important}::ng-deep s-button button:disabled{pointer-events:none;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
60
115
|
}
|
|
61
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
62
117
|
type: Component,
|
|
63
|
-
args: [{ imports: [CommonModule, ButtonModule], standalone: true, selector: 'sdc-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div [style.width]=\"width\">\n <s-button\n class=\"sdc-button-el\"\n (onClick)=\"handleClick($event)\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [size]=\"size\"\n [type]=\"type\"\n [priority]=\"priority\"\n [label]=\"label\"\n [iconClass]=\"icon\"\n [rightIconClass]=\"rightIcon\"\n [auxiliary]=\"auxiliary\"\n [caret]=\"caret!\"\n [tooltip]=\"tooltip\"\n [animation]=\"animation!\"\n [slide]=\"slide!\"\n [badge]=\"badge\"\n [styleClass]=\"styleClass!\"\n [menuOptions]=\"
|
|
118
|
+
args: [{ imports: [CommonModule, ButtonModule], standalone: true, selector: 'sdc-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div [style.width]=\"width\">\n <s-button\n class=\"sdc-button-el\"\n (onClick)=\"handleClick($event)\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [size]=\"size\"\n [type]=\"type\"\n [priority]=\"priority\"\n [label]=\"label\"\n [iconClass]=\"icon\"\n [rightIconClass]=\"rightIcon\"\n [auxiliary]=\"auxiliary\"\n [caret]=\"caret!\"\n [tooltip]=\"tooltip\"\n [animation]=\"animation!\"\n [slide]=\"slide!\"\n [badge]=\"badge\"\n [styleClass]=\"styleClass!\"\n [menuOptions]=\"resolvedMenuOptions\"\n [attr.aria-disabled]=\"disabled\"\n >\n </s-button>\n</div>\n", styles: ["::ng-deep .s-button-priority-primary .s-button-icon{color:#fff!important}::ng-deep s-button button:disabled{pointer-events:none;cursor:not-allowed}\n"] }]
|
|
64
119
|
}], propDecorators: { id: [{
|
|
65
120
|
type: Input
|
|
66
121
|
}], label: [{
|
|
@@ -95,6 +150,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
95
150
|
type: Input
|
|
96
151
|
}], menuOptions: [{
|
|
97
152
|
type: Input
|
|
153
|
+
}], menuContext: [{
|
|
154
|
+
type: Input
|
|
98
155
|
}], legacyModel: [{
|
|
99
156
|
type: Input,
|
|
100
157
|
args: ['model']
|
|
@@ -104,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
104
161
|
type: HostListener,
|
|
105
162
|
args: ['click', ['$event']]
|
|
106
163
|
}] } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBcUMsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBZTVHLE1BQU0sT0FBTyxlQUFlO0lBQ2pCLEVBQUUsR0FBVyxXQUFXLENBQUM7SUFDekIsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixRQUFRLEdBQVksS0FBSyxDQUFDO0lBQzFCLEtBQUssR0FBYyxNQUFNLENBQUM7SUFDMUIsUUFBUSxHQUFtQixTQUFTLENBQUM7SUFDckMsSUFBSSxHQUFlLFNBQVMsQ0FBQztJQUM3QixJQUFJLEdBQVcsUUFBUSxDQUFDO0lBQ3hCLElBQUksQ0FBVTtJQUNkLFNBQVMsQ0FBVTtJQUNuQixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDYixPQUFPLENBQVU7SUFDakIsU0FBUyxDQUFZO0lBQ3JCLEtBQUssQ0FBVztJQUNoQixVQUFVLENBQVU7SUFDcEIsS0FBSyxDQUFxQjtJQUMxQixXQUFXLEdBQXlCLEVBQUUsQ0FBQztJQUVoRCxJQUFvQixXQUFXLENBQUMsS0FBNkI7UUFDM0QsSUFBSSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRVMsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFHcEMsV0FBVyxDQUFDLEtBQWlCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNULENBQUM7UUFDRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFUyxXQUFXLENBQUMsS0FBWTtRQUNoQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixLQUFLLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztZQUN6QixLQUFLLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUMxQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBb0IsRUFBRTtRQUM3QixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkIsSUFBSyxDQUFTLEVBQUUsU0FBUyxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDM0IsQ0FBQztZQUNELE9BQU87Z0JBQ0wsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDcEIsU0FBUyxFQUFHLENBQVMsRUFBRSxJQUFJO2dCQUMzQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztnQkFDckQsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUM5RCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQXpEVSxlQUFlOzRGQUFmLGVBQWUscWhCQ3pCNUIscW1CQXdCQSw4TURQWSxZQUFZLDhCQUFFLFlBQVk7OzRGQVF6QixlQUFlO2tCQVQzQixTQUFTOzhCQUNDLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxjQUN6QixJQUFJLFlBQ04sWUFBWSxtQkFHTCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxRQUFROzhCQUdoQyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFYyxXQUFXO3NCQUE5QixLQUFLO3VCQUFDLE9BQU87Z0JBTUosT0FBTztzQkFBaEIsTUFBTTtnQkFHRyxXQUFXO3NCQURwQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUsIEJ1dHRvblByaW9yaXR5LCBCdXR0b25CYWRnZUNvbmZpZyB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQnV0dG9uLCBEaW1lbnNpb24gfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEJ1dHRvblNpemUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2J1dHRvbi50eXBlJztcbmltcG9ydCB7IFRpZXJlZE1lbnVJdGVtRGF0YSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdGllcmVkLW1lbnUnO1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQnV0dG9uTW9kdWxlXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzZGMtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICdidXR0b24taWQnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHdpZHRoOiBEaW1lbnNpb24gPSAnYXV0byc7XG4gIEBJbnB1dCgpIHByaW9yaXR5OiBCdXR0b25Qcmlvcml0eSA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgc2l6ZTogQnV0dG9uU2l6ZSA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgdHlwZTogQnV0dG9uID0gJ2J1dHRvbic7XG4gIEBJbnB1dCgpIGljb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJpZ2h0SWNvbj86IHN0cmluZztcbiAgQElucHV0KCkgYXV4aWxpYXJ5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNhcmV0ID0gdHJ1ZTtcbiAgQElucHV0KCkgdG9vbHRpcD86IHN0cmluZztcbiAgQElucHV0KCkgYW5pbWF0aW9uPzogJ3JvdGF0ZSc7XG4gIEBJbnB1dCgpIHNsaWRlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc3R5bGVDbGFzcz86IHN0cmluZztcbiAgQElucHV0KCkgYmFkZ2U/OiBCdXR0b25CYWRnZUNvbmZpZztcbiAgQElucHV0KCkgbWVudU9wdGlvbnM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdID0gW107XG5cbiAgQElucHV0KCdtb2RlbCcpIHNldCBsZWdhY3lNb2RlbCh2YWx1ZTogTWVudUl0ZW1bXSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZT8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLm1lbnVPcHRpb25zID0gdGhpcy4jbWFwTWVudSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9uSG9zdENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0Py4oKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbj8uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub25DbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gICNtYXBNZW51KGl0ZW1zOiBNZW51SXRlbVtdID0gW10pOiBUaWVyZWRNZW51SXRlbURhdGFbXSB7XG4gICAgcmV0dXJuIGl0ZW1zLm1hcChpID0+IHtcbiAgICAgIGlmICgoaSBhcyBhbnkpPy5zZXBhcmF0b3IpIHtcbiAgICAgICAgcmV0dXJuIHsgZGl2aWRlcjogdHJ1ZSB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbGFiZWw6IGkubGFiZWwgPz8gJycsXG4gICAgICAgIGljb25DbGFzczogKGkgYXMgYW55KT8uaWNvbixcbiAgICAgICAgY29tbWFuZDogaS5jb21tYW5kID8gKCkgPT4gaS5jb21tYW5kISh7fSkgOiB1bmRlZmluZWQsXG4gICAgICAgIHN1Ym1lbnU6IGkuaXRlbXM/Lmxlbmd0aCA/IHRoaXMuI21hcE1lbnUoaS5pdGVtcykgOiB1bmRlZmluZWRcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgW3N0eWxlLndpZHRoXT1cIndpZHRoXCI+XG4gIDxzLWJ1dHRvblxuICAgIGNsYXNzPVwic2RjLWJ1dHRvbi1lbFwiXG4gICAgKG9uQ2xpY2spPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIFt0eXBlXT1cInR5cGVcIlxuICAgIFtwcmlvcml0eV09XCJwcmlvcml0eVwiXG4gICAgW2xhYmVsXT1cImxhYmVsXCJcbiAgICBbaWNvbkNsYXNzXT1cImljb25cIlxuICAgIFtyaWdodEljb25DbGFzc109XCJyaWdodEljb25cIlxuICAgIFthdXhpbGlhcnldPVwiYXV4aWxpYXJ5XCJcbiAgICBbY2FyZXRdPVwiY2FyZXQhXCJcbiAgICBbdG9vbHRpcF09XCJ0b29sdGlwXCJcbiAgICBbYW5pbWF0aW9uXT1cImFuaW1hdGlvbiFcIlxuICAgIFtzbGlkZV09XCJzbGlkZSFcIlxuICAgIFtiYWRnZV09XCJiYWRnZVwiXG4gICAgW3N0eWxlQ2xhc3NdPVwic3R5bGVDbGFzcyFcIlxuICAgIFttZW51T3B0aW9uc109XCJtZW51T3B0aW9uc1wiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gID5cbiAgPC9zLWJ1dHRvbj5cbjwvZGl2PlxuIl19
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBcUMsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBdUI1RyxNQUFNLE9BQU8sZUFBZTtJQUNqQixFQUFFLEdBQVcsV0FBVyxDQUFDO0lBQ3pCLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixLQUFLLEdBQWMsTUFBTSxDQUFDO0lBQzFCLFFBQVEsR0FBbUIsU0FBUyxDQUFDO0lBQ3JDLElBQUksR0FBZSxTQUFTLENBQUM7SUFDN0IsSUFBSSxHQUFXLFFBQVEsQ0FBQztJQUN4QixJQUFJLENBQVU7SUFDZCxTQUFTLENBQVU7SUFDbkIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ2IsT0FBTyxDQUFVO0lBQ2pCLFNBQVMsQ0FBWTtJQUNyQixLQUFLLENBQVc7SUFDaEIsVUFBVSxDQUFVO0lBQ3BCLEtBQUssQ0FBcUI7SUFFM0IsWUFBWSxHQUF5QixFQUFFLENBQUM7SUFDeEMsa0JBQWtCLEdBQWdDLElBQUksQ0FBQztJQUN2RCxZQUFZLENBQVc7SUFFL0IsSUFDSSxXQUFXLENBQUMsS0FBOEM7UUFDNUQsSUFBSSxDQUFDLFlBQVks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LEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0YsV0FBVztzQkFEZCxLQUFLO2dCQVdGLFdBQVc7c0JBRGQsS0FBSztnQkFXRixXQUFXO3NCQURkLEtBQUs7dUJBQUMsT0FBTztnQkFVSixPQUFPO3NCQUFoQixNQUFNO2dCQUtHLFdBQVc7c0JBRHBCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSwgQnV0dG9uUHJpb3JpdHksIEJ1dHRvbkJhZGdlQ29uZmlnIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgVGllcmVkTWVudUl0ZW1EYXRhIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90aWVyZWQtbWVudSc7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcblxuaW1wb3J0IHsgQnV0dG9uLCBEaW1lbnNpb24gfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEJ1dHRvblNpemUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2J1dHRvbi50eXBlJztcblxuZXhwb3J0IHR5cGUgQnV0dG9uTWVudUNvbW1hbmRQYXlsb2FkID0ge1xuICBvcmlnaW5hbEV2ZW50PzogdW5rbm93bjtcbiAgY29udGV4dD86IHVua25vd247XG4gIGl0ZW06IFRpZXJlZE1lbnVJdGVtRGF0YTtcbiAgZGF0YT86IHVua25vd247XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQnV0dG9uTW9kdWxlXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzZGMtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICdidXR0b24taWQnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHdpZHRoOiBEaW1lbnNpb24gPSAnYXV0byc7XG4gIEBJbnB1dCgpIHByaW9yaXR5OiBCdXR0b25Qcmlvcml0eSA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgc2l6ZTogQnV0dG9uU2l6ZSA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgdHlwZTogQnV0dG9uID0gJ2J1dHRvbic7XG4gIEBJbnB1dCgpIGljb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJpZ2h0SWNvbj86IHN0cmluZztcbiAgQElucHV0KCkgYXV4aWxpYXJ5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNhcmV0ID0gdHJ1ZTtcbiAgQElucHV0KCkgdG9vbHRpcD86IHN0cmluZztcbiAgQElucHV0KCkgYW5pbWF0aW9uPzogJ3JvdGF0ZSc7XG4gIEBJbnB1dCgpIHNsaWRlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc3R5bGVDbGFzcz86IHN0cmluZztcbiAgQElucHV0KCkgYmFkZ2U/OiBCdXR0b25CYWRnZUNvbmZpZztcblxuICBwcml2YXRlIF9tZW51T3B0aW9uczogVGllcmVkTWVudUl0ZW1EYXRhW10gPSBbXTtcbiAgcHJpdmF0ZSBfbGVnYWN5TWVudU9wdGlvbnM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX21lbnVDb250ZXh0PzogdW5rbm93bjtcblxuICBASW5wdXQoKVxuICBzZXQgbWVudU9wdGlvbnModmFsdWU6IFRpZXJlZE1lbnVJdGVtRGF0YVtdIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX21lbnVPcHRpb25zID0gdmFsdWUgPz8gW107XG4gICAgdGhpcy5yZWJ1aWxkUmVzb2x2ZWRNZW51T3B0aW9ucygpO1xuICB9XG5cbiAgZ2V0IG1lbnVPcHRpb25zKCk6IFRpZXJlZE1lbnVJdGVtRGF0YVtdIHtcbiAgICByZXR1cm4gdGhpcy5fbGVnYWN5TWVudU9wdGlvbnMgPz8gdGhpcy5fbWVudU9wdGlvbnM7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgbWVudUNvbnRleHQodmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLl9tZW51Q29udGV4dCA9IHZhbHVlO1xuICAgIHRoaXMucmVidWlsZFJlc29sdmVkTWVudU9wdGlvbnMoKTtcbiAgfVxuXG4gIGdldCBtZW51Q29udGV4dCgpOiB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5fbWVudUNvbnRleHQ7XG4gIH1cblxuICBASW5wdXQoJ21vZGVsJylcbiAgc2V0IGxlZ2FjeU1vZGVsKHZhbHVlOiBNZW51SXRlbVtdIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX2xlZ2FjeU1lbnVPcHRpb25zID0gdGhpcy5tYXBMZWdhY3lNZW51KHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbGVnYWN5TWVudU9wdGlvbnMgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLnJlYnVpbGRSZXNvbHZlZE1lbnVPcHRpb25zKCk7XG4gIH1cblxuICBAT3V0cHV0KCkgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgcHJvdGVjdGVkIHJlc29sdmVkTWVudU9wdGlvbnM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdID0gW107XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb25Ib3N0Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQ/LigpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uPy4oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWJ1aWxkUmVzb2x2ZWRNZW51T3B0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmVkTWVudU9wdGlvbnMgPSB0aGlzLndyYXBNZW51Q29tbWFuZHModGhpcy5tZW51T3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIHdyYXBNZW51Q29tbWFuZHMoaXRlbXM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdID0gW10pOiBUaWVyZWRNZW51SXRlbURhdGFbXSB7XG4gICAgcmV0dXJuIGl0ZW1zLm1hcChpdGVtID0+IHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsQ29tbWFuZCA9IGl0ZW0uY29tbWFuZCBhcyAoKHBheWxvYWQ/OiB1bmtub3duKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IHN1Ym1lbnUgPSBpdGVtLnN1Ym1lbnU/Lmxlbmd0aCA/IHRoaXMud3JhcE1lbnVDb21tYW5kcyhpdGVtLnN1Ym1lbnUpIDogdW5kZWZpbmVkO1xuXG4gICAgICBjb25zdCB3cmFwcGVkSXRlbTogVGllcmVkTWVudUl0ZW1EYXRhID0ge1xuICAgICAgICAuLi5pdGVtLFxuICAgICAgICBzdWJtZW51XG4gICAgICB9O1xuXG4gICAgICBpZiAob3JpZ2luYWxDb21tYW5kKSB7XG4gICAgICAgIHdyYXBwZWRJdGVtLmNvbW1hbmQgPSAob3JpZ2luYWxFdmVudD86IHVua25vd24pOiB2b2lkID0+IHtcbiAgICAgICAgICBjb25zdCBwYXlsb2FkOiBCdXR0b25NZW51Q29tbWFuZFBheWxvYWQgPSB7XG4gICAgICAgICAgICBvcmlnaW5hbEV2ZW50LFxuICAgICAgICAgICAgY29udGV4dDogdGhpcy5fbWVudUNvbnRleHQsXG4gICAgICAgICAgICBpdGVtOiB3cmFwcGVkSXRlbSxcbiAgICAgICAgICAgIGRhdGE6IChpdGVtIGFzIHsgZGF0YT86IHVua25vd24gfSkuZGF0YVxuICAgICAgICAgIH07XG4gICAgICAgICAgb3JpZ2luYWxDb21tYW5kKHBheWxvYWQpO1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gd3JhcHBlZEl0ZW07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG1hcExlZ2FjeU1lbnUoaXRlbXM6IE1lbnVJdGVtW10gPSBbXSk6IFRpZXJlZE1lbnVJdGVtRGF0YVtdIHtcbiAgICByZXR1cm4gaXRlbXMubWFwKGl0ZW0gPT4ge1xuICAgICAgaWYgKChpdGVtIGFzIHsgc2VwYXJhdG9yPzogYm9vbGVhbiB9KS5zZXBhcmF0b3IpIHtcbiAgICAgICAgcmV0dXJuIHsgZGl2aWRlcjogdHJ1ZSB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBsYWJlbDogaXRlbS5sYWJlbCA/PyAnJyxcbiAgICAgICAgaWNvbkNsYXNzOiAoaXRlbSBhcyB7IGljb24/OiBzdHJpbmcgfSkuaWNvbixcbiAgICAgICAgZGlzYWJsZWQ6ICEhaXRlbS5kaXNhYmxlZCxcbiAgICAgICAgY29tbWFuZDogaXRlbS5jb21tYW5kXG4gICAgICAgICAgPyAob3JpZ2luYWxFdmVudD86IHVua25vd24pOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGl0ZW0uY29tbWFuZD8uKHtcbiAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudCxcbiAgICAgICAgICAgICAgaXRlbSxcbiAgICAgICAgICAgICAgY29udGV4dDogdGhpcy5fbWVudUNvbnRleHRcbiAgICAgICAgICAgIH0gYXMgbmV2ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgc3VibWVudTogaXRlbS5pdGVtcz8ubGVuZ3RoID8gdGhpcy5tYXBMZWdhY3lNZW51KGl0ZW0uaXRlbXMpIDogdW5kZWZpbmVkXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiPlxuICA8cy1idXR0b25cbiAgICBjbGFzcz1cInNkYy1idXR0b24tZWxcIlxuICAgIChvbkNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2lkXT1cImlkXCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICBbcHJpb3JpdHldPVwicHJpb3JpdHlcIlxuICAgIFtsYWJlbF09XCJsYWJlbFwiXG4gICAgW2ljb25DbGFzc109XCJpY29uXCJcbiAgICBbcmlnaHRJY29uQ2xhc3NdPVwicmlnaHRJY29uXCJcbiAgICBbYXV4aWxpYXJ5XT1cImF1eGlsaWFyeVwiXG4gICAgW2NhcmV0XT1cImNhcmV0IVwiXG4gICAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiXG4gICAgW2FuaW1hdGlvbl09XCJhbmltYXRpb24hXCJcbiAgICBbc2xpZGVdPVwic2xpZGUhXCJcbiAgICBbYmFkZ2VdPVwiYmFkZ2VcIlxuICAgIFtzdHlsZUNsYXNzXT1cInN0eWxlQ2xhc3MhXCJcbiAgICBbbWVudU9wdGlvbnNdPVwicmVzb2x2ZWRNZW51T3B0aW9uc1wiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gID5cbiAgPC9zLWJ1dHRvbj5cbjwvZGl2PlxuIl19
|