@ieeesa-npm/presentation 0.16.9 → 0.17.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/esm2022/lib/assets/constants.json +79 -4
- package/esm2022/lib/components/color-picker/color-picker.component.mjs +160 -9
- package/esm2022/lib/models/color-format.model.mjs +1 -1
- package/fesm2022/ieeesa-npm-presentation.mjs +426 -11
- package/fesm2022/ieeesa-npm-presentation.mjs.map +1 -1
- package/lib/components/chips/chips.component.d.ts +17 -3
- package/lib/components/color-picker/color-picker.component.d.ts +27 -4
- package/lib/components/file-upload/file-upload.component.d.ts +18 -7
- package/lib/models/color-format.model.d.ts +4 -0
- package/lib/services/file-upload.service.d.ts +17 -8
- package/package.json +1 -1
- package/src/lib/assets/constants.json +79 -4
|
@@ -252,12 +252,87 @@
|
|
|
252
252
|
"defaultTimeFormat": 12
|
|
253
253
|
},
|
|
254
254
|
"colorPicker": {
|
|
255
|
-
"
|
|
256
|
-
|
|
255
|
+
"label": {
|
|
256
|
+
"select": "Select",
|
|
257
|
+
"cancel": "Cancel"
|
|
258
|
+
},
|
|
259
|
+
"ariaLabel": {
|
|
260
|
+
"colorPicker": "Color picker.",
|
|
261
|
+
"next": "More colors.",
|
|
262
|
+
"back": "Back to color palettes.",
|
|
263
|
+
"select": "Select color.",
|
|
264
|
+
"cancel": "Closes the color picker.",
|
|
265
|
+
"hexCodeInput": "Input your color hex code.",
|
|
266
|
+
"palette": "Color palettes."
|
|
267
|
+
},
|
|
257
268
|
"defaultColor": "#F4F3F3",
|
|
258
|
-
"ariaLabel": "Color Picker",
|
|
259
269
|
"ariaDescription": "Choose background color.",
|
|
260
|
-
"ariaDescribedById": "ariaColorPicker"
|
|
270
|
+
"ariaDescribedById": "ariaColorPicker",
|
|
271
|
+
"paletteColors": [
|
|
272
|
+
{ "name": "IEEE SA Blue", "hexCode": "#00B5E2" },
|
|
273
|
+
{ "name": "IEEE Master Brand Blue", "hexCode": "#00629B" },
|
|
274
|
+
{ "name": "IEEE SA Medium Blue", "hexCode": "#4AC9E3" },
|
|
275
|
+
{ "name": "IEEE SA Dark Grey", "hexCode": "#63666A" },
|
|
276
|
+
{ "name": "IEEE SA Medium Grey", "hexCode": "#A7A8AA" },
|
|
277
|
+
{ "name": "IEEE SA Light Grey", "hexCode": "#D9D9D6" },
|
|
278
|
+
{ "name": "IEEE Brand Yellow", "hexCode": "#FFD100" },
|
|
279
|
+
{ "name": "IEEE Brand Orange", "hexCode": "#FFA300" },
|
|
280
|
+
{ "name": "IEEE Brand Red", "hexCode": "#BA0C2F" },
|
|
281
|
+
{ "name": "IEEE White", "hexCode": "#FFFFFF" },
|
|
282
|
+
{ "name": "IEEE Neutral 95", "hexCode": "#F1F1F1" },
|
|
283
|
+
{ "name": "IEEE Neutral Variant 95", "hexCode": "#F0F0F0" },
|
|
284
|
+
{ "name": "IEEE Primary Brand 95", "hexCode": "#EAF3F9" },
|
|
285
|
+
{ "name": "IEEE Primary 95", "hexCode": "#DAE9F1" },
|
|
286
|
+
{ "name": "IEEE SA Medium Blue 95", "hexCode": "#F8FCFF" },
|
|
287
|
+
{ "name": "IEEE Brand Yellow 95", "hexCode": "#FFFBEB" },
|
|
288
|
+
{ "name": "IEEE Brand Orange 95", "hexCode": "#FFF8EB" },
|
|
289
|
+
{ "name": "IEEE Error 99", "hexCode": "#FFFBF9" },
|
|
290
|
+
{ "name": "IEEE SA Dark Grey 90", "hexCode": "#CCD2DA" },
|
|
291
|
+
{ "name": "IEEE Neutral 90", "hexCode": "#DDDCE2" },
|
|
292
|
+
{ "name": "IEEE Neutral Variant 90", "hexCode": "#E3E3E3" },
|
|
293
|
+
{ "name": "IEEE Primary Brand 90", "hexCode": "#D2F0F8" },
|
|
294
|
+
{ "name": "IEEE primary 90", "hexCode": "#C0DEEF" },
|
|
295
|
+
{ "name": "IEEE SA Medium Blue 90", "hexCode": "#EDFAFC" },
|
|
296
|
+
{ "name": "IEEE Brand Yellow 90", "hexCode": "#FFF8D6" },
|
|
297
|
+
{ "name": "IEEE brand orange 90", "hexCode": "#FFEFD3" },
|
|
298
|
+
{ "name": "IEEE Error 90", "hexCode": "#F9DEDC" },
|
|
299
|
+
{ "name": "IEEE SA Dark Grey 80", "hexCode": "#B2B7BE" },
|
|
300
|
+
{ "name": "IEEE Neutral 80", "hexCode": "#C6C5CA" },
|
|
301
|
+
{ "name": "IEEE Neutral Variant 80", "hexCode": "#D1D1D1" },
|
|
302
|
+
{ "name": "IEEE Primary Brand 80", "hexCode": "#9EE3F4" },
|
|
303
|
+
{ "name": "IEEE Primary 80", "hexCode": "#8CBDDA" },
|
|
304
|
+
{ "name": "IEEE SA Medium Blue 80", "hexCode": "#DBF4F9" },
|
|
305
|
+
{ "name": "IEEE Brand Yellow 80", "hexCode": "#FFF0AA" },
|
|
306
|
+
{ "name": "IEEE Brand Orange 80", "hexCode": "#FFE0AA" },
|
|
307
|
+
{ "name": "IEEE Error 80", "hexCode": "#F2B8B5" },
|
|
308
|
+
{ "name": "IEEE SA Dark Grey 60", "hexCode": "#878B8F" },
|
|
309
|
+
{ "name": "IEEE Neutral 60", "hexCode": "#939094" },
|
|
310
|
+
{ "name": "IEEE Neutral Variant 60", "hexCode": "#9B9B9B" },
|
|
311
|
+
{ "name": "IEEE Primary Brand 60", "hexCode": "#52D2F1" },
|
|
312
|
+
{ "name": "IEEE Primary 60", "hexCode": "#4393C1" },
|
|
313
|
+
{ "name": "IEEE SA Medium Blue 60", "hexCode": "#B7E9F4" },
|
|
314
|
+
{ "name": "IEEE Brand Yellow 60", "hexCode": "#FFE156" },
|
|
315
|
+
{ "name": "IEEE Brand Orange 60", "hexCode": "#FFC256" },
|
|
316
|
+
{ "name": "IEEE Error 60", "hexCode": "#E46962" },
|
|
317
|
+
{ "name": "IEEE SA Dark Grey 30", "hexCode": "#4A4D50" },
|
|
318
|
+
{ "name": "IEEE Neutral 30", "hexCode": "#484649" },
|
|
319
|
+
{ "name": "IEEE Neutral Variant 30", "hexCode": "#49454F" },
|
|
320
|
+
{ "name": "IEEE Primary Brand 30", "hexCode": "#0188AA" },
|
|
321
|
+
{ "name": "IEEE Primary 30", "hexCode": "#004982" },
|
|
322
|
+
{ "name": "IEEE SA Medium Blue", "hexCode": "#3BA1B6" },
|
|
323
|
+
{ "name": "IEEE Brand Yellow 30", "hexCode": "#C2A002" },
|
|
324
|
+
{ "name": "IEEE Brand Orange 30", "hexCode": "#BC7902" },
|
|
325
|
+
{ "name": "IEEE Error 40", "hexCode": "#B3261E" },
|
|
326
|
+
{ "name": "IEEE SA Dark Grey 20", "hexCode": "#333436" },
|
|
327
|
+
{ "name": "IEEE Neutral 20", "hexCode": "#313033" },
|
|
328
|
+
{ "name": "IEEE Neutral Variant 20", "hexCode": "#322F37" },
|
|
329
|
+
{ "name": "IEEE Primary Brand 20", "hexCode": "#015E75" },
|
|
330
|
+
{ "name": "IEEE Primary 20", "hexCode": "#00314E" },
|
|
331
|
+
{ "name": "IEEE SA Medium Blue", "hexCode": "#2C7988" },
|
|
332
|
+
{ "name": "IEEE Brand Yellow 20", "hexCode": "#866E02" },
|
|
333
|
+
{ "name": "IEEE Brand Orange 20", "hexCode": "#825300" },
|
|
334
|
+
{ "name": "IEEE Error 20", "hexCode": "#680015" }
|
|
335
|
+
]
|
|
261
336
|
},
|
|
262
337
|
"fileUpload": {
|
|
263
338
|
"label": {
|
|
@@ -5,7 +5,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
|
5
5
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
6
|
import { FormErrorComponent } from '../form-error/form-error.component';
|
|
7
7
|
import { FormControlType } from '../../models/form-control-types.model';
|
|
8
|
-
import { ColorFormat, ColorsAnimation } from '../../models/color-format.model';
|
|
8
|
+
import { ColorFormat, ColorsAnimation, } from '../../models/color-format.model';
|
|
9
9
|
import { FormSupportTextComponent } from '../form-support-text/form-support-text.component';
|
|
10
10
|
import * as constants from '../../assets/constants.json';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
@@ -17,20 +17,25 @@ import * as i5 from "ngx-colors";
|
|
|
17
17
|
export class ColorPickerComponent {
|
|
18
18
|
constructor(
|
|
19
19
|
// eslint-disable-next-line no-unused-vars
|
|
20
|
+
elementRef,
|
|
21
|
+
// eslint-disable-next-line no-unused-vars
|
|
20
22
|
formUtilityService // eslint-disable-next-line no-empty-function
|
|
21
23
|
) {
|
|
24
|
+
this.elementRef = elementRef;
|
|
22
25
|
this.formUtilityService = formUtilityService;
|
|
23
26
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
24
|
-
this.colorPickerTexts = constants;
|
|
27
|
+
this.colorPickerTexts = constants?.colorPicker;
|
|
28
|
+
this.paletteColors = this.colorPickerTexts?.paletteColors;
|
|
25
29
|
this.colorPickerChange = new EventEmitter();
|
|
26
30
|
this.colorPickerSliderChange = new EventEmitter();
|
|
27
31
|
this.canShowPalette = false;
|
|
32
|
+
this.palette = this.paletteColors?.map((color) => color.hexCode);
|
|
28
33
|
this.overlayClassName = 'ieeesa-color-picker__overlay';
|
|
29
34
|
this.colorFormat = ColorFormat.hex;
|
|
30
35
|
this.colorAnimation = ColorsAnimation.popup;
|
|
31
36
|
this.formControlName = 'colorPicker';
|
|
32
|
-
this.paletteSelectLabel = this.colorPickerTexts?.
|
|
33
|
-
this.paletteCancelLabel = this.colorPickerTexts?.
|
|
37
|
+
this.paletteSelectLabel = this.colorPickerTexts?.label?.select;
|
|
38
|
+
this.paletteCancelLabel = this.colorPickerTexts?.label?.cancel;
|
|
34
39
|
this.isColorCodeLabelNeeded = true;
|
|
35
40
|
this.isArrowIconNeeded = true;
|
|
36
41
|
this.canHideTextInput = false;
|
|
@@ -78,6 +83,7 @@ export class ColorPickerComponent {
|
|
|
78
83
|
*/
|
|
79
84
|
onOpenPalette() {
|
|
80
85
|
this.canShowPalette = true;
|
|
86
|
+
this.colorPickerEventHandlers(true);
|
|
81
87
|
}
|
|
82
88
|
/**
|
|
83
89
|
* Sets canShowPalette to false when the palette is closed.
|
|
@@ -86,6 +92,9 @@ export class ColorPickerComponent {
|
|
|
86
92
|
*/
|
|
87
93
|
onClosePalette() {
|
|
88
94
|
this.canShowPalette = false;
|
|
95
|
+
this.elementRef?.nativeElement
|
|
96
|
+
?.querySelector('.ieeesa-color-picker__toggle-icon')
|
|
97
|
+
?.focus();
|
|
89
98
|
}
|
|
90
99
|
/**
|
|
91
100
|
* Gets triggered when the the alpha, hue or Lightness sliders are changed
|
|
@@ -106,8 +115,150 @@ export class ColorPickerComponent {
|
|
|
106
115
|
else
|
|
107
116
|
this.colorPickerDirective?.closePanel();
|
|
108
117
|
}
|
|
109
|
-
|
|
110
|
-
|
|
118
|
+
/**
|
|
119
|
+
* Listening the color picker events to achieve the accessibility for color palette.
|
|
120
|
+
* canAddListener false remove the event listeners which we calls in ngDestroy,
|
|
121
|
+
* canAddListener true adding the event listeners while opening the color palette.
|
|
122
|
+
* @memberof ColorPickerComponent
|
|
123
|
+
* @param {boolean} canAddListener
|
|
124
|
+
* @returns {void}
|
|
125
|
+
*/
|
|
126
|
+
colorPickerEventHandlers(canAddListener) {
|
|
127
|
+
const paletteContainer = this.colorPickerDirective?.panelRef?.location?.nativeElement?.querySelector('ngx-colors-panel .opened');
|
|
128
|
+
setTimeout(() => {
|
|
129
|
+
if (paletteContainer) {
|
|
130
|
+
paletteContainer.role = 'dialog';
|
|
131
|
+
paletteContainer.tabIndex = 0;
|
|
132
|
+
paletteContainer.ariaLabel = this.colorPickerTexts?.ariaLabel?.palette;
|
|
133
|
+
const colorPallettes = paletteContainer.querySelectorAll('.colors .circle.wrapper.color');
|
|
134
|
+
const moreColorsArrowButton = paletteContainer.querySelector('.colors .circle.button');
|
|
135
|
+
const lastElement = paletteContainer.querySelector('.g-input input');
|
|
136
|
+
if (colorPallettes?.length) {
|
|
137
|
+
const colorPallettesList = Array.from(colorPallettes);
|
|
138
|
+
colorPallettesList.push(moreColorsArrowButton);
|
|
139
|
+
colorPallettesList.push(lastElement);
|
|
140
|
+
const keyDownHandlerForColorPalettes = (event) => {
|
|
141
|
+
this.colorPickerKeyDownHandler(colorPallettesList, event);
|
|
142
|
+
};
|
|
143
|
+
colorPallettesList?.forEach((element, index) => {
|
|
144
|
+
if (index !== colorPallettesList?.length - 1) {
|
|
145
|
+
element.tabIndex = 0;
|
|
146
|
+
element.role = 'button';
|
|
147
|
+
element.ariaLabel = this.paletteColors[index]?.name;
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
element.ariaLabel =
|
|
151
|
+
this.colorPickerTexts?.ariaLabel?.hexCodeInput;
|
|
152
|
+
}
|
|
153
|
+
if (index === 0)
|
|
154
|
+
element.focus();
|
|
155
|
+
if (index === colorPallettesList?.length - 2) {
|
|
156
|
+
element.ariaLabel = this.colorPickerTexts?.ariaLabel?.next;
|
|
157
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
158
|
+
const clickHandlerForMoreColorsButton = (event) => {
|
|
159
|
+
setTimeout(() => {
|
|
160
|
+
const list = paletteContainer?.querySelector('.nav-wrapper')?.childNodes;
|
|
161
|
+
const gradientButtons = [];
|
|
162
|
+
list?.forEach((element) => gradientButtons.push(element));
|
|
163
|
+
if (gradientButtons?.length) {
|
|
164
|
+
const lastElement = paletteContainer.querySelector('.g-input input');
|
|
165
|
+
gradientButtons.push(lastElement);
|
|
166
|
+
gradientButtons?.forEach((element, index) => {
|
|
167
|
+
if (index === 0) {
|
|
168
|
+
element.ariaLabel =
|
|
169
|
+
this.colorPickerTexts?.ariaLabel?.back;
|
|
170
|
+
element.focus();
|
|
171
|
+
const clickHandlerForGradientPreviousButton = (
|
|
172
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
173
|
+
event) => {
|
|
174
|
+
this.onOpenPalette();
|
|
175
|
+
event.preventDefault();
|
|
176
|
+
};
|
|
177
|
+
const keyDownHandlerForGradientButtons = (event) => {
|
|
178
|
+
this.colorPickerKeyDownHandler(gradientButtons, event);
|
|
179
|
+
};
|
|
180
|
+
element?.removeEventListener('click', clickHandlerForGradientPreviousButton);
|
|
181
|
+
element?.removeEventListener('keydown', clickHandlerForGradientPreviousButton);
|
|
182
|
+
if (canAddListener) {
|
|
183
|
+
element?.addEventListener('click', clickHandlerForGradientPreviousButton);
|
|
184
|
+
element?.addEventListener('keydown', keyDownHandlerForGradientButtons);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
element.role = 'button';
|
|
188
|
+
element.tabIndex = 0;
|
|
189
|
+
if (element?.innerText?.trim() ===
|
|
190
|
+
this.colorPickerTexts?.label?.select) {
|
|
191
|
+
element.ariaLabel =
|
|
192
|
+
this.colorPickerTexts?.ariaLabel?.select;
|
|
193
|
+
element?.classList?.add('select');
|
|
194
|
+
}
|
|
195
|
+
else if (element?.innerText?.trim() ===
|
|
196
|
+
this.colorPickerTexts?.label?.cancel) {
|
|
197
|
+
element.ariaLabel =
|
|
198
|
+
this.colorPickerTexts?.ariaLabel?.cancel;
|
|
199
|
+
element?.classList?.add('cancel');
|
|
200
|
+
}
|
|
201
|
+
if (index === gradientButtons?.length - 1) {
|
|
202
|
+
element.role = '';
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
event.preventDefault();
|
|
207
|
+
}, 250);
|
|
208
|
+
};
|
|
209
|
+
element.removeEventListener('click', clickHandlerForMoreColorsButton);
|
|
210
|
+
if (canAddListener) {
|
|
211
|
+
element.addEventListener('click', clickHandlerForMoreColorsButton);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
element.removeEventListener('keydown', keyDownHandlerForColorPalettes);
|
|
215
|
+
if (canAddListener) {
|
|
216
|
+
element.addEventListener('keydown', keyDownHandlerForColorPalettes);
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}, 250);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Listens keydown event handles to make the palette focusable.
|
|
225
|
+
* @memberof ColorPickerComponent
|
|
226
|
+
* @param {HTMLElement[]} colorPallettesList
|
|
227
|
+
* @param {KeyboardEvent} event
|
|
228
|
+
* @returns {void}
|
|
229
|
+
*/
|
|
230
|
+
colorPickerKeyDownHandler(colorPallettesList, event) {
|
|
231
|
+
const firstElement = colorPallettesList[0];
|
|
232
|
+
const lastElement = colorPallettesList[colorPallettesList.length - 1];
|
|
233
|
+
if (event.code === 'Tab') {
|
|
234
|
+
if (event.shiftKey) {
|
|
235
|
+
if (document.activeElement === firstElement) {
|
|
236
|
+
lastElement.focus();
|
|
237
|
+
event.preventDefault();
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
else if (document.activeElement === lastElement) {
|
|
241
|
+
firstElement.focus();
|
|
242
|
+
event.preventDefault();
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
if (event.code === 'Space' || event.code === 'Enter') {
|
|
246
|
+
const targetElement = event.target;
|
|
247
|
+
if (targetElement?.classList?.contains('button'))
|
|
248
|
+
targetElement?.dispatchEvent(new Event('click'));
|
|
249
|
+
else
|
|
250
|
+
targetElement?.firstChild?.dispatchEvent(new Event('click'));
|
|
251
|
+
event.preventDefault();
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Removing the active listeners while component get destroyed.
|
|
256
|
+
*/
|
|
257
|
+
ngOnDestroy() {
|
|
258
|
+
this.colorPickerEventHandlers(false);
|
|
259
|
+
}
|
|
260
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColorPickerComponent, deps: [{ token: i0.ElementRef }, { token: i1.FormUtilityService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
261
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColorPickerComponent, isStandalone: true, selector: "ieeesa-color-picker", inputs: { defaultColor: "defaultColor", palette: "palette", overlayClassName: "overlayClassName", colorFormat: "colorFormat", colorAnimation: "colorAnimation", formControlName: "formControlName", paletteSelectLabel: "paletteSelectLabel", paletteCancelLabel: "paletteCancelLabel", colorPickerLabel: "colorPickerLabel", isColorCodeLabelNeeded: "isColorCodeLabelNeeded", isArrowIconNeeded: "isArrowIconNeeded", canHideTextInput: "canHideTextInput", canHideColorPicker: "canHideColorPicker" }, outputs: { colorPickerChange: "colorPickerChange", colorPickerSliderChange: "colorPickerSliderChange" }, viewQueries: [{ propertyName: "colorPickerDirective", first: true, predicate: NgxColorsTriggerDirective, descendants: true, static: true }], ngImport: i0, template: "<div\r\n [formGroup]=\"group\"\r\n [ngClass]=\"\r\n config?.isLabelAlignedLeft\r\n ? 'ieeesa-color-picker__label-left'\r\n : 'ieeesa-color-picker__label-top'\r\n \"\r\n>\r\n <mat-label\r\n class=\"ieeesa-body-sm-14 ieeesa-color-picker__label\"\r\n *ngIf=\"colorPickerLabel\"\r\n >{{ colorPickerLabel }}</mat-label\r\n >\r\n <div class=\"d-flex\">\r\n <ngx-colors\r\n class=\"ieeesa-color-picker\"\r\n ngx-colors-trigger\r\n [acceptLabel]=\"paletteSelectLabel\"\r\n [cancelLabel]=\"paletteCancelLabel\"\r\n [palette]=\"palette\"\r\n (input)=\"inputChange($event)\"\r\n (open)=\"onOpenPalette()\"\r\n (close)=\"onClosePalette()\"\r\n (slider)=\"onSliderChange($event)\"\r\n [overlayClassName]=\"overlayClassName\"\r\n [formControlName]=\"config.controlName\"\r\n [format]=\"colorFormat\"\r\n [hideTextInput]=\"canHideTextInput\"\r\n [colorsAnimation]=\"colorAnimation\"\r\n [hideColorPicker]=\"canHideColorPicker\"\r\n [ariaLabel]=\"colorPickerTexts?.ariaLabel?.colorPicker\"\r\n [ariaDescription]=\"colorPickerTexts?.ariaDescription\"\r\n >\r\n </ngx-colors>\r\n <button\r\n class=\"ieeesa-color-picker__toggle-icon\"\r\n *ngIf=\"isArrowIconNeeded\"\r\n type=\"button\"\r\n (click)=\"togglePalette()\"\r\n [attr.aria-label]=\"colorPickerTexts?.ariaLabel?.colorPicker\"\r\n [attr.aria-describedby]=\"colorPickerTexts?.ariaDescribedById\"\r\n >\r\n <i\r\n class=\"fa-solid\"\r\n [ngClass]=\"canShowPalette ? 'fa-caret-up' : 'fa-caret-down'\"\r\n ></i>\r\n </button>\r\n <span\r\n class=\"ieeesa-color-picker--selected ieeesa-body-md-14\"\r\n *ngIf=\"isColorCodeLabelNeeded && defaultColor\"\r\n >{{ defaultColor }}</span\r\n >\r\n </div>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n</div>\r\n", styles: [".ieeesa-color-picker .preview{border-radius:0!important;box-shadow:none!important;padding:0!important}.ieeesa-color-picker .preview .preview-background{background-image:none!important}.ieeesa-color-picker .preview .circle{border-radius:0!important;height:30px!important;width:30px!important}.ieeesa-color-picker .preview .circle.colornull{background:linear-gradient(135deg,#ecececb3 0% 45%,#f4f3f3 50%,#ecececb3 55% 100%)!important}.ieeesa-color-picker__label-left{display:flex}.ieeesa-color-picker__label-top{display:block}.ieeesa-color-picker--selected{border:1px solid #000000;padding:6px 8px 6px 12px;border-radius:2px}.ieeesa-color-picker__toggle-icon{border:none;background:#fff}.ieeesa-color-picker__overlay .opened .colors .circle,.ieeesa-color-picker__overlay .opened .colors .circle .selected{border-radius:0!important}.ieeesa-color-picker__overlay .opened button.select:focus,.ieeesa-color-picker__overlay .opened button.cancel:focus{border:3px solid #000000}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: NgxColorsModule }, { kind: "component", type: i5.NgxColorsComponent, selector: "ngx-colors" }, { kind: "directive", type: i5.NgxColorsTriggerDirective, selector: "[ngx-colors-trigger]", inputs: ["colorsAnimation", "palette", "format", "position", "hideTextInput", "hideColorPicker", "attachTo", "overlayClassName", "colorPickerControls", "acceptLabel", "cancelLabel"], outputs: ["change", "input", "slider", "close", "open"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "component", type: FormSupportTextComponent, selector: "ieeesa-form-support-text", inputs: ["formGroup", "config"], outputs: ["supportTextLinkClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
111
262
|
}
|
|
112
263
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColorPickerComponent, decorators: [{
|
|
113
264
|
type: Component,
|
|
@@ -119,8 +270,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
119
270
|
ReactiveFormsModule,
|
|
120
271
|
FormErrorComponent,
|
|
121
272
|
FormSupportTextComponent,
|
|
122
|
-
], encapsulation: ViewEncapsulation.None, template: "<div\r\n [formGroup]=\"group\"\r\n [ngClass]=\"\r\n config?.isLabelAlignedLeft\r\n ? 'ieeesa-color-picker__label-left'\r\n : 'ieeesa-color-picker__label-top'\r\n \"\r\n>\r\n <mat-label\r\n class=\"ieeesa-body-sm-14 ieeesa-color-picker__label\"\r\n *ngIf=\"colorPickerLabel\"\r\n >{{ colorPickerLabel }}</mat-label\r\n >\r\n <div class=\"d-flex\">\r\n <ngx-colors\r\n class=\"ieeesa-color-picker\"\r\n ngx-colors-trigger\r\n [acceptLabel]=\"paletteSelectLabel\"\r\n [cancelLabel]=\"paletteCancelLabel\"\r\n [palette]=\"palette\"\r\n (input)=\"inputChange($event)\"\r\n (open)=\"onOpenPalette()\"\r\n (close)=\"onClosePalette()\"\r\n (slider)=\"onSliderChange($event)\"\r\n [overlayClassName]=\"overlayClassName\"\r\n [formControlName]=\"config.controlName\"\r\n [format]=\"colorFormat\"\r\n [hideTextInput]=\"canHideTextInput\"\r\n [colorsAnimation]=\"colorAnimation\"\r\n [hideColorPicker]=\"canHideColorPicker\"\r\n [ariaLabel]=\"colorPickerTexts?.colorPicker
|
|
123
|
-
}], ctorParameters: function () { return [{ type: i1.FormUtilityService }]; }, propDecorators: { colorPickerDirective: [{
|
|
273
|
+
], encapsulation: ViewEncapsulation.None, template: "<div\r\n [formGroup]=\"group\"\r\n [ngClass]=\"\r\n config?.isLabelAlignedLeft\r\n ? 'ieeesa-color-picker__label-left'\r\n : 'ieeesa-color-picker__label-top'\r\n \"\r\n>\r\n <mat-label\r\n class=\"ieeesa-body-sm-14 ieeesa-color-picker__label\"\r\n *ngIf=\"colorPickerLabel\"\r\n >{{ colorPickerLabel }}</mat-label\r\n >\r\n <div class=\"d-flex\">\r\n <ngx-colors\r\n class=\"ieeesa-color-picker\"\r\n ngx-colors-trigger\r\n [acceptLabel]=\"paletteSelectLabel\"\r\n [cancelLabel]=\"paletteCancelLabel\"\r\n [palette]=\"palette\"\r\n (input)=\"inputChange($event)\"\r\n (open)=\"onOpenPalette()\"\r\n (close)=\"onClosePalette()\"\r\n (slider)=\"onSliderChange($event)\"\r\n [overlayClassName]=\"overlayClassName\"\r\n [formControlName]=\"config.controlName\"\r\n [format]=\"colorFormat\"\r\n [hideTextInput]=\"canHideTextInput\"\r\n [colorsAnimation]=\"colorAnimation\"\r\n [hideColorPicker]=\"canHideColorPicker\"\r\n [ariaLabel]=\"colorPickerTexts?.ariaLabel?.colorPicker\"\r\n [ariaDescription]=\"colorPickerTexts?.ariaDescription\"\r\n >\r\n </ngx-colors>\r\n <button\r\n class=\"ieeesa-color-picker__toggle-icon\"\r\n *ngIf=\"isArrowIconNeeded\"\r\n type=\"button\"\r\n (click)=\"togglePalette()\"\r\n [attr.aria-label]=\"colorPickerTexts?.ariaLabel?.colorPicker\"\r\n [attr.aria-describedby]=\"colorPickerTexts?.ariaDescribedById\"\r\n >\r\n <i\r\n class=\"fa-solid\"\r\n [ngClass]=\"canShowPalette ? 'fa-caret-up' : 'fa-caret-down'\"\r\n ></i>\r\n </button>\r\n <span\r\n class=\"ieeesa-color-picker--selected ieeesa-body-md-14\"\r\n *ngIf=\"isColorCodeLabelNeeded && defaultColor\"\r\n >{{ defaultColor }}</span\r\n >\r\n </div>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n</div>\r\n", styles: [".ieeesa-color-picker .preview{border-radius:0!important;box-shadow:none!important;padding:0!important}.ieeesa-color-picker .preview .preview-background{background-image:none!important}.ieeesa-color-picker .preview .circle{border-radius:0!important;height:30px!important;width:30px!important}.ieeesa-color-picker .preview .circle.colornull{background:linear-gradient(135deg,#ecececb3 0% 45%,#f4f3f3 50%,#ecececb3 55% 100%)!important}.ieeesa-color-picker__label-left{display:flex}.ieeesa-color-picker__label-top{display:block}.ieeesa-color-picker--selected{border:1px solid #000000;padding:6px 8px 6px 12px;border-radius:2px}.ieeesa-color-picker__toggle-icon{border:none;background:#fff}.ieeesa-color-picker__overlay .opened .colors .circle,.ieeesa-color-picker__overlay .opened .colors .circle .selected{border-radius:0!important}.ieeesa-color-picker__overlay .opened button.select:focus,.ieeesa-color-picker__overlay .opened button.cancel:focus{border:3px solid #000000}\n"] }]
|
|
274
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormUtilityService }]; }, propDecorators: { colorPickerDirective: [{
|
|
124
275
|
type: ViewChild,
|
|
125
276
|
args: [NgxColorsTriggerDirective, { static: true }]
|
|
126
277
|
}], colorPickerChange: [{
|
|
@@ -154,4 +305,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
154
305
|
}], canHideColorPicker: [{
|
|
155
306
|
type: Input
|
|
156
307
|
}] } });
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLHlCQUF5QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hFLE9BQU8sRUFBYSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUc1RixPQUFPLEtBQUssU0FBUyxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBaUJ6RCxNQUFNLE9BQU8sb0JBQW9CO0lBdUIvQjtJQUNFLDBDQUEwQztJQUNsQyxrQkFBc0MsQ0FBQyw2Q0FBNkM7O1FBQXBGLHVCQUFr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LElBQUksRUFBRTtnQkFNNUMsaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLHVCQUF1QjtzQkFBaEMsTUFBTTtnQkFDRSxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ3hDb2xvcnNNb2R1bGUsIE5neENvbG9yc1RyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICduZ3gtY29sb3JzJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IEZvcm1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS1jb250cm9sLXR5cGVzLm1vZGVsJztcclxuaW1wb3J0IHsgQ29sb3JGb3JtYXQsIENvbG9yc0FuaW1hdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9jb2xvci1mb3JtYXQubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLXN1cHBvcnQtdGV4dC9mb3JtLXN1cHBvcnQtdGV4dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9maWVsZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3JtLXV0aWxpdHkuc2VydmljZSc7XHJcbmltcG9ydCAqIGFzIGNvbnN0YW50cyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1jb2xvci1waWNrZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBOZ3hDb2xvcnNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybUVycm9yQ29tcG9uZW50LFxyXG4gICAgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29sb3ItcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbG9yUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKE5neENvbG9yc1RyaWdnZXJEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgY29sb3JQaWNrZXJEaXJlY3RpdmUhOiBOZ3hDb2xvcnNUcmlnZ2VyRGlyZWN0aXZlO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY29sb3JQaWNrZXJUZXh0czogYW55ID0gY29uc3RhbnRzO1xyXG4gIGdyb3VwITogRm9ybUdyb3VwO1xyXG4gIGNvbmZpZyE6IEZpZWxkQ29uZmlnO1xyXG4gIEBPdXRwdXQoKSBjb2xvclBpY2tlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBjb2xvclBpY2tlclNsaWRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBJbnB1dCgpIGRlZmF1bHRDb2xvciE6IHN0cmluZztcclxuICBjYW5TaG93UGFsZXR0ZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHBhbGV0dGUhOiBzdHJpbmdbXTtcclxuICBASW5wdXQoKSBvdmVybGF5Q2xhc3NOYW1lID0gJ2llZWVzYS1jb2xvci1waWNrZXJfX292ZXJsYXknO1xyXG4gIEBJbnB1dCgpIGNvbG9yRm9ybWF0ID0gQ29sb3JGb3JtYXQuaGV4O1xyXG4gIEBJbnB1dCgpIGNvbG9yQW5pbWF0aW9uID0gQ29sb3JzQW5pbWF0aW9uLnBvcHVwO1xyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZSA9ICdjb2xvclBpY2tlcic7XHJcbiAgQElucHV0KCkgcGFsZXR0ZVNlbGVjdExhYmVsID0gdGhpcy5jb2xvclBpY2tlclRleHRzPy5jb2xvclBpY2tlcj8uc2VsZWN0TGFiZWw7XHJcbiAgQElucHV0KCkgcGFsZXR0ZUNhbmNlbExhYmVsID0gdGhpcy5jb2xvclBpY2tlclRleHRzPy5jb2xvclBpY2tlcj8uY2FuY2VsTGFiZWw7XHJcbiAgQElucHV0KCkgY29sb3JQaWNrZXJMYWJlbCE6IHN0cmluZztcclxuICBASW5wdXQoKSBpc0NvbG9yQ29kZUxhYmVsTmVlZGVkID0gdHJ1ZTtcclxuICBASW5wdXQoKSBpc0Fycm93SWNvbk5lZWRlZCA9IHRydWU7XHJcbiAgQElucHV0KCkgY2FuSGlkZVRleHRJbnB1dCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNhbkhpZGVDb2xvclBpY2tlciA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGZvcm1VdGlsaXR5U2VydmljZTogRm9ybVV0aWxpdHlTZXJ2aWNlIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eS1mdW5jdGlvblxyXG4gICkge31cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZ3JvdXAgPVxyXG4gICAgICB0aGlzLmdyb3VwID8/IHRoaXMuZm9ybVV0aWxpdHlTZXJ2aWNlLmdldEZvcm1Hcm91cCh0aGlzLmZvcm1Db250cm9sTmFtZSk7XHJcbiAgICB0aGlzLmNvbmZpZyA9XHJcbiAgICAgIHRoaXMuY29uZmlnID8/XHJcbiAgICAgIHRoaXMuZm9ybVV0aWxpdHlTZXJ2aWNlLmdldEZvcm1GaWVsZENvbmZpZyhcclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sTmFtZSxcclxuICAgICAgICBGb3JtQ29udHJvbFR5cGUuQ09MT1JfUElDS0VSXHJcbiAgICAgICk7XHJcbiAgICBpZiAodGhpcy5jb25maWcpIHtcclxuICAgICAgdGhpcy5jb2xvclBpY2tlckxhYmVsID0gdGhpcy5jb25maWc/LmxhYmVsID8/IHRoaXMuY29sb3JQaWNrZXJMYWJlbDtcclxuICAgICAgdGhpcy5wYWxldHRlID0gdGhpcy5jb25maWc/LnBhbGV0dGUgPz8gdGhpcy5wYWxldHRlO1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb2xvciA9IHRoaXMuY29uZmlnPy5kZWZhdWx0Q29sb3IgPz8gdGhpcy5kZWZhdWx0Q29sb3I7XHJcbiAgICAgIHRoaXMuY29sb3JGb3JtYXQgPSB0aGlzLmNvbmZpZz8uY29sb3JGb3JtYXQgPz8gdGhpcy5jb2xvckZvcm1hdDtcclxuICAgICAgdGhpcy5vdmVybGF5Q2xhc3NOYW1lID1cclxuICAgICAgICB0aGlzLmNvbmZpZz8ub3ZlcmxheUNsYXNzTmFtZSA/PyB0aGlzLm92ZXJsYXlDbGFzc05hbWU7XHJcbiAgICAgIHRoaXMuaXNDb2xvckNvZGVMYWJlbE5lZWRlZCA9XHJcbiAgICAgICAgdGhpcy5jb25maWc/LmlzQ29sb3JDb2RlTGFiZWxOZWVkZWQgPz8gdGhpcy5pc0NvbG9yQ29kZUxhYmVsTmVlZGVkO1xyXG4gICAgICB0aGlzLmlzQXJyb3dJY29uTmVlZGVkID1cclxuICAgICAgICB0aGlzLmNvbmZpZz8uaXNBcnJvd0ljb25OZWVkZWQgPz8gdGhpcy5pc0Fycm93SWNvbk5lZWRlZDtcclxuICAgICAgdGhpcy5jYW5IaWRlVGV4dElucHV0ID1cclxuICAgICAgICB0aGlzLmNvbmZpZz8uY2FuSGlkZVRleHRJbnB1dCA/PyB0aGlzLmNhbkhpZGVUZXh0SW5wdXQ7XHJcbiAgICAgIHRoaXMuY2FuSGlkZUNvbG9yUGlja2VyID1cclxuICAgICAgICB0aGlzLmNvbmZpZz8uY2FuSGlkZUNvbG9yUGlja2VyID8/IHRoaXMuY2FuSGlkZUNvbG9yUGlja2VyO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ncm91cC5nZXQodGhpcy5jb25maWcuY29udHJvbE5hbWUpPy5zZXRWYWx1ZSh0aGlzLmRlZmF1bHRDb2xvcik7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGNvbG9yIHRvIGZvcm0gZ3JvdXAgY29udHJvbC5cclxuICAgKiBAbWVtYmVyb2YgQ29sb3JQaWNrZXJDb21wb25lbnRcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29sb3JcclxuICAgKiBAcmV0dXJucyB7dm9pZH1cclxuICAgKi9cclxuICBpbnB1dENoYW5nZShjb2xvcjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlZmF1bHRDb2xvciA9IGNvbG9yO1xyXG4gICAgdGhpcy5ncm91cD8uZ2V0KHRoaXMuY29uZmlnPy5jb250cm9sTmFtZSk/LnNldFZhbHVlKGNvbG9yKTtcclxuICAgIHRoaXMuY29sb3JQaWNrZXJDaGFuZ2UuZW1pdChjb2xvcik7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNldHMgY2FuU2hvd1BhbGV0dGUgdG8gdHJ1ZSB3aGVuIHRoZSBwYWxldHRlIGlzIG9wZW5lZC5cclxuICAgKiBAbWVtYmVyb2YgQ29sb3JQaWNrZXJDb21wb25lbnRcclxuICAgKiBAcmV0dXJucyB7dm9pZH1cclxuICAgKi9cclxuICBvbk9wZW5QYWxldHRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYW5TaG93UGFsZXR0ZSA9IHRydWU7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNldHMgY2FuU2hvd1BhbGV0dGUgdG8gZmFsc2Ugd2hlbiB0aGUgcGFsZXR0ZSBpcyBjbG9zZWQuXHJcbiAgICogQG1lbWJlcm9mIENvbG9yUGlja2VyQ29tcG9uZW50XHJcbiAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICovXHJcbiAgb25DbG9zZVBhbGV0dGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhblNob3dQYWxldHRlID0gZmFsc2U7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEdldHMgdHJpZ2dlcmVkIHdoZW4gdGhlIHRoZSBhbHBoYSwgaHVlIG9yIExpZ2h0bmVzcyBzbGlkZXJzIGFyZSBjaGFuZ2VkXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbG9yXHJcbiAgICovXHJcbiAgb25TbGlkZXJDaGFuZ2UoY29sb3I6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb2xvclBpY2tlclNsaWRlckNoYW5nZS5lbWl0KGNvbG9yKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVG9nZ2xlcyB0aGUgcGFsZXR0ZSBwYW5lbC5cclxuICAgKiBAbWVtYmVyb2YgQ29sb3JQaWNrZXJDb21wb25lbnRcclxuICAgKiBAcmV0dXJucyB7dm9pZH1cclxuICAgKi9cclxuICB0b2dnbGVQYWxldHRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYW5TaG93UGFsZXR0ZSA9ICF0aGlzLmNhblNob3dQYWxldHRlO1xyXG4gICAgaWYgKHRoaXMuY2FuU2hvd1BhbGV0dGUpIHRoaXMuY29sb3JQaWNrZXJEaXJlY3RpdmU/Lm9wZW5QYW5lbCgpO1xyXG4gICAgZWxzZSB0aGlzLmNvbG9yUGlja2VyRGlyZWN0aXZlPy5jbG9zZVBhbmVsKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcclxuICBbbmdDbGFzc109XCJcclxuICAgIGNvbmZpZz8uaXNMYWJlbEFsaWduZWRMZWZ0XHJcbiAgICAgID8gJ2llZWVzYS1jb2xvci1waWNrZXJfX2xhYmVsLWxlZnQnXHJcbiAgICAgIDogJ2llZWVzYS1jb2xvci1waWNrZXJfX2xhYmVsLXRvcCdcclxuICBcIlxyXG4+XHJcbiAgPG1hdC1sYWJlbFxyXG4gICAgY2xhc3M9XCJpZWVlc2EtYm9keS1zbS0xNCBpZWVlc2EtY29sb3ItcGlja2VyX19sYWJlbFwiXHJcbiAgICAqbmdJZj1cImNvbG9yUGlja2VyTGFiZWxcIlxyXG4gICAgPnt7IGNvbG9yUGlja2VyTGFiZWwgfX08L21hdC1sYWJlbFxyXG4gID5cclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICA8bmd4LWNvbG9yc1xyXG4gICAgICBjbGFzcz1cImllZWVzYS1jb2xvci1waWNrZXJcIlxyXG4gICAgICBuZ3gtY29sb3JzLXRyaWdnZXJcclxuICAgICAgW2FjY2VwdExhYmVsXT1cInBhbGV0dGVTZWxlY3RMYWJlbFwiXHJcbiAgICAgIFtjYW5jZWxMYWJlbF09XCJwYWxldHRlQ2FuY2VsTGFiZWxcIlxyXG4gICAgICBbcGFsZXR0ZV09XCJwYWxldHRlXCJcclxuICAgICAgKGlucHV0KT1cImlucHV0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICAob3Blbik9XCJvbk9wZW5QYWxldHRlKClcIlxyXG4gICAgICAoY2xvc2UpPVwib25DbG9zZVBhbGV0dGUoKVwiXHJcbiAgICAgIChzbGlkZXIpPVwib25TbGlkZXJDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIFtvdmVybGF5Q2xhc3NOYW1lXT1cIm92ZXJsYXlDbGFzc05hbWVcIlxyXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgIFtmb3JtYXRdPVwiY29sb3JGb3JtYXRcIlxyXG4gICAgICBbaGlkZVRleHRJbnB1dF09XCJjYW5IaWRlVGV4dElucHV0XCJcclxuICAgICAgW2NvbG9yc0FuaW1hdGlvbl09XCJjb2xvckFuaW1hdGlvblwiXHJcbiAgICAgIFtoaWRlQ29sb3JQaWNrZXJdPVwiY2FuSGlkZUNvbG9yUGlja2VyXCJcclxuICAgICAgW2FyaWFMYWJlbF09XCJjb2xvclBpY2tlclRleHRzPy5jb2xvclBpY2tlcj8uYXJpYUxhYmVsXCJcclxuICAgICAgW2FyaWFEZXNjcmlwdGlvbl09XCJjb2xvclBpY2tlclRleHRzPy5jb2xvclBpY2tlcj8uYXJpYURlc2NyaXB0aW9uXCJcclxuICAgID5cclxuICAgIDwvbmd4LWNvbG9ycz5cclxuICAgIDxidXR0b25cclxuICAgICAgY2xhc3M9XCJpZWVlc2EtY29sb3ItcGlja2VyX190b2dnbGUtaWNvblwiXHJcbiAgICAgICpuZ0lmPVwiaXNBcnJvd0ljb25OZWVkZWRcIlxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgKGNsaWNrKT1cInRvZ2dsZVBhbGV0dGUoKVwiXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29sb3JQaWNrZXJUZXh0cz8uY29sb3JQaWNrZXI/LmFyaWFMYWJlbFwiXHJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiY29sb3JQaWNrZXJUZXh0cz8uY29sb3JQaWNrZXI/LmFyaWFEZXNjcmliZWRCeUlkXCJcclxuICAgID5cclxuICAgICAgPGlcclxuICAgICAgICBjbGFzcz1cImZhLXNvbGlkXCJcclxuICAgICAgICBbbmdDbGFzc109XCJjYW5TaG93UGFsZXR0ZSA/ICdmYS1jYXJldC11cCcgOiAnZmEtY2FyZXQtZG93bidcIlxyXG4gICAgICA+PC9pPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8c3BhblxyXG4gICAgICBjbGFzcz1cImllZWVzYS1jb2xvci1waWNrZXItLXNlbGVjdGVkIGllZWVzYS1ib2R5LW1kLTE0XCJcclxuICAgICAgKm5nSWY9XCJpc0NvbG9yQ29kZUxhYmVsTmVlZGVkICYmIGRlZmF1bHRDb2xvclwiXHJcbiAgICAgID57eyBkZWZhdWx0Q29sb3IgfX08L3NwYW5cclxuICAgID5cclxuICA8L2Rpdj5cclxuICA8aWVlZXNhLWZvcm0tZXJyb3IgW2Zvcm1Hcm91cF09XCJncm91cFwiIFtjb25maWddPVwiY29uZmlnXCI+IDwvaWVlZXNhLWZvcm0tZXJyb3I+XHJcbiAgPGllZWVzYS1mb3JtLXN1cHBvcnQtdGV4dFxyXG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiXHJcbiAgICBbY29uZmlnXT1cImNvbmZpZ1wiXHJcbiAgPjwvaWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0PlxyXG48L2Rpdj5cclxuIl19
|
|
308
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLHlCQUF5QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hFLE9BQU8sRUFBYSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUNMLFdBQVcsRUFDWCxlQUFlLEdBRWhCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFHNUYsT0FBTyxLQUFLLFNBQVMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7OztBQWlCekQsTUFBTSxPQUFPLG9CQUFvQjtJQTBCL0I7SUFDRSwwQ0FBMEM7SUFDbEMsVUFBc0I7SUFDOUIsMENBQTBDO0lBQ2xDLGtCQUFz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QUNYLGtCQUFrQiwrRkFDbEIsZUFBZSx1YkFDZixtQkFBbUIsZ1ZBQ25CLGtCQUFrQixpSEFDbEIsd0JBQXdCOzs0RkFNZixvQkFBb0I7a0JBaEJoQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsd0JBQXdCO3FCQUN6QixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJO2tJQUlyQyxvQkFBb0I7c0JBRG5CLFNBQVM7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU81QyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNFLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5neENvbG9yc01vZHVsZSwgTmd4Q29sb3JzVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJ25neC1jb2xvcnMnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgRm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWNvbnRyb2wtdHlwZXMubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIENvbG9yRm9ybWF0LFxyXG4gIENvbG9yc0FuaW1hdGlvbixcclxuICBQYWxldHRlQ29sb3IsXHJcbn0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbG9yLWZvcm1hdC5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1TdXBwb3J0VGV4dENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tc3VwcG9ydC10ZXh0L2Zvcm0tc3VwcG9ydC10ZXh0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1VdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0tdXRpbGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWNvbG9yLXBpY2tlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE5neENvbG9yc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXHJcbiAgICBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29sb3ItcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb2xvci1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29sb3JQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChOZ3hDb2xvcnNUcmlnZ2VyRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGNvbG9yUGlja2VyRGlyZWN0aXZlITogTmd4Q29sb3JzVHJpZ2dlckRpcmVjdGl2ZTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNvbG9yUGlja2VyVGV4dHM6IGFueSA9IGNvbnN0YW50cz8uY29sb3JQaWNrZXI7XHJcbiAgcGFsZXR0ZUNvbG9yczogUGFsZXR0ZUNvbG9yW10gPSB0aGlzLmNvbG9yUGlja2VyVGV4dHM/LnBhbGV0dGVDb2xvcnM7XHJcbiAgZ3JvdXAhOiBGb3JtR3JvdXA7XHJcbiAgY29uZmlnITogRmllbGRDb25maWc7XHJcbiAgQE91dHB1dCgpIGNvbG9yUGlja2VyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIGNvbG9yUGlja2VyU2xpZGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQElucHV0KCkgZGVmYXVsdENvbG9yITogc3RyaW5nO1xyXG4gIGNhblNob3dQYWxldHRlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcGFsZXR0ZTogc3RyaW5nW10gPSB0aGlzLnBhbGV0dGVDb2xvcnM/Lm1hcChcclxuICAgIChjb2xvcjogUGFsZXR0ZUNvbG9yKSA9PiBjb2xvci5oZXhDb2RlXHJcbiAgKTtcclxuICBASW5wdXQoKSBvdmVybGF5Q2xhc3NOYW1lID0gJ2llZWVzYS1jb2xvci1waWNrZXJfX292ZXJsYXknO1xyXG4gIEBJbnB1dCgpIGNvbG9yRm9ybWF0ID0gQ29sb3JGb3JtYXQuaGV4O1xyXG4gIEBJbnB1dCgpIGNvbG9yQW5pbWF0aW9uID0gQ29sb3JzQW5pbWF0aW9uLnBvcHVwO1xyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZSA9ICdjb2xvclBpY2tlcic7XHJcbiAgQElucHV0KCkgcGFsZXR0ZVNlbGVjdExhYmVsID0gdGhpcy5jb2xvclBpY2tlclRleHRzPy5sYWJlbD8uc2VsZWN0O1xyXG4gIEBJbnB1dCgpIHBhbGV0dGVDYW5jZWxMYWJlbCA9IHRoaXMuY29sb3JQaWNrZXJUZXh0cz8ubGFiZWw/LmNhbmNlbDtcclxuICBASW5wdXQoKSBjb2xvclBpY2tlckxhYmVsITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlzQ29sb3JDb2RlTGFiZWxOZWVkZWQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGlzQXJyb3dJY29uTmVlZGVkID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjYW5IaWRlVGV4dElucHV0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY2FuSGlkZUNvbG9yUGlja2VyID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBmb3JtVXRpbGl0eVNlcnZpY2U6IEZvcm1VdGlsaXR5U2VydmljZSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHktZnVuY3Rpb25cclxuICApIHt9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmdyb3VwID1cclxuICAgICAgdGhpcy5ncm91cCA/PyB0aGlzLmZvcm1VdGlsaXR5U2VydmljZS5nZXRGb3JtR3JvdXAodGhpcy5mb3JtQ29udHJvbE5hbWUpO1xyXG4gICAgdGhpcy5jb25maWcgPVxyXG4gICAgICB0aGlzLmNvbmZpZyA/P1xyXG4gICAgICB0aGlzLmZvcm1VdGlsaXR5U2VydmljZS5nZXRGb3JtRmllbGRDb25maWcoXHJcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbE5hbWUsXHJcbiAgICAgICAgRm9ybUNvbnRyb2xUeXBlLkNPTE9SX1BJQ0tFUlxyXG4gICAgICApO1xyXG4gICAgaWYgKHRoaXMuY29uZmlnKSB7XHJcbiAgICAgIHRoaXMuY29sb3JQaWNrZXJMYWJlbCA9IHRoaXMuY29uZmlnPy5sYWJlbCA/PyB0aGlzLmNvbG9yUGlja2VyTGFiZWw7XHJcbiAgICAgIHRoaXMucGFsZXR0ZSA9IHRoaXMuY29uZmlnPy5wYWxldHRlID8/IHRoaXMucGFsZXR0ZTtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29sb3IgPSB0aGlzLmNvbmZpZz8uZGVmYXVsdENvbG9yID8/IHRoaXMuZGVmYXVsdENvbG9yO1xyXG4gICAgICB0aGlzLmNvbG9yRm9ybWF0ID0gdGhpcy5jb25maWc/LmNvbG9yRm9ybWF0ID8/IHRoaXMuY29sb3JGb3JtYXQ7XHJcbiAgICAgIHRoaXMub3ZlcmxheUNsYXNzTmFtZSA9XHJcbiAgICAgICAgdGhpcy5jb25maWc/Lm92ZXJsYXlDbGFzc05hbWUgPz8gdGhpcy5vdmVybGF5Q2xhc3NOYW1lO1xyXG4gICAgICB0aGlzLmlzQ29sb3JDb2RlTGFiZWxOZWVkZWQgPVxyXG4gICAgICAgIHRoaXMuY29uZmlnPy5pc0NvbG9yQ29kZUxhYmVsTmVlZGVkID8/IHRoaXMuaXNDb2xvckNvZGVMYWJlbE5lZWRlZDtcclxuICAgICAgdGhpcy5pc0Fycm93SWNvbk5lZWRlZCA9XHJcbiAgICAgICAgdGhpcy5jb25maWc/LmlzQXJyb3dJY29uTmVlZGVkID8/IHRoaXMuaXNBcnJvd0ljb25OZWVkZWQ7XHJcbiAgICAgIHRoaXMuY2FuSGlkZVRleHRJbnB1dCA9XHJcbiAgICAgICAgdGhpcy5jb25maWc/LmNhbkhpZGVUZXh0SW5wdXQgPz8gdGhpcy5jYW5IaWRlVGV4dElucHV0O1xyXG4gICAgICB0aGlzLmNhbkhpZGVDb2xvclBpY2tlciA9XHJcbiAgICAgICAgdGhpcy5jb25maWc/LmNhbkhpZGVDb2xvclBpY2tlciA/PyB0aGlzLmNhbkhpZGVDb2xvclBpY2tlcjtcclxuICAgIH1cclxuICAgIHRoaXMuZ3JvdXAuZ2V0KHRoaXMuY29uZmlnLmNvbnRyb2xOYW1lKT8uc2V0VmFsdWUodGhpcy5kZWZhdWx0Q29sb3IpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBjb2xvciB0byBmb3JtIGdyb3VwIGNvbnRyb2wuXHJcbiAgICogQG1lbWJlcm9mIENvbG9yUGlja2VyQ29tcG9uZW50XHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbG9yXHJcbiAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICovXHJcbiAgaW5wdXRDaGFuZ2UoY29sb3I6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5kZWZhdWx0Q29sb3IgPSBjb2xvcjtcclxuICAgIHRoaXMuZ3JvdXA/LmdldCh0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUpPy5zZXRWYWx1ZShjb2xvcik7XHJcbiAgICB0aGlzLmNvbG9yUGlja2VyQ2hhbmdlLmVtaXQoY29sb3IpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBTZXRzIGNhblNob3dQYWxldHRlIHRvIHRydWUgd2hlbiB0aGUgcGFsZXR0ZSBpcyBvcGVuZWQuXHJcbiAgICogQG1lbWJlcm9mIENvbG9yUGlja2VyQ29tcG9uZW50XHJcbiAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICovXHJcbiAgb25PcGVuUGFsZXR0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FuU2hvd1BhbGV0dGUgPSB0cnVlO1xyXG4gICAgdGhpcy5jb2xvclBpY2tlckV2ZW50SGFuZGxlcnModHJ1ZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNldHMgY2FuU2hvd1BhbGV0dGUgdG8gZmFsc2Ugd2hlbiB0aGUgcGFsZXR0ZSBpcyBjbG9zZWQuXHJcbiAgICogQG1lbWJlcm9mIENvbG9yUGlja2VyQ29tcG9uZW50XHJcbiAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICovXHJcbiAgb25DbG9zZVBhbGV0dGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhblNob3dQYWxldHRlID0gZmFsc2U7XHJcbiAgICB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnRcclxuICAgICAgPy5xdWVyeVNlbGVjdG9yKCcuaWVlZXNhLWNvbG9yLXBpY2tlcl9fdG9nZ2xlLWljb24nKVxyXG4gICAgICA/LmZvY3VzKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEdldHMgdHJpZ2dlcmVkIHdoZW4gdGhlIHRoZSBhbHBoYSwgaHVlIG9yIExpZ2h0bmVzcyBzbGlkZXJzIGFyZSBjaGFuZ2VkXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbG9yXHJcbiAgICovXHJcbiAgb25TbGlkZXJDaGFuZ2UoY29sb3I6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb2xvclBpY2tlclNsaWRlckNoYW5nZS5lbWl0KGNvbG9yKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVG9nZ2xlcyB0aGUgcGFsZXR0ZSBwYW5lbC5cclxuICAgKiBAbWVtYmVyb2YgQ29sb3JQaWNrZXJDb21wb25lbnRcclxuICAgKiBAcmV0dXJucyB7dm9pZH1cclxuICAgKi9cclxuICB0b2dnbGVQYWxldHRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYW5TaG93UGFsZXR0ZSA9ICF0aGlzLmNhblNob3dQYWxldHRlO1xyXG4gICAgaWYgKHRoaXMuY2FuU2hvd1BhbGV0dGUpIHRoaXMuY29sb3JQaWNrZXJEaXJlY3RpdmU/Lm9wZW5QYW5lbCgpO1xyXG4gICAgZWxzZSB0aGlzLmNvbG9yUGlja2VyRGlyZWN0aXZlPy5jbG9zZVBhbmVsKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIExpc3RlbmluZyB0aGUgY29sb3IgcGlja2VyIGV2ZW50cyB0byBhY2hpZXZlIHRoZSBhY2Nlc3NpYmlsaXR5IGZvciBjb2xvciBwYWxldHRlLlxyXG4gICAqIGNhbkFkZExpc3RlbmVyIGZhbHNlIHJlbW92ZSB0aGUgZXZlbnQgbGlzdGVuZXJzIHdoaWNoIHdlIGNhbGxzIGluIG5nRGVzdHJveSxcclxuICAgKiBjYW5BZGRMaXN0ZW5lciB0cnVlIGFkZGluZyB0aGUgZXZlbnQgbGlzdGVuZXJzIHdoaWxlIG9wZW5pbmcgdGhlIGNvbG9yIHBhbGV0dGUuXHJcbiAgICogQG1lbWJlcm9mIENvbG9yUGlja2VyQ29tcG9uZW50XHJcbiAgICogQHBhcmFtIHtib29sZWFufSBjYW5BZGRMaXN0ZW5lclxyXG4gICAqIEByZXR1cm5zIHt2b2lkfVxyXG4gICAqL1xyXG4gIGNvbG9yUGlja2VyRXZlbnRIYW5kbGVycyhjYW5BZGRMaXN0ZW5lcjogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgY29uc3QgcGFsZXR0ZUNvbnRhaW5lciA9XHJcbiAgICAgIHRoaXMuY29sb3JQaWNrZXJEaXJlY3RpdmU/LnBhbmVsUmVmPy5sb2NhdGlvbj8ubmF0aXZlRWxlbWVudD8ucXVlcnlTZWxlY3RvcihcclxuICAgICAgICAnbmd4LWNvbG9ycy1wYW5lbCAub3BlbmVkJ1xyXG4gICAgICApIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmIChwYWxldHRlQ29udGFpbmVyKSB7XHJcbiAgICAgICAgcGFsZXR0ZUNvbnRhaW5lci5yb2xlID0gJ2RpYWxvZyc7XHJcbiAgICAgICAgcGFsZXR0ZUNvbnRhaW5lci50YWJJbmRleCA9IDA7XHJcbiAgICAgICAgcGFsZXR0ZUNvbnRhaW5lci5hcmlhTGFiZWwgPSB0aGlzLmNvbG9yUGlja2VyVGV4dHM/LmFyaWFMYWJlbD8ucGFsZXR0ZTtcclxuICAgICAgICBjb25zdCBjb2xvclBhbGxldHRlcyA9IHBhbGV0dGVDb250YWluZXIucXVlcnlTZWxlY3RvckFsbChcclxuICAgICAgICAgICcuY29sb3JzIC5jaXJjbGUud3JhcHBlci5jb2xvcidcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IG1vcmVDb2xvcnNBcnJvd0J1dHRvbiA9IHBhbGV0dGVDb250YWluZXIucXVlcnlTZWxlY3RvcihcclxuICAgICAgICAgICcuY29sb3JzIC5jaXJjbGUuYnV0dG9uJ1xyXG4gICAgICAgICkgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgY29uc3QgbGFzdEVsZW1lbnQgPSBwYWxldHRlQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICAgICAgICAnLmctaW5wdXQgaW5wdXQnXHJcbiAgICAgICAgKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICBpZiAoY29sb3JQYWxsZXR0ZXM/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgY29uc3QgY29sb3JQYWxsZXR0ZXNMaXN0ID0gQXJyYXkuZnJvbShcclxuICAgICAgICAgICAgY29sb3JQYWxsZXR0ZXNcclxuICAgICAgICAgICkgYXMgSFRNTEVsZW1lbnRbXTtcclxuICAgICAgICAgIGNvbG9yUGFsbGV0dGVzTGlzdC5wdXNoKG1vcmVDb2xvcnNBcnJvd0J1dHRvbik7XHJcbiAgICAgICAgICBjb2xvclBhbGxldHRlc0xpc3QucHVzaChsYXN0RWxlbWVudCk7XHJcbiAgICAgICAgICBjb25zdCBrZXlEb3duSGFuZGxlckZvckNvbG9yUGFsZXR0ZXMgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jb2xvclBpY2tlcktleURvd25IYW5kbGVyKGNvbG9yUGFsbGV0dGVzTGlzdCwgZXZlbnQpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGNvbG9yUGFsbGV0dGVzTGlzdD8uZm9yRWFjaCgoZWxlbWVudDogSFRNTEVsZW1lbnQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCAhPT0gY29sb3JQYWxsZXR0ZXNMaXN0Py5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICAgICAgZWxlbWVudC50YWJJbmRleCA9IDA7XHJcbiAgICAgICAgICAgICAgZWxlbWVudC5yb2xlID0gJ2J1dHRvbic7XHJcbiAgICAgICAgICAgICAgZWxlbWVudC5hcmlhTGFiZWwgPSB0aGlzLnBhbGV0dGVDb2xvcnNbaW5kZXhdPy5uYW1lO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGVsZW1lbnQuYXJpYUxhYmVsID1cclxuICAgICAgICAgICAgICAgIHRoaXMuY29sb3JQaWNrZXJUZXh0cz8uYXJpYUxhYmVsPy5oZXhDb2RlSW5wdXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGluZGV4ID09PSAwKSBlbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gY29sb3JQYWxsZXR0ZXNMaXN0Py5sZW5ndGggLSAyKSB7XHJcbiAgICAgICAgICAgICAgZWxlbWVudC5hcmlhTGFiZWwgPSB0aGlzLmNvbG9yUGlja2VyVGV4dHM/LmFyaWFMYWJlbD8ubmV4dDtcclxuICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgICAgICAgIGNvbnN0IGNsaWNrSGFuZGxlckZvck1vcmVDb2xvcnNCdXR0b24gPSAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGxpc3QgPVxyXG4gICAgICAgICAgICAgICAgICAgIHBhbGV0dGVDb250YWluZXI/LnF1ZXJ5U2VsZWN0b3IoJy5uYXYtd3JhcHBlcicpPy5jaGlsZE5vZGVzO1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBncmFkaWVudEJ1dHRvbnM6IEhUTUxFbGVtZW50W10gPSBbXTtcclxuICAgICAgICAgICAgICAgICAgbGlzdD8uZm9yRWFjaCgoZWxlbWVudCkgPT5cclxuICAgICAgICAgICAgICAgICAgICBncmFkaWVudEJ1dHRvbnMucHVzaChlbGVtZW50IGFzIEhUTUxFbGVtZW50KVxyXG4gICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICBpZiAoZ3JhZGllbnRCdXR0b25zPy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0RWxlbWVudCA9IHBhbGV0dGVDb250YWluZXIucXVlcnlTZWxlY3RvcihcclxuICAgICAgICAgICAgICAgICAgICAgICcuZy1pbnB1dCBpbnB1dCdcclxuICAgICAgICAgICAgICAgICAgICApIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGdyYWRpZW50QnV0dG9ucy5wdXNoKGxhc3RFbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICBncmFkaWVudEJ1dHRvbnM/LmZvckVhY2goXHJcbiAgICAgICAgICAgICAgICAgICAgICAoZWxlbWVudDogSFRNTEVsZW1lbnQsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5hcmlhTGFiZWwgPVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvclBpY2tlclRleHRzPy5hcmlhTGFiZWw/LmJhY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsaWNrSGFuZGxlckZvckdyYWRpZW50UHJldmlvdXNCdXR0b24gPSAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IGFueVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbk9wZW5QYWxldHRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5RG93bkhhbmRsZXJGb3JHcmFkaWVudEJ1dHRvbnMgPSAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudDogS2V5Ym9hcmRFdmVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvclBpY2tlcktleURvd25IYW5kbGVyKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmFkaWVudEJ1dHRvbnMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjbGljaycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGlja0hhbmRsZXJGb3JHcmFkaWVudFByZXZpb3VzQnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleWRvd24nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2tIYW5kbGVyRm9yR3JhZGllbnRQcmV2aW91c0J1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNhbkFkZExpc3RlbmVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2xpY2snLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGlja0hhbmRsZXJGb3JHcmFkaWVudFByZXZpb3VzQnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleWRvd24nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlEb3duSGFuZGxlckZvckdyYWRpZW50QnV0dG9uc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5yb2xlID0gJ2J1dHRvbic7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQudGFiSW5kZXggPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudD8uaW5uZXJUZXh0Py50cmltKCkgPT09XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvclBpY2tlclRleHRzPy5sYWJlbD8uc2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuYXJpYUxhYmVsID1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29sb3JQaWNrZXJUZXh0cz8uYXJpYUxhYmVsPy5zZWxlY3Q7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudD8uY2xhc3NMaXN0Py5hZGQoJ3NlbGVjdCcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ/LmlubmVyVGV4dD8udHJpbSgpID09PVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29sb3JQaWNrZXJUZXh0cz8ubGFiZWw/LmNhbmNlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmFyaWFMYWJlbCA9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbG9yUGlja2VyVGV4dHM/LmFyaWFMYWJlbD8uY2FuY2VsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ/LmNsYXNzTGlzdD8uYWRkKCdjYW5jZWwnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT09IGdyYWRpZW50QnV0dG9ucz8ubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucm9sZSA9ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSwgMjUwKTtcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcclxuICAgICAgICAgICAgICAgICdjbGljaycsXHJcbiAgICAgICAgICAgICAgICBjbGlja0hhbmRsZXJGb3JNb3JlQ29sb3JzQnV0dG9uXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICBpZiAoY2FuQWRkTGlzdGVuZXIpIHtcclxuICAgICAgICAgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcclxuICAgICAgICAgICAgICAgICAgJ2NsaWNrJyxcclxuICAgICAgICAgICAgICAgICAgY2xpY2tIYW5kbGVyRm9yTW9yZUNvbG9yc0J1dHRvblxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFxyXG4gICAgICAgICAgICAgICdrZXlkb3duJyxcclxuICAgICAgICAgICAgICBrZXlEb3duSGFuZGxlckZvckNvbG9yUGFsZXR0ZXNcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKGNhbkFkZExpc3RlbmVyKSB7XHJcbiAgICAgICAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxyXG4gICAgICAgICAgICAgICAgJ2tleWRvd24nLFxyXG4gICAgICAgICAgICAgICAga2V5RG93bkhhbmRsZXJGb3JDb2xvclBhbGV0dGVzXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LCAyNTApO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBMaXN0ZW5zIGtleWRvd24gZXZlbnQgaGFuZGxlcyB0byBtYWtlIHRoZSBwYWxldHRlIGZvY3VzYWJsZS5cclxuICAgKiBAbWVtYmVyb2YgQ29sb3JQaWNrZXJDb21wb25lbnRcclxuICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50W119IGNvbG9yUGFsbGV0dGVzTGlzdFxyXG4gICAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnRcclxuICAgKiBAcmV0dXJucyB7dm9pZH1cclxuICAgKi9cclxuICBjb2xvclBpY2tlcktleURvd25IYW5kbGVyKFxyXG4gICAgY29sb3JQYWxsZXR0ZXNMaXN0OiBIVE1MRWxlbWVudFtdLFxyXG4gICAgZXZlbnQ6IEtleWJvYXJkRXZlbnRcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnN0IGZpcnN0RWxlbWVudCA9IGNvbG9yUGFsbGV0dGVzTGlzdFswXTtcclxuICAgIGNvbnN0IGxhc3RFbGVtZW50ID0gY29sb3JQYWxsZXR0ZXNMaXN0W2NvbG9yUGFsbGV0dGVzTGlzdC5sZW5ndGggLSAxXTtcclxuICAgIGlmIChldmVudC5jb2RlID09PSAnVGFiJykge1xyXG4gICAgICBpZiAoZXZlbnQuc2hpZnRLZXkpIHtcclxuICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RFbGVtZW50KSB7XHJcbiAgICAgICAgICBsYXN0RWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEVsZW1lbnQpIHtcclxuICAgICAgICBmaXJzdEVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ1NwYWNlJyB8fCBldmVudC5jb2RlID09PSAnRW50ZXInKSB7XHJcbiAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIGlmICh0YXJnZXRFbGVtZW50Py5jbGFzc0xpc3Q/LmNvbnRhaW5zKCdidXR0b24nKSlcclxuICAgICAgICB0YXJnZXRFbGVtZW50Py5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2xpY2snKSk7XHJcbiAgICAgIGVsc2UgdGFyZ2V0RWxlbWVudD8uZmlyc3RDaGlsZD8uZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2NsaWNrJykpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBSZW1vdmluZyB0aGUgYWN0aXZlIGxpc3RlbmVycyB3aGlsZSBjb21wb25lbnQgZ2V0IGRlc3Ryb3llZC5cclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuY29sb3JQaWNrZXJFdmVudEhhbmRsZXJzKGZhbHNlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gIFtuZ0NsYXNzXT1cIlxyXG4gICAgY29uZmlnPy5pc0xhYmVsQWxpZ25lZExlZnRcclxuICAgICAgPyAnaWVlZXNhLWNvbG9yLXBpY2tlcl9fbGFiZWwtbGVmdCdcclxuICAgICAgOiAnaWVlZXNhLWNvbG9yLXBpY2tlcl9fbGFiZWwtdG9wJ1xyXG4gIFwiXHJcbj5cclxuICA8bWF0LWxhYmVsXHJcbiAgICBjbGFzcz1cImllZWVzYS1ib2R5LXNtLTE0IGllZWVzYS1jb2xvci1waWNrZXJfX2xhYmVsXCJcclxuICAgICpuZ0lmPVwiY29sb3JQaWNrZXJMYWJlbFwiXHJcbiAgICA+e3sgY29sb3JQaWNrZXJMYWJlbCB9fTwvbWF0LWxhYmVsXHJcbiAgPlxyXG4gIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgIDxuZ3gtY29sb3JzXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWNvbG9yLXBpY2tlclwiXHJcbiAgICAgIG5neC1jb2xvcnMtdHJpZ2dlclxyXG4gICAgICBbYWNjZXB0TGFiZWxdPVwicGFsZXR0ZVNlbGVjdExhYmVsXCJcclxuICAgICAgW2NhbmNlbExhYmVsXT1cInBhbGV0dGVDYW5jZWxMYWJlbFwiXHJcbiAgICAgIFtwYWxldHRlXT1cInBhbGV0dGVcIlxyXG4gICAgICAoaW5wdXQpPVwiaW5wdXRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIChvcGVuKT1cIm9uT3BlblBhbGV0dGUoKVwiXHJcbiAgICAgIChjbG9zZSk9XCJvbkNsb3NlUGFsZXR0ZSgpXCJcclxuICAgICAgKHNsaWRlcik9XCJvblNsaWRlckNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgW292ZXJsYXlDbGFzc05hbWVdPVwib3ZlcmxheUNsYXNzTmFtZVwiXHJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCJcclxuICAgICAgW2Zvcm1hdF09XCJjb2xvckZvcm1hdFwiXHJcbiAgICAgIFtoaWRlVGV4dElucHV0XT1cImNhbkhpZGVUZXh0SW5wdXRcIlxyXG4gICAgICBbY29sb3JzQW5pbWF0aW9uXT1cImNvbG9yQW5pbWF0aW9uXCJcclxuICAgICAgW2hpZGVDb2xvclBpY2tlcl09XCJjYW5IaWRlQ29sb3JQaWNrZXJcIlxyXG4gICAgICBbYXJpYUxhYmVsXT1cImNvbG9yUGlja2VyVGV4dHM/LmFyaWFMYWJlbD8uY29sb3JQaWNrZXJcIlxyXG4gICAgICBbYXJpYURlc2NyaXB0aW9uXT1cImNvbG9yUGlja2VyVGV4dHM/LmFyaWFEZXNjcmlwdGlvblwiXHJcbiAgICA+XHJcbiAgICA8L25neC1jb2xvcnM+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWNvbG9yLXBpY2tlcl9fdG9nZ2xlLWljb25cIlxyXG4gICAgICAqbmdJZj1cImlzQXJyb3dJY29uTmVlZGVkXCJcclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVQYWxldHRlKClcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbG9yUGlja2VyVGV4dHM/LmFyaWFMYWJlbD8uY29sb3JQaWNrZXJcIlxyXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImNvbG9yUGlja2VyVGV4dHM/LmFyaWFEZXNjcmliZWRCeUlkXCJcclxuICAgID5cclxuICAgICAgPGlcclxuICAgICAgICBjbGFzcz1cImZhLXNvbGlkXCJcclxuICAgICAgICBbbmdDbGFzc109XCJjYW5TaG93UGFsZXR0ZSA/ICdmYS1jYXJldC11cCcgOiAnZmEtY2FyZXQtZG93bidcIlxyXG4gICAgICA+PC9pPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8c3BhblxyXG4gICAgICBjbGFzcz1cImllZWVzYS1jb2xvci1waWNrZXItLXNlbGVjdGVkIGllZWVzYS1ib2R5LW1kLTE0XCJcclxuICAgICAgKm5nSWY9XCJpc0NvbG9yQ29kZUxhYmVsTmVlZGVkICYmIGRlZmF1bHRDb2xvclwiXHJcbiAgICAgID57eyBkZWZhdWx0Q29sb3IgfX08L3NwYW5cclxuICAgID5cclxuICA8L2Rpdj5cclxuICA8aWVlZXNhLWZvcm0tZXJyb3IgW2Zvcm1Hcm91cF09XCJncm91cFwiIFtjb25maWddPVwiY29uZmlnXCI+IDwvaWVlZXNhLWZvcm0tZXJyb3I+XHJcbiAgPGllZWVzYS1mb3JtLXN1cHBvcnQtdGV4dFxyXG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiXHJcbiAgICBbY29uZmlnXT1cImNvbmZpZ1wiXHJcbiAgPjwvaWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -10,4 +10,4 @@ export var ColorsAnimation;
|
|
|
10
10
|
ColorsAnimation["popup"] = "popup";
|
|
11
11
|
ColorsAnimation["slidein"] = "slide-in";
|
|
12
12
|
})(ColorsAnimation || (ColorsAnimation = {}));
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItZm9ybWF0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvbW9kZWxzL2NvbG9yLWZvcm1hdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQ0FBbUM7QUFDbkMsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNuQiwwQkFBVyxDQUFBO0lBQ1gsNEJBQWEsQ0FBQTtJQUNiLDRCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUpXLFdBQVcsS0FBWCxXQUFXLFFBSXRCO0FBQ0QsTUFBTSxDQUFOLElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN2QixrQ0FBZSxDQUFBO0lBQ2YsdUNBQW9CLENBQUE7QUFDeEIsQ0FBQyxFQUhXLGVBQWUsS0FBZixlQUFlLFFBRzFCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMgKi9cclxuZXhwb3J0IGVudW0gQ29sb3JGb3JtYXQge1xyXG4gICAgaGV4ID0gJ2hleCcsXHJcbiAgICByZ2JhID0gJ3JnYmEnLFxyXG4gICAgaHNsYSA9ICdoc2xhJ1xyXG59XHJcbmV4cG9ydCBlbnVtIENvbG9yc0FuaW1hdGlvbiB7XHJcbiAgICBwb3B1cCA9ICdwb3B1cCcsXHJcbiAgICBzbGlkZWluID0gJ3NsaWRlLWluJ1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFsZXR0ZUNvbG9yIHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGhleENvZGU6IHN0cmluZztcclxufSJdfQ==
|