@po-ui/ng-components 17.26.7 → 17.26.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/po-accordion/po-accordion.module.mjs +13 -1
- package/esm2022/lib/components/po-chart/po-chart.component.mjs +3 -2
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-base.component.mjs +2 -2
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.mjs +25 -3
- package/esm2022/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.component.mjs +9 -3
- package/esm2022/lib/components/po-list-view/po-list-view.module.mjs +13 -1
- package/esm2022/lib/components/po-navbar/po-navbar.module.mjs +13 -1
- package/esm2022/lib/components/po-page/po-page-slide/po-page-slide-base.component.mjs +36 -1
- package/esm2022/lib/components/po-slide/po-slide.module.mjs +13 -1
- package/esm2022/lib/components/po-tree-view/po-tree-view.module.mjs +13 -1
- package/esm2022/lib/services/po-theme/po-theme.service.mjs +2 -2
- package/fesm2022/po-ui-ng-components.mjs +131 -7
- package/fesm2022/po-ui-ng-components.mjs.map +1 -1
- package/lib/components/po-accordion/po-accordion.module.d.ts +12 -0
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-base.component.d.ts +1 -1
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.d.ts +2 -2
- package/lib/components/po-list-view/po-list-view.module.d.ts +12 -0
- package/lib/components/po-navbar/po-navbar.module.d.ts +12 -0
- package/lib/components/po-page/po-page-slide/po-page-slide-base.component.d.ts +35 -0
- package/lib/components/po-slide/po-slide.module.d.ts +12 -0
- package/lib/components/po-tree-view/po-tree-view.module.d.ts +12 -0
- package/package.json +4 -4
- package/po-ui-ng-components-17.26.9.tgz +0 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v14/index.js +1 -1
- package/schematics/ng-update/v15/index.js +1 -1
- package/schematics/ng-update/v16/index.js +1 -1
- package/schematics/ng-update/v17/index.js +1 -1
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/po-ui-ng-components-17.26.7.tgz +0 -0
|
@@ -434,18 +434,24 @@ export class PoDynamicFormFieldsComponent extends PoDynamicFormFieldsBaseCompone
|
|
|
434
434
|
container: item.container || null,
|
|
435
435
|
property: item.property,
|
|
436
436
|
index,
|
|
437
|
-
order: item.order
|
|
437
|
+
order: item.order,
|
|
438
|
+
visible: item.visible ?? true
|
|
438
439
|
}));
|
|
439
440
|
const currArray = current.map((item, index) => ({
|
|
440
441
|
container: item.container || null,
|
|
441
442
|
property: item.property,
|
|
442
443
|
index,
|
|
443
|
-
order: item.order
|
|
444
|
+
order: item.order,
|
|
445
|
+
visible: item.visible ?? true
|
|
444
446
|
}));
|
|
445
447
|
const prevContainers = prevArray.filter(item => item.container);
|
|
446
448
|
const currContainers = currArray.filter(item => item.container);
|
|
447
449
|
const prevOrder = prevArray.filter(item => item.order);
|
|
448
450
|
const currOrder = currArray.filter(item => item.order);
|
|
451
|
+
const prevVisibleTrue = prevArray.filter(item => item.visible === true);
|
|
452
|
+
const currVisibleTrue = currArray.filter(item => item.visible === true);
|
|
453
|
+
const prevVisibleFalse = prevArray.filter(item => !item.visible);
|
|
454
|
+
const currVisibleFalse = currArray.filter(item => !item.visible);
|
|
449
455
|
// Verifica mudança na quantidade de containers
|
|
450
456
|
if (prevContainers.length !== currContainers.length) {
|
|
451
457
|
this.setContainerFields();
|
|
@@ -456,12 +462,28 @@ export class PoDynamicFormFieldsComponent extends PoDynamicFormFieldsBaseCompone
|
|
|
456
462
|
this.setContainerFields();
|
|
457
463
|
return;
|
|
458
464
|
}
|
|
465
|
+
// Verifica mudança na quantidade de visible
|
|
466
|
+
if (prevVisibleTrue.length !== currVisibleTrue.length) {
|
|
467
|
+
this.setContainerFields();
|
|
468
|
+
return;
|
|
469
|
+
}
|
|
470
|
+
// Verifica mudança na quantidade de visible
|
|
471
|
+
if (prevVisibleFalse.length !== currVisibleFalse.length) {
|
|
472
|
+
this.setContainerFields();
|
|
473
|
+
return;
|
|
474
|
+
}
|
|
459
475
|
if (currContainers.length) {
|
|
460
476
|
this.handleChangesContainer(prevContainers, currContainers, 'container');
|
|
461
477
|
}
|
|
462
478
|
if (currOrder.length) {
|
|
463
479
|
this.handleChangesContainer(prevOrder, currOrder, 'order');
|
|
464
480
|
}
|
|
481
|
+
if (currVisibleTrue.length) {
|
|
482
|
+
this.handleChangesContainer(prevVisibleTrue, currVisibleTrue, 'visible');
|
|
483
|
+
}
|
|
484
|
+
if (currVisibleFalse.length) {
|
|
485
|
+
this.handleChangesContainer(prevVisibleFalse, currVisibleFalse, 'visible');
|
|
486
|
+
}
|
|
465
487
|
//atualiza container sem mudança na estrutura da interface
|
|
466
488
|
const result = this.diffObjectsArray(previous, this.getVisibleFields());
|
|
467
489
|
this.containerFields = this.updateFieldContainer(result, this.containerFields);
|
|
@@ -555,4 +577,4 @@ export class PoDynamicFormFieldsComponent extends PoDynamicFormFieldsBaseCompone
|
|
|
555
577
|
args: ['component']
|
|
556
578
|
}] }); })();
|
|
557
579
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoDynamicFormFieldsComponent, { className: "PoDynamicFormFieldsComponent", filePath: "lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.ts", lineNumber: 23 }); })();
|
|
558
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWZpZWxkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZHluYW1pYy9wby1keW5hbWljLWZvcm0vcG8tZHluYW1pYy1mb3JtLWZpZWxkcy9wby1keW5hbWljLWZvcm0tZmllbGRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0tZmllbGRzL3BvLWR5bmFtaWMtZm9ybS1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFxQixTQUFTLEVBQXVDLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJMUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDbEgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNOekYsd0JBS2dCOzs7O0lBTmxCLDhCQUF5RztJQUN2RyxxR0FLZ0I7SUFDbEIsaUJBQU07Ozs7O0lBUGMsa0RBQWtDO0lBRWpELGNBRVE7SUFGUixtRUFFUSw2SEFBQTs7O0lBT1QsaUNBQW9HOzs7SUFBeEMsMENBQXlCOzs7O0lBRXJGLDZDQXdCQztJQXBCQywrYUFBbUM7SUFrQm5DLCtRQUFZLGVBQUEsK0JBQW9CLENBQUEsSUFBQztJQUduQyxpQkFBZ0I7Ozs7SUF0QmQsd0NBQXVCO0lBQ3ZCLGdFQUFtQztJQUNuQyxpREFBZ0MsMkJBQUEsNENBQUEsMENBQUEsZ0NBQUEsNkJBQUEseUJBQUEs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QUNILENBQUM7YUFDSDtZQUNELG9GQUFvRjtZQUNwRixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUM5RCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDMUIsT0FBTzthQUNSO1NBQ0Y7SUFDSCxDQUFDO3NGQTFRVSw0QkFBNEI7NkRBQTVCLDRCQUE0Qjs7Ozs7OENBRjVCLENBQUMsOEJBQThCLENBQUMsRUFENUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUM7WUNuQnJFLDZFQU9NLGlIQUFBLGlIQUFBOztZQVBrRCx3RUFBK0M7OztpRkRzQjFGLDRCQUE0QjtjQU54QyxTQUFTOzJCQUNFLHdCQUF3QixpQkFFbkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUMsYUFDeEQsQ0FBQyw4QkFBOEIsQ0FBQztnSkFHaEIsVUFBVTtrQkFBcEMsWUFBWTttQkFBQyxXQUFXOztrRkFEZCw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaXRsZUNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uQ2hhbmdlcywgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgUG9EeW5hbWljRm9ybUZpZWxkIH0gZnJvbSAnLi4vcG8tZHluYW1pYy1mb3JtLWZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0R5bmFtaWNGb3JtRmllbGRWYWxpZGF0aW9uIH0gZnJvbSAnLi4vcG8tZHluYW1pYy1mb3JtLXZhbGlkYXRpb24vcG8tZHluYW1pYy1mb3JtLWZpZWxkLXZhbGlkYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1WYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZm9ybS12YWxpZGF0aW9uL3BvLWR5bmFtaWMtZm9ybS12YWxpZGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9EeW5hbWljRm9ybUZpZWxkc0Jhc2VDb21wb25lbnQgfSBmcm9tICcuL3BvLWR5bmFtaWMtZm9ybS1maWVsZHMtYmFzZS5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkb2NzUHJpdmF0ZVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIENvbXBvbmVudGUgZGUgY3JpYcOnw6NvIGRvcyBjYW1wb3MgZGluw6JtaWNvcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tZHluYW1pYy1mb3JtLWZpZWxkcycsXG4gIHRlbXBsYXRlVXJsOiAncG8tZHluYW1pYy1mb3JtLWZpZWxkcy5jb21wb25lbnQuaHRtbCcsXG4gIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm0gfV0sXG4gIHByb3ZpZGVyczogW1BvRHluYW1pY0Zvcm1WYWxpZGF0aW9uU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgUG9EeW5hbWljRm9ybUZpZWxkc0NvbXBvbmVudCBleHRlbmRzIFBvRHluYW1pY0Zvcm1GaWVsZHNCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQFZpZXdDaGlsZHJlbignY29tcG9uZW50JykgY29tcG9uZW50czogUXVlcnlMaXN0PHsgbmFtZTogc3RyaW5nOyBmb2N1czogKCkgPT4gdm9pZCB9PjtcblxuICBwcml2YXRlIHByZXZpb3VzVmFsdWUgPSB7fTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB0aXRsZUNhc2VQaXBlOiBUaXRsZUNhc2VQaXBlLFxuICAgIHByaXZhdGUgdmFsaWRhdGlvblNlcnZpY2U6IFBvRHluYW1pY0Zvcm1WYWxpZGF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZXM6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZm9ybTogTmdGb3JtXG4gICkge1xuICAgIHN1cGVyKHRpdGxlQ2FzZVBpcGUpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLmZpZWxkcykge1xuICAgICAgdGhpcy52aXNpYmxlRmllbGRzID0gdGhpcy5nZXRWaXNpYmxlRmllbGRzKCk7XG5cbiAgICAgIGlmIChjaGFuZ2VzLmZpZWxkcy5wcmV2aW91c1ZhbHVlICYmIHRoaXMuaGFzQ29udGFpbmVyKCkpIHtcbiAgICAgICAgdGhpcy5oYXNDaGFuZ2VDb250YWluZXIoY2hhbmdlcy5maWVsZHMucHJldmlvdXNWYWx1ZSwgY2hhbmdlcy5maWVsZHMuY3VycmVudFZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFjaGFuZ2VzLmZpZWxkcy5wcmV2aW91c1ZhbHVlIHx8ICFjaGFuZ2VzLmZpZWxkcy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmb2N1cyhwcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgY29uc3QgZm91bmRDb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudHMuZmluZChjb21wb25lbnQgPT4gY29tcG9uZW50Lm5hbWUgPT09IHByb3BlcnR5KTtcbiAgICBpZiAoZm91bmRDb21wb25lbnQpIHtcbiAgICAgIGZvdW5kQ29tcG9uZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgaXNEaXNhYmxlZChmaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZpZWxkLmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWRGb3JtO1xuICB9XG5cbiAgYXN5bmMgb25DaGFuZ2VGaWVsZCh2aXNpYmxlRmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCwgb2JqZWN0VmFsdWU/OiBhbnkpIHtcbiAgICBjb25zdCB7IHByb3BlcnR5IH0gPSB2aXNpYmxlRmllbGQ7XG4gICAgY29uc3QgaXNCb29sZWFuVHlwZSA9IHZpc2libGVGaWVsZC50eXBlID09PSAnYm9vbGVhbic7XG4gICAgY29uc3QgaXNDaGFuZ2VkVmFsdWVGaWVsZCA9IHRoaXMucHJldmlvdXNWYWx1ZVtwcm9wZXJ0eV0gIT09IHRoaXMudmFsdWVbcHJvcGVydHldO1xuXG4gICAgaWYgKHZpc2libGVGaWVsZC5vcHRpb25zU2VydmljZSkge1xuICAgICAgdGhpcy5vYmplY3RWYWx1ZS5lbWl0KG9iamVjdFZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyB2ZXJpZmljYSBzZSBvIGZvcm11bGFyaW8gZXN0YSB0b3VjaGVkIHBhcmEgbsOjbyBkaXNwYXJhciBvIHZhbGlkYXRlIGFvIGNhcnJlZ2FyIGEgdGVsYS5cbiAgICBpZiAoKHRoaXMuZm9ybS50b3VjaGVkIHx8IGlzQm9vbGVhblR5cGUpICYmIGlzQ2hhbmdlZFZhbHVlRmllbGQpIHtcbiAgICAgIGNvbnN0IHsgY2hhbmdlZEZpZWxkLCBjaGFuZ2VkRmllbGRJbmRleCB9ID0gdGhpcy5nZXRGaWVsZChwcm9wZXJ0eSk7XG5cbiAgICAgIGlmIChjaGFuZ2VkRmllbGQudmFsaWRhdGUpIHtcbiAgICAgICAgYXdhaXQgdGhpcy52YWxpZGF0ZUZpZWxkKGNoYW5nZWRGaWVsZCwgY2hhbmdlZEZpZWxkSW5kZXgsIHZpc2libGVGaWVsZCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMudHJpZ2dlclZhbGlkYXRpb25PbkZvcm0oY2hhbmdlZEZpZWxkSW5kZXgpO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlUHJldmlvdXNWYWx1ZSgpO1xuICB9XG5cbiAgLy9lbWl0ZSBvIHZhbG9yIGEgY2FkYSBjYXJhY3RlcmUgZGlnaXRhZG8gbm8gaW5wdXRcbiAgb25DaGFuZ2VGaWVsZE1vZGVsKHZpc2libGVGaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkKSB7XG4gICAgaWYgKHRoaXMudmFsaWRhdGVPbklucHV0KSB7XG4gICAgICBjb25zdCB7IHByb3BlcnR5IH0gPSB2aXNpYmxlRmllbGQ7XG4gICAgICBjb25zdCB7IGNoYW5nZWRGaWVsZEluZGV4IH0gPSB0aGlzLmdldEZpZWxkKHByb3BlcnR5KTtcbiAgICAgIHRoaXMudHJpZ2dlclZhbGlkYXRpb25PbkZvcm0oY2hhbmdlZEZpZWxkSW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVByZXZpb3VzVmFsdWUoKSB7XG4gICAgdGhpcy5wcmV2aW91c1ZhbHVlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnZhbHVlKSk7XG4gIH1cblxuICB0cmFja0J5KGluZGV4KSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUZpZWxkVmFsaWRhdGlvbihpbmRleDogbnVtYmVyLCB2YWxpZGF0ZWRGaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkVmFsaWRhdGlvbikge1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZHNbaW5kZXhdO1xuXG4gICAgdGhpcy5maWVsZHNbaW5kZXhdID0geyAuLi5maWVsZCwgLi4udmFsaWRhdGVkRmllbGQuZmllbGQgfTtcbiAgICB0aGlzLnVwZGF0ZUZpZWxkcygpO1xuXG4gICAgaWYgKHZhbGlkYXRlZEZpZWxkLmhhc093blByb3BlcnR5KCd2YWx1ZScpKSB7XG4gICAgICB0aGlzLnZhbHVlW2ZpZWxkLnByb3BlcnR5XSA9IHZhbGlkYXRlZEZpZWxkLnZhbHVlO1xuICAgIH1cblxuICAgIHRoaXMuY2hhbmdlcy5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBpZiAodmFsaWRhdGVkRmllbGQuZm9jdXMpIHtcbiAgICAgIHRoaXMuZm9jdXMoZmllbGQucHJvcGVydHkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmllbGQocHJvcGVydHk6IHN0cmluZykge1xuICAgIGNvbnN0IGNoYW5nZWRGaWVsZEluZGV4ID0gdGhpcy5maWVsZHMuZmluZEluZGV4KGZpZWxkID0+IGZpZWxkLnByb3BlcnR5ID09PSBwcm9wZXJ0eSk7XG4gICAgY29uc3QgY2hhbmdlZEZpZWxkID0gdGhpcy5maWVsZHNbY2hhbmdlZEZpZWxkSW5kZXhdO1xuXG4gICAgcmV0dXJuIHsgY2hhbmdlZEZpZWxkLCBjaGFuZ2VkRmllbGRJbmRleCB9O1xuICB9XG5cbiAgcHJpdmF0ZSB0cmlnZ2VyVmFsaWRhdGlvbk9uRm9ybShjaGFuZ2VkRmllbGRJbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgaXNWYWxpZGF0YWJsZUZpZWxkID0gdGhpcy52YWxpZGF0ZUZpZWxkcz8ubGVuZ3RoXG4gICAgICA/IHRoaXMudmFsaWRhdGVGaWVsZHNDaGVja2VyKHRoaXMudmFsaWRhdGVGaWVsZHMsIHRoaXMuZmllbGRzW2NoYW5nZWRGaWVsZEluZGV4XS5wcm9wZXJ0eSlcbiAgICAgIDogdHJ1ZTtcbiAgICBjb25zdCBoYXNWYWxpZGF0aW9uRm9ybSA9IHRoaXMudmFsaWRhdGUgJiYgaXNWYWxpZGF0YWJsZUZpZWxkICYmIHRoaXMuZm9ybVZhbGlkYXRlLm9ic2VydmVycy5sZW5ndGg7XG5cbiAgICBpZiAoaGFzVmFsaWRhdGlvbkZvcm0pIHtcbiAgICAgIGNvbnN0IHVwZGF0ZWRGaWVsZCA9IHRoaXMuZmllbGRzW2NoYW5nZWRGaWVsZEluZGV4XTtcbiAgICAgIHRoaXMuZm9ybVZhbGlkYXRlLmVtaXQodXBkYXRlZEZpZWxkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUZpZWxkcygpIHtcbiAgICB0aGlzLmZpZWxkc0NoYW5nZS5lbWl0KHRoaXMuZmllbGRzKTtcbiAgICB0aGlzLnZpc2libGVGaWVsZHMgPSB0aGlzLmdldFZpc2libGVGaWVsZHMoKTtcbiAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZpZWxkc0NoZWNrZXIodmFsaWRhdGVGaWVsZHM6IEFycmF5PHN0cmluZz4sIHByb3BlcnR5RmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZFsncHJvcGVydHknXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWxpZGF0ZUZpZWxkcy5zb21lKHZhbGlkYXRlRmllbGRJdGVtID0+IHZhbGlkYXRlRmllbGRJdGVtID09PSBwcm9wZXJ0eUZpZWxkKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdmFsaWRhdGVGaWVsZChmaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkLCBmaWVsZEluZGV4OiBudW1iZXIsIHZpc2libGVGaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlW2ZpZWxkLnByb3BlcnR5XTtcblxuICAgIGNvbnN0IHByZXZpb3VzRGlzYWJsZWQgPSB2aXNpYmxlRmllbGQuZGlzYWJsZWQ7XG4gICAgdmlzaWJsZUZpZWxkLmRpc2FibGVkID0gdHJ1ZTtcbiAgICB0aGlzLmNoYW5nZXMuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHZhbGlkYXRlZEZpZWxkID0gYXdhaXQgdGhpcy52YWxpZGF0aW9uU2VydmljZS5zZW5kRmllbGRDaGFuZ2UoZmllbGQsIHZhbHVlKS50b1Byb21pc2UoKTtcbiAgICAgIHRoaXMuYXBwbHlGaWVsZFZhbGlkYXRpb24oZmllbGRJbmRleCwgdmFsaWRhdGVkRmllbGQpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdmlzaWJsZUZpZWxkLmRpc2FibGVkID0gcHJldmlvdXNEaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhc0NoYW5nZUNvbnRhaW5lcihwcmV2aW91czogQXJyYXk8UG9EeW5hbWljRm9ybUZpZWxkPiwgY3VycmVudDogQXJyYXk8UG9EeW5hbWljRm9ybUZpZWxkPik6IHZvaWQge1xuICAgIGNvbnN0IHByZXZBcnJheSA9IHByZXZpb3VzLm1hcCgoaXRlbSwgaW5kZXgpID0+ICh7XG4gICAgICBjb250YWluZXI6IGl0ZW0uY29udGFpbmVyIHx8IG51bGwsXG4gICAgICBwcm9wZXJ0eTogaXRlbS5wcm9wZXJ0eSxcbiAgICAgIGluZGV4LFxuICAgICAgb3JkZXI6IGl0ZW0ub3JkZXJcbiAgICB9KSk7XG5cbiAgICBjb25zdCBjdXJyQXJyYXkgPSBjdXJyZW50Lm1hcCgoaXRlbSwgaW5kZXgpID0+ICh7XG4gICAgICBjb250YWluZXI6IGl0ZW0uY29udGFpbmVyIHx8IG51bGwsXG4gICAgICBwcm9wZXJ0eTogaXRlbS5wcm9wZXJ0eSxcbiAgICAgIGluZGV4LFxuICAgICAgb3JkZXI6IGl0ZW0ub3JkZXJcbiAgICB9KSk7XG5cbiAgICBjb25zdCBwcmV2Q29udGFpbmVycyA9IHByZXZBcnJheS5maWx0ZXIoaXRlbSA9PiBpdGVtLmNvbnRhaW5lcik7XG4gICAgY29uc3QgY3VyckNvbnRhaW5lcnMgPSBjdXJyQXJyYXkuZmlsdGVyKGl0ZW0gPT4gaXRlbS5jb250YWluZXIpO1xuXG4gICAgY29uc3QgcHJldk9yZGVyID0gcHJldkFycmF5LmZpbHRlcihpdGVtID0+IGl0ZW0ub3JkZXIpO1xuICAgIGNvbnN0IGN1cnJPcmRlciA9IGN1cnJBcnJheS5maWx0ZXIoaXRlbSA9PiBpdGVtLm9yZGVyKTtcblxuICAgIC8vIFZlcmlmaWNhIG11ZGFuw6dhIG5hIHF1YW50aWRhZGUgZGUgY29udGFpbmVyc1xuICAgIGlmIChwcmV2Q29udGFpbmVycy5sZW5ndGggIT09IGN1cnJDb250YWluZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBWZXJpZmljYSBtdWRhbsOnYSBuYSBxdWFudGlkYWRlIGRlIG9yZGVyXG4gICAgaWYgKHByZXZPcmRlci5sZW5ndGggIT09IGN1cnJPcmRlci5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGN1cnJDb250YWluZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5oYW5kbGVDaGFuZ2VzQ29udGFpbmVyKHByZXZDb250YWluZXJzLCBjdXJyQ29udGFpbmVycywgJ2NvbnRhaW5lcicpO1xuICAgIH1cblxuICAgIGlmIChjdXJyT3JkZXIubGVuZ3RoKSB7XG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZXNDb250YWluZXIocHJldk9yZGVyLCBjdXJyT3JkZXIsICdvcmRlcicpO1xuICAgIH1cblxuICAgIC8vYXR1YWxpemEgY29udGFpbmVyIHNlbSBtdWRhbsOnYSBuYSBlc3RydXR1cmEgZGEgaW50ZXJmYWNlXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5kaWZmT2JqZWN0c0FycmF5KHByZXZpb3VzLCB0aGlzLmdldFZpc2libGVGaWVsZHMoKSk7XG4gICAgdGhpcy5jb250YWluZXJGaWVsZHMgPSB0aGlzLnVwZGF0ZUZpZWxkQ29udGFpbmVyKHJlc3VsdCwgdGhpcy5jb250YWluZXJGaWVsZHMpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGaWVsZENvbnRhaW5lcihjaGFuZ2VzLCBjb250YWluZXJGaWVsZHMpIHtcbiAgICBjb25zdCBtYXBjaGFuZ2VzID0gbmV3IE1hcChjaGFuZ2VzLm1hcChvYmogPT4gW29iai5wcm9wZXJ0eSwgb2JqXSkpO1xuXG4gICAgY29udGFpbmVyRmllbGRzLmZvckVhY2goc3ViQXJyYXkgPT4ge1xuICAgICAgc3ViQXJyYXkuZm9yRWFjaCgoc3ViSXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgaXRlbTogYW55ID0gbWFwY2hhbmdlcy5nZXQoc3ViSXRlbS5wcm9wZXJ0eSk7XG4gICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgc3ViQXJyYXlbaW5kZXhdID0geyAuLi5zdWJJdGVtLCAuLi5pdGVtIH07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNvbnRhaW5lckZpZWxkcztcbiAgfVxuXG4gIHByaXZhdGUgZGlmZk9iamVjdHNBcnJheShvbGRBcnJheSwgbmV3QXJyYXkpIHtcbiAgICBjb25zdCBkaWZmZXJlbmNlcyA9IFtdO1xuXG4gICAgbmV3QXJyYXkuZm9yRWFjaChuZXdPYmogPT4ge1xuICAgICAgY29uc3Qgb2xkT2JqID0gb2xkQXJyYXkuZmluZChvID0+IG8ucHJvcGVydHkgPT09IG5ld09iai5wcm9wZXJ0eSk7XG5cbiAgICAgIGlmICghb2xkT2JqKSB7XG4gICAgICAgIC8vIFNlIG8gb2JqZXRvIMOpIG5vdm8sIGFkaWNpb25hIHRvZG8gbyBvYmpldG8gY29tIGEgcHJvcHJpZWRhZGUgXCJwcm9wZXJ0eVwiXG4gICAgICAgIGRpZmZlcmVuY2VzLnB1c2goeyAuLi5uZXdPYmogfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBWZXJpZmljYXIgc2UgaMOhIGRpZmVyZW7Dp2FzIG5hcyBwcm9wcmllZGFkZXNcbiAgICAgICAgY29uc3QgZGlmZiA9IHsgcHJvcGVydHk6IG5ld09iai5wcm9wZXJ0eSB9O1xuICAgICAgICBsZXQgaGFzRGlmZmVyZW5jZXMgPSBmYWxzZTtcblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBuZXdPYmopIHtcbiAgICAgICAgICBpZiAobmV3T2JqW2tleV0gIT09IG9sZE9ialtrZXldKSB7XG4gICAgICAgICAgICBkaWZmW2tleV0gPSBuZXdPYmpba2V5XTtcbiAgICAgICAgICAgIGhhc0RpZmZlcmVuY2VzID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaGFzRGlmZmVyZW5jZXMpIHtcbiAgICAgICAgICBkaWZmZXJlbmNlcy5wdXNoKGRpZmYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvL3JldG9ybmEgbXVkYW7Dp2FzIG5vcyBmaWVsZHMgcGFyYSBhdHVhbGl6YcOnw6NvIGRvIGNvbnRhaW5lckZpZWxkc1xuICAgIHJldHVybiBkaWZmZXJlbmNlcztcbiAgfVxuXG4gIHByaXZhdGUgaGFzQ29udGFpbmVyKCkge1xuICAgIHJldHVybiB0aGlzLnZpc2libGVGaWVsZHMgJiYgdGhpcy52aXNpYmxlRmllbGRzLnNvbWUoZmllbGQgPT4gZmllbGQuY29udGFpbmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ2hhbmdlc0NvbnRhaW5lcihwcmV2Q29udGFpbmVycywgY3VyckNvbnRhaW5lcnMsIGtleSkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJldkNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHByZXYgPSBwcmV2Q29udGFpbmVyc1tpXTtcbiAgICAgIGNvbnN0IGN1cnIgPSBjdXJyQ29udGFpbmVyc1tpXTtcblxuICAgICAgLy9WZXJpZmljYSBzZSBjb250YWluZXIgbXVkb3UgZGUgcG9zacOnw6NvXG4gICAgICBpZiAocHJldltrZXldID09PSBjdXJyW2tleV0gJiYgcHJldi5pbmRleCAhPT0gY3Vyci5pbmRleCkge1xuICAgICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvL1ZlcmlmaWNhIHNlIGZvaSBhcGVuYXMgbXVkYW7Dp2EgZGEgc3RyaW5nIGVtIGNhc28gZG8gY29udGFpbmVyIG91IHZhbG9yIG5vIG9yZGVyXG4gICAgICBpZiAocHJldltrZXldICE9PSBjdXJyW2tleV0gJiYgcHJldi5pbmRleCA9PT0gY3Vyci5pbmRleCkge1xuICAgICAgICBpZiAoa2V5ID09PSAnb3JkZXInKSB7XG4gICAgICAgICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb250YWluZXJGaWVsZHMuZm9yRWFjaChzdWJJdGVtID0+XG4gICAgICAgICAgc3ViSXRlbS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0ucHJvcGVydHkgPT09IGN1cnIucHJvcGVydHkpIHtcbiAgICAgICAgICAgICAgaXRlbVtrZXldID0gY3VycltrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICAvL3ZlcmlmaWNhIHNlIG1hbnRldmUgbyBtZXNtbyBuw7ptZXJvIGRlIGNvbnRhaW5lciwgbWFzIGFsdGVyb3UgcHJvcGVydHkgZG8gY29udGFpbmVyXG4gICAgICBpZiAocHJldltrZXldICE9PSBjdXJyW2tleV0gJiYgcHJldi5wcm9wZXJ0eSAhPT0gY3Vyci5wcm9wZXJ0eSkge1xuICAgICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG8tcm93XCIgW2NsYXNzLnBvLWR5bmFtaWNdPVwiaGFzQ29udGFpbmVyc1wiICpuZ0lmPVwidmlzaWJsZUZpZWxkcyAmJiB2aXNpYmxlRmllbGRzLmxlbmd0aCA+IDBcIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICBoYXNDb250YWluZXJzID8gcG9Db250ZW50Q29udGFpbmVyIDogcG9Db250ZW50O1xuICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGhhc0NvbnRhaW5lcnMgPyBjb250YWluZXJGaWVsZHMgOiB2aXNpYmxlRmllbGRzIH1cbiAgICBcIlxuICA+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwb0NvbnRlbnQgbGV0LWZpZWxkcz5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmllbGRzOyB0cmFja0J5OiB0cmFja0J5XCI+XG4gICAgPHBvLWRpdmlkZXIgKm5nSWY9XCJmaWVsZD8uZGl2aWRlcj8udHJpbSgpXCIgY2xhc3M9XCJwby1zbS0xMlwiIFtwLWxhYmVsXT1cImZpZWxkLmRpdmlkZXJcIj4gPC9wby1kaXZpZGVyPlxuXG4gICAgPHBvLWRhdGVwaWNrZXJcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdkYXRlcGlja2VyJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZXJyb3ItcGF0dGVybl09XCJmaWVsZC5lcnJvck1lc3NhZ2VcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1mb3JtYXRdPVwiZmllbGQuZm9ybWF0XCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1pc28tZm9ybWF0XT1cImZpZWxkLmlzb0Zvcm1hdFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1sb2NhbGVdPVwiZmllbGQubG9jYWxlXCJcbiAgICAgIFtwLW1heC1kYXRlXT1cImZpZWxkLm1heFZhbHVlXCJcbiAgICAgIFtwLW1pbi1kYXRlXT1cImZpZWxkLm1pblZhbHVlXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLWRhdGVwaWNrZXI+XG5cbiAgICA8cG8tZGF0ZXBpY2tlci1yYW5nZVxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2RhdGVwaWNrZXJyYW5nZScpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxpdGVyYWxzXT1cImZpZWxkLmxpdGVyYWxzXCJcbiAgICAgIFtwLW1heC1kYXRlXT1cImZpZWxkLm1heFZhbHVlXCJcbiAgICAgIFtwLW1pbi1kYXRlXT1cImZpZWxkLm1pblZhbHVlXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgID5cbiAgICA8L3BvLWRhdGVwaWNrZXItcmFuZ2U+XG5cbiAgICA8cG8taW5wdXRcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdpbnB1dCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW1hc2stZm9ybWF0LW1vZGVsXT1cImZpZWxkLm1hc2tGb3JtYXRNb2RlbFwiXG4gICAgICBbcC1tYXNrXT1cImZpZWxkLm1hc2tcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1wYXR0ZXJuXT1cImZpZWxkLnBhdHRlcm5cIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJvbkNoYW5nZUZpZWxkTW9kZWwoZmllbGQpXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgPlxuICAgIDwvcG8taW5wdXQ+XG5cbiAgICA8cG8tbnVtYmVyXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnbnVtYmVyJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZXJyb3ItcGF0dGVybl09XCJmaWVsZC5lcnJvck1lc3NhZ2VcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbWluXT1cImZpZWxkLm1pblZhbHVlXCJcbiAgICAgIFtwLW1heF09XCJmaWVsZC5tYXhWYWx1ZVwiXG4gICAgICBbcC1tYXhsZW5ndGhdPVwiZmllbGQubWF4TGVuZ3RoXCJcbiAgICAgIFtwLW1pbmxlbmd0aF09XCJmaWVsZC5taW5MZW5ndGhcIlxuICAgICAgW3Atbm8tYXV0b2NvbXBsZXRlXT1cImZpZWxkLm5vQXV0b2NvbXBsZXRlXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXN0ZXBdPVwiZmllbGQuc3RlcFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtaWNvbl09XCJmaWVsZC5pY29uXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgPC9wby1udW1iZXI+XG5cbiAgICA8cG8tZGVjaW1hbFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2RlY2ltYWwnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1lcnJvci1wYXR0ZXJuXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1kZWNpbWFscy1sZW5ndGhdPVwiZmllbGQuZGVjaW1hbHNMZW5ndGhcIlxuICAgICAgW3AtdGhvdXNhbmQtbWF4bGVuZ3RoXT1cImZpZWxkLnRob3VzYW5kTWF4bGVuZ3RoXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1sb2NhbGVdPVwiZmllbGQubG9jYWxlXCJcbiAgICAgIFtwLW1pbl09XCJmaWVsZC5taW5WYWx1ZVwiXG4gICAgICBbcC1tYXhdPVwiZmllbGQubWF4VmFsdWVcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLWRlY2ltYWw+XG5cbiAgICA8cG8tc2VsZWN0XG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnc2VsZWN0JylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtZmllbGQtbGFiZWxdPVwiZmllbGQuZmllbGRMYWJlbFwiXG4gICAgICBbcC1maWVsZC12YWx1ZV09XCJmaWVsZC5maWVsZFZhbHVlXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1vcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtwLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICA+XG4gICAgPC9wby1zZWxlY3Q+XG5cbiAgICA8cG8tcmFkaW8tZ3JvdXBcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdyYWRpb0dyb3VwJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY29sdW1uc109XCJmaWVsZC5jb2x1bW5zIHx8IDNcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgPlxuICAgIDwvcG8tcmFkaW8tZ3JvdXA+XG5cbiAgICA8cG8tc3dpdGNoXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnc3dpdGNoJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZm9ybWF0LW1vZGVsXT1cImZpZWxkLmZvcm1hdE1vZGVsXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1sYWJlbC1vZmZdPVwiZmllbGQuYm9vbGVhbkZhbHNlXCJcbiAgICAgIFtwLWxhYmVsLW9uXT1cImZpZWxkLmJvb2xlYW5UcnVlXCJcbiAgICAgIFtwLWxhYmVsLXBvc2l0aW9uXT1cImZpZWxkLmxhYmVsUG9zaXRpb25cIlxuICAgICAgW3AtaGlkZS1sYWJlbC1zdGF0dXNdPVwiZmllbGQuaGlkZUxhYmVsU3RhdHVzXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgPlxuICAgIDwvcG8tc3dpdGNoPlxuXG4gICAgPHBvLWNoZWNrYm94XG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnY2hlY2tib3gnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLXNpemVdPVwiZmllbGQuc2l6ZVwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgID5cbiAgICA8L3BvLWNoZWNrYm94PlxuXG4gICAgPHBvLWNvbWJvXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnY29tYm8nKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBwLWVtaXQtb2JqZWN0LXZhbHVlXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWZpZWxkLWxhYmVsXT1cImZpZWxkLmZpZWxkTGFiZWxcIlxuICAgICAgW3AtZmllbGQtdmFsdWVdPVwiZmllbGQuZmllbGRWYWx1ZVwiXG4gICAgICBbcC1maWx0ZXItcGFyYW1zXT1cImZpZWxkLnBhcmFtc1wiXG4gICAgICBbcC1maWx0ZXItc2VydmljZV09XCJmaWVsZC5vcHRpb25zU2VydmljZVwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtaW5maW5pdGUtc2Nyb2xsXT1cImZpZWxkLmluZmluaXRlU2Nyb2xsXCJcbiAgICAgIFtwLWluZmluaXRlLXNjcm9sbC1kaXN0YW5jZV09XCJmaWVsZC5pbmZpbml0ZVNjcm9sbERpc3RhbmNlIHx8IDEwMFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1saXRlcmFsc109XCJmaWVsZC5saXRlcmFsc1wiXG4gICAgICBbcC1vcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atc29ydF09XCJmaWVsZC5zb3J0XCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkLCAkZXZlbnQpXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1maWx0ZXItbWlubGVuZ3RoXT1cImZpZWxkLmZpbHRlck1pbmxlbmd0aFwiXG4gICAgICBbcC1maWx0ZXItbW9kZV09XCJmaWVsZC5maWx0ZXJNb2RlXCJcbiAgICAgIFtwLWRpc2FibGVkLWluaXQtZmlsdGVyXT1cImZpZWxkLmRpc2FibGVkSW5pdEZpbHRlclwiXG4gICAgICBbcC1kaXNhYmxlZC10YWItZmlsdGVyXT1cImZpZWxkLmRpc2FibGVkVGFiRmlsdGVyXCJcbiAgICAgIFtwLWRlYm91bmNlLXRpbWVdPVwiZmllbGQuZGVib3VuY2VUaW1lXCJcbiAgICAgIFtwLWNoYW5nZS1vbi1lbnRlcl09XCJmaWVsZC5jaGFuZ2VPbkVudGVyXCJcbiAgICA+XG4gICAgPC9wby1jb21ibz5cblxuICAgIDxwby1sb29rdXBcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdsb29rdXAnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBwLWZpZWxkLWxhYmVsPVwibGFiZWxcIlxuICAgICAgcC1maWVsZC12YWx1ZT1cInZhbHVlXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWNvbHVtbnNdPVwiZmllbGQuY29sdW1uc1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1maWVsZC1sYWJlbF09XCJmaWVsZC5maWVsZExhYmVsIHx8ICdsYWJlbCdcIlxuICAgICAgW3AtZmllbGQtdmFsdWVdPVwiZmllbGQuZmllbGRWYWx1ZSB8fCAndmFsdWUnXCJcbiAgICAgIFtwLWZpbHRlci1wYXJhbXNdPVwiZmllbGQucGFyYW1zXCJcbiAgICAgIFtwLWZpbHRlci1zZXJ2aWNlXT1cImZpZWxkLnNlYXJjaFNlcnZpY2VcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1hdXRvLWhlaWdodF09XCJmaWVsZC5hdXRvSGVpZ2h0XCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1maWVsZC1mb3JtYXRdPVwiZmllbGQuZm9ybWF0XCJcbiAgICAgIFtwLWluZmluaXRlLXNjcm9sbF09XCJmaWVsZC5pbmZpbml0ZVNjcm9sbFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1saXRlcmFsc109XCJmaWVsZC5saXRlcmFsc1wiXG4gICAgICBbcC1tdWx0aXBsZV09XCJmaWVsZC5tdWx0aXBsZVwiXG4gICAgICBbcC1uby1hdXRvY29tcGxldGVdPVwiZmllbGQubm9BdXRvY29tcGxldGVcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtwLWFkdmFuY2VkLWZpbHRlcnNdPVwiZmllbGQuYWR2YW5jZWRGaWx0ZXJzXCJcbiAgICAgIChwLWNoYW5nZS12aXNpYmxlLWNvbHVtbnMpPVwiZmllbGQuY2hhbmdlVmlzaWJsZUNvbHVtbnM/LigkZXZlbnQpXCJcbiAgICAgIChwLXJlc3RvcmUtY29sdW1uLW1hbmFnZXIpPVwiZmllbGQuY29sdW1uUmVzdG9yZU1hbmFnZXI/LigkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9wby1sb29rdXA+XG5cbiAgICA8cG8tY2hlY2tib3gtZ3JvdXBcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdjaGVja2JveEdyb3VwJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY29sdW1uc109XCJmaWVsZC5jb2x1bW5zIHx8IDNcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgPlxuICAgIDwvcG8tY2hlY2tib3gtZ3JvdXA+XG5cbiAgICA8cG8tbXVsdGlzZWxlY3RcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdtdWx0aXNlbGVjdCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtYXV0by1oZWlnaHRdPVwiZmllbGQuYXV0b0hlaWdodFwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbGl0ZXJhbHNdPVwiZmllbGQubGl0ZXJhbHNcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1maWVsZC1sYWJlbF09XCJmaWVsZC5maWVsZExhYmVsXCJcbiAgICAgIFtwLWZpZWxkLXZhbHVlXT1cImZpZWxkLmZpZWxkVmFsdWVcIlxuICAgICAgW3AtZmlsdGVyLXNlcnZpY2VdPVwiZmllbGQub3B0aW9uc1NlcnZpY2VcIlxuICAgICAgW3AtZmlsdGVyLW1vZGVdPVwiZmllbGQuZmlsdGVyTW9kZVwiXG4gICAgICBbcC1kZWJvdW5jZS10aW1lXT1cImZpZWxkLmRlYm91bmNlVGltZVwiXG4gICAgICBbcC1zb3J0XT1cImZpZWxkLnNvcnRcIlxuICAgICAgW3AtcGxhY2Vob2xkZXItc2VhcmNoXT1cImZpZWxkLnBsYWNlaG9sZGVyU2VhcmNoXCJcbiAgICAgIFtwLWhpZGUtc2VhcmNoXT1cImZpZWxkLmhpZGVTZWFyY2hcIlxuICAgICAgW3AtaGlkZS1zZWxlY3QtYWxsXT1cImZpZWxkLmhpZGVTZWxlY3RBbGxcIlxuICAgID5cbiAgICA8L3BvLW11bHRpc2VsZWN0PlxuXG4gICAgPHBvLXRleHRhcmVhXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAndGV4dGFyZWEnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1tYXhsZW5ndGhdPVwiZmllbGQubWF4TGVuZ3RoXCJcbiAgICAgIFtwLW1pbmxlbmd0aF09XCJmaWVsZC5taW5MZW5ndGhcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgW3Atcm93c109XCJmaWVsZC5yb3dzXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICAocC1jaGFuZ2UtbW9kZWwpPVwib25DaGFuZ2VGaWVsZE1vZGVsKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgPlxuICAgIDwvcG8tdGV4dGFyZWE+XG5cbiAgICA8cG8tcGFzc3dvcmRcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdwYXNzd29yZCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWhpZGUtcGFzc3dvcmQtcGVla109XCJmaWVsZC5oaWRlUGFzc3dvcmRQZWVrXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1tYXhsZW5ndGhdPVwiZmllbGQubWF4TGVuZ3RoXCJcbiAgICAgIFtwLW1pbmxlbmd0aF09XCJmaWVsZC5taW5MZW5ndGhcIlxuICAgICAgW3Atbm8tYXV0b2NvbXBsZXRlXT1cImZpZWxkLm5vQXV0b2NvbXBsZXRlXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXBhdHRlcm5dPVwiZmllbGQucGF0dGVyblwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLXBhc3N3b3JkPlxuXG4gICAgPHBvLXVwbG9hZFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ3VwbG9hZCcpXCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWF1dG8tdXBsb2FkXT1cImZpZWxkLmF1dG9VcGxvYWRcIlxuICAgICAgW3AtZGlyZWN0b3J5XT1cImZpZWxkLmRpcmVjdG9yeVwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1kcmFnLWRyb3BdPVwiZmllbGQuZHJhZ0Ryb3BcIlxuICAgICAgW3AtZHJhZy1kcm9wLWhlaWdodF09XCJmaWVsZC5kcmFnRHJvcEhlaWdodFwiXG4gICAgICBbcC1yZXN0cmljdGlvbnNdPVwiZmllbGQucmVzdHJpY3Rpb25zXCJcbiAgICAgIFtwLWZvcm0tZmllbGRdPVwiZmllbGQuZm9ybUZpZWxkXCJcbiAgICAgIFtwLWhlYWRlcnNdPVwiZmllbGQuaGVhZGVyc1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtaGlkZS1yZXN0cmljdGlvbnMtaW5mb109XCJmaWVsZC5oaWRlUmVzdHJpY3Rpb25zSW5mb1wiXG4gICAgICBbcC1oaWRlLXNlbGVjdC1idXR0b25dPVwiZmllbGQuaGlkZVNlbGVjdEJ1dHRvblwiXG4gICAgICBbcC1oaWRlLXNlbmQtYnV0dG9uXT1cImZpZWxkLmhpZGVTZW5kQnV0dG9uXCJcbiAgICAgIFtwLW11bHRpcGxlXT1cImZpZWxkLm11bHRpcGxlXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxpdGVyYWxzXT1cImZpZWxkLmxpdGVyYWxzXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIChwLWVycm9yKT1cImZpZWxkLm9uRXJyb3IoJGV2ZW50KVwiXG4gICAgICAocC1zdWNjZXNzKT1cImZpZWxkLm9uU3VjY2VzcygkZXZlbnQpXCJcbiAgICAgIChwLXVwbG9hZCk9XCJmaWVsZC5vblVwbG9hZCgkZXZlbnQpXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICAocC1jaGFuZ2UtbW9kZWwpPVwib25DaGFuZ2VGaWVsZE1vZGVsKGZpZWxkKVwiXG4gICAgICBbcC11cmxdPVwiZmllbGQudXJsXCJcbiAgICA+XG4gICAgPC9wby11cGxvYWQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwb0NvbnRlbnRDb250YWluZXIgbGV0LWZpZWxkcz5cbiAgPHBvLWR5bmFtaWMtY29udGFpbmVyIFtwLWZpZWxkc109XCJmaWVsZHNcIiBbcC1jb250ZW50XT1cInBvQ29udGVudFwiPjwvcG8tZHluYW1pYy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
580
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWZpZWxkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZHluYW1pYy9wby1keW5hbWljLWZvcm0vcG8tZHluYW1pYy1mb3JtLWZpZWxkcy9wby1keW5hbWljLWZvcm0tZmllbGRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0tZmllbGRzL3BvLWR5bmFtaWMtZm9ybS1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFxQixTQUFTLEVBQXVDLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJMUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDbEgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNOekYsd0JBS2dCOzs7O0lBTmxCLDhCQUF5RztJQUN2RyxxR0FLZ0I7SUFDbEIsaUJBQU07Ozs7O0lBUGMsa0RBQWtDO0lBRWpELGNBRVE7SUFGUixtRUFFUSw2SEFBQTs7O0lBT1QsaUNBQW9HOzs7SUFBeEMsMENBQXlCOzs7O0lBRXJGLDZDQXdCQztJQXBCQywrYUFBbUM7SUFrQm5DLCtRQUFZLGVBQUEsK0JBQW9CLENBQUEsSUFBQztJQUduQyxpQkFBZ0I7Ozs7SUF0QmQsd0NBQXVCO0lBQ3ZCLGdFQUFtQztJQUNuQyxpREFBZ0MsMkJBQUEsNENBQUEsMENBQUEsZ0NBQUEsNkJBQUEseUJBQUEs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O2FBQ0g7WUFDRCxvRkFBb0Y7WUFDcEYsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDOUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFCLE9BQU87YUFDUjtTQUNGO0lBQ0gsQ0FBQztzRkF0U1UsNEJBQTRCOzZEQUE1Qiw0QkFBNEI7Ozs7OzhDQUY1QixDQUFDLDhCQUE4QixDQUFDLEVBRDVCLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lDbkJyRSw2RUFPTSxpSEFBQSxpSEFBQTs7WUFQa0Qsd0VBQStDOzs7aUZEc0IxRiw0QkFBNEI7Y0FOeEMsU0FBUzsyQkFDRSx3QkFBd0IsaUJBRW5CLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDLGFBQ3hELENBQUMsOEJBQThCLENBQUM7Z0pBR2hCLFVBQVU7a0JBQXBDLFlBQVk7bUJBQUMsV0FBVzs7a0ZBRGQsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGl0bGVDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkNoYW5nZXMsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1GaWVsZCB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZm9ybS1maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9EeW5hbWljRm9ybUZpZWxkVmFsaWRhdGlvbiB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZm9ybS12YWxpZGF0aW9uL3BvLWR5bmFtaWMtZm9ybS1maWVsZC12YWxpZGF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0R5bmFtaWNGb3JtVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9wby1keW5hbWljLWZvcm0tdmFsaWRhdGlvbi9wby1keW5hbWljLWZvcm0tdmFsaWRhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1GaWVsZHNCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1keW5hbWljLWZvcm0tZmllbGRzLWJhc2UuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZG9jc1ByaXZhdGVcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBDb21wb25lbnRlIGRlIGNyaWHDp8OjbyBkb3MgY2FtcG9zIGRpbsOibWljb3MuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLWR5bmFtaWMtZm9ybS1maWVsZHMnLFxuICB0ZW1wbGF0ZVVybDogJ3BvLWR5bmFtaWMtZm9ybS1maWVsZHMuY29tcG9uZW50Lmh0bWwnLFxuICB2aWV3UHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogTmdGb3JtIH1dLFxuICBwcm92aWRlcnM6IFtQb0R5bmFtaWNGb3JtVmFsaWRhdGlvblNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFBvRHluYW1pY0Zvcm1GaWVsZHNDb21wb25lbnQgZXh0ZW5kcyBQb0R5bmFtaWNGb3JtRmllbGRzQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBWaWV3Q2hpbGRyZW4oJ2NvbXBvbmVudCcpIGNvbXBvbmVudHM6IFF1ZXJ5TGlzdDx7IG5hbWU6IHN0cmluZzsgZm9jdXM6ICgpID0+IHZvaWQgfT47XG5cbiAgcHJpdmF0ZSBwcmV2aW91c1ZhbHVlID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdGl0bGVDYXNlUGlwZTogVGl0bGVDYXNlUGlwZSxcbiAgICBwcml2YXRlIHZhbGlkYXRpb25TZXJ2aWNlOiBQb0R5bmFtaWNGb3JtVmFsaWRhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VzOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGZvcm06IE5nRm9ybVxuICApIHtcbiAgICBzdXBlcih0aXRsZUNhc2VQaXBlKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5maWVsZHMpIHtcbiAgICAgIHRoaXMudmlzaWJsZUZpZWxkcyA9IHRoaXMuZ2V0VmlzaWJsZUZpZWxkcygpO1xuXG4gICAgICBpZiAoY2hhbmdlcy5maWVsZHMucHJldmlvdXNWYWx1ZSAmJiB0aGlzLmhhc0NvbnRhaW5lcigpKSB7XG4gICAgICAgIHRoaXMuaGFzQ2hhbmdlQ29udGFpbmVyKGNoYW5nZXMuZmllbGRzLnByZXZpb3VzVmFsdWUsIGNoYW5nZXMuZmllbGRzLmN1cnJlbnRWYWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICghY2hhbmdlcy5maWVsZHMucHJldmlvdXNWYWx1ZSB8fCAhY2hhbmdlcy5maWVsZHMuY3VycmVudFZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZm9jdXMocHJvcGVydHk6IHN0cmluZykge1xuICAgIGNvbnN0IGZvdW5kQ29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRzLmZpbmQoY29tcG9uZW50ID0+IGNvbXBvbmVudC5uYW1lID09PSBwcm9wZXJ0eSk7XG4gICAgaWYgKGZvdW5kQ29tcG9uZW50KSB7XG4gICAgICBmb3VuZENvbXBvbmVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIGlzRGlzYWJsZWQoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmaWVsZC5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRm9ybTtcbiAgfVxuXG4gIGFzeW5jIG9uQ2hhbmdlRmllbGQodmlzaWJsZUZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGQsIG9iamVjdFZhbHVlPzogYW55KSB7XG4gICAgY29uc3QgeyBwcm9wZXJ0eSB9ID0gdmlzaWJsZUZpZWxkO1xuICAgIGNvbnN0IGlzQm9vbGVhblR5cGUgPSB2aXNpYmxlRmllbGQudHlwZSA9PT0gJ2Jvb2xlYW4nO1xuICAgIGNvbnN0IGlzQ2hhbmdlZFZhbHVlRmllbGQgPSB0aGlzLnByZXZpb3VzVmFsdWVbcHJvcGVydHldICE9PSB0aGlzLnZhbHVlW3Byb3BlcnR5XTtcblxuICAgIGlmICh2aXNpYmxlRmllbGQub3B0aW9uc1NlcnZpY2UpIHtcbiAgICAgIHRoaXMub2JqZWN0VmFsdWUuZW1pdChvYmplY3RWYWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gdmVyaWZpY2Egc2UgbyBmb3JtdWxhcmlvIGVzdGEgdG91Y2hlZCBwYXJhIG7Do28gZGlzcGFyYXIgbyB2YWxpZGF0ZSBhbyBjYXJyZWdhciBhIHRlbGEuXG4gICAgaWYgKCh0aGlzLmZvcm0udG91Y2hlZCB8fCBpc0Jvb2xlYW5UeXBlKSAmJiBpc0NoYW5nZWRWYWx1ZUZpZWxkKSB7XG4gICAgICBjb25zdCB7IGNoYW5nZWRGaWVsZCwgY2hhbmdlZEZpZWxkSW5kZXggfSA9IHRoaXMuZ2V0RmllbGQocHJvcGVydHkpO1xuXG4gICAgICBpZiAoY2hhbmdlZEZpZWxkLnZhbGlkYXRlKSB7XG4gICAgICAgIGF3YWl0IHRoaXMudmFsaWRhdGVGaWVsZChjaGFuZ2VkRmllbGQsIGNoYW5nZWRGaWVsZEluZGV4LCB2aXNpYmxlRmllbGQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnRyaWdnZXJWYWxpZGF0aW9uT25Gb3JtKGNoYW5nZWRGaWVsZEluZGV4KTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZVByZXZpb3VzVmFsdWUoKTtcbiAgfVxuXG4gIC8vZW1pdGUgbyB2YWxvciBhIGNhZGEgY2FyYWN0ZXJlIGRpZ2l0YWRvIG5vIGlucHV0XG4gIG9uQ2hhbmdlRmllbGRNb2RlbCh2aXNpYmxlRmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGlmICh0aGlzLnZhbGlkYXRlT25JbnB1dCkge1xuICAgICAgY29uc3QgeyBwcm9wZXJ0eSB9ID0gdmlzaWJsZUZpZWxkO1xuICAgICAgY29uc3QgeyBjaGFuZ2VkRmllbGRJbmRleCB9ID0gdGhpcy5nZXRGaWVsZChwcm9wZXJ0eSk7XG4gICAgICB0aGlzLnRyaWdnZXJWYWxpZGF0aW9uT25Gb3JtKGNoYW5nZWRGaWVsZEluZGV4KTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVQcmV2aW91c1ZhbHVlKCkge1xuICAgIHRoaXMucHJldmlvdXNWYWx1ZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy52YWx1ZSkpO1xuICB9XG5cbiAgdHJhY2tCeShpbmRleCkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlGaWVsZFZhbGlkYXRpb24oaW5kZXg6IG51bWJlciwgdmFsaWRhdGVkRmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZFZhbGlkYXRpb24pIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGRzW2luZGV4XTtcblxuICAgIHRoaXMuZmllbGRzW2luZGV4XSA9IHsgLi4uZmllbGQsIC4uLnZhbGlkYXRlZEZpZWxkLmZpZWxkIH07XG4gICAgdGhpcy51cGRhdGVGaWVsZHMoKTtcblxuICAgIGlmICh2YWxpZGF0ZWRGaWVsZC5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSkge1xuICAgICAgdGhpcy52YWx1ZVtmaWVsZC5wcm9wZXJ0eV0gPSB2YWxpZGF0ZWRGaWVsZC52YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZXMuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgaWYgKHZhbGlkYXRlZEZpZWxkLmZvY3VzKSB7XG4gICAgICB0aGlzLmZvY3VzKGZpZWxkLnByb3BlcnR5KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEZpZWxkKHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBjaGFuZ2VkRmllbGRJbmRleCA9IHRoaXMuZmllbGRzLmZpbmRJbmRleChmaWVsZCA9PiBmaWVsZC5wcm9wZXJ0eSA9PT0gcHJvcGVydHkpO1xuICAgIGNvbnN0IGNoYW5nZWRGaWVsZCA9IHRoaXMuZmllbGRzW2NoYW5nZWRGaWVsZEluZGV4XTtcblxuICAgIHJldHVybiB7IGNoYW5nZWRGaWVsZCwgY2hhbmdlZEZpZWxkSW5kZXggfTtcbiAgfVxuXG4gIHByaXZhdGUgdHJpZ2dlclZhbGlkYXRpb25PbkZvcm0oY2hhbmdlZEZpZWxkSW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGlzVmFsaWRhdGFibGVGaWVsZCA9IHRoaXMudmFsaWRhdGVGaWVsZHM/Lmxlbmd0aFxuICAgICAgPyB0aGlzLnZhbGlkYXRlRmllbGRzQ2hlY2tlcih0aGlzLnZhbGlkYXRlRmllbGRzLCB0aGlzLmZpZWxkc1tjaGFuZ2VkRmllbGRJbmRleF0ucHJvcGVydHkpXG4gICAgICA6IHRydWU7XG4gICAgY29uc3QgaGFzVmFsaWRhdGlvbkZvcm0gPSB0aGlzLnZhbGlkYXRlICYmIGlzVmFsaWRhdGFibGVGaWVsZCAmJiB0aGlzLmZvcm1WYWxpZGF0ZS5vYnNlcnZlcnMubGVuZ3RoO1xuXG4gICAgaWYgKGhhc1ZhbGlkYXRpb25Gb3JtKSB7XG4gICAgICBjb25zdCB1cGRhdGVkRmllbGQgPSB0aGlzLmZpZWxkc1tjaGFuZ2VkRmllbGRJbmRleF07XG4gICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5lbWl0KHVwZGF0ZWRGaWVsZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGaWVsZHMoKSB7XG4gICAgdGhpcy5maWVsZHNDaGFuZ2UuZW1pdCh0aGlzLmZpZWxkcyk7XG4gICAgdGhpcy52aXNpYmxlRmllbGRzID0gdGhpcy5nZXRWaXNpYmxlRmllbGRzKCk7XG4gICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGaWVsZHNDaGVja2VyKHZhbGlkYXRlRmllbGRzOiBBcnJheTxzdHJpbmc+LCBwcm9wZXJ0eUZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGRbJ3Byb3BlcnR5J10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsaWRhdGVGaWVsZHMuc29tZSh2YWxpZGF0ZUZpZWxkSXRlbSA9PiB2YWxpZGF0ZUZpZWxkSXRlbSA9PT0gcHJvcGVydHlGaWVsZCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHZhbGlkYXRlRmllbGQoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCwgZmllbGRJbmRleDogbnVtYmVyLCB2aXNpYmxlRmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZVtmaWVsZC5wcm9wZXJ0eV07XG5cbiAgICBjb25zdCBwcmV2aW91c0Rpc2FibGVkID0gdmlzaWJsZUZpZWxkLmRpc2FibGVkO1xuICAgIHZpc2libGVGaWVsZC5kaXNhYmxlZCA9IHRydWU7XG4gICAgdGhpcy5jaGFuZ2VzLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB2YWxpZGF0ZWRGaWVsZCA9IGF3YWl0IHRoaXMudmFsaWRhdGlvblNlcnZpY2Uuc2VuZEZpZWxkQ2hhbmdlKGZpZWxkLCB2YWx1ZSkudG9Qcm9taXNlKCk7XG4gICAgICB0aGlzLmFwcGx5RmllbGRWYWxpZGF0aW9uKGZpZWxkSW5kZXgsIHZhbGlkYXRlZEZpZWxkKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHZpc2libGVGaWVsZC5kaXNhYmxlZCA9IHByZXZpb3VzRGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYXNDaGFuZ2VDb250YWluZXIocHJldmlvdXM6IEFycmF5PFBvRHluYW1pY0Zvcm1GaWVsZD4sIGN1cnJlbnQ6IEFycmF5PFBvRHluYW1pY0Zvcm1GaWVsZD4pOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2QXJyYXkgPSBwcmV2aW91cy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoe1xuICAgICAgY29udGFpbmVyOiBpdGVtLmNvbnRhaW5lciB8fCBudWxsLFxuICAgICAgcHJvcGVydHk6IGl0ZW0ucHJvcGVydHksXG4gICAgICBpbmRleCxcbiAgICAgIG9yZGVyOiBpdGVtLm9yZGVyLFxuICAgICAgdmlzaWJsZTogaXRlbS52aXNpYmxlID8/IHRydWVcbiAgICB9KSk7XG5cbiAgICBjb25zdCBjdXJyQXJyYXkgPSBjdXJyZW50Lm1hcCgoaXRlbSwgaW5kZXgpID0+ICh7XG4gICAgICBjb250YWluZXI6IGl0ZW0uY29udGFpbmVyIHx8IG51bGwsXG4gICAgICBwcm9wZXJ0eTogaXRlbS5wcm9wZXJ0eSxcbiAgICAgIGluZGV4LFxuICAgICAgb3JkZXI6IGl0ZW0ub3JkZXIsXG4gICAgICB2aXNpYmxlOiBpdGVtLnZpc2libGUgPz8gdHJ1ZVxuICAgIH0pKTtcblxuICAgIGNvbnN0IHByZXZDb250YWluZXJzID0gcHJldkFycmF5LmZpbHRlcihpdGVtID0+IGl0ZW0uY29udGFpbmVyKTtcbiAgICBjb25zdCBjdXJyQ29udGFpbmVycyA9IGN1cnJBcnJheS5maWx0ZXIoaXRlbSA9PiBpdGVtLmNvbnRhaW5lcik7XG5cbiAgICBjb25zdCBwcmV2T3JkZXIgPSBwcmV2QXJyYXkuZmlsdGVyKGl0ZW0gPT4gaXRlbS5vcmRlcik7XG4gICAgY29uc3QgY3Vyck9yZGVyID0gY3VyckFycmF5LmZpbHRlcihpdGVtID0+IGl0ZW0ub3JkZXIpO1xuXG4gICAgY29uc3QgcHJldlZpc2libGVUcnVlID0gcHJldkFycmF5LmZpbHRlcihpdGVtID0+IGl0ZW0udmlzaWJsZSA9PT0gdHJ1ZSk7XG4gICAgY29uc3QgY3VyclZpc2libGVUcnVlID0gY3VyckFycmF5LmZpbHRlcihpdGVtID0+IGl0ZW0udmlzaWJsZSA9PT0gdHJ1ZSk7XG5cbiAgICBjb25zdCBwcmV2VmlzaWJsZUZhbHNlID0gcHJldkFycmF5LmZpbHRlcihpdGVtID0+ICFpdGVtLnZpc2libGUpO1xuICAgIGNvbnN0IGN1cnJWaXNpYmxlRmFsc2UgPSBjdXJyQXJyYXkuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0udmlzaWJsZSk7XG5cbiAgICAvLyBWZXJpZmljYSBtdWRhbsOnYSBuYSBxdWFudGlkYWRlIGRlIGNvbnRhaW5lcnNcbiAgICBpZiAocHJldkNvbnRhaW5lcnMubGVuZ3RoICE9PSBjdXJyQ29udGFpbmVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVmVyaWZpY2EgbXVkYW7Dp2EgbmEgcXVhbnRpZGFkZSBkZSBvcmRlclxuICAgIGlmIChwcmV2T3JkZXIubGVuZ3RoICE9PSBjdXJyT3JkZXIubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFZlcmlmaWNhIG11ZGFuw6dhIG5hIHF1YW50aWRhZGUgZGUgdmlzaWJsZVxuICAgIGlmIChwcmV2VmlzaWJsZVRydWUubGVuZ3RoICE9PSBjdXJyVmlzaWJsZVRydWUubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFZlcmlmaWNhIG11ZGFuw6dhIG5hIHF1YW50aWRhZGUgZGUgdmlzaWJsZVxuICAgIGlmIChwcmV2VmlzaWJsZUZhbHNlLmxlbmd0aCAhPT0gY3VyclZpc2libGVGYWxzZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGN1cnJDb250YWluZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5oYW5kbGVDaGFuZ2VzQ29udGFpbmVyKHByZXZDb250YWluZXJzLCBjdXJyQ29udGFpbmVycywgJ2NvbnRhaW5lcicpO1xuICAgIH1cblxuICAgIGlmIChjdXJyT3JkZXIubGVuZ3RoKSB7XG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZXNDb250YWluZXIocHJldk9yZGVyLCBjdXJyT3JkZXIsICdvcmRlcicpO1xuICAgIH1cblxuICAgIGlmIChjdXJyVmlzaWJsZVRydWUubGVuZ3RoKSB7XG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZXNDb250YWluZXIocHJldlZpc2libGVUcnVlLCBjdXJyVmlzaWJsZVRydWUsICd2aXNpYmxlJyk7XG4gICAgfVxuXG4gICAgaWYgKGN1cnJWaXNpYmxlRmFsc2UubGVuZ3RoKSB7XG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZXNDb250YWluZXIocHJldlZpc2libGVGYWxzZSwgY3VyclZpc2libGVGYWxzZSwgJ3Zpc2libGUnKTtcbiAgICB9XG5cbiAgICAvL2F0dWFsaXphIGNvbnRhaW5lciBzZW0gbXVkYW7Dp2EgbmEgZXN0cnV0dXJhIGRhIGludGVyZmFjZVxuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZGlmZk9iamVjdHNBcnJheShwcmV2aW91cywgdGhpcy5nZXRWaXNpYmxlRmllbGRzKCkpO1xuICAgIHRoaXMuY29udGFpbmVyRmllbGRzID0gdGhpcy51cGRhdGVGaWVsZENvbnRhaW5lcihyZXN1bHQsIHRoaXMuY29udGFpbmVyRmllbGRzKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRmllbGRDb250YWluZXIoY2hhbmdlcywgY29udGFpbmVyRmllbGRzKSB7XG4gICAgY29uc3QgbWFwY2hhbmdlcyA9IG5ldyBNYXAoY2hhbmdlcy5tYXAob2JqID0+IFtvYmoucHJvcGVydHksIG9ial0pKTtcblxuICAgIGNvbnRhaW5lckZpZWxkcy5mb3JFYWNoKHN1YkFycmF5ID0+IHtcbiAgICAgIHN1YkFycmF5LmZvckVhY2goKHN1Ykl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW06IGFueSA9IG1hcGNoYW5nZXMuZ2V0KHN1Ykl0ZW0ucHJvcGVydHkpO1xuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgIHN1YkFycmF5W2luZGV4XSA9IHsgLi4uc3ViSXRlbSwgLi4uaXRlbSB9O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBjb250YWluZXJGaWVsZHM7XG4gIH1cblxuICBwcml2YXRlIGRpZmZPYmplY3RzQXJyYXkob2xkQXJyYXksIG5ld0FycmF5KSB7XG4gICAgY29uc3QgZGlmZmVyZW5jZXMgPSBbXTtcblxuICAgIG5ld0FycmF5LmZvckVhY2gobmV3T2JqID0+IHtcbiAgICAgIGNvbnN0IG9sZE9iaiA9IG9sZEFycmF5LmZpbmQobyA9PiBvLnByb3BlcnR5ID09PSBuZXdPYmoucHJvcGVydHkpO1xuXG4gICAgICBpZiAoIW9sZE9iaikge1xuICAgICAgICAvLyBTZSBvIG9iamV0byDDqSBub3ZvLCBhZGljaW9uYSB0b2RvIG8gb2JqZXRvIGNvbSBhIHByb3ByaWVkYWRlIFwicHJvcGVydHlcIlxuICAgICAgICBkaWZmZXJlbmNlcy5wdXNoKHsgLi4ubmV3T2JqIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVmVyaWZpY2FyIHNlIGjDoSBkaWZlcmVuw6dhcyBuYXMgcHJvcHJpZWRhZGVzXG4gICAgICAgIGNvbnN0IGRpZmYgPSB7IHByb3BlcnR5OiBuZXdPYmoucHJvcGVydHkgfTtcbiAgICAgICAgbGV0IGhhc0RpZmZlcmVuY2VzID0gZmFsc2U7XG5cbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gbmV3T2JqKSB7XG4gICAgICAgICAgaWYgKG5ld09ialtrZXldICE9PSBvbGRPYmpba2V5XSkge1xuICAgICAgICAgICAgZGlmZltrZXldID0gbmV3T2JqW2tleV07XG4gICAgICAgICAgICBoYXNEaWZmZXJlbmNlcyA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhhc0RpZmZlcmVuY2VzKSB7XG4gICAgICAgICAgZGlmZmVyZW5jZXMucHVzaChkaWZmKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy9yZXRvcm5hIG11ZGFuw6dhcyBub3MgZmllbGRzIHBhcmEgYXR1YWxpemHDp8OjbyBkbyBjb250YWluZXJGaWVsZHNcbiAgICByZXR1cm4gZGlmZmVyZW5jZXM7XG4gIH1cblxuICBwcml2YXRlIGhhc0NvbnRhaW5lcigpIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlRmllbGRzICYmIHRoaXMudmlzaWJsZUZpZWxkcy5zb21lKGZpZWxkID0+IGZpZWxkLmNvbnRhaW5lcik7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNoYW5nZXNDb250YWluZXIocHJldkNvbnRhaW5lcnMsIGN1cnJDb250YWluZXJzLCBrZXkpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByZXZDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBwcmV2ID0gcHJldkNvbnRhaW5lcnNbaV07XG4gICAgICBjb25zdCBjdXJyID0gY3VyckNvbnRhaW5lcnNbaV07XG5cbiAgICAgIC8vVmVyaWZpY2Egc2UgY29udGFpbmVyIG11ZG91IGRlIHBvc2nDp8Ojb1xuICAgICAgaWYgKHByZXZba2V5XSA9PT0gY3VycltrZXldICYmIHByZXYuaW5kZXggIT09IGN1cnIuaW5kZXgpIHtcbiAgICAgICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy9WZXJpZmljYSBzZSBmb2kgYXBlbmFzIG11ZGFuw6dhIGRhIHN0cmluZyBlbSBjYXNvIGRvIGNvbnRhaW5lciBvdSB2YWxvciBubyBvcmRlclxuICAgICAgaWYgKHByZXZba2V5XSAhPT0gY3VycltrZXldICYmIHByZXYuaW5kZXggPT09IGN1cnIuaW5kZXgpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ29yZGVyJykge1xuICAgICAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGFpbmVyRmllbGRzLmZvckVhY2goc3ViSXRlbSA9PlxuICAgICAgICAgIHN1Ykl0ZW0uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLnByb3BlcnR5ID09PSBjdXJyLnByb3BlcnR5KSB7XG4gICAgICAgICAgICAgIGl0ZW1ba2V5XSA9IGN1cnJba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgLy92ZXJpZmljYSBzZSBtYW50ZXZlIG8gbWVzbW8gbsO6bWVybyBkZSBjb250YWluZXIsIG1hcyBhbHRlcm91IHByb3BlcnR5IGRvIGNvbnRhaW5lclxuICAgICAgaWYgKHByZXZba2V5XSAhPT0gY3VycltrZXldICYmIHByZXYucHJvcGVydHkgIT09IGN1cnIucHJvcGVydHkpIHtcbiAgICAgICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBvLXJvd1wiIFtjbGFzcy5wby1keW5hbWljXT1cImhhc0NvbnRhaW5lcnNcIiAqbmdJZj1cInZpc2libGVGaWVsZHMgJiYgdmlzaWJsZUZpZWxkcy5sZW5ndGggPiAwXCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgaGFzQ29udGFpbmVycyA/IHBvQ29udGVudENvbnRhaW5lciA6IHBvQ29udGVudDtcbiAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBoYXNDb250YWluZXJzID8gY29udGFpbmVyRmllbGRzIDogdmlzaWJsZUZpZWxkcyB9XG4gICAgXCJcbiAgPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcG9Db250ZW50IGxldC1maWVsZHM+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZpZWxkczsgdHJhY2tCeTogdHJhY2tCeVwiPlxuICAgIDxwby1kaXZpZGVyICpuZ0lmPVwiZmllbGQ/LmRpdmlkZXI/LnRyaW0oKVwiIGNsYXNzPVwicG8tc20tMTJcIiBbcC1sYWJlbF09XCJmaWVsZC5kaXZpZGVyXCI+IDwvcG8tZGl2aWRlcj5cblxuICAgIDxwby1kYXRlcGlja2VyXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnZGF0ZXBpY2tlcicpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtZm9ybWF0XT1cImZpZWxkLmZvcm1hdFwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtaXNvLWZvcm1hdF09XCJmaWVsZC5pc29Gb3JtYXRcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbG9jYWxlXT1cImZpZWxkLmxvY2FsZVwiXG4gICAgICBbcC1tYXgtZGF0ZV09XCJmaWVsZC5tYXhWYWx1ZVwiXG4gICAgICBbcC1taW4tZGF0ZV09XCJmaWVsZC5taW5WYWx1ZVwiXG4gICAgICBbcC1uby1hdXRvY29tcGxldGVdPVwiZmllbGQubm9BdXRvY29tcGxldGVcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgPC9wby1kYXRlcGlja2VyPlxuXG4gICAgPHBvLWRhdGVwaWNrZXItcmFuZ2VcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdkYXRlcGlja2VycmFuZ2UnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1saXRlcmFsc109XCJmaWVsZC5saXRlcmFsc1wiXG4gICAgICBbcC1tYXgtZGF0ZV09XCJmaWVsZC5tYXhWYWx1ZVwiXG4gICAgICBbcC1taW4tZGF0ZV09XCJmaWVsZC5taW5WYWx1ZVwiXG4gICAgICBbcC1uby1hdXRvY29tcGxldGVdPVwiZmllbGQubm9BdXRvY29tcGxldGVcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICA+XG4gICAgPC9wby1kYXRlcGlja2VyLXJhbmdlPlxuXG4gICAgPHBvLWlucHV0XG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnaW5wdXQnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1lcnJvci1wYXR0ZXJuXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1tYXNrLWZvcm1hdC1tb2RlbF09XCJmaWVsZC5tYXNrRm9ybWF0TW9kZWxcIlxuICAgICAgW3AtbWFza109XCJmaWVsZC5tYXNrXCJcbiAgICAgIFtwLW1heGxlbmd0aF09XCJmaWVsZC5tYXhMZW5ndGhcIlxuICAgICAgW3AtbWlubGVuZ3RoXT1cImZpZWxkLm1pbkxlbmd0aFwiXG4gICAgICBbcC1uby1hdXRvY29tcGxldGVdPVwiZmllbGQubm9BdXRvY29tcGxldGVcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcGF0dGVybl09XCJmaWVsZC5wYXR0ZXJuXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICAocC1jaGFuZ2UtbW9kZWwpPVwib25DaGFuZ2VGaWVsZE1vZGVsKGZpZWxkKVwiXG4gICAgICBbcC1pY29uXT1cImZpZWxkLmljb25cIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgID5cbiAgICA8L3BvLWlucHV0PlxuXG4gICAgPHBvLW51bWJlclxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ251bWJlcicpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW1pbl09XCJmaWVsZC5taW5WYWx1ZVwiXG4gICAgICBbcC1tYXhdPVwiZmllbGQubWF4VmFsdWVcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1zdGVwXT1cImZpZWxkLnN0ZXBcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJvbkNoYW5nZUZpZWxkTW9kZWwoZmllbGQpXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgPlxuICAgIDwvcG8tbnVtYmVyPlxuXG4gICAgPHBvLWRlY2ltYWxcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdkZWNpbWFsJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtZXJyb3ItcGF0dGVybl09XCJmaWVsZC5lcnJvck1lc3NhZ2VcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZGVjaW1hbHMtbGVuZ3RoXT1cImZpZWxkLmRlY2ltYWxzTGVuZ3RoXCJcbiAgICAgIFtwLXRob3VzYW5kLW1heGxlbmd0aF09XCJmaWVsZC50aG91c2FuZE1heGxlbmd0aFwiXG4gICAgICBbcC1pY29uXT1cImZpZWxkLmljb25cIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbG9jYWxlXT1cImZpZWxkLmxvY2FsZVwiXG4gICAgICBbcC1taW5dPVwiZmllbGQubWluVmFsdWVcIlxuICAgICAgW3AtbWF4XT1cImZpZWxkLm1heFZhbHVlXCJcbiAgICAgIFtwLW1heGxlbmd0aF09XCJmaWVsZC5tYXhMZW5ndGhcIlxuICAgICAgW3AtbWlubGVuZ3RoXT1cImZpZWxkLm1pbkxlbmd0aFwiXG4gICAgICBbcC1uby1hdXRvY29tcGxldGVdPVwiZmllbGQubm9BdXRvY29tcGxldGVcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJvbkNoYW5nZUZpZWxkTW9kZWwoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgPC9wby1kZWNpbWFsPlxuXG4gICAgPHBvLXNlbGVjdFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ3NlbGVjdCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWZpZWxkLWxhYmVsXT1cImZpZWxkLmZpZWxkTGFiZWxcIlxuICAgICAgW3AtZmllbGQtdmFsdWVdPVwiZmllbGQuZmllbGRWYWx1ZVwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgPlxuICAgIDwvcG8tc2VsZWN0PlxuXG4gICAgPHBvLXJhZGlvLWdyb3VwXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAncmFkaW9Hcm91cCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNvbHVtbnNdPVwiZmllbGQuY29sdW1ucyB8fCAzXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLW9wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgID5cbiAgICA8L3BvLXJhZGlvLWdyb3VwPlxuXG4gICAgPHBvLXN3aXRjaFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ3N3aXRjaCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWZvcm1hdC1tb2RlbF09XCJmaWVsZC5mb3JtYXRNb2RlbFwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbGFiZWwtb2ZmXT1cImZpZWxkLmJvb2xlYW5GYWxzZVwiXG4gICAgICBbcC1sYWJlbC1vbl09XCJmaWVsZC5ib29sZWFuVHJ1ZVwiXG4gICAgICBbcC1sYWJlbC1wb3NpdGlvbl09XCJmaWVsZC5sYWJlbFBvc2l0aW9uXCJcbiAgICAgIFtwLWhpZGUtbGFiZWwtc3RhdHVzXT1cImZpZWxkLmhpZGVMYWJlbFN0YXR1c1wiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgID5cbiAgICA8L3BvLXN3aXRjaD5cblxuICAgIDxwby1jaGVja2JveFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2NoZWNrYm94JylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1zaXplXT1cImZpZWxkLnNpemVcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICA+XG4gICAgPC9wby1jaGVja2JveD5cblxuICAgIDxwby1jb21ib1xuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2NvbWJvJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgcC1lbWl0LW9iamVjdC12YWx1ZVxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1maWVsZC1sYWJlbF09XCJmaWVsZC5maWVsZExhYmVsXCJcbiAgICAgIFtwLWZpZWxkLXZhbHVlXT1cImZpZWxkLmZpZWxkVmFsdWVcIlxuICAgICAgW3AtZmlsdGVyLXBhcmFtc109XCJmaWVsZC5wYXJhbXNcIlxuICAgICAgW3AtZmlsdGVyLXNlcnZpY2VdPVwiZmllbGQub3B0aW9uc1NlcnZpY2VcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWluZmluaXRlLXNjcm9sbF09XCJmaWVsZC5pbmZpbml0ZVNjcm9sbFwiXG4gICAgICBbcC1pbmZpbml0ZS1zY3JvbGwtZGlzdGFuY2VdPVwiZmllbGQuaW5maW5pdGVTY3JvbGxEaXN0YW5jZSB8fCAxMDBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbGl0ZXJhbHNdPVwiZmllbGQubGl0ZXJhbHNcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXNvcnRdPVwiZmllbGQuc29ydFwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZCwgJGV2ZW50KVwiXG4gICAgICBbcC1pY29uXT1cImZpZWxkLmljb25cIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgW3AtZmlsdGVyLW1pbmxlbmd0aF09XCJmaWVsZC5maWx0ZXJNaW5sZW5ndGhcIlxuICAgICAgW3AtZmlsdGVyLW1vZGVdPVwiZmllbGQuZmlsdGVyTW9kZVwiXG4gICAgICBbcC1kaXNhYmxlZC1pbml0LWZpbHRlcl09XCJmaWVsZC5kaXNhYmxlZEluaXRGaWx0ZXJcIlxuICAgICAgW3AtZGlzYWJsZWQtdGFiLWZpbHRlcl09XCJmaWVsZC5kaXNhYmxlZFRhYkZpbHRlclwiXG4gICAgICBbcC1kZWJvdW5jZS10aW1lXT1cImZpZWxkLmRlYm91bmNlVGltZVwiXG4gICAgICBbcC1jaGFuZ2Utb24tZW50ZXJdPVwiZmllbGQuY2hhbmdlT25FbnRlclwiXG4gICAgPlxuICAgIDwvcG8tY29tYm8+XG5cbiAgICA8cG8tbG9va3VwXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnbG9va3VwJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgcC1maWVsZC1sYWJlbD1cImxhYmVsXCJcbiAgICAgIHAtZmllbGQtdmFsdWU9XCJ2YWx1ZVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1jb2x1bW5zXT1cImZpZWxkLmNvbHVtbnNcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZmllbGQtbGFiZWxdPVwiZmllbGQuZmllbGRMYWJlbCB8fCAnbGFiZWwnXCJcbiAgICAgIFtwLWZpZWxkLXZhbHVlXT1cImZpZWxkLmZpZWxkVmFsdWUgfHwgJ3ZhbHVlJ1wiXG4gICAgICBbcC1maWx0ZXItcGFyYW1zXT1cImZpZWxkLnBhcmFtc1wiXG4gICAgICBbcC1maWx0ZXItc2VydmljZV09XCJmaWVsZC5zZWFyY2hTZXJ2aWNlXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtYXV0by1oZWlnaHRdPVwiZmllbGQuYXV0b0hlaWdodFwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtZmllbGQtZm9ybWF0XT1cImZpZWxkLmZvcm1hdFwiXG4gICAgICBbcC1pbmZpbml0ZS1zY3JvbGxdPVwiZmllbGQuaW5maW5pdGVTY3JvbGxcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbGl0ZXJhbHNdPVwiZmllbGQubGl0ZXJhbHNcIlxuICAgICAgW3AtbXVsdGlwbGVdPVwiZmllbGQubXVsdGlwbGVcIlxuICAgICAgW3Atbm8tYXV0b2NvbXBsZXRlXT1cImZpZWxkLm5vQXV0b2NvbXBsZXRlXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1hZHZhbmNlZC1maWx0ZXJzXT1cImZpZWxkLmFkdmFuY2VkRmlsdGVyc1wiXG4gICAgICAocC1jaGFuZ2UtdmlzaWJsZS1jb2x1bW5zKT1cImZpZWxkLmNoYW5nZVZpc2libGVDb2x1bW5zPy4oJGV2ZW50KVwiXG4gICAgICAocC1yZXN0b3JlLWNvbHVtbi1tYW5hZ2VyKT1cImZpZWxkLmNvbHVtblJlc3RvcmVNYW5hZ2VyPy4oJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvcG8tbG9va3VwPlxuXG4gICAgPHBvLWNoZWNrYm94LWdyb3VwXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnY2hlY2tib3hHcm91cCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNvbHVtbnNdPVwiZmllbGQuY29sdW1ucyB8fCAzXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLW9wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgID5cbiAgICA8L3BvLWNoZWNrYm94LWdyb3VwPlxuXG4gICAgPHBvLW11bHRpc2VsZWN0XG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnbXVsdGlzZWxlY3QnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWF1dG8taGVpZ2h0XT1cImZpZWxkLmF1dG9IZWlnaHRcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxpdGVyYWxzXT1cImZpZWxkLmxpdGVyYWxzXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLW9wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgW3AtZmllbGQtbGFiZWxdPVwiZmllbGQuZmllbGRMYWJlbFwiXG4gICAgICBbcC1maWVsZC12YWx1ZV09XCJmaWVsZC5maWVsZFZhbHVlXCJcbiAgICAgIFtwLWZpbHRlci1zZXJ2aWNlXT1cImZpZWxkLm9wdGlvbnNTZXJ2aWNlXCJcbiAgICAgIFtwLWZpbHRlci1tb2RlXT1cImZpZWxkLmZpbHRlck1vZGVcIlxuICAgICAgW3AtZGVib3VuY2UtdGltZV09XCJmaWVsZC5kZWJvdW5jZVRpbWVcIlxuICAgICAgW3Atc29ydF09XCJmaWVsZC5zb3J0XCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyLXNlYXJjaF09XCJmaWVsZC5wbGFjZWhvbGRlclNlYXJjaFwiXG4gICAgICBbcC1oaWRlLXNlYXJjaF09XCJmaWVsZC5oaWRlU2VhcmNoXCJcbiAgICAgIFtwLWhpZGUtc2VsZWN0LWFsbF09XCJmaWVsZC5oaWRlU2VsZWN0QWxsXCJcbiAgICA+XG4gICAgPC9wby1tdWx0aXNlbGVjdD5cblxuICAgIDxwby10ZXh0YXJlYVxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ3RleHRhcmVhJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIFtwLXJvd3NdPVwiZmllbGQucm93c1wiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLXRleHRhcmVhPlxuXG4gICAgPHBvLXBhc3N3b3JkXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAncGFzc3dvcmQnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1lcnJvci1wYXR0ZXJuXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1oaWRlLXBhc3N3b3JkLXBlZWtdPVwiZmllbGQuaGlkZVBhc3N3b3JkUGVla1wiXG4gICAgICBbcC1pY29uXT1cImZpZWxkLmljb25cIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1wYXR0ZXJuXT1cImZpZWxkLnBhdHRlcm5cIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJvbkNoYW5nZUZpZWxkTW9kZWwoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgPC9wby1wYXNzd29yZD5cblxuICAgIDxwby11cGxvYWRcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICd1cGxvYWQnKVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1hdXRvLXVwbG9hZF09XCJmaWVsZC5hdXRvVXBsb2FkXCJcbiAgICAgIFtwLWRpcmVjdG9yeV09XCJmaWVsZC5kaXJlY3RvcnlcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZHJhZy1kcm9wXT1cImZpZWxkLmRyYWdEcm9wXCJcbiAgICAgIFtwLWRyYWctZHJvcC1oZWlnaHRdPVwiZmllbGQuZHJhZ0Ryb3BIZWlnaHRcIlxuICAgICAgW3AtcmVzdHJpY3Rpb25zXT1cImZpZWxkLnJlc3RyaWN0aW9uc1wiXG4gICAgICBbcC1mb3JtLWZpZWxkXT1cImZpZWxkLmZvcm1GaWVsZFwiXG4gICAgICBbcC1oZWFkZXJzXT1cImZpZWxkLmhlYWRlcnNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWhpZGUtcmVzdHJpY3Rpb25zLWluZm9dPVwiZmllbGQuaGlkZVJlc3RyaWN0aW9uc0luZm9cIlxuICAgICAgW3AtaGlkZS1zZWxlY3QtYnV0dG9uXT1cImZpZWxkLmhpZGVTZWxlY3RCdXR0b25cIlxuICAgICAgW3AtaGlkZS1zZW5kLWJ1dHRvbl09XCJmaWVsZC5oaWRlU2VuZEJ1dHRvblwiXG4gICAgICBbcC1tdWx0aXBsZV09XCJmaWVsZC5tdWx0aXBsZVwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1saXRlcmFsc109XCJmaWVsZC5saXRlcmFsc1wiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICAocC1lcnJvcik9XCJmaWVsZC5vbkVycm9yKCRldmVudClcIlxuICAgICAgKHAtc3VjY2Vzcyk9XCJmaWVsZC5vblN1Y2Nlc3MoJGV2ZW50KVwiXG4gICAgICAocC11cGxvYWQpPVwiZmllbGQub25VcGxvYWQoJGV2ZW50KVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtdXJsXT1cImZpZWxkLnVybFwiXG4gICAgPlxuICAgIDwvcG8tdXBsb2FkPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcG9Db250ZW50Q29udGFpbmVyIGxldC1maWVsZHM+XG4gIDxwby1keW5hbWljLWNvbnRhaW5lciBbcC1maWVsZHNdPVwiZmllbGRzXCIgW3AtY29udGVudF09XCJwb0NvbnRlbnRcIj48L3BvLWR5bmFtaWMtY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -135,8 +135,14 @@ export class PoDynamicViewComponent extends PoDynamicViewBaseComponent {
|
|
|
135
135
|
}
|
|
136
136
|
setFieldValue(field) {
|
|
137
137
|
if (field.options) {
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
if (field.optionsMulti) {
|
|
139
|
+
const selectedOptions = field.options.filter(option => Array.isArray(field.value) && field.value.some(value => value === option.value));
|
|
140
|
+
return selectedOptions.length ? selectedOptions.map(option => option.label) : field.value;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
const selectedOption = field.options.find(option => option.value === field.value);
|
|
144
|
+
return selectedOption ? selectedOption.label : field.value;
|
|
145
|
+
}
|
|
140
146
|
}
|
|
141
147
|
else if (field.type === 'boolean' && 'booleanTrue' in field && 'booleanFalse' in field) {
|
|
142
148
|
return field.value ? field.booleanTrue : field.booleanFalse;
|
|
@@ -202,4 +208,4 @@ export class PoDynamicViewComponent extends PoDynamicViewBaseComponent {
|
|
|
202
208
|
args: [{ selector: 'po-dynamic-view', template: "<div class=\"po-row\" [class.po-dynamic]=\"hasContainers\" *ngIf=\"visibleFields.length\">\n <ng-container\n *ngTemplateOutlet=\"\n hasContainers ? poContentContainer : poContent;\n context: { $implicit: hasContainers ? containerFields : visibleFields }\n \"\n ></ng-container>\n</div>\n\n<ng-template #poContent let-fields>\n <ng-template ngFor let-field [ngForOf]=\"fields\">\n <po-divider *ngIf=\"field?.divider?.trim()\" class=\"po-sm-12\" [p-label]=\"field.divider\"> </po-divider>\n <ng-container\n *ngTemplateOutlet=\"\n !field.tag && !field.image ? poInfo : !field.image ? poTag : poImage;\n context: { $implicit: field }\n \"\n >\n </ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template #poContentContainer let-fields>\n <po-dynamic-container [p-fields]=\"fields\" [p-content]=\"poContent\"></po-dynamic-container>\n</ng-template>\n\n<ng-template #poInfo let-field>\n <po-info\n [ngClass]=\"field.cssClass\"\n [class.po-info-value-pre]=\"textWrap && containsLineBreak(setFieldValue(field))\"\n [p-label]=\"field.label\"\n [p-value]=\"setFieldValue(field)\"\n >\n </po-info\n></ng-template>\n\n<ng-template #poTag let-field>\n <po-tag\n [ngClass]=\"field.cssClass\"\n [p-color]=\"field.color\"\n [p-icon]=\"field.icon\"\n [p-inverse]=\"field.inverse\"\n [p-label]=\"field.label\"\n [p-value]=\"setFieldValue(field)\"\n >\n </po-tag>\n</ng-template>\n\n<ng-template #poImage let-field>\n <po-image [p-alt]=\"field.alt\" [p-height]=\"field.height\" [p-src]=\"field.value\"> </po-image>\n</ng-template>\n" }]
|
|
203
209
|
}], () => [{ type: i1.CurrencyPipe }, { type: i1.DatePipe }, { type: i1.DecimalPipe }, { type: i2.PoTimePipe }, { type: i1.TitleCasePipe }, { type: i3.PoDynamicViewService }, { type: i4.PoComboFilterService }, { type: i5.PoMultiselectFilterService }], null); })();
|
|
204
210
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoDynamicViewComponent, { className: "PoDynamicViewComponent", filePath: "lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.component.ts", lineNumber: 42 }); })();
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtdmlldy9wby1keW5hbWljLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWR5bmFtaWMvcG8tZHluYW1pYy12aWV3L3BvLWR5bmFtaWMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUs1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0w1RSx3QkFLZ0I7Ozs7SUFObEIsOEJBQW9GO0lBQ2xGLCtGQUtnQjtJQUNsQixpQkFBTTs7Ozs7SUFQYyxrREFBa0M7SUFFakQsY0FFUTtJQUZSLG1FQUVRLDZIQUFBOzs7SUFPVCxpQ0FBb0c7OztJQUF4QywyQ0FBeUI7OztJQUNyRix3QkFNZTs7O0lBUGYsaUhBQW9HLHdHQUFBOzs7Ozs7O0lBQXZGLDZHQUE0QjtJQUV0QyxjQUVVO0lBRlYsMkdBRVUsa0VBQUE7OztJQUxmLHFHQVNjOzs7SUFUZSxvQ0FBa0I7OztJQWEvQywyQ0FBeUY7Ozs7O0lBQW5FLHFDQUFtQixrQkFBQTs7O0lBSXpDLDhCQU9EOzs7O0lBTEcsaUhBQStFO0lBRC9FLDRDQUEwQiw0QkFBQSw0Q0FBQTs7O0lBUzVCLDZCQVFTOzs7O0lBUFAsNENBQTBCLDRCQUFBLDBCQUFBLGdDQUFBLDRCQUFBLDRDQUFBOzs7SUFXNUIsK0JBQTBGOzs7SUFBaEYscUNBQW1CLDhCQUFBLDBCQUFBOztBRHRDL0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Qkc7QUFLSCxNQUFNLE9B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QyxNQUFNLENBQUMsQ0FBQztRQUU3QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7Z0ZBN0dVLHNCQUFzQjs2REFBdEIsc0JBQXNCO1lDekNuQyx1RUFPTSwyR0FBQSwyR0FBQSwyR0FBQSwyR0FBQSwyR0FBQTs7WUFQa0QsK0NBQTBCOzs7aUZEeUNyRSxzQkFBc0I7Y0FKbEMsU0FBUzsyQkFDRSxpQkFBaUI7O2tGQUdoQixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJyZW5jeVBpcGUsIERhdGVQaXBlLCBEZWNpbWFsUGlwZSwgVGl0bGVDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBvVGltZVBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlcy9wby10aW1lL3BvLXRpbWUucGlwZSc7XG5cbmltcG9ydCB7IFBvRHluYW1pY1ZpZXdGaWVsZCB9IGZyb20gJy4vLi4vcG8tZHluYW1pYy12aWV3L3BvLWR5bmFtaWMtdmlldy1maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9EeW5hbWljVmlld0Jhc2VDb21wb25lbnQgfSBmcm9tICcuL3BvLWR5bmFtaWMtdmlldy1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb0R5bmFtaWNWaWV3U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcG8tZHluYW1pYy12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9Db21ib0ZpbHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9wby1maWVsZC9wby1jb21iby9wby1jb21iby1maWx0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQb011bHRpc2VsZWN0RmlsdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3BvLWZpZWxkL3BvLW11bHRpc2VsZWN0L3BvLW11bHRpc2VsZWN0LWZpbHRlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9EeW5hbWljVmlld0Jhc2VDb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1keW5hbWljLXZpZXctYmFzaWNcIiB0aXRsZT1cIlBPIER5bmFtaWMgVmlldyBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZHluYW1pYy12aWV3LWJhc2ljL3NhbXBsZS1wby1keW5hbWljLXZpZXctYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZHluYW1pYy12aWV3LWJhc2ljL3NhbXBsZS1wby1keW5hbWljLXZpZXctYmFzaWMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tZHluYW1pYy12aWV3LWVtcGxveWVlXCIgdGl0bGU9XCJQTyBEeW5hbWljIFZpZXcgLSBFbXBsb3llZVwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZHluYW1pYy12aWV3LWVtcGxveWVlL3NhbXBsZS1wby1keW5hbWljLXZpZXctZW1wbG95ZWUuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZHluYW1pYy12aWV3LWVtcGxveWVlL3NhbXBsZS1wby1keW5hbWljLXZpZXctZW1wbG95ZWUuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tZHluYW1pYy12aWV3LWVtcGxveWVlLW9uLWxvYWRcIiB0aXRsZT1cIlBPIER5bmFtaWMgVmlldyAtIEVtcGxveWVlIG9uIGxvYWRcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWR5bmFtaWMtdmlldy1lbXBsb3llZS1vbi1sb2FkL3NhbXBsZS1wby1keW5hbWljLXZpZXctZW1wbG95ZWUtb24tbG9hZC5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1keW5hbWljLXZpZXctZW1wbG95ZWUtb24tbG9hZC9zYW1wbGUtcG8tZHluYW1pYy12aWV3LWVtcGxveWVlLW9uLWxvYWQuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWR5bmFtaWMtdmlldy1lbXBsb3llZS1vbi1sb2FkL3NhbXBsZS1wby1keW5hbWljLXZpZXctZW1wbG95ZWUtb24tbG9hZC5zZXJ2aWNlLnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tZHluYW1pYy12aWV3LWNvbnRhaW5lclwiIHRpdGxlPVwiUE8gRHluYW1pYyBWaWV3IC0gRW1wbG95ZWUgb24gbG9hZFwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZHluYW1pYy12aWV3LWNvbnRhaW5lci9zYW1wbGUtcG8tZHluYW1pYy12aWV3LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1keW5hbWljLXZpZXctY29udGFpbmVyL3NhbXBsZS1wby1keW5hbWljLXZpZXctY29udGFpbmVyLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLWR5bmFtaWMtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1keW5hbWljLXZpZXcuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvRHluYW1pY1ZpZXdDb21wb25lbnQgZXh0ZW5kcyBQb0R5bmFtaWNWaWV3QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcbiAgaW5pdENoYW5nZXM7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGN1cnJlbmN5UGlwZTogQ3VycmVuY3lQaXBlLFxuICAgIGRhdGVQaXBlOiBEYXRlUGlwZSxcbiAgICBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUsXG4gICAgdGltZVBpcGU6IFBvVGltZVBpcGUsXG4gICAgdGl0bGVDYXNlUGlwZTogVGl0bGVDYXNlUGlwZSxcbiAgICBkeW5hbWljVmlld1NlcnZpY2U6IFBvRHluYW1pY1ZpZXdTZXJ2aWNlLFxuICAgIGNvbWJvRmlsdGVyU2VydmljZTogUG9Db21ib0ZpbHRlclNlcnZpY2UsXG4gICAgbXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlOiBQb011bHRpc2VsZWN0RmlsdGVyU2VydmljZVxuICApIHtcbiAgICBzdXBlcihcbiAgICAgIGN1cnJlbmN5UGlwZSxcbiAgICAgIGRhdGVQaXBlLFxuICAgICAgZGVjaW1hbFBpcGUsXG4gICAgICB0aW1lUGlwZSxcbiAgICAgIHRpdGxlQ2FzZVBpcGUsXG4gICAgICBkeW5hbWljVmlld1NlcnZpY2UsXG4gICAgICBjb21ib0ZpbHRlclNlcnZpY2UsXG4gICAgICBtdWx0aXNlbGVjdEZpbHRlclNlcnZpY2VcbiAgICApO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLmxvYWQgJiYgIXRoaXMuaW5pdENoYW5nZXMpIHtcbiAgICAgIHRoaXMuaW5pdENoYW5nZXMgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbml0Q2hhbmdlcyA9IHRydWU7XG4gICAgfVxuICAgIGlmICgoY2hhbmdlcy5maWVsZHMgfHwgY2hhbmdlcy52YWx1ZSB8fCBjaGFuZ2VzLnNob3dBbGxWYWx1ZSkgJiYgdGhpcy5pbml0Q2hhbmdlcykge1xuICAgICAgdGhpcy52aXNpYmxlRmllbGRzID0gdGhpcy5nZXRWaXNpYmxlRmllbGRzKCk7XG4gICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmxvYWQpIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWVzQW5kRmllbGRzT25Mb2FkKCkuZmluYWxseSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZXRGaWVsZFZhbHVlKGZpZWxkKSB7XG4gICAgaWYgKGZpZWxkLm9wdGlvbnMpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gZmllbGQub3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IGZpZWxkLnZhbHVlKTtcbiAgICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbiA/IHNlbGVjdGVkT3B0aW9uLmxhYmVsIDogZmllbGQudmFsdWU7XG4gICAgfSBlbHNlIGlmIChmaWVsZC50eXBlID09PSAnYm9vbGVhbicgJiYgJ2Jvb2xlYW5UcnVlJyBpbiBmaWVsZCAmJiAnYm9vbGVhbkZhbHNlJyBpbiBmaWVsZCkge1xuICAgICAgcmV0dXJuIGZpZWxkLnZhbHVlID8gZmllbGQuYm9vbGVhblRydWUgOiBmaWVsZC5ib29sZWFuRmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmaWVsZC52YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY29udGFpbnNMaW5lQnJlYWsodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWx1ZSAmJiB2YWx1ZS5pbmNsdWRlcygnXFxuJyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFZhbHVlc0FuZEZpZWxkc0Zyb21Mb2FkKCk6IFByb21pc2U8eyB2YWx1ZT86IGFueTsgZmllbGRzPzogQXJyYXk8UG9EeW5hbWljVmlld0ZpZWxkPiB9PiB7XG4gICAgbGV0IHZhbHVlQW5kRmllbGRzRnJvbUxvYWQ7XG5cbiAgICBpZiAodHlwZW9mIHRoaXMubG9hZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlQW5kRmllbGRzRnJvbUxvYWQgPSBhd2FpdCB0aGlzLmR5bmFtaWNWaWV3U2VydmljZS5vbkxvYWQodGhpcy5sb2FkLCB0aGlzLnZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLmxvYWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhbHVlQW5kRmllbGRzRnJvbUxvYWQgPSB0aGlzLmxvYWQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWVBbmRGaWVsZHNGcm9tTG9hZCB8fCB7fTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmlzaWJsZUZpZWxkcygpIHtcbiAgICBpZiAodGhpcy5zaG93QWxsVmFsdWUpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldE1lcmdlZEZpZWxkcygpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnZhbHVlICYmIHRoaXMuZmllbGRzLmxlbmd0aCA/IHRoaXMuZ2V0Q29uZmlndXJlZEZpZWxkcygpIDogdGhpcy5nZXRWYWx1ZUZpZWxkcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGaWVsZE9uTG9hZChmaWVsZE9uTG9hZDogUG9EeW5hbWljVmlld0ZpZWxkKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZpZWxkcy5maW5kSW5kZXgoZmllbGQgPT4gZmllbGQucHJvcGVydHkgPT09IGZpZWxkT25Mb2FkLnByb3BlcnR5KTtcblxuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICB0aGlzLmZpZWxkc1tpbmRleF0gPSB7IC4uLnRoaXMuZmllbGRzW2luZGV4XSwgLi4uZmllbGRPbkxvYWQgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWVsZHMucHVzaCh7IC4uLmZpZWxkT25Mb2FkIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RmllbGRzT25Mb2FkKGZpZWxkczogQXJyYXk8UG9EeW5hbWljVmlld0ZpZWxkPikge1xuICAgIGlmIChmaWVsZHMpIHtcbiAgICAgIGZpZWxkcy5mb3JFYWNoKGZpZWxkT25Mb2FkID0+IHtcbiAgICAgICAgdGhpcy5zZXRGaWVsZE9uTG9hZChmaWVsZE9uTG9hZCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFZhbHVlT25Mb2FkKG5ld1ZhbHVlOiBhbnkpIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMudmFsdWUsIG5ld1ZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdXBkYXRlVmFsdWVzQW5kRmllbGRzT25Mb2FkKCkge1xuICAgIGNvbnN0IHsgdmFsdWUsIGZpZWxkcyB9ID0gYXdhaXQgdGhpcy5nZXRWYWx1ZXNBbmRGaWVsZHNGcm9tTG9hZCgpO1xuXG4gICAgdGhpcy5zZXRWYWx1ZU9uTG9hZCh2YWx1ZSk7XG4gICAgdGhpcy5zZXRGaWVsZHNPbkxvYWQoZmllbGRzKTtcblxuICAgIHRoaXMudmlzaWJsZUZpZWxkcyA9IHRoaXMuZ2V0VmlzaWJsZUZpZWxkcygpO1xuICAgIHRoaXMuaW5pdENoYW5nZXMgPSB0cnVlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG8tcm93XCIgW2NsYXNzLnBvLWR5bmFtaWNdPVwiaGFzQ29udGFpbmVyc1wiICpuZ0lmPVwidmlzaWJsZUZpZWxkcy5sZW5ndGhcIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICBoYXNDb250YWluZXJzID8gcG9Db250ZW50Q29udGFpbmVyIDogcG9Db250ZW50O1xuICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGhhc0NvbnRhaW5lcnMgPyBjb250YWluZXJGaWVsZHMgOiB2aXNpYmxlRmllbGRzIH1cbiAgICBcIlxuICA+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwb0NvbnRlbnQgbGV0LWZpZWxkcz5cbiAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1maWVsZCBbbmdGb3JPZl09XCJmaWVsZHNcIj5cbiAgICA8cG8tZGl2aWRlciAqbmdJZj1cImZpZWxkPy5kaXZpZGVyPy50cmltKClcIiBjbGFzcz1cInBvLXNtLTEyXCIgW3AtbGFiZWxdPVwiZmllbGQuZGl2aWRlclwiPiA8L3BvLWRpdmlkZXI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgIWZpZWxkLnRhZyAmJiAhZmllbGQuaW1hZ2UgPyBwb0luZm8gOiAhZmllbGQuaW1hZ2UgPyBwb1RhZyA6IHBvSW1hZ2U7XG4gICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBmaWVsZCB9XG4gICAgICBcIlxuICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcG9Db250ZW50Q29udGFpbmVyIGxldC1maWVsZHM+XG4gIDxwby1keW5hbWljLWNvbnRhaW5lciBbcC1maWVsZHNdPVwiZmllbGRzXCIgW3AtY29udGVudF09XCJwb0NvbnRlbnRcIj48L3BvLWR5bmFtaWMtY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwb0luZm8gbGV0LWZpZWxkPlxuICA8cG8taW5mb1xuICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNzc0NsYXNzXCJcbiAgICBbY2xhc3MucG8taW5mby12YWx1ZS1wcmVdPVwidGV4dFdyYXAgJiYgY29udGFpbnNMaW5lQnJlYWsoc2V0RmllbGRWYWx1ZShmaWVsZCkpXCJcbiAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgW3AtdmFsdWVdPVwic2V0RmllbGRWYWx1ZShmaWVsZClcIlxuICA+XG4gIDwvcG8taW5mb1xuPjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcG9UYWcgbGV0LWZpZWxkPlxuICA8cG8tdGFnXG4gICAgW25nQ2xhc3NdPVwiZmllbGQuY3NzQ2xhc3NcIlxuICAgIFtwLWNvbG9yXT1cImZpZWxkLmNvbG9yXCJcbiAgICBbcC1pY29uXT1cImZpZWxkLmljb25cIlxuICAgIFtwLWludmVyc2VdPVwiZmllbGQuaW52ZXJzZVwiXG4gICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgIFtwLXZhbHVlXT1cInNldEZpZWxkVmFsdWUoZmllbGQpXCJcbiAgPlxuICA8L3BvLXRhZz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcG9JbWFnZSBsZXQtZmllbGQ+XG4gIDxwby1pbWFnZSBbcC1hbHRdPVwiZmllbGQuYWx0XCIgW3AtaGVpZ2h0XT1cImZpZWxkLmhlaWdodFwiIFtwLXNyY109XCJmaWVsZC52YWx1ZVwiPiA8L3BvLWltYWdlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtdmlldy9wby1keW5hbWljLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWR5bmFtaWMvcG8tZHluYW1pYy12aWV3L3BvLWR5bmFtaWMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUs1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0w1RSx3QkFLZ0I7Ozs7SUFObEIsOEJBQW9GO0lBQ2xGLCtGQUtnQjtJQUNsQixpQkFBTTs7Ozs7SUFQYyxrREFBa0M7SUFFakQsY0FFUTtJQUZSLG1FQUVRLDZIQUFBOzs7SUFPVCxpQ0FBb0c7OztJQUF4QywyQ0FBeUI7OztJQUNyRix3QkFNZTs7O0lBUGYsaUhBQW9HLHdHQUFBOzs7Ozs7O0lBQXZGLDZHQUE0QjtJQUV0QyxjQUVVO0lBRlYsMkdBRVUsa0VBQUE7OztJQUxmLHFHQVNjOzs7SUFUZSxvQ0FBa0I7OztJQWEvQywyQ0FBeUY7Ozs7O0lBQW5FLHFDQUFtQixrQkFBQTs7O0lBSXpDLDhCQU9EOzs7O0lBTEcsaUhBQStFO0lBRC9FLDRDQUEwQiw0QkFBQSw0Q0FBQTs7O0lBUzVCLDZCQVFTOzs7O0lBUFAsNENBQTBCLDRCQUFBLDBCQUFBLGdDQUFBLDRCQUFBLDRDQUFBOzs7SUFXNUIsK0JBQTBGOzs7SUFBaEYscUNBQW1CLDhCQUFBLDBCQUFBOztBRHRDL0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Qkc7QUFLSCxNQUFNLE9B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aUM7UUFDdkQsSUFBSSxNQUFNLEVBQUU7WUFDVixNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ25DLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLFFBQWE7UUFDbEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxLQUFLLENBQUMsMkJBQTJCO1FBQ3ZDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUVsRSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO2dGQXBIVSxzQkFBc0I7NkRBQXRCLHNCQUFzQjtZQ3pDbkMsdUVBT00sMkdBQUEsMkdBQUEsMkdBQUEsMkdBQUEsMkdBQUE7O1lBUGtELCtDQUEwQjs7O2lGRHlDckUsc0JBQXNCO2NBSmxDLFNBQVM7MkJBQ0UsaUJBQWlCOztrRkFHaEIsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VycmVuY3lQaXBlLCBEYXRlUGlwZSwgRGVjaW1hbFBpcGUsIFRpdGxlQ2FzZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb1RpbWVQaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMvcG8tdGltZS9wby10aW1lLnBpcGUnO1xuXG5pbXBvcnQgeyBQb0R5bmFtaWNWaWV3RmllbGQgfSBmcm9tICcuLy4uL3BvLWR5bmFtaWMtdmlldy9wby1keW5hbWljLXZpZXctZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvRHluYW1pY1ZpZXdCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1keW5hbWljLXZpZXctYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9EeW5hbWljVmlld1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BvLWR5bmFtaWMtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7IFBvQ29tYm9GaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcG8tZmllbGQvcG8tY29tYm8vcG8tY29tYm8tZmlsdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9NdWx0aXNlbGVjdEZpbHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9wby1maWVsZC9wby1tdWx0aXNlbGVjdC9wby1tdWx0aXNlbGVjdC1maWx0ZXIuc2VydmljZSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvRHluYW1pY1ZpZXdCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tZHluYW1pYy12aWV3LWJhc2ljXCIgdGl0bGU9XCJQTyBEeW5hbWljIFZpZXcgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWR5bmFtaWMtdmlldy1iYXNpYy9zYW1wbGUtcG8tZHluYW1pYy12aWV3LWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWR5bmFtaWMtdmlldy1iYXNpYy9zYW1wbGUtcG8tZHluYW1pYy12aWV3LWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWR5bmFtaWMtdmlldy1lbXBsb3llZVwiIHRpdGxlPVwiUE8gRHluYW1pYyBWaWV3IC0gRW1wbG95ZWVcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWR5bmFtaWMtdmlldy1lbXBsb3llZS9zYW1wbGUtcG8tZHluYW1pYy12aWV3LWVtcGxveWVlLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWR5bmFtaWMtdmlldy1lbXBsb3llZS9zYW1wbGUtcG8tZHluYW1pYy12aWV3LWVtcGxveWVlLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWR5bmFtaWMtdmlldy1lbXBsb3llZS1vbi1sb2FkXCIgdGl0bGU9XCJQTyBEeW5hbWljIFZpZXcgLSBFbXBsb3llZSBvbiBsb2FkXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1keW5hbWljLXZpZXctZW1wbG95ZWUtb24tbG9hZC9zYW1wbGUtcG8tZHluYW1pYy12aWV3LWVtcGxveWVlLW9uLWxvYWQuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZHluYW1pYy12aWV3LWVtcGxveWVlLW9uLWxvYWQvc2FtcGxlLXBvLWR5bmFtaWMtdmlldy1lbXBsb3llZS1vbi1sb2FkLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1keW5hbWljLXZpZXctZW1wbG95ZWUtb24tbG9hZC9zYW1wbGUtcG8tZHluYW1pYy12aWV3LWVtcGxveWVlLW9uLWxvYWQuc2VydmljZS50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWR5bmFtaWMtdmlldy1jb250YWluZXJcIiB0aXRsZT1cIlBPIER5bmFtaWMgVmlldyAtIEVtcGxveWVlIG9uIGxvYWRcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWR5bmFtaWMtdmlldy1jb250YWluZXIvc2FtcGxlLXBvLWR5bmFtaWMtdmlldy1jb250YWluZXIuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZHluYW1pYy12aWV3LWNvbnRhaW5lci9zYW1wbGUtcG8tZHluYW1pYy12aWV3LWNvbnRhaW5lci5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1keW5hbWljLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tZHluYW1pYy12aWV3LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQb0R5bmFtaWNWaWV3Q29tcG9uZW50IGV4dGVuZHMgUG9EeW5hbWljVmlld0Jhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG4gIGluaXRDaGFuZ2VzO1xuICBjb25zdHJ1Y3RvcihcbiAgICBjdXJyZW5jeVBpcGU6IEN1cnJlbmN5UGlwZSxcbiAgICBkYXRlUGlwZTogRGF0ZVBpcGUsXG4gICAgZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlLFxuICAgIHRpbWVQaXBlOiBQb1RpbWVQaXBlLFxuICAgIHRpdGxlQ2FzZVBpcGU6IFRpdGxlQ2FzZVBpcGUsXG4gICAgZHluYW1pY1ZpZXdTZXJ2aWNlOiBQb0R5bmFtaWNWaWV3U2VydmljZSxcbiAgICBjb21ib0ZpbHRlclNlcnZpY2U6IFBvQ29tYm9GaWx0ZXJTZXJ2aWNlLFxuICAgIG11bHRpc2VsZWN0RmlsdGVyU2VydmljZTogUG9NdWx0aXNlbGVjdEZpbHRlclNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICBjdXJyZW5jeVBpcGUsXG4gICAgICBkYXRlUGlwZSxcbiAgICAgIGRlY2ltYWxQaXBlLFxuICAgICAgdGltZVBpcGUsXG4gICAgICB0aXRsZUNhc2VQaXBlLFxuICAgICAgZHluYW1pY1ZpZXdTZXJ2aWNlLFxuICAgICAgY29tYm9GaWx0ZXJTZXJ2aWNlLFxuICAgICAgbXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlXG4gICAgKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodGhpcy5sb2FkICYmICF0aGlzLmluaXRDaGFuZ2VzKSB7XG4gICAgICB0aGlzLmluaXRDaGFuZ2VzID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdENoYW5nZXMgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoKGNoYW5nZXMuZmllbGRzIHx8IGNoYW5nZXMudmFsdWUgfHwgY2hhbmdlcy5zaG93QWxsVmFsdWUpICYmIHRoaXMuaW5pdENoYW5nZXMpIHtcbiAgICAgIHRoaXMudmlzaWJsZUZpZWxkcyA9IHRoaXMuZ2V0VmlzaWJsZUZpZWxkcygpO1xuICAgICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5sb2FkKSB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlc0FuZEZpZWxkc09uTG9hZCgpLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2V0RmllbGRWYWx1ZShmaWVsZCkge1xuICAgIGlmIChmaWVsZC5vcHRpb25zKSB7XG4gICAgICBpZiAoZmllbGQub3B0aW9uc011bHRpKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9ucyA9IGZpZWxkLm9wdGlvbnMuZmlsdGVyKFxuICAgICAgICAgIG9wdGlvbiA9PiBBcnJheS5pc0FycmF5KGZpZWxkLnZhbHVlKSAmJiBmaWVsZC52YWx1ZS5zb21lKHZhbHVlID0+IHZhbHVlID09PSBvcHRpb24udmFsdWUpXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID8gc2VsZWN0ZWRPcHRpb25zLm1hcChvcHRpb24gPT4gb3B0aW9uLmxhYmVsKSA6IGZpZWxkLnZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBmaWVsZC5vcHRpb25zLmZpbmQob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gZmllbGQudmFsdWUpO1xuICAgICAgICByZXR1cm4gc2VsZWN0ZWRPcHRpb24gPyBzZWxlY3RlZE9wdGlvbi5sYWJlbCA6IGZpZWxkLnZhbHVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZmllbGQudHlwZSA9PT0gJ2Jvb2xlYW4nICYmICdib29sZWFuVHJ1ZScgaW4gZmllbGQgJiYgJ2Jvb2xlYW5GYWxzZScgaW4gZmllbGQpIHtcbiAgICAgIHJldHVybiBmaWVsZC52YWx1ZSA/IGZpZWxkLmJvb2xlYW5UcnVlIDogZmllbGQuYm9vbGVhbkZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmllbGQudmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNvbnRhaW5zTGluZUJyZWFrKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsdWUgJiYgdmFsdWUuaW5jbHVkZXMoJ1xcbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRWYWx1ZXNBbmRGaWVsZHNGcm9tTG9hZCgpOiBQcm9taXNlPHsgdmFsdWU/OiBhbnk7IGZpZWxkcz86IEFycmF5PFBvRHluYW1pY1ZpZXdGaWVsZD4gfT4ge1xuICAgIGxldCB2YWx1ZUFuZEZpZWxkc0Zyb21Mb2FkO1xuXG4gICAgaWYgKHR5cGVvZiB0aGlzLmxvYWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICB2YWx1ZUFuZEZpZWxkc0Zyb21Mb2FkID0gYXdhaXQgdGhpcy5keW5hbWljVmlld1NlcnZpY2Uub25Mb2FkKHRoaXMubG9hZCwgdGhpcy52YWx1ZSk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5sb2FkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YWx1ZUFuZEZpZWxkc0Zyb21Mb2FkID0gdGhpcy5sb2FkKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlQW5kRmllbGRzRnJvbUxvYWQgfHwge307XG4gIH1cblxuICBwcml2YXRlIGdldFZpc2libGVGaWVsZHMoKSB7XG4gICAgaWYgKHRoaXMuc2hvd0FsbFZhbHVlKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRNZXJnZWRGaWVsZHMoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy52YWx1ZSAmJiB0aGlzLmZpZWxkcy5sZW5ndGggPyB0aGlzLmdldENvbmZpZ3VyZWRGaWVsZHMoKSA6IHRoaXMuZ2V0VmFsdWVGaWVsZHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RmllbGRPbkxvYWQoZmllbGRPbkxvYWQ6IFBvRHluYW1pY1ZpZXdGaWVsZCkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maWVsZHMuZmluZEluZGV4KGZpZWxkID0+IGZpZWxkLnByb3BlcnR5ID09PSBmaWVsZE9uTG9hZC5wcm9wZXJ0eSk7XG5cbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgdGhpcy5maWVsZHNbaW5kZXhdID0geyAuLi50aGlzLmZpZWxkc1tpbmRleF0sIC4uLmZpZWxkT25Mb2FkIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmllbGRzLnB1c2goeyAuLi5maWVsZE9uTG9hZCB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEZpZWxkc09uTG9hZChmaWVsZHM6IEFycmF5PFBvRHluYW1pY1ZpZXdGaWVsZD4pIHtcbiAgICBpZiAoZmllbGRzKSB7XG4gICAgICBmaWVsZHMuZm9yRWFjaChmaWVsZE9uTG9hZCA9PiB7XG4gICAgICAgIHRoaXMuc2V0RmllbGRPbkxvYWQoZmllbGRPbkxvYWQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRWYWx1ZU9uTG9hZChuZXdWYWx1ZTogYW55KSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLnZhbHVlLCBuZXdWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZVZhbHVlc0FuZEZpZWxkc09uTG9hZCgpIHtcbiAgICBjb25zdCB7IHZhbHVlLCBmaWVsZHMgfSA9IGF3YWl0IHRoaXMuZ2V0VmFsdWVzQW5kRmllbGRzRnJvbUxvYWQoKTtcblxuICAgIHRoaXMuc2V0VmFsdWVPbkxvYWQodmFsdWUpO1xuICAgIHRoaXMuc2V0RmllbGRzT25Mb2FkKGZpZWxkcyk7XG5cbiAgICB0aGlzLnZpc2libGVGaWVsZHMgPSB0aGlzLmdldFZpc2libGVGaWVsZHMoKTtcbiAgICB0aGlzLmluaXRDaGFuZ2VzID0gdHJ1ZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBvLXJvd1wiIFtjbGFzcy5wby1keW5hbWljXT1cImhhc0NvbnRhaW5lcnNcIiAqbmdJZj1cInZpc2libGVGaWVsZHMubGVuZ3RoXCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgaGFzQ29udGFpbmVycyA/IHBvQ29udGVudENvbnRhaW5lciA6IHBvQ29udGVudDtcbiAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBoYXNDb250YWluZXJzID8gY29udGFpbmVyRmllbGRzIDogdmlzaWJsZUZpZWxkcyB9XG4gICAgXCJcbiAgPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcG9Db250ZW50IGxldC1maWVsZHM+XG4gIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtZmllbGQgW25nRm9yT2ZdPVwiZmllbGRzXCI+XG4gICAgPHBvLWRpdmlkZXIgKm5nSWY9XCJmaWVsZD8uZGl2aWRlcj8udHJpbSgpXCIgY2xhc3M9XCJwby1zbS0xMlwiIFtwLWxhYmVsXT1cImZpZWxkLmRpdmlkZXJcIj4gPC9wby1kaXZpZGVyPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICFmaWVsZC50YWcgJiYgIWZpZWxkLmltYWdlID8gcG9JbmZvIDogIWZpZWxkLmltYWdlID8gcG9UYWcgOiBwb0ltYWdlO1xuICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogZmllbGQgfVxuICAgICAgXCJcbiAgICA+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3BvQ29udGVudENvbnRhaW5lciBsZXQtZmllbGRzPlxuICA8cG8tZHluYW1pYy1jb250YWluZXIgW3AtZmllbGRzXT1cImZpZWxkc1wiIFtwLWNvbnRlbnRdPVwicG9Db250ZW50XCI+PC9wby1keW5hbWljLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcG9JbmZvIGxldC1maWVsZD5cbiAgPHBvLWluZm9cbiAgICBbbmdDbGFzc109XCJmaWVsZC5jc3NDbGFzc1wiXG4gICAgW2NsYXNzLnBvLWluZm8tdmFsdWUtcHJlXT1cInRleHRXcmFwICYmIGNvbnRhaW5zTGluZUJyZWFrKHNldEZpZWxkVmFsdWUoZmllbGQpKVwiXG4gICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgIFtwLXZhbHVlXT1cInNldEZpZWxkVmFsdWUoZmllbGQpXCJcbiAgPlxuICA8L3BvLWluZm9cbj48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3BvVGFnIGxldC1maWVsZD5cbiAgPHBvLXRhZ1xuICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNzc0NsYXNzXCJcbiAgICBbcC1jb2xvcl09XCJmaWVsZC5jb2xvclwiXG4gICAgW3AtaWNvbl09XCJmaWVsZC5pY29uXCJcbiAgICBbcC1pbnZlcnNlXT1cImZpZWxkLmludmVyc2VcIlxuICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICBbcC12YWx1ZV09XCJzZXRGaWVsZFZhbHVlKGZpZWxkKVwiXG4gID5cbiAgPC9wby10YWc+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3BvSW1hZ2UgbGV0LWZpZWxkPlxuICA8cG8taW1hZ2UgW3AtYWx0XT1cImZpZWxkLmFsdFwiIFtwLWhlaWdodF09XCJmaWVsZC5oZWlnaHRcIiBbcC1zcmNdPVwiZmllbGQudmFsdWVcIj4gPC9wby1pbWFnZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -41,6 +41,18 @@ import * as i0 from "@angular/core";
|
|
|
41
41
|
* })
|
|
42
42
|
* export class AppModule { }
|
|
43
43
|
* ```
|
|
44
|
+
*
|
|
45
|
+
* Em aplicações Standalone, utilize a seguinte configuração para o bootstrap:
|
|
46
|
+
*
|
|
47
|
+
* ```
|
|
48
|
+
* import { bootstrapApplication } from '@angular/platform-browser';
|
|
49
|
+
* import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
50
|
+
* import { AppComponent } from './app.component';
|
|
51
|
+
*
|
|
52
|
+
* bootstrapApplication(AppComponent, {
|
|
53
|
+
* providers: [importProvidersFrom(BrowserAnimationsModule)]
|
|
54
|
+
* }).catch(err => console.error(err));
|
|
55
|
+
* ```
|
|
44
56
|
*/
|
|
45
57
|
export class PoListViewModule {
|
|
46
58
|
static ɵfac = function PoListViewModule_Factory(t) { return new (t || PoListViewModule)(); };
|
|
@@ -81,4 +93,4 @@ export class PoListViewModule {
|
|
|
81
93
|
PoPopupModule,
|
|
82
94
|
PoCheckboxModule,
|
|
83
95
|
PoContainerModule], exports: [PoListViewComponent, PoListViewContentTemplateDirective, PoListViewDetailTemplateDirective] }); })();
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbGlzdC12aWV3Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1saXN0LXZpZXcvcG8tbGlzdC12aWV3Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQzdILE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQzFILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUV4RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENHO0FBaUJILE1BQU0sT0FBTyxnQkFBZ0I7MEVBQWhCLGdCQUFnQjs0REFBaEIsZ0JBQWdCO2dFQWR6QixZQUFZO1lBQ1osV0FBVztZQUNYLFlBQVk7WUFDWixjQUFjO1lBQ2QsWUFBWTtZQUNaLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsaUJBQWlCOztpRkFPUixnQkFBZ0I7Y0FoQjVCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxZQUFZO29CQUNaLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixpQkFBaUI7aUJBQ2xCO2dCQUNELFlBQVksRUFBRSxDQUFDLG1CQUFtQixFQUFFLGtDQUFrQyxFQUFFLGlDQUFpQyxDQUFDO2dCQUMxRyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxrQ0FBa0MsRUFBRSxpQ0FBaUMsQ0FBQztnQkFDckcsU0FBUyxFQUFFLEVBQUU7Z0JBQ2IsT0FBTyxFQUFFLEVBQUU7YUFDWjs7d0ZBQ1ksZ0JBQWdCLG1CQUxaLG1CQUFtQixFQUFFLGtDQUFrQyxFQUFFLGlDQUFpQyxhQVR2RyxZQUFZO1FBQ1osV0FBVztRQUNYLFlBQVk7UUFDWixjQUFjO1FBQ2QsWUFBWTtRQUNaLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsaUJBQWlCLGFBR1QsbUJBQW1CLEVBQUUsa0NBQWtDLEVBQUUsaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IFBvQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vcG8tYnV0dG9uL3BvLWJ1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgUG9JY29uTW9kdWxlIH0gZnJvbSAnLi4vcG8taWNvbi9wby1pY29uLm1vZHVsZSc7XG5pbXBvcnQgeyBQb1BvcHVwTW9kdWxlIH0gZnJvbSAnLi4vcG8tcG9wdXAvcG8tcG9wdXAubW9kdWxlJztcbmltcG9ydCB7IFBvQ2hlY2tib3hNb2R1bGUgfSBmcm9tICcuLy4uL3BvLWZpZWxkL3BvLWNoZWNrYm94L3BvLWNoZWNrYm94Lm1vZHVsZSc7XG5cbmltcG9ydCB7IFBvTGlzdFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3BvLWxpc3Qtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9MaXN0Vmlld0NvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcG8tbGlzdC12aWV3LWNvbnRlbnQtdGVtcGxhdGUvcG8tbGlzdC12aWV3LWNvbnRlbnQtdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBvTGlzdFZpZXdEZXRhaWxUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcG8tbGlzdC12aWV3LWRldGFpbC10ZW1wbGF0ZS9wby1saXN0LXZpZXctZGV0YWlsLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQb0NvbnRhaW5lck1vZHVsZSB9IGZyb20gJy4uL3BvLWNvbnRhaW5lci9wby1jb250YWluZXIubW9kdWxlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBNw7NkdWxvIGRvIGNvbXBvbmVudGUgYHBvLWxpc3Qtdmlld2AuXG4gKlxuICogPiBQYXJhIG8gY29ycmV0byBmdW5jaW9uYW1lbnRvIGRvIGNvbXBvbmVudGUgYHBvLWxpc3Qtdmlld2AsIGRldmUgc2VyIGltcG9ydGFkbyBvIG3Ds2R1bG8gYEJyb3dzZXJBbmltYXRpb25zTW9kdWxlYCBub1xuICogPiBtw7NkdWxvIHByaW5jaXBhbCBkYSBzdWEgYXBsaWNhw6fDo28uXG4gKlxuICogTcOzZHVsbyBkYSBhcGxpY2HDp8OjbzpcbiAqIGBgYFxuICogaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuICogaW1wb3J0IHsgUG9Nb2R1bGUgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG4gKiAuLi5cbiAqXG4gKiBATmdNb2R1bGUoe1xuICogICBpbXBvcnRzOiBbXG4gKiAgICAgQnJvd3Nlck1vZHVsZSxcbiAqICAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcbiAqICAgICAuLi5cbiAqICAgICBQb01vZHVsZVxuICogICBdLFxuICogICBkZWNsYXJhdGlvbnM6IFtcbiAqICAgICBBcHBDb21wb25lbnQsXG4gKiAgICAgLi4uXG4gKiAgIF0sXG4gKiAgIHByb3ZpZGVyczogW10sXG4gKiAgIGJvb3RzdHJhcDogW0FwcENvbXBvbmVudF1cbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgQXBwTW9kdWxlIHsgfVxuICogYGBgXG4gKlxuICogRW0gYXBsaWNhw6fDtWVzIFN0YW5kYWxvbmUsIHV0aWxpemUgYSBzZWd1aW50ZSBjb25maWd1cmHDp8OjbyBwYXJhIG8gYm9vdHN0cmFwOlxuICpcbiAqIGBgYFxuICogaW1wb3J0IHsgYm9vdHN0cmFwQXBwbGljYXRpb24gfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbiAqIGltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbiAqIGltcG9ydCB7IEFwcENvbXBvbmVudCB9IGZyb20gJy4vYXBwLmNvbXBvbmVudCc7XG4gKlxuICogYm9vdHN0cmFwQXBwbGljYXRpb24oQXBwQ29tcG9uZW50LCB7XG4gKiAgIHByb3ZpZGVyczogW2ltcG9ydFByb3ZpZGVyc0Zyb20oQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUpXVxuICogfSkuY2F0Y2goZXJyID0+IGNvbnNvbGUuZXJyb3IoZXJyKSk7XG4gKiBgYGBcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgUG9CdXR0b25Nb2R1bGUsXG4gICAgUG9JY29uTW9kdWxlLFxuICAgIFBvUG9wdXBNb2R1bGUsXG4gICAgUG9DaGVja2JveE1vZHVsZSxcbiAgICBQb0NvbnRhaW5lck1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtQb0xpc3RWaWV3Q29tcG9uZW50LCBQb0xpc3RWaWV3Q29udGVudFRlbXBsYXRlRGlyZWN0aXZlLCBQb0xpc3RWaWV3RGV0YWlsVGVtcGxhdGVEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbUG9MaXN0Vmlld0NvbXBvbmVudCwgUG9MaXN0Vmlld0NvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSwgUG9MaXN0Vmlld0RldGFpbFRlbXBsYXRlRGlyZWN0aXZlXSxcbiAgcHJvdmlkZXJzOiBbXSxcbiAgc2NoZW1hczogW11cbn0pXG5leHBvcnQgY2xhc3MgUG9MaXN0Vmlld01vZHVsZSB7fVxuIl19
|
|
@@ -39,6 +39,18 @@ import * as i0 from "@angular/core";
|
|
|
39
39
|
* })
|
|
40
40
|
* export class AppModule { }
|
|
41
41
|
* ```
|
|
42
|
+
*
|
|
43
|
+
* Em aplicações Standalone, utilize a seguinte configuração para o bootstrap:
|
|
44
|
+
*
|
|
45
|
+
* ```
|
|
46
|
+
* import { bootstrapApplication } from '@angular/platform-browser';
|
|
47
|
+
* import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
48
|
+
* import { AppComponent } from './app.component';
|
|
49
|
+
*
|
|
50
|
+
* bootstrapApplication(AppComponent, {
|
|
51
|
+
* providers: [importProvidersFrom(BrowserAnimationsModule)]
|
|
52
|
+
* }).catch(err => console.error(err));
|
|
53
|
+
* ```
|
|
42
54
|
*/
|
|
43
55
|
export class PoNavbarModule {
|
|
44
56
|
static ɵfac = function PoNavbarModule_Factory(t) { return new (t || PoNavbarModule)(); };
|
|
@@ -74,4 +86,4 @@ export class PoNavbarModule {
|
|
|
74
86
|
PoNavbarActionsModule,
|
|
75
87
|
PoNavbarItemNavigationModule,
|
|
76
88
|
PoNavbarItemsModule], exports: [PoNavbarComponent] }); })();
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbmF2YmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1uYXZiYXIvcG8tbmF2YmFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUM1RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFMUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDRztBQWNILE1BQU0sT0FBTyxjQUFjO3dFQUFkLGNBQWM7NERBQWQsY0FBYztnRUFYdkIsWUFBWTtZQUNaLFlBQVk7WUFDWixZQUFZO1lBQ1osWUFBWTtZQUNaLHFCQUFxQjtZQUNyQiw0QkFBNEI7WUFDNUIsbUJBQW1COztpRkFLVixjQUFjO2NBYjFCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixZQUFZO29CQUNaLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixxQkFBcUI7b0JBQ3JCLDRCQUE0QjtvQkFDNUIsbUJBQW1CO2lCQUNwQjtnQkFDRCxZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxxQkFBcUIsQ0FBQztnQkFDeEQsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7YUFDN0I7O3dGQUNZLGNBQWMsbUJBSFYsaUJBQWlCLEVBQUUscUJBQXFCLGFBUnJELFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtRQUNaLFlBQVk7UUFDWixxQkFBcUI7UUFDckIsNEJBQTRCO1FBQzVCLG1CQUFtQixhQUdYLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb01lbnVNb2R1bGUgfSBmcm9tICcuLi9wby1tZW51L3BvLW1lbnUubW9kdWxlJztcbmltcG9ydCB7IFBvSWNvbk1vZHVsZSB9IGZyb20gJy4vLi4vcG8taWNvbi9wby1pY29uLm1vZHVsZSc7XG5pbXBvcnQgeyBQb0xvZ29Nb2R1bGUgfSBmcm9tICcuLy4uL3BvLWxvZ28vcG8tbG9nby5tb2R1bGUnO1xuaW1wb3J0IHsgUG9OYXZiYXJBY3Rpb25zTW9kdWxlIH0gZnJvbSAnLi9wby1uYXZiYXItYWN0aW9ucy9wby1uYXZiYXItYWN0aW9ucy5tb2R1bGUnO1xuaW1wb3J0IHsgUG9OYXZiYXJJdGVtTmF2aWdhdGlvbk1vZHVsZSB9IGZyb20gJy4vcG8tbmF2YmFyLWl0ZW0tbmF2aWdhdGlvbi9wby1uYXZiYXItaXRlbS1uYXZpZ2F0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBQb05hdmJhckl0ZW1zTW9kdWxlIH0gZnJvbSAnLi9wby1uYXZiYXItaXRlbXMvcG8tbmF2YmFyLWl0ZW1zLm1vZHVsZSc7XG5pbXBvcnQgeyBQb05hdmJhckxvZ29Db21wb25lbnQgfSBmcm9tICcuL3BvLW5hdmJhci1sb2dvL3BvLW5hdmJhci1sb2dvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb05hdmJhckNvbXBvbmVudCB9IGZyb20gJy4vcG8tbmF2YmFyLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogTcOzZHVsbyBkbyBjb21wb25lbnRlIGBwby1uYXZiYXJgLlxuICpcbiAqID4gUGFyYSBvIGNvcnJldG8gZnVuY2lvbmFtZW50byBkbyBjb21wb25lbnRlIGBwby1uYXZiYXJgLCBkZXZlIHNlciBpbXBvcnRhZG8gbyBtw7NkdWxvIGBCcm93c2VyQW5pbWF0aW9uc01vZHVsZWAgbm9cbiAqID4gbcOzZHVsbyBwcmluY2lwYWwgZGEgc3VhIGFwbGljYcOnw6NvLlxuICpcbiAqIE3Ds2R1bG8gZGEgYXBsaWNhw6fDo286XG4gKiBgYGBcbiAqIGltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbiAqIGltcG9ydCB7IFBvTW9kdWxlIH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuICogLi4uXG4gKlxuICogQE5nTW9kdWxlKHtcbiAqICAgaW1wb3J0czogW1xuICogICAgIEJyb3dzZXJNb2R1bGUsXG4gKiAgICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gKiAgICAgLi4uXG4gKiAgICAgUG9Nb2R1bGVcbiAqICAgXSxcbiAqICAgZGVjbGFyYXRpb25zOiBbXG4gKiAgICAgQXBwQ29tcG9uZW50LFxuICogICAgIC4uLlxuICogICBdLFxuICogICBwcm92aWRlcnM6IFtdLFxuICogICBib290c3RyYXA6IFtBcHBDb21wb25lbnRdXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIEFwcE1vZHVsZSB7IH1cbiAqIGBgYFxuICpcbiAqIEVtIGFwbGljYcOnw7VlcyBTdGFuZGFsb25lLCB1dGlsaXplIGEgc2VndWludGUgY29uZmlndXJhw6fDo28gcGFyYSBvIGJvb3RzdHJhcDpcbiAqXG4gKiBgYGBcbiAqIGltcG9ydCB7IGJvb3RzdHJhcEFwcGxpY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG4gKiBpbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG4gKiBpbXBvcnQgeyBBcHBDb21wb25lbnQgfSBmcm9tICcuL2FwcC5jb21wb25lbnQnO1xuICpcbiAqIGJvb3RzdHJhcEFwcGxpY2F0aW9uKEFwcENvbXBvbmVudCwge1xuICogICBwcm92aWRlcnM6IFtpbXBvcnRQcm92aWRlcnNGcm9tKEJyb3dzZXJBbmltYXRpb25zTW9kdWxlKV1cbiAqIH0pLmNhdGNoKGVyciA9PiBjb25zb2xlLmVycm9yKGVycikpO1xuICogYGBgXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUG9JY29uTW9kdWxlLFxuICAgIFBvTG9nb01vZHVsZSxcbiAgICBQb01lbnVNb2R1bGUsXG4gICAgUG9OYXZiYXJBY3Rpb25zTW9kdWxlLFxuICAgIFBvTmF2YmFySXRlbU5hdmlnYXRpb25Nb2R1bGUsXG4gICAgUG9OYXZiYXJJdGVtc01vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtQb05hdmJhckNvbXBvbmVudCwgUG9OYXZiYXJMb2dvQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1BvTmF2YmFyQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBQb05hdmJhck1vZHVsZSB7fVxuIl19
|
|
@@ -15,6 +15,41 @@ import * as i0 from "@angular/core";
|
|
|
15
15
|
* > Para o correto funcionamento do componente `po-page-slide`, deve ser
|
|
16
16
|
* > importado o módulo `BrowserAnimationsModule` no módulo principal da sua
|
|
17
17
|
* > aplicação.
|
|
18
|
+
*
|
|
19
|
+
* Módulo da aplicação:
|
|
20
|
+
* ```
|
|
21
|
+
* import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
22
|
+
* import { PoModule } from '@po-ui/ng-components';
|
|
23
|
+
* ...
|
|
24
|
+
*
|
|
25
|
+
* @NgModule({
|
|
26
|
+
* imports: [
|
|
27
|
+
* BrowserModule,
|
|
28
|
+
* BrowserAnimationsModule,
|
|
29
|
+
* ...
|
|
30
|
+
* PoModule
|
|
31
|
+
* ],
|
|
32
|
+
* declarations: [
|
|
33
|
+
* AppComponent,
|
|
34
|
+
* ...
|
|
35
|
+
* ],
|
|
36
|
+
* providers: [],
|
|
37
|
+
* bootstrap: [AppComponent]
|
|
38
|
+
* })
|
|
39
|
+
* export class AppModule { }
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* Em aplicações Standalone, utilize a seguinte configuração para o bootstrap:
|
|
43
|
+
*
|
|
44
|
+
* ```
|
|
45
|
+
* import { bootstrapApplication } from '@angular/platform-browser';
|
|
46
|
+
* import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
47
|
+
* import { AppComponent } from './app.component';
|
|
48
|
+
*
|
|
49
|
+
* bootstrapApplication(AppComponent, {
|
|
50
|
+
* providers: [importProvidersFrom(BrowserAnimationsModule)]
|
|
51
|
+
* }).catch(err => console.error(err));
|
|
52
|
+
* ```
|
|
18
53
|
*/
|
|
19
54
|
export class PoPageSlideBaseComponent {
|
|
20
55
|
/**
|
|
@@ -171,4 +206,4 @@ export class PoPageSlideBaseComponent {
|
|
|
171
206
|
type: Input,
|
|
172
207
|
args: ['p-size']
|
|
173
208
|
}] }); })();
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1zbGlkZS1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlL3BvLXBhZ2Utc2xpZGUvcG8tcGFnZS1zbGlkZS1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUV2RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlERztBQUVILE1BQU0sT0FBTyx3QkFBd0I7SUFDbkM7Ozs7T0FJRztJQUNlLEtBQUssQ0FBUztJQUVoQzs7OztPQUlHO0lBQ2tCLFFBQVEsQ0FBVTtJQUV2Qzs7Ozs7Ozs7OztPQVVHO0lBQzRELFNBQVMsR0FBWSxLQUFLLENBQUM7SUFFMUY7Ozs7Ozs7O09BUUc7SUFDMkQsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUV4Rjs7Ozs7Ozs7O09BU0c7SUFDZ0UsYUFBYSxHQUFZLEtBQUssQ0FBQztJQUVsRzs7Ozs7T0FLRztJQUNnQixjQUFjLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFL0UsZ0VBQWdFO0lBQ3pELE1BQU0sR0FBRyxJQUFJLENBQUM7SUFFYixLQUFLLEdBQUcsSUFBSSxDQUFDO0lBRXJCOzs7Ozs7Ozs7Ozs7Ozs7OztPQWlCRztJQUNILElBQXFCLElBQUksQ0FBQyxLQUFhO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7O09BaUJHO0lBQ0ksSUFBSTtRQUNULHFFQUFxRTtRQUNyRSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1NBQ3hCO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztPQWlCRztJQUNJLEtBQUs7UUFDVixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7a0ZBM0lVLHdCQUF3Qjs2REFBeEIsd0JBQXdCLGdOQTBCUSxnQkFBZ0IscUZBV2pCLGdCQUFnQixvR0FZWCxnQkFBZ0I7O2lGQWpEcEQsd0JBQXdCO2NBRHBDLFNBQVM7Z0JBT1UsS0FBSztrQkFBdEIsS0FBSzttQkFBQyxTQUFTO1lBT0ssUUFBUTtrQkFBNUIsS0FBSzttQkFBQyxZQUFZO1lBYTRDLFNBQVM7a0JBQXZFLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQVdDLFFBQVE7a0JBQXJFLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQVlPLGFBQWE7a0JBQS9FLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBUTlDLGNBQWM7a0JBQWhDLE1BQU07bUJBQUMsU0FBUztZQXlCSSxJQUFJO2tCQUF4QixLQUFLO21CQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogTyBjb21wb25lbnRlIGBwby1wYWdlLXNsaWRlYCDDqSB1dGlsaXphZG8gcGFyYSBpbmNsdWlyIGNvbnRlw7pkb3Mgc2VjdW5kw6FyaW9zXG4gKiBhZGljaW9uYW5kbyBjb250cm9sZXMgZSBuYXZlZ2HDp8O1ZXMgYWRpY2lvbmFpcywgbWFzIG1hbnRlbmRvIG8gdXN1w6FyaW8gbmFcbiAqIHDDoWdpbmEgcHJpbmNpcGFsLlxuICpcbiAqIEVzdGUgY29tcG9uZW50ZSDDqSBhdGl2YWRvIGEgcGFydGlyIGRvIG3DqXRvZG8gYCNvcGVuKClgIGUgcG9kZSBzZXIgIGVuY2VycmFkb1xuICogYXRyYXbDqXMgZG8gYm90w6NvIHF1ZSBlbmNvbnRyYS1zZSBubyBjYWJlw6dhbGhvIGRvIG1lc21vIG91IGF0cmF2w6lzIGRvIG3DqXRvZG9cbiAqIGAjY2xvc2UoKWAuXG4gKlxuICogPiBQYXJhIG8gY29ycmV0byBmdW5jaW9uYW1lbnRvIGRvIGNvbXBvbmVudGUgYHBvLXBhZ2Utc2xpZGVgLCBkZXZlIHNlclxuICogPiBpbXBvcnRhZG8gbyBtw7NkdWxvIGBCcm93c2VyQW5pbWF0aW9uc01vZHVsZWAgbm8gbcOzZHVsbyBwcmluY2lwYWwgZGEgc3VhXG4gKiA+IGFwbGljYcOnw6NvLlxuICpcbiAqIE3Ds2R1bG8gZGEgYXBsaWNhw6fDo286XG4gKiBgYGBcbiAqIGltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbiAqIGltcG9ydCB7IFBvTW9kdWxlIH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuICogLi4uXG4gKlxuICogQE5nTW9kdWxlKHtcbiAqICAgaW1wb3J0czogW1xuICogICAgIEJyb3dzZXJNb2R1bGUsXG4gKiAgICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gKiAgICAgLi4uXG4gKiAgICAgUG9Nb2R1bGVcbiAqICAgXSxcbiAqICAgZGVjbGFyYXRpb25zOiBbXG4gKiAgICAgQXBwQ29tcG9uZW50LFxuICogICAgIC4uLlxuICogICBdLFxuICogICBwcm92aWRlcnM6IFtdLFxuICogICBib290c3RyYXA6IFtBcHBDb21wb25lbnRdXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIEFwcE1vZHVsZSB7IH1cbiAqIGBgYFxuICpcbiAqIEVtIGFwbGljYcOnw7VlcyBTdGFuZGFsb25lLCB1dGlsaXplIGEgc2VndWludGUgY29uZmlndXJhw6fDo28gcGFyYSBvIGJvb3RzdHJhcDpcbiAqXG4gKiBgYGBcbiAqIGltcG9ydCB7IGJvb3RzdHJhcEFwcGxpY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG4gKiBpbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG4gKiBpbXBvcnQgeyBBcHBDb21wb25lbnQgfSBmcm9tICcuL2FwcC5jb21wb25lbnQnO1xuICpcbiAqIGJvb3RzdHJhcEFwcGxpY2F0aW9uKEFwcENvbXBvbmVudCwge1xuICogICBwcm92aWRlcnM6IFtpbXBvcnRQcm92aWRlcnNGcm9tKEJyb3dzZXJBbmltYXRpb25zTW9kdWxlKV1cbiAqIH0pLmNhdGNoKGVyciA9PiBjb25zb2xlLmVycm9yKGVycikpO1xuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFBvUGFnZVNsaWRlQmFzZUNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogVMOtdHVsbyBkYSBww6FnaW5hLlxuICAgKi9cbiAgQElucHV0KCdwLXRpdGxlJykgdGl0bGU6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFN1YnTDrXR1bG8gZGEgcMOhZ2luYS5cbiAgICovXG4gIEBJbnB1dCgncC1zdWJ0aXRsZScpIHN1YnRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIE9jdWx0YSBvIGJvdMOjbyBkZSBlbmNlcnJhbWVudG8gZGEgcMOhZ2luYS5cbiAgICpcbiAgICogRXN0YSBvcMOnw6NvIHPDsyDDqSBwb3Nzw612ZWwgc2UgYSBwcm9wcmllZGFkZSBgcC1jbGljay1vdXRgIGVzdGl2ZXIgaGFiaWxpdGFkYS5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KHsgYWxpYXM6ICdwLWhpZGUtY2xvc2UnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgaGlkZUNsb3NlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIHNlIHBlcm1pdGUgbyBlbmNlcnJhbWVudG8gZGEgcMOhZ2luYSBhbyBjbGljYXIgZm9yYSBkYSBtZXNtYS5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KHsgYWxpYXM6ICdwLWNsaWNrLW91dCcsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBjbGlja091dDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFBlcm1pdGUgYSBleHBhbnPDo28gZGluw6JtaWNhIGRhIGxhcmd1cmEgZG8gYHBvLXBhZ2Utc2xpZGVgIHF1YW5kbyBgcC1zaXplYCBmb3IgYGF1dG9gIChhdXRvbcOhdGljbykuXG4gICAqIFByb3ByaWVkYWRlIG5lY2Vzc8OhcmlhIHBhcmEgY29ycmV0byBmdW5jaW9uYW1lbnRvIGRhIGBwby10YWJsZWAgZGVudHJvIGRvIGBwby1wYWdlLXNsaWRlYFxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3AtZmxleGlibGUtd2lkdGgnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgZmxleGlibGVXaWR0aDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEV2ZW50byBleGVjdXRhZG8gYW8gZmVjaGFyIG8gcGFnZSBzbGlkZS5cbiAgICovXG4gIEBPdXRwdXQoJ3AtY2xvc2UnKSBjbG9zZVBhZ2VTbGlkZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAvLyBDb250cm9sYSBzZSBhIHDDoWdpbmEgZXN0w6Egb3UgbsOjbyBvY3VsdGEsIHBvciBwYWRyw6NvIMOpIG9jdWx0by5cbiAgcHVibGljIGhpZGRlbiA9IHRydWU7XG5cbiAgcHJpdmF0ZSBfc2l6ZSA9ICdtZCc7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIG8gdGFtYW5obyBkYSBww6FnaW5hLlxuICAgKlxuICAgKiBWYWxvcmVzIHbDoWxpZG9zOlxuICAgKiAgLSBgc21gIChwZXF1ZW5vKVxuICAgKiAgLSBgbWRgIChtw6lkaW8pXG4gICAqICAtIGBsZ2AgKGdyYW5kZSlcbiAgICogIC0gYHhsYCAoZXh0cmEtZ3JhbmRlKVxuICAgKiAgLSBgYXV0b2AgKGF1dG9tw6F0aWNvKVxuICAgKlxuICAgKiA+IFRvZGFzIGFzIG9ww6fDtWVzIGRlIHRhbWFuaG8sIGV4Y2V0byBgYXV0b2AsIHBvc3N1ZW0gdW1hIGxhcmd1cmEgbcOheGltYSBkZSAqKjc2OHB4KiouXG4gICAqXG4gICAqIEBkZWZhdWx0IGBtZGBcbiAgICovXG4gIEBJbnB1dCgncC1zaXplJykgc2V0IHNpemUodmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IHNpemVzID0gWydzbScsICdtZCcsICdsZycsICd4bCcsICdhdXRvJ107XG4gICAgdGhpcy5fc2l6ZSA9IHNpemVzLmluZGV4T2YodmFsdWUpID4gLTEgPyB2YWx1ZSA6ICdtZCc7XG4gIH1cblxuICBnZXQgc2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdGl2YSBhIHZpc3VhbGl6YcOnw6NvIGRhIHDDoWdpbmEuXG4gICAqXG4gICAqIFBhcmEgdXRpbGl6w6EtbGEgw6kgbmVjZXNzw6FyaW8gdGVyIGEgaW5zdMOibmNpYSBkbyBjb21wb25lbnRlIG5vIERPTSwgcG9kZW5kb1xuICAgKiBzZXIgdXRpbGl6YWRvIG8gYFZpZXdDaGlsZGAgZGEgc2VndWludGUgZm9ybWE6XG4gICAqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogaW1wb3J0IHsgUG9QYWdlU2xpZGVDb21wb25lbnQgfSBmcm9tICdAcG8vbmctY29tcG9uZW50cyc7XG4gICAqXG4gICAqIC4uLlxuICAgKlxuICAgKiBAVmlld0NoaWxkKFBvUGFnZVNsaWRlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBwYWdlU2xpZGU6IFBvUGFnZVNsaWRlQ29tcG9uZW50O1xuICAgKlxuICAgKiBwdWJsaWMgb3BlblBhZ2UoKSB7XG4gICAqICAgdGhpcy5wYWdlU2xpZGUub3BlbigpO1xuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgcHVibGljIG9wZW4oKSB7XG4gICAgLy8gRXZpdGEgY29tIHF1ZSBhIHDDoWdpbmEgc2VqYSBhYmVydGEgc2VtIHF1ZSBzZWphIHBvc3PDrXZlbCBmZWNow6EtbGEuXG4gICAgaWYgKHRoaXMuaGlkZUNsb3NlICYmICF0aGlzLmNsaWNrT3V0KSB7XG4gICAgICB0aGlzLmhpZGVDbG9zZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuaGlkZGVuID0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogRW5jZXJyYSBhIHZpc3VhbGl6YcOnw6NvIGRhIHDDoWdpbmEuXG4gICAqXG4gICAqIFBhcmEgdXRpbGl6w6EtbGEgw6kgbmVjZXNzw6FyaW8gdGVyIGEgaW5zdMOibmNpYSBkbyBjb21wb25lbnRlIG5vIERPTSwgcG9kZW5kb1xuICAgKiBzZXIgdXRpbGl6YWRvIG8gYFZpZXdDaGlsZGAgZGEgc2VndWludGUgZm9ybWE6XG4gICAqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogaW1wb3J0IHsgUG9QYWdlU2xpZGVDb21wb25lbnQgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG4gICAqXG4gICAqIC4uLlxuICAgKlxuICAgKiBAVmlld0NoaWxkKFBvUGFnZVNsaWRlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBwYWdlU2xpZGU6IFBvUGFnZVNsaWRlQ29tcG9uZW50O1xuICAgKlxuICAgKiBwdWJsaWMgY2xvc2VQYWdlKCkge1xuICAgKiAgIHRoaXMucGFnZVNsaWRlLmNsb3NlKCk7XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5oaWRkZW4gPSB0cnVlO1xuICAgIHRoaXMuY2xvc2VQYWdlU2xpZGUuZW1pdCgpO1xuICB9XG59XG4iXX0=
|