@po-ui/ng-components 18.23.1 → 18.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -47,7 +47,7 @@ export class PoAccordionItemHeaderComponent {
47
47
  let _t;
48
48
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.accordionElement = _t.first);
49
49
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.accordionHeaderElement = _t.first);
50
- } }, inputs: { expanded: [0, "p-expanded", "expanded"], label: [0, "p-label", "label"], labelTag: [0, "p-label-tag", "labelTag"], typeTag: [0, "p-type-tag", "typeTag"], disabledItem: [0, "p-disabled", "disabledItem"] }, outputs: { toggle: "p-toggle" }, decls: 9, vars: 6, consts: [["accordionElement", ""], ["accordionHeaderElement", ""], [1, "po-accordion-item-header"], [1, "po-accordion-item-header-button", "po-clickable", 3, "click", "disabled"], [1, "po-accordion-item-header-button-content", 3, "p-tooltip"], [1, "po-text-ellipsis", "po-accordion-item-header-title"], ["class", "po-accordion-item-header-tag", 3, "p-value", "p-type", 4, "ngIf"], ["p-icon", "ICON_ARROW_DOWN", 1, "po-icon", "po-accordion-item-header-icon"], [1, "po-accordion-item-header-tag", 3, "p-value", "p-type"]], template: function PoAccordionItemHeaderComponent_Template(rf, ctx) { if (rf & 1) {
50
+ } }, inputs: { expanded: [0, "p-expanded", "expanded"], label: [0, "p-label", "label"], labelTag: [0, "p-label-tag", "labelTag"], typeTag: [0, "p-type-tag", "typeTag"], disabledItem: [0, "p-disabled", "disabledItem"] }, outputs: { toggle: "p-toggle" }, decls: 9, vars: 6, consts: [["accordionElement", ""], ["accordionHeaderElement", ""], [1, "po-accordion-item-header"], ["type", "button", 1, "po-accordion-item-header-button", "po-clickable", 3, "click", "disabled"], [1, "po-accordion-item-header-button-content", 3, "p-tooltip"], [1, "po-text-ellipsis", "po-accordion-item-header-title"], ["class", "po-accordion-item-header-tag", 3, "p-value", "p-type", 4, "ngIf"], ["p-icon", "ICON_ARROW_DOWN", 1, "po-icon", "po-accordion-item-header-icon"], [1, "po-accordion-item-header-tag", 3, "p-value", "p-type"]], template: function PoAccordionItemHeaderComponent_Template(rf, ctx) { if (rf & 1) {
51
51
  const _r1 = i0.ɵɵgetCurrentView();
52
52
  i0.ɵɵelementStart(0, "div", 2)(1, "button", 3, 0);
53
53
  i0.ɵɵlistener("click", function PoAccordionItemHeaderComponent_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onClick()); });
@@ -72,7 +72,7 @@ export class PoAccordionItemHeaderComponent {
72
72
  }
73
73
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoAccordionItemHeaderComponent, [{
74
74
  type: Component,
75
- args: [{ selector: 'po-accordion-item-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"po-accordion-item-header\">\n <button\n #accordionElement\n [disabled]=\"disabledItem\"\n [attr.aria-label]=\"label\"\n [attr.aria-expanded]=\"expanded || false\"\n class=\"po-accordion-item-header-button po-clickable\"\n (click)=\"onClick()\"\n >\n <div class=\"po-accordion-item-header-button-content\" [p-tooltip]=\"getTooltip()\">\n <div #accordionHeaderElement class=\"po-text-ellipsis po-accordion-item-header-title\">{{ label }}</div>\n <po-tag *ngIf=\"labelTag\" class=\"po-accordion-item-header-tag\" [p-value]=\"labelTag\" [p-type]=\"typeTag\"> </po-tag>\n </div>\n <po-icon p-icon=\"ICON_ARROW_DOWN\" class=\"po-icon po-accordion-item-header-icon\"></po-icon>\n </button>\n</div>\n" }]
75
+ args: [{ selector: 'po-accordion-item-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"po-accordion-item-header\">\n <button\n #accordionElement\n [disabled]=\"disabledItem\"\n [attr.aria-label]=\"label\"\n [attr.aria-expanded]=\"expanded || false\"\n class=\"po-accordion-item-header-button po-clickable\"\n type=\"button\"\n (click)=\"onClick()\"\n >\n <div class=\"po-accordion-item-header-button-content\" [p-tooltip]=\"getTooltip()\">\n <div #accordionHeaderElement class=\"po-text-ellipsis po-accordion-item-header-title\">{{ label }}</div>\n <po-tag *ngIf=\"labelTag\" class=\"po-accordion-item-header-tag\" [p-value]=\"labelTag\" [p-type]=\"typeTag\"> </po-tag>\n </div>\n <po-icon p-icon=\"ICON_ARROW_DOWN\" class=\"po-icon po-accordion-item-header-icon\"></po-icon>\n </button>\n</div>\n" }]
76
76
  }], () => [{ type: i1.PoLanguageService }], { accordionElement: [{
77
77
  type: ViewChild,
78
78
  args: ['accordionElement', { read: ElementRef, static: true }]
@@ -99,4 +99,4 @@ export class PoAccordionItemHeaderComponent {
99
99
  args: ['p-toggle']
100
100
  }] }); })();
101
101
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoAccordionItemHeaderComponent, { className: "PoAccordionItemHeaderComponent", filePath: "lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.ts", lineNumber: 10 }); })();
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tYWNjb3JkaW9uLWl0ZW0taGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1hY2NvcmRpb24vcG8tYWNjb3JkaW9uLWl0ZW0taGVhZGVyL3BvLWFjY29yZGlvbi1pdGVtLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tYWNjb3JkaW9uL3BvLWFjY29yZGlvbi1pdGVtLWhlYWRlci9wby1hY2NvcmRpb24taXRlbS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7Ozs7OztJQ1MvRSw0QkFBZ0g7OztJQUE3QixBQUFyQix5Q0FBb0IsMEJBQW1COztBREYzRyxNQUFNLE9BQU8sOEJBQThCO0lBQ2pDLFFBQVEsR0FBVyxlQUFlLENBQUM7SUFFd0IsZ0JBQWdCLENBQWE7SUFDdkIsc0JBQXNCLENBQWE7SUFFdkYsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUU3QixLQUFLLENBQVM7SUFFVixRQUFRLENBQVM7SUFFbEIsT0FBTyxDQUFTO0lBRWhCLFlBQVksQ0FBVTtJQUV2QixNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUV6RCxZQUFZLGVBQWtDO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUUvQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDNUUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUVqRixJQUFJLGtCQUFrQixJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO3dGQXBDVSw4QkFBOEI7NkRBQTlCLDhCQUE4QjttQ0FHRixVQUFVO21DQUNKLFVBQVU7Ozs7Ozs7WUNadkQsQUFERiw4QkFBc0MsbUJBUW5DO1lBREMsaUpBQVMsYUFBUyxLQUFDO1lBR2pCLEFBREYsOEJBQWdGLGdCQUNPO1lBQUEsWUFBVztZQUFBLGlCQUFNO1lBQ3RHLHFGQUFzRztZQUN4RyxpQkFBTTtZQUNOLDZCQUEwRjtZQUU5RixBQURFLGlCQUFTLEVBQ0w7O1lBWkYsY0FBeUI7WUFBekIsMkNBQXlCOztZQU00QixlQUEwQjtZQUExQiw0Q0FBMEI7WUFDUSxlQUFXO1lBQVgsK0JBQVc7WUFDdkYsY0FBYztZQUFkLG1DQUFjOzs7aUZERmhCLDhCQUE4QjtjQUwxQyxTQUFTOzJCQUNFLDBCQUEwQixtQkFFbkIsdUJBQXVCLENBQUMsTUFBTTtrREFLb0IsZ0JBQWdCO2tCQUFsRixTQUFTO21CQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ1Esc0JBQXNCO2tCQUE5RixTQUFTO21CQUFDLHdCQUF3QixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBRWxELFFBQVE7a0JBQTVCLEtBQUs7bUJBQUMsWUFBWTtZQUVELEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQUVNLFFBQVE7a0JBQTdCLEtBQUs7bUJBQUMsYUFBYTtZQUVDLE9BQU87a0JBQTNCLEtBQUs7bUJBQUMsWUFBWTtZQUVFLFlBQVk7a0JBQWhDLEtBQUs7bUJBQUMsWUFBWTtZQUVDLE1BQU07a0JBQXpCLE1BQU07bUJBQUMsVUFBVTs7a0ZBaEJQLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQb0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlJztcbmltcG9ydCB7IHBvTG9jYWxlRGVmYXVsdCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLmNvbnN0YW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tYWNjb3JkaW9uLWl0ZW0taGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICdwby1hY2NvcmRpb24taXRlbS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQb0FjY29yZGlvbkl0ZW1IZWFkZXJDb21wb25lbnQge1xuICBwcml2YXRlIGxhbmd1YWdlOiBzdHJpbmcgPSBwb0xvY2FsZURlZmF1bHQ7XG5cbiAgQFZpZXdDaGlsZCgnYWNjb3JkaW9uRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGFjY29yZGlvbkVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2FjY29yZGlvbkhlYWRlckVsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBhY2NvcmRpb25IZWFkZXJFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgncC1leHBhbmRlZCcpIGV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdwLWxhYmVsJykgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoJ3AtbGFiZWwtdGFnJykgbGFiZWxUYWc6IHN0cmluZztcblxuICBASW5wdXQoJ3AtdHlwZS10YWcnKSB0eXBlVGFnOiBzdHJpbmc7XG5cbiAgQElucHV0KCdwLWRpc2FibGVkJykgZGlzYWJsZWRJdGVtOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoJ3AtdG9nZ2xlJykgdG9nZ2xlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2UpIHtcbiAgICB0aGlzLmxhbmd1YWdlID0gbGFuZ3VhZ2VTZXJ2aWNlLmdldFNob3J0TGFuZ3VhZ2UoKTtcbiAgfVxuXG4gIG9uQ2xpY2soKSB7XG4gICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuXG4gICAgdGhpcy50b2dnbGUuZW1pdCh0aGlzLmV4cGFuZGVkKTtcbiAgfVxuXG4gIGdldFRvb2x0aXAoKSB7XG4gICAgY29uc3Qgd2lkdGhDb250YWluZXIgPSB0aGlzLmFjY29yZGlvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAtIDU2O1xuICAgIGNvbnN0IHdpZHRoSGVhZGVyRWxlbWVudCA9IHRoaXMuYWNjb3JkaW9uSGVhZGVyRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuXG4gICAgaWYgKHdpZHRoSGVhZGVyRWxlbWVudCA+PSB3aWR0aENvbnRhaW5lcikge1xuICAgICAgcmV0dXJuIHRoaXMubGFiZWw7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG8tYWNjb3JkaW9uLWl0ZW0taGVhZGVyXCI+XG4gIDxidXR0b25cbiAgICAjYWNjb3JkaW9uRWxlbWVudFxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZEl0ZW1cIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWQgfHwgZmFsc2VcIlxuICAgIGNsYXNzPVwicG8tYWNjb3JkaW9uLWl0ZW0taGVhZGVyLWJ1dHRvbiBwby1jbGlja2FibGVcIlxuICAgIChjbGljayk9XCJvbkNsaWNrKClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInBvLWFjY29yZGlvbi1pdGVtLWhlYWRlci1idXR0b24tY29udGVudFwiIFtwLXRvb2x0aXBdPVwiZ2V0VG9vbHRpcCgpXCI+XG4gICAgICA8ZGl2ICNhY2NvcmRpb25IZWFkZXJFbGVtZW50IGNsYXNzPVwicG8tdGV4dC1lbGxpcHNpcyBwby1hY2NvcmRpb24taXRlbS1oZWFkZXItdGl0bGVcIj57eyBsYWJlbCB9fTwvZGl2PlxuICAgICAgPHBvLXRhZyAqbmdJZj1cImxhYmVsVGFnXCIgY2xhc3M9XCJwby1hY2NvcmRpb24taXRlbS1oZWFkZXItdGFnXCIgW3AtdmFsdWVdPVwibGFiZWxUYWdcIiBbcC10eXBlXT1cInR5cGVUYWdcIj4gPC9wby10YWc+XG4gICAgPC9kaXY+XG4gICAgPHBvLWljb24gcC1pY29uPVwiSUNPTl9BUlJPV19ET1dOXCIgY2xhc3M9XCJwby1pY29uIHBvLWFjY29yZGlvbi1pdGVtLWhlYWRlci1pY29uXCI+PC9wby1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tYWNjb3JkaW9uLWl0ZW0taGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1hY2NvcmRpb24vcG8tYWNjb3JkaW9uLWl0ZW0taGVhZGVyL3BvLWFjY29yZGlvbi1pdGVtLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tYWNjb3JkaW9uL3BvLWFjY29yZGlvbi1pdGVtLWhlYWRlci9wby1hY2NvcmRpb24taXRlbS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7Ozs7OztJQ1UvRSw0QkFBZ0g7OztJQUE3QixBQUFyQix5Q0FBb0IsMEJBQW1COztBREgzRyxNQUFNLE9BQU8sOEJBQThCO0lBQ2pDLFFBQVEsR0FBVyxlQUFlLENBQUM7SUFFd0IsZ0JBQWdCLENBQWE7SUFDdkIsc0JBQXNCLENBQWE7SUFFdkYsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUU3QixLQUFLLENBQVM7SUFFVixRQUFRLENBQVM7SUFFbEIsT0FBTyxDQUFTO0lBRWhCLFlBQVksQ0FBVTtJQUV2QixNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUV6RCxZQUFZLGVBQWtDO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUUvQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDNUUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUVqRixJQUFJLGtCQUFrQixJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO3dGQXBDVSw4QkFBOEI7NkRBQTlCLDhCQUE4QjttQ0FHRixVQUFVO21DQUNKLFVBQVU7Ozs7Ozs7WUNadkQsQUFERiw4QkFBc0MsbUJBU25DO1lBREMsaUpBQVMsYUFBUyxLQUFDO1lBR2pCLEFBREYsOEJBQWdGLGdCQUNPO1lBQUEsWUFBVztZQUFBLGlCQUFNO1lBQ3RHLHFGQUFzRztZQUN4RyxpQkFBTTtZQUNOLDZCQUEwRjtZQUU5RixBQURFLGlCQUFTLEVBQ0w7O1lBYkYsY0FBeUI7WUFBekIsMkNBQXlCOztZQU80QixlQUEwQjtZQUExQiw0Q0FBMEI7WUFDUSxlQUFXO1lBQVgsK0JBQVc7WUFDdkYsY0FBYztZQUFkLG1DQUFjOzs7aUZESGhCLDhCQUE4QjtjQUwxQyxTQUFTOzJCQUNFLDBCQUEwQixtQkFFbkIsdUJBQXVCLENBQUMsTUFBTTtrREFLb0IsZ0JBQWdCO2tCQUFsRixTQUFTO21CQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ1Esc0JBQXNCO2tCQUE5RixTQUFTO21CQUFDLHdCQUF3QixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBRWxELFFBQVE7a0JBQTVCLEtBQUs7bUJBQUMsWUFBWTtZQUVELEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQUVNLFFBQVE7a0JBQTdCLEtBQUs7bUJBQUMsYUFBYTtZQUVDLE9BQU87a0JBQTNCLEtBQUs7bUJBQUMsWUFBWTtZQUVFLFlBQVk7a0JBQWhDLEtBQUs7bUJBQUMsWUFBWTtZQUVDLE1BQU07a0JBQXpCLE1BQU07bUJBQUMsVUFBVTs7a0ZBaEJQLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQb0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlJztcbmltcG9ydCB7IHBvTG9jYWxlRGVmYXVsdCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLmNvbnN0YW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tYWNjb3JkaW9uLWl0ZW0taGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICdwby1hY2NvcmRpb24taXRlbS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQb0FjY29yZGlvbkl0ZW1IZWFkZXJDb21wb25lbnQge1xuICBwcml2YXRlIGxhbmd1YWdlOiBzdHJpbmcgPSBwb0xvY2FsZURlZmF1bHQ7XG5cbiAgQFZpZXdDaGlsZCgnYWNjb3JkaW9uRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGFjY29yZGlvbkVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2FjY29yZGlvbkhlYWRlckVsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBhY2NvcmRpb25IZWFkZXJFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgncC1leHBhbmRlZCcpIGV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdwLWxhYmVsJykgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoJ3AtbGFiZWwtdGFnJykgbGFiZWxUYWc6IHN0cmluZztcblxuICBASW5wdXQoJ3AtdHlwZS10YWcnKSB0eXBlVGFnOiBzdHJpbmc7XG5cbiAgQElucHV0KCdwLWRpc2FibGVkJykgZGlzYWJsZWRJdGVtOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoJ3AtdG9nZ2xlJykgdG9nZ2xlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2UpIHtcbiAgICB0aGlzLmxhbmd1YWdlID0gbGFuZ3VhZ2VTZXJ2aWNlLmdldFNob3J0TGFuZ3VhZ2UoKTtcbiAgfVxuXG4gIG9uQ2xpY2soKSB7XG4gICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuXG4gICAgdGhpcy50b2dnbGUuZW1pdCh0aGlzLmV4cGFuZGVkKTtcbiAgfVxuXG4gIGdldFRvb2x0aXAoKSB7XG4gICAgY29uc3Qgd2lkdGhDb250YWluZXIgPSB0aGlzLmFjY29yZGlvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAtIDU2O1xuICAgIGNvbnN0IHdpZHRoSGVhZGVyRWxlbWVudCA9IHRoaXMuYWNjb3JkaW9uSGVhZGVyRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuXG4gICAgaWYgKHdpZHRoSGVhZGVyRWxlbWVudCA+PSB3aWR0aENvbnRhaW5lcikge1xuICAgICAgcmV0dXJuIHRoaXMubGFiZWw7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG8tYWNjb3JkaW9uLWl0ZW0taGVhZGVyXCI+XG4gIDxidXR0b25cbiAgICAjYWNjb3JkaW9uRWxlbWVudFxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZEl0ZW1cIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWQgfHwgZmFsc2VcIlxuICAgIGNsYXNzPVwicG8tYWNjb3JkaW9uLWl0ZW0taGVhZGVyLWJ1dHRvbiBwby1jbGlja2FibGVcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJvbkNsaWNrKClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInBvLWFjY29yZGlvbi1pdGVtLWhlYWRlci1idXR0b24tY29udGVudFwiIFtwLXRvb2x0aXBdPVwiZ2V0VG9vbHRpcCgpXCI+XG4gICAgICA8ZGl2ICNhY2NvcmRpb25IZWFkZXJFbGVtZW50IGNsYXNzPVwicG8tdGV4dC1lbGxpcHNpcyBwby1hY2NvcmRpb24taXRlbS1oZWFkZXItdGl0bGVcIj57eyBsYWJlbCB9fTwvZGl2PlxuICAgICAgPHBvLXRhZyAqbmdJZj1cImxhYmVsVGFnXCIgY2xhc3M9XCJwby1hY2NvcmRpb24taXRlbS1oZWFkZXItdGFnXCIgW3AtdmFsdWVdPVwibGFiZWxUYWdcIiBbcC10eXBlXT1cInR5cGVUYWdcIj4gPC9wby10YWc+XG4gICAgPC9kaXY+XG4gICAgPHBvLWljb24gcC1pY29uPVwiSUNPTl9BUlJPV19ET1dOXCIgY2xhc3M9XCJwby1pY29uIHBvLWFjY29yZGlvbi1pdGVtLWhlYWRlci1pY29uXCI+PC9wby1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -38,7 +38,7 @@ export class PoAccordionManagerComponent {
38
38
  let _t;
39
39
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.accordionElement = _t.first);
40
40
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.accordionHeaderElement = _t.first);
41
- } }, inputs: { expandedAllItems: [0, "p-expanded-all-items", "expandedAllItems"], literals: [0, "p-literals", "literals"] }, outputs: { clickManager: "p-click" }, features: [i0.ɵɵNgOnChangesFeature], decls: 7, vars: 4, consts: [["accordionHeaderButtonManagerElement", ""], ["accordionHeaderManagerElement", ""], [1, "po-accordion-manager-header"], [1, "po-accordion-manager-button", "po-clickable", 3, "click", "p-tooltip"], [1, "po-text-ellipsis", "po-accordion-manager-button-content"], ["p-icon", "ICON_LAST_PAGE", 1, "po-icon", "po-accordion-manager-icon", 3, "ngClass"]], template: function PoAccordionManagerComponent_Template(rf, ctx) { if (rf & 1) {
41
+ } }, inputs: { expandedAllItems: [0, "p-expanded-all-items", "expandedAllItems"], literals: [0, "p-literals", "literals"] }, outputs: { clickManager: "p-click" }, features: [i0.ɵɵNgOnChangesFeature], decls: 7, vars: 4, consts: [["accordionHeaderButtonManagerElement", ""], ["accordionHeaderManagerElement", ""], [1, "po-accordion-manager-header"], ["type", "button", 1, "po-accordion-manager-button", "po-clickable", 3, "click", "p-tooltip"], [1, "po-text-ellipsis", "po-accordion-manager-button-content"], ["p-icon", "ICON_LAST_PAGE", 1, "po-icon", "po-accordion-manager-icon", 3, "ngClass"]], template: function PoAccordionManagerComponent_Template(rf, ctx) { if (rf & 1) {
42
42
  const _r1 = i0.ɵɵgetCurrentView();
43
43
  i0.ɵɵelementStart(0, "div", 2)(1, "button", 3, 0);
44
44
  i0.ɵɵlistener("click", function PoAccordionManagerComponent_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onClick()); });
@@ -59,7 +59,7 @@ export class PoAccordionManagerComponent {
59
59
  }
60
60
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoAccordionManagerComponent, [{
61
61
  type: Component,
62
- args: [{ selector: 'po-accordion-manager', template: "<div class=\"po-accordion-manager-header\">\n <button\n #accordionHeaderButtonManagerElement\n class=\"po-accordion-manager-button po-clickable\"\n (click)=\"onClick()\"\n [attr.aria-expanded]=\"expandedAllItems\"\n [p-tooltip]=\"getTooltip()\"\n >\n <div #accordionHeaderManagerElement class=\"po-text-ellipsis po-accordion-manager-button-content\">\n {{ expandedAllItems ? literals.closeAllItems : literals.expandAllItems }}\n </div>\n <po-icon\n p-icon=\"ICON_LAST_PAGE\"\n [ngClass]=\"expandedAllItems ? 'icon-down' : 'icon-up'\"\n class=\"po-icon po-accordion-manager-icon\"\n >\n </po-icon>\n </button>\n</div>\n" }]
62
+ args: [{ selector: 'po-accordion-manager', template: "<div class=\"po-accordion-manager-header\">\n <button\n #accordionHeaderButtonManagerElement\n class=\"po-accordion-manager-button po-clickable\"\n type=\"button\"\n (click)=\"onClick()\"\n [attr.aria-expanded]=\"expandedAllItems\"\n [p-tooltip]=\"getTooltip()\"\n >\n <div #accordionHeaderManagerElement class=\"po-text-ellipsis po-accordion-manager-button-content\">\n {{ expandedAllItems ? literals.closeAllItems : literals.expandAllItems }}\n </div>\n <po-icon\n p-icon=\"ICON_LAST_PAGE\"\n [ngClass]=\"expandedAllItems ? 'icon-down' : 'icon-up'\"\n class=\"po-icon po-accordion-manager-icon\"\n >\n </po-icon>\n </button>\n</div>\n" }]
63
63
  }], null, { accordionElement: [{
64
64
  type: ViewChild,
65
65
  args: ['accordionHeaderButtonManagerElement', { read: ElementRef, static: true }]
@@ -77,4 +77,4 @@ export class PoAccordionManagerComponent {
77
77
  args: ['p-click']
78
78
  }] }); })();
79
79
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoAccordionManagerComponent, { className: "PoAccordionManagerComponent", filePath: "lib/components/po-accordion/po-accordion-manager/po-accordion-manager.component.ts", lineNumber: 19 }); })();
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tYWNjb3JkaW9uLW1hbmFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWFjY29yZGlvbi9wby1hY2NvcmRpb24tbWFuYWdlci9wby1hY2NvcmRpb24tbWFuYWdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tYWNjb3JkaW9uL3BvLWFjY29yZGlvbi1tYW5hZ2VyL3BvLWFjY29yZGlvbi1tYW5hZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBT3ZCLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsVUFBVSxHQUFXLEVBQUUsQ0FBQztJQUN4QixjQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFMkMsZ0JBQWdCLENBQWE7SUFDbkMsc0JBQXNCLENBQWE7SUFFcEYsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBRTVDLFFBQVEsQ0FBc0I7SUFFaEMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFOUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFlBQVk7WUFDckQsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYTtZQUM3QixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDakMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDNUUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUVqRixJQUFJLGtCQUFrQixJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN6QixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO3FGQWhDVSwyQkFBMkI7NkRBQTNCLDJCQUEyQjttQ0FJb0IsVUFBVTttQ0FDaEIsVUFBVTs7Ozs7OztZQ3RCOUQsQUFERiw4QkFBeUMsbUJBT3RDO1lBSEMsOElBQVMsYUFBUyxLQUFDO1lBSW5CLGlDQUFpRztZQUMvRixZQUNGO1lBQUEsaUJBQU07WUFDTiw2QkFLVTtZQUVkLEFBREUsaUJBQVMsRUFDTDs7WUFaRixjQUEwQjtZQUExQiw0Q0FBMEI7O1lBR3hCLGVBQ0Y7WUFERSxnSEFDRjtZQUdFLGNBQXNEO1lBQXRELHdFQUFzRDs7O2lGREsvQywyQkFBMkI7Y0FKdkMsU0FBUzsyQkFDRSxzQkFBc0I7Z0JBT3NELGdCQUFnQjtrQkFBckcsU0FBUzttQkFBQyxxQ0FBcUMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNKLHNCQUFzQjtrQkFBckcsU0FBUzttQkFBQywrQkFBK0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUUvQyxnQkFBZ0I7a0JBQTlDLEtBQUs7bUJBQUMsc0JBQXNCO1lBRVIsUUFBUTtrQkFBNUIsS0FBSzttQkFBQyxZQUFZO1lBRUEsWUFBWTtrQkFBOUIsTUFBTTttQkFBQyxTQUFTOztrRkFYTiwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQb0FjY29yZGlvbkxpdGVyYWxzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wby1hY2NvcmRpb24tbGl0ZXJhbHMuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tYWNjb3JkaW9uLW1hbmFnZXInLFxuICB0ZW1wbGF0ZVVybDogJ3BvLWFjY29yZGlvbi1tYW5hZ2VyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQb0FjY29yZGlvbk1hbmFnZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBsYWJlbFZhbHVlOiBzdHJpbmcgPSAnJztcbiAgY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIEBWaWV3Q2hpbGQoJ2FjY29yZGlvbkhlYWRlckJ1dHRvbk1hbmFnZXJFbGVtZW50JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgYWNjb3JkaW9uRWxlbWVudDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnYWNjb3JkaW9uSGVhZGVyTWFuYWdlckVsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBhY2NvcmRpb25IZWFkZXJFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgncC1leHBhbmRlZC1hbGwtaXRlbXMnKSBleHBhbmRlZEFsbEl0ZW1zOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdwLWxpdGVyYWxzJykgbGl0ZXJhbHM6IFBvQWNjb3JkaW9uTGl0ZXJhbHM7XG5cbiAgQE91dHB1dCgncC1jbGljaycpIGNsaWNrTWFuYWdlciA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5sYWJlbFZhbHVlID0gY2hhbmdlcy5leHBhbmRlZEFsbEl0ZW1zLmN1cnJlbnRWYWx1ZVxuICAgICAgPyB0aGlzLmxpdGVyYWxzLmNsb3NlQWxsSXRlbXNcbiAgICAgIDogdGhpcy5saXRlcmFscy5leHBhbmRBbGxJdGVtcztcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG9uQ2xpY2soKSB7XG4gICAgdGhpcy5jbGlja01hbmFnZXIuZW1pdCgpO1xuICB9XG5cbiAgZ2V0VG9vbHRpcCgpIHtcbiAgICBjb25zdCB3aWR0aENvbnRhaW5lciA9IHRoaXMuYWNjb3JkaW9uRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC0gNjk7XG4gICAgY29uc3Qgd2lkdGhIZWFkZXJFbGVtZW50ID0gdGhpcy5hY2NvcmRpb25IZWFkZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG5cbiAgICBpZiAod2lkdGhIZWFkZXJFbGVtZW50ID49IHdpZHRoQ29udGFpbmVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5sYWJlbFZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBvLWFjY29yZGlvbi1tYW5hZ2VyLWhlYWRlclwiPlxuICA8YnV0dG9uXG4gICAgI2FjY29yZGlvbkhlYWRlckJ1dHRvbk1hbmFnZXJFbGVtZW50XG4gICAgY2xhc3M9XCJwby1hY2NvcmRpb24tbWFuYWdlci1idXR0b24gcG8tY2xpY2thYmxlXCJcbiAgICAoY2xpY2spPVwib25DbGljaygpXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImV4cGFuZGVkQWxsSXRlbXNcIlxuICAgIFtwLXRvb2x0aXBdPVwiZ2V0VG9vbHRpcCgpXCJcbiAgPlxuICAgIDxkaXYgI2FjY29yZGlvbkhlYWRlck1hbmFnZXJFbGVtZW50IGNsYXNzPVwicG8tdGV4dC1lbGxpcHNpcyBwby1hY2NvcmRpb24tbWFuYWdlci1idXR0b24tY29udGVudFwiPlxuICAgICAge3sgZXhwYW5kZWRBbGxJdGVtcyA/IGxpdGVyYWxzLmNsb3NlQWxsSXRlbXMgOiBsaXRlcmFscy5leHBhbmRBbGxJdGVtcyB9fVxuICAgIDwvZGl2PlxuICAgIDxwby1pY29uXG4gICAgICBwLWljb249XCJJQ09OX0xBU1RfUEFHRVwiXG4gICAgICBbbmdDbGFzc109XCJleHBhbmRlZEFsbEl0ZW1zID8gJ2ljb24tZG93bicgOiAnaWNvbi11cCdcIlxuICAgICAgY2xhc3M9XCJwby1pY29uIHBvLWFjY29yZGlvbi1tYW5hZ2VyLWljb25cIlxuICAgID5cbiAgICA8L3BvLWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tYWNjb3JkaW9uLW1hbmFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWFjY29yZGlvbi9wby1hY2NvcmRpb24tbWFuYWdlci9wby1hY2NvcmRpb24tbWFuYWdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tYWNjb3JkaW9uL3BvLWFjY29yZGlvbi1tYW5hZ2VyL3BvLWFjY29yZGlvbi1tYW5hZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBT3ZCLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsVUFBVSxHQUFXLEVBQUUsQ0FBQztJQUN4QixjQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFMkMsZ0JBQWdCLENBQWE7SUFDbkMsc0JBQXNCLENBQWE7SUFFcEYsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBRTVDLFFBQVEsQ0FBc0I7SUFFaEMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFOUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFlBQVk7WUFDckQsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYTtZQUM3QixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDakMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDNUUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUVqRixJQUFJLGtCQUFrQixJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN6QixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO3FGQWhDVSwyQkFBMkI7NkRBQTNCLDJCQUEyQjttQ0FJb0IsVUFBVTttQ0FDaEIsVUFBVTs7Ozs7OztZQ3RCOUQsQUFERiw4QkFBeUMsbUJBUXRDO1lBSEMsOElBQVMsYUFBUyxLQUFDO1lBSW5CLGlDQUFpRztZQUMvRixZQUNGO1lBQUEsaUJBQU07WUFDTiw2QkFLVTtZQUVkLEFBREUsaUJBQVMsRUFDTDs7WUFaRixjQUEwQjtZQUExQiw0Q0FBMEI7O1lBR3hCLGVBQ0Y7WUFERSxnSEFDRjtZQUdFLGNBQXNEO1lBQXRELHdFQUFzRDs7O2lGREkvQywyQkFBMkI7Y0FKdkMsU0FBUzsyQkFDRSxzQkFBc0I7Z0JBT3NELGdCQUFnQjtrQkFBckcsU0FBUzttQkFBQyxxQ0FBcUMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNKLHNCQUFzQjtrQkFBckcsU0FBUzttQkFBQywrQkFBK0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUUvQyxnQkFBZ0I7a0JBQTlDLEtBQUs7bUJBQUMsc0JBQXNCO1lBRVIsUUFBUTtrQkFBNUIsS0FBSzttQkFBQyxZQUFZO1lBRUEsWUFBWTtrQkFBOUIsTUFBTTttQkFBQyxTQUFTOztrRkFYTiwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQb0FjY29yZGlvbkxpdGVyYWxzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wby1hY2NvcmRpb24tbGl0ZXJhbHMuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tYWNjb3JkaW9uLW1hbmFnZXInLFxuICB0ZW1wbGF0ZVVybDogJ3BvLWFjY29yZGlvbi1tYW5hZ2VyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQb0FjY29yZGlvbk1hbmFnZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBsYWJlbFZhbHVlOiBzdHJpbmcgPSAnJztcbiAgY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIEBWaWV3Q2hpbGQoJ2FjY29yZGlvbkhlYWRlckJ1dHRvbk1hbmFnZXJFbGVtZW50JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgYWNjb3JkaW9uRWxlbWVudDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnYWNjb3JkaW9uSGVhZGVyTWFuYWdlckVsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBhY2NvcmRpb25IZWFkZXJFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgncC1leHBhbmRlZC1hbGwtaXRlbXMnKSBleHBhbmRlZEFsbEl0ZW1zOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdwLWxpdGVyYWxzJykgbGl0ZXJhbHM6IFBvQWNjb3JkaW9uTGl0ZXJhbHM7XG5cbiAgQE91dHB1dCgncC1jbGljaycpIGNsaWNrTWFuYWdlciA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5sYWJlbFZhbHVlID0gY2hhbmdlcy5leHBhbmRlZEFsbEl0ZW1zLmN1cnJlbnRWYWx1ZVxuICAgICAgPyB0aGlzLmxpdGVyYWxzLmNsb3NlQWxsSXRlbXNcbiAgICAgIDogdGhpcy5saXRlcmFscy5leHBhbmRBbGxJdGVtcztcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG9uQ2xpY2soKSB7XG4gICAgdGhpcy5jbGlja01hbmFnZXIuZW1pdCgpO1xuICB9XG5cbiAgZ2V0VG9vbHRpcCgpIHtcbiAgICBjb25zdCB3aWR0aENvbnRhaW5lciA9IHRoaXMuYWNjb3JkaW9uRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC0gNjk7XG4gICAgY29uc3Qgd2lkdGhIZWFkZXJFbGVtZW50ID0gdGhpcy5hY2NvcmRpb25IZWFkZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG5cbiAgICBpZiAod2lkdGhIZWFkZXJFbGVtZW50ID49IHdpZHRoQ29udGFpbmVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5sYWJlbFZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBvLWFjY29yZGlvbi1tYW5hZ2VyLWhlYWRlclwiPlxuICA8YnV0dG9uXG4gICAgI2FjY29yZGlvbkhlYWRlckJ1dHRvbk1hbmFnZXJFbGVtZW50XG4gICAgY2xhc3M9XCJwby1hY2NvcmRpb24tbWFuYWdlci1idXR0b24gcG8tY2xpY2thYmxlXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAoY2xpY2spPVwib25DbGljaygpXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImV4cGFuZGVkQWxsSXRlbXNcIlxuICAgIFtwLXRvb2x0aXBdPVwiZ2V0VG9vbHRpcCgpXCJcbiAgPlxuICAgIDxkaXYgI2FjY29yZGlvbkhlYWRlck1hbmFnZXJFbGVtZW50IGNsYXNzPVwicG8tdGV4dC1lbGxpcHNpcyBwby1hY2NvcmRpb24tbWFuYWdlci1idXR0b24tY29udGVudFwiPlxuICAgICAge3sgZXhwYW5kZWRBbGxJdGVtcyA/IGxpdGVyYWxzLmNsb3NlQWxsSXRlbXMgOiBsaXRlcmFscy5leHBhbmRBbGxJdGVtcyB9fVxuICAgIDwvZGl2PlxuICAgIDxwby1pY29uXG4gICAgICBwLWljb249XCJJQ09OX0xBU1RfUEFHRVwiXG4gICAgICBbbmdDbGFzc109XCJleHBhbmRlZEFsbEl0ZW1zID8gJ2ljb24tZG93bicgOiAnaWNvbi11cCdcIlxuICAgICAgY2xhc3M9XCJwby1pY29uIHBvLWFjY29yZGlvbi1tYW5hZ2VyLWljb25cIlxuICAgID5cbiAgICA8L3BvLWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -357,8 +357,8 @@ export class PoDynamicFormFieldsComponent extends PoDynamicFormFieldsBaseCompone
357
357
  if (visibleField.optionsService) {
358
358
  this.objectValue.emit(objectValue);
359
359
  }
360
- // verifica se o formulario esta touched para não disparar o validate ao carregar a tela.
361
- if ((this.form.touched || isBooleanType) && isChangedValueField) {
360
+ // verifica se o formulario esta dirty para não disparar o validate ao carregar a tela.
361
+ if ((this.form.dirty || isBooleanType) && isChangedValueField) {
362
362
  const { changedField, changedFieldIndex } = this.getField(property);
363
363
  if (changedField.validate) {
364
364
  await this.validateField(changedField, changedFieldIndex, visibleField);
@@ -577,4 +577,4 @@ export class PoDynamicFormFieldsComponent extends PoDynamicFormFieldsBaseCompone
577
577
  args: ['component']
578
578
  }] }); })();
579
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 }); })();
580
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWZpZWxkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZHluYW1pYy9wby1keW5hbWljLWZvcm0vcG8tZHluYW1pYy1mb3JtLWZpZWxkcy9wby1keW5hbWljLWZvcm0tZmllbGRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0tZmllbGRzL3BvLWR5bmFtaWMtZm9ybS1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFxQixTQUFTLEVBQXVDLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJMUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDbEgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDTnpGLHdCQUtnQjs7O0lBTmxCLDhCQUF5RztJQUN2RyxxR0FLQztJQUNILGlCQUFNOzs7OztJQVBjLGtEQUFrQztJQUVqRCxjQUVRO0lBQUEsQUFGUiw4RkFFUSw2SEFFYjs7O0lBS0ksaUNBQW9HOzs7SUFBeEMsMENBQXlCOzs7O0lBRXJGLDRDQTJCQztJQXZCQywyYUFBbUM7SUFxQm5DLDRSQUFZLDhCQUFvQixLQUFDO0lBR25DLGlCQUFnQjs7OztJQXpCZCx3Q0FBdUI7SUFDdkIsK0RBQW1DO0lBc0JuQyxBQUZBLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSxBQURB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eEIsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1lBQ0osQ0FBQztZQUNELG9GQUFvRjtZQUNwRixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQy9ELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUMxQixPQUFPO1lBQ1QsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO3NGQXRTVSw0QkFBNEI7NkRBQTVCLDRCQUE0Qjs7Ozs7OENBRjVCLENBQUMsOEJBQThCLENBQUMsRUFENUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUM7WUM0YnJFLEFBdGNBLEFBVEEsNkVBQXlHLGlIQVN0RSxpSEFzY1M7O1lBL2NZLHdFQUErQzs7O2lGRHNCMUYsNEJBQTRCO2NBTnhDLFNBQVM7MkJBQ0Usd0JBQXdCLGlCQUVuQixDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxhQUN4RCxDQUFDLDhCQUE4QixDQUFDO2dKQUdoQixVQUFVO2tCQUFwQyxZQUFZO21CQUFDLFdBQVc7O2tGQURkLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRpdGxlQ2FzZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25DaGFuZ2VzLCBRdWVyeUxpc3QsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBQb0R5bmFtaWNGb3JtRmllbGQgfSBmcm9tICcuLi9wby1keW5hbWljLWZvcm0tZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1GaWVsZFZhbGlkYXRpb24gfSBmcm9tICcuLi9wby1keW5hbWljLWZvcm0tdmFsaWRhdGlvbi9wby1keW5hbWljLWZvcm0tZmllbGQtdmFsaWRhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9EeW5hbWljRm9ybVZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vcG8tZHluYW1pYy1mb3JtLXZhbGlkYXRpb24vcG8tZHluYW1pYy1mb3JtLXZhbGlkYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBQb0R5bmFtaWNGb3JtRmllbGRzQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tZHluYW1pYy1mb3JtLWZpZWxkcy1iYXNlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRvY3NQcml2YXRlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogQ29tcG9uZW50ZSBkZSBjcmlhw6fDo28gZG9zIGNhbXBvcyBkaW7Dom1pY29zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1keW5hbWljLWZvcm0tZmllbGRzJyxcbiAgdGVtcGxhdGVVcmw6ICdwby1keW5hbWljLWZvcm0tZmllbGRzLmNvbXBvbmVudC5odG1sJyxcbiAgdmlld1Byb3ZpZGVyczogW3sgcHJvdmlkZTogQ29udHJvbENvbnRhaW5lciwgdXNlRXhpc3Rpbmc6IE5nRm9ybSB9XSxcbiAgcHJvdmlkZXJzOiBbUG9EeW5hbWljRm9ybVZhbGlkYXRpb25TZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBQb0R5bmFtaWNGb3JtRmllbGRzQ29tcG9uZW50IGV4dGVuZHMgUG9EeW5hbWljRm9ybUZpZWxkc0Jhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBAVmlld0NoaWxkcmVuKCdjb21wb25lbnQnKSBjb21wb25lbnRzOiBRdWVyeUxpc3Q8eyBuYW1lOiBzdHJpbmc7IGZvY3VzOiAoKSA9PiB2b2lkIH0+O1xuXG4gIHByaXZhdGUgcHJldmlvdXNWYWx1ZSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHRpdGxlQ2FzZVBpcGU6IFRpdGxlQ2FzZVBpcGUsXG4gICAgcHJpdmF0ZSB2YWxpZGF0aW9uU2VydmljZTogUG9EeW5hbWljRm9ybVZhbGlkYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlczogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBmb3JtOiBOZ0Zvcm1cbiAgKSB7XG4gICAgc3VwZXIodGl0bGVDYXNlUGlwZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuZmllbGRzKSB7XG4gICAgICB0aGlzLnZpc2libGVGaWVsZHMgPSB0aGlzLmdldFZpc2libGVGaWVsZHMoKTtcblxuICAgICAgaWYgKGNoYW5nZXMuZmllbGRzLnByZXZpb3VzVmFsdWUgJiYgdGhpcy5oYXNDb250YWluZXIoKSkge1xuICAgICAgICB0aGlzLmhhc0NoYW5nZUNvbnRhaW5lcihjaGFuZ2VzLmZpZWxkcy5wcmV2aW91c1ZhbHVlLCBjaGFuZ2VzLmZpZWxkcy5jdXJyZW50VmFsdWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWNoYW5nZXMuZmllbGRzLnByZXZpb3VzVmFsdWUgfHwgIWNoYW5nZXMuZmllbGRzLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZvY3VzKHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBmb3VuZENvbXBvbmVudCA9IHRoaXMuY29tcG9uZW50cy5maW5kKGNvbXBvbmVudCA9PiBjb21wb25lbnQubmFtZSA9PT0gcHJvcGVydHkpO1xuICAgIGlmIChmb3VuZENvbXBvbmVudCkge1xuICAgICAgZm91bmRDb21wb25lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBpc0Rpc2FibGVkKGZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmllbGQuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEZvcm07XG4gIH1cblxuICBhc3luYyBvbkNoYW5nZUZpZWxkKHZpc2libGVGaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkLCBvYmplY3RWYWx1ZT86IGFueSkge1xuICAgIGNvbnN0IHsgcHJvcGVydHkgfSA9IHZpc2libGVGaWVsZDtcbiAgICBjb25zdCBpc0Jvb2xlYW5UeXBlID0gdmlzaWJsZUZpZWxkLnR5cGUgPT09ICdib29sZWFuJztcbiAgICBjb25zdCBpc0NoYW5nZWRWYWx1ZUZpZWxkID0gdGhpcy5wcmV2aW91c1ZhbHVlW3Byb3BlcnR5XSAhPT0gdGhpcy52YWx1ZVtwcm9wZXJ0eV07XG5cbiAgICBpZiAodmlzaWJsZUZpZWxkLm9wdGlvbnNTZXJ2aWNlKSB7XG4gICAgICB0aGlzLm9iamVjdFZhbHVlLmVtaXQob2JqZWN0VmFsdWUpO1xuICAgIH1cblxuICAgIC8vIHZlcmlmaWNhIHNlIG8gZm9ybXVsYXJpbyBlc3RhIHRvdWNoZWQgcGFyYSBuw6NvIGRpc3BhcmFyIG8gdmFsaWRhdGUgYW8gY2FycmVnYXIgYSB0ZWxhLlxuICAgIGlmICgodGhpcy5mb3JtLnRvdWNoZWQgfHwgaXNCb29sZWFuVHlwZSkgJiYgaXNDaGFuZ2VkVmFsdWVGaWVsZCkge1xuICAgICAgY29uc3QgeyBjaGFuZ2VkRmllbGQsIGNoYW5nZWRGaWVsZEluZGV4IH0gPSB0aGlzLmdldEZpZWxkKHByb3BlcnR5KTtcblxuICAgICAgaWYgKGNoYW5nZWRGaWVsZC52YWxpZGF0ZSkge1xuICAgICAgICBhd2FpdCB0aGlzLnZhbGlkYXRlRmllbGQoY2hhbmdlZEZpZWxkLCBjaGFuZ2VkRmllbGRJbmRleCwgdmlzaWJsZUZpZWxkKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy50cmlnZ2VyVmFsaWRhdGlvbk9uRm9ybShjaGFuZ2VkRmllbGRJbmRleCk7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVQcmV2aW91c1ZhbHVlKCk7XG4gIH1cblxuICAvL2VtaXRlIG8gdmFsb3IgYSBjYWRhIGNhcmFjdGVyZSBkaWdpdGFkbyBubyBpbnB1dFxuICBvbkNoYW5nZUZpZWxkTW9kZWwodmlzaWJsZUZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGQpIHtcbiAgICBpZiAodGhpcy52YWxpZGF0ZU9uSW5wdXQpIHtcbiAgICAgIGNvbnN0IHsgcHJvcGVydHkgfSA9IHZpc2libGVGaWVsZDtcbiAgICAgIGNvbnN0IHsgY2hhbmdlZEZpZWxkSW5kZXggfSA9IHRoaXMuZ2V0RmllbGQocHJvcGVydHkpO1xuICAgICAgdGhpcy50cmlnZ2VyVmFsaWRhdGlvbk9uRm9ybShjaGFuZ2VkRmllbGRJbmRleCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlUHJldmlvdXNWYWx1ZSgpIHtcbiAgICB0aGlzLnByZXZpb3VzVmFsdWUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMudmFsdWUpKTtcbiAgfVxuXG4gIHRyYWNrQnkoaW5kZXgpIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5RmllbGRWYWxpZGF0aW9uKGluZGV4OiBudW1iZXIsIHZhbGlkYXRlZEZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGRWYWxpZGF0aW9uKSB7XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkc1tpbmRleF07XG5cbiAgICB0aGlzLmZpZWxkc1tpbmRleF0gPSB7IC4uLmZpZWxkLCAuLi52YWxpZGF0ZWRGaWVsZC5maWVsZCB9O1xuICAgIHRoaXMudXBkYXRlRmllbGRzKCk7XG5cbiAgICBpZiAodmFsaWRhdGVkRmllbGQuaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykpIHtcbiAgICAgIHRoaXMudmFsdWVbZmllbGQucHJvcGVydHldID0gdmFsaWRhdGVkRmllbGQudmFsdWU7XG4gICAgfVxuXG4gICAgdGhpcy5jaGFuZ2VzLmRldGVjdENoYW5nZXMoKTtcblxuICAgIGlmICh2YWxpZGF0ZWRGaWVsZC5mb2N1cykge1xuICAgICAgdGhpcy5mb2N1cyhmaWVsZC5wcm9wZXJ0eSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWVsZChwcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgY29uc3QgY2hhbmdlZEZpZWxkSW5kZXggPSB0aGlzLmZpZWxkcy5maW5kSW5kZXgoZmllbGQgPT4gZmllbGQucHJvcGVydHkgPT09IHByb3BlcnR5KTtcbiAgICBjb25zdCBjaGFuZ2VkRmllbGQgPSB0aGlzLmZpZWxkc1tjaGFuZ2VkRmllbGRJbmRleF07XG5cbiAgICByZXR1cm4geyBjaGFuZ2VkRmllbGQsIGNoYW5nZWRGaWVsZEluZGV4IH07XG4gIH1cblxuICBwcml2YXRlIHRyaWdnZXJWYWxpZGF0aW9uT25Gb3JtKGNoYW5nZWRGaWVsZEluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBpc1ZhbGlkYXRhYmxlRmllbGQgPSB0aGlzLnZhbGlkYXRlRmllbGRzPy5sZW5ndGhcbiAgICAgID8gdGhpcy52YWxpZGF0ZUZpZWxkc0NoZWNrZXIodGhpcy52YWxpZGF0ZUZpZWxkcywgdGhpcy5maWVsZHNbY2hhbmdlZEZpZWxkSW5kZXhdLnByb3BlcnR5KVxuICAgICAgOiB0cnVlO1xuICAgIGNvbnN0IGhhc1ZhbGlkYXRpb25Gb3JtID0gdGhpcy52YWxpZGF0ZSAmJiBpc1ZhbGlkYXRhYmxlRmllbGQgJiYgdGhpcy5mb3JtVmFsaWRhdGUub2JzZXJ2ZXJzLmxlbmd0aDtcblxuICAgIGlmIChoYXNWYWxpZGF0aW9uRm9ybSkge1xuICAgICAgY29uc3QgdXBkYXRlZEZpZWxkID0gdGhpcy5maWVsZHNbY2hhbmdlZEZpZWxkSW5kZXhdO1xuICAgICAgdGhpcy5mb3JtVmFsaWRhdGUuZW1pdCh1cGRhdGVkRmllbGQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRmllbGRzKCkge1xuICAgIHRoaXMuZmllbGRzQ2hhbmdlLmVtaXQodGhpcy5maWVsZHMpO1xuICAgIHRoaXMudmlzaWJsZUZpZWxkcyA9IHRoaXMuZ2V0VmlzaWJsZUZpZWxkcygpO1xuICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRmllbGRzQ2hlY2tlcih2YWxpZGF0ZUZpZWxkczogQXJyYXk8c3RyaW5nPiwgcHJvcGVydHlGaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkWydwcm9wZXJ0eSddKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbGlkYXRlRmllbGRzLnNvbWUodmFsaWRhdGVGaWVsZEl0ZW0gPT4gdmFsaWRhdGVGaWVsZEl0ZW0gPT09IHByb3BlcnR5RmllbGQpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB2YWxpZGF0ZUZpZWxkKGZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGQsIGZpZWxkSW5kZXg6IG51bWJlciwgdmlzaWJsZUZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGQpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWVbZmllbGQucHJvcGVydHldO1xuXG4gICAgY29uc3QgcHJldmlvdXNEaXNhYmxlZCA9IHZpc2libGVGaWVsZC5kaXNhYmxlZDtcbiAgICB2aXNpYmxlRmllbGQuZGlzYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuY2hhbmdlcy5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgdmFsaWRhdGVkRmllbGQgPSBhd2FpdCB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLnNlbmRGaWVsZENoYW5nZShmaWVsZCwgdmFsdWUpLnRvUHJvbWlzZSgpO1xuICAgICAgdGhpcy5hcHBseUZpZWxkVmFsaWRhdGlvbihmaWVsZEluZGV4LCB2YWxpZGF0ZWRGaWVsZCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB2aXNpYmxlRmllbGQuZGlzYWJsZWQgPSBwcmV2aW91c0Rpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFzQ2hhbmdlQ29udGFpbmVyKHByZXZpb3VzOiBBcnJheTxQb0R5bmFtaWNGb3JtRmllbGQ+LCBjdXJyZW50OiBBcnJheTxQb0R5bmFtaWNGb3JtRmllbGQ+KTogdm9pZCB7XG4gICAgY29uc3QgcHJldkFycmF5ID0gcHJldmlvdXMubWFwKChpdGVtLCBpbmRleCkgPT4gKHtcbiAgICAgIGNvbnRhaW5lcjogaXRlbS5jb250YWluZXIgfHwgbnVsbCxcbiAgICAgIHByb3BlcnR5OiBpdGVtLnByb3BlcnR5LFxuICAgICAgaW5kZXgsXG4gICAgICBvcmRlcjogaXRlbS5vcmRlcixcbiAgICAgIHZpc2libGU6IGl0ZW0udmlzaWJsZSA/PyB0cnVlXG4gICAgfSkpO1xuXG4gICAgY29uc3QgY3VyckFycmF5ID0gY3VycmVudC5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoe1xuICAgICAgY29udGFpbmVyOiBpdGVtLmNvbnRhaW5lciB8fCBudWxsLFxuICAgICAgcHJvcGVydHk6IGl0ZW0ucHJvcGVydHksXG4gICAgICBpbmRleCxcbiAgICAgIG9yZGVyOiBpdGVtLm9yZGVyLFxuICAgICAgdmlzaWJsZTogaXRlbS52aXNpYmxlID8/IHRydWVcbiAgICB9KSk7XG5cbiAgICBjb25zdCBwcmV2Q29udGFpbmVycyA9IHByZXZBcnJheS5maWx0ZXIoaXRlbSA9PiBpdGVtLmNvbnRhaW5lcik7XG4gICAgY29uc3QgY3VyckNvbnRhaW5lcnMgPSBjdXJyQXJyYXkuZmlsdGVyKGl0ZW0gPT4gaXRlbS5jb250YWluZXIpO1xuXG4gICAgY29uc3QgcHJldk9yZGVyID0gcHJldkFycmF5LmZpbHRlcihpdGVtID0+IGl0ZW0ub3JkZXIpO1xuICAgIGNvbnN0IGN1cnJPcmRlciA9IGN1cnJBcnJheS5maWx0ZXIoaXRlbSA9PiBpdGVtLm9yZGVyKTtcblxuICAgIGNvbnN0IHByZXZWaXNpYmxlVHJ1ZSA9IHByZXZBcnJheS5maWx0ZXIoaXRlbSA9PiBpdGVtLnZpc2libGUgPT09IHRydWUpO1xuICAgIGNvbnN0IGN1cnJWaXNpYmxlVHJ1ZSA9IGN1cnJBcnJheS5maWx0ZXIoaXRlbSA9PiBpdGVtLnZpc2libGUgPT09IHRydWUpO1xuXG4gICAgY29uc3QgcHJldlZpc2libGVGYWxzZSA9IHByZXZBcnJheS5maWx0ZXIoaXRlbSA9PiAhaXRlbS52aXNpYmxlKTtcbiAgICBjb25zdCBjdXJyVmlzaWJsZUZhbHNlID0gY3VyckFycmF5LmZpbHRlcihpdGVtID0+ICFpdGVtLnZpc2libGUpO1xuXG4gICAgLy8gVmVyaWZpY2EgbXVkYW7Dp2EgbmEgcXVhbnRpZGFkZSBkZSBjb250YWluZXJzXG4gICAgaWYgKHByZXZDb250YWluZXJzLmxlbmd0aCAhPT0gY3VyckNvbnRhaW5lcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFZlcmlmaWNhIG11ZGFuw6dhIG5hIHF1YW50aWRhZGUgZGUgb3JkZXJcbiAgICBpZiAocHJldk9yZGVyLmxlbmd0aCAhPT0gY3Vyck9yZGVyLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBWZXJpZmljYSBtdWRhbsOnYSBuYSBxdWFudGlkYWRlIGRlIHZpc2libGVcbiAgICBpZiAocHJldlZpc2libGVUcnVlLmxlbmd0aCAhPT0gY3VyclZpc2libGVUcnVlLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBWZXJpZmljYSBtdWRhbsOnYSBuYSBxdWFudGlkYWRlIGRlIHZpc2libGVcbiAgICBpZiAocHJldlZpc2libGVGYWxzZS5sZW5ndGggIT09IGN1cnJWaXNpYmxlRmFsc2UubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChjdXJyQ29udGFpbmVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlc0NvbnRhaW5lcihwcmV2Q29udGFpbmVycywgY3VyckNvbnRhaW5lcnMsICdjb250YWluZXInKTtcbiAgICB9XG5cbiAgICBpZiAoY3Vyck9yZGVyLmxlbmd0aCkge1xuICAgICAgdGhpcy5oYW5kbGVDaGFuZ2VzQ29udGFpbmVyKHByZXZPcmRlciwgY3Vyck9yZGVyLCAnb3JkZXInKTtcbiAgICB9XG5cbiAgICBpZiAoY3VyclZpc2libGVUcnVlLmxlbmd0aCkge1xuICAgICAgdGhpcy5oYW5kbGVDaGFuZ2VzQ29udGFpbmVyKHByZXZWaXNpYmxlVHJ1ZSwgY3VyclZpc2libGVUcnVlLCAndmlzaWJsZScpO1xuICAgIH1cblxuICAgIGlmIChjdXJyVmlzaWJsZUZhbHNlLmxlbmd0aCkge1xuICAgICAgdGhpcy5oYW5kbGVDaGFuZ2VzQ29udGFpbmVyKHByZXZWaXNpYmxlRmFsc2UsIGN1cnJWaXNpYmxlRmFsc2UsICd2aXNpYmxlJyk7XG4gICAgfVxuXG4gICAgLy9hdHVhbGl6YSBjb250YWluZXIgc2VtIG11ZGFuw6dhIG5hIGVzdHJ1dHVyYSBkYSBpbnRlcmZhY2VcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmRpZmZPYmplY3RzQXJyYXkocHJldmlvdXMsIHRoaXMuZ2V0VmlzaWJsZUZpZWxkcygpKTtcbiAgICB0aGlzLmNvbnRhaW5lckZpZWxkcyA9IHRoaXMudXBkYXRlRmllbGRDb250YWluZXIocmVzdWx0LCB0aGlzLmNvbnRhaW5lckZpZWxkcyk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUZpZWxkQ29udGFpbmVyKGNoYW5nZXMsIGNvbnRhaW5lckZpZWxkcykge1xuICAgIGNvbnN0IG1hcGNoYW5nZXMgPSBuZXcgTWFwKGNoYW5nZXMubWFwKG9iaiA9PiBbb2JqLnByb3BlcnR5LCBvYmpdKSk7XG5cbiAgICBjb250YWluZXJGaWVsZHMuZm9yRWFjaChzdWJBcnJheSA9PiB7XG4gICAgICBzdWJBcnJheS5mb3JFYWNoKChzdWJJdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBpdGVtOiBhbnkgPSBtYXBjaGFuZ2VzLmdldChzdWJJdGVtLnByb3BlcnR5KTtcbiAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICBzdWJBcnJheVtpbmRleF0gPSB7IC4uLnN1Ykl0ZW0sIC4uLml0ZW0gfTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY29udGFpbmVyRmllbGRzO1xuICB9XG5cbiAgcHJpdmF0ZSBkaWZmT2JqZWN0c0FycmF5KG9sZEFycmF5LCBuZXdBcnJheSkge1xuICAgIGNvbnN0IGRpZmZlcmVuY2VzID0gW107XG5cbiAgICBuZXdBcnJheS5mb3JFYWNoKG5ld09iaiA9PiB7XG4gICAgICBjb25zdCBvbGRPYmogPSBvbGRBcnJheS5maW5kKG8gPT4gby5wcm9wZXJ0eSA9PT0gbmV3T2JqLnByb3BlcnR5KTtcblxuICAgICAgaWYgKCFvbGRPYmopIHtcbiAgICAgICAgLy8gU2UgbyBvYmpldG8gw6kgbm92bywgYWRpY2lvbmEgdG9kbyBvIG9iamV0byBjb20gYSBwcm9wcmllZGFkZSBcInByb3BlcnR5XCJcbiAgICAgICAgZGlmZmVyZW5jZXMucHVzaCh7IC4uLm5ld09iaiB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFZlcmlmaWNhciBzZSBow6EgZGlmZXJlbsOnYXMgbmFzIHByb3ByaWVkYWRlc1xuICAgICAgICBjb25zdCBkaWZmID0geyBwcm9wZXJ0eTogbmV3T2JqLnByb3BlcnR5IH07XG4gICAgICAgIGxldCBoYXNEaWZmZXJlbmNlcyA9IGZhbHNlO1xuXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIG5ld09iaikge1xuICAgICAgICAgIGlmIChuZXdPYmpba2V5XSAhPT0gb2xkT2JqW2tleV0pIHtcbiAgICAgICAgICAgIGRpZmZba2V5XSA9IG5ld09ialtrZXldO1xuICAgICAgICAgICAgaGFzRGlmZmVyZW5jZXMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChoYXNEaWZmZXJlbmNlcykge1xuICAgICAgICAgIGRpZmZlcmVuY2VzLnB1c2goZGlmZik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vcmV0b3JuYSBtdWRhbsOnYXMgbm9zIGZpZWxkcyBwYXJhIGF0dWFsaXphw6fDo28gZG8gY29udGFpbmVyRmllbGRzXG4gICAgcmV0dXJuIGRpZmZlcmVuY2VzO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNDb250YWluZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZUZpZWxkcyAmJiB0aGlzLnZpc2libGVGaWVsZHMuc29tZShmaWVsZCA9PiBmaWVsZC5jb250YWluZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDaGFuZ2VzQ29udGFpbmVyKHByZXZDb250YWluZXJzLCBjdXJyQ29udGFpbmVycywga2V5KSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcmV2Q29udGFpbmVycy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgcHJldiA9IHByZXZDb250YWluZXJzW2ldO1xuICAgICAgY29uc3QgY3VyciA9IGN1cnJDb250YWluZXJzW2ldO1xuXG4gICAgICAvL1ZlcmlmaWNhIHNlIGNvbnRhaW5lciBtdWRvdSBkZSBwb3Npw6fDo29cbiAgICAgIGlmIChwcmV2W2tleV0gPT09IGN1cnJba2V5XSAmJiBwcmV2LmluZGV4ICE9PSBjdXJyLmluZGV4KSB7XG4gICAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vVmVyaWZpY2Egc2UgZm9pIGFwZW5hcyBtdWRhbsOnYSBkYSBzdHJpbmcgZW0gY2FzbyBkbyBjb250YWluZXIgb3UgdmFsb3Igbm8gb3JkZXJcbiAgICAgIGlmIChwcmV2W2tleV0gIT09IGN1cnJba2V5XSAmJiBwcmV2LmluZGV4ID09PSBjdXJyLmluZGV4KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdvcmRlcicpIHtcbiAgICAgICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRhaW5lckZpZWxkcy5mb3JFYWNoKHN1Ykl0ZW0gPT5cbiAgICAgICAgICBzdWJJdGVtLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5wcm9wZXJ0eSA9PT0gY3Vyci5wcm9wZXJ0eSkge1xuICAgICAgICAgICAgICBpdGVtW2tleV0gPSBjdXJyW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIC8vdmVyaWZpY2Egc2UgbWFudGV2ZSBvIG1lc21vIG7Dum1lcm8gZGUgY29udGFpbmVyLCBtYXMgYWx0ZXJvdSBwcm9wZXJ0eSBkbyBjb250YWluZXJcbiAgICAgIGlmIChwcmV2W2tleV0gIT09IGN1cnJba2V5XSAmJiBwcmV2LnByb3BlcnR5ICE9PSBjdXJyLnByb3BlcnR5KSB7XG4gICAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwby1yb3dcIiBbY2xhc3MucG8tZHluYW1pY109XCJoYXNDb250YWluZXJzXCIgKm5nSWY9XCJ2aXNpYmxlRmllbGRzICYmIHZpc2libGVGaWVsZHMubGVuZ3RoID4gMFwiPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgIGhhc0NvbnRhaW5lcnMgPyBwb0NvbnRlbnRDb250YWluZXIgOiBwb0NvbnRlbnQ7XG4gICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogaGFzQ29udGFpbmVycyA/IGNvbnRhaW5lckZpZWxkcyA6IHZpc2libGVGaWVsZHMgfVxuICAgIFwiXG4gID48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3BvQ29udGVudCBsZXQtZmllbGRzPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZHM7IHRyYWNrQnk6IHRyYWNrQnlcIj5cbiAgICA8cG8tZGl2aWRlciAqbmdJZj1cImZpZWxkPy5kaXZpZGVyPy50cmltKClcIiBjbGFzcz1cInBvLXNtLTEyXCIgW3AtbGFiZWxdPVwiZmllbGQuZGl2aWRlclwiPiA8L3BvLWRpdmlkZXI+XG5cbiAgICA8cG8tZGF0ZXBpY2tlclxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2RhdGVwaWNrZXInKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1lcnJvci1wYXR0ZXJuXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1lcnJvci1saW1pdF09XCJmaWVsZC5lcnJvckxpbWl0XCJcbiAgICAgIFtwLWVycm9yLWFzeW5jXT1cImZpZWxkLmVycm9yQXN5bmNGdW5jdGlvblwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWZvcm1hdF09XCJmaWVsZC5mb3JtYXRcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWlzby1mb3JtYXRdPVwiZmllbGQuaXNvRm9ybWF0XCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxvY2FsZV09XCJmaWVsZC5sb2NhbGVcIlxuICAgICAgW3AtbWF4LWRhdGVdPVwiZmllbGQubWF4VmFsdWVcIlxuICAgICAgW3AtbWluLWRhdGVdPVwiZmllbGQubWluVmFsdWVcIlxuICAgICAgW3Atbm8tYXV0b2NvbXBsZXRlXT1cImZpZWxkLm5vQXV0b2NvbXBsZXRlXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXJlcXVpcmVkLWZpZWxkLWVycm9yLW1lc3NhZ2VdPVwiZmllbGQucmVxdWlyZWRGaWVsZEVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLWRhdGVwaWNrZXI+XG5cbiAgICA8cG8tZGF0ZXBpY2tlci1yYW5nZVxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2RhdGVwaWNrZXJyYW5nZScpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxpdGVyYWxzXT1cImZpZWxkLmxpdGVyYWxzXCJcbiAgICAgIFtwLW1heC1kYXRlXT1cImZpZWxkLm1heFZhbHVlXCJcbiAgICAgIFtwLW1pbi1kYXRlXT1cImZpZWxkLm1pblZhbHVlXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1maWVsZC1lcnJvci1tZXNzYWdlXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1lcnJvci1saW1pdF09XCJmaWVsZC5lcnJvckxpbWl0XCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgPlxuICAgIDwvcG8tZGF0ZXBpY2tlci1yYW5nZT5cblxuICAgIDxwby1pbnB1dFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2lucHV0JylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZXJyb3ItcGF0dGVybl09XCJmaWVsZC5lcnJvck1lc3NhZ2VcIlxuICAgICAgW3AtZXJyb3ItbGltaXRdPVwiZmllbGQuZXJyb3JMaW1pdFwiXG4gICAgICBbcC1lcnJvci1hc3luYy1wcm9wZXJ0aWVzXT1cImZpZWxkLmVycm9yQXN5bmNQcm9wZXJ0aWVzXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW1hc2stZm9ybWF0LW1vZGVsXT1cImZpZWxkLm1hc2tGb3JtYXRNb2RlbFwiXG4gICAgICBbcC1tYXNrXT1cImZpZWxkLm1hc2tcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1wYXR0ZXJuXT1cImZpZWxkLnBhdHRlcm5cIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3AtcmVxdWlyZWQtZmllbGQtZXJyb3ItbWVzc2FnZV09XCJmaWVsZC5yZXF1aXJlZEZpZWxkRXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICAocC1jaGFuZ2UtbW9kZWwpPVwib25DaGFuZ2VGaWVsZE1vZGVsKGZpZWxkKVwiXG4gICAgICBbcC1pY29uXT1cImZpZWxkLmljb25cIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgID5cbiAgICA8L3BvLWlucHV0PlxuXG4gICAgPHBvLW51bWJlclxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ251bWJlcicpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWVycm9yLWxpbWl0XT1cImZpZWxkLmVycm9yTGltaXRcIlxuICAgICAgW3AtZXJyb3ItYXN5bmMtcHJvcGVydGllc109XCJmaWVsZC5lcnJvckFzeW5jUHJvcGVydGllc1wiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1taW5dPVwiZmllbGQubWluVmFsdWVcIlxuICAgICAgW3AtbWF4XT1cImZpZWxkLm1heFZhbHVlXCJcbiAgICAgIFtwLW1heGxlbmd0aF09XCJmaWVsZC5tYXhMZW5ndGhcIlxuICAgICAgW3AtbWlubGVuZ3RoXT1cImZpZWxkLm1pbkxlbmd0aFwiXG4gICAgICBbcC1uby1hdXRvY29tcGxldGVdPVwiZmllbGQubm9BdXRvY29tcGxldGVcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atc3RlcF09XCJmaWVsZC5zdGVwXCJcbiAgICAgIFtwLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXJlcXVpcmVkLWZpZWxkLWVycm9yLW1lc3NhZ2VdPVwiZmllbGQucmVxdWlyZWRGaWVsZEVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtaWNvbl09XCJmaWVsZC5pY29uXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgPC9wby1udW1iZXI+XG5cbiAgICA8cG8tZGVjaW1hbFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2RlY2ltYWwnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1lcnJvci1wYXR0ZXJuXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1lcnJvci1saW1pdF09XCJmaWVsZC5lcnJvckxpbWl0XCJcbiAgICAgIFtwLWVycm9yLWFzeW5jLXByb3BlcnRpZXNdPVwiZmllbGQuZXJyb3JBc3luY1Byb3BlcnRpZXNcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZGVjaW1hbHMtbGVuZ3RoXT1cImZpZWxkLmRlY2ltYWxzTGVuZ3RoXCJcbiAgICAgIFtwLXRob3VzYW5kLW1heGxlbmd0aF09XCJmaWVsZC50aG91c2FuZE1heGxlbmd0aFwiXG4gICAgICBbcC1pY29uXT1cImZpZWxkLmljb25cIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbG9jYWxlXT1cImZpZWxkLmxvY2FsZVwiXG4gICAgICBbcC1taW5dPVwiZmllbGQubWluVmFsdWVcIlxuICAgICAgW3AtbWF4XT1cImZpZWxkLm1heFZhbHVlXCJcbiAgICAgIFtwLW1heGxlbmd0aF09XCJmaWVsZC5tYXhMZW5ndGhcIlxuICAgICAgW3AtbWlubGVuZ3RoXT1cImZpZWxkLm1pbkxlbmd0aFwiXG4gICAgICBbcC1uby1hdXRvY29tcGxldGVdPVwiZmllbGQubm9BdXRvY29tcGxldGVcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3AtcmVxdWlyZWQtZmllbGQtZXJyb3ItbWVzc2FnZV09XCJmaWVsZC5yZXF1aXJlZEZpZWxkRXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICAocC1jaGFuZ2UtbW9kZWwpPVwib25DaGFuZ2VGaWVsZE1vZGVsKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgPlxuICAgIDwvcG8tZGVjaW1hbD5cblxuICAgIDxwby1zZWxlY3RcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdzZWxlY3QnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1maWVsZC1sYWJlbF09XCJmaWVsZC5maWVsZExhYmVsXCJcbiAgICAgIFtwLWZpZWxkLXZhbHVlXT1cImZpZWxkLmZpZWxkVmFsdWVcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLW9wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1maWVsZC1lcnJvci1tZXNzYWdlXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1lcnJvci1saW1pdF09XCJmaWVsZC5lcnJvckxpbWl0XCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgPlxuICAgIDwvcG8tc2VsZWN0PlxuXG4gICAgPHBvLXJhZGlvLWdyb3VwXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAncmFkaW9Hcm91cCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNvbHVtbnNdPVwiZmllbGQuY29sdW1ucyB8fCAzXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLW9wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1maWVsZC1lcnJvci1tZXNzYWdlXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1lcnJvci1saW1pdF09XCJmaWVsZC5lcnJvckxpbWl0XCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgPlxuICAgIDwvcG8tcmFkaW8tZ3JvdXA+XG5cbiAgICA8cG8tc3dpdGNoXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnc3dpdGNoJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZm9ybWF0LW1vZGVsXT1cImZpZWxkLmZvcm1hdE1vZGVsXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1sYWJlbC1vZmZdPVwiZmllbGQuYm9vbGVhbkZhbHNlXCJcbiAgICAgIFtwLWxhYmVsLW9uXT1cImZpZWxkLmJvb2xlYW5UcnVlXCJcbiAgICAgIFtwLWxhYmVsLXBvc2l0aW9uXT1cImZpZWxkLmxhYmVsUG9zaXRpb25cIlxuICAgICAgW3AtaGlkZS1sYWJlbC1zdGF0dXNdPVwiZmllbGQuaGlkZUxhYmVsU3RhdHVzXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgPlxuICAgIDwvcG8tc3dpdGNoPlxuXG4gICAgPHBvLWNoZWNrYm94XG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnY2hlY2tib3gnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLXNpemVdPVwiZmllbGQuc2l6ZVwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgID5cbiAgICA8L3BvLWNoZWNrYm94PlxuXG4gICAgPHBvLWNvbWJvXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnY29tYm8nKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBwLWVtaXQtb2JqZWN0LXZhbHVlXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWZpZWxkLWxhYmVsXT1cImZpZWxkLmZpZWxkTGFiZWxcIlxuICAgICAgW3AtZmllbGQtdmFsdWVdPVwiZmllbGQuZmllbGRWYWx1ZVwiXG4gICAgICBbcC1maWx0ZXItcGFyYW1zXT1cImZpZWxkLnBhcmFtc1wiXG4gICAgICBbcC1maWx0ZXItc2VydmljZV09XCJmaWVsZC5vcHRpb25zU2VydmljZVwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtaW5maW5pdGUtc2Nyb2xsXT1cImZpZWxkLmluZmluaXRlU2Nyb2xsXCJcbiAgICAgIFtwLWluZmluaXRlLXNjcm9sbC1kaXN0YW5jZV09XCJmaWVsZC5pbmZpbml0ZVNjcm9sbERpc3RhbmNlIHx8IDEwMFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1saXRlcmFsc109XCJmaWVsZC5saXRlcmFsc1wiXG4gICAgICBbcC1vcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atc29ydF09XCJmaWVsZC5zb3J0XCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLWZpZWxkLWVycm9yLW1lc3NhZ2VdPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWVycm9yLWxpbWl0XT1cImZpZWxkLmVycm9yTGltaXRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQsICRldmVudClcIlxuICAgICAgW3AtaWNvbl09XCJmaWVsZC5pY29uXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtwLWZpbHRlci1taW5sZW5ndGhdPVwiZmllbGQuZmlsdGVyTWlubGVuZ3RoXCJcbiAgICAgIFtwLWZpbHRlci1tb2RlXT1cImZpZWxkLmZpbHRlck1vZGVcIlxuICAgICAgW3AtZGlzYWJsZWQtaW5pdC1maWx0ZXJdPVwiZmllbGQuZGlzYWJsZWRJbml0RmlsdGVyXCJcbiAgICAgIFtwLWRpc2FibGVkLXRhYi1maWx0ZXJdPVwiZmllbGQuZGlzYWJsZWRUYWJGaWx0ZXJcIlxuICAgICAgW3AtZGVib3VuY2UtdGltZV09XCJmaWVsZC5kZWJvdW5jZVRpbWVcIlxuICAgICAgW3AtY2hhbmdlLW9uLWVudGVyXT1cImZpZWxkLmNoYW5nZU9uRW50ZXJcIlxuICAgID5cbiAgICA8L3BvLWNvbWJvPlxuXG4gICAgPHBvLWxvb2t1cFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2xvb2t1cCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIHAtZmllbGQtbGFiZWw9XCJsYWJlbFwiXG4gICAgICBwLWZpZWxkLXZhbHVlPVwidmFsdWVcIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtY29sdW1uc109XCJmaWVsZC5jb2x1bW5zXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWZpZWxkLWxhYmVsXT1cImZpZWxkLmZpZWxkTGFiZWwgfHwgJ2xhYmVsJ1wiXG4gICAgICBbcC1maWVsZC12YWx1ZV09XCJmaWVsZC5maWVsZFZhbHVlIHx8ICd2YWx1ZSdcIlxuICAgICAgW3AtZmlsdGVyLXBhcmFtc109XCJmaWVsZC5wYXJhbXNcIlxuICAgICAgW3AtZmlsdGVyLXNlcnZpY2VdPVwiZmllbGQuc2VhcmNoU2VydmljZVwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWF1dG8taGVpZ2h0XT1cImZpZWxkLmF1dG9IZWlnaHRcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWZpZWxkLWZvcm1hdF09XCJmaWVsZC5mb3JtYXRcIlxuICAgICAgW3AtaW5maW5pdGUtc2Nyb2xsXT1cImZpZWxkLmluZmluaXRlU2Nyb2xsXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxpdGVyYWxzXT1cImZpZWxkLmxpdGVyYWxzXCJcbiAgICAgIFtwLW11bHRpcGxlXT1cImZpZWxkLm11bHRpcGxlXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1maWVsZC1lcnJvci1tZXNzYWdlXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1lcnJvci1saW1pdF09XCJmaWVsZC5lcnJvckxpbWl0XCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1hZHZhbmNlZC1maWx0ZXJzXT1cImZpZWxkLmFkdmFuY2VkRmlsdGVyc1wiXG4gICAgICAocC1jaGFuZ2UtdmlzaWJsZS1jb2x1bW5zKT1cImZpZWxkLmNoYW5nZVZpc2libGVDb2x1bW5zPy4oJGV2ZW50KVwiXG4gICAgICAocC1yZXN0b3JlLWNvbHVtbi1tYW5hZ2VyKT1cImZpZWxkLmNvbHVtblJlc3RvcmVNYW5hZ2VyPy4oJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvcG8tbG9va3VwPlxuXG4gICAgPHBvLWNoZWNrYm94LWdyb3VwXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnY2hlY2tib3hHcm91cCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNvbHVtbnNdPVwiZmllbGQuY29sdW1ucyB8fCAzXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLW9wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICBbcC1maWVsZC1lcnJvci1tZXNzYWdlXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1lcnJvci1saW1pdF09XCJmaWVsZC5lcnJvckxpbWl0XCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgPlxuICAgIDwvcG8tY2hlY2tib3gtZ3JvdXA+XG5cbiAgICA8cG8tbXVsdGlzZWxlY3RcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdtdWx0aXNlbGVjdCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtYXV0by1oZWlnaHRdPVwiZmllbGQuYXV0b0hlaWdodFwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbGl0ZXJhbHNdPVwiZmllbGQubGl0ZXJhbHNcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLWZpZWxkLWVycm9yLW1lc3NhZ2VdPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWVycm9yLWxpbWl0XT1cImZpZWxkLmVycm9yTGltaXRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtwLWZpZWxkLWxhYmVsXT1cImZpZWxkLmZpZWxkTGFiZWxcIlxuICAgICAgW3AtZmllbGQtdmFsdWVdPVwiZmllbGQuZmllbGRWYWx1ZVwiXG4gICAgICBbcC1maWx0ZXItc2VydmljZV09XCJmaWVsZC5vcHRpb25zU2VydmljZVwiXG4gICAgICBbcC1maWx0ZXItbW9kZV09XCJmaWVsZC5maWx0ZXJNb2RlXCJcbiAgICAgIFtwLWRlYm91bmNlLXRpbWVdPVwiZmllbGQuZGVib3VuY2VUaW1lXCJcbiAgICAgIFtwLXNvcnRdPVwiZmllbGQuc29ydFwiXG4gICAgICBbcC1wbGFjZWhvbGRlci1zZWFyY2hdPVwiZmllbGQucGxhY2Vob2xkZXJTZWFyY2hcIlxuICAgICAgW3AtaGlkZS1zZWFyY2hdPVwiZmllbGQuaGlkZVNlYXJjaFwiXG4gICAgICBbcC1oaWRlLXNlbGVjdC1hbGxdPVwiZmllbGQuaGlkZVNlbGVjdEFsbFwiXG4gICAgPlxuICAgIDwvcG8tbXVsdGlzZWxlY3Q+XG5cbiAgICA8cG8tdGV4dGFyZWFcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICd0ZXh0YXJlYScpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW1heGxlbmd0aF09XCJmaWVsZC5tYXhMZW5ndGhcIlxuICAgICAgW3AtbWlubGVuZ3RoXT1cImZpZWxkLm1pbkxlbmd0aFwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1maWVsZC1lcnJvci1tZXNzYWdlXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1lcnJvci1saW1pdF09XCJmaWVsZC5lcnJvckxpbWl0XCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIFtwLXJvd3NdPVwiZmllbGQucm93c1wiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLXRleHRhcmVhPlxuXG4gICAgPHBvLXBhc3N3b3JkXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAncGFzc3dvcmQnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1lcnJvci1wYXR0ZXJuXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1lcnJvci1saW1pdF09XCJmaWVsZC5lcnJvckxpbWl0XCJcbiAgICAgIFtwLWVycm9yLWFzeW5jLXByb3BlcnRpZXNdPVwiZmllbGQuZXJyb3JBc3luY1Byb3BlcnRpZXNcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtaGlkZS1wYXNzd29yZC1wZWVrXT1cImZpZWxkLmhpZGVQYXNzd29yZFBlZWtcIlxuICAgICAgW3AtaWNvbl09XCJmaWVsZC5pY29uXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW1heGxlbmd0aF09XCJmaWVsZC5tYXhMZW5ndGhcIlxuICAgICAgW3AtbWlubGVuZ3RoXT1cImZpZWxkLm1pbkxlbmd0aFwiXG4gICAgICBbcC1uby1hdXRvY29tcGxldGVdPVwiZmllbGQubm9BdXRvY29tcGxldGVcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcGF0dGVybl09XCJmaWVsZC5wYXR0ZXJuXCJcbiAgICAgIFtwLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXJlcXVpcmVkLWZpZWxkLWVycm9yLW1lc3NhZ2VdPVwiZmllbGQucmVxdWlyZWRGaWVsZEVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLXBhc3N3b3JkPlxuXG4gICAgPHBvLXVwbG9hZFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ3VwbG9hZCcpXCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWF1dG8tdXBsb2FkXT1cImZpZWxkLmF1dG9VcGxvYWRcIlxuICAgICAgW3AtZGlyZWN0b3J5XT1cImZpZWxkLmRpcmVjdG9yeVwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1kcmFnLWRyb3BdPVwiZmllbGQuZHJhZ0Ryb3BcIlxuICAgICAgW3AtZHJhZy1kcm9wLWhlaWdodF09XCJmaWVsZC5kcmFnRHJvcEhlaWdodFwiXG4gICAgICBbcC1yZXN0cmljdGlvbnNdPVwiZmllbGQucmVzdHJpY3Rpb25zXCJcbiAgICAgIFtwLWZvcm0tZmllbGRdPVwiZmllbGQuZm9ybUZpZWxkXCJcbiAgICAgIFtwLWhlYWRlcnNdPVwiZmllbGQuaGVhZGVyc1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtaGlkZS1yZXN0cmljdGlvbnMtaW5mb109XCJmaWVsZC5oaWRlUmVzdHJpY3Rpb25zSW5mb1wiXG4gICAgICBbcC1oaWRlLXNlbGVjdC1idXR0b25dPVwiZmllbGQuaGlkZVNlbGVjdEJ1dHRvblwiXG4gICAgICBbcC1oaWRlLXNlbmQtYnV0dG9uXT1cImZpZWxkLmhpZGVTZW5kQnV0dG9uXCJcbiAgICAgIFtwLW11bHRpcGxlXT1cImZpZWxkLm11bHRpcGxlXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxpdGVyYWxzXT1cImZpZWxkLmxpdGVyYWxzXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFtwLWN1c3RvbS1hY3Rpb25dPVwiZmllbGQuY3VzdG9tQWN0aW9uXCJcbiAgICAgIChwLWN1c3RvbS1hY3Rpb24tY2xpY2spPVwiZmllbGQuY3VzdG9tQWN0aW9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAocC1lcnJvcik9XCJmaWVsZC5vbkVycm9yKCRldmVudClcIlxuICAgICAgKHAtc3VjY2Vzcyk9XCJmaWVsZC5vblN1Y2Nlc3MoJGV2ZW50KVwiXG4gICAgICAocC11cGxvYWQpPVwiZmllbGQub25VcGxvYWQoJGV2ZW50KVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtdXJsXT1cImZpZWxkLnVybFwiXG4gICAgPlxuICAgIDwvcG8tdXBsb2FkPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcG9Db250ZW50Q29udGFpbmVyIGxldC1maWVsZHM+XG4gIDxwby1keW5hbWljLWNvbnRhaW5lciBbcC1maWVsZHNdPVwiZmllbGRzXCIgW3AtY29udGVudF09XCJwb0NvbnRlbnRcIj48L3BvLWR5bmFtaWMtY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
580
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWZpZWxkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZHluYW1pYy9wby1keW5hbWljLWZvcm0vcG8tZHluYW1pYy1mb3JtLWZpZWxkcy9wby1keW5hbWljLWZvcm0tZmllbGRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0tZmllbGRzL3BvLWR5bmFtaWMtZm9ybS1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFxQixTQUFTLEVBQXVDLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJMUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDbEgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDTnpGLHdCQUtnQjs7O0lBTmxCLDhCQUF5RztJQUN2RyxxR0FLQztJQUNILGlCQUFNOzs7OztJQVBjLGtEQUFrQztJQUVqRCxjQUVRO0lBQUEsQUFGUiw4RkFFUSw2SEFFYjs7O0lBS0ksaUNBQW9HOzs7SUFBeEMsMENBQXlCOzs7O0lBRXJGLDRDQTJCQztJQXZCQywyYUFBbUM7SUFxQm5DLDRSQUFZLDhCQUFvQixLQUFDO0lBR25DLGlCQUFnQjs7OztJQXpCZCx3Q0FBdUI7SUFDdkIsK0RBQW1DO0lBc0JuQyxBQUZBLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSxBQURB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eEIsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1lBQ0osQ0FBQztZQUNELG9GQUFvRjtZQUNwRixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQy9ELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUMxQixPQUFPO1lBQ1QsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO3NGQXRTVSw0QkFBNEI7NkRBQTVCLDRCQUE0Qjs7Ozs7OENBRjVCLENBQUMsOEJBQThCLENBQUMsRUFENUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUM7WUM0YnJFLEFBdGNBLEFBVEEsNkVBQXlHLGlIQVN0RSxpSEFzY1M7O1lBL2NZLHdFQUErQzs7O2lGRHNCMUYsNEJBQTRCO2NBTnhDLFNBQVM7MkJBQ0Usd0JBQXdCLGlCQUVuQixDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxhQUN4RCxDQUFDLDhCQUE4QixDQUFDO2dKQUdoQixVQUFVO2tCQUFwQyxZQUFZO21CQUFDLFdBQVc7O2tGQURkLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRpdGxlQ2FzZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25DaGFuZ2VzLCBRdWVyeUxpc3QsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBQb0R5bmFtaWNGb3JtRmllbGQgfSBmcm9tICcuLi9wby1keW5hbWljLWZvcm0tZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1GaWVsZFZhbGlkYXRpb24gfSBmcm9tICcuLi9wby1keW5hbWljLWZvcm0tdmFsaWRhdGlvbi9wby1keW5hbWljLWZvcm0tZmllbGQtdmFsaWRhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9EeW5hbWljRm9ybVZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vcG8tZHluYW1pYy1mb3JtLXZhbGlkYXRpb24vcG8tZHluYW1pYy1mb3JtLXZhbGlkYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBQb0R5bmFtaWNGb3JtRmllbGRzQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tZHluYW1pYy1mb3JtLWZpZWxkcy1iYXNlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRvY3NQcml2YXRlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogQ29tcG9uZW50ZSBkZSBjcmlhw6fDo28gZG9zIGNhbXBvcyBkaW7Dom1pY29zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1keW5hbWljLWZvcm0tZmllbGRzJyxcbiAgdGVtcGxhdGVVcmw6ICdwby1keW5hbWljLWZvcm0tZmllbGRzLmNvbXBvbmVudC5odG1sJyxcbiAgdmlld1Byb3ZpZGVyczogW3sgcHJvdmlkZTogQ29udHJvbENvbnRhaW5lciwgdXNlRXhpc3Rpbmc6IE5nRm9ybSB9XSxcbiAgcHJvdmlkZXJzOiBbUG9EeW5hbWljRm9ybVZhbGlkYXRpb25TZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBQb0R5bmFtaWNGb3JtRmllbGRzQ29tcG9uZW50IGV4dGVuZHMgUG9EeW5hbWljRm9ybUZpZWxkc0Jhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBAVmlld0NoaWxkcmVuKCdjb21wb25lbnQnKSBjb21wb25lbnRzOiBRdWVyeUxpc3Q8eyBuYW1lOiBzdHJpbmc7IGZvY3VzOiAoKSA9PiB2b2lkIH0+O1xuXG4gIHByaXZhdGUgcHJldmlvdXNWYWx1ZSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHRpdGxlQ2FzZVBpcGU6IFRpdGxlQ2FzZVBpcGUsXG4gICAgcHJpdmF0ZSB2YWxpZGF0aW9uU2VydmljZTogUG9EeW5hbWljRm9ybVZhbGlkYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlczogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBmb3JtOiBOZ0Zvcm1cbiAgKSB7XG4gICAgc3VwZXIodGl0bGVDYXNlUGlwZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuZmllbGRzKSB7XG4gICAgICB0aGlzLnZpc2libGVGaWVsZHMgPSB0aGlzLmdldFZpc2libGVGaWVsZHMoKTtcblxuICAgICAgaWYgKGNoYW5nZXMuZmllbGRzLnByZXZpb3VzVmFsdWUgJiYgdGhpcy5oYXNDb250YWluZXIoKSkge1xuICAgICAgICB0aGlzLmhhc0NoYW5nZUNvbnRhaW5lcihjaGFuZ2VzLmZpZWxkcy5wcmV2aW91c1ZhbHVlLCBjaGFuZ2VzLmZpZWxkcy5jdXJyZW50VmFsdWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWNoYW5nZXMuZmllbGRzLnByZXZpb3VzVmFsdWUgfHwgIWNoYW5nZXMuZmllbGRzLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZvY3VzKHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBmb3VuZENvbXBvbmVudCA9IHRoaXMuY29tcG9uZW50cy5maW5kKGNvbXBvbmVudCA9PiBjb21wb25lbnQubmFtZSA9PT0gcHJvcGVydHkpO1xuICAgIGlmIChmb3VuZENvbXBvbmVudCkge1xuICAgICAgZm91bmRDb21wb25lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBpc0Rpc2FibGVkKGZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmllbGQuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEZvcm07XG4gIH1cblxuICBhc3luYyBvbkNoYW5nZUZpZWxkKHZpc2libGVGaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkLCBvYmplY3RWYWx1ZT86IGFueSkge1xuICAgIGNvbnN0IHsgcHJvcGVydHkgfSA9IHZpc2libGVGaWVsZDtcbiAgICBjb25zdCBpc0Jvb2xlYW5UeXBlID0gdmlzaWJsZUZpZWxkLnR5cGUgPT09ICdib29sZWFuJztcbiAgICBjb25zdCBpc0NoYW5nZWRWYWx1ZUZpZWxkID0gdGhpcy5wcmV2aW91c1ZhbHVlW3Byb3BlcnR5XSAhPT0gdGhpcy52YWx1ZVtwcm9wZXJ0eV07XG5cbiAgICBpZiAodmlzaWJsZUZpZWxkLm9wdGlvbnNTZXJ2aWNlKSB7XG4gICAgICB0aGlzLm9iamVjdFZhbHVlLmVtaXQob2JqZWN0VmFsdWUpO1xuICAgIH1cblxuICAgIC8vIHZlcmlmaWNhIHNlIG8gZm9ybXVsYXJpbyBlc3RhIGRpcnR5IHBhcmEgbsOjbyBkaXNwYXJhciBvIHZhbGlkYXRlIGFvIGNhcnJlZ2FyIGEgdGVsYS5cbiAgICBpZiAoKHRoaXMuZm9ybS5kaXJ0eSB8fCBpc0Jvb2xlYW5UeXBlKSAmJiBpc0NoYW5nZWRWYWx1ZUZpZWxkKSB7XG4gICAgICBjb25zdCB7IGNoYW5nZWRGaWVsZCwgY2hhbmdlZEZpZWxkSW5kZXggfSA9IHRoaXMuZ2V0RmllbGQocHJvcGVydHkpO1xuXG4gICAgICBpZiAoY2hhbmdlZEZpZWxkLnZhbGlkYXRlKSB7XG4gICAgICAgIGF3YWl0IHRoaXMudmFsaWRhdGVGaWVsZChjaGFuZ2VkRmllbGQsIGNoYW5nZWRGaWVsZEluZGV4LCB2aXNpYmxlRmllbGQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnRyaWdnZXJWYWxpZGF0aW9uT25Gb3JtKGNoYW5nZWRGaWVsZEluZGV4KTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZVByZXZpb3VzVmFsdWUoKTtcbiAgfVxuXG4gIC8vZW1pdGUgbyB2YWxvciBhIGNhZGEgY2FyYWN0ZXJlIGRpZ2l0YWRvIG5vIGlucHV0XG4gIG9uQ2hhbmdlRmllbGRNb2RlbCh2aXNpYmxlRmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGlmICh0aGlzLnZhbGlkYXRlT25JbnB1dCkge1xuICAgICAgY29uc3QgeyBwcm9wZXJ0eSB9ID0gdmlzaWJsZUZpZWxkO1xuICAgICAgY29uc3QgeyBjaGFuZ2VkRmllbGRJbmRleCB9ID0gdGhpcy5nZXRGaWVsZChwcm9wZXJ0eSk7XG4gICAgICB0aGlzLnRyaWdnZXJWYWxpZGF0aW9uT25Gb3JtKGNoYW5nZWRGaWVsZEluZGV4KTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVQcmV2aW91c1ZhbHVlKCkge1xuICAgIHRoaXMucHJldmlvdXNWYWx1ZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy52YWx1ZSkpO1xuICB9XG5cbiAgdHJhY2tCeShpbmRleCkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlGaWVsZFZhbGlkYXRpb24oaW5kZXg6IG51bWJlciwgdmFsaWRhdGVkRmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZFZhbGlkYXRpb24pIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGRzW2luZGV4XTtcblxuICAgIHRoaXMuZmllbGRzW2luZGV4XSA9IHsgLi4uZmllbGQsIC4uLnZhbGlkYXRlZEZpZWxkLmZpZWxkIH07XG4gICAgdGhpcy51cGRhdGVGaWVsZHMoKTtcblxuICAgIGlmICh2YWxpZGF0ZWRGaWVsZC5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSkge1xuICAgICAgdGhpcy52YWx1ZVtmaWVsZC5wcm9wZXJ0eV0gPSB2YWxpZGF0ZWRGaWVsZC52YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZXMuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgaWYgKHZhbGlkYXRlZEZpZWxkLmZvY3VzKSB7XG4gICAgICB0aGlzLmZvY3VzKGZpZWxkLnByb3BlcnR5KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEZpZWxkKHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBjaGFuZ2VkRmllbGRJbmRleCA9IHRoaXMuZmllbGRzLmZpbmRJbmRleChmaWVsZCA9PiBmaWVsZC5wcm9wZXJ0eSA9PT0gcHJvcGVydHkpO1xuICAgIGNvbnN0IGNoYW5nZWRGaWVsZCA9IHRoaXMuZmllbGRzW2NoYW5nZWRGaWVsZEluZGV4XTtcblxuICAgIHJldHVybiB7IGNoYW5nZWRGaWVsZCwgY2hhbmdlZEZpZWxkSW5kZXggfTtcbiAgfVxuXG4gIHByaXZhdGUgdHJpZ2dlclZhbGlkYXRpb25PbkZvcm0oY2hhbmdlZEZpZWxkSW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGlzVmFsaWRhdGFibGVGaWVsZCA9IHRoaXMudmFsaWRhdGVGaWVsZHM/Lmxlbmd0aFxuICAgICAgPyB0aGlzLnZhbGlkYXRlRmllbGRzQ2hlY2tlcih0aGlzLnZhbGlkYXRlRmllbGRzLCB0aGlzLmZpZWxkc1tjaGFuZ2VkRmllbGRJbmRleF0ucHJvcGVydHkpXG4gICAgICA6IHRydWU7XG4gICAgY29uc3QgaGFzVmFsaWRhdGlvbkZvcm0gPSB0aGlzLnZhbGlkYXRlICYmIGlzVmFsaWRhdGFibGVGaWVsZCAmJiB0aGlzLmZvcm1WYWxpZGF0ZS5vYnNlcnZlcnMubGVuZ3RoO1xuXG4gICAgaWYgKGhhc1ZhbGlkYXRpb25Gb3JtKSB7XG4gICAgICBjb25zdCB1cGRhdGVkRmllbGQgPSB0aGlzLmZpZWxkc1tjaGFuZ2VkRmllbGRJbmRleF07XG4gICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5lbWl0KHVwZGF0ZWRGaWVsZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGaWVsZHMoKSB7XG4gICAgdGhpcy5maWVsZHNDaGFuZ2UuZW1pdCh0aGlzLmZpZWxkcyk7XG4gICAgdGhpcy52aXNpYmxlRmllbGRzID0gdGhpcy5nZXRWaXNpYmxlRmllbGRzKCk7XG4gICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGaWVsZHNDaGVja2VyKHZhbGlkYXRlRmllbGRzOiBBcnJheTxzdHJpbmc+LCBwcm9wZXJ0eUZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGRbJ3Byb3BlcnR5J10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsaWRhdGVGaWVsZHMuc29tZSh2YWxpZGF0ZUZpZWxkSXRlbSA9PiB2YWxpZGF0ZUZpZWxkSXRlbSA9PT0gcHJvcGVydHlGaWVsZCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHZhbGlkYXRlRmllbGQoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCwgZmllbGRJbmRleDogbnVtYmVyLCB2aXNpYmxlRmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZVtmaWVsZC5wcm9wZXJ0eV07XG5cbiAgICBjb25zdCBwcmV2aW91c0Rpc2FibGVkID0gdmlzaWJsZUZpZWxkLmRpc2FibGVkO1xuICAgIHZpc2libGVGaWVsZC5kaXNhYmxlZCA9IHRydWU7XG4gICAgdGhpcy5jaGFuZ2VzLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB2YWxpZGF0ZWRGaWVsZCA9IGF3YWl0IHRoaXMudmFsaWRhdGlvblNlcnZpY2Uuc2VuZEZpZWxkQ2hhbmdlKGZpZWxkLCB2YWx1ZSkudG9Qcm9taXNlKCk7XG4gICAgICB0aGlzLmFwcGx5RmllbGRWYWxpZGF0aW9uKGZpZWxkSW5kZXgsIHZhbGlkYXRlZEZpZWxkKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHZpc2libGVGaWVsZC5kaXNhYmxlZCA9IHByZXZpb3VzRGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYXNDaGFuZ2VDb250YWluZXIocHJldmlvdXM6IEFycmF5PFBvRHluYW1pY0Zvcm1GaWVsZD4sIGN1cnJlbnQ6IEFycmF5PFBvRHluYW1pY0Zvcm1GaWVsZD4pOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2QXJyYXkgPSBwcmV2aW91cy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoe1xuICAgICAgY29udGFpbmVyOiBpdGVtLmNvbnRhaW5lciB8fCBudWxsLFxuICAgICAgcHJvcGVydHk6IGl0ZW0ucHJvcGVydHksXG4gICAgICBpbmRleCxcbiAgICAgIG9yZGVyOiBpdGVtLm9yZGVyLFxuICAgICAgdmlzaWJsZTogaXRlbS52aXNpYmxlID8/IHRydWVcbiAgICB9KSk7XG5cbiAgICBjb25zdCBjdXJyQXJyYXkgPSBjdXJyZW50Lm1hcCgoaXRlbSwgaW5kZXgpID0+ICh7XG4gICAgICBjb250YWluZXI6IGl0ZW0uY29udGFpbmVyIHx8IG51bGwsXG4gICAgICBwcm9wZXJ0eTogaXRlbS5wcm9wZXJ0eSxcbiAgICAgIGluZGV4LFxuICAgICAgb3JkZXI6IGl0ZW0ub3JkZXIsXG4gICAgICB2aXNpYmxlOiBpdGVtLnZpc2libGUgPz8gdHJ1ZVxuICAgIH0pKTtcblxuICAgIGNvbnN0IHByZXZDb250YWluZXJzID0gcHJldkFycmF5LmZpbHRlcihpdGVtID0+IGl0ZW0uY29udGFpbmVyKTtcbiAgICBjb25zdCBjdXJyQ29udGFpbmVycyA9IGN1cnJBcnJheS5maWx0ZXIoaXRlbSA9PiBpdGVtLmNvbnRhaW5lcik7XG5cbiAgICBjb25zdCBwcmV2T3JkZXIgPSBwcmV2QXJyYXkuZmlsdGVyKGl0ZW0gPT4gaXRlbS5vcmRlcik7XG4gICAgY29uc3QgY3Vyck9yZGVyID0gY3VyckFycmF5LmZpbHRlcihpdGVtID0+IGl0ZW0ub3JkZXIpO1xuXG4gICAgY29uc3QgcHJldlZpc2libGVUcnVlID0gcHJldkFycmF5LmZpbHRlcihpdGVtID0+IGl0ZW0udmlzaWJsZSA9PT0gdHJ1ZSk7XG4gICAgY29uc3QgY3VyclZpc2libGVUcnVlID0gY3VyckFycmF5LmZpbHRlcihpdGVtID0+IGl0ZW0udmlzaWJsZSA9PT0gdHJ1ZSk7XG5cbiAgICBjb25zdCBwcmV2VmlzaWJsZUZhbHNlID0gcHJldkFycmF5LmZpbHRlcihpdGVtID0+ICFpdGVtLnZpc2libGUpO1xuICAgIGNvbnN0IGN1cnJWaXNpYmxlRmFsc2UgPSBjdXJyQXJyYXkuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0udmlzaWJsZSk7XG5cbiAgICAvLyBWZXJpZmljYSBtdWRhbsOnYSBuYSBxdWFudGlkYWRlIGRlIGNvbnRhaW5lcnNcbiAgICBpZiAocHJldkNvbnRhaW5lcnMubGVuZ3RoICE9PSBjdXJyQ29udGFpbmVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVmVyaWZpY2EgbXVkYW7Dp2EgbmEgcXVhbnRpZGFkZSBkZSBvcmRlclxuICAgIGlmIChwcmV2T3JkZXIubGVuZ3RoICE9PSBjdXJyT3JkZXIubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFZlcmlmaWNhIG11ZGFuw6dhIG5hIHF1YW50aWRhZGUgZGUgdmlzaWJsZVxuICAgIGlmIChwcmV2VmlzaWJsZVRydWUubGVuZ3RoICE9PSBjdXJyVmlzaWJsZVRydWUubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFZlcmlmaWNhIG11ZGFuw6dhIG5hIHF1YW50aWRhZGUgZGUgdmlzaWJsZVxuICAgIGlmIChwcmV2VmlzaWJsZUZhbHNlLmxlbmd0aCAhPT0gY3VyclZpc2libGVGYWxzZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGN1cnJDb250YWluZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5oYW5kbGVDaGFuZ2VzQ29udGFpbmVyKHByZXZDb250YWluZXJzLCBjdXJyQ29udGFpbmVycywgJ2NvbnRhaW5lcicpO1xuICAgIH1cblxuICAgIGlmIChjdXJyT3JkZXIubGVuZ3RoKSB7XG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZXNDb250YWluZXIocHJldk9yZGVyLCBjdXJyT3JkZXIsICdvcmRlcicpO1xuICAgIH1cblxuICAgIGlmIChjdXJyVmlzaWJsZVRydWUubGVuZ3RoKSB7XG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZXNDb250YWluZXIocHJldlZpc2libGVUcnVlLCBjdXJyVmlzaWJsZVRydWUsICd2aXNpYmxlJyk7XG4gICAgfVxuXG4gICAgaWYgKGN1cnJWaXNpYmxlRmFsc2UubGVuZ3RoKSB7XG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZXNDb250YWluZXIocHJldlZpc2libGVGYWxzZSwgY3VyclZpc2libGVGYWxzZSwgJ3Zpc2libGUnKTtcbiAgICB9XG5cbiAgICAvL2F0dWFsaXphIGNvbnRhaW5lciBzZW0gbXVkYW7Dp2EgbmEgZXN0cnV0dXJhIGRhIGludGVyZmFjZVxuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZGlmZk9iamVjdHNBcnJheShwcmV2aW91cywgdGhpcy5nZXRWaXNpYmxlRmllbGRzKCkpO1xuICAgIHRoaXMuY29udGFpbmVyRmllbGRzID0gdGhpcy51cGRhdGVGaWVsZENvbnRhaW5lcihyZXN1bHQsIHRoaXMuY29udGFpbmVyRmllbGRzKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRmllbGRDb250YWluZXIoY2hhbmdlcywgY29udGFpbmVyRmllbGRzKSB7XG4gICAgY29uc3QgbWFwY2hhbmdlcyA9IG5ldyBNYXAoY2hhbmdlcy5tYXAob2JqID0+IFtvYmoucHJvcGVydHksIG9ial0pKTtcblxuICAgIGNvbnRhaW5lckZpZWxkcy5mb3JFYWNoKHN1YkFycmF5ID0+IHtcbiAgICAgIHN1YkFycmF5LmZvckVhY2goKHN1Ykl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW06IGFueSA9IG1hcGNoYW5nZXMuZ2V0KHN1Ykl0ZW0ucHJvcGVydHkpO1xuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgIHN1YkFycmF5W2luZGV4XSA9IHsgLi4uc3ViSXRlbSwgLi4uaXRlbSB9O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBjb250YWluZXJGaWVsZHM7XG4gIH1cblxuICBwcml2YXRlIGRpZmZPYmplY3RzQXJyYXkob2xkQXJyYXksIG5ld0FycmF5KSB7XG4gICAgY29uc3QgZGlmZmVyZW5jZXMgPSBbXTtcblxuICAgIG5ld0FycmF5LmZvckVhY2gobmV3T2JqID0+IHtcbiAgICAgIGNvbnN0IG9sZE9iaiA9IG9sZEFycmF5LmZpbmQobyA9PiBvLnByb3BlcnR5ID09PSBuZXdPYmoucHJvcGVydHkpO1xuXG4gICAgICBpZiAoIW9sZE9iaikge1xuICAgICAgICAvLyBTZSBvIG9iamV0byDDqSBub3ZvLCBhZGljaW9uYSB0b2RvIG8gb2JqZXRvIGNvbSBhIHByb3ByaWVkYWRlIFwicHJvcGVydHlcIlxuICAgICAgICBkaWZmZXJlbmNlcy5wdXNoKHsgLi4ubmV3T2JqIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVmVyaWZpY2FyIHNlIGjDoSBkaWZlcmVuw6dhcyBuYXMgcHJvcHJpZWRhZGVzXG4gICAgICAgIGNvbnN0IGRpZmYgPSB7IHByb3BlcnR5OiBuZXdPYmoucHJvcGVydHkgfTtcbiAgICAgICAgbGV0IGhhc0RpZmZlcmVuY2VzID0gZmFsc2U7XG5cbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gbmV3T2JqKSB7XG4gICAgICAgICAgaWYgKG5ld09ialtrZXldICE9PSBvbGRPYmpba2V5XSkge1xuICAgICAgICAgICAgZGlmZltrZXldID0gbmV3T2JqW2tleV07XG4gICAgICAgICAgICBoYXNEaWZmZXJlbmNlcyA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhhc0RpZmZlcmVuY2VzKSB7XG4gICAgICAgICAgZGlmZmVyZW5jZXMucHVzaChkaWZmKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy9yZXRvcm5hIG11ZGFuw6dhcyBub3MgZmllbGRzIHBhcmEgYXR1YWxpemHDp8OjbyBkbyBjb250YWluZXJGaWVsZHNcbiAgICByZXR1cm4gZGlmZmVyZW5jZXM7XG4gIH1cblxuICBwcml2YXRlIGhhc0NvbnRhaW5lcigpIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlRmllbGRzICYmIHRoaXMudmlzaWJsZUZpZWxkcy5zb21lKGZpZWxkID0+IGZpZWxkLmNvbnRhaW5lcik7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNoYW5nZXNDb250YWluZXIocHJldkNvbnRhaW5lcnMsIGN1cnJDb250YWluZXJzLCBrZXkpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByZXZDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBwcmV2ID0gcHJldkNvbnRhaW5lcnNbaV07XG4gICAgICBjb25zdCBjdXJyID0gY3VyckNvbnRhaW5lcnNbaV07XG5cbiAgICAgIC8vVmVyaWZpY2Egc2UgY29udGFpbmVyIG11ZG91IGRlIHBvc2nDp8Ojb1xuICAgICAgaWYgKHByZXZba2V5XSA9PT0gY3VycltrZXldICYmIHByZXYuaW5kZXggIT09IGN1cnIuaW5kZXgpIHtcbiAgICAgICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy9WZXJpZmljYSBzZSBmb2kgYXBlbmFzIG11ZGFuw6dhIGRhIHN0cmluZyBlbSBjYXNvIGRvIGNvbnRhaW5lciBvdSB2YWxvciBubyBvcmRlclxuICAgICAgaWYgKHByZXZba2V5XSAhPT0gY3VycltrZXldICYmIHByZXYuaW5kZXggPT09IGN1cnIuaW5kZXgpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ29yZGVyJykge1xuICAgICAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGFpbmVyRmllbGRzLmZvckVhY2goc3ViSXRlbSA9PlxuICAgICAgICAgIHN1Ykl0ZW0uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLnByb3BlcnR5ID09PSBjdXJyLnByb3BlcnR5KSB7XG4gICAgICAgICAgICAgIGl0ZW1ba2V5XSA9IGN1cnJba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgLy92ZXJpZmljYSBzZSBtYW50ZXZlIG8gbWVzbW8gbsO6bWVybyBkZSBjb250YWluZXIsIG1hcyBhbHRlcm91IHByb3BlcnR5IGRvIGNvbnRhaW5lclxuICAgICAgaWYgKHByZXZba2V5XSAhPT0gY3VycltrZXldICYmIHByZXYucHJvcGVydHkgIT09IGN1cnIucHJvcGVydHkpIHtcbiAgICAgICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBvLXJvd1wiIFtjbGFzcy5wby1keW5hbWljXT1cImhhc0NvbnRhaW5lcnNcIiAqbmdJZj1cInZpc2libGVGaWVsZHMgJiYgdmlzaWJsZUZpZWxkcy5sZW5ndGggPiAwXCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgaGFzQ29udGFpbmVycyA/IHBvQ29udGVudENvbnRhaW5lciA6IHBvQ29udGVudDtcbiAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBoYXNDb250YWluZXJzID8gY29udGFpbmVyRmllbGRzIDogdmlzaWJsZUZpZWxkcyB9XG4gICAgXCJcbiAgPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcG9Db250ZW50IGxldC1maWVsZHM+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZpZWxkczsgdHJhY2tCeTogdHJhY2tCeVwiPlxuICAgIDxwby1kaXZpZGVyICpuZ0lmPVwiZmllbGQ/LmRpdmlkZXI/LnRyaW0oKVwiIGNsYXNzPVwicG8tc20tMTJcIiBbcC1sYWJlbF09XCJmaWVsZC5kaXZpZGVyXCI+IDwvcG8tZGl2aWRlcj5cblxuICAgIDxwby1kYXRlcGlja2VyXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnZGF0ZXBpY2tlcicpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWVycm9yLWxpbWl0XT1cImZpZWxkLmVycm9yTGltaXRcIlxuICAgICAgW3AtZXJyb3ItYXN5bmNdPVwiZmllbGQuZXJyb3JBc3luY0Z1bmN0aW9uXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtZm9ybWF0XT1cImZpZWxkLmZvcm1hdFwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtaXNvLWZvcm1hdF09XCJmaWVsZC5pc29Gb3JtYXRcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbG9jYWxlXT1cImZpZWxkLmxvY2FsZVwiXG4gICAgICBbcC1tYXgtZGF0ZV09XCJmaWVsZC5tYXhWYWx1ZVwiXG4gICAgICBbcC1taW4tZGF0ZV09XCJmaWVsZC5taW5WYWx1ZVwiXG4gICAgICBbcC1uby1hdXRvY29tcGxldGVdPVwiZmllbGQubm9BdXRvY29tcGxldGVcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3AtcmVxdWlyZWQtZmllbGQtZXJyb3ItbWVzc2FnZV09XCJmaWVsZC5yZXF1aXJlZEZpZWxkRXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgPlxuICAgIDwvcG8tZGF0ZXBpY2tlcj5cblxuICAgIDxwby1kYXRlcGlja2VyLXJhbmdlXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnZGF0ZXBpY2tlcnJhbmdlJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbGl0ZXJhbHNdPVwiZmllbGQubGl0ZXJhbHNcIlxuICAgICAgW3AtbWF4LWRhdGVdPVwiZmllbGQubWF4VmFsdWVcIlxuICAgICAgW3AtbWluLWRhdGVdPVwiZmllbGQubWluVmFsdWVcIlxuICAgICAgW3Atbm8tYXV0b2NvbXBsZXRlXT1cImZpZWxkLm5vQXV0b2NvbXBsZXRlXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLWZpZWxkLWVycm9yLW1lc3NhZ2VdPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWVycm9yLWxpbWl0XT1cImZpZWxkLmVycm9yTGltaXRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICA+XG4gICAgPC9wby1kYXRlcGlja2VyLXJhbmdlPlxuXG4gICAgPHBvLWlucHV0XG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnaW5wdXQnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1lcnJvci1wYXR0ZXJuXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1lcnJvci1saW1pdF09XCJmaWVsZC5lcnJvckxpbWl0XCJcbiAgICAgIFtwLWVycm9yLWFzeW5jLXByb3BlcnRpZXNdPVwiZmllbGQuZXJyb3JBc3luY1Byb3BlcnRpZXNcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbWFzay1mb3JtYXQtbW9kZWxdPVwiZmllbGQubWFza0Zvcm1hdE1vZGVsXCJcbiAgICAgIFtwLW1hc2tdPVwiZmllbGQubWFza1wiXG4gICAgICBbcC1tYXhsZW5ndGhdPVwiZmllbGQubWF4TGVuZ3RoXCJcbiAgICAgIFtwLW1pbmxlbmd0aF09XCJmaWVsZC5taW5MZW5ndGhcIlxuICAgICAgW3Atbm8tYXV0b2NvbXBsZXRlXT1cImZpZWxkLm5vQXV0b2NvbXBsZXRlXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXBhdHRlcm5dPVwiZmllbGQucGF0dGVyblwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1yZXF1aXJlZC1maWVsZC1lcnJvci1tZXNzYWdlXT1cImZpZWxkLnJlcXVpcmVkRmllbGRFcnJvck1lc3NhZ2VcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJvbkNoYW5nZUZpZWxkTW9kZWwoZmllbGQpXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgPlxuICAgIDwvcG8taW5wdXQ+XG5cbiAgICA8cG8tbnVtYmVyXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnbnVtYmVyJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZXJyb3ItcGF0dGVybl09XCJmaWVsZC5lcnJvck1lc3NhZ2VcIlxuICAgICAgW3AtZXJyb3ItbGltaXRdPVwiZmllbGQuZXJyb3JMaW1pdFwiXG4gICAgICBbcC1lcnJvci1hc3luYy1wcm9wZXJ0aWVzXT1cImZpZWxkLmVycm9yQXN5bmNQcm9wZXJ0aWVzXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW1pbl09XCJmaWVsZC5taW5WYWx1ZVwiXG4gICAgICBbcC1tYXhdPVwiZmllbGQubWF4VmFsdWVcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1zdGVwXT1cImZpZWxkLnN0ZXBcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3AtcmVxdWlyZWQtZmllbGQtZXJyb3ItbWVzc2FnZV09XCJmaWVsZC5yZXF1aXJlZEZpZWxkRXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICAocC1jaGFuZ2UtbW9kZWwpPVwib25DaGFuZ2VGaWVsZE1vZGVsKGZpZWxkKVwiXG4gICAgICBbcC1pY29uXT1cImZpZWxkLmljb25cIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLW51bWJlcj5cblxuICAgIDxwby1kZWNpbWFsXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnZGVjaW1hbCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWVycm9yLWxpbWl0XT1cImZpZWxkLmVycm9yTGltaXRcIlxuICAgICAgW3AtZXJyb3ItYXN5bmMtcHJvcGVydGllc109XCJmaWVsZC5lcnJvckFzeW5jUHJvcGVydGllc1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1kZWNpbWFscy1sZW5ndGhdPVwiZmllbGQuZGVjaW1hbHNMZW5ndGhcIlxuICAgICAgW3AtdGhvdXNhbmQtbWF4bGVuZ3RoXT1cImZpZWxkLnRob3VzYW5kTWF4bGVuZ3RoXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1sb2NhbGVdPVwiZmllbGQubG9jYWxlXCJcbiAgICAgIFtwLW1pbl09XCJmaWVsZC5taW5WYWx1ZVwiXG4gICAgICBbcC1tYXhdPVwiZmllbGQubWF4VmFsdWVcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1yZXF1aXJlZC1maWVsZC1lcnJvci1tZXNzYWdlXT1cImZpZWxkLnJlcXVpcmVkRmllbGRFcnJvck1lc3NhZ2VcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJvbkNoYW5nZUZpZWxkTW9kZWwoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgPC9wby1kZWNpbWFsPlxuXG4gICAgPHBvLXNlbGVjdFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ3NlbGVjdCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWZpZWxkLWxhYmVsXT1cImZpZWxkLmZpZWxkTGFiZWxcIlxuICAgICAgW3AtZmllbGQtdmFsdWVdPVwiZmllbGQuZmllbGRWYWx1ZVwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLWZpZWxkLWVycm9yLW1lc3NhZ2VdPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWVycm9yLWxpbWl0XT1cImZpZWxkLmVycm9yTGltaXRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtwLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICA+XG4gICAgPC9wby1zZWxlY3Q+XG5cbiAgICA8cG8tcmFkaW8tZ3JvdXBcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdyYWRpb0dyb3VwJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY29sdW1uc109XCJmaWVsZC5jb2x1bW5zIHx8IDNcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLWZpZWxkLWVycm9yLW1lc3NhZ2VdPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWVycm9yLWxpbWl0XT1cImZpZWxkLmVycm9yTGltaXRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICA+XG4gICAgPC9wby1yYWRpby1ncm91cD5cblxuICAgIDxwby1zd2l0Y2hcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdzd2l0Y2gnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1mb3JtYXQtbW9kZWxdPVwiZmllbGQuZm9ybWF0TW9kZWxcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxhYmVsLW9mZl09XCJmaWVsZC5ib29sZWFuRmFsc2VcIlxuICAgICAgW3AtbGFiZWwtb25dPVwiZmllbGQuYm9vbGVhblRydWVcIlxuICAgICAgW3AtbGFiZWwtcG9zaXRpb25dPVwiZmllbGQubGFiZWxQb3NpdGlvblwiXG4gICAgICBbcC1oaWRlLWxhYmVsLXN0YXR1c109XCJmaWVsZC5oaWRlTGFiZWxTdGF0dXNcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICA+XG4gICAgPC9wby1zd2l0Y2g+XG5cbiAgICA8cG8tY2hlY2tib3hcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdjaGVja2JveCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3Atc2l6ZV09XCJmaWVsZC5zaXplXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgPlxuICAgIDwvcG8tY2hlY2tib3g+XG5cbiAgICA8cG8tY29tYm9cbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdjb21ibycpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIHAtZW1pdC1vYmplY3QtdmFsdWVcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZmllbGQtbGFiZWxdPVwiZmllbGQuZmllbGRMYWJlbFwiXG4gICAgICBbcC1maWVsZC12YWx1ZV09XCJmaWVsZC5maWVsZFZhbHVlXCJcbiAgICAgIFtwLWZpbHRlci1wYXJhbXNdPVwiZmllbGQucGFyYW1zXCJcbiAgICAgIFtwLWZpbHRlci1zZXJ2aWNlXT1cImZpZWxkLm9wdGlvbnNTZXJ2aWNlXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1pbmZpbml0ZS1zY3JvbGxdPVwiZmllbGQuaW5maW5pdGVTY3JvbGxcIlxuICAgICAgW3AtaW5maW5pdGUtc2Nyb2xsLWRpc3RhbmNlXT1cImZpZWxkLmluZmluaXRlU2Nyb2xsRGlzdGFuY2UgfHwgMTAwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxpdGVyYWxzXT1cImZpZWxkLmxpdGVyYWxzXCJcbiAgICAgIFtwLW9wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1zb3J0XT1cImZpZWxkLnNvcnRcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3AtZmllbGQtZXJyb3ItbWVzc2FnZV09XCJmaWVsZC5lcnJvck1lc3NhZ2VcIlxuICAgICAgW3AtZXJyb3ItbGltaXRdPVwiZmllbGQuZXJyb3JMaW1pdFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZCwgJGV2ZW50KVwiXG4gICAgICBbcC1pY29uXT1cImZpZWxkLmljb25cIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgW3AtZmlsdGVyLW1pbmxlbmd0aF09XCJmaWVsZC5maWx0ZXJNaW5sZW5ndGhcIlxuICAgICAgW3AtZmlsdGVyLW1vZGVdPVwiZmllbGQuZmlsdGVyTW9kZVwiXG4gICAgICBbcC1kaXNhYmxlZC1pbml0LWZpbHRlcl09XCJmaWVsZC5kaXNhYmxlZEluaXRGaWx0ZXJcIlxuICAgICAgW3AtZGlzYWJsZWQtdGFiLWZpbHRlcl09XCJmaWVsZC5kaXNhYmxlZFRhYkZpbHRlclwiXG4gICAgICBbcC1kZWJvdW5jZS10aW1lXT1cImZpZWxkLmRlYm91bmNlVGltZVwiXG4gICAgICBbcC1jaGFuZ2Utb24tZW50ZXJdPVwiZmllbGQuY2hhbmdlT25FbnRlclwiXG4gICAgPlxuICAgIDwvcG8tY29tYm8+XG5cbiAgICA8cG8tbG9va3VwXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnbG9va3VwJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgcC1maWVsZC1sYWJlbD1cImxhYmVsXCJcbiAgICAgIHAtZmllbGQtdmFsdWU9XCJ2YWx1ZVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1jb2x1bW5zXT1cImZpZWxkLmNvbHVtbnNcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZmllbGQtbGFiZWxdPVwiZmllbGQuZmllbGRMYWJlbCB8fCAnbGFiZWwnXCJcbiAgICAgIFtwLWZpZWxkLXZhbHVlXT1cImZpZWxkLmZpZWxkVmFsdWUgfHwgJ3ZhbHVlJ1wiXG4gICAgICBbcC1maWx0ZXItcGFyYW1zXT1cImZpZWxkLnBhcmFtc1wiXG4gICAgICBbcC1maWx0ZXItc2VydmljZV09XCJmaWVsZC5zZWFyY2hTZXJ2aWNlXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtYXV0by1oZWlnaHRdPVwiZmllbGQuYXV0b0hlaWdodFwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtZmllbGQtZm9ybWF0XT1cImZpZWxkLmZvcm1hdFwiXG4gICAgICBbcC1pbmZpbml0ZS1zY3JvbGxdPVwiZmllbGQuaW5maW5pdGVTY3JvbGxcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbGl0ZXJhbHNdPVwiZmllbGQubGl0ZXJhbHNcIlxuICAgICAgW3AtbXVsdGlwbGVdPVwiZmllbGQubXVsdGlwbGVcIlxuICAgICAgW3Atbm8tYXV0b2NvbXBsZXRlXT1cImZpZWxkLm5vQXV0b2NvbXBsZXRlXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLWZpZWxkLWVycm9yLW1lc3NhZ2VdPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWVycm9yLWxpbWl0XT1cImZpZWxkLmVycm9yTGltaXRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtwLWFkdmFuY2VkLWZpbHRlcnNdPVwiZmllbGQuYWR2YW5jZWRGaWx0ZXJzXCJcbiAgICAgIChwLWNoYW5nZS12aXNpYmxlLWNvbHVtbnMpPVwiZmllbGQuY2hhbmdlVmlzaWJsZUNvbHVtbnM/LigkZXZlbnQpXCJcbiAgICAgIChwLXJlc3RvcmUtY29sdW1uLW1hbmFnZXIpPVwiZmllbGQuY29sdW1uUmVzdG9yZU1hbmFnZXI/LigkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9wby1sb29rdXA+XG5cbiAgICA8cG8tY2hlY2tib3gtZ3JvdXBcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdjaGVja2JveEdyb3VwJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY29sdW1uc109XCJmaWVsZC5jb2x1bW5zIHx8IDNcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIFtwLWZpZWxkLWVycm9yLW1lc3NhZ2VdPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWVycm9yLWxpbWl0XT1cImZpZWxkLmVycm9yTGltaXRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICA+XG4gICAgPC9wby1jaGVja2JveC1ncm91cD5cblxuICAgIDxwby1tdWx0aXNlbGVjdFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ211bHRpc2VsZWN0JylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1hdXRvLWhlaWdodF09XCJmaWVsZC5hdXRvSGVpZ2h0XCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1saXRlcmFsc109XCJmaWVsZC5saXRlcmFsc1wiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1vcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3AtZmllbGQtZXJyb3ItbWVzc2FnZV09XCJmaWVsZC5lcnJvck1lc3NhZ2VcIlxuICAgICAgW3AtZXJyb3ItbGltaXRdPVwiZmllbGQuZXJyb3JMaW1pdFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgW3AtZmllbGQtbGFiZWxdPVwiZmllbGQuZmllbGRMYWJlbFwiXG4gICAgICBbcC1maWVsZC12YWx1ZV09XCJmaWVsZC5maWVsZFZhbHVlXCJcbiAgICAgIFtwLWZpbHRlci1zZXJ2aWNlXT1cImZpZWxkLm9wdGlvbnNTZXJ2aWNlXCJcbiAgICAgIFtwLWZpbHRlci1tb2RlXT1cImZpZWxkLmZpbHRlck1vZGVcIlxuICAgICAgW3AtZGVib3VuY2UtdGltZV09XCJmaWVsZC5kZWJvdW5jZVRpbWVcIlxuICAgICAgW3Atc29ydF09XCJmaWVsZC5zb3J0XCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyLXNlYXJjaF09XCJmaWVsZC5wbGFjZWhvbGRlclNlYXJjaFwiXG4gICAgICBbcC1oaWRlLXNlYXJjaF09XCJmaWVsZC5oaWRlU2VhcmNoXCJcbiAgICAgIFtwLWhpZGUtc2VsZWN0LWFsbF09XCJmaWVsZC5oaWRlU2VsZWN0QWxsXCJcbiAgICA+XG4gICAgPC9wby1tdWx0aXNlbGVjdD5cblxuICAgIDxwby10ZXh0YXJlYVxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ3RleHRhcmVhJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLWZpZWxkLWVycm9yLW1lc3NhZ2VdPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWVycm9yLWxpbWl0XT1cImZpZWxkLmVycm9yTGltaXRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgW3Atcm93c109XCJmaWVsZC5yb3dzXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICAocC1jaGFuZ2UtbW9kZWwpPVwib25DaGFuZ2VGaWVsZE1vZGVsKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgPlxuICAgIDwvcG8tdGV4dGFyZWE+XG5cbiAgICA8cG8tcGFzc3dvcmRcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdwYXNzd29yZCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWVycm9yLWxpbWl0XT1cImZpZWxkLmVycm9yTGltaXRcIlxuICAgICAgW3AtZXJyb3ItYXN5bmMtcHJvcGVydGllc109XCJmaWVsZC5lcnJvckFzeW5jUHJvcGVydGllc1wiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1oaWRlLXBhc3N3b3JkLXBlZWtdPVwiZmllbGQuaGlkZVBhc3N3b3JkUGVla1wiXG4gICAgICBbcC1pY29uXT1cImZpZWxkLmljb25cIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1wYXR0ZXJuXT1cImZpZWxkLnBhdHRlcm5cIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3AtcmVxdWlyZWQtZmllbGQtZXJyb3ItbWVzc2FnZV09XCJmaWVsZC5yZXF1aXJlZEZpZWxkRXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICAocC1jaGFuZ2UtbW9kZWwpPVwib25DaGFuZ2VGaWVsZE1vZGVsKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgPlxuICAgIDwvcG8tcGFzc3dvcmQ+XG5cbiAgICA8cG8tdXBsb2FkXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAndXBsb2FkJylcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtYXV0by11cGxvYWRdPVwiZmllbGQuYXV0b1VwbG9hZFwiXG4gICAgICBbcC1kaXJlY3RvcnldPVwiZmllbGQuZGlyZWN0b3J5XCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWRyYWctZHJvcF09XCJmaWVsZC5kcmFnRHJvcFwiXG4gICAgICBbcC1kcmFnLWRyb3AtaGVpZ2h0XT1cImZpZWxkLmRyYWdEcm9wSGVpZ2h0XCJcbiAgICAgIFtwLXJlc3RyaWN0aW9uc109XCJmaWVsZC5yZXN0cmljdGlvbnNcIlxuICAgICAgW3AtZm9ybS1maWVsZF09XCJmaWVsZC5mb3JtRmllbGRcIlxuICAgICAgW3AtaGVhZGVyc109XCJmaWVsZC5oZWFkZXJzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1oaWRlLXJlc3RyaWN0aW9ucy1pbmZvXT1cImZpZWxkLmhpZGVSZXN0cmljdGlvbnNJbmZvXCJcbiAgICAgIFtwLWhpZGUtc2VsZWN0LWJ1dHRvbl09XCJmaWVsZC5oaWRlU2VsZWN0QnV0dG9uXCJcbiAgICAgIFtwLWhpZGUtc2VuZC1idXR0b25dPVwiZmllbGQuaGlkZVNlbmRCdXR0b25cIlxuICAgICAgW3AtbXVsdGlwbGVdPVwiZmllbGQubXVsdGlwbGVcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbGl0ZXJhbHNdPVwiZmllbGQubGl0ZXJhbHNcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgW3AtY3VzdG9tLWFjdGlvbl09XCJmaWVsZC5jdXN0b21BY3Rpb25cIlxuICAgICAgKHAtY3VzdG9tLWFjdGlvbi1jbGljayk9XCJmaWVsZC5jdXN0b21BY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgIChwLWVycm9yKT1cImZpZWxkLm9uRXJyb3IoJGV2ZW50KVwiXG4gICAgICAocC1zdWNjZXNzKT1cImZpZWxkLm9uU3VjY2VzcygkZXZlbnQpXCJcbiAgICAgIChwLXVwbG9hZCk9XCJmaWVsZC5vblVwbG9hZCgkZXZlbnQpXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICAocC1jaGFuZ2UtbW9kZWwpPVwib25DaGFuZ2VGaWVsZE1vZGVsKGZpZWxkKVwiXG4gICAgICBbcC11cmxdPVwiZmllbGQudXJsXCJcbiAgICA+XG4gICAgPC9wby11cGxvYWQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwb0NvbnRlbnRDb250YWluZXIgbGV0LWZpZWxkcz5cbiAgPHBvLWR5bmFtaWMtY29udGFpbmVyIFtwLWZpZWxkc109XCJmaWVsZHNcIiBbcC1jb250ZW50XT1cInBvQ29udGVudFwiPjwvcG8tZHluYW1pYy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -2896,7 +2896,7 @@ class PoAccordionItemHeaderComponent {
2896
2896
  let _t;
2897
2897
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.accordionElement = _t.first);
2898
2898
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.accordionHeaderElement = _t.first);
2899
- } }, inputs: { expanded: [0, "p-expanded", "expanded"], label: [0, "p-label", "label"], labelTag: [0, "p-label-tag", "labelTag"], typeTag: [0, "p-type-tag", "typeTag"], disabledItem: [0, "p-disabled", "disabledItem"] }, outputs: { toggle: "p-toggle" }, decls: 9, vars: 6, consts: [["accordionElement", ""], ["accordionHeaderElement", ""], [1, "po-accordion-item-header"], [1, "po-accordion-item-header-button", "po-clickable", 3, "click", "disabled"], [1, "po-accordion-item-header-button-content", 3, "p-tooltip"], [1, "po-text-ellipsis", "po-accordion-item-header-title"], ["class", "po-accordion-item-header-tag", 3, "p-value", "p-type", 4, "ngIf"], ["p-icon", "ICON_ARROW_DOWN", 1, "po-icon", "po-accordion-item-header-icon"], [1, "po-accordion-item-header-tag", 3, "p-value", "p-type"]], template: function PoAccordionItemHeaderComponent_Template(rf, ctx) { if (rf & 1) {
2899
+ } }, inputs: { expanded: [0, "p-expanded", "expanded"], label: [0, "p-label", "label"], labelTag: [0, "p-label-tag", "labelTag"], typeTag: [0, "p-type-tag", "typeTag"], disabledItem: [0, "p-disabled", "disabledItem"] }, outputs: { toggle: "p-toggle" }, decls: 9, vars: 6, consts: [["accordionElement", ""], ["accordionHeaderElement", ""], [1, "po-accordion-item-header"], ["type", "button", 1, "po-accordion-item-header-button", "po-clickable", 3, "click", "disabled"], [1, "po-accordion-item-header-button-content", 3, "p-tooltip"], [1, "po-text-ellipsis", "po-accordion-item-header-title"], ["class", "po-accordion-item-header-tag", 3, "p-value", "p-type", 4, "ngIf"], ["p-icon", "ICON_ARROW_DOWN", 1, "po-icon", "po-accordion-item-header-icon"], [1, "po-accordion-item-header-tag", 3, "p-value", "p-type"]], template: function PoAccordionItemHeaderComponent_Template(rf, ctx) { if (rf & 1) {
2900
2900
  const _r1 = i0.ɵɵgetCurrentView();
2901
2901
  i0.ɵɵelementStart(0, "div", 2)(1, "button", 3, 0);
2902
2902
  i0.ɵɵlistener("click", function PoAccordionItemHeaderComponent_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onClick()); });
@@ -2921,7 +2921,7 @@ class PoAccordionItemHeaderComponent {
2921
2921
  }
2922
2922
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoAccordionItemHeaderComponent, [{
2923
2923
  type: Component,
2924
- args: [{ selector: 'po-accordion-item-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"po-accordion-item-header\">\n <button\n #accordionElement\n [disabled]=\"disabledItem\"\n [attr.aria-label]=\"label\"\n [attr.aria-expanded]=\"expanded || false\"\n class=\"po-accordion-item-header-button po-clickable\"\n (click)=\"onClick()\"\n >\n <div class=\"po-accordion-item-header-button-content\" [p-tooltip]=\"getTooltip()\">\n <div #accordionHeaderElement class=\"po-text-ellipsis po-accordion-item-header-title\">{{ label }}</div>\n <po-tag *ngIf=\"labelTag\" class=\"po-accordion-item-header-tag\" [p-value]=\"labelTag\" [p-type]=\"typeTag\"> </po-tag>\n </div>\n <po-icon p-icon=\"ICON_ARROW_DOWN\" class=\"po-icon po-accordion-item-header-icon\"></po-icon>\n </button>\n</div>\n" }]
2924
+ args: [{ selector: 'po-accordion-item-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"po-accordion-item-header\">\n <button\n #accordionElement\n [disabled]=\"disabledItem\"\n [attr.aria-label]=\"label\"\n [attr.aria-expanded]=\"expanded || false\"\n class=\"po-accordion-item-header-button po-clickable\"\n type=\"button\"\n (click)=\"onClick()\"\n >\n <div class=\"po-accordion-item-header-button-content\" [p-tooltip]=\"getTooltip()\">\n <div #accordionHeaderElement class=\"po-text-ellipsis po-accordion-item-header-title\">{{ label }}</div>\n <po-tag *ngIf=\"labelTag\" class=\"po-accordion-item-header-tag\" [p-value]=\"labelTag\" [p-type]=\"typeTag\"> </po-tag>\n </div>\n <po-icon p-icon=\"ICON_ARROW_DOWN\" class=\"po-icon po-accordion-item-header-icon\"></po-icon>\n </button>\n</div>\n" }]
2925
2925
  }], () => [{ type: PoLanguageService }], { accordionElement: [{
2926
2926
  type: ViewChild,
2927
2927
  args: ['accordionElement', { read: ElementRef, static: true }]
@@ -3173,7 +3173,7 @@ class PoAccordionManagerComponent {
3173
3173
  let _t;
3174
3174
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.accordionElement = _t.first);
3175
3175
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.accordionHeaderElement = _t.first);
3176
- } }, inputs: { expandedAllItems: [0, "p-expanded-all-items", "expandedAllItems"], literals: [0, "p-literals", "literals"] }, outputs: { clickManager: "p-click" }, features: [i0.ɵɵNgOnChangesFeature], decls: 7, vars: 4, consts: [["accordionHeaderButtonManagerElement", ""], ["accordionHeaderManagerElement", ""], [1, "po-accordion-manager-header"], [1, "po-accordion-manager-button", "po-clickable", 3, "click", "p-tooltip"], [1, "po-text-ellipsis", "po-accordion-manager-button-content"], ["p-icon", "ICON_LAST_PAGE", 1, "po-icon", "po-accordion-manager-icon", 3, "ngClass"]], template: function PoAccordionManagerComponent_Template(rf, ctx) { if (rf & 1) {
3176
+ } }, inputs: { expandedAllItems: [0, "p-expanded-all-items", "expandedAllItems"], literals: [0, "p-literals", "literals"] }, outputs: { clickManager: "p-click" }, features: [i0.ɵɵNgOnChangesFeature], decls: 7, vars: 4, consts: [["accordionHeaderButtonManagerElement", ""], ["accordionHeaderManagerElement", ""], [1, "po-accordion-manager-header"], ["type", "button", 1, "po-accordion-manager-button", "po-clickable", 3, "click", "p-tooltip"], [1, "po-text-ellipsis", "po-accordion-manager-button-content"], ["p-icon", "ICON_LAST_PAGE", 1, "po-icon", "po-accordion-manager-icon", 3, "ngClass"]], template: function PoAccordionManagerComponent_Template(rf, ctx) { if (rf & 1) {
3177
3177
  const _r1 = i0.ɵɵgetCurrentView();
3178
3178
  i0.ɵɵelementStart(0, "div", 2)(1, "button", 3, 0);
3179
3179
  i0.ɵɵlistener("click", function PoAccordionManagerComponent_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onClick()); });
@@ -3194,7 +3194,7 @@ class PoAccordionManagerComponent {
3194
3194
  }
3195
3195
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoAccordionManagerComponent, [{
3196
3196
  type: Component,
3197
- args: [{ selector: 'po-accordion-manager', template: "<div class=\"po-accordion-manager-header\">\n <button\n #accordionHeaderButtonManagerElement\n class=\"po-accordion-manager-button po-clickable\"\n (click)=\"onClick()\"\n [attr.aria-expanded]=\"expandedAllItems\"\n [p-tooltip]=\"getTooltip()\"\n >\n <div #accordionHeaderManagerElement class=\"po-text-ellipsis po-accordion-manager-button-content\">\n {{ expandedAllItems ? literals.closeAllItems : literals.expandAllItems }}\n </div>\n <po-icon\n p-icon=\"ICON_LAST_PAGE\"\n [ngClass]=\"expandedAllItems ? 'icon-down' : 'icon-up'\"\n class=\"po-icon po-accordion-manager-icon\"\n >\n </po-icon>\n </button>\n</div>\n" }]
3197
+ args: [{ selector: 'po-accordion-manager', template: "<div class=\"po-accordion-manager-header\">\n <button\n #accordionHeaderButtonManagerElement\n class=\"po-accordion-manager-button po-clickable\"\n type=\"button\"\n (click)=\"onClick()\"\n [attr.aria-expanded]=\"expandedAllItems\"\n [p-tooltip]=\"getTooltip()\"\n >\n <div #accordionHeaderManagerElement class=\"po-text-ellipsis po-accordion-manager-button-content\">\n {{ expandedAllItems ? literals.closeAllItems : literals.expandAllItems }}\n </div>\n <po-icon\n p-icon=\"ICON_LAST_PAGE\"\n [ngClass]=\"expandedAllItems ? 'icon-down' : 'icon-up'\"\n class=\"po-icon po-accordion-manager-icon\"\n >\n </po-icon>\n </button>\n</div>\n" }]
3198
3198
  }], null, { accordionElement: [{
3199
3199
  type: ViewChild,
3200
3200
  args: ['accordionHeaderButtonManagerElement', { read: ElementRef, static: true }]
@@ -45379,8 +45379,8 @@ class PoDynamicFormFieldsComponent extends PoDynamicFormFieldsBaseComponent {
45379
45379
  if (visibleField.optionsService) {
45380
45380
  this.objectValue.emit(objectValue);
45381
45381
  }
45382
- // verifica se o formulario esta touched para não disparar o validate ao carregar a tela.
45383
- if ((this.form.touched || isBooleanType) && isChangedValueField) {
45382
+ // verifica se o formulario esta dirty para não disparar o validate ao carregar a tela.
45383
+ if ((this.form.dirty || isBooleanType) && isChangedValueField) {
45384
45384
  const { changedField, changedFieldIndex } = this.getField(property);
45385
45385
  if (changedField.validate) {
45386
45386
  await this.validateField(changedField, changedFieldIndex, visibleField);