@fundamental-ngx/platform 0.43.18 → 0.43.20
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/esm2020/form/combobox/combobox/combobox.component.mjs +1 -1
- package/esm2020/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +1 -1
- package/esm2020/list/action-list-item/action-list-item.component.mjs +7 -4
- package/esm2020/list/base-list-item.mjs +117 -75
- package/esm2020/list/display-list-item/display-list-item.component.mjs +5 -3
- package/esm2020/list/free-content-list-item/free-content-list-item.component.mjs +6 -3
- package/esm2020/list/list-group-footer.component.mjs +12 -3
- package/esm2020/list/list-group-header.component.mjs +30 -5
- package/esm2020/list/list.component.mjs +85 -61
- package/esm2020/list/object-list-item/object-list-item.component.mjs +5 -3
- package/esm2020/list/standard-list-item/standard-list-item.component.mjs +5 -3
- package/esm2020/message-popover/components/message-view/message-view.component.mjs +2 -2
- package/esm2020/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +2 -2
- package/esm2020/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +1 -1
- package/esm2020/shared/domain/data-source.mjs +2 -1
- package/esm2020/table/components/table-p13-dialog/columns/columns.component.mjs +1 -1
- package/esm2020/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +1 -1
- package/esm2020/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +1 -1
- package/esm2020/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +1 -1
- package/esm2020/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +1 -1
- package/esm2020/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +1 -1
- package/esm2020/table/table.component.mjs +12 -10
- package/esm2020/table-helpers/directives/table-data-source.directive.mjs +2 -1
- package/esm2020/table-helpers/helpers.mjs +6 -3
- package/esm2020/table-helpers/table.mjs +1 -1
- package/esm2020/upload-collection/dialogs/move-to/move-to.component.mjs +1 -1
- package/esm2020/variant-management/variant-management.component.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-form.mjs +2 -2
- package/fesm2015/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-list.mjs +260 -150
- package/fesm2015/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-message-popover.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-settings-generator.mjs +2 -2
- package/fesm2015/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-shared.mjs +1 -0
- package/fesm2015/fundamental-ngx-platform-shared.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-table-helpers.mjs +6 -2
- package/fesm2015/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-table.mjs +17 -15
- package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-upload-collection.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-form.mjs +2 -2
- package/fesm2020/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-list.mjs +259 -150
- package/fesm2020/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-message-popover.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-settings-generator.mjs +2 -2
- package/fesm2020/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-shared.mjs +1 -0
- package/fesm2020/fundamental-ngx-platform-shared.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table-helpers.mjs +6 -2
- package/fesm2020/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table.mjs +17 -15
- package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-upload-collection.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fundamental-ngx-platform-v0.43.20.tgz +0 -0
- package/list/base-list-item.d.ts +52 -29
- package/list/list-group-footer.component.d.ts +3 -0
- package/list/list-group-header.component.d.ts +3 -1
- package/list/list.component.d.ts +15 -13
- package/package.json +4 -4
- package/schematics/ng-add/index.js +1 -1
- package/shared/domain/data-source.d.ts +3 -1
- package/table/table.component.d.ts +4 -0
- package/table-helpers/helpers.d.ts +1 -1
- package/table-helpers/table.d.ts +1 -0
- package/fundamental-ngx-platform-v0.43.18.tgz +0 -0
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
/* eslint-disable @typescript-eslint/member-ordering */
|
|
2
2
|
import { ENTER, SPACE } from '@angular/cdk/keycodes';
|
|
3
|
+
import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostListener, Inject, inject, Input, Optional, Output, TemplateRef, ViewChild } from '@angular/core';
|
|
3
4
|
import { KeyUtil } from '@fundamental-ngx/cdk/utils';
|
|
4
5
|
import { CheckboxComponent } from '@fundamental-ngx/core/checkbox';
|
|
6
|
+
import { FD_LIST_UNREAD_INDICATOR } from '@fundamental-ngx/core/list';
|
|
5
7
|
import { RadioButtonComponent } from '@fundamental-ngx/core/radio';
|
|
6
8
|
import { BaseComponent, isPresent } from '@fundamental-ngx/platform/shared';
|
|
7
|
-
import {
|
|
9
|
+
import { merge } from 'lodash-es';
|
|
8
10
|
import { FdpListComponent } from './fdpListComponent.token';
|
|
9
|
-
import
|
|
10
|
-
import { FD_LIST_UNREAD_INDICATOR } from '@fundamental-ngx/core/list';
|
|
11
|
+
import { ListConfig } from './list.config';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "./list.config";
|
|
13
14
|
export const IS_ACTIVE_CLASS = 'is-active';
|
|
@@ -65,6 +66,13 @@ export class ListAvatarConfig {
|
|
|
65
66
|
this.backupImage = null;
|
|
66
67
|
}
|
|
67
68
|
}
|
|
69
|
+
export var LIST_ITEM_TYPE;
|
|
70
|
+
(function (LIST_ITEM_TYPE) {
|
|
71
|
+
LIST_ITEM_TYPE["ITEM"] = "item";
|
|
72
|
+
LIST_ITEM_TYPE["GROUP"] = "group";
|
|
73
|
+
LIST_ITEM_TYPE["FOOTER"] = "footer";
|
|
74
|
+
LIST_ITEM_TYPE["HEADER"] = "header";
|
|
75
|
+
})(LIST_ITEM_TYPE || (LIST_ITEM_TYPE = {}));
|
|
68
76
|
export class ModifyItemEvent {
|
|
69
77
|
}
|
|
70
78
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
@@ -145,17 +153,41 @@ export class BaseListItem extends BaseComponent {
|
|
|
145
153
|
get displayUnreadNotification() {
|
|
146
154
|
return !!this._list?.unreadIndicator;
|
|
147
155
|
}
|
|
156
|
+
/** By default selection mode is 'none' */
|
|
157
|
+
set selectionMode(value) {
|
|
158
|
+
this._selectionMode = value;
|
|
159
|
+
this._setAttrRole();
|
|
160
|
+
}
|
|
161
|
+
get selectionMode() {
|
|
162
|
+
return this._selectionMode;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* @hidden
|
|
166
|
+
* Whether listitem has row level selection enabled
|
|
167
|
+
*/
|
|
168
|
+
set rowSelection(value) {
|
|
169
|
+
this._rowSelection = value;
|
|
170
|
+
this._setAttrRole();
|
|
171
|
+
}
|
|
172
|
+
get rowSelection() {
|
|
173
|
+
return this._rowSelection;
|
|
174
|
+
}
|
|
175
|
+
/** @hidden */
|
|
176
|
+
get _selectedAttr() {
|
|
177
|
+
return !this.rowSelection && this.selectionMode === 'none' ? null : this._selected;
|
|
178
|
+
}
|
|
179
|
+
/** @hidden */
|
|
180
|
+
get _listItemRole() {
|
|
181
|
+
return this.role || this._defaultRole;
|
|
182
|
+
}
|
|
148
183
|
/** @hidden */
|
|
149
184
|
constructor(_changeDetectorRef, itemEl, _listConfig, _list) {
|
|
150
185
|
super(_changeDetectorRef);
|
|
151
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
152
186
|
this.itemEl = itemEl;
|
|
153
187
|
this._listConfig = _listConfig;
|
|
154
188
|
this._list = _list;
|
|
155
189
|
/** To invert the status of secondary text */
|
|
156
190
|
this.inverted = false;
|
|
157
|
-
/** By default selection mode is 'none' */
|
|
158
|
-
this.selectionMode = 'none';
|
|
159
191
|
/** By default selection mode is 'active' */
|
|
160
192
|
this.listType = 'active';
|
|
161
193
|
/**
|
|
@@ -169,8 +201,6 @@ export class BaseListItem extends BaseComponent {
|
|
|
169
201
|
* you should indicate those by displaying a navigation arrow
|
|
170
202
|
*/
|
|
171
203
|
this.navigationIndicator = false;
|
|
172
|
-
/** role */
|
|
173
|
-
this.role = 'option';
|
|
174
204
|
/**
|
|
175
205
|
* event emitter for selected item
|
|
176
206
|
* seprate PR for custom event
|
|
@@ -182,6 +212,8 @@ export class BaseListItem extends BaseComponent {
|
|
|
182
212
|
this.itemCheckboxSelected = new EventEmitter();
|
|
183
213
|
/** Event sent when delete, details or any other action buttons are clicked */
|
|
184
214
|
this.buttonClicked = new EventEmitter();
|
|
215
|
+
/** @hidden */
|
|
216
|
+
this._type = LIST_ITEM_TYPE.ITEM;
|
|
185
217
|
/**
|
|
186
218
|
* @hidden
|
|
187
219
|
* Whether By line mode is included to list component, by which
|
|
@@ -194,11 +226,17 @@ export class BaseListItem extends BaseComponent {
|
|
|
194
226
|
*/
|
|
195
227
|
this._selected = false;
|
|
196
228
|
/** @hidden */
|
|
229
|
+
this._rowSelection = false;
|
|
230
|
+
/** @hidden */
|
|
231
|
+
this._defaultRole = 'listitem';
|
|
232
|
+
/** @hidden */
|
|
197
233
|
this._listComponent = inject(FdpListComponent);
|
|
198
234
|
/** @hidden */
|
|
199
235
|
this._avatarConfig = new ListAvatarConfig();
|
|
200
236
|
/** @hidden */
|
|
201
237
|
this._iconConfig = new ListIconConfig();
|
|
238
|
+
/** @hidden */
|
|
239
|
+
this._selectionMode = 'none';
|
|
202
240
|
}
|
|
203
241
|
/** Selection value */
|
|
204
242
|
set selectionValue(value) {
|
|
@@ -211,65 +249,6 @@ export class BaseListItem extends BaseComponent {
|
|
|
211
249
|
get selectionValue() {
|
|
212
250
|
return this._selectionValue;
|
|
213
251
|
}
|
|
214
|
-
/**
|
|
215
|
-
* @hidden
|
|
216
|
-
* Show navigation for single list
|
|
217
|
-
*/
|
|
218
|
-
ngOnInit() {
|
|
219
|
-
this.id = `fdp-list-item-${nextListItemId++}`;
|
|
220
|
-
}
|
|
221
|
-
/** @hidden */
|
|
222
|
-
ngOnDestroy() {
|
|
223
|
-
super.ngOnDestroy();
|
|
224
|
-
this.itemSelected.complete();
|
|
225
|
-
}
|
|
226
|
-
/** @hidden */
|
|
227
|
-
ngAfterViewInit() {
|
|
228
|
-
this._listComponent._setupListItem(this);
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* @hidden
|
|
232
|
-
* To detect changes from parent-listbox to list item
|
|
233
|
-
* for example single, multi option selection those details
|
|
234
|
-
* will be deducted in list item
|
|
235
|
-
*/
|
|
236
|
-
ngAfterViewChecked() {
|
|
237
|
-
const currentItem = this.itemEl.nativeElement.querySelector('li');
|
|
238
|
-
if (!currentItem) {
|
|
239
|
-
return;
|
|
240
|
-
}
|
|
241
|
-
currentItem.setAttribute('role', 'option');
|
|
242
|
-
const parentNode = currentItem.parentNode instanceof HTMLElement && currentItem.parentNode;
|
|
243
|
-
if (parentNode) {
|
|
244
|
-
parentNode.removeAttribute('title');
|
|
245
|
-
parentNode.removeAttribute('aria-label');
|
|
246
|
-
}
|
|
247
|
-
if (this.rowSelection || this.selectionMode === 'multi' || this.selectionMode === 'single') {
|
|
248
|
-
currentItem.setAttribute('aria-selected', `${!!this._selected}`);
|
|
249
|
-
}
|
|
250
|
-
this._changeDetectorRef.detectChanges();
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* @hidden
|
|
254
|
-
* Created focus on list item on mouseclick,
|
|
255
|
-
* Up,down arrow press
|
|
256
|
-
*/
|
|
257
|
-
focus() {
|
|
258
|
-
this.listItem.nativeElement.focus();
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* Programmatically set selected state of the list item.
|
|
262
|
-
* @param selected Whether the list item is selected
|
|
263
|
-
*/
|
|
264
|
-
setSelected(selected) {
|
|
265
|
-
if (selected === this._selected) {
|
|
266
|
-
return;
|
|
267
|
-
}
|
|
268
|
-
const event = new ModifyItemEvent();
|
|
269
|
-
event.source = this;
|
|
270
|
-
this._selected = selected;
|
|
271
|
-
this._changeDetectorRef.detectChanges();
|
|
272
|
-
}
|
|
273
252
|
/**
|
|
274
253
|
* @hidden
|
|
275
254
|
* On item click event will be emitted
|
|
@@ -282,7 +261,7 @@ export class BaseListItem extends BaseComponent {
|
|
|
282
261
|
event.source = this;
|
|
283
262
|
this._focused = !this._focused;
|
|
284
263
|
this.itemSelected.emit(event);
|
|
285
|
-
this.
|
|
264
|
+
this._cd.markForCheck();
|
|
286
265
|
}
|
|
287
266
|
/** @hidden */
|
|
288
267
|
_handleKeyboardEvent(event) {
|
|
@@ -299,7 +278,7 @@ export class BaseListItem extends BaseComponent {
|
|
|
299
278
|
const $event = new ModifyItemEvent();
|
|
300
279
|
$event.source = this;
|
|
301
280
|
this.itemSelected.emit($event);
|
|
302
|
-
this.
|
|
281
|
+
this._cd.markForCheck();
|
|
303
282
|
}
|
|
304
283
|
/**
|
|
305
284
|
* @hidden
|
|
@@ -314,7 +293,7 @@ export class BaseListItem extends BaseComponent {
|
|
|
314
293
|
}
|
|
315
294
|
this.radioButtonComponent?.valueChange(event);
|
|
316
295
|
}
|
|
317
|
-
this.
|
|
296
|
+
this._cd.markForCheck();
|
|
318
297
|
const $event = new ModifyItemEvent();
|
|
319
298
|
$event.source = this;
|
|
320
299
|
this.itemSelected.emit($event);
|
|
@@ -328,6 +307,61 @@ export class BaseListItem extends BaseComponent {
|
|
|
328
307
|
this.anchor.nativeElement.classList.remove(IS_ACTIVE_CLASS);
|
|
329
308
|
}
|
|
330
309
|
}
|
|
310
|
+
/**
|
|
311
|
+
* @hidden
|
|
312
|
+
* Show navigation for single list
|
|
313
|
+
*/
|
|
314
|
+
ngOnInit() {
|
|
315
|
+
this.id = `fdp-list-item-${nextListItemId++}`;
|
|
316
|
+
}
|
|
317
|
+
/** @hidden */
|
|
318
|
+
ngOnDestroy() {
|
|
319
|
+
super.ngOnDestroy();
|
|
320
|
+
this.itemSelected.complete();
|
|
321
|
+
}
|
|
322
|
+
/** @hidden */
|
|
323
|
+
ngAfterViewInit() {
|
|
324
|
+
this._listComponent._setupListItem(this);
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* @hidden
|
|
328
|
+
* To detect changes from parent-listbox to list item
|
|
329
|
+
* for example single, multi option selection those details
|
|
330
|
+
* will be deducted in list item
|
|
331
|
+
*/
|
|
332
|
+
ngAfterViewChecked() {
|
|
333
|
+
const currentItem = this.itemEl.nativeElement.querySelector('li');
|
|
334
|
+
if (!currentItem) {
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
const parentNode = currentItem.parentNode instanceof HTMLElement && currentItem.parentNode;
|
|
338
|
+
if (parentNode) {
|
|
339
|
+
parentNode.removeAttribute('title');
|
|
340
|
+
parentNode.removeAttribute('aria-label');
|
|
341
|
+
}
|
|
342
|
+
this._cd.detectChanges();
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* @hidden
|
|
346
|
+
* Created focus on list item on mouseclick,
|
|
347
|
+
* Up,down arrow press
|
|
348
|
+
*/
|
|
349
|
+
focus() {
|
|
350
|
+
this.listItem.nativeElement.focus();
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Programmatically set selected state of the list item.
|
|
354
|
+
* @param selected Whether the list item is selected
|
|
355
|
+
*/
|
|
356
|
+
setSelected(selected) {
|
|
357
|
+
if (selected === this._selected) {
|
|
358
|
+
return;
|
|
359
|
+
}
|
|
360
|
+
const event = new ModifyItemEvent();
|
|
361
|
+
event.source = this;
|
|
362
|
+
this._selected = selected;
|
|
363
|
+
this._cd.detectChanges();
|
|
364
|
+
}
|
|
331
365
|
/**
|
|
332
366
|
* @hidden
|
|
333
367
|
* on keydown append active styles on actionable item
|
|
@@ -379,14 +413,22 @@ export class BaseListItem extends BaseComponent {
|
|
|
379
413
|
_onKeyboardClick(event) {
|
|
380
414
|
this.checkboxComponent?.nextValue();
|
|
381
415
|
this.radioButtonComponent?.valueChange(event);
|
|
382
|
-
this.
|
|
416
|
+
this._cd.markForCheck();
|
|
383
417
|
const $event = new ModifyItemEvent();
|
|
384
418
|
$event.source = this;
|
|
385
419
|
this.itemSelected.emit($event);
|
|
386
420
|
}
|
|
421
|
+
/** @hidden */
|
|
422
|
+
_setAttrRole() {
|
|
423
|
+
this._defaultRole =
|
|
424
|
+
this.rowSelection || this.selectionMode === 'single' || this.selectionMode === 'multi'
|
|
425
|
+
? 'option'
|
|
426
|
+
: 'listitem';
|
|
427
|
+
this._cd.detectChanges();
|
|
428
|
+
}
|
|
387
429
|
}
|
|
388
430
|
BaseListItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseListItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.ListConfig }, { token: FD_LIST_UNREAD_INDICATOR, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
389
|
-
BaseListItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: BaseListItem, inputs: { ariaLabelledBy: "ariaLabelledBy", ariaLevel: "ariaLevel",
|
|
431
|
+
BaseListItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: BaseListItem, inputs: { ariaLabelledBy: "ariaLabelledBy", ariaLevel: "ariaLevel", ariaPosinset: "ariaPosinset", avatar: "avatar", avatarSrc: "avatarSrc", avatarTitle: "avatarTitle", counter: "counter", description: "description", inverted: "inverted", noDataText: "noDataText", statusType: "statusType", secondary: "secondary", secondaryWrap: "secondaryWrap", title: "title", link: "link", titleWrap: "titleWrap", titleIcon: "titleIcon", icon: "icon", unRead: "unRead", value: "value", selectionMode: "selectionMode", listType: "listType", navigated: "navigated", navigationIndicator: "navigationIndicator", role: "role", selectionValue: "selectionValue" }, outputs: { itemSelected: "itemSelected", itemCheckboxSelected: "itemCheckboxSelected", buttonClicked: "buttonClicked" }, host: { listeners: { "click": "_onClick($event)", "keydown": "_handleKeyboardEvent($event)", "focusout": "_onBlur($event)" } }, viewQueries: [{ propertyName: "listItem", first: true, predicate: ["listItem"], descendants: true, read: ElementRef }, { propertyName: "anchor", first: true, predicate: ["linkElement"], descendants: true, read: ElementRef }, { propertyName: "edit", first: true, predicate: ["edit"], descendants: true, read: ElementRef }, { propertyName: "delete", first: true, predicate: ["delete"], descendants: true, read: ElementRef }, { propertyName: "checkboxComponent", first: true, predicate: CheckboxComponent, descendants: true }, { propertyName: "radioButtonComponent", first: true, predicate: RadioButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0 });
|
|
390
432
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseListItem, decorators: [{
|
|
391
433
|
type: Directive
|
|
392
434
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.ListConfig }, { type: undefined, decorators: [{
|
|
@@ -398,7 +440,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
398
440
|
type: Input
|
|
399
441
|
}], ariaLevel: [{
|
|
400
442
|
type: Input
|
|
401
|
-
}],
|
|
443
|
+
}], ariaPosinset: [{
|
|
402
444
|
type: Input
|
|
403
445
|
}], avatar: [{
|
|
404
446
|
type: Input
|
|
@@ -483,4 +525,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
483
525
|
type: HostListener,
|
|
484
526
|
args: ['focusout', ['$event']]
|
|
485
527
|
}] } });
|
|
486
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvbGlzdC9iYXNlLWxpc3QtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxPQUFPLEVBQWUsT0FBTyxFQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFFeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sS0FBSyxNQUFNLGlCQUFpQixDQUFDO0FBR3BDLE9BQU8sRUFBRSx3QkFBd0IsRUFBdUIsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBRTNGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUM7QUFDM0MsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0FBR3ZCLE1BQU0sT0FBTyxjQUFjO0lBQTNCO1FBS0ksNEJBQTRCO1FBQzVCLFVBQUssR0FBMkIsRUFBRSxDQUFDO1FBQ25DOzs7V0FHRztRQUNILFNBQUksR0FBMEIsV0FBVyxDQUFDO0lBRzlDLENBQUM7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QUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRU5URVIsIFNQQUNFIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcblxuaW1wb3J0IHsgQ29sb3JBY2NlbnQsIEtleVV0aWwsIFNpemUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NoZWNrYm94JztcbmltcG9ydCB7IFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3JhZGlvJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIGlzUHJlc2VudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7IExpc3RDb25maWcgfSBmcm9tICcuL2xpc3QuY29uZmlnJztcbmltcG9ydCB7IEZkcExpc3RDb21wb25lbnQgfSBmcm9tICcuL2ZkcExpc3RDb21wb25lbnQudG9rZW4nO1xuaW1wb3J0IG1lcmdlIGZyb20gJ2xvZGFzaC1lcy9tZXJnZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgRmRwTGlzdCwgTGlzdFR5cGUsIFNlbGVjdGlvblR5cGUgfSBmcm9tICcuL21vZGVscy9saXN0JztcbmltcG9ydCB7IEZEX0xJU1RfVU5SRUFEX0lORElDQVRPUiwgTGlzdFVucmVhZEluZGljYXRvciB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9saXN0JztcblxuZXhwb3J0IGNvbnN0IElTX0FDVElWRV9DTEFTUyA9ICdpcy1hY3RpdmUnO1xubGV0IG5leHRMaXN0SXRlbUlkID0gMDtcbmV4cG9ydCB0eXBlIFN0YXR1c1R5cGUgPSAnbmVnYXRpdmUnIHwgJ2NyaXRpY2FsJyB8ICdwb3NpdGl2ZScgfCAnaW5mb3JtYXRpdmUnO1xuXG5leHBvcnQgY2xhc3MgTGlzdEljb25Db25maWcge1xuICAgIC8qKiBUaGUgaWNvbiBuYW1lIHRvIGRpc3BsYXkuIFNlZSB0aGUgaWNvbiBwYWdlIGZvciB0aGUgbGlzdCBvZiBpY29uc1xuICAgICAqIGhlcmU6IGh0dHBzOi8vc2FwLmdpdGh1Yi5pby9mdW5kYW1lbnRhbC1uZ3gvaWNvblxuICAgICAqICovXG4gICAgZ2x5cGg6IEljb25Db21wb25lbnRbJ2dseXBoJ107XG4gICAgLyoqIHVzZXIncyBjdXN0b20gY2xhc3NlcyAqL1xuICAgIGNsYXNzOiBJY29uQ29tcG9uZW50WydjbGFzcyddID0gJyc7XG4gICAgLyoqXG4gICAgICogVGhlIGljb24gZm9udFxuICAgICAqIE9wdGlvbnMgaW5jbHVkZTogJ1NBUC1pY29ucycsICdCdXNpbmVzc1N1aXRlSW5BcHBTeW1ib2xzJyBhbmQgJ1NBUC1pY29ucy1UTlQnXG4gICAgICovXG4gICAgZm9udDogSWNvbkNvbXBvbmVudFsnZm9udCddID0gJ1NBUC1pY29ucyc7XG4gICAgLyoqIEFyaWEtbGFiZWwgZm9yIEljb24uICovXG4gICAgYXJpYUxhYmVsOiBJY29uQ29tcG9uZW50WydhcmlhTGFiZWwnXTtcbn1cblxuZXhwb3J0IGNsYXNzIExpc3RBdmF0YXJDb25maWcge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY2xhc3MgPSAnJztcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBhcmlhTGFiZWxsZWRieTogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBsYWJlbDogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzaXplOiBTaXplID0gJ3MnO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2x5cGg6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgem9vbUdseXBoOiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNpcmNsZSA9IGZhbHNlO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdHJhbnNwYXJlbnQgPSBmYWxzZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnRhaW4gPSBmYWxzZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHBsYWNlaG9sZGVyID0gZmFsc2U7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB0aWxlID0gZmFsc2U7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBib3JkZXIgPSBmYWxzZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbG9yQWNjZW50OiBOdWxsYWJsZTxDb2xvckFjY2VudD4gPSBudWxsO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmFuZG9tID0gZmFsc2U7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjbGlja2FibGUgPSBmYWxzZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGltYWdlOiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGFsdGVySWNvbjogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBiYWNrdXBJbWFnZTogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG59XG5cbi8qKlxuICogQmFzZSBpbnRlcmZhY2UgZm9yIGEgbGlzdCB2YXJpYW50IGRlZmluaXRpb24uXG4gKiBDYXB0dXJlcyBhIGxpc3QgaXRlbSB0ZW1wbGF0ZSBkZWZpbml0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEl0ZW1EZWYge1xuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RBZHZhbmNlZERlc2NyaXB0aW9uIHtcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgYXJpYUxhYmVsPzogc3RyaW5nO1xuICAgIHRpdGxlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBMaXN0RGVzY3JpcHRpb24gPSBzdHJpbmcgfCBMaXN0QWR2YW5jZWREZXNjcmlwdGlvbjtcblxuZXhwb3J0IGNsYXNzIE1vZGlmeUl0ZW1FdmVudCB7XG4gICAgLyoqIExpc3QgSXRlbSBjb21wb25lbnQgKi9cbiAgICBzb3VyY2U6IEJhc2VMaXN0SXRlbTtcbiAgICAvKiogQWN0aW9uICovXG4gICAgYWN0aW9uOiAnZGVsZXRlJyB8ICdlZGl0Jztcbn1cblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2ZkcEl0ZW1EZWZdJyB9KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1EZWYgaW1wbGVtZW50cyBJdGVtRGVmIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKC8qKiBAZG9jcy1wcml2YXRlICovIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge31cbn1cblxuLyoqXG4gKiBUaGlzIGNsYXNzIGNvbnRhaW5zIGNvbW1vbiBwcm9wZXJ0aWVzIHVzZWQgYWNyb3NzIGxpc3QgSXRlbSBjb21wb25lbnRzLlxuICogdGhpcyBjYW4gYmUgZXh0ZW5kZWQgdG8gcmVkdWNlIHRoZSBjb2RlIGR1cGxpY2F0aW9uIGFjcm9zcyBsaXN0IEl0ZW0gY29tcG9uZW50cy5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgQmFzZUxpc3RJdGVtIGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgT25EZXN0cm95IHtcbiAgICAvKiogZGVmaW5lIGxhYmVsIGZvciBzY3JlZW4gcmVhZGVyICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWxsZWRCeTogc3RyaW5nO1xuXG4gICAgLyoqIGRlZmluZSBsZXZlbCBvZiBpdGVtIGZvciBzY3JlZW4gcmVhZGVyICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGV2ZWw6IG51bWJlcjtcblxuICAgIC8qKiBkZWZpbmUgcG9zaXRpb24gb2YgaXRlbSBmb3Igc2NyZWVuIHJlYWRlciAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYVBvc2luZXQ6IG51bWJlcjtcblxuICAgIC8qKiBBdmF0YXIgY29tcG9uZW50IHByb3BlcnRpZXMuIEBzZWUgQXZhdGFyQ29tcG9uZW50IGZvciBtb3JlIGRldGFpbHMgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBhdmF0YXIodmFsdWU6IFBhcnRpYWw8TGlzdEF2YXRhckNvbmZpZz4gfCBzdHJpbmcpIHtcbiAgICAgICAgdmFsdWUgPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8geyBpbWFnZTogdmFsdWUgfSA6IHZhbHVlO1xuICAgICAgICB0aGlzLl9hdmF0YXJDb25maWcgPSBtZXJnZShuZXcgTGlzdEF2YXRhckNvbmZpZygpLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IGF2YXRhcigpOiBMaXN0QXZhdGFyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F2YXRhckNvbmZpZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqIFVzZSBgYXZhdGFyYCBwcm9wZXJ0eSBmb3IgbW9yZSBmbGV4aWJsZSBjb25maWd1cmF0aW9uLlxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogQXR0cmlidXRlIHRvIGhvbGQgYXZhdGFyIHBhdGhcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBhdmF0YXJTcmModmFsdWU6IE51bGxhYmxlPHN0cmluZz4pIHtcbiAgICAgICAgdGhpcy5fYXZhdGFyQ29uZmlnID0gbWVyZ2UodGhpcy5fYXZhdGFyQ29uZmlnLCB7IGltYWdlOiB2YWx1ZSB9KTtcbiAgICB9XG5cbiAgICBnZXQgYXZhdGFyU3JjKCk6IE51bGxhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hdmF0YXI/LmltYWdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICogVXNlIGBhdmF0YXJgIHByb3BlcnR5IGZvciBtb3JlIGZsZXhpYmxlIGNvbmZpZ3VyYXRpb24uXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBBdHRyaWJ1dGUgdG8gaG9sZCBhdmF0YXIgdGl0bGUgZm9yIGExMXlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBhdmF0YXJUaXRsZSh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLl9hdmF0YXJDb25maWcgPSBtZXJnZSh0aGlzLl9hdmF0YXJDb25maWcsIHsgYXJpYUxhYmVsOiB2YWx1ZSB9KTtcbiAgICB9XG5cbiAgICBnZXQgYXZhdGFyVGl0bGUoKTogTnVsbGFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmF2YXRhcj8uYXJpYUxhYmVsO1xuICAgIH1cblxuICAgIC8qKiBhdHRyaWJ1dGUgdG8gaG9sZCBjb3VudGVyIHZhbHVlICovXG4gICAgQElucHV0KClcbiAgICBjb3VudGVyPzogc3RyaW5nO1xuXG4gICAgLyoqIERlc2NyaXB0aW9uIG9mIHRoZSB0aXRsZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGVzY3JpcHRpb246IE51bGxhYmxlPExpc3REZXNjcmlwdGlvbj47XG5cbiAgICAvKiogVG8gaW52ZXJ0IHRoZSBzdGF0dXMgb2Ygc2Vjb25kYXJ5IHRleHQgKi9cbiAgICBASW5wdXQoKVxuICAgIGludmVydGVkID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGVyZSBpcyBubyBkYXRhIGluc2lkZSBsaXN0IGl0ZW0gKi9cbiAgICBASW5wdXQoKVxuICAgIG5vRGF0YVRleHQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSB0eXBlIG9mIHRoZSBzZWNvbmRhcnkgdGV4dC5mZC1saXN0X19ieWxpbmUtcmlnaHQtLSpcbiAgICAgKiBDYW4gYmUgb25lIG9mICpwb3NpdGl2ZSosICpuZWdhdGl2ZSosICppbmZvcm1hdGl2ZSosICpjcml0aWNhbCosICpuZXV0cmFsXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGF0dXNUeXBlPzogU3RhdHVzVHlwZTtcblxuICAgIC8qKiBhdHRyaWJ1dGUgdG8gaG9sZCBzZWNvbmRhcnkgdGV4dCovXG4gICAgQElucHV0KClcbiAgICBzZWNvbmRhcnk6IE51bGxhYmxlPExpc3REZXNjcmlwdGlvbj47XG5cbiAgICAvKipcbiAgICAgKiBFbmFibGluZyB0aGlzIGZsYWcgY2F1c2VzIGZvcmNpbmcgc2Vjb25kYXJ5IGl0ZW0gZGlyZWN0aXZlIHRvIG5vdCB3cmFwIHRleHQsXG4gICAgICogaW5zdGVhZCBvZiB3cmFwcGluZyB0aGVyZSB3aWxsIGJlIHRleHQgdHJ1bmNhdGlvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2Vjb25kYXJ5V3JhcD86IGJvb2xlYW47XG5cbiAgICAvKiogVG9vbHRpcCB0ZXh0IHRvIHNob3cgd2hlbiBmb2N1c2VkIGZvciBtb3JlIHRoYW4gdGltZW91dCB2YWx1ZSovXG4gICAgQElucHV0KClcbiAgICB0aXRsZT86IHN0cmluZztcblxuICAgIC8qKiBVc2VkIGZvciBwbGFjZWluZyBuYXZpZ2F0aW9uIExpbmsgKi9cbiAgICBASW5wdXQoKVxuICAgIGxpbms6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKipcbiAgICAgKiBFbmFibGluZyB0aGlzIGZsYWcgY2F1c2VzIGZvcmNpbmcgdGl0bGUgZGlyZWN0aXZlIHRvIG5vdCB3cmFwIHRleHQsXG4gICAgICogaW5zdGVhZCBvZiB3cmFwcGluZyB0aGVyZSB3aWxsIGJlIHRleHQgdHJ1bmNhdGlvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGl0bGVXcmFwPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFNlZSBgaWNvbmAgaW5wdXQgcHJvcGVydHkgZm9yIG1vcmUgZmxleGlibGUgaWNvbiBjb25maWd1cmF0aW9uLlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIGF0dHJpYnV0ZSB0byBob2xkIHByaW1hcnkvdGl0bGUgaWNvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRpdGxlSWNvbih2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLl9pY29uQ29uZmlnID0gbWVyZ2UobmV3IExpc3RJY29uQ29uZmlnKCksIHsgZ2x5cGg6IHZhbHVlLCBhcmlhTGFiZWw6IHZhbHVlIH0pO1xuICAgIH1cblxuICAgIGdldCB0aXRsZUljb24oKTogTnVsbGFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pY29uQ29uZmlnLmdseXBoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExpc3QgaXRlbSBpY29uIGNvbmZpZ3VyYXRpb24uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgaWNvbih2YWx1ZTogUGFydGlhbDxMaXN0SWNvbkNvbmZpZz4pIHtcbiAgICAgICAgdGhpcy5faWNvbkNvbmZpZyA9IG1lcmdlKG5ldyBMaXN0SWNvbkNvbmZpZygpLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IGljb24oKTogTGlzdEljb25Db25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5faWNvbkNvbmZpZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzZXRzIHRoZSBsaXN0IGl0ZW0gaW4gYm9sZCB0ZXh0XG4gICAgICogd2hpY2ggcmVzcHJlc2VudHMgdW5yZWFkIGRhdGFcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHVuUmVhZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gZGlzcGxheSB1bnJlYWQgbm90aWZpY2F0aW9uIGNpcmNsZS5cbiAgICAgKi9cbiAgICBnZXQgZGlzcGxheVVucmVhZE5vdGlmaWNhdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fbGlzdD8udW5yZWFkSW5kaWNhdG9yO1xuICAgIH1cblxuICAgIC8qKiByYWRpbyBidXR0b24gdmFsdWUgKi9cbiAgICBASW5wdXQoKVxuICAgIHZhbHVlOiBzdHJpbmc7XG5cbiAgICAvKiogQnkgZGVmYXVsdCBzZWxlY3Rpb24gbW9kZSBpcyAnbm9uZScgKi9cbiAgICBASW5wdXQoKVxuICAgIHNlbGVjdGlvbk1vZGU6IFNlbGVjdGlvblR5cGUgPSAnbm9uZSc7XG5cbiAgICAvKiogQnkgZGVmYXVsdCBzZWxlY3Rpb24gbW9kZSBpcyAnYWN0aXZlJyAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGlzdFR5cGU6IExpc3RUeXBlID0gJ2FjdGl2ZSc7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIE5hdmlnYXRpb24gbW9kZSBpcyBpbmNsdWRlZCB0byBsaXN0IGNvbXBvbmVudFxuICAgICAqIGZvciBhbGwgdGhlIGl0ZW1zXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBuYXZpZ2F0ZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgTmF2aWdhdGlvbiBtb2RlIGlzIGluY2x1ZGVkIHRvIGxpc3QgY29tcG9uZW50XG4gICAgICogb25seSBhIHN1YnNldCBvZiB0aGUgbGlzdCBpdGVtcyBhcmUgbmF2aWdhYmxlXG4gICAgICogeW91IHNob3VsZCBpbmRpY2F0ZSB0aG9zZSBieSBkaXNwbGF5aW5nIGEgbmF2aWdhdGlvbiBhcnJvd1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbmF2aWdhdGlvbkluZGljYXRvciA9IGZhbHNlO1xuXG4gICAgLyoqIHJvbGUgKi9cbiAgICBASW5wdXQoKVxuICAgIHJvbGUgPSAnb3B0aW9uJztcblxuICAgIC8qKlxuICAgICAqIGV2ZW50IGVtaXR0ZXIgZm9yIHNlbGVjdGVkIGl0ZW1cbiAgICAgKiBzZXByYXRlIFBSIGZvciBjdXN0b20gZXZlbnRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBpdGVtU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vZGlmeUl0ZW1FdmVudD4oKTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgZm9yIHNlbGVjdGVkIGl0ZW0gdGhyb3VnaCB0aGUgY2hlY2tib3guXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgaXRlbUNoZWNrYm94U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vZGlmeUl0ZW1FdmVudD4oKTtcblxuICAgIC8qKiBFdmVudCBzZW50IHdoZW4gZGVsZXRlLCBkZXRhaWxzIG9yIGFueSBvdGhlciBhY3Rpb24gYnV0dG9ucyBhcmUgY2xpY2tlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vZGlmeUl0ZW1FdmVudD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnbGlzdEl0ZW0nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICBsaXN0SXRlbTogRWxlbWVudFJlZjxIVE1MTElFbGVtZW50PjtcblxuICAgIC8qKiBBY2Nlc3MgY2hpbGQgZWxlbWVudCwgZm9yIGNoZWNraW5nIGxpbmsgY29udGVudCovXG4gICAgQFZpZXdDaGlsZCgnbGlua0VsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICBhbmNob3I6IEVsZW1lbnRSZWY8SFRNTExpbmtFbGVtZW50PjtcblxuICAgIC8qKiBBY2Nlc3MgZWRpdCBidXR0b24qL1xuICAgIEBWaWV3Q2hpbGQoJ2VkaXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICBlZGl0OiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICAgIC8qKiBBY2Nlc3MgZGVsZXRlIGJ1dHRvbiovXG4gICAgQFZpZXdDaGlsZCgnZGVsZXRlJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgZGVsZXRlOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChDaGVja2JveENvbXBvbmVudClcbiAgICBjaGVja2JveENvbXBvbmVudDogQ2hlY2tib3hDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoUmFkaW9CdXR0b25Db21wb25lbnQpXG4gICAgcmFkaW9CdXR0b25Db21wb25lbnQ6IFJhZGlvQnV0dG9uQ29tcG9uZW50O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFdoZXRoZXIgQnkgbGluZSBtb2RlIGlzIGluY2x1ZGVkIHRvIGxpc3QgY29tcG9uZW50LCBieSB3aGljaFxuICAgICAqIGxpc3QgaXRlbSB3aWxsIGFjY29tZGF0ZSB0aGUgZGF0YSBpbiAyIGNvbHVtblxuICAgICAqL1xuICAgIF9oYXNCeUxpbmUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBXaGV0aGVyIGxpc3RpdGVtIGhhcyByb3cgbGV2ZWwgc2VsZWN0aW9uIGVuYWJsZWRcbiAgICAgKi9cbiAgICByb3dTZWxlY3Rpb246IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogV2hldGhlciBsaXN0aXRlbSBpcyBzZWxlY3RlZCBiaW5kZWQgdG8gdGVtcGxhdGVcbiAgICAgKi9cbiAgICBfc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBnZXQgdGhlIGZvY3VzZWQgZWxlbWVudCBmb3Iga2V5IG1hbmFnZXJcbiAgICAgKi9cbiAgICBfZm9jdXNlZDogYm9vbGVhbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdENvbXBvbmVudCA9IGluamVjdDxGZHBMaXN0PihGZHBMaXN0Q29tcG9uZW50KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXZhdGFyQ29uZmlnOiBMaXN0QXZhdGFyQ29uZmlnID0gbmV3IExpc3RBdmF0YXJDb25maWcoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaWNvbkNvbmZpZzogTGlzdEljb25Db25maWcgPSBuZXcgTGlzdEljb25Db25maWcoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwdWJsaWMgaXRlbUVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJvdGVjdGVkIF9saXN0Q29uZmlnOiBMaXN0Q29uZmlnLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZEX0xJU1RfVU5SRUFEX0lORElDQVRPUikgcHJpdmF0ZSByZWFkb25seSBfbGlzdDogTGlzdFVucmVhZEluZGljYXRvclxuICAgICkge1xuICAgICAgICBzdXBlcihfY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiByYWRpbyBidXR0b24gc2VsZWN0ZWQgdmFsdWUgYmluZGVkIHRvIHRlbXBsYXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2VsZWN0aW9uVmFsdWU6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogU2VsZWN0aW9uIHZhbHVlICovXG4gICAgQElucHV0KClcbiAgICBzZXQgc2VsZWN0aW9uVmFsdWUodmFsdWU6IE51bGxhYmxlPHN0cmluZz4pIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGlvblZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5zZWxlY3Rpb25WYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0aGlzLnZhbHVlID09PSB0aGlzLl9zZWxlY3Rpb25WYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgc2VsZWN0aW9uVmFsdWUoKTogTnVsbGFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25WYWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogU2hvdyBuYXZpZ2F0aW9uIGZvciBzaW5nbGUgbGlzdFxuICAgICAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlkID0gYGZkcC1saXN0LWl0ZW0tJHtuZXh0TGlzdEl0ZW1JZCsrfWA7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5pdGVtU2VsZWN0ZWQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGlzdENvbXBvbmVudC5fc2V0dXBMaXN0SXRlbSh0aGlzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVG8gZGV0ZWN0IGNoYW5nZXMgZnJvbSBwYXJlbnQtbGlzdGJveCB0byBsaXN0IGl0ZW1cbiAgICAgKiBmb3IgZXhhbXBsZSBzaW5nbGUsIG11bHRpIG9wdGlvbiBzZWxlY3Rpb24gdGhvc2UgZGV0YWlsc1xuICAgICAqIHdpbGwgYmUgZGVkdWN0ZWQgaW4gbGlzdCBpdGVtXG4gICAgICovXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50SXRlbTogTnVsbGFibGU8SFRNTExJRWxlbWVudD4gPSB0aGlzLml0ZW1FbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2xpJyk7XG4gICAgICAgIGlmICghY3VycmVudEl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGN1cnJlbnRJdGVtLnNldEF0dHJpYnV0ZSgncm9sZScsICdvcHRpb24nKTtcbiAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IGN1cnJlbnRJdGVtLnBhcmVudE5vZGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJiBjdXJyZW50SXRlbS5wYXJlbnROb2RlO1xuICAgICAgICBpZiAocGFyZW50Tm9kZSkge1xuICAgICAgICAgICAgcGFyZW50Tm9kZS5yZW1vdmVBdHRyaWJ1dGUoJ3RpdGxlJyk7XG4gICAgICAgICAgICBwYXJlbnROb2RlLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucm93U2VsZWN0aW9uIHx8IHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gJ211bHRpJyB8fCB0aGlzLnNlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgICAgICBjdXJyZW50SXRlbS5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCBgJHshIXRoaXMuX3NlbGVjdGVkfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBDcmVhdGVkIGZvY3VzIG9uIGxpc3QgaXRlbSBvbiBtb3VzZWNsaWNrLFxuICAgICAqIFVwLGRvd24gYXJyb3cgcHJlc3NcbiAgICAgKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5saXN0SXRlbS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvZ3JhbW1hdGljYWxseSBzZXQgc2VsZWN0ZWQgc3RhdGUgb2YgdGhlIGxpc3QgaXRlbS5cbiAgICAgKiBAcGFyYW0gc2VsZWN0ZWQgV2hldGhlciB0aGUgbGlzdCBpdGVtIGlzIHNlbGVjdGVkXG4gICAgICovXG4gICAgc2V0U2VsZWN0ZWQoc2VsZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHNlbGVjdGVkID09PSB0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IE1vZGlmeUl0ZW1FdmVudCgpO1xuICAgICAgICBldmVudC5zb3VyY2UgPSB0aGlzO1xuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIE9uIGl0ZW0gY2xpY2sgZXZlbnQgd2lsbCBiZSBlbWl0dGVkXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIF9vbkl0ZW1DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucm93U2VsZWN0aW9uICYmIHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gJ211bHRpJykge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSAhdGhpcy5fc2VsZWN0ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBNb2RpZnlJdGVtRXZlbnQoKTtcbiAgICAgICAgZXZlbnQuc291cmNlID0gdGhpcztcbiAgICAgICAgdGhpcy5fZm9jdXNlZCA9ICF0aGlzLl9mb2N1c2VkO1xuICAgICAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBfaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIUtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbRU5URVIsIFNQQUNFXSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNoZWNrYm94Q29tcG9uZW50IHx8IHRoaXMucmFkaW9CdXR0b25Db21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX29uS2V5Ym9hcmRDbGljayhldmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFuY2hvcj8ubmF0aXZlRWxlbWVudC5jbGljaygpO1xuXG4gICAgICAgIGlmICh0aGlzLnJvd1NlbGVjdGlvbikge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSAhdGhpcy5fc2VsZWN0ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCAkZXZlbnQgPSBuZXcgTW9kaWZ5SXRlbUV2ZW50KCk7XG4gICAgICAgICRldmVudC5zb3VyY2UgPSB0aGlzO1xuICAgICAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KCRldmVudCk7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBIYW5kbGVyIGZvciBtb3VzZSBldmVudHNcbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgX29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2hlY2tib3hDb21wb25lbnQgJiYgIXRoaXMuYW5jaG9yKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuY2hlY2tib3hDb21wb25lbnQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSkge1xuICAgICAgICAgICAgICAgIC8vIGNsaWNraW5nIG9uIHRoZSBjaGVja2JveCBpcyBub3Qgc3VwcHJlc3NlZFxuICAgICAgICAgICAgICAgIC8vIHNvIHdlIHNob3VsZCBvbmx5IHByb2Nlc3MgY2xpY2tzIGlmIGNsaWNrZWQgb24gdGhlIGxpc3QtaXRlbSwgbm90IGNoZWNrYm94IGl0c2VsZlxuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tib3hDb21wb25lbnQubmV4dFZhbHVlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucmFkaW9CdXR0b25Db21wb25lbnQ/LnZhbHVlQ2hhbmdlKGV2ZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICBjb25zdCAkZXZlbnQgPSBuZXcgTW9kaWZ5SXRlbUV2ZW50KCk7XG4gICAgICAgICRldmVudC5zb3VyY2UgPSB0aGlzO1xuICAgICAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KCRldmVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIGhlbHBzIHRvIGF2b2lkIG11bHRpIHJvd3MgYWN0aXZlIGNsYXNzIHdpdGggbmF2aWdhdGlvblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgWyckZXZlbnQnXSlcbiAgICBfb25CbHVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChpc1ByZXNlbnQodGhpcy5hbmNob3IpICYmICFLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0VOVEVSLCBTUEFDRV0pKSB7XG4gICAgICAgICAgICB0aGlzLmFuY2hvci5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoSVNfQUNUSVZFX0NMQVNTKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBvbiBrZXlkb3duIGFwcGVuZCBhY3RpdmUgc3R5bGVzIG9uIGFjdGlvbmFibGUgaXRlbVxuICAgICAqL1xuICAgIF9vbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzUHJlc2VudCh0aGlzLmFuY2hvcikgJiYgS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtFTlRFUiwgU1BBQ0VdKSkge1xuICAgICAgICAgICAgdGhpcy5hbmNob3IubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKElTX0FDVElWRV9DTEFTUyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogb24ga2V5dXAgcmVtb3ZlIGFjdGl2ZSBzdHlsZXMgZnJvbSBhY3Rpb25hYmxlIGl0ZW1cbiAgICAgKi9cbiAgICBfb25LZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoaXNQcmVzZW50KHRoaXMuYW5jaG9yKSAmJiBLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0VOVEVSLCBTUEFDRV0pKSB7XG4gICAgICAgICAgICB0aGlzLmFuY2hvci5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoSVNfQUNUSVZFX0NMQVNTKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uQ2hlY2tib3hNb2RlbENoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgTW9kaWZ5SXRlbUV2ZW50KCk7XG4gICAgICAgIGV2ZW50LnNvdXJjZSA9IHRoaXM7XG4gICAgICAgIHRoaXMuaXRlbUNoZWNrYm94U2VsZWN0ZWQuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEhhbmRsZXMgYWN0aW9uIGJ1dHRvbiBjbGlja1xuICAgICAqL1xuICAgIF9vbkFjdGlvbkJ1dHRvbkNsaWNrKGFjdGlvbjogJ2RlbGV0ZScgfCAnZWRpdCcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgTW9kaWZ5SXRlbUV2ZW50KCk7XG4gICAgICAgIGV2ZW50LnNvdXJjZSA9IHRoaXM7XG4gICAgICAgIGV2ZW50LmFjdGlvbiA9IGFjdGlvbjtcbiAgICAgICAgdGhpcy5idXR0b25DbGlja2VkLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBIYW5kbGVzIGFjdGlvbiBidXR0b24gY2xpY2sgb24ga2V5IHByZXNzXG4gICAgICovXG4gICAgX29uS2V5QnV0dG9uQ2xpY2soZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGFjdGlvbjogJ2RlbGV0ZScgfCAnZWRpdCcpOiB2b2lkIHtcbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbRU5URVIsIFNQQUNFXSkpIHtcbiAgICAgICAgICAgIHRoaXMuX29uQWN0aW9uQnV0dG9uQ2xpY2soYWN0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2lzQWR2YW5jZWRUZXh0KHRleHQ6IExpc3REZXNjcmlwdGlvbik6IHRleHQgaXMgTGlzdEFkdmFuY2VkRGVzY3JpcHRpb24ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHRleHQgIT09ICdzdHJpbmcnICYmICEhdGV4dC50ZXh0O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfb25LZXlib2FyZENsaWNrKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tib3hDb21wb25lbnQ/Lm5leHRWYWx1ZSgpO1xuICAgICAgICB0aGlzLnJhZGlvQnV0dG9uQ29tcG9uZW50Py52YWx1ZUNoYW5nZShldmVudCk7XG5cbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIGNvbnN0ICRldmVudCA9IG5ldyBNb2RpZnlJdGVtRXZlbnQoKTtcbiAgICAgICAgJGV2ZW50LnNvdXJjZSA9IHRoaXM7XG4gICAgICAgIHRoaXMuaXRlbVNlbGVjdGVkLmVtaXQoJGV2ZW50KTtcbiAgICB9XG59XG4iXX0=
|
|
528
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvbGlzdC9iYXNlLWxpc3QtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBR0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFlLE9BQU8sRUFBa0IsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVuRSxPQUFPLEVBQUUsd0JBQXdCLEVBQXVCLE1BQU0sNEJBQTRCLENBQUM7QUFDM0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWxDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUczQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDO0FBQzNDLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztBQUd2QixNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUtJLDRCQUE0QjtRQUM1QixVQUFLLEdBQTJCLEVBQUUsQ0FBQztRQUNuQzs7O1dBR0c7UUFDSCxTQUFJLEdBQTBC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QUFJO3NCQURQLEtBQUs7Z0JBY04sTUFBTTtzQkFETCxLQUFLO2dCQVlOLEtBQUs7c0JBREosS0FBSztnQkFLRixhQUFhO3NCQURoQixLQUFLO2dCQVlOLFFBQVE7c0JBRFAsS0FBSztnQkFRTixTQUFTO3NCQURSLEtBQUs7Z0JBU04sbUJBQW1CO3NCQURsQixLQUFLO2dCQUtOLElBQUk7c0JBREgsS0FBSztnQkFRTixZQUFZO3NCQURYLE1BQU07Z0JBT1Asb0JBQW9CO3NCQURuQixNQUFNO2dCQUtQLGFBQWE7c0JBRFosTUFBTTtnQkFLUCxRQUFRO3NCQURQLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFLM0MsTUFBTTtzQkFETCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSzlDLElBQUk7c0JBREgsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUt2QyxNQUFNO3NCQURMLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFLekMsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLGlCQUFpQjtnQkFLNUIsb0JBQW9CO3NCQURuQixTQUFTO3VCQUFDLG9CQUFvQjtnQkF1RjNCLGNBQWM7c0JBRGpCLEtBQUs7Z0JBaUJOLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxPQUFPO2dCQWVyQixvQkFBb0I7c0JBRG5CLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQTJCbkMsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkF1QmpDLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nICovXG5pbXBvcnQgeyBFTlRFUiwgU1BBQ0UgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29sb3JBY2NlbnQsIEtleVV0aWwsIE51bGxhYmxlLCBTaXplIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY2hlY2tib3gnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pY29uJztcbmltcG9ydCB7IEZEX0xJU1RfVU5SRUFEX0lORElDQVRPUiwgTGlzdFVucmVhZEluZGljYXRvciB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9saXN0JztcbmltcG9ydCB7IFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3JhZGlvJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIGlzUHJlc2VudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZkcExpc3RDb21wb25lbnQgfSBmcm9tICcuL2ZkcExpc3RDb21wb25lbnQudG9rZW4nO1xuaW1wb3J0IHsgTGlzdENvbmZpZyB9IGZyb20gJy4vbGlzdC5jb25maWcnO1xuaW1wb3J0IHsgRmRwTGlzdCwgTGlzdFR5cGUsIFNlbGVjdGlvblR5cGUgfSBmcm9tICcuL21vZGVscy9saXN0JztcblxuZXhwb3J0IGNvbnN0IElTX0FDVElWRV9DTEFTUyA9ICdpcy1hY3RpdmUnO1xubGV0IG5leHRMaXN0SXRlbUlkID0gMDtcbmV4cG9ydCB0eXBlIFN0YXR1c1R5cGUgPSAnbmVnYXRpdmUnIHwgJ2NyaXRpY2FsJyB8ICdwb3NpdGl2ZScgfCAnaW5mb3JtYXRpdmUnO1xuXG5leHBvcnQgY2xhc3MgTGlzdEljb25Db25maWcge1xuICAgIC8qKiBUaGUgaWNvbiBuYW1lIHRvIGRpc3BsYXkuIFNlZSB0aGUgaWNvbiBwYWdlIGZvciB0aGUgbGlzdCBvZiBpY29uc1xuICAgICAqIGhlcmU6IGh0dHBzOi8vc2FwLmdpdGh1Yi5pby9mdW5kYW1lbnRhbC1uZ3gvaWNvblxuICAgICAqICovXG4gICAgZ2x5cGg6IEljb25Db21wb25lbnRbJ2dseXBoJ107XG4gICAgLyoqIHVzZXIncyBjdXN0b20gY2xhc3NlcyAqL1xuICAgIGNsYXNzOiBJY29uQ29tcG9uZW50WydjbGFzcyddID0gJyc7XG4gICAgLyoqXG4gICAgICogVGhlIGljb24gZm9udFxuICAgICAqIE9wdGlvbnMgaW5jbHVkZTogJ1NBUC1pY29ucycsICdCdXNpbmVzc1N1aXRlSW5BcHBTeW1ib2xzJyBhbmQgJ1NBUC1pY29ucy1UTlQnXG4gICAgICovXG4gICAgZm9udDogSWNvbkNvbXBvbmVudFsnZm9udCddID0gJ1NBUC1pY29ucyc7XG4gICAgLyoqIEFyaWEtbGFiZWwgZm9yIEljb24uICovXG4gICAgYXJpYUxhYmVsOiBJY29uQ29tcG9uZW50WydhcmlhTGFiZWwnXTtcbn1cblxuZXhwb3J0IGNsYXNzIExpc3RBdmF0YXJDb25maWcge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY2xhc3MgPSAnJztcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBhcmlhTGFiZWxsZWRieTogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBsYWJlbDogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzaXplOiBTaXplID0gJ3MnO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2x5cGg6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgem9vbUdseXBoOiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNpcmNsZSA9IGZhbHNlO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdHJhbnNwYXJlbnQgPSBmYWxzZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnRhaW4gPSBmYWxzZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHBsYWNlaG9sZGVyID0gZmFsc2U7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB0aWxlID0gZmFsc2U7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBib3JkZXIgPSBmYWxzZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbG9yQWNjZW50OiBOdWxsYWJsZTxDb2xvckFjY2VudD4gPSBudWxsO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmFuZG9tID0gZmFsc2U7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjbGlja2FibGUgPSBmYWxzZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGltYWdlOiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGFsdGVySWNvbjogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBiYWNrdXBJbWFnZTogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG59XG5cbi8qKlxuICogQmFzZSBpbnRlcmZhY2UgZm9yIGEgbGlzdCB2YXJpYW50IGRlZmluaXRpb24uXG4gKiBDYXB0dXJlcyBhIGxpc3QgaXRlbSB0ZW1wbGF0ZSBkZWZpbml0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEl0ZW1EZWYge1xuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RBZHZhbmNlZERlc2NyaXB0aW9uIHtcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgYXJpYUxhYmVsPzogc3RyaW5nO1xuICAgIHRpdGxlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBMaXN0RGVzY3JpcHRpb24gPSBzdHJpbmcgfCBMaXN0QWR2YW5jZWREZXNjcmlwdGlvbjtcblxuZXhwb3J0IGVudW0gTElTVF9JVEVNX1RZUEUge1xuICAgIElURU0gPSAnaXRlbScsXG4gICAgR1JPVVAgPSAnZ3JvdXAnLFxuICAgIEZPT1RFUiA9ICdmb290ZXInLFxuICAgIEhFQURFUiA9ICdoZWFkZXInXG59XG5cbmV4cG9ydCBjbGFzcyBNb2RpZnlJdGVtRXZlbnQge1xuICAgIC8qKiBMaXN0IEl0ZW0gY29tcG9uZW50ICovXG4gICAgc291cmNlOiBCYXNlTGlzdEl0ZW07XG4gICAgLyoqIEFjdGlvbiAqL1xuICAgIGFjdGlvbjogJ2RlbGV0ZScgfCAnZWRpdCc7XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tmZHBJdGVtRGVmXScgfSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIExpc3RJdGVtRGVmIGltcGxlbWVudHMgSXRlbURlZiB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigvKiogQGRvY3MtcHJpdmF0ZSAqLyBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHt9XG59XG5cbi8qKlxuICogVGhpcyBjbGFzcyBjb250YWlucyBjb21tb24gcHJvcGVydGllcyB1c2VkIGFjcm9zcyBsaXN0IEl0ZW0gY29tcG9uZW50cy5cbiAqIHRoaXMgY2FuIGJlIGV4dGVuZGVkIHRvIHJlZHVjZSB0aGUgY29kZSBkdXBsaWNhdGlvbiBhY3Jvc3MgbGlzdCBJdGVtIGNvbXBvbmVudHMuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIEJhc2VMaXN0SXRlbSBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIEFmdGVyVmlld0NoZWNrZWQsIE9uRGVzdHJveSB7XG4gICAgLyoqIGRlZmluZSBsYWJlbCBmb3Igc2NyZWVuIHJlYWRlciAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsbGVkQnk6IHN0cmluZztcblxuICAgIC8qKiBkZWZpbmUgbGV2ZWwgb2YgaXRlbSBmb3Igc2NyZWVuIHJlYWRlciAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxldmVsOiBudW1iZXI7XG5cbiAgICAvKiogZGVmaW5lIHBvc2l0aW9uIG9mIGl0ZW0gZm9yIHNjcmVlbiByZWFkZXIgKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFQb3NpbnNldDogbnVtYmVyO1xuXG4gICAgLyoqIEF2YXRhciBjb21wb25lbnQgcHJvcGVydGllcy4gQHNlZSBBdmF0YXJDb21wb25lbnQgZm9yIG1vcmUgZGV0YWlscyAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGF2YXRhcih2YWx1ZTogUGFydGlhbDxMaXN0QXZhdGFyQ29uZmlnPiB8IHN0cmluZykge1xuICAgICAgICB2YWx1ZSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB7IGltYWdlOiB2YWx1ZSB9IDogdmFsdWU7XG4gICAgICAgIHRoaXMuX2F2YXRhckNvbmZpZyA9IG1lcmdlKG5ldyBMaXN0QXZhdGFyQ29uZmlnKCksIHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgYXZhdGFyKCk6IExpc3RBdmF0YXJDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXZhdGFyQ29uZmlnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICogVXNlIGBhdmF0YXJgIHByb3BlcnR5IGZvciBtb3JlIGZsZXhpYmxlIGNvbmZpZ3VyYXRpb24uXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBBdHRyaWJ1dGUgdG8gaG9sZCBhdmF0YXIgcGF0aFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGF2YXRhclNyYyh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLl9hdmF0YXJDb25maWcgPSBtZXJnZSh0aGlzLl9hdmF0YXJDb25maWcsIHsgaW1hZ2U6IHZhbHVlIH0pO1xuICAgIH1cblxuICAgIGdldCBhdmF0YXJTcmMoKTogTnVsbGFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmF2YXRhcj8uaW1hZ2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKiBVc2UgYGF2YXRhcmAgcHJvcGVydHkgZm9yIG1vcmUgZmxleGlibGUgY29uZmlndXJhdGlvbi5cbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIEF0dHJpYnV0ZSB0byBob2xkIGF2YXRhciB0aXRsZSBmb3IgYTExeVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGF2YXRhclRpdGxlKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2F2YXRhckNvbmZpZyA9IG1lcmdlKHRoaXMuX2F2YXRhckNvbmZpZywgeyBhcmlhTGFiZWw6IHZhbHVlIH0pO1xuICAgIH1cblxuICAgIGdldCBhdmF0YXJUaXRsZSgpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXZhdGFyPy5hcmlhTGFiZWw7XG4gICAgfVxuXG4gICAgLyoqIGF0dHJpYnV0ZSB0byBob2xkIGNvdW50ZXIgdmFsdWUgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvdW50ZXI/OiBzdHJpbmc7XG5cbiAgICAvKiogRGVzY3JpcHRpb24gb2YgdGhlIHRpdGxlICovXG4gICAgQElucHV0KClcbiAgICBkZXNjcmlwdGlvbjogTnVsbGFibGU8TGlzdERlc2NyaXB0aW9uPjtcblxuICAgIC8qKiBUbyBpbnZlcnQgdGhlIHN0YXR1cyBvZiBzZWNvbmRhcnkgdGV4dCAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW52ZXJ0ZWQgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZXJlIGlzIG5vIGRhdGEgaW5zaWRlIGxpc3QgaXRlbSAqL1xuICAgIEBJbnB1dCgpXG4gICAgbm9EYXRhVGV4dDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdGhlIHNlY29uZGFyeSB0ZXh0LmZkLWxpc3RfX2J5bGluZS1yaWdodC0tKlxuICAgICAqIENhbiBiZSBvbmUgb2YgKnBvc2l0aXZlKiwgKm5lZ2F0aXZlKiwgKmluZm9ybWF0aXZlKiwgKmNyaXRpY2FsKiwgKm5ldXRyYWxcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHN0YXR1c1R5cGU/OiBTdGF0dXNUeXBlO1xuXG4gICAgLyoqIGF0dHJpYnV0ZSB0byBob2xkIHNlY29uZGFyeSB0ZXh0Ki9cbiAgICBASW5wdXQoKVxuICAgIHNlY29uZGFyeTogTnVsbGFibGU8TGlzdERlc2NyaXB0aW9uPjtcblxuICAgIC8qKlxuICAgICAqIEVuYWJsaW5nIHRoaXMgZmxhZyBjYXVzZXMgZm9yY2luZyBzZWNvbmRhcnkgaXRlbSBkaXJlY3RpdmUgdG8gbm90IHdyYXAgdGV4dCxcbiAgICAgKiBpbnN0ZWFkIG9mIHdyYXBwaW5nIHRoZXJlIHdpbGwgYmUgdGV4dCB0cnVuY2F0aW9uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZWNvbmRhcnlXcmFwPzogYm9vbGVhbjtcblxuICAgIC8qKiBUb29sdGlwIHRleHQgdG8gc2hvdyB3aGVuIGZvY3VzZWQgZm9yIG1vcmUgdGhhbiB0aW1lb3V0IHZhbHVlKi9cbiAgICBASW5wdXQoKVxuICAgIHRpdGxlPzogc3RyaW5nO1xuXG4gICAgLyoqIFVzZWQgZm9yIHBsYWNlaW5nIG5hdmlnYXRpb24gTGluayAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGluazogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIEVuYWJsaW5nIHRoaXMgZmxhZyBjYXVzZXMgZm9yY2luZyB0aXRsZSBkaXJlY3RpdmUgdG8gbm90IHdyYXAgdGV4dCxcbiAgICAgKiBpbnN0ZWFkIG9mIHdyYXBwaW5nIHRoZXJlIHdpbGwgYmUgdGV4dCB0cnVuY2F0aW9uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB0aXRsZVdyYXA/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgU2VlIGBpY29uYCBpbnB1dCBwcm9wZXJ0eSBmb3IgbW9yZSBmbGV4aWJsZSBpY29uIGNvbmZpZ3VyYXRpb24uXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogYXR0cmlidXRlIHRvIGhvbGQgcHJpbWFyeS90aXRsZSBpY29uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGl0bGVJY29uKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2ljb25Db25maWcgPSBtZXJnZShuZXcgTGlzdEljb25Db25maWcoKSwgeyBnbHlwaDogdmFsdWUsIGFyaWFMYWJlbDogdmFsdWUgfSk7XG4gICAgfVxuXG4gICAgZ2V0IHRpdGxlSWNvbigpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ljb25Db25maWcuZ2x5cGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTGlzdCBpdGVtIGljb24gY29uZmlndXJhdGlvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBpY29uKHZhbHVlOiBQYXJ0aWFsPExpc3RJY29uQ29uZmlnPikge1xuICAgICAgICB0aGlzLl9pY29uQ29uZmlnID0gbWVyZ2UobmV3IExpc3RJY29uQ29uZmlnKCksIHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBMaXN0SWNvbkNvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pY29uQ29uZmlnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHNldHMgdGhlIGxpc3QgaXRlbSBpbiBib2xkIHRleHRcbiAgICAgKiB3aGljaCByZXNwcmVzZW50cyB1bnJlYWQgZGF0YVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdW5SZWFkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBkaXNwbGF5IHVucmVhZCBub3RpZmljYXRpb24gY2lyY2xlLlxuICAgICAqL1xuICAgIGdldCBkaXNwbGF5VW5yZWFkTm90aWZpY2F0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9saXN0Py51bnJlYWRJbmRpY2F0b3I7XG4gICAgfVxuXG4gICAgLyoqIHJhZGlvIGJ1dHRvbiB2YWx1ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWU6IHN0cmluZztcblxuICAgIC8qKiBCeSBkZWZhdWx0IHNlbGVjdGlvbiBtb2RlIGlzICdub25lJyAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNlbGVjdGlvbk1vZGUodmFsdWU6IFNlbGVjdGlvblR5cGUpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9zZXRBdHRyUm9sZSgpO1xuICAgIH1cblxuICAgIGdldCBzZWxlY3Rpb25Nb2RlKCk6IFNlbGVjdGlvblR5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTW9kZTtcbiAgICB9XG5cbiAgICAvKiogQnkgZGVmYXVsdCBzZWxlY3Rpb24gbW9kZSBpcyAnYWN0aXZlJyAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGlzdFR5cGU6IExpc3RUeXBlID0gJ2FjdGl2ZSc7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIE5hdmlnYXRpb24gbW9kZSBpcyBpbmNsdWRlZCB0byBsaXN0IGNvbXBvbmVudFxuICAgICAqIGZvciBhbGwgdGhlIGl0ZW1zXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBuYXZpZ2F0ZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgTmF2aWdhdGlvbiBtb2RlIGlzIGluY2x1ZGVkIHRvIGxpc3QgY29tcG9uZW50XG4gICAgICogb25seSBhIHN1YnNldCBvZiB0aGUgbGlzdCBpdGVtcyBhcmUgbmF2aWdhYmxlXG4gICAgICogeW91IHNob3VsZCBpbmRpY2F0ZSB0aG9zZSBieSBkaXNwbGF5aW5nIGEgbmF2aWdhdGlvbiBhcnJvd1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbmF2aWdhdGlvbkluZGljYXRvciA9IGZhbHNlO1xuXG4gICAgLyoqIHJvbGUgKi9cbiAgICBASW5wdXQoKVxuICAgIHJvbGU6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKipcbiAgICAgKiBldmVudCBlbWl0dGVyIGZvciBzZWxlY3RlZCBpdGVtXG4gICAgICogc2VwcmF0ZSBQUiBmb3IgY3VzdG9tIGV2ZW50XG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgaXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxNb2RpZnlJdGVtRXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIGZvciBzZWxlY3RlZCBpdGVtIHRocm91Z2ggdGhlIGNoZWNrYm94LlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGl0ZW1DaGVja2JveFNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxNb2RpZnlJdGVtRXZlbnQ+KCk7XG5cbiAgICAvKiogRXZlbnQgc2VudCB3aGVuIGRlbGV0ZSwgZGV0YWlscyBvciBhbnkgb3RoZXIgYWN0aW9uIGJ1dHRvbnMgYXJlIGNsaWNrZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICBidXR0b25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxNb2RpZnlJdGVtRXZlbnQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2xpc3RJdGVtJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgbGlzdEl0ZW06IEVsZW1lbnRSZWY8SFRNTExJRWxlbWVudD47XG5cbiAgICAvKiogQWNjZXNzIGNoaWxkIGVsZW1lbnQsIGZvciBjaGVja2luZyBsaW5rIGNvbnRlbnQqL1xuICAgIEBWaWV3Q2hpbGQoJ2xpbmtFbGVtZW50JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgYW5jaG9yOiBFbGVtZW50UmVmPEhUTUxMaW5rRWxlbWVudD47XG5cbiAgICAvKiogQWNjZXNzIGVkaXQgYnV0dG9uKi9cbiAgICBAVmlld0NoaWxkKCdlZGl0JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgZWRpdDogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG5cbiAgICAvKiogQWNjZXNzIGRlbGV0ZSBidXR0b24qL1xuICAgIEBWaWV3Q2hpbGQoJ2RlbGV0ZScsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIGRlbGV0ZTogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoQ2hlY2tib3hDb21wb25lbnQpXG4gICAgY2hlY2tib3hDb21wb25lbnQ6IENoZWNrYm94Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKFJhZGlvQnV0dG9uQ29tcG9uZW50KVxuICAgIHJhZGlvQnV0dG9uQ29tcG9uZW50OiBSYWRpb0J1dHRvbkNvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3R5cGU6IExJU1RfSVRFTV9UWVBFID0gTElTVF9JVEVNX1RZUEUuSVRFTTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBXaGV0aGVyIEJ5IGxpbmUgbW9kZSBpcyBpbmNsdWRlZCB0byBsaXN0IGNvbXBvbmVudCwgYnkgd2hpY2hcbiAgICAgKiBsaXN0IGl0ZW0gd2lsbCBhY2NvbWRhdGUgdGhlIGRhdGEgaW4gMiBjb2x1bW5cbiAgICAgKi9cbiAgICBfaGFzQnlMaW5lID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogV2hldGhlciBsaXN0aXRlbSBoYXMgcm93IGxldmVsIHNlbGVjdGlvbiBlbmFibGVkXG4gICAgICovXG4gICAgc2V0IHJvd1NlbGVjdGlvbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9yb3dTZWxlY3Rpb24gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fc2V0QXR0clJvbGUoKTtcbiAgICB9XG5cbiAgICBnZXQgcm93U2VsZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm93U2VsZWN0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBXaGV0aGVyIGxpc3RpdGVtIGlzIHNlbGVjdGVkIGJpbmRlZCB0byB0ZW1wbGF0ZVxuICAgICAqL1xuICAgIF9zZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX3NlbGVjdGVkQXR0cigpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5yb3dTZWxlY3Rpb24gJiYgdGhpcy5zZWxlY3Rpb25Nb2RlID09PSAnbm9uZScgPyBudWxsIDogdGhpcy5fc2VsZWN0ZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIGdldCB0aGUgZm9jdXNlZCBlbGVtZW50IGZvciBrZXkgbWFuYWdlclxuICAgICAqL1xuICAgIF9mb2N1c2VkOiBib29sZWFuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX2xpc3RJdGVtUm9sZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5yb2xlIHx8IHRoaXMuX2RlZmF1bHRSb2xlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYXJpYVNldFNpemU6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcm93U2VsZWN0aW9uID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RlZmF1bHRSb2xlID0gJ2xpc3RpdGVtJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdENvbXBvbmVudCA9IGluamVjdDxGZHBMaXN0PihGZHBMaXN0Q29tcG9uZW50KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXZhdGFyQ29uZmlnOiBMaXN0QXZhdGFyQ29uZmlnID0gbmV3IExpc3RBdmF0YXJDb25maWcoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaWNvbkNvbmZpZzogTGlzdEljb25Db25maWcgPSBuZXcgTGlzdEljb25Db25maWcoKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiByYWRpbyBidXR0b24gc2VsZWN0ZWQgdmFsdWUgYmluZGVkIHRvIHRlbXBsYXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2VsZWN0aW9uVmFsdWU6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlbGVjdGlvbk1vZGU6IFNlbGVjdGlvblR5cGUgPSAnbm9uZSc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwdWJsaWMgaXRlbUVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJvdGVjdGVkIF9saXN0Q29uZmlnOiBMaXN0Q29uZmlnLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZEX0xJU1RfVU5SRUFEX0lORElDQVRPUikgcHJpdmF0ZSByZWFkb25seSBfbGlzdDogTGlzdFVucmVhZEluZGljYXRvclxuICAgICkge1xuICAgICAgICBzdXBlcihfY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIC8qKiBTZWxlY3Rpb24gdmFsdWUgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBzZWxlY3Rpb25WYWx1ZSh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25WYWx1ZSA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5fc2VsZWN0aW9uVmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnNlbGVjdGlvblZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHRoaXMudmFsdWUgPT09IHRoaXMuX3NlbGVjdGlvblZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBzZWxlY3Rpb25WYWx1ZSgpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvblZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBPbiBpdGVtIGNsaWNrIGV2ZW50IHdpbGwgYmUgZW1pdHRlZFxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBfb25JdGVtQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJvd1NlbGVjdGlvbiAmJiB0aGlzLnNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aScpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gIXRoaXMuX3NlbGVjdGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgTW9kaWZ5SXRlbUV2ZW50KCk7XG4gICAgICAgIGV2ZW50LnNvdXJjZSA9IHRoaXM7XG4gICAgICAgIHRoaXMuX2ZvY3VzZWQgPSAhdGhpcy5fZm9jdXNlZDtcbiAgICAgICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgX2hhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0VOVEVSLCBTUEFDRV0pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jaGVja2JveENvbXBvbmVudCB8fCB0aGlzLnJhZGlvQnV0dG9uQ29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9vbktleWJvYXJkQ2xpY2soZXZlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hbmNob3I/Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcblxuICAgICAgICBpZiAodGhpcy5yb3dTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gIXRoaXMuX3NlbGVjdGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgJGV2ZW50ID0gbmV3IE1vZGlmeUl0ZW1FdmVudCgpO1xuICAgICAgICAkZXZlbnQuc291cmNlID0gdGhpcztcbiAgICAgICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdCgkZXZlbnQpO1xuICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogSGFuZGxlciBmb3IgbW91c2UgZXZlbnRzXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIF9vbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNoZWNrYm94Q29tcG9uZW50ICYmICF0aGlzLmFuY2hvcikge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmNoZWNrYm94Q29tcG9uZW50LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkpIHtcbiAgICAgICAgICAgICAgICAvLyBjbGlja2luZyBvbiB0aGUgY2hlY2tib3ggaXMgbm90IHN1cHByZXNzZWRcbiAgICAgICAgICAgICAgICAvLyBzbyB3ZSBzaG91bGQgb25seSBwcm9jZXNzIGNsaWNrcyBpZiBjbGlja2VkIG9uIHRoZSBsaXN0LWl0ZW0sIG5vdCBjaGVja2JveCBpdHNlbGZcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrYm94Q29tcG9uZW50Lm5leHRWYWx1ZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnJhZGlvQnV0dG9uQ29tcG9uZW50Py52YWx1ZUNoYW5nZShldmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgY29uc3QgJGV2ZW50ID0gbmV3IE1vZGlmeUl0ZW1FdmVudCgpO1xuICAgICAgICAkZXZlbnQuc291cmNlID0gdGhpcztcbiAgICAgICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdCgkZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBoZWxwcyB0byBhdm9pZCBtdWx0aSByb3dzIGFjdGl2ZSBjbGFzcyB3aXRoIG5hdmlnYXRpb25cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcsIFsnJGV2ZW50J10pXG4gICAgX29uQmx1cihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoaXNQcmVzZW50KHRoaXMuYW5jaG9yKSAmJiAhS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtFTlRFUiwgU1BBQ0VdKSkge1xuICAgICAgICAgICAgdGhpcy5hbmNob3IubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKElTX0FDVElWRV9DTEFTUyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogU2hvdyBuYXZpZ2F0aW9uIGZvciBzaW5nbGUgbGlzdFxuICAgICAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlkID0gYGZkcC1saXN0LWl0ZW0tJHtuZXh0TGlzdEl0ZW1JZCsrfWA7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5pdGVtU2VsZWN0ZWQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGlzdENvbXBvbmVudC5fc2V0dXBMaXN0SXRlbSh0aGlzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVG8gZGV0ZWN0IGNoYW5nZXMgZnJvbSBwYXJlbnQtbGlzdGJveCB0byBsaXN0IGl0ZW1cbiAgICAgKiBmb3IgZXhhbXBsZSBzaW5nbGUsIG11bHRpIG9wdGlvbiBzZWxlY3Rpb24gdGhvc2UgZGV0YWlsc1xuICAgICAqIHdpbGwgYmUgZGVkdWN0ZWQgaW4gbGlzdCBpdGVtXG4gICAgICovXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50SXRlbTogTnVsbGFibGU8SFRNTExJRWxlbWVudD4gPSB0aGlzLml0ZW1FbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2xpJyk7XG4gICAgICAgIGlmICghY3VycmVudEl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcmVudE5vZGUgPSBjdXJyZW50SXRlbS5wYXJlbnROb2RlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgJiYgY3VycmVudEl0ZW0ucGFyZW50Tm9kZTtcbiAgICAgICAgaWYgKHBhcmVudE5vZGUpIHtcbiAgICAgICAgICAgIHBhcmVudE5vZGUucmVtb3ZlQXR0cmlidXRlKCd0aXRsZScpO1xuICAgICAgICAgICAgcGFyZW50Tm9kZS5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENyZWF0ZWQgZm9jdXMgb24gbGlzdCBpdGVtIG9uIG1vdXNlY2xpY2ssXG4gICAgICogVXAsZG93biBhcnJvdyBwcmVzc1xuICAgICAqL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxpc3RJdGVtLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm9ncmFtbWF0aWNhbGx5IHNldCBzZWxlY3RlZCBzdGF0ZSBvZiB0aGUgbGlzdCBpdGVtLlxuICAgICAqIEBwYXJhbSBzZWxlY3RlZCBXaGV0aGVyIHRoZSBsaXN0IGl0ZW0gaXMgc2VsZWN0ZWRcbiAgICAgKi9cbiAgICBzZXRTZWxlY3RlZChzZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoc2VsZWN0ZWQgPT09IHRoaXMuX3NlbGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgTW9kaWZ5SXRlbUV2ZW50KCk7XG4gICAgICAgIGV2ZW50LnNvdXJjZSA9IHRoaXM7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogb24ga2V5ZG93biBhcHBlbmQgYWN0aXZlIHN0eWxlcyBvbiBhY3Rpb25hYmxlIGl0ZW1cbiAgICAgKi9cbiAgICBfb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChpc1ByZXNlbnQodGhpcy5hbmNob3IpICYmIEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbRU5URVIsIFNQQUNFXSkpIHtcbiAgICAgICAgICAgIHRoaXMuYW5jaG9yLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChJU19BQ1RJVkVfQ0xBU1MpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIG9uIGtleXVwIHJlbW92ZSBhY3RpdmUgc3R5bGVzIGZyb20gYWN0aW9uYWJsZSBpdGVtXG4gICAgICovXG4gICAgX29uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzUHJlc2VudCh0aGlzLmFuY2hvcikgJiYgS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtFTlRFUiwgU1BBQ0VdKSkge1xuICAgICAgICAgICAgdGhpcy5hbmNob3IubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKElTX0FDVElWRV9DTEFTUyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vbkNoZWNrYm94TW9kZWxDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IE1vZGlmeUl0ZW1FdmVudCgpO1xuICAgICAgICBldmVudC5zb3VyY2UgPSB0aGlzO1xuICAgICAgICB0aGlzLml0ZW1DaGVja2JveFNlbGVjdGVkLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBIYW5kbGVzIGFjdGlvbiBidXR0b24gY2xpY2tcbiAgICAgKi9cbiAgICBfb25BY3Rpb25CdXR0b25DbGljayhhY3Rpb246ICdkZWxldGUnIHwgJ2VkaXQnKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IE1vZGlmeUl0ZW1FdmVudCgpO1xuICAgICAgICBldmVudC5zb3VyY2UgPSB0aGlzO1xuICAgICAgICBldmVudC5hY3Rpb24gPSBhY3Rpb247XG4gICAgICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogSGFuZGxlcyBhY3Rpb24gYnV0dG9uIGNsaWNrIG9uIGtleSBwcmVzc1xuICAgICAqL1xuICAgIF9vbktleUJ1dHRvbkNsaWNrKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBhY3Rpb246ICdkZWxldGUnIHwgJ2VkaXQnKTogdm9pZCB7XG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0VOVEVSLCBTUEFDRV0pKSB7XG4gICAgICAgICAgICB0aGlzLl9vbkFjdGlvbkJ1dHRvbkNsaWNrKGFjdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9pc0FkdmFuY2VkVGV4dCh0ZXh0OiBMaXN0RGVzY3JpcHRpb24pOiB0ZXh0IGlzIExpc3RBZHZhbmNlZERlc2NyaXB0aW9uIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB0ZXh0ICE9PSAnc3RyaW5nJyAmJiAhIXRleHQudGV4dDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX29uS2V5Ym9hcmRDbGljayhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrYm94Q29tcG9uZW50Py5uZXh0VmFsdWUoKTtcbiAgICAgICAgdGhpcy5yYWRpb0J1dHRvbkNvbXBvbmVudD8udmFsdWVDaGFuZ2UoZXZlbnQpO1xuXG4gICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICBjb25zdCAkZXZlbnQgPSBuZXcgTW9kaWZ5SXRlbUV2ZW50KCk7XG4gICAgICAgICRldmVudC5zb3VyY2UgPSB0aGlzO1xuICAgICAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KCRldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRBdHRyUm9sZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGVmYXVsdFJvbGUgPVxuICAgICAgICAgICAgdGhpcy5yb3dTZWxlY3Rpb24gfHwgdGhpcy5zZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlJyB8fCB0aGlzLnNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aSdcbiAgICAgICAgICAgICAgICA/ICdvcHRpb24nXG4gICAgICAgICAgICAgICAgOiAnbGlzdGl0ZW0nO1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -7,9 +7,11 @@ import * as i3 from "@angular/router";
|
|
|
7
7
|
export class DisplayListItemComponent extends BaseListItem {
|
|
8
8
|
}
|
|
9
9
|
DisplayListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DisplayListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
DisplayListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DisplayListItemComponent, selector: "fdp-display-list-item", providers: [{ provide: BaseListItem, useExisting: forwardRef(() => DisplayListItemComponent) }], usesInheritance: true, ngImport: i0, template: "<!-- list item navigation with Arrow-->\n<ng-container *ngIf=\"navigationIndicator || (navigated && !(noDataText !== null && noDataText !== undefined))\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n [tabindex]=\"-1\"\n (keydown)=\"_onKeyDown($event)\"\n (keyup)=\"_onKeyUp($event)\"\n class=\"fd-list__item--link\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-
|
|
10
|
+
DisplayListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DisplayListItemComponent, selector: "fdp-display-list-item", host: { attributes: { "role": "none" } }, providers: [{ provide: BaseListItem, useExisting: forwardRef(() => DisplayListItemComponent) }], usesInheritance: true, ngImport: i0, template: "<!-- list item navigation with Arrow-->\n<ng-container *ngIf=\"navigationIndicator || (navigated && !(noDataText !== null && noDataText !== undefined))\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n [tabindex]=\"-1\"\n (keydown)=\"_onKeyDown($event)\"\n (keyup)=\"_onKeyUp($event)\"\n class=\"fd-list__item--link\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\n >\n <a\n #linkElement\n fd-list-link\n [routerLink]=\"link\"\n [navigationIndicator]=\"navigationIndicator\"\n [navigated]=\"navigated\"\n >\n <ng-container *ngTemplateOutlet=\"commonTemplate\"></ng-container>\n </a>\n </li>\n</ng-container>\n\n<!-- list item without navigation and used for simple list display-->\n<ng-container *ngIf=\"!navigationIndicator && !navigated && !(noDataText !== null && noDataText !== undefined)\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n (keydown)=\"_onKeyDown($event)\"\n [tabindex]=\"-1\"\n (keyup)=\"_onKeyUp($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\n >\n <ng-container *ngTemplateOutlet=\"commonTemplate\"></ng-container>\n </li>\n</ng-container>\n\n<ng-template #commonTemplate>\n <span *ngIf=\"title\" fd-list-title [attr.aria-label]=\"title\" [attr.nowrap]=\"titleWrap\" [attr.title]=\"title\">{{\n title\n }}</span>\n <ng-container *ngIf=\"secondary\">\n <ng-container\n [ngTemplateOutlet]=\"_isAdvancedText(secondary) ? advancedSecondary : simpleSecondary\"\n [ngTemplateOutletContext]=\"{ $implicit: secondary }\"\n ></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #simpleSecondary let-secondary>\n <span fd-list-secondary [attr.aria-label]=\"secondary\" [attr.title]=\"secondary\" [attr.nowrap]=\"secondaryWrap\">\n {{ secondary }}\n </span>\n</ng-template>\n<ng-template #advancedSecondary let-secondary>\n <span\n fd-list-secondary\n [attr.aria-label]=\"secondary.ariaLabel ?? secondary.text\"\n [attr.title]=\"secondary.title ?? secondary.text\"\n [attr.nowrap]=\"secondaryWrap\"\n >\n {{ secondary.text }}\n </span>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole"], outputs: ["keyDown"] }, { kind: "directive", type: i2.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i2.ListSecondaryDirective, selector: "[fd-list-secondary] ,[fdListSecondary]" }, { kind: "directive", type: i2.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DisplayListItemComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
|
-
args: [{ selector: 'fdp-display-list-item', providers: [{ provide: BaseListItem, useExisting: forwardRef(() => DisplayListItemComponent) }], changeDetection: ChangeDetectionStrategy.OnPush,
|
|
13
|
+
args: [{ selector: 'fdp-display-list-item', providers: [{ provide: BaseListItem, useExisting: forwardRef(() => DisplayListItemComponent) }], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
14
|
+
role: 'none'
|
|
15
|
+
}, template: "<!-- list item navigation with Arrow-->\n<ng-container *ngIf=\"navigationIndicator || (navigated && !(noDataText !== null && noDataText !== undefined))\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n [tabindex]=\"-1\"\n (keydown)=\"_onKeyDown($event)\"\n (keyup)=\"_onKeyUp($event)\"\n class=\"fd-list__item--link\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\n >\n <a\n #linkElement\n fd-list-link\n [routerLink]=\"link\"\n [navigationIndicator]=\"navigationIndicator\"\n [navigated]=\"navigated\"\n >\n <ng-container *ngTemplateOutlet=\"commonTemplate\"></ng-container>\n </a>\n </li>\n</ng-container>\n\n<!-- list item without navigation and used for simple list display-->\n<ng-container *ngIf=\"!navigationIndicator && !navigated && !(noDataText !== null && noDataText !== undefined)\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n (keydown)=\"_onKeyDown($event)\"\n [tabindex]=\"-1\"\n (keyup)=\"_onKeyUp($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\n >\n <ng-container *ngTemplateOutlet=\"commonTemplate\"></ng-container>\n </li>\n</ng-container>\n\n<ng-template #commonTemplate>\n <span *ngIf=\"title\" fd-list-title [attr.aria-label]=\"title\" [attr.nowrap]=\"titleWrap\" [attr.title]=\"title\">{{\n title\n }}</span>\n <ng-container *ngIf=\"secondary\">\n <ng-container\n [ngTemplateOutlet]=\"_isAdvancedText(secondary) ? advancedSecondary : simpleSecondary\"\n [ngTemplateOutletContext]=\"{ $implicit: secondary }\"\n ></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #simpleSecondary let-secondary>\n <span fd-list-secondary [attr.aria-label]=\"secondary\" [attr.title]=\"secondary\" [attr.nowrap]=\"secondaryWrap\">\n {{ secondary }}\n </span>\n</ng-template>\n<ng-template #advancedSecondary let-secondary>\n <span\n fd-list-secondary\n [attr.aria-label]=\"secondary.ariaLabel ?? secondary.text\"\n [attr.title]=\"secondary.title ?? secondary.text\"\n [attr.nowrap]=\"secondaryWrap\"\n >\n {{ secondary.text }}\n </span>\n</ng-template>\n" }]
|
|
14
16
|
}] });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2xpc3QvZGlzcGxheS1saXN0LWl0ZW0vZGlzcGxheS1saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2xpc3QvZGlzcGxheS1saXN0LWl0ZW0vZGlzcGxheS1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQVdqRCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsWUFBWTs7cUhBQTdDLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDBGQU50QixDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxpRENQbkcseTVGQWdGQTsyRkRuRWEsd0JBQXdCO2tCQVRwQyxTQUFTOytCQUNJLHVCQUF1QixhQUV0QixDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsbUJBQzlFLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsSUFBSSxFQUFFLE1BQU07cUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJhc2VMaXN0SXRlbSB9IGZyb20gJy4uL2Jhc2UtbGlzdC1pdGVtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtZGlzcGxheS1saXN0LWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kaXNwbGF5LWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBCYXNlTGlzdEl0ZW0sIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERpc3BsYXlMaXN0SXRlbUNvbXBvbmVudCkgfV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAnbm9uZSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIERpc3BsYXlMaXN0SXRlbUNvbXBvbmVudCBleHRlbmRzIEJhc2VMaXN0SXRlbSB7fVxuIiwiPCEtLSAgbGlzdCBpdGVtIG5hdmlnYXRpb24gd2l0aCBBcnJvdy0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5hdmlnYXRpb25JbmRpY2F0b3IgfHwgKG5hdmlnYXRlZCAmJiAhKG5vRGF0YVRleHQgIT09IG51bGwgJiYgbm9EYXRhVGV4dCAhPT0gdW5kZWZpbmVkKSlcIj5cbiAgICA8bGlcbiAgICAgICAgI2xpc3RJdGVtXG4gICAgICAgIGZkLWxpc3QtaXRlbVxuICAgICAgICBbYXR0ci5pZF09XCJpZFwiXG4gICAgICAgIFtzZWxlY3RlZF09XCJfc2VsZWN0ZWRcIlxuICAgICAgICBbdGFiaW5kZXhdPVwiLTFcIlxuICAgICAgICAoa2V5ZG93bik9XCJfb25LZXlEb3duKCRldmVudClcIlxuICAgICAgICAoa2V5dXApPVwiX29uS2V5VXAoJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwiZmQtbGlzdF9faXRlbS0tbGlua1wiXG4gICAgICAgIFtjbGFzcy5mZC1saXN0X19pdGVtLS1pbmFjdGl2ZV09XCJsaXN0VHlwZSA9PT0gJ2luYWN0aXZlJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sZXZlbF09XCJhcmlhTGV2ZWxcIlxuICAgICAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT1cImFyaWFQb3NpbnNldFwiXG4gICAgICAgIFthdHRyLmFyaWEtc2V0c2l6ZV09XCJhcmlhU2V0U2l6ZSB8IGFzeW5jXCJcbiAgICAgICAgW2FyaWFSb2xlXT1cIl9saXN0SXRlbVJvbGVcIlxuICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIl9zZWxlY3RlZEF0dHJcIlxuICAgID5cbiAgICAgICAgPGFcbiAgICAgICAgICAgICNsaW5rRWxlbWVudFxuICAgICAgICAgICAgZmQtbGlzdC1saW5rXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJsaW5rXCJcbiAgICAgICAgICAgIFtuYXZpZ2F0aW9uSW5kaWNhdG9yXT1cIm5hdmlnYXRpb25JbmRpY2F0b3JcIlxuICAgICAgICAgICAgW25hdmlnYXRlZF09XCJuYXZpZ2F0ZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29tbW9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9hPlxuICAgIDwvbGk+XG48L25nLWNvbnRhaW5lcj5cblxuPCEtLSAgbGlzdCBpdGVtIHdpdGhvdXQgbmF2aWdhdGlvbiBhbmQgdXNlZCBmb3Igc2ltcGxlIGxpc3QgZGlzcGxheS0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFuYXZpZ2F0aW9uSW5kaWNhdG9yICYmICFuYXZpZ2F0ZWQgJiYgIShub0RhdGFUZXh0ICE9PSBudWxsICYmIG5vRGF0YVRleHQgIT09IHVuZGVmaW5lZClcIj5cbiAgICA8bGlcbiAgICAgICAgI2xpc3RJdGVtXG4gICAgICAgIGZkLWxpc3QtaXRlbVxuICAgICAgICBbYXR0ci5pZF09XCJpZFwiXG4gICAgICAgIFtzZWxlY3RlZF09XCJfc2VsZWN0ZWRcIlxuICAgICAgICAoa2V5ZG93bik9XCJfb25LZXlEb3duKCRldmVudClcIlxuICAgICAgICBbdGFiaW5kZXhdPVwiLTFcIlxuICAgICAgICAoa2V5dXApPVwiX29uS2V5VXAoJGV2ZW50KVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sZXZlbF09XCJhcmlhTGV2ZWxcIlxuICAgICAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT1cImFyaWFQb3NpbnNldFwiXG4gICAgICAgIFthdHRyLmFyaWEtc2V0c2l6ZV09XCJhcmlhU2V0U2l6ZSB8IGFzeW5jXCJcbiAgICAgICAgW2NsYXNzLmZkLWxpc3RfX2l0ZW0tLWluYWN0aXZlXT1cImxpc3RUeXBlID09PSAnaW5hY3RpdmUnXCJcbiAgICAgICAgW2FyaWFSb2xlXT1cIl9saXN0SXRlbVJvbGVcIlxuICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIl9zZWxlY3RlZEF0dHJcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbW1vblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9saT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2NvbW1vblRlbXBsYXRlPlxuICAgIDxzcGFuICpuZ0lmPVwidGl0bGVcIiBmZC1saXN0LXRpdGxlIFthdHRyLmFyaWEtbGFiZWxdPVwidGl0bGVcIiBbYXR0ci5ub3dyYXBdPVwidGl0bGVXcmFwXCIgW2F0dHIudGl0bGVdPVwidGl0bGVcIj57e1xuICAgICAgICB0aXRsZVxuICAgIH19PC9zcGFuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWNvbmRhcnlcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiX2lzQWR2YW5jZWRUZXh0KHNlY29uZGFyeSkgPyBhZHZhbmNlZFNlY29uZGFyeSA6IHNpbXBsZVNlY29uZGFyeVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHNlY29uZGFyeSB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzaW1wbGVTZWNvbmRhcnkgbGV0LXNlY29uZGFyeT5cbiAgICA8c3BhbiBmZC1saXN0LXNlY29uZGFyeSBbYXR0ci5hcmlhLWxhYmVsXT1cInNlY29uZGFyeVwiIFthdHRyLnRpdGxlXT1cInNlY29uZGFyeVwiIFthdHRyLm5vd3JhcF09XCJzZWNvbmRhcnlXcmFwXCI+XG4gICAgICAgIHt7IHNlY29uZGFyeSB9fVxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2FkdmFuY2VkU2Vjb25kYXJ5IGxldC1zZWNvbmRhcnk+XG4gICAgPHNwYW5cbiAgICAgICAgZmQtbGlzdC1zZWNvbmRhcnlcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzZWNvbmRhcnkuYXJpYUxhYmVsID8/IHNlY29uZGFyeS50ZXh0XCJcbiAgICAgICAgW2F0dHIudGl0bGVdPVwic2Vjb25kYXJ5LnRpdGxlID8/IHNlY29uZGFyeS50ZXh0XCJcbiAgICAgICAgW2F0dHIubm93cmFwXT1cInNlY29uZGFyeVdyYXBcIlxuICAgID5cbiAgICAgICAge3sgc2Vjb25kYXJ5LnRleHQgfX1cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -2,12 +2,15 @@ import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } fro
|
|
|
2
2
|
import { BaseListItem } from '../base-list-item';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@fundamental-ngx/core/list";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
5
6
|
export class FreeContentListItemComponent extends BaseListItem {
|
|
6
7
|
}
|
|
7
8
|
FreeContentListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FreeContentListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
-
FreeContentListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FreeContentListItemComponent, selector: "fdp-free-content-list-item", providers: [{ provide: BaseListItem, useExisting: forwardRef(() => FreeContentListItemComponent) }], usesInheritance: true, ngImport: i0, template: "<li\n #listItem\n [class.fd-list__item--unread]=\"unRead\"\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n [tabindex]=\"-1\"\n (click)=\"_onItemClick()\"\n (keydown)=\"_onKeyDown($event)\"\n (keyup)=\"_onKeyUp($event)\"\n class=\"fd-list__item--link\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.aria-label]=\"ariaLabel\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-
|
|
9
|
+
FreeContentListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FreeContentListItemComponent, selector: "fdp-free-content-list-item", host: { attributes: { "role": "none" } }, providers: [{ provide: BaseListItem, useExisting: forwardRef(() => FreeContentListItemComponent) }], usesInheritance: true, ngImport: i0, template: "<li\n #listItem\n [class.fd-list__item--unread]=\"unRead\"\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n [tabindex]=\"-1\"\n (click)=\"_onItemClick()\"\n (keydown)=\"_onKeyDown($event)\"\n (keyup)=\"_onKeyUp($event)\"\n class=\"fd-list__item--link\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.aria-label]=\"ariaLabel\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\n>\n <ng-content></ng-content>\n</li>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole"], outputs: ["keyDown"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
9
10
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FreeContentListItemComponent, decorators: [{
|
|
10
11
|
type: Component,
|
|
11
|
-
args: [{ selector: 'fdp-free-content-list-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: BaseListItem, useExisting: forwardRef(() => FreeContentListItemComponent) }],
|
|
12
|
+
args: [{ selector: 'fdp-free-content-list-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: BaseListItem, useExisting: forwardRef(() => FreeContentListItemComponent) }], host: {
|
|
13
|
+
role: 'none'
|
|
14
|
+
}, template: "<li\n #listItem\n [class.fd-list__item--unread]=\"unRead\"\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n [tabindex]=\"-1\"\n (click)=\"_onItemClick()\"\n (keydown)=\"_onKeyDown($event)\"\n (keyup)=\"_onKeyUp($event)\"\n class=\"fd-list__item--link\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.aria-label]=\"ariaLabel\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\n>\n <ng-content></ng-content>\n</li>\n" }]
|
|
12
15
|
}] });
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlZS1jb250ZW50LWxpc3QtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvbGlzdC9mcmVlLWNvbnRlbnQtbGlzdC1pdGVtL2ZyZWUtY29udGVudC1saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2xpc3QvZnJlZS1jb250ZW50LWxpc3QtaXRlbS9mcmVlLWNvbnRlbnQtbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQWFqRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsWUFBWTs7eUhBQWpELDRCQUE0Qjs2R0FBNUIsNEJBQTRCLCtGQUwxQixDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsQ0FBQyxpRENUdkcscXJCQXNCQTsyRkRSYSw0QkFBNEI7a0JBWHhDLFNBQVM7K0JBQ0ksNEJBQTRCLGlCQUd2QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDZCQUE2QixDQUFDLEVBQUUsQ0FBQyxRQUM3Rjt3QkFDRixJQUFJLEVBQUUsTUFBTTtxQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlTGlzdEl0ZW0gfSBmcm9tICcuLi9iYXNlLWxpc3QtaXRlbSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLWZyZWUtY29udGVudC1saXN0LWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mcmVlLWNvbnRlbnQtbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mcmVlLWNvbnRlbnQtbGlzdC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEJhc2VMaXN0SXRlbSwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRnJlZUNvbnRlbnRMaXN0SXRlbUNvbXBvbmVudCkgfV0sXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAnbm9uZSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEZyZWVDb250ZW50TGlzdEl0ZW1Db21wb25lbnQgZXh0ZW5kcyBCYXNlTGlzdEl0ZW0ge31cbiIsIjxsaVxuICAgICNsaXN0SXRlbVxuICAgIFtjbGFzcy5mZC1saXN0X19pdGVtLS11bnJlYWRdPVwidW5SZWFkXCJcbiAgICBmZC1saXN0LWl0ZW1cbiAgICBbYXR0ci5pZF09XCJpZFwiXG4gICAgW3NlbGVjdGVkXT1cIl9zZWxlY3RlZFwiXG4gICAgW3RhYmluZGV4XT1cIi0xXCJcbiAgICAoY2xpY2spPVwiX29uSXRlbUNsaWNrKClcIlxuICAgIChrZXlkb3duKT1cIl9vbktleURvd24oJGV2ZW50KVwiXG4gICAgKGtleXVwKT1cIl9vbktleVVwKCRldmVudClcIlxuICAgIGNsYXNzPVwiZmQtbGlzdF9faXRlbS0tbGlua1wiXG4gICAgW2NsYXNzLmZkLWxpc3RfX2l0ZW0tLWluYWN0aXZlXT1cImxpc3RUeXBlID09PSAnaW5hY3RpdmUnXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgW2FyaWFEZXNjcmliZWRCeV09XCJhcmlhRGVzY3JpYmVkQnlcIlxuICAgIFthdHRyLmFyaWEtbGV2ZWxdPVwiYXJpYUxldmVsXCJcbiAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT1cImFyaWFQb3NpbnNldFwiXG4gICAgW2F0dHIuYXJpYS1zZXRzaXplXT1cImFyaWFTZXRTaXplIHwgYXN5bmNcIlxuICAgIFthcmlhUm9sZV09XCJfbGlzdEl0ZW1Sb2xlXCJcbiAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIl9zZWxlY3RlZEF0dHJcIlxuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbGk+XG4iXX0=
|