ngx-edu-sharing-ui 10.0.7 → 10.0.9
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/README.md +1 -1
- package/assets/scss/branding.scss +3 -8
- package/assets/scss/material-theme.scss +36 -36
- package/assets/scss/variables-scss.scss +9 -8
- package/assets/scss/variables.scss +5 -0
- package/esm2022/lib/common/edu-sharing-ui-common.module.mjs +20 -4
- package/esm2022/lib/directives/icon.directive.mjs +37 -16
- package/esm2022/lib/index.mjs +7 -1
- package/esm2022/lib/mds-viewer/mds-viewer.component.mjs +154 -0
- package/esm2022/lib/mds-viewer/mds-viewer.service.mjs +18 -0
- package/esm2022/lib/mds-viewer/replace-element-with-div.mjs +47 -0
- package/esm2022/lib/mds-viewer/view-instance.service.mjs +27 -0
- package/esm2022/lib/mds-viewer/widget/mds-widget.component.mjs +349 -0
- package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +2 -2
- package/esm2022/lib/pipes/mds-duration.pipe.mjs +25 -0
- package/esm2022/lib/services/node-helper.service.mjs +59 -18
- package/esm2022/lib/services/options-helper-data.service.mjs +2 -2
- package/esm2022/lib/services/ui.service.mjs +147 -3
- package/esm2022/lib/translations/translation-loader.mjs +1 -3
- package/esm2022/lib/translations/translations.module.mjs +4 -2
- package/esm2022/lib/translations/translations.service.mjs +58 -25
- package/esm2022/lib/types/injection-tokens.mjs +14 -1
- package/esm2022/lib/util/rest-helper.mjs +11 -4
- package/fesm2022/ngx-edu-sharing-ui.mjs +3051 -2204
- package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -1
- package/lib/common/edu-sharing-ui-common.module.d.ts +33 -30
- package/lib/directives/icon.directive.d.ts +4 -2
- package/lib/index.d.ts +6 -0
- package/lib/mds-viewer/mds-viewer.component.d.ts +52 -0
- package/lib/mds-viewer/mds-viewer.service.d.ts +12 -0
- package/lib/mds-viewer/replace-element-with-div.d.ts +8 -0
- package/lib/mds-viewer/view-instance.service.d.ts +20 -0
- package/lib/mds-viewer/widget/mds-widget.component.d.ts +111 -0
- package/lib/pipes/mds-duration.pipe.d.ts +7 -0
- package/lib/services/node-helper.service.d.ts +12 -1
- package/lib/services/ui.service.d.ts +32 -1
- package/lib/translations/translations.service.d.ts +7 -6
- package/lib/types/injection-tokens.d.ts +11 -0
- package/lib/util/rest-helper.d.ts +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -40,4 +40,4 @@ In your scss, make sure to include the global variables via
|
|
|
40
40
|
`@import "node-modules/ngx-edu-sharing-ui/assets/scss/variables";`
|
|
41
41
|
|
|
42
42
|
and in your `angular.json`, add it to the `"styles"`
|
|
43
|
-
`"
|
|
43
|
+
`"node_modules/ngx-edu-sharing-ui/assets/scss/material_theme.scss",`
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
$primaryComplementary: var(--accent);
|
|
5
|
-
$primaryDark: var(--palette-primary-900);
|
|
6
|
-
$textOnPrimary: var(--light-primary-text);
|
|
7
|
-
$textOnPrimaryLight: rgba(var(--light-primary-text), 0.75);
|
|
8
|
-
$textPrimary: var(--palette-foreground-text);
|
|
1
|
+
/**
|
|
2
|
+
branding is deprecated. Use the "themeColors" in the client.config
|
|
3
|
+
*/
|
|
9
4
|
$workspaceTopBarBackground: #383838;
|
|
10
5
|
$workspaceTopBarFontColor: #fff;
|
|
@@ -58,7 +58,7 @@ $dark-secondary-text: rgba(black, 0.54);
|
|
|
58
58
|
/** custom project specifics */
|
|
59
59
|
[matripplecolor='primary'] {
|
|
60
60
|
> .mat-ripple-element {
|
|
61
|
-
background-color:
|
|
61
|
+
background-color: var(--primary);
|
|
62
62
|
opacity: 0.1;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
@@ -67,11 +67,11 @@ $dark-secondary-text: rgba(black, 0.54);
|
|
|
67
67
|
*/
|
|
68
68
|
mat-button-toggle-group {
|
|
69
69
|
.mat-button-toggle-checked.mat-button-toggle-appearance-standard {
|
|
70
|
-
color:
|
|
71
|
-
background-color:
|
|
70
|
+
color: var(--light-primary-text);
|
|
71
|
+
background-color: var(--primary);
|
|
72
72
|
}
|
|
73
73
|
.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {
|
|
74
|
-
background-color:
|
|
74
|
+
background-color: var(--primary);
|
|
75
75
|
}
|
|
76
76
|
/*
|
|
77
77
|
bugfix: overlay is not big enough
|
|
@@ -122,7 +122,7 @@ mat-tab-group {
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
.mat-ink-bar {
|
|
125
|
-
background-color:
|
|
125
|
+
background-color: var(--palette-primary-100);
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
// a mat table with clickable columns
|
|
@@ -138,7 +138,7 @@ mat-tab-group {
|
|
|
138
138
|
.mat-mdc-fab.mat-white,
|
|
139
139
|
.mat-mini-fab.mat-white {
|
|
140
140
|
// white background, primary as content color
|
|
141
|
-
color:
|
|
141
|
+
color: var(--primary);
|
|
142
142
|
}
|
|
143
143
|
.mat-mdc-unelevated-button:not(:disabled),
|
|
144
144
|
.mat-mdc-raised-button:not(:disabled),
|
|
@@ -195,7 +195,7 @@ mat-tab-group {
|
|
|
195
195
|
.mat-form-field-dark {
|
|
196
196
|
input,
|
|
197
197
|
textarea {
|
|
198
|
-
caret-color:
|
|
198
|
+
caret-color: var(--palette-primary-900);
|
|
199
199
|
}
|
|
200
200
|
.mat-form-field-outline,
|
|
201
201
|
.mat-form-field-label {
|
|
@@ -211,7 +211,7 @@ mat-tab-group {
|
|
|
211
211
|
.mat-mdc-form-field.mat-form-field-bright {
|
|
212
212
|
input,
|
|
213
213
|
textarea {
|
|
214
|
-
--mdc-outlined-text-field-caret-color:
|
|
214
|
+
--mdc-outlined-text-field-caret-color: var(--primaryLight);
|
|
215
215
|
}
|
|
216
216
|
--mdc-outlined-text-field-label-text-color: rgba(255, 255, 255, 0.87);
|
|
217
217
|
--mdc-outlined-text-field-outline-color: rgba(255, 255, 255, 0.6);
|
|
@@ -224,15 +224,15 @@ mat-tab-group {
|
|
|
224
224
|
}
|
|
225
225
|
mat-slide-toggle.mat-mdc-slide-toggle.mat-primary-bright {
|
|
226
226
|
--mdc-switch-unselected-handle-color: #fff;
|
|
227
|
-
--mdc-switch-unselected-hover-handle-color:
|
|
228
|
-
--mdc-switch-unselected-focus-handle-color:
|
|
229
|
-
--mdc-switch-unselected-pressed-handle-color:
|
|
230
|
-
--mdc-switch-unselected-icon-color:
|
|
227
|
+
--mdc-switch-unselected-hover-handle-color: var(--palette-primary-50);
|
|
228
|
+
--mdc-switch-unselected-focus-handle-color: var(--palette-primary-50);
|
|
229
|
+
--mdc-switch-unselected-pressed-handle-color: var(--palette-primary-50);
|
|
230
|
+
--mdc-switch-unselected-icon-color: var(--textLight);
|
|
231
231
|
--mdc-switch-selected-handle-color: #fff;
|
|
232
|
-
--mdc-switch-selected-hover-handle-color:
|
|
233
|
-
--mdc-switch-selected-focus-handle-color:
|
|
234
|
-
--mdc-switch-selected-pressed-handle-color:
|
|
235
|
-
--mdc-switch-selected-icon-color:
|
|
232
|
+
--mdc-switch-selected-hover-handle-color: var(--palette-primary-50);
|
|
233
|
+
--mdc-switch-selected-focus-handle-color: var(--palette-primary-50);
|
|
234
|
+
--mdc-switch-selected-pressed-handle-color: var(--palette-primary-50);
|
|
235
|
+
--mdc-switch-selected-icon-color: var(--primary);
|
|
236
236
|
.mdc-form-field label {
|
|
237
237
|
color: #fff;
|
|
238
238
|
}
|
|
@@ -279,9 +279,9 @@ mat-label,
|
|
|
279
279
|
.mat-flat-button {
|
|
280
280
|
padding: 0 15px !important;
|
|
281
281
|
.mdc-button__label {
|
|
282
|
-
color:
|
|
282
|
+
color: var(--palette-primary-900) !important;
|
|
283
283
|
}
|
|
284
|
-
background-color:
|
|
284
|
+
background-color: var(--primary) !important;
|
|
285
285
|
}
|
|
286
286
|
body {
|
|
287
287
|
// Background for raised button
|
|
@@ -296,7 +296,7 @@ body {
|
|
|
296
296
|
}
|
|
297
297
|
.mat-mdc-checkbox {
|
|
298
298
|
.mdc-checkbox__background {
|
|
299
|
-
border-color:
|
|
299
|
+
border-color: var(--primary) !important;
|
|
300
300
|
|
|
301
301
|
background-color: #fff !important;
|
|
302
302
|
|
|
@@ -306,19 +306,19 @@ body {
|
|
|
306
306
|
}
|
|
307
307
|
&.mdc-checkbox--disabled {
|
|
308
308
|
.mdc-checkbox__background {
|
|
309
|
-
border-color:
|
|
309
|
+
border-color: var(--palette-primary-100) !important;
|
|
310
310
|
}
|
|
311
311
|
&.mat-mdc-checkbox-checked,
|
|
312
312
|
&.mat-mdc-checkbox-indeterminate {
|
|
313
313
|
.mdc-checkbox__background {
|
|
314
|
-
background-color:
|
|
314
|
+
background-color: var(--palette-primary-100) !important;
|
|
315
315
|
}
|
|
316
316
|
}
|
|
317
317
|
}
|
|
318
318
|
&.mat-mdc-checkbox-checked,
|
|
319
319
|
&.mat-mdc-checkbox-indeterminate {
|
|
320
320
|
.mdc-checkbox__background {
|
|
321
|
-
background-color:
|
|
321
|
+
background-color: var(--primary) !important;
|
|
322
322
|
.mdc-checkbox__checkmark,
|
|
323
323
|
.mdc-checkbox__mixedmark {
|
|
324
324
|
color: #fff !important;
|
|
@@ -329,7 +329,7 @@ body {
|
|
|
329
329
|
}
|
|
330
330
|
.mat-radio-container {
|
|
331
331
|
.mat-radio-outer-circle {
|
|
332
|
-
border-color:
|
|
332
|
+
border-color: var(--primary);
|
|
333
333
|
}
|
|
334
334
|
}
|
|
335
335
|
.mat-mdc-checkbox-label {
|
|
@@ -359,19 +359,19 @@ body {
|
|
|
359
359
|
}
|
|
360
360
|
.mat-mdc-raised-button {
|
|
361
361
|
&:not(.mat-primary) {
|
|
362
|
-
color:
|
|
362
|
+
color: var(--primary) !important;
|
|
363
363
|
}
|
|
364
364
|
&.mat-primary {
|
|
365
|
-
color:
|
|
365
|
+
color: var(--light-primary-text) !important;
|
|
366
366
|
}
|
|
367
367
|
&.mat-warn {
|
|
368
|
-
color:
|
|
368
|
+
color: var(--light-primary-text) !important;
|
|
369
369
|
}
|
|
370
370
|
}
|
|
371
371
|
.mat-mdc-button.mat-cancel {
|
|
372
372
|
color: $textMediumLight;
|
|
373
373
|
&:hover {
|
|
374
|
-
color:
|
|
374
|
+
color: var(--primary);
|
|
375
375
|
}
|
|
376
376
|
}
|
|
377
377
|
// Undo default style of mat-icon.
|
|
@@ -386,8 +386,8 @@ i.mat-icon {
|
|
|
386
386
|
height: 1em;
|
|
387
387
|
width: 1em;
|
|
388
388
|
> .svg-icons {
|
|
389
|
-
width:
|
|
390
|
-
height:
|
|
389
|
+
width: 1em;
|
|
390
|
+
height: 1em;
|
|
391
391
|
}
|
|
392
392
|
}
|
|
393
393
|
button {
|
|
@@ -447,7 +447,7 @@ label .label-secondary {
|
|
|
447
447
|
position: absolute;
|
|
448
448
|
right: -3px;
|
|
449
449
|
top: -3px;
|
|
450
|
-
color:
|
|
450
|
+
color: var(--light-primary-text);
|
|
451
451
|
background-color: $colorStatusNegative;
|
|
452
452
|
border-radius: 50%;
|
|
453
453
|
width: 16px;
|
|
@@ -527,7 +527,7 @@ mat-select.mat-select-icon {
|
|
|
527
527
|
.mat-select-panel,
|
|
528
528
|
.mat-autocomplete-panel {
|
|
529
529
|
.mat-option:not(.mat-option-disabled) {
|
|
530
|
-
color:
|
|
530
|
+
color: var(--primary);
|
|
531
531
|
}
|
|
532
532
|
.mat-option.mat-selected:not(.mat-option-multiple) {
|
|
533
533
|
background-color: $cardLightBackground;
|
|
@@ -537,20 +537,20 @@ mat-select.mat-select-icon {
|
|
|
537
537
|
.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) {
|
|
538
538
|
background-color: var(--palette-primary-100) !important;
|
|
539
539
|
.mat-mdc-chip-remove {
|
|
540
|
-
color:
|
|
540
|
+
color: var(--primary) !important;
|
|
541
541
|
opacity: 1 !important;
|
|
542
542
|
}
|
|
543
543
|
}
|
|
544
544
|
.mat-chip-list {
|
|
545
545
|
.mat-chip.mat-standard-chip {
|
|
546
546
|
height: unset; // Override height: 1px
|
|
547
|
-
background-color:
|
|
547
|
+
background-color: var(--palette-primary-100);
|
|
548
548
|
overflow: hidden;
|
|
549
549
|
&.indeterminate {
|
|
550
550
|
background: repeating-linear-gradient(
|
|
551
551
|
-45deg,
|
|
552
|
-
|
|
553
|
-
|
|
552
|
+
var(--palette-primary-100),
|
|
553
|
+
var(--palette-primary-100) 5px,
|
|
554
554
|
rgba(0, 0, 0, 0.04) 5px,
|
|
555
555
|
rgba(0, 0, 0, 0.04) 10px
|
|
556
556
|
);
|
|
@@ -562,7 +562,7 @@ mat-select.mat-select-icon {
|
|
|
562
562
|
.mat-chip-remove {
|
|
563
563
|
// align somewhat townwards for better centering
|
|
564
564
|
line-height: 1.05;
|
|
565
|
-
color:
|
|
565
|
+
color: var(--primary);
|
|
566
566
|
opacity: 1;
|
|
567
567
|
}
|
|
568
568
|
}
|
|
@@ -15,7 +15,7 @@ $primaryMediumDark: var(--palette-primary-700) !default;
|
|
|
15
15
|
|
|
16
16
|
$tabColor: var(--primary) !default;
|
|
17
17
|
$tabColorDark: var(--primary) !default;
|
|
18
|
-
$tabColorLight:
|
|
18
|
+
$tabColorLight: var(--palette-primary-200) !default;
|
|
19
19
|
$warning: #cd2457 !default;
|
|
20
20
|
$warningMedium: #e98c1b !default;
|
|
21
21
|
$toastLeftError: #c15d5d !default;
|
|
@@ -47,8 +47,8 @@ $workspaceSelectedBackgroundEffect: linear-gradient(
|
|
|
47
47
|
var(--primary) 5px,
|
|
48
48
|
rgba(0, 0, 0, 0) 5px,
|
|
49
49
|
rgba(0, 0, 0, 0) 5px
|
|
50
|
-
)
|
|
51
|
-
no-repeat !default;
|
|
50
|
+
)
|
|
51
|
+
no-repeat !default;
|
|
52
52
|
$workspaceTreeBackground: #f7f7f7 !default;
|
|
53
53
|
$workspaceTopBarSafeBackground: #963a3a;
|
|
54
54
|
$dialogRightWidth: 320px !default;
|
|
@@ -56,11 +56,11 @@ $workspaceTreeSelectedBackground: #fff !default;
|
|
|
56
56
|
$workspaceTreeWidth: 300px !default;
|
|
57
57
|
$workspaceBreadcrumbsHeight: $secondaryBarHeight !default;
|
|
58
58
|
$workspaceTreeSelectedBackgroundEffect: linear-gradient(
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
59
|
+
to right,
|
|
60
|
+
var(--primary) 0,
|
|
61
|
+
var(--primary) 5px,
|
|
62
|
+
rgba(0, 0, 0, 0) 5px,
|
|
63
|
+
rgba(0, 0, 0, 0) 5px
|
|
64
64
|
) !default;
|
|
65
65
|
$workspaceMetadataBackground: #f7f7f7 !default;
|
|
66
66
|
$buttonBorderRadius: 2px !default;
|
|
@@ -71,6 +71,7 @@ $cardLightBackground: #f9f9f9 !default;
|
|
|
71
71
|
$searchInputBorderColor: #ccc !default;
|
|
72
72
|
$cardSeparatorLineColor: #ccc !default;
|
|
73
73
|
$genericSeperatorLineColor: #ececec !default;
|
|
74
|
+
$chipsSeperatorLineColor: #e2e2e2 !default;
|
|
74
75
|
$inputBorderColor: #9e9e9e !default;
|
|
75
76
|
$commentsActionsSeperatorLineColor: $backgroundColor !default;
|
|
76
77
|
$noResultsColor: rgba(black, 0.54) !default;
|
|
@@ -8,11 +8,16 @@
|
|
|
8
8
|
--warning: #cd2457;
|
|
9
9
|
--aiColor: #6d176e;
|
|
10
10
|
--aiColorText: #fff;
|
|
11
|
+
--aiColorChip: #fff;
|
|
12
|
+
--aiColorChipRemove: #555;
|
|
13
|
+
--aiColorChipBorder: #ddd;
|
|
14
|
+
--aiColorChipText: var(--aiColor);
|
|
11
15
|
--tableIconSize: 38px;
|
|
12
16
|
--textLight: #585858;
|
|
13
17
|
--textMediumLight: #888;
|
|
14
18
|
--textMain: #383838;
|
|
15
19
|
--cardWidth: 240px;
|
|
20
|
+
--chipsSeperatorLineColor: #e2e2e2;
|
|
16
21
|
--colorStatusPositive: #40bf8e;
|
|
17
22
|
--colorStatusNegative: var(--warning);
|
|
18
23
|
--colorStarActive: #ba7c00;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
|
3
3
|
import { MatButtonModule } from '@angular/material/button';
|
|
4
4
|
import { MatRippleModule } from '@angular/material/core';
|
|
5
5
|
import { MatMenuModule } from '@angular/material/menu';
|
|
@@ -28,10 +28,15 @@ import { SortDropdownComponent } from '../sort-dropdown/sort-dropdown.component'
|
|
|
28
28
|
import { SpinnerComponent } from '../spinner/spinner.component';
|
|
29
29
|
import { PropertySlugPipe } from '../pipes/property-slug.pipe';
|
|
30
30
|
import { NodeLicensePipe } from '../pipes/node-license.pipe';
|
|
31
|
+
import { MdsWidgetComponent } from '../mds-viewer/widget/mds-widget.component';
|
|
32
|
+
import { MdsDurationPipe } from '../pipes/mds-duration.pipe';
|
|
33
|
+
import { MdsViewerComponent } from '../mds-viewer/mds-viewer.component';
|
|
31
34
|
import * as i0 from "@angular/core";
|
|
32
35
|
export class EduSharingUiCommonModule {
|
|
33
36
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: EduSharingUiCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
34
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: EduSharingUiCommonModule, declarations: [
|
|
37
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: EduSharingUiCommonModule, declarations: [MdsViewerComponent,
|
|
38
|
+
MdsWidgetComponent,
|
|
39
|
+
ActionbarComponent,
|
|
35
40
|
BorderBoxObserverDirective,
|
|
36
41
|
CheckTextOverflowDirective,
|
|
37
42
|
DropdownComponent,
|
|
@@ -39,6 +44,7 @@ export class EduSharingUiCommonModule {
|
|
|
39
44
|
FormatDatePipe,
|
|
40
45
|
FormatSizePipe,
|
|
41
46
|
IconDirective,
|
|
47
|
+
MdsDurationPipe,
|
|
42
48
|
InfiniteScrollDirective,
|
|
43
49
|
PropertySlugPipe,
|
|
44
50
|
NodeIconPipe,
|
|
@@ -58,13 +64,16 @@ export class EduSharingUiCommonModule {
|
|
|
58
64
|
MatTooltipModule,
|
|
59
65
|
MatRippleModule,
|
|
60
66
|
TranslateModule,
|
|
61
|
-
RouterModule], exports: [
|
|
67
|
+
RouterModule], exports: [MdsViewerComponent,
|
|
68
|
+
MdsWidgetComponent,
|
|
69
|
+
ActionbarComponent,
|
|
62
70
|
BorderBoxObserverDirective,
|
|
63
71
|
CheckTextOverflowDirective,
|
|
64
72
|
DropdownComponent,
|
|
65
73
|
FocusStateDirective,
|
|
66
74
|
FormatDatePipe,
|
|
67
75
|
FormatSizePipe,
|
|
76
|
+
MdsDurationPipe,
|
|
68
77
|
IconDirective,
|
|
69
78
|
InfiniteScrollDirective,
|
|
70
79
|
PropertySlugPipe,
|
|
@@ -89,7 +98,10 @@ export class EduSharingUiCommonModule {
|
|
|
89
98
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: EduSharingUiCommonModule, decorators: [{
|
|
90
99
|
type: NgModule,
|
|
91
100
|
args: [{
|
|
101
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
92
102
|
declarations: [
|
|
103
|
+
MdsViewerComponent,
|
|
104
|
+
MdsWidgetComponent,
|
|
93
105
|
ActionbarComponent,
|
|
94
106
|
BorderBoxObserverDirective,
|
|
95
107
|
CheckTextOverflowDirective,
|
|
@@ -98,6 +110,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
98
110
|
FormatDatePipe,
|
|
99
111
|
FormatSizePipe,
|
|
100
112
|
IconDirective,
|
|
113
|
+
MdsDurationPipe,
|
|
101
114
|
InfiniteScrollDirective,
|
|
102
115
|
PropertySlugPipe,
|
|
103
116
|
NodeIconPipe,
|
|
@@ -123,6 +136,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
123
136
|
RouterModule,
|
|
124
137
|
],
|
|
125
138
|
exports: [
|
|
139
|
+
MdsViewerComponent,
|
|
140
|
+
MdsWidgetComponent,
|
|
126
141
|
ActionbarComponent,
|
|
127
142
|
BorderBoxObserverDirective,
|
|
128
143
|
CheckTextOverflowDirective,
|
|
@@ -130,6 +145,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
130
145
|
FocusStateDirective,
|
|
131
146
|
FormatDatePipe,
|
|
132
147
|
FormatSizePipe,
|
|
148
|
+
MdsDurationPipe,
|
|
133
149
|
IconDirective,
|
|
134
150
|
InfiniteScrollDirective,
|
|
135
151
|
PropertySlugPipe,
|
|
@@ -145,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
145
161
|
],
|
|
146
162
|
}]
|
|
147
163
|
}] });
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWR1LXNoYXJpbmctdWktY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvY29tbW9uL2VkdS1zaGFyaW5nLXVpLWNvbW1vbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdD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QUNoQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLGFBQWE7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLFlBQVk7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLGFBQWE7cUJBQ2hCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0UmlwcGxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25iYXJDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb25iYXIvYWN0aW9uYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCb3JkZXJCb3hPYnNlcnZlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvYm9yZGVyLWJveC1vYnNlcnZlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2hlY2tUZXh0T3ZlcmZsb3dEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2NoZWNrLXRleHQtb3ZlcmZsb3cuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvY3VzU3RhdGVEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2ZvY3VzLXN0YXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJY29uRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9pY29uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb2RlVXJsQ29tcG9uZW50IH0gZnJvbSAnLi4vbm9kZS11cmwvbm9kZS11cmwuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1hdFNpemVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuaW1wb3J0IHsgRm9ybWF0RGF0ZVBpcGUgfSBmcm9tICcuLi9waXBlcy9mb3JtYXQtZGF0ZS5waXBlJztcbmltcG9ydCB7IE5vZGVJY29uUGlwZSB9IGZyb20gJy4uL3BpcGVzL25vZGUtaWNvbi5waXBlJztcbmltcG9ydCB7IE5vZGVJbWFnZVNpemVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvbm9kZS1pbWFnZS1zaXplLnBpcGUnO1xuaW1wb3J0IHsgTm9kZUltYWdlUGlwZSB9IGZyb20gJy4uL3BpcGVzL25vZGUtaW1hZ2UucGlwZSc7XG5pbXBvcnQgeyBOb2RlUGVyc29uTmFtZVBpcGUgfSBmcm9tICcuLi9waXBlcy9ub2RlLXBlcnNvbi1uYW1lLnBpcGUnO1xuaW1wb3J0IHsgTm9kZVRpdGxlUGlwZSB9IGZyb20gJy4uL3BpcGVzL25vZGUtdGl0bGUucGlwZSc7XG5pbXBvcnQgeyBPcHRpb25Ub29sdGlwUGlwZSB9IGZyb20gJy4uL3BpcGVzL29wdGlvbi10b29sdGlwLnBpcGUnO1xuaW1wb3J0IHsgUmVwbGFjZUNoYXJzUGlwZSB9IGZyb20gJy4uL3BpcGVzL3JlcGxhY2UtY2hhcnMucGlwZSc7XG5pbXBvcnQgeyBWQ2FyZE5hbWVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvdmNhcmQtbmFtZS5waXBlJztcbmltcG9ydCB7IFNvcnREcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL3NvcnQtZHJvcGRvd24vc29ydC1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4uL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvcGVydHlTbHVnUGlwZSB9IGZyb20gJy4uL3BpcGVzL3Byb3BlcnR5LXNsdWcucGlwZSc7XG5pbXBvcnQgeyBOb2RlTGljZW5zZVBpcGUgfSBmcm9tICcuLi9waXBlcy9ub2RlLWxpY2Vuc2UucGlwZSc7XG5pbXBvcnQgeyBNZHNXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuLi9tZHMtdmlld2VyL3dpZGdldC9tZHMtd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZHNEdXJhdGlvblBpcGUgfSBmcm9tICcuLi9waXBlcy9tZHMtZHVyYXRpb24ucGlwZSc7XG5pbXBvcnQgeyBNZHNWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuLi9tZHMtdmlld2VyL21kcy12aWV3ZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIE1kc1ZpZXdlckNvbXBvbmVudCxcbiAgICAgICAgTWRzV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgICBBY3Rpb25iYXJDb21wb25lbnQsXG4gICAgICAgIEJvcmRlckJveE9ic2VydmVyRGlyZWN0aXZlLFxuICAgICAgICBDaGVja1RleHRPdmVyZmxvd0RpcmVjdGl2ZSxcbiAgICAgICAgRHJvcGRvd25Db21wb25lbnQsXG4gICAgICAgIEZvY3VzU3RhdGVEaXJlY3RpdmUsXG4gICAgICAgIEZvcm1hdERhdGVQaXBlLFxuICAgICAgICBGb3JtYXRTaXplUGlwZSxcbiAgICAgICAgSWNvbkRpcmVjdGl2ZSxcbiAgICAgICAgTWRzRHVyYXRpb25QaXBlLFxuICAgICAgICBJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSxcbiAgICAgICAgUHJvcGVydHlTbHVnUGlwZSxcbiAgICAgICAgTm9kZUljb25QaXBlLFxuICAgICAgICBOb2RlSW1hZ2VQaXBlLFxuICAgICAgICBOb2RlSW1hZ2VTaXplUGlwZSxcbiAgICAgICAgTm9kZUxpY2Vuc2VQaXBlLFxuICAgICAgICBOb2RlUGVyc29uTmFtZVBpcGUsXG4gICAgICAgIE5vZGVUaXRsZVBpcGUsXG4gICAgICAgIE5vZGVVcmxDb21wb25lbnQsXG4gICAgICAgIE9wdGlvblRvb2x0aXBQaXBlLFxuICAgICAgICBSZXBsYWNlQ2hhcnNQaXBlLFxuICAgICAgICBTb3J0RHJvcGRvd25Db21wb25lbnQsXG4gICAgICAgIFZDYXJkTmFtZVBpcGUsXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0TWVudU1vZHVsZSxcbiAgICAgICAgU3Bpbm5lckNvbXBvbmVudCxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgICAgICBNYXRSaXBwbGVNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBNZHNWaWV3ZXJDb21wb25lbnQsXG4gICAgICAgIE1kc1dpZGdldENvbXBvbmVudCxcbiAgICAgICAgQWN0aW9uYmFyQ29tcG9uZW50LFxuICAgICAgICBCb3JkZXJCb3hPYnNlcnZlckRpcmVjdGl2ZSxcbiAgICAgICAgQ2hlY2tUZXh0T3ZlcmZsb3dEaXJlY3RpdmUsXG4gICAgICAgIERyb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBGb2N1c1N0YXRlRGlyZWN0aXZlLFxuICAgICAgICBGb3JtYXREYXRlUGlwZSxcbiAgICAgICAgRm9ybWF0U2l6ZVBpcGUsXG4gICAgICAgIE1kc0R1cmF0aW9uUGlwZSxcbiAgICAgICAgSWNvbkRpcmVjdGl2ZSxcbiAgICAgICAgSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUsXG4gICAgICAgIFByb3BlcnR5U2x1Z1BpcGUsXG4gICAgICAgIE5vZGVJY29uUGlwZSxcbiAgICAgICAgTm9kZUltYWdlUGlwZSxcbiAgICAgICAgTm9kZUltYWdlU2l6ZVBpcGUsXG4gICAgICAgIE5vZGVQZXJzb25OYW1lUGlwZSxcbiAgICAgICAgTm9kZVRpdGxlUGlwZSxcbiAgICAgICAgTm9kZVVybENvbXBvbmVudCxcbiAgICAgICAgU29ydERyb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBTcGlubmVyQ29tcG9uZW50LFxuICAgICAgICBWQ2FyZE5hbWVQaXBlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVkdVNoYXJpbmdVaUNvbW1vbk1vZHVsZSB7fVxuIl19
|
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
5
5
|
import { Directive, Input, Optional, } from '@angular/core';
|
|
6
6
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
7
|
-
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
7
|
+
import { BehaviorSubject, combineLatest, firstValueFrom } from 'rxjs';
|
|
8
8
|
import { filter } from 'rxjs/operators';
|
|
9
9
|
import { notNull } from '../util/functions';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@
|
|
12
|
-
import * as i2 from "ngx-
|
|
11
|
+
import * as i1 from "@angular/common/http";
|
|
12
|
+
import * as i2 from "@ngx-translate/core";
|
|
13
|
+
import * as i3 from "ngx-edu-sharing-api";
|
|
13
14
|
/**
|
|
14
15
|
* Replaces the element's content with an icon.
|
|
15
16
|
*
|
|
@@ -46,8 +47,9 @@ export class IconDirective {
|
|
|
46
47
|
set esIcon(id) {
|
|
47
48
|
this.originalId$.next(id);
|
|
48
49
|
}
|
|
49
|
-
constructor(element, translate, renderer, config) {
|
|
50
|
+
constructor(element, http, translate, renderer, config) {
|
|
50
51
|
this.element = element;
|
|
52
|
+
this.http = http;
|
|
51
53
|
this.translate = translate;
|
|
52
54
|
this.renderer = renderer;
|
|
53
55
|
this.config = config;
|
|
@@ -70,7 +72,7 @@ export class IconDirective {
|
|
|
70
72
|
this.altTextSpan.remove();
|
|
71
73
|
}
|
|
72
74
|
}
|
|
73
|
-
setIcon(id, iconsConfig) {
|
|
75
|
+
async setIcon(id, iconsConfig) {
|
|
74
76
|
if (this._id) {
|
|
75
77
|
this.element.nativeElement.classList.remove('edu-icons', 'custom-icons', 'material-icons');
|
|
76
78
|
if (this.svg) {
|
|
@@ -78,14 +80,32 @@ export class IconDirective {
|
|
|
78
80
|
}
|
|
79
81
|
}
|
|
80
82
|
if (id.startsWith('svg-')) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
83
|
+
try {
|
|
84
|
+
const iconName = id.slice(4);
|
|
85
|
+
const fileName = iconName.endsWith('.svg') ? iconName : `${iconName}.svg`;
|
|
86
|
+
const path = `assets/images/icons/${fileName}`;
|
|
87
|
+
const svgText = await firstValueFrom(this.http.get(path, { responseType: 'text' }));
|
|
88
|
+
if (!svgText)
|
|
89
|
+
return;
|
|
90
|
+
const parser = new DOMParser();
|
|
91
|
+
const doc = parser.parseFromString(svgText, 'image/svg+xml');
|
|
92
|
+
const svgElement = doc.querySelector('svg');
|
|
93
|
+
if (!svgElement) {
|
|
94
|
+
console.error('No SVG element found in the file');
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
svgElement.classList.add('svg-icons');
|
|
98
|
+
this.svg = svgElement;
|
|
99
|
+
this.renderer.appendChild(this.element.nativeElement, this.svg);
|
|
100
|
+
if (this._aria) {
|
|
101
|
+
this.updateAria();
|
|
102
|
+
}
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
console.error('Error loading SVG:', error);
|
|
107
|
+
return;
|
|
87
108
|
}
|
|
88
|
-
return;
|
|
89
109
|
}
|
|
90
110
|
let customClass = null;
|
|
91
111
|
const mapping = iconsConfig?.filter((i) => i.original === id);
|
|
@@ -129,7 +149,8 @@ export class IconDirective {
|
|
|
129
149
|
}
|
|
130
150
|
setAltText(altText) {
|
|
131
151
|
if (this.svg) {
|
|
132
|
-
|
|
152
|
+
// for SVG elements, add aria-label instead
|
|
153
|
+
this.svg.setAttribute('aria-label', altText);
|
|
133
154
|
}
|
|
134
155
|
if (altText && !this.altTextSpan) {
|
|
135
156
|
this.insertAltTextSpan();
|
|
@@ -143,7 +164,7 @@ export class IconDirective {
|
|
|
143
164
|
this.altTextSpan.classList.add('cdk-visually-hidden');
|
|
144
165
|
this.element.nativeElement.insertAdjacentElement('afterend', this.altTextSpan);
|
|
145
166
|
}
|
|
146
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: IconDirective, deps: [{ token: i0.ElementRef }, { token: i1.TranslateService }, { token: i0.Renderer2 }, { token:
|
|
167
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: IconDirective, deps: [{ token: i0.ElementRef }, { token: i1.HttpClient }, { token: i2.TranslateService }, { token: i0.Renderer2 }, { token: i3.ConfigService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
147
168
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: IconDirective, selector: "i[esIcon], i.material-icons", inputs: { altText: "altText", aria: "aria", esIcon: "esIcon" }, ngImport: i0 }); }
|
|
148
169
|
}
|
|
149
170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: IconDirective, decorators: [{
|
|
@@ -151,7 +172,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
151
172
|
args: [{
|
|
152
173
|
selector: 'i[esIcon], i.material-icons',
|
|
153
174
|
}]
|
|
154
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.TranslateService }, { type: i0.Renderer2 }, { type:
|
|
175
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.HttpClient }, { type: i2.TranslateService }, { type: i0.Renderer2 }, { type: i3.ConfigService, decorators: [{
|
|
155
176
|
type: Optional
|
|
156
177
|
}] }], propDecorators: { altText: [{
|
|
157
178
|
type: Input
|
|
@@ -160,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
160
181
|
}], esIcon: [{
|
|
161
182
|
type: Input
|
|
162
183
|
}] } });
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2RpcmVjdGl2ZXMvaWNvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0gsU0FBUyxFQUVULEtBQUssRUFHTCxRQUFRLEdBRVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQUk1Qzs7Ozs7Ozs7Ozs7R0FXRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBUXRCOzs7Ozs7T0FNRztJQUNILElBQWEsT0FBTyxDQUFDLE9BQWU7UUFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsc0VBQXNFO0lBQ3RFLElBQWEsSUFBSSxDQUFDLElBQWE7UUFDM0IsSUFBSSxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdEIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBYSxNQUFNLENBQUMsRUFBVTtRQUMxQixJQUFJ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SUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25GLENBQUM7K0dBeElRLGFBQWE7bUdBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFIekIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNkJBQTZCO2lCQUMxQzs7MEJBdUNRLFFBQVE7eUNBdkJBLE9BQU87c0JBQW5CLEtBQUs7Z0JBS08sSUFBSTtzQkFBaEIsS0FBSztnQkFVTyxNQUFNO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDcmVhdGVkIGJ5IFRvcnN0ZW4gb24gMTMuMDEuMjAxNy5cbiAqL1xuXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG5vdE51bGwgfSBmcm9tICcuLi91dGlsL2Z1bmN0aW9ucyc7XG5cbnR5cGUgSWNvbnNDb25maWcgPSBBcnJheTx7IG9yaWdpbmFsOiBzdHJpbmc7IHJlcGxhY2U/OiBzdHJpbmc7IGNzc0NsYXNzPzogc3RyaW5nIH0+O1xuXG4vKipcbiAqIFJlcGxhY2VzIHRoZSBlbGVtZW50J3MgY29udGVudCB3aXRoIGFuIGljb24uXG4gKlxuICogRXhhbXBsZTogYDxpIGVzSWNvbj1cInNhdmVcIj48L2k+YFxuICpcbiAqIE9wdGlvbmFsbHksIGEgdHJhbnNsYXRlZCBgYXJpYS1sYWJlbGAgY2FuIGJlIGF0dGFjaGVkIGJ5IHNldHRpbmcgYGFyaWFgIHRvIGEgdHJ1dGh5IHZhbHVlOiBgPGlcbiAqIGVzSWNvbj1cInNhdmVcIiBhcmlhPVwidHJ1ZVwiPjwvaT5gLiBPdGhlcndpc2UsIGBhcmlhLWhpZGRlbmAgd2lsbCBiZSBzZXQuXG4gKlxuICogRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCB0aGUgZGlyZWN0aXZlIGlzIGFsc28gYWN0aXZhdGVkIG9uIGVsZW1lbnRzIHRoYXQgc2V0XG4gKiBgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiYC4gVGhpcyBpcyBtYWlubHkgdG8gc2V0IHRoZSBgYXJpYS1oaWRkZW5gIGF0dHJpYnV0ZS4gT2NjdXJyZW5jZXMgc2hvdWxkXG4gKiBiZSB1cGRhdGVkIHRvIHRoZSBzeW50YXggYWJvdmUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnaVtlc0ljb25dLCBpLm1hdGVyaWFsLWljb25zJyxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIG9yaWdpbmFsSWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuICAgIHByaXZhdGUgX2lkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfYXJpYTogYm9vbGVhbjtcbiAgICBwcml2YXRlIGFsdFRleHRTcGFuOiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIGlzUmVhZHkgPSBmYWxzZTtcbiAgICBwcml2YXRlIHN2ZzogSFRNTEltYWdlRWxlbWVudDtcblxuICAgIC8qKlxuICAgICAqIEFuIGFsdCB0ZXh0IHRvIHNob3cgdG8gc2NyZWVuIHJlYWRlcnMuXG4gICAgICpcbiAgICAgKiBJZiBvbWl0dGVkLCB0aGUgaWNvbiB3aWxsIGJlIGludmlzaWJsZSB0byBzY3JlZW4gcmVhZGVycy5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2NvbXBvbmVudHMvaWNvbi9vdmVydmlldyNpbmRpY2F0b3ItaWNvbnNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgYWx0VGV4dChhbHRUZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXRBbHRUZXh0KGFsdFRleHQpO1xuICAgIH1cblxuICAgIC8qKiBJZiB0cnVlLCBhbiBhbHQgdGV4dCAoc2VlIGFib3ZlKSB3aWxsIGJlIHNldCBiYXNlZCBvbiB0aGUgaWNvbi4gKi9cbiAgICBASW5wdXQoKSBzZXQgYXJpYShhcmlhOiBib29sZWFuKSB7XG4gICAgICAgIGFyaWEgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoYXJpYSk7XG4gICAgICAgIGlmIChhcmlhICE9PSB0aGlzLl9hcmlhKSB7XG4gICAgICAgICAgICB0aGlzLl9hcmlhID0gYXJpYTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzUmVhZHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUFyaWEoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBlc0ljb24oaWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLm9yaWdpbmFsSWQkLm5leHQoaWQpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5vcmlnaW5hbElkJC5waXBlKGZpbHRlcihub3ROdWxsKSksIHRoaXMuY29uZmlnLmdldCgnaWNvbnMnLCBudWxsKV0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKFtvcmlnaW5hbElkLCBpY29uc0NvbmZpZ10pID0+IHRoaXMuc2V0SWNvbihvcmlnaW5hbElkLCBpY29uc0NvbmZpZykpO1xuICAgIH1cblxuICAgIGFzeW5jIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmlzUmVhZHkgPSB0cnVlO1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcbiAgICAgICAgLy8gTWF0ZXJpYWwgc3R5bGVzIGV4cGVjdCBpY29ucyB0byBoYXZlIHRoZSBjbGFzcyBgbWF0LWljb25gLCBlLmcuLFxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2Jsb2IvYWUwYjllMWMxYmFlNWU5MzdkMDM5ZWE1MzY1MmZlMTY1NmJjNDYyMy9zcmMvbWF0ZXJpYWwvZm9ybS1maWVsZC9mb3JtLWZpZWxkLnNjc3MjTDE1NlxuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdtYXQtaWNvbicpO1xuICAgICAgICB0aGlzLnVwZGF0ZUFyaWEoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWx0VGV4dFNwYW4pIHtcbiAgICAgICAgICAgIHRoaXMuYWx0VGV4dFNwYW4ucmVtb3ZlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEljb24oaWQ6IHN0cmluZywgaWNvbnNDb25maWc6IEljb25zQ29uZmlnKSB7XG4gICAgICAgIGlmICh0aGlzLl9pZCkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShcbiAgICAgICAgICAgICAgICAnZWR1LWljb25zJyxcbiAgICAgICAgICAgICAgICAnY3VzdG9tLWljb25zJyxcbiAgICAgICAgICAgICAgICAnbWF0ZXJpYWwtaWNvbnMnLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmICh0aGlzLnN2Zykge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuc3ZnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaWQuc3RhcnRzV2l0aCgnc3ZnLScpKSB7XG4gICAgICAgICAgICB0aGlzLnN2ZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xuICAgICAgICAgICAgdGhpcy5zdmcuY2xhc3NMaXN0LmFkZCgnc3ZnLWljb25zJyk7XG4gICAgICAgICAgICB0aGlzLnN2Zy5zcmMgPSAnYXNzZXRzL2ltYWdlcy9pY29ucy8nICsgaWQuc3Vic3RyaW5nKDQpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5zdmcpO1xuICAgICAgICAgICAgaWYgKHRoaXMuX2FyaWEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUFyaWEoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY3VzdG9tQ2xhc3M6IHN0cmluZyA9IG51bGw7XG4gICAgICAgIGNvbnN0IG1hcHBpbmcgPSBpY29uc0NvbmZpZz8uZmlsdGVyKChpKSA9PiBpLm9yaWdpbmFsID09PSBpZCk7XG4gICAgICAgIGlmIChtYXBwaW5nPy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIGlkID0gbWFwcGluZ1swXS5yZXBsYWNlIHx8ICcnO1xuICAgICAgICAgICAgY3VzdG9tQ2xhc3MgPSBtYXBwaW5nWzBdLmNzc0NsYXNzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lkID0gaWQ7XG4gICAgICAgIGlmICh0aGlzLl9hcmlhKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFyaWEoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY3NzQ2xhc3M6IHN0cmluZztcbiAgICAgICAgaWYgKGlkPy5zdGFydHNXaXRoKCdlZHUtJykgJiYgIWN1c3RvbUNsYXNzKSB7XG4gICAgICAgICAgICBjc3NDbGFzcyA9ICdlZHUtaWNvbnMnO1xuICAgICAgICAgICAgaWQgPSBpZC5zdWJzdHJpbmcoNCk7XG4gICAgICAgIH0gZWxzZSBpZiAoaWQ/LnN0YXJ0c1dpdGgoJ2N1c3RvbS0nKSB8fCBjdXN0b21DbGFzcykge1xuICAgICAgICAgICAgY3NzQ2xhc3MgPSAnY3VzdG9tLWljb25zJztcbiAgICAgICAgICAgIGlkID0gaWQuc3Vic3RyaW5nKDcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3NzQ2xhc3MgPSAnbWF0ZXJpYWwtaWNvbnMnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY3NzQ2xhc3MpO1xuICAgICAgICBpZiAoY3VzdG9tQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY3VzdG9tQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCA9IGlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQXJpYSgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2FyaWEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2FyaWEgJiYgdGhpcy5faWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0lDT05fTEFCRUxTLicgKyB0aGlzLl9pZCkuc3Vic2NyaWJlKChsYW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0QWx0VGV4dChsYW5nKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRBbHRUZXh0KG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRBbHRUZXh0KGFsdFRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdmcpIHtcbiAgICAgICAgICAgIHRoaXMuc3ZnLmFsdCA9IGFsdFRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFsdFRleHQgJiYgIXRoaXMuYWx0VGV4dFNwYW4pIHtcbiAgICAgICAgICAgIHRoaXMuaW5zZXJ0QWx0VGV4dFNwYW4oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5hbHRUZXh0U3Bhbikge1xuICAgICAgICAgICAgdGhpcy5hbHRUZXh0U3Bhbi5pbm5lclRleHQgPSBhbHRUZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbnNlcnRBbHRUZXh0U3BhbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hbHRUZXh0U3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgdGhpcy5hbHRUZXh0U3Bhbi5jbGFzc0xpc3QuYWRkKCdjZGstdmlzdWFsbHktaGlkZGVuJyk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lmluc2VydEFkamFjZW50RWxlbWVudCgnYWZ0ZXJlbmQnLCB0aGlzLmFsdFRleHRTcGFuKTtcbiAgICB9XG59XG4iXX0=
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2RpcmVjdGl2ZXMvaWNvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU5RCxPQUFPLEVBQ0gsU0FBUyxFQUVULEtBQUssRUFHTCxRQUFRLEdBRVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBSTVDOzs7Ozs7Ozs7OztHQVdHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFRdEI7Ozs7OztPQU1HO0lBQ0gsSUFBYSxPQUFPLENBQUMsT0FBZTtRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxzRUFBc0U7SUFDdEUsSUFBYSxJQUFJLENBQUMsSUFBYTtRQUMzQixJQUFJLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFhLE1BQU0sQ0FBQyxFQUFVO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUNZLE9BQWdDLEVBQ2hDLElBQWdCLEVBQ2hCLFNBQTJCLEVBQzNCLFFBQW1CLEVBQ1AsTUFBcUI7UUFKakMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDaEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ1AsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQXRDckMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxJQUFJLENBQUMsQ0FBQztRQUloRCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBb0NwQixhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUNsRixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzthQUMxQixTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDVixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELG1FQUFtRTtRQUNuRSxtSUFBbUk7UUFDbkksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFVLEVBQUUsV0FBd0I7UUFDdEQsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUN2QyxXQUFXLEVBQ1gsY0FBYyxFQUNkLGdCQUFnQixDQUNuQixDQUFDO1lBQ0YsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDO2dCQUNELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzdCLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLE1BQU0sQ0FBQztnQkFDMUUsTUFBTSxJQUFJLEdBQUcsdUJBQXVCLFFBQVEsRUFBRSxDQUFDO2dCQUUvQyxNQUFNLE9BQU8sR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUVwRixJQUFJLENBQUMsT0FBTztvQkFBRSxPQUFPO2dCQUVyQixNQUFNLE1BQU0sR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUMvQixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztnQkFDN0QsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFNUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztvQkFDbEQsT0FBTztnQkFDWCxDQUFDO2dCQUVELFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN0QyxJQUFJLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQztnQkFFdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUVoRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDYixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3RCLENBQUM7Z0JBRUQsT0FBTztZQUNYLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQzNDLE9BQU87WUFDWCxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksV0FBVyxHQUFXLElBQUksQ0FBQztRQUMvQixNQUFNLE9BQU8sR0FBRyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzlELElBQUksT0FBTyxFQUFFLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4QixFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDOUIsV0FBVyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDdEMsQ0FBQztRQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdEIsQ0FBQztRQUNELElBQUksUUFBZ0IsQ0FBQztRQUNyQixJQUFJLEVBQUUsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QyxRQUFRLEdBQUcsV0FBVyxDQUFDO1lBQ3ZCLEVBQUUsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLENBQUM7YUFBTSxJQUFJLEVBQUUsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksV0FBVyxFQUFFLENBQUM7WUFDbEQsUUFBUSxHQUFHLGNBQWMsQ0FBQztZQUMxQixFQUFFLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNKLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRU8sVUFBVTtRQUNkLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUM3RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMxQixDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVPLFVBQVUsQ0FBQyxPQUFlO1FBQzlCLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1gsMkNBQTJDO1lBQzNDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDN0IsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztRQUN6QyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQjtRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRixDQUFDOytHQWxLUSxhQUFhO21HQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBSHpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDZCQUE2QjtpQkFDMUM7OzBCQXdDUSxRQUFRO3lDQXhCQSxPQUFPO3NCQUFuQixLQUFLO2dCQUtPLElBQUk7c0JBQWhCLEtBQUs7Z0JBVU8sTUFBTTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3JlYXRlZCBieSBUb3JzdGVuIG9uIDEzLjAxLjIwMTcuXG4gKi9cblxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG5vdE51bGwgfSBmcm9tICcuLi91dGlsL2Z1bmN0aW9ucyc7XG5cbnR5cGUgSWNvbnNDb25maWcgPSBBcnJheTx7IG9yaWdpbmFsOiBzdHJpbmc7IHJlcGxhY2U/OiBzdHJpbmc7IGNzc0NsYXNzPzogc3RyaW5nIH0+O1xuXG4vKipcbiAqIFJlcGxhY2VzIHRoZSBlbGVtZW50J3MgY29udGVudCB3aXRoIGFuIGljb24uXG4gKlxuICogRXhhbXBsZTogYDxpIGVzSWNvbj1cInNhdmVcIj48L2k+YFxuICpcbiAqIE9wdGlvbmFsbHksIGEgdHJhbnNsYXRlZCBgYXJpYS1sYWJlbGAgY2FuIGJlIGF0dGFjaGVkIGJ5IHNldHRpbmcgYGFyaWFgIHRvIGEgdHJ1dGh5IHZhbHVlOiBgPGlcbiAqIGVzSWNvbj1cInNhdmVcIiBhcmlhPVwidHJ1ZVwiPjwvaT5gLiBPdGhlcndpc2UsIGBhcmlhLWhpZGRlbmAgd2lsbCBiZSBzZXQuXG4gKlxuICogRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCB0aGUgZGlyZWN0aXZlIGlzIGFsc28gYWN0aXZhdGVkIG9uIGVsZW1lbnRzIHRoYXQgc2V0XG4gKiBgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiYC4gVGhpcyBpcyBtYWlubHkgdG8gc2V0IHRoZSBgYXJpYS1oaWRkZW5gIGF0dHJpYnV0ZS4gT2NjdXJyZW5jZXMgc2hvdWxkXG4gKiBiZSB1cGRhdGVkIHRvIHRoZSBzeW50YXggYWJvdmUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnaVtlc0ljb25dLCBpLm1hdGVyaWFsLWljb25zJyxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIG9yaWdpbmFsSWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuICAgIHByaXZhdGUgX2lkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfYXJpYTogYm9vbGVhbjtcbiAgICBwcml2YXRlIGFsdFRleHRTcGFuOiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIGlzUmVhZHkgPSBmYWxzZTtcbiAgICBwcml2YXRlIHN2ZzogU1ZHU1ZHRWxlbWVudDtcblxuICAgIC8qKlxuICAgICAqIEFuIGFsdCB0ZXh0IHRvIHNob3cgdG8gc2NyZWVuIHJlYWRlcnMuXG4gICAgICpcbiAgICAgKiBJZiBvbWl0dGVkLCB0aGUgaWNvbiB3aWxsIGJlIGludmlzaWJsZSB0byBzY3JlZW4gcmVhZGVycy5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2NvbXBvbmVudHMvaWNvbi9vdmVydmlldyNpbmRpY2F0b3ItaWNvbnNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgYWx0VGV4dChhbHRUZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXRBbHRUZXh0KGFsdFRleHQpO1xuICAgIH1cblxuICAgIC8qKiBJZiB0cnVlLCBhbiBhbHQgdGV4dCAoc2VlIGFib3ZlKSB3aWxsIGJlIHNldCBiYXNlZCBvbiB0aGUgaWNvbi4gKi9cbiAgICBASW5wdXQoKSBzZXQgYXJpYShhcmlhOiBib29sZWFuKSB7XG4gICAgICAgIGFyaWEgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoYXJpYSk7XG4gICAgICAgIGlmIChhcmlhICE9PSB0aGlzLl9hcmlhKSB7XG4gICAgICAgICAgICB0aGlzLl9hcmlhID0gYXJpYTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzUmVhZHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUFyaWEoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBlc0ljb24oaWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLm9yaWdpbmFsSWQkLm5leHQoaWQpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLm9yaWdpbmFsSWQkLnBpcGUoZmlsdGVyKG5vdE51bGwpKSwgdGhpcy5jb25maWcuZ2V0KCdpY29ucycsIG51bGwpXSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW29yaWdpbmFsSWQsIGljb25zQ29uZmlnXSkgPT4gdGhpcy5zZXRJY29uKG9yaWdpbmFsSWQsIGljb25zQ29uZmlnKSk7XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaXNSZWFkeSA9IHRydWU7XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICAgICAgICAvLyBNYXRlcmlhbCBzdHlsZXMgZXhwZWN0IGljb25zIHRvIGhhdmUgdGhlIGNsYXNzIGBtYXQtaWNvbmAsIGUuZy4sXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9hZTBiOWUxYzFiYWU1ZTkzN2QwMzllYTUzNjUyZmUxNjU2YmM0NjIzL3NyYy9tYXRlcmlhbC9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuc2NzcyNMMTU2XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ21hdC1pY29uJyk7XG4gICAgICAgIHRoaXMudXBkYXRlQXJpYSgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hbHRUZXh0U3Bhbikge1xuICAgICAgICAgICAgdGhpcy5hbHRUZXh0U3Bhbi5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgc2V0SWNvbihpZDogc3RyaW5nLCBpY29uc0NvbmZpZzogSWNvbnNDb25maWcpIHtcbiAgICAgICAgaWYgKHRoaXMuX2lkKSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFxuICAgICAgICAgICAgICAgICdlZHUtaWNvbnMnLFxuICAgICAgICAgICAgICAgICdjdXN0b20taWNvbnMnLFxuICAgICAgICAgICAgICAgICdtYXRlcmlhbC1pY29ucycsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHRoaXMuc3ZnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5zdmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpZC5zdGFydHNXaXRoKCdzdmctJykpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaWNvbk5hbWUgPSBpZC5zbGljZSg0KTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGljb25OYW1lLmVuZHNXaXRoKCcuc3ZnJykgPyBpY29uTmFtZSA6IGAke2ljb25OYW1lfS5zdmdgO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBgYXNzZXRzL2ltYWdlcy9pY29ucy8ke2ZpbGVOYW1lfWA7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBzdmdUZXh0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldChwYXRoLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pKTtcblxuICAgICAgICAgICAgICAgIGlmICghc3ZnVGV4dCkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgcGFyc2VyID0gbmV3IERPTVBhcnNlcigpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRvYyA9IHBhcnNlci5wYXJzZUZyb21TdHJpbmcoc3ZnVGV4dCwgJ2ltYWdlL3N2Zyt4bWwnKTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdmdFbGVtZW50ID0gZG9jLnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFzdmdFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ05vIFNWRyBlbGVtZW50IGZvdW5kIGluIHRoZSBmaWxlJyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdmdFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3N2Zy1pY29ucycpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3ZnID0gc3ZnRWxlbWVudDtcblxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuc3ZnKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9hcmlhKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQXJpYSgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbG9hZGluZyBTVkc6JywgZXJyb3IpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsZXQgY3VzdG9tQ2xhc3M6IHN0cmluZyA9IG51bGw7XG4gICAgICAgIGNvbnN0IG1hcHBpbmcgPSBpY29uc0NvbmZpZz8uZmlsdGVyKChpKSA9PiBpLm9yaWdpbmFsID09PSBpZCk7XG4gICAgICAgIGlmIChtYXBwaW5nPy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIGlkID0gbWFwcGluZ1swXS5yZXBsYWNlIHx8ICcnO1xuICAgICAgICAgICAgY3VzdG9tQ2xhc3MgPSBtYXBwaW5nWzBdLmNzc0NsYXNzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lkID0gaWQ7XG4gICAgICAgIGlmICh0aGlzLl9hcmlhKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFyaWEoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY3NzQ2xhc3M6IHN0cmluZztcbiAgICAgICAgaWYgKGlkPy5zdGFydHNXaXRoKCdlZHUtJykgJiYgIWN1c3RvbUNsYXNzKSB7XG4gICAgICAgICAgICBjc3NDbGFzcyA9ICdlZHUtaWNvbnMnO1xuICAgICAgICAgICAgaWQgPSBpZC5zdWJzdHJpbmcoNCk7XG4gICAgICAgIH0gZWxzZSBpZiAoaWQ/LnN0YXJ0c1dpdGgoJ2N1c3RvbS0nKSB8fCBjdXN0b21DbGFzcykge1xuICAgICAgICAgICAgY3NzQ2xhc3MgPSAnY3VzdG9tLWljb25zJztcbiAgICAgICAgICAgIGlkID0gaWQuc3Vic3RyaW5nKDcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3NzQ2xhc3MgPSAnbWF0ZXJpYWwtaWNvbnMnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY3NzQ2xhc3MpO1xuICAgICAgICBpZiAoY3VzdG9tQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY3VzdG9tQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCA9IGlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQXJpYSgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2FyaWEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2FyaWEgJiYgdGhpcy5faWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0lDT05fTEFCRUxTLicgKyB0aGlzLl9pZCkuc3Vic2NyaWJlKChsYW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0QWx0VGV4dChsYW5nKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRBbHRUZXh0KG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRBbHRUZXh0KGFsdFRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdmcpIHtcbiAgICAgICAgICAgIC8vIGZvciBTVkcgZWxlbWVudHMsIGFkZCBhcmlhLWxhYmVsIGluc3RlYWRcbiAgICAgICAgICAgIHRoaXMuc3ZnLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIGFsdFRleHQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhbHRUZXh0ICYmICF0aGlzLmFsdFRleHRTcGFuKSB7XG4gICAgICAgICAgICB0aGlzLmluc2VydEFsdFRleHRTcGFuKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYWx0VGV4dFNwYW4pIHtcbiAgICAgICAgICAgIHRoaXMuYWx0VGV4dFNwYW4uaW5uZXJUZXh0ID0gYWx0VGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5zZXJ0QWx0VGV4dFNwYW4oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWx0VGV4dFNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgIHRoaXMuYWx0VGV4dFNwYW4uY2xhc3NMaXN0LmFkZCgnY2RrLXZpc3VhbGx5LWhpZGRlbicpO1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5pbnNlcnRBZGphY2VudEVsZW1lbnQoJ2FmdGVyZW5kJywgdGhpcy5hbHRUZXh0U3Bhbik7XG4gICAgfVxufVxuIl19
|