keevo-components 2.0.39 → 2.0.41

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.
@@ -68,6 +68,9 @@ export class KvLayoutComponent {
68
68
  if (item.numNotifications != undefined && item.numNotifications != null) {
69
69
  menu.numNotifications = item.numNotifications;
70
70
  }
71
+ if (item.boolNotifications != undefined && item.boolNotifications != null) {
72
+ menu.boolNotifications = item.boolNotifications;
73
+ }
71
74
  }
72
75
  });
73
76
  });
@@ -427,4 +430,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
427
430
  type: HostListener,
428
431
  args: ['window:resize', ['$event']]
429
432
  }] } });
430
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC9sYXlvdXQva3YtbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC9sYXlvdXQva3YtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFFTCxTQUFTLEVBR1QsTUFBTSxFQUNOLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBR0wsTUFBTSxFQUNOLE1BQU0sRUFHTixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQ3ZCLE1BQU0sT0FBTyxpQkFBaUI7SUEyTDVCLFlBQ1UsR0FBc0IsRUFDdEIsRUFBZSxFQUNiLE1BQWMsRUFDZCxjQUE4QjtRQUhoQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQTlMakMsU0FBSSxHQVVQLEVBQUUsQ0FBQztRQUVBLFlBQU8sR0FBMEQsRUFBRSxDQUFDO1FBRXBFLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFeEI7Ozs7Ozs7Ozs7Ozs7OztXQWVHO1FBQ0gsb0JBQWUsR0FBRyxLQUFLLENBQXlFLEVBQUUsQ0FBQyxDQUFDO1FBRXBHLG1CQUFjLEdBQXNCO1lBQ2xDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0Is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QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLDBCQUEwQjtzQkFBbkMsTUFBTTtnQkFFRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFHc0IsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBd01wQixjQUFjO3NCQURwQixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgY29tcHV0ZWQsXHJcbiAgY29udGVudENoaWxkcmVuLFxyXG4gIGVmZmVjdCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIGlucHV0LFxyXG4gIElucHV0LFxyXG4gIG1vZGVsLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIHNpZ25hbCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBXcml0YWJsZVNpZ25hbCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE92ZXJsYXlQYW5lbCB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcclxuaW1wb3J0IHsgU2lkZWJhciB9IGZyb20gJ3ByaW1lbmcvc2lkZWJhcic7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgYW5pbWF0ZSxcclxuICBzdGF0ZSxcclxuICBzdHlsZSxcclxuICB0cmFuc2l0aW9uLFxyXG4gIHRyaWdnZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFRvcEFjdGlvbnNNb2RlbCB9IGZyb20gJy4uL3RvcC1pY29ucy90b3AtaWNvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgbGluayB9IGZyb20gJ2QzJztcclxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExheW91dE1lbnVJdGVtIHtcclxuICBpZG1lbnU6IG51bWJlcjtcclxuICBpZG1lbnVwYWk6IG51bWJlciB8IG51bGw7XHJcbiAgaWRhcGxpY2F0aXZvOiBudW1iZXI7XHJcbiAgZGVzY3JpY2FvbWVudTogc3RyaW5nO1xyXG4gIGxpbms6IHN0cmluZyB8IG51bGw7XHJcbiAgaWNvbmU6IHN0cmluZyB8IG51bGw7XHJcbiAgaW5kcHVibGljYWRvOiBib29sZWFuO1xyXG4gIGluZG1lbnVwYWk6IGJvb2xlYW47XHJcbiAgbGlzdGFpZHZpc2FvbWVudTogbnVtYmVyW107XHJcbiAgYmdDb2xvcj86IHN0cmluZztcclxuICB0ZXh0Q29sb3I/OiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtbGF5b3V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9rdi1sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEt2TGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIGFwcHM6IHtcclxuICAgIGlkYXBsaWNhdGl2bzogbnVtYmVyO1xyXG4gICAgaWRzaXN0ZW1hOiBudW1iZXI7XHJcbiAgICBub21lYXBsaWNhdGl2bzogc3RyaW5nO1xyXG4gICAgZGVzY3JpY2FvYXBsaWNhdGl2bzogc3RyaW5nO1xyXG4gICAgcm90YXBhZHJhbzogc3RyaW5nO1xyXG4gICAgaW5kcHVibGljYWRvOiBib29sZWFuO1xyXG4gICAgaW5kcHVibGljYWNhb2dyYWRhdGl2YTogYm9vbGVhbjtcclxuICAgIGluZGV4aWdlZW1wcmVzYWVudHJhZGE6IGJvb2xlYW47XHJcbiAgICB1cmxpY29uZT86IHN0cmluZztcclxuICB9W10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgYWN0aW9uczogeyBpY29uOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmc7IGFjdGlvbjogKCkgPT4gdm9pZCB9W10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgdXNlQ2FyZCA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBxdWFpcyBtZW51cyBzw6NvIHZpc8OtdmVpcyBubyB0b3BvLlxyXG4gICAqIFxyXG4gICAqIEB0eXBlIHtBcnJheTx7aWQ6IG51bWJlciwgbnVtTm90aWZpY2F0aW9ucz86IG51bWJlciwgYWN0aW9uPzogKGU6IGFueSkgPT4gdm9pZH0+fVxyXG4gICAqIFxyXG4gICAqIE9ww6fDtWVzIGRpc3BvbsOtdmVpczpcclxuICAgKiAtIDIgLSBLaWFyYSBcclxuICAgKiAtIDMgLSBOb3RpZmljYcOnw7Vlc1xyXG4gICAqIC0gNCAtIFRhcmVmYXNcclxuICAgKiAtIDUgLSBDb211bmljYWRvclxyXG4gICAqIFxyXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBpZCAtIGlkZW50aWZpY2Fkb3IgZG8gbWVudS5cclxuICAgKiBAcHJvcGVydHkge251bWJlcn0gW251bU5vdGlmaWNhdGlvbnNdIC0gTsO6bWVybyBkZSBub3RpZmljYcOnw7VlcyAob3BjaW9uYWwpLlxyXG4gICAqIEBwcm9wZXJ0eSB7KGU6IGFueSkgPT4gdm9pZH0gW2FjdGlvbl0gLSBBw6fDo28gZG8gY2xpcXVlLCBxdWUgcmV0b3JuYSBvIGV2ZW50byBkbyBjbGlxdWUgKG9wdGlvbmFsKS5cclxuICAgKiBcclxuICAgKi9cclxuICB0b3BNZW51c1Zpc2libGUgPSBpbnB1dDx7IGlkOiBudW1iZXIsIG51bU5vdGlmaWNhdGlvbnM/OiBudW1iZXIsIGFjdGlvbj86IChlOiBhbnkpID0+IHZvaWQgfVtdPihbXSk7XHJcblxyXG4gIHRvcE1lbnVPcHRpb25zOiBUb3BBY3Rpb25zTW9kZWxbXSA9IFtcclxuICAgIHsgaWQ6IDEsIHZpc2libGU6IHRydWUsIGljb246ICdwZXJzb24nLCB0b29sdGlwOiAnTWV1cyBEYWRvcycsIG51bU5vdGlmaWNhdGlvbnM6IDAsIGFjdGlvbjogKGU6IGFueSkgPT4geyB0aGlzLm1ldXNEYWRvc1BhbmVsLnRvZ2dsZShlKSB9IH0sXHJcbiAgICB7IGlkOiAyLCB2aXNpYmxlOiBmYWxzZSwgaWNvbjogJ2tpYXJhJywgdG9vbHRpcDogJ0tpYXJhJywgbnVtTm90aWZpY2F0aW9uczogMCwgYWN0aW9uOiAoKSA9PiB7IH0gfSxcclxuICAgIHsgaWQ6IDMsIHZpc2libGU6IGZhbHNlLCBpY29uOiAnbm90aWZpY2F0aW9ucycsIHRvb2x0aXA6ICdOb3RpZmljYcOnw7VlcycsIG51bU5vdGlmaWNhdGlvbnM6IDAsIGFjdGlvbjogKCkgPT4geyB9IH0sXHJcbiAgICB7IGlkOiA0LCB2aXNpYmxlOiBmYWxzZSwgaWNvbjogJ2NoZWNrbGlzdCcsIHRvb2x0aXA6ICdUYXJlZmFzJywgbnVtTm90aWZpY2F0aW9uczogMCwgYWN0aW9uOiAoKSA9PiB7IH0gfSxcclxuICAgIHsgaWQ6IDUsIHZpc2libGU6IGZhbHNlLCBpY29uOiAnY2hhdCcsIHRvb2x0aXA6ICdDb211bmljYWRvcicsIG51bU5vdGlmaWNhdGlvbnM6IDAsIGFjdGlvbjogKCkgPT4geyB9IH0sXHJcbiAgXTtcclxuXHJcbiAgdG9wTWVudU9wdGlvbnNSZXZlcnNlZCA9IGZhbHNlO1xyXG5cclxuICBwcm9jZXNzYXJfbWVudXMgPSBlZmZlY3QoKCkgPT4ge1xyXG4gICAgY29uc3QgbWVudXNWaXNpdmVpcyA9IHRoaXMudG9wTWVudXNWaXNpYmxlKCk7XHJcblxyXG4gICAgaWYgKHRoaXMucHJvZmlsZUltYWdlKCkpIHtcclxuICAgICAgdGhpcy50b3BNZW51T3B0aW9uc1swXS5pbWcgPSB0aGlzLnByb2ZpbGVJbWFnZSgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvL2ludmVydGVyIG8gdG9wTWVudU9wdGlvbnNcclxuICAgIGlmICghdGhpcy50b3BNZW51T3B0aW9uc1JldmVyc2VkKSB7XHJcbiAgICAgIHRoaXMudG9wTWVudU9wdGlvbnMucmV2ZXJzZSgpO1xyXG4gICAgICB0aGlzLnRvcE1lbnVPcHRpb25zUmV2ZXJzZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIG1lbnVzVmlzaXZlaXMuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGxldCBtZW51ID0gdGhpcy50b3BNZW51T3B0aW9ucy5maW5kKCh4KSA9PiB4LmlkID09PSBpdGVtLmlkKTtcclxuICAgICAgaWYgKG1lbnUpIHtcclxuICAgICAgICBtZW51LnZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgIGlmIChpdGVtLmFjdGlvbikge1xyXG4gICAgICAgICAgbWVudS5hY3Rpb24gPSBpdGVtLmFjdGlvbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGl0ZW0ubnVtTm90aWZpY2F0aW9ucyAhPSB1bmRlZmluZWQgJiYgaXRlbS5udW1Ob3RpZmljYXRpb25zICE9IG51bGwpIHtcclxuICAgICAgICAgIG1lbnUubnVtTm90aWZpY2F0aW9ucyA9IGl0ZW0ubnVtTm90aWZpY2F0aW9ucztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICBwcm9maWxlSW1hZ2UgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHJcbiAgQElucHV0KCkgYnJlYWRDcnVtYkl0ZW1zOiB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgcm91dGVyTGluazogc3RyaW5nO1xyXG4gIH1bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBtYXN0ZXJzOiB7XHJcbiAgICBpZG1hc3RlcjogbnVtYmVyO1xyXG4gICAgY3BmY25wajogc3RyaW5nO1xyXG4gICAgbm9tZTogc3RyaW5nO1xyXG4gICAgaWRtYXN0ZXJub21lOiBzdHJpbmc7XHJcbiAgfVtdID0gW107XHJcblxyXG4gIG1lbnVzID0gbW9kZWw8TGF5b3V0TWVudUl0ZW1bXT4oW10pO1xyXG4gIG1lbnVWaXNpdmVsID0gc2lnbmFsPG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuICBzaG93TWVudVNpc3RlbWFzID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgZXhwYW5kTWVudSA9IG1vZGVsPGJvb2xlYW4+KHRydWUpO1xyXG5cclxuICBASW5wdXQoKSBsb2dvTWVudUV4cGFuZCE6IGFueTtcclxuICBASW5wdXQoKSBsb2dvTWVudUhpZGUhOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIHNlbGVjdGVkQXBwITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkRW1wcmVzYSE6IGFueTtcclxuICBASW5wdXQoKSBzZWxlY3RlZE1hc3RlciE6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgc2hvd0J1dHRvbkFwcHM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dCdXR0b25Vc2VyOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93RXhwYW5kTWVudTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0Ryb3Bkb3duTGljZW5jYTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd01lbnU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dUcm9jYUVtcHJlc2E6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93QnJlYWRjcnVtYjogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgdXNlck5hbWU6IHN0cmluZyA9ICdVc3XDoXJpbyc7XHJcbiAgQElucHV0KCkgdXNlckVtYWlsOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBtYXN0ZXJOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGVtcHJlc2FOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlkc0FwbGljYXRpdm9zTWVudUhpZGU6IG51bWJlcltdID0gW107XHJcbiAgQElucHV0KCkgdXNlU2VsZWN0aW9uQXBwcyA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd1RyaWxoYUNvbmhlY2ltZW50byA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzRGlzYWJsZVNlbGVjdGlvbkVtcHJlc2EgPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIGFjY2Vzc0tlZVBhc3NFbWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2hhbmdlRW1wcmVzYUVtaXQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2hhbmdlTGljZW5zZUVtaXQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBleHBhbmRNZW51RW1pdDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBsb2dvdXRFbWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0QXBwRW1pdDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG5hdmlnYXRlVG9EZWZhdWx0Um91dGVFbWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIGRvd25sb2FkRG9jRW1pdDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNob3dWaWRlb0RvY0VtaXQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHJcbiAgQFZpZXdDaGlsZCgnbWV1c0RhZG9zUGFuZWwnKSBtZXVzRGFkb3NQYW5lbCE6IE92ZXJsYXlQYW5lbDtcclxuXHJcbiAgLy8gdG9wTWVudUFjdGlvbnMgPSBjb250ZW50Q2hpbGRyZW48VGVtcGxhdGVSZWY8YW55Pj4oJ3RvcE1lbnVBY3Rpb24nKTtcclxuXHJcbiAgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xyXG4gIGhlaWdodENhcmQhOiBudW1iZXI7XHJcbiAgbW91c2VPdmVyRmlsaG9JbmRleDogYW55O1xyXG4gIG1vdXNlT3ZlckluZGV4OiBhbnk7XHJcbiAgd2lkdGhDYXJkITogbnVtYmVyO1xyXG5cclxuICB3aWR0aFBhZ2UgPSBzaWduYWw8bnVtYmVyPigwKTtcclxuXHJcbiAgdHJpbGhhQ29uaGVjaW1lbnRvID0gW1xyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ0NhZGFzdHJlIGFzIHN1YXMgZW1wcmVzYXMnLFxyXG4gICAgICBpY29uOiAnYnVzaW5lc3MnLFxyXG4gICAgICBzdWJ0aXRsZTogJ1NhaWJhIGNvbW8gY2FkYXN0cmFyIGluZm9ybWHDp8O1ZXMgZXNzZW5jaWFpcyBkYXMgZW1wcmVzYXMuJyxcclxuICAgICAgZG9jOiAnaHR0cHM6Ly93b3JrLWFzc2V0cy5rZWV2by5jb20uYnIva2Vldm8tY2VudGVyLzErLStDYWRhc3RybytkZStFbXByZXNhcy5wZGYnLFxyXG4gICAgICB2aWRlbzogJ2h0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2tlZXZvLWNlbnRlci8xKy0rQ2FkYXN0cm8rZGUrRW1wcmVzYXMrbm8rS2Vldm8rQ2VudGVyLm1wNCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRpdGxlOiAnQ2FkYXN0cm8gZGUgQ2VydGlmaWNhZG9zIGUgUHJvY3VyYcOnw6NvJyxcclxuICAgICAgaWNvbjogJ3ZlcmlmaWVkX3VzZXInLFxyXG4gICAgICBzdWJ0aXRsZTpcclxuICAgICAgICAnVmVqYSBjb21vIGNhZGFzdHJhciB1bSBjZXJ0aWZpY2FkbyBlIHByb2N1cmHDp8OjbyBuZWNlc3PDoXJpb3MgcGFyYSBhcyBlbXByZXNhcy4nLFxyXG4gICAgICBkb2M6ICdodHRwczovL3dvcmstYXNzZXRzLmtlZXZvLmNvbS5ici9rZWV2by1jZW50ZXIvMistK0NhZGFzdHJvK2RlK0NlcnRpZmljYWRvcytlK1Byb2N1cmElQzMlQTclQzMlQjVlcy5wZGYnLFxyXG4gICAgICB2aWRlbzogJ2h0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2tlZXZvLWNlbnRlci8yKy0rQ2FkYXN0cm8rZGUrQ2VydGlmaWNhZG9zK2UrUHJvY3VyYSVDMyVBNyVDMyVCNWVzLm1wNCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ0NvbmZpZ3VyYcOnw6NvIGRhIEdlc3TDo28gZGUgTGljZW7Dp2EnLFxyXG4gICAgICBpY29uOiAnZmFjdF9jaGVjaycsXHJcbiAgICAgIHN1YnRpdGxlOiAnQXByZW5kYSBhIHZpbmN1bGFyIGFzIGxpY2Vuw6dhcyBwYXJhIGNhZGEgZW1wcmVzYSBhcXVpLicsXHJcbiAgICAgIGRvYzogJ2h0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2tlZXZvLWNlbnRlci8zKy0rQ29uZmlndXJhJUMzJUE3JUMzJUEzbytkYStHZXN0JUMzJUEzbytkZStMaWNlbiVDMyVBN2EucGRmJyxcclxuICAgICAgdmlkZW86ICdodHRwczovL3dvcmstYXNzZXRzLmtlZXZvLmNvbS5ici9rZWV2by1jZW50ZXIvMystK0NvbmZpZ3VyYSVDMyVBNyVDMyVBM28rZGUrR2VzdCVDMyVBM28rZGUrTGljZW4lQzMlQTdhcy5tcDQnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICdDYWRhc3RybyBkZSBVc3XDoXJpbycsXHJcbiAgICAgIGljb246ICdwZXJzb25fYWRkJyxcclxuICAgICAgc3VidGl0bGU6XHJcbiAgICAgICAgJ1NhaWJhIGNvbW8gY2FkYXN0cmFyIHVzdcOhcmlvcyBxdWUgdGVyw6NvIGFjZXNzbyBhb3Mgc2lzdGVtYXMgZGEgS2Vldm8uJyxcclxuICAgICAgZG9jOiAnaHR0cHM6Ly93b3JrLWFzc2V0cy5rZWV2by5jb20uYnIva2Vldm8tY2VudGVyLzQrLStDYWRhc3RybytkZStVc3UlQzMlQTFyaW8ucGRmJyxcclxuICAgICAgdmlkZW86ICdodHRwczovL3dvcmstYXNzZXRzLmtlZXZvLmNvbS5ici9rZWV2by1jZW50ZXIvNCstK0NhZGFzdHJvK2RlK1VzdSVDMyVBMXJpby5tcDQnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICdQYXDDqWlzIGUgUGVybWlzc8O1ZXMnLFxyXG4gICAgICBpY29uOiAnbWFuYWdlX2FjY291bnRzJyxcclxuICAgICAgc3VidGl0bGU6XHJcbiAgICAgICAgJ0Rlc2N1YnJhIGNvbW8gY29uZmlndXJhciBwYXDDqWlzIGUgcGVybWlzc8O1ZXMgZG9zIHNldXMgdXN1w6FyaW9zIHJlZ2lzdHJhZG9zLicsXHJcbiAgICAgIGRvYzogJ2h0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2tlZXZvLWNlbnRlci81Ky0rUGFwJUMzJUE5aXMrZStQZXJtaXNzJUMzJUI1ZXMucGRmJyxcclxuICAgICAgdmlkZW86ICdodHRwczovL3dvcmstYXNzZXRzLmtlZXZvLmNvbS5ici9rZWV2by1jZW50ZXIvNSstK1BhcCVDMyVBOWlzK2UrUGVybWlzcyVDMyVCNWVzLm1wNCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ0NhZGFzdHJvIGRlIENvbnRhZG9yZXMnLFxyXG4gICAgICBpY29uOiAnYmFkZ2UnLFxyXG4gICAgICBzdWJ0aXRsZTogJ0FwcmVuZGEgY29tbyBjYWRhc3RyYXIgc2V1cyBjb250YWRvcmVzLicsXHJcbiAgICAgIGRvYzogJ2h0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2tlZXZvLWNlbnRlci82Ky0rQ2FkYXN0cm8rZGUrQ29udGFkb3Jlcy5wZGYnLFxyXG4gICAgICB2aWRlbzogJ2h0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2tlZXZvLWNlbnRlci82Ky0rQ2FkYXN0cm8rZGUrQ29udGFkb3Jlcy5tcDQnLFxyXG4gICAgfSxcclxuICBdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJvdGVjdGVkIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgaWRtYXN0ZXI6IFt0aGlzLnNlbGVjdGVkTWFzdGVyLCBbXV0sXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyB0aGlzLnByb2Nlc3Nhck1lbnVzKCk7XHJcbiAgICB0aGlzLmFkanVzdFdpZHRoQ2FyZCgpO1xyXG4gICAgdGhpcy52ZXJpZnlNZW51QmVoYXZpb3IoKTtcclxuICAgIHRoaXMuZXhwYW5kTWVudUV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBcclxuXHJcbiAgLy8gcHJvY2Vzc2FyTWVudXMoKSB7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgYWNjZXNzS2VlUGFzcyhldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmFjY2Vzc0tlZVBhc3NFbWl0LmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkanVzdEhlaWdodENhcmQoKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLndpZHRoQ2FyZCA+IDQwMCkge1xyXG4gICAgICBpZiAodGhpcy53aWR0aFBhZ2UoKSA8IDk5MiAmJiB0aGlzLnNob3dMaWNlbmNhcygpKSByZXR1cm4gMTQ1O1xyXG5cclxuICAgICAgaWYgKHRoaXMuYnJlYWRDcnVtYkl0ZW1zLmxlbmd0aCA+IDApIHJldHVybiA5NTtcclxuICAgICAgZWxzZSByZXR1cm4gODU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIDEyNTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRqdXN0V2lkdGhDYXJkKCkge1xyXG4gICAgdGhpcy53aWR0aFBhZ2Uuc2V0KHdpbmRvdy5pbm5lcldpZHRoKTtcclxuXHJcbiAgICB0aGlzLmhlaWdodENhcmQgPSBOdW1iZXIoXHJcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLWNvbnRlbnQnKT8ub2Zmc2V0SGVpZ2h0XHJcbiAgICApO1xyXG4gICAgaWYgKHRoaXMuc2hvd01lbnUpXHJcbiAgICAgIHRoaXMud2lkdGhDYXJkID1cclxuICAgICAgICBOdW1iZXIod2luZG93LmlubmVyV2lkdGgpIC0gKHRoaXMuZXhwYW5kTWVudSgpID8gMzMzIDogOTMpO1xyXG4gICAgZWxzZSB0aGlzLndpZHRoQ2FyZCA9IE51bWJlcih3aW5kb3cuaW5uZXJXaWR0aCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FsbFJvdXRlKHJvdGE6IGFueSwgZXhwYW5kPzogYm9vbGVhbikge1xyXG4gICAgaWYgKCFleHBhbmQgJiYgIXRoaXMuZXhwYW5kTWVudSgpICYmIHRoaXMuc2hvd0V4cGFuZE1lbnUpXHJcbiAgICAgIHRoaXMuZXhwYW5kTWVudS51cGRhdGUoKGN1cnJlbnRWYWx1ZTogYm9vbGVhbikgPT4gIWN1cnJlbnRWYWx1ZSk7XHJcblxyXG4gICAgaWYgKHRoaXMud2lkdGhQYWdlKCkgIT0gMCAmJiB0aGlzLndpZHRoUGFnZSgpIDwgODAwICYmIHRoaXMuZXhwYW5kTWVudSgpICYmIHRoaXMuc2hvd0V4cGFuZE1lbnUpXHJcbiAgICAgIHRoaXMuZXhwYW5kTWVudS5zZXQoZmFsc2UpO1xyXG5cclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocm90YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlRW1wcmVzYShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmNoYW5nZUVtcHJlc2FFbWl0LmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZUxpY2Vuc2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5jaGFuZ2VMaWNlbnNlRW1pdC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmVyaWZ5TWVudUJlaGF2aW9yKCkge1xyXG4gICAgaWYgKHRoaXMud2lkdGhQYWdlKCkgPCA4MDApXHJcbiAgICAgIHRoaXMuZXhwYW5kTWVudS5zZXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleHBhbmRNZW51RXZlbnQoKSB7XHJcbiAgICB0aGlzLmV4cGFuZE1lbnVFbWl0LmVtaXQodGhpcy5leHBhbmRNZW51KCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvZ291dChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmxvZ291dEVtaXQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1lbnVzUGVyQXBwKCkge1xyXG4gICAgaWYgKHRoaXMucm91dGVyLnVybCAmJiB0aGlzLm1lbnVzKCkgJiYgdGhpcy5tZW51cygpLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKHRoaXMucm91dGVyLnVybCA9PT0gJy8nKSB7XHJcbiAgICAgICAgLy8gdGhpcy5uYXZpZ2F0ZVRvRmlyc3RNZW51KCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgbWVudVNlbGVjaW9uYWRvID0gdGhpcy5tZW51cygpLmZpbmQoXHJcbiAgICAgICAgICAobWVudTogYW55KSA9PlxyXG4gICAgICAgICAgICBtZW51LmxpbmsgJiYgbWVudS5saW5rLmluY2x1ZGVzKHRoaXMucm91dGVyLnVybC5zbGljZSgxKSlcclxuICAgICAgICApO1xyXG4gICAgICAgIGlmIChtZW51U2VsZWNpb25hZG8pIHtcclxuICAgICAgICAgIHRoaXMubmF2aWdhdGVUb01lbnUobWVudVNlbGVjaW9uYWRvKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBuYW1lRW1wcmVzYShub21lTGljZW5jYTogYW55KTogc3RyaW5nIHtcclxuICAgIGlmIChub21lTGljZW5jYSkge1xyXG4gICAgICBpZiAobm9tZUxpY2VuY2EubGVuZ3RoID4gMjMpIHJldHVybiBub21lTGljZW5jYS5zdWJzdHJpbmcoMCwgMjMpICsgJy4uLic7XHJcbiAgICAgIGVsc2UgcmV0dXJuIG5vbWVMaWNlbmNhO1xyXG4gICAgfSBlbHNlIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbmF2aWdhdGVUb0ZpcnN0TWVudSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGZpcnN0TWVudSA9IHRoaXMubWVudXMoKVswXTtcclxuICAgIGlmIChmaXJzdE1lbnUuaW5kbWVudXBhaSkge1xyXG4gICAgICBjb25zdCBmaWxob3MgPSB0aGlzLnJldHVybk1lbnVDaGlsZChmaXJzdE1lbnUuaWRtZW51KTtcclxuICAgICAgaWYgKGZpbGhvcykge1xyXG4gICAgICAgIHRoaXMuY2FsbFJvdXRlKGZpbGhvc1swXS5saW5rLCB0cnVlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jYWxsUm91dGUoZmlyc3RNZW51LmxpbmssIHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBuYXZpZ2F0ZVRvTWVudShtZW51OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChtZW51Lm1lbnVwYWkpIHtcclxuICAgICAgY29uc3QgZmlsaG9zID0gdGhpcy5yZXR1cm5NZW51Q2hpbGQobWVudS5pZG1lbnUpO1xyXG4gICAgICBpZiAoZmlsaG9zKSB7XHJcbiAgICAgICAgdGhpcy5jYWxsUm91dGUoZmlsaG9zWzBdLmxpbmssIHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNhbGxSb3V0ZShtZW51LmxpbmssIHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWVudVNlbGVjaW9uYWRvID0gc2lnbmFsPGFueT4obnVsbCk7XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IGxhdGVzdFJlcXVlc3QgPSBjaGFuZ2VzWydtZW51cyddO1xyXG4gICAgaWYgKGxhdGVzdFJlcXVlc3Q/LmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICB0aGlzLm1lbnVzUGVyQXBwKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWxlY2lvbmFyTWVudSgpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIG9uV2luZG93UmVzaXplKCkge1xyXG4gICAgdGhpcy5hZGp1c3RXaWR0aENhcmQoKTtcclxuICAgIC8vIHRoaXMudmVyaWZ5TWVudUJlaGF2aW9yKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBpc1NlbGVjdGVkTWVudVBhaShtZW51OiBhbnkpIHtcclxuICAgIGlmICghdGhpcy5leHBhbmRNZW51KCkgJiYgbWVudS5pbmRtZW51cGFpKVxyXG4gICAgICByZXR1cm4gbWVudS5pZG1lbnUgPT09IHRoaXMubWVudVNlbGVjaW9uYWRvKCk/LmlkbWVudXBhaTtcclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZWxlY2lvbmFyTWVudSgpIHtcclxuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodGhpcy5yb3V0ZXIudXJsLCB3aW5kb3cub3JpZ2luKTtcclxuXHJcbiAgICBjb25zdCBjdXJyZW50UGF0aCA9IHVybC5wYXRobmFtZTtcclxuICAgIGNvbnN0IHB1cmVQYXRoID0gY3VycmVudFBhdGgubWF0Y2goL15bXjtdKi9pKTtcclxuXHJcbiAgICBjb25zdCBwYXRocyA9IHB1cmVQYXRoIVswXTtcclxuXHJcbiAgICB0aGlzLm1lbnVzLnNldChcclxuICAgICAgdGhpcy5tZW51cygpLm1hcCgobWVudSkgPT4ge1xyXG4gICAgICAgIGlmIChtZW51LmxpbmspIHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLm1lbnUsXHJcbiAgICAgICAgICAgIGJnQ29sb3I6IHBhdGhzLmluY2x1ZGVzKG1lbnUubGluayEpID8gJ3JnYig0MSwgMTg1LCA0NSknIDogJycsXHJcbiAgICAgICAgICAgIHRleHRDb2xvcjogcGF0aHMuaW5jbHVkZXMobWVudS5saW5rISkgPyAndGV4dC13aGl0ZScgOiAnJyxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBtZW51O1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG5cclxuICAgIGNvbnN0IG1lbnUgPSB0aGlzLm1lbnVzKCkuZmluZCgobWVudTogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiBtZW51LmxpbmsgJiYgcGF0aHMuaW5jbHVkZXMobWVudS5saW5rISk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm1lbnVTZWxlY2lvbmFkby5zZXQobWVudSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmV0dXJuTWVudUNoaWxkKGlkbWVudTogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tZW51cygpLmZpbHRlcigoeDogYW55KSA9PiB4LmlkbWVudXBhaSA9PSBpZG1lbnUpO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBzZWxlY3RBcHAoaWRhcGxpY2F0aXZvOiBudW1iZXIpIHtcclxuICAgIHRoaXMuc2VsZWN0QXBwRW1pdC5lbWl0KGlkYXBsaWNhdGl2byk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0xpY2VuY2FzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Ryb3Bkb3duTGljZW5jYSAmJiAodGhpcy5tYXN0ZXJzIHx8IFtdKS5sZW5ndGggPiAxO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZU1lbnUoKSB7XHJcbiAgICB0aGlzLmV4cGFuZE1lbnUudXBkYXRlKChjdXJyZW50VmFsdWU6IGJvb2xlYW4pID0+ICFjdXJyZW50VmFsdWUpO1xyXG4gICAgdGhpcy5leHBhbmRNZW51RXZlbnQoKTtcclxuICB9XHJcblxyXG4gIG5hdmlnYXRlVG9EZWZhdWx0Um91dGUoKSB7XHJcbiAgICBpZiAodGhpcy53aWR0aFBhZ2UoKSA8IDgwMCAmJiB0aGlzLmV4cGFuZE1lbnUoKSlcclxuICAgICAgdGhpcy5leHBhbmRNZW51LnNldChmYWxzZSk7XHJcblxyXG4gICAgdGhpcy5uYXZpZ2F0ZVRvRGVmYXVsdFJvdXRlRW1pdC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBnZXQgZXhpYmlyTm9tZXMoKSB7XHJcbiAgICByZXR1cm4gIXRoaXMuc2hvd0xpY2VuY2FzKCkgJiYgKHRoaXMubWFzdGVyTmFtZSB8fCB0aGlzLmVtcHJlc2FOYW1lKTtcclxuICB9XHJcblxyXG4gIGV4aWJpck1lbnVDaGlsZChldmVudDogYW55LCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLm1lbnVWaXNpdmVsLnNldChpbmRleCk7XHJcbiAgICBsZXQgbWVudVBhcmVudDtcclxuICAgIGxldCBtZW51Q2hpbGQ7XHJcbiAgICBpZiAoaW5kZXggPT09IC0xKSB7XHJcbiAgICAgIG1lbnVQYXJlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgbWVudS1zaXN0ZW1hcy1wYXJlbnRgKTtcclxuICAgICAgbWVudUNoaWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYG1lbnUtc2lzdGVtYXMtY2hpbGRgKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBtZW51UGFyZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYG1lbnUtcGFyZW50LSR7aW5kZXh9YCk7XHJcbiAgICAgIG1lbnVDaGlsZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBtZW51LWNoaWxkLSR7aW5kZXh9YCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1lbnVQYXJlbnQpIHtcclxuICAgICAgY29uc3QgcmVjdF9wYXJlbnQgPSBtZW51UGFyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBsZXQgeCA9IHJlY3RfcGFyZW50LnJpZ2h0IC0gMTA7XHJcbiAgICAgIGxldCB5ID0gcmVjdF9wYXJlbnQudG9wIC0gNTtcclxuXHJcbiAgICAgIGlmIChtZW51Q2hpbGQpIHtcclxuICAgICAgICBjb25zdCByZWN0X2NoaWxkID0gbWVudUNoaWxkLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xyXG5cclxuICAgICAgICAvL1ZlcmlmaWNhIHNlIG8gbWVudSBmaWxobyB2YWkgdXRyYXBhc3NhciBvIGZpbmFsIGRvIHZpZXdwb3J0IHByYSBiYWl4b1xyXG4gICAgICAgIGlmIChyZWN0X3BhcmVudC5ib3R0b20gKyByZWN0X2NoaWxkLmhlaWdodCA+IHZpZXdwb3J0SGVpZ2h0KSB7XHJcbiAgICAgICAgICB5ID0gcmVjdF9wYXJlbnQuYm90dG9tIC0gcmVjdF9jaGlsZC5oZWlnaHQgLSAxMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFZlcmlmaWNhIHNlIG8gbWVudSBwYWkgZXN0w6EgbXVpdG8gZW0gY2ltYVxyXG4gICAgICAgIGlmIChyZWN0X3BhcmVudC50b3AgPD0gMCkge1xyXG4gICAgICAgICAgeSA9IHJlY3RfcGFyZW50LmJvdHRvbSArIDU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBtZW51Q2hpbGQuc3R5bGUudG9wID0gYCR7eX1weGA7XHJcbiAgICAgICAgbWVudUNoaWxkLnN0eWxlLmxlZnQgPSBgJHt4fXB4YDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZG93bmxvYWREb2ModHJpbGhhOiBhbnkpIHtcclxuICAgIHRoaXMuZG93bmxvYWREb2NFbWl0LmVtaXQodHJpbGhhKTtcclxuICB9XHJcblxyXG4gIHNob3dWaWRlb0RvYyh0cmlsaGE6IGFueSkge1xyXG4gICAgdGhpcy5zaG93VmlkZW9Eb2NFbWl0LmVtaXQodHJpbGhhKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGZ1bGwtY29udGFpbmVyXCI+XHJcbiAgQGlmKHNob3dNZW51KSB7XHJcbiAgPHAtc2lkZWJhclxyXG4gICAgI3NpZGViYXJSZWZcclxuICAgIFt2aXNpYmxlXT1cInRydWVcIlxyXG4gICAgW3Nob3dDbG9zZUljb25dPVwiZmFsc2VcIlxyXG4gICAgW21vZGFsXT1cImZhbHNlXCJcclxuICAgIFtzdHlsZV09XCJ7IHdpZHRoOiBleHBhbmRNZW51KCkgPyAnMTdyZW0nIDogJzMuNjVyZW0nIH1cIlxyXG4gICAgc3R5bGVDbGFzcz1cInRyYW5zaXRpb24tYWxsXCJcclxuICA+XHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGxlc3NcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImgtZnVsbCBmbGV4IGZsZXgtY29sdW1uIG92ZXJmbG93LWhpZGRlbiBwLTJcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImZsZXgtbm9uZSBmbGV4IGZsZXgtY29sdW1uIGdhcC0zIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGZsZXgtc2hyaW5rLTAgb3ZlcmZsb3ctaGlkZGVuXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8IS0tIExPR08gLS0+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCB7e1xyXG4gICAgICAgICAgICAgIGV4cGFuZE1lbnUoKSA/ICdmbGV4LXJvdycgOiAnZmxleC1jb2x1bW4nXHJcbiAgICAgICAgICAgIH19IGFsaWduLWl0ZW1zLWNlbnRlciB7e1xyXG4gICAgICAgICAgICAgIGV4cGFuZE1lbnUoKVxyXG4gICAgICAgICAgICAgICAgPyAnanVzdGlmeS1jb250ZW50LWJldHdlZW4nXHJcbiAgICAgICAgICAgICAgICA6ICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJ1xyXG4gICAgICAgICAgICB9fSBwLTJcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8IS0tIExvZ28gcGFyYSBvIG1lbnUgZXhwYW5kaWRvIC0tPlxyXG4gICAgICAgICAgICBAaWYoZXhwYW5kTWVudSgpICYmIGxvZ29NZW51RXhwYW5kKXtcclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgIGFsdD1cIkNhcmRcIlxyXG4gICAgICAgICAgICAgIFtzcmNdPVwibG9nb01lbnVFeHBhbmRcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiJzIuNHJlbSdcIlxyXG4gICAgICAgICAgICAgIHdpZHRoPVwiYXV0b1wiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBwLTBcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvRGVmYXVsdFJvdXRlKClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA8IS0tIExvZ28gcGFyYSBvIG1lbnUgbWluaW1pemFkby0tPlxyXG4gICAgICAgICAgICBAaWYoIWV4cGFuZE1lbnUoKSAmJiBsb2dvTWVudUhpZGUpe1xyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgYWx0PVwiQ2FyZFwiXHJcbiAgICAgICAgICAgICAgW3NyY109XCJsb2dvTWVudUhpZGVcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiJzIuNHJlbSdcIlxyXG4gICAgICAgICAgICAgIHdpZHRoPVwiYXV0b1wiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBwLTFcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvRGVmYXVsdFJvdXRlKClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA8IS0tIFRvZ2dsZSBtZW51IC0tPlxyXG4gICAgICAgICAgICBAaWYoc2hvd0V4cGFuZE1lbnUpe1xyXG4gICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBzaWRlLW1lbnUtaXRlbVwiIChjbGljayk9XCJleHBhbmRNZW51LnNldCghZXhwYW5kTWVudSgpKVwiPm1lbnU8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICBAaWYoc2hvd1Ryb2NhRW1wcmVzYSl7XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LXt7XHJcbiAgICAgICAgICAgICAgZXhwYW5kTWVudSgpID8gJ2JldHdlZW4nIDogJ2NlbnRlcidcclxuICAgICAgICAgICAgfX0gZ2FwLTIgdHJvY2EtZW1wcmVzYS1jb250YWluZXIgbWItMyBweS0yIHt7XHJcbiAgICAgICAgICAgICAgIWlzRGlzYWJsZVNlbGVjdGlvbkVtcHJlc2EgJiYgJ3NlbGVjdGFibGUtdHJvY2EtZW1wcmVzYSdcclxuICAgICAgICAgICAgfX1cIlxyXG4gICAgICAgICAgICBbcFRvb2x0aXBdPVwiaXNEaXNhYmxlU2VsZWN0aW9uRW1wcmVzYSA/ICcnIDogJ1Ryb2NhciBkZSBlbXByZXNhJ1wiXHJcbiAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCIhaXNEaXNhYmxlU2VsZWN0aW9uRW1wcmVzYSAmJiBjaGFuZ2VFbXByZXNhKCRldmVudClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICBAaWYoZXhwYW5kTWVudSgpICYmIHNlbGVjdGVkRW1wcmVzYSl7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIHctZnVsbFwiPlxyXG4gICAgICAgICAgICAgIEBpZih0aGlzLnNlbGVjdGVkRW1wcmVzYS5yYXphb3NvY2lhbCl7XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgbXItMiBjb2xvci1zeXN0ZW1cIj5cclxuICAgICAgICAgICAgICAgIHt7IG5hbWVFbXByZXNhKHRoaXMuc2VsZWN0ZWRFbXByZXNhLnJhemFvc29jaWFsKSB9fVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICB9IEBpZih0aGlzLnNlbGVjdGVkRW1wcmVzYS5jcGZjbnBqKXtcclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQteHMgbXQtMSBjb2xvci1zeXN0ZW1cIj57e1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEVtcHJlc2EuY3BmY25waiB8IGNwZkNucGpcclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgfSBAaWYoIWlzRGlzYWJsZVNlbGVjdGlvbkVtcHJlc2EpIHtcclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+c3dhcF9ob3Jpejwvc3Bhbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSBNRU5VUyAtLT5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImZsZXgtMSBsaXN0LW5vbmUgbS0wIG92ZXJmbG93LXktYXV0byBtYXgtaC1mdWxsIG1lbnVzLWNvbnRhaW5lclwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPCEtLSBtZW51cyAtLT5cclxuICAgICAgICAgIEBmb3IgKG1lbnUgb2YgbWVudXMoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICBAaWYoIWlkc0FwbGljYXRpdm9zTWVudUhpZGUuaW5jbHVkZXMobWVudS5pZGFwbGljYXRpdm8pKXtcclxuICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgPCEtLSBtZW51IHF1ZSBuw6NvIHRlbSBmaWxobyAtLT5cclxuICAgICAgICAgICAgQGlmKCAhbWVudS5pbmRtZW51cGFpICYmICghbWVudS5pZG1lbnVwYWkgfHwgbWVudS5pZG1lbnVwYWkgPT0gMCkpe1xyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQte3tcclxuICAgICAgICAgICAgICAgIGV4cGFuZE1lbnUoKSA/ICdiZXR3ZWVuJyA6ICdjZW50ZXInXHJcbiAgICAgICAgICAgICAgfX0gZ2FwLTIgc2lkZS1tZW51LWl0ZW1cIlxyXG4gICAgICAgICAgICAgIHN0eWxlPVwicGFkZGluZy10b3A6IDAuNzVyZW07IHBhZGRpbmctYm90dG9tOiAwLjc1cmVtXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2FsbFJvdXRlKG1lbnUubGluaylcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+e3tcclxuICAgICAgICAgICAgICAgIG1lbnUuaWNvbmUgfHwgXCJsZW5zX2JsdXJcIlxyXG4gICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIEBpZihleHBhbmRNZW51KCkpe1xyXG4gICAgICAgICAgICAgIDxsYWJlbD57eyBtZW51LmRlc2NyaWNhb21lbnUgfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPCEtLSBtZW51IGNvbSBmaWxobyAtLT5cclxuICAgICAgICAgICAgQGlmKG1lbnUuaW5kbWVudXBhaSl7XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cIm1lbnUtcGFyZW50XCJcclxuICAgICAgICAgICAgICBpZD1cIm1lbnUtcGFyZW50LXt7ICRpbmRleCB9fVwiXHJcbiAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwiZXhpYmlyTWVudUNoaWxkKCRldmVudCwgJGluZGV4KVwiXHJcbiAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwibWVudVZpc2l2ZWwuc2V0KHVuZGVmaW5lZClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCIgZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LXt7XHJcbiAgICAgICAgICAgICAgICAgIGV4cGFuZE1lbnUoKSA/ICdiZXR3ZWVuJyA6ICdjZW50ZXInXHJcbiAgICAgICAgICAgICAgICB9fSBnYXAtMiBzaWRlLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cInBhZGRpbmctdG9wOiAwLjc1cmVtOyBwYWRkaW5nLWJvdHRvbTogMC43NXJlbVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+e3tcclxuICAgICAgICAgICAgICAgICAgbWVudS5pY29uZSB8fCBcImxlbnNfYmx1clwiXHJcbiAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIEBpZihleHBhbmRNZW51KCkpe1xyXG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7IG1lbnUuZGVzY3JpY2FvbWVudSB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5jaGV2cm9uX3JpZ2h0PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1lbnUtY2hpbGRzXCJcclxuICAgICAgICAgICAgICAgIGlkPVwibWVudS1jaGlsZC17eyAkaW5kZXggfX1cIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLm9wYWNpdHldPVwibWVudVZpc2l2ZWwoKSA9PT0gJGluZGV4ID8gJzEnIDogJzAnXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5wb2ludGVyRXZlbnRzXT1cIlxyXG4gICAgICAgICAgICAgICAgICBtZW51VmlzaXZlbCgpID09PSAkaW5kZXggPyAnYXV0bycgOiAnbm9uZSdcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicC0wIG0tMCBmb250LWJvbGQgcHQtMiBweC0yIHRleHQteHNcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBtZW51LmRlc2NyaWNhb21lbnUgfX1cclxuICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8cC1kaXZpZGVyXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC0wIG0tMFwiXHJcbiAgICAgICAgICAgICAgICAgIFtzdHlsZS5vcGFjaXR5XT1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwic29saWRcIlxyXG4gICAgICAgICAgICAgICAgPjwvcC1kaXZpZGVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtY2hpbGRzLWNvbnRlbnQgcC0wIG0tMFwiPlxyXG4gICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIHJldHVybk1lbnVDaGlsZChtZW51LmlkbWVudSk7IHRyYWNrICRpbmRleCkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2lkZS1tZW51LWl0ZW0gcHktMiBweC0yIHRleHQtc21cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYWxsUm91dGUoaXRlbS5saW5rKVwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmRlc2NyaWNhb21lbnUgfX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICAgIH0gfVxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICBAaWYodXNlU2VsZWN0aW9uQXBwcykge1xyXG4gICAgICAgIDwhLS0gQVBQUyBFIFNBSVIgLS0+XHJcbiAgICAgICAgPHAtZGl2aWRlciBjbGFzcz1cInB4LTJcIiBbc3R5bGUub3BhY2l0eV09XCIxXCIgdHlwZT1cInNvbGlkXCI+PC9wLWRpdmlkZXI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LW5vbmUgbGlzdC1ub25lIG0tMCBvdmVyZmxvdy15LWF1dG8gbWF4LWgtZnVsbFwiPlxyXG4gICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtZW51LXBhcmVudFwiXHJcbiAgICAgICAgICAgICAgaWQ9XCJtZW51LXNpc3RlbWFzLXBhcmVudFwiXHJcbiAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwiZXhpYmlyTWVudUNoaWxkKCRldmVudCwgLTEpXCJcclxuICAgICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJtZW51VmlzaXZlbC5zZXQodW5kZWZpbmVkKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8IS0tIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LXt7XHJcbiAgICAgICAgICAgICAgICAgIGV4cGFuZE1lbnUoKSA/ICdiZXR3ZWVuJyA6ICdjZW50ZXInXHJcbiAgICAgICAgICAgICAgICB9fSBnYXAtMiBzaWRlLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cInBhZGRpbmctdG9wOiAwLjc1cmVtOyBwYWRkaW5nLWJvdHRvbTogMC43NXJlbVwiXHJcbiAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwiIWV4cGFuZE1lbnUoKSA/ICdTaXN0ZW1hcycgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+Z3JpZF92aWV3PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBAaWYoZXhwYW5kTWVudSgpKXtcclxuICAgICAgICAgICAgICAgIDxsYWJlbD5TaXN0ZW1hczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5jaGV2cm9uX3JpZ2h0PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQte3tcclxuICAgICAgICAgICAgICAgICAgZXhwYW5kTWVudSgpID8gJ2JldHdlZW4nIDogJ2NlbnRlcidcclxuICAgICAgICAgICAgICAgIH19IGdhcC0yIHNpZGUtbWVudS1pdGVtLXN5c3RlbSB0cm9jYS1zaXN0ZW1hLWNvbnRhaW5lciBweS0yXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxwLWF2YXRhclxyXG4gICAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktdGgtbGFyZ2VcIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwibXItMlwiXHJcbiAgICAgICAgICAgICAgICAgIHNpemU9XCJub3JtYWxcIlxyXG4gICAgICAgICAgICAgICAgICBbc3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogJ3JnYih2YXIoLS1rdi1jb2xvci1zeXN0ZW0pLCAxKScsXHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICd3aGl0ZSdcclxuICAgICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICAvPiAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1jb2xvcic6ICdyZ2IodmFyKC0ta3YtY29sb3Itc3lzdGVtKSwgLjIpJyxcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYih2YXIoLS1rdi1jb2xvci1zeXN0ZW0pLCAxKScsXHJcbiAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnLjVyZW0nLFxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICcuMjVyZW0nXHJcbiAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICBkYXNoYm9hcmRfY3VzdG9taXplXHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIEBpZihleHBhbmRNZW51KCkpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIHctZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gZm9udC1zZW1pYm9sZCBtci0yIGNvbG9yLXN5c3RlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIE1ldXMgU2lzdGVtYXNcclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCJcclxuICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIidyZ2IodmFyKC0ta3YtY29sb3Itc3lzdGVtKSwgMSknXCJcclxuICAgICAgICAgICAgICAgICAgPnVuZm9sZF9tb3JlPC9zcGFuXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWVudS1jaGlsZHNcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtZW51LXNpc3RlbWFzLWNoaWxkXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5vcGFjaXR5XT1cIm1lbnVWaXNpdmVsKCkgPT09IC0xID8gJzEnIDogJzAnXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5wb2ludGVyRXZlbnRzXT1cIm1lbnVWaXNpdmVsKCkgPT09IC0xID8gJ2F1dG8nIDogJ25vbmUnXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInAtMCBtLTAgZm9udC1ib2xkIHB0LTIgcGwtMyB0ZXh0LXhzXCI+U2lzdGVtYXM8L3A+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIGFwcHM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHNpZGUtbWVudS1pdGVtIHB5LTIgcGwtMyBwci0xXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGNhbGxSb3V0ZShpdGVtLnJvdGFwYWRyYW8pOyBzZWxlY3RBcHAoaXRlbS5pZGFwbGljYXRpdm8pXHJcbiAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0udXJsaWNvbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaC0ycmVtIHctMnJlbSBib3JkZXItcm91bmQtbGdcIlxyXG4gICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ubm9tZWFwbGljYXRpdm8gfX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgPCEtLSA8bGk+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC17e1xyXG4gICAgICAgICAgICAgICAgZXhwYW5kTWVudSgpID8gJ2JldHdlZW4nIDogJ2NlbnRlcidcclxuICAgICAgICAgICAgICB9fSBnYXAtMiBzaWRlLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgICAgc3R5bGU9XCJwYWRkaW5nLXRvcDogMC43NXJlbTsgcGFkZGluZy1ib3R0b206IDAuNzVyZW1cIlxyXG4gICAgICAgICAgICAgIFtwVG9vbHRpcF09XCIhZXhwYW5kTWVudSgpID8gJ1NhaXInIDogJydcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCIncmdiYSgyNTIsIDMsIDMsIDAuNiknXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwibG9nb3V0KCRldmVudClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+ZXhpdF90b19hcHA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgQGlmKGV4cGFuZE1lbnUoKSl7XHJcbiAgICAgICAgICAgICAgPGxhYmVsPlNhaXI8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2xpPiAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L3Atc2lkZWJhcj5cclxuICB9XHJcblxyXG4gIDwhLS0gU0XDh8ODTyBDT05URcOaRE8gIC0tPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwidy1hdXRvIGgtc2NyZWVuIHBhZ2UtY29udGVudCBvdmVyZmxvdy15LWhpZGRlbiBmbGV4IGZsZXgtY29sdW1uXCJcclxuICAgIGlkPVwicGFnZS1jb250ZW50XCJcclxuICAgIHN0eWxlPVwid2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnRcIlxyXG4gID5cclxuICAgIDwhLS0gVE9QTyAtLT5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXktMiBteC0zIG1iLTBcIlxyXG4gICAgPlxyXG4gICAgICBAaWYoIXNob3dNZW51KSB7XHJcbiAgICAgIDwhLS0gTG9nbyBob21lIC0tPlxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJsb2dvTWVudUV4cGFuZFwiIHdpZHRoPVwiMTUwXCIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICA8IS0tIEJyZWFkY3J1bWJzIC0tPlxyXG4gICAgICBAaWYoc2hvd0JyZWFkY3J1bWIpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImgtZnVsbFwiPlxyXG4gICAgICAgIDxwLWJyZWFkY3J1bWJcclxuICAgICAgICAgICpuZ0lmPVwid2lkdGhDYXJkID4gNDAwXCJcclxuICAgICAgICAgIHN0eWxlQ2xhc3M9XCJib3JkZXItbm9uZSBwLTAgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgaC0ycmVtIGJnLXRyYW5zcGFyZW50XCJcclxuICAgICAgICAgIFttb2RlbF09XCJicmVhZENydW1iSXRlbXNcIlxyXG4gICAgICAgICAgKG9uSXRlbUNsaWNrKT1cImNhbGxSb3V0ZSgkZXZlbnQuaXRlbS5yb3V0ZXJMaW5rLCB0cnVlKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cIml0ZW1cIiBsZXQtaXRlbSBsZXQtaT1cImluZGV4XCI+XHJcbiAgICAgICAgICAgIEBpZihicmVhZENydW1iSXRlbXMuaW5kZXhPZihpdGVtKSA8IGJyZWFkQ3J1bWJJdGVtcy5sZW5ndGggLSAxKXtcclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LW5vcm1hbFwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9wLWJyZWFkY3J1bWI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgPCEtLSBHSE9TVCBESVYgUEFSQSBPQ1BVQVIgRVNQQcOHTyBOTyBTUEFDRSBCRVRXRUVOIC0tPlxyXG4gICAgICA8ZGl2PjwvZGl2PlxyXG4gICAgICB9IH0gQGlmIChleGliaXJOb21lcykgeyBAaWYod2lkdGhDYXJkID49IDUxNykge1xyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJ3LWF1dG8gZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiXHJcbiAgICAgID5cclxuICAgICAgICBAaWYgKG1hc3Rlck5hbWUpIHtcclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtc2VtaWJvbGQgc3lzdGVtLWNvbG9yXCI+e3sgbWFzdGVyTmFtZSB9fTwvc3Bhbj4gfSBAaWZcclxuICAgICAgICAoZW1wcmVzYU5hbWUpIHs8c3BhbiBjbGFzcz1cImVtcHJlc2EtbmFtZVwiXHJcbiAgICAgICAgICA+T3JnYW5pemHDp8Ojbzoge3sgZW1wcmVzYU5hbWUgfX08L3NwYW5cclxuICAgICAgICA+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cInctYXV0byBmbGV4IGZsZXgtcm93IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCJcclxuICAgICAgPlxyXG4gICAgICAgIDwhLS0gTmF2ZWdhw6fDo28gZGUgc2lzdGVtYXMgZSB1c3XDoXJpb3MgLS0+XHJcbiAgICAgICAgPCEtLSBAZm9yICh0b3BBY3Rpb24gb2YgdG9wTWVudUFjdGlvbnMoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0b3BBY3Rpb25cIiAvPlxyXG4gICAgICAgICAgICB9IC0tPlxyXG4gICAgICAgIDxrdi10b3AtaWNvbnMgW3RvcEFjdGlvbnNdPVwidG9wTWVudU9wdGlvbnNcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cInctYXV0byBmbGV4IGZsZXgtcm93IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCJcclxuICAgICAgPlxyXG4gICAgICAgIDwhLS0gTmF2ZWdhw6fDo28gZGUgc2lzdGVtYXMgZSB1c3XDoXJpb3MgLS0+XHJcbiAgICAgICAgPCEtLSBAZm9yICh0b3BBY3Rpb24gb2YgdG9wTWVudUFjdGlvbnMoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0b3BBY3Rpb25cIiAvPlxyXG4gICAgICAgICAgICB9IC0tPlxyXG4gICAgICAgIDxrdi10b3AtaWNvbnMgW3RvcEFjdGlvbnNdPVwidG9wTWVudU9wdGlvbnNcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cInctYXV0byBmbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCJcclxuICAgICAgPlxyXG4gICAgICAgIEBpZiAobWFzdGVyTmFtZSkgeyA8c3BhbiBjbGFzcz1cIm1hc3Rlci1uYW1lXCI+e3sgbWFzdGVyTmFtZSB9fTwvc3Bhbj4gfVxyXG4gICAgICAgIEBpZiAoZW1wcmVzYU5hbWUpIHs8c3BhbiBjbGFzcz1cImVtcHJlc2EtbmFtZVwiPnt7IGVtcHJlc2FOYW1lIH19PC9zcGFuPiB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9IH0gQGVsc2UgeyBAaWYod2lkdGhQYWdlKCkgPiA5OTIpe1xyXG4gICAgICA8IS0tIGRyb3Bkb3duIHBhcmEgc2VsZcOnw6NvIGRlIGVtcHJlc2EvbGljZW5jYSAtLT5cclxuICAgICAgPGRyb3Bkb3duLW1hc3RlclxyXG4gICAgICAgICpuZ0lmPVwic2hvd0xpY2VuY2FzKClcIlxyXG4gICAgICAgIGNsYXNzPVwibWF4LXctMjVyZW0gZmxleC0xXCJcclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpZG1hc3RlclwiXHJcbiAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxyXG4gICAgICAgIFttYXN0ZXJzXT1cIm1hc3RlcnNcIlxyXG4gICAgICAgIChvblNlbGVjdGlvbkNoYW5nZSk9XCJjaGFuZ2VMaWNlbnNlKCRldmVudClcIlxyXG4gICAgICAgIChvblNlbGVjdGlvblZhbHVlKT1cImNoYW5nZUxpY2Vuc2UoJGV2ZW50KVwiXHJcbiAgICAgID5cclxuICAgICAgPC9kcm9wZG93bi1tYXN0ZXI+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDwhLS0gTmF2ZWdhw6fDo28gZGUgc2lzdGVtYXMgZSB1c3XDoXJpb3MgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3LWF1dG8gZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICA8a3YtdG9wLWljb25zIFt0b3BBY3Rpb25zXT1cInRvcE1lbnVPcHRpb25zXCIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIEBpZih3aWR0aFBhZ2UoKSA8PSA5OTIpe1xyXG4gICAgPCEtLSBkcm9wZG93biBwYXJhIHNlbGXDp8OjbyBkZSBlbXByZXNhL2xpY2VuY2EgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaC0ycmVtIG14LTNcIj5cclxuICAgICAgPGRyb3Bkb3duLW1hc3RlclxyXG4gICAgICAgICpuZ0lmPVwic2hvd0xpY2VuY2FzKClcIlxyXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlkbWFzdGVyXCJcclxuICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXHJcbiAgICAgICAgW21hc3RlcnNdPVwibWFzdGVyc1wiXHJcbiAgICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlKT1cImNoYW5nZUxpY2Vuc2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uU2VsZWN0aW9uVmFsdWUpPVwiY2hhbmdlTGljZW5zZSgkZXZlbnQpXCJcclxuICAgICAgLz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIH1cclxuXHJcbiAgICA8IS0tIENvbnRhaW5lciAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJvdmVyZmxvdy1oaWRkZW4gZmxleC0xIHAtMCBtLTAgbWItMiBoLWZ1bGxcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwib3ZlcmZsb3cteS1hdXRvIGgtZnVsbCBtYXgtaC1mdWxsIHt7XHJcbiAgICAgICAgICAhc2hvd01lbnUgJiYgJ3NtOm92ZXJmbG93LXktaGlkZGVuJ1xyXG4gICAgICAgIH19IGNhcmQtY29udGFpbmVyXHJcbiAgICAgICAgXHJcbiAgICAgICAge3sgdXNlQ2FyZCA/ICd1c2UtY2FyZCcgOiAnJyB9fVxyXG4gICAgICAgIFwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gUGFpbmVsIGRvIHVzdcOhcmlvIC0tPlxyXG4gIDxwLW92ZXJsYXlQYW5lbFxyXG4gICAgI21ldXNEYWRvc1BhbmVsXHJcbiAgICBbc2hvd1RyYW5zaXRpb25PcHRpb25zXT1cIiczNTBtcyBlYXNlLW91dCdcIlxyXG4gICAgW2hpZGVUcmFuc2l0aW9uT3B0aW9uc109XCInMjUwbXMgZWFzZS1pbidcIlxyXG4gID5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250YWluZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInAtMyBmbGV4IGZsZXgtY29sdW1uIGdhcC0yXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciB7e1xyXG4gICAgICAgICAgICBzaG93VHJpbGhhQ29uaGVjaW1lbnRvICYmICdqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbidcclxuICAgICAgICAgIH19IGdhcC0yXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8cC1hdmF0YXJcclxuICAgICAgICAgICAgaWNvbj1cInBpIHBpLXVzZXJcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm1yLTJcIlxyXG4gICAgICAgICAgICBzaXplPVwieGxhcmdlXCJcclxuICAgICAgICAgICAgc2hhcGU9XCJjaXJjbGVcIlxyXG4gICAgICAgICAgICBbc3R5bGVdPVwieyB3aWR0aDogJzQuNXJlbScsIGhlaWdodDogJzQuNXJlbScgfVwiXHJcbiAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIHt7XHJcbiAgICAgICAgICAgICAgc2hvd1RyaWxoYUNvbmhlY2ltZW50byA/ICd3LTE4cmVtJyA6ICd3LTEycmVtJ1xyXG4gICAgICAgICAgICB9fSBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiXHJcbiAgICAgICAgICAgIFtzdHlsZV09XCJ7IGhlaWdodDogJzQuNXJlbScgfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LW1lZGl1bSB0ZXh0LW1kIG92ZXJmbG93LWhpZGRlbiB3aGl0ZS1zcGFjZS1ub3dyYXAgdGV4dC1vdmVyZmxvdy1lbGxpcHNpc1wiXHJcbiAgICAgICAgICAgICAgPk9sw6EsIHt7IHVzZXJOYW1lLnNwbGl0KFwiIFwiKVswXSB9fSE8L3NwYW5cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1tZWRpdW0gdGV4dC14cyB0ZXh0LWdyYXktNTAwIG92ZXJmbG93LWhpZGRlbiB3aGl0ZS1zcGFjZS1ub3dyYXAgdGV4dC1vdmVyZmxvdy1lbGxpcHNpc1wiXHJcbiAgICAgICAgICAgICAgPnt7IHVzZXJFbWFpbCB9fTwvc3BhblxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxrdi1idXR0b25cclxuICAgICAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgICBsYWJlbD1cIkdlcmVuY2lhciBLZWVQYXNzXCJcclxuICAgICAgICAgICAgICAob25DbGljayk9XCJhY2Nlc3NLZWVQYXNzKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidy0xMnJlbVwiXHJcbiAgICAgICAgICAgID48L2t2LWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICBAaWYoYWN0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgPHAtZGl2aWRlcj48L3AtZGl2aWRlcj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gdGV4dC1zbVwiPlxyXG4gICAgICAgICAgQGZvciAoYWN0aW9uIG9mIGFjdGlvbnM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgc2lkZS1tZW51LWl0ZW0gcC0yXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uLmFjdGlvbigpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPnt7IGFjdGlvbi5pY29uIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuPnt7IGFjdGlvbi5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9IEBpZihzaG93VHJpbGhhQ29uaGVjaW1lbnRvKSB7XHJcbiAgICAgICAgPHAtZGl2aWRlcj48L3AtZGl2aWRlcj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gZ2FwLTNcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtZ3JheS01MDBcIlxyXG4gICAgICAgICAgICA+VHJpbGhhIGRvIENvbmhlY2ltZW50bzwvc3BhblxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgQGZvcih0cmlsaGEgb2YgdHJpbGhhQ29uaGVjaW1lbnRvOyB0cmFjayAkaW5kZXgpIHtcclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtMiBtYXgtdy0yNXJlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGJvcmRlci1yb3VuZC1tZCB0cmlsaGEtaWNvblwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgdGV4dC0yeGxcIj57e1xyXG4gICAgICAgICAgICAgICAgdHJpbGhhLmljb25cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMjByZW1cIj5cclxuICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIG92ZXJmbG93LWhpZGRlbiB3aGl0ZS1zcGFjZS1ub3dyYXAgdGV4dC1vdmVyZmxvdy1lbGxpcHNpcyB0ZXh0LWdyYXktNTAwXCJcclxuICAgICAgICAgICAgICAgID57eyB0cmlsaGEudGl0bGUgfX08L3NwYW5cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC14cyB0ZXh0LWdyYXktNDAwIG92ZXJmbG93LWhpZGRlbiB3aGl0ZS1zcGFjZS1ub3dyYXAgdGV4dC1vdmVyZmxvdy1lbGxpcHNpc1wiXHJcbiAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwidHJpbGhhLnN1YnRpdGxlXCJcclxuICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2xlZnQnXCJcclxuICAgICAgICAgICAgICAgID57eyB0cmlsaGEuc3VidGl0bGUgfX08L3NwYW5cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBidXR0b24taWNvblwiXHJcbiAgICAgICAgICAgICAgICAgIFtwVG9vbHRpcF09XCInQmFpeGFyIERvY3VtZW50bydcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZG93bmxvYWREb2ModHJpbGhhKVwiXHJcbiAgICAgICAgICAgICAgICAgID5kb3dubG9hZDwvc3BhblxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGJ1dHRvbi1pY29uXCJcclxuICAgICAgICAgICAgICAgICAgW3BUb29sdGlwXT1cIidBc3Npc3RpciBWw61kZW8nXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dWaWRlb0RvYyh0cmlsaGEpXCJcclxuICAgICAgICAgICAgICAgICAgPnZpZGVvY2FtPC9zcGFuXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA8cC1kaXZpZGVyPjwvcC1kaXZpZGVyPlxyXG5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGdhcC0yIHNpZGUtbWVudS1pdGVtIHAtMlwiXHJcbiAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiJ3JnYmEoMjUyLCAzLCAzLCAwLjYpJ1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwibG9nb3V0KCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPmV4aXRfdG9fYXBwPC9zcGFuPlxyXG4gICAgICAgICAgPGxhYmVsPlNhaXI8L2xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9wLW92ZXJsYXlQYW5lbD5cclxuPC9kaXY+XHJcbiJdfQ==
433
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC9sYXlvdXQva3YtbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC9sYXlvdXQva3YtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFFTCxTQUFTLEVBR1QsTUFBTSxFQUNOLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBR0wsTUFBTSxFQUNOLE1BQU0sRUFHTixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQ3ZCLE1BQU0sT0FBTyxpQkFBaUI7SUE4TDVCLFlBQ1UsR0FBc0IsRUFDdEIsRUFBZSxFQUNiLE1BQWMsRUFDZCxjQUE4QjtRQUhoQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQWpNakMsU0FBSSxHQVVQLEVBQUUsQ0FBQztRQUVBLFlBQU8sR0FBMEQsRUFBRSxDQUFDO1FBRXBFLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFeEI7Ozs7Ozs7Ozs7Ozs7OztXQWVHO1FBQ0gsb0JBQWUsR0FBRyxLQUFLLENBQXNHLEVBQUUsQ0FBQyxDQUFDO1FBRWpJLG1CQUFjLEdBQXNCO1lBQ2xDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0Is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QUEzQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csMEJBQTBCO3NCQUFuQyxNQUFNO2dCQUVHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUdzQixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkF3TXBCLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBjb21wdXRlZCxcclxuICBjb250ZW50Q2hpbGRyZW4sXHJcbiAgZWZmZWN0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgaW5wdXQsXHJcbiAgSW5wdXQsXHJcbiAgbW9kZWwsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgc2lnbmFsLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFdyaXRhYmxlU2lnbmFsLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgT3ZlcmxheVBhbmVsIH0gZnJvbSAncHJpbWVuZy9vdmVybGF5cGFuZWwnO1xyXG5pbXBvcnQgeyBTaWRlYmFyIH0gZnJvbSAncHJpbWVuZy9zaWRlYmFyJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBhbmltYXRlLFxyXG4gIHN0YXRlLFxyXG4gIHN0eWxlLFxyXG4gIHRyYW5zaXRpb24sXHJcbiAgdHJpZ2dlcixcclxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgVG9wQWN0aW9uc01vZGVsIH0gZnJvbSAnLi4vdG9wLWljb25zL3RvcC1pY29ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBsaW5rIH0gZnJvbSAnZDMnO1xyXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGF5b3V0TWVudUl0ZW0ge1xyXG4gIGlkbWVudTogbnVtYmVyO1xyXG4gIGlkbWVudXBhaTogbnVtYmVyIHwgbnVsbDtcclxuICBpZGFwbGljYXRpdm86IG51bWJlcjtcclxuICBkZXNjcmljYW9tZW51OiBzdHJpbmc7XHJcbiAgbGluazogc3RyaW5nIHwgbnVsbDtcclxuICBpY29uZTogc3RyaW5nIHwgbnVsbDtcclxuICBpbmRwdWJsaWNhZG86IGJvb2xlYW47XHJcbiAgaW5kbWVudXBhaTogYm9vbGVhbjtcclxuICBsaXN0YWlkdmlzYW9tZW51OiBudW1iZXJbXTtcclxuICBiZ0NvbG9yPzogc3RyaW5nO1xyXG4gIHRleHRDb2xvcj86IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1sYXlvdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2t2LWxheW91dC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgYXBwczoge1xyXG4gICAgaWRhcGxpY2F0aXZvOiBudW1iZXI7XHJcbiAgICBpZHNpc3RlbWE6IG51bWJlcjtcclxuICAgIG5vbWVhcGxpY2F0aXZvOiBzdHJpbmc7XHJcbiAgICBkZXNjcmljYW9hcGxpY2F0aXZvOiBzdHJpbmc7XHJcbiAgICByb3RhcGFkcmFvOiBzdHJpbmc7XHJcbiAgICBpbmRwdWJsaWNhZG86IGJvb2xlYW47XHJcbiAgICBpbmRwdWJsaWNhY2FvZ3JhZGF0aXZhOiBib29sZWFuO1xyXG4gICAgaW5kZXhpZ2VlbXByZXNhZW50cmFkYTogYm9vbGVhbjtcclxuICAgIHVybGljb25lPzogc3RyaW5nO1xyXG4gIH1bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBhY3Rpb25zOiB7IGljb246IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgYWN0aW9uOiAoKSA9PiB2b2lkIH1bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSB1c2VDYXJkID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5kaWNhIHF1YWlzIG1lbnVzIHPDo28gdmlzw612ZWlzIG5vIHRvcG8uXHJcbiAgICogXHJcbiAgICogQHR5cGUge0FycmF5PHtpZDogbnVtYmVyLCBudW1Ob3RpZmljYXRpb25zPzogbnVtYmVyLCBhY3Rpb24/OiAoZTogYW55KSA9PiB2b2lkfT59XHJcbiAgICogXHJcbiAgICogT3DDp8O1ZXMgZGlzcG9uw612ZWlzOlxyXG4gICAqIC0gMiAtIEtpYXJhIFxyXG4gICAqIC0gMyAtIE5vdGlmaWNhw6fDtWVzXHJcbiAgICogLSA0IC0gVGFyZWZhc1xyXG4gICAqIC0gNSAtIENvbXVuaWNhZG9yXHJcbiAgICogXHJcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGlkIC0gaWRlbnRpZmljYWRvciBkbyBtZW51LlxyXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbbnVtTm90aWZpY2F0aW9uc10gLSBOw7ptZXJvIGRlIG5vdGlmaWNhw6fDtWVzIChvcGNpb25hbCkuXHJcbiAgICogQHByb3BlcnR5IHsoZTogYW55KSA9PiB2b2lkfSBbYWN0aW9uXSAtIEHDp8OjbyBkbyBjbGlxdWUsIHF1ZSByZXRvcm5hIG8gZXZlbnRvIGRvIGNsaXF1ZSAob3B0aW9uYWwpLlxyXG4gICAqIFxyXG4gICAqLyBcclxuICB0b3BNZW51c1Zpc2libGUgPSBpbnB1dDx7IGlkOiBudW1iZXIsIG51bU5vdGlmaWNhdGlvbnM/OiBudW1iZXIsIGJvb2xOb3RpZmljYXRpb25zPzogYm9vbGVhbiwgYWN0aW9uPzogKGU6IGFueSkgPT4gdm9pZCB9W10+KFtdKTtcclxuXHJcbiAgdG9wTWVudU9wdGlvbnM6IFRvcEFjdGlvbnNNb2RlbFtdID0gW1xyXG4gICAgeyBpZDogMSwgdmlzaWJsZTogdHJ1ZSwgaWNvbjogJ3BlcnNvbicsIHRvb2x0aXA6ICdNZXVzIERhZG9zJywgbnVtTm90aWZpY2F0aW9uczogMCwgYWN0aW9uOiAoZTogYW55KSA9PiB7IHRoaXMubWV1c0RhZG9zUGFuZWwudG9nZ2xlKGUpIH0gfSxcclxuICAgIHsgaWQ6IDIsIHZpc2libGU6IGZhbHNlLCBpY29uOiAna2lhcmEnLCB0b29sdGlwOiAnS2lhcmEnLCBudW1Ob3RpZmljYXRpb25zOiAwLCBhY3Rpb246ICgpID0+IHsgfSB9LFxyXG4gICAgeyBpZDogMywgdmlzaWJsZTogZmFsc2UsIGljb246ICdub3RpZmljYXRpb25zJywgdG9vbHRpcDogJ05vdGlmaWNhw6fDtWVzJywgbnVtTm90aWZpY2F0aW9uczogMCwgYWN0aW9uOiAoKSA9PiB7IH0gfSxcclxuICAgIHsgaWQ6IDQsIHZpc2libGU6IGZhbHNlLCBpY29uOiAnY2hlY2tsaXN0JywgdG9vbHRpcDogJ1RhcmVmYXMnLCBudW1Ob3RpZmljYXRpb25zOiAwLCBhY3Rpb246ICgpID0+IHsgfSB9LFxyXG4gICAgeyBpZDogNSwgdmlzaWJsZTogZmFsc2UsIGljb246ICdjaGF0JywgdG9vbHRpcDogJ0NvbXVuaWNhZG9yJywgbnVtTm90aWZpY2F0aW9uczogMCwgYWN0aW9uOiAoKSA9PiB7IH0gfSxcclxuICBdO1xyXG5cclxuICB0b3BNZW51T3B0aW9uc1JldmVyc2VkID0gZmFsc2U7XHJcblxyXG4gIHByb2Nlc3Nhcl9tZW51cyA9IGVmZmVjdCgoKSA9PiB7XHJcbiAgICBjb25zdCBtZW51c1Zpc2l2ZWlzID0gdGhpcy50b3BNZW51c1Zpc2libGUoKTtcclxuXHJcbiAgICBpZiAodGhpcy5wcm9maWxlSW1hZ2UoKSkge1xyXG4gICAgICB0aGlzLnRvcE1lbnVPcHRpb25zWzBdLmltZyA9IHRoaXMucHJvZmlsZUltYWdlKCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vaW52ZXJ0ZXIgbyB0b3BNZW51T3B0aW9uc1xyXG4gICAgaWYgKCF0aGlzLnRvcE1lbnVPcHRpb25zUmV2ZXJzZWQpIHtcclxuICAgICAgdGhpcy50b3BNZW51T3B0aW9ucy5yZXZlcnNlKCk7XHJcbiAgICAgIHRoaXMudG9wTWVudU9wdGlvbnNSZXZlcnNlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgbWVudXNWaXNpdmVpcy5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgbGV0IG1lbnUgPSB0aGlzLnRvcE1lbnVPcHRpb25zLmZpbmQoKHgpID0+IHguaWQgPT09IGl0ZW0uaWQpO1xyXG4gICAgICBpZiAobWVudSkge1xyXG4gICAgICAgIG1lbnUudmlzaWJsZSA9IHRydWU7XHJcbiAgICAgICAgaWYgKGl0ZW0uYWN0aW9uKSB7XHJcbiAgICAgICAgICBtZW51LmFjdGlvbiA9IGl0ZW0uYWN0aW9uO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaXRlbS5udW1Ob3RpZmljYXRpb25zICE9IHVuZGVmaW5lZCAmJiBpdGVtLm51bU5vdGlmaWNhdGlvbnMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgbWVudS5udW1Ob3RpZmljYXRpb25zID0gaXRlbS5udW1Ob3RpZmljYXRpb25zO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaXRlbS5ib29sTm90aWZpY2F0aW9ucyAhPSB1bmRlZmluZWQgJiYgaXRlbS5ib29sTm90aWZpY2F0aW9ucyAhPSBudWxsKSB7XHJcbiAgICAgICAgICBtZW51LmJvb2xOb3RpZmljYXRpb25zID0gaXRlbS5ib29sTm90aWZpY2F0aW9ucztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICBwcm9maWxlSW1hZ2UgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHJcbiAgQElucHV0KCkgYnJlYWRDcnVtYkl0ZW1zOiB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgcm91dGVyTGluazogc3RyaW5nO1xyXG4gIH1bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBtYXN0ZXJzOiB7XHJcbiAgICBpZG1hc3RlcjogbnVtYmVyO1xyXG4gICAgY3BmY25wajogc3RyaW5nO1xyXG4gICAgbm9tZTogc3RyaW5nO1xyXG4gICAgaWRtYXN0ZXJub21lOiBzdHJpbmc7XHJcbiAgfVtdID0gW107XHJcblxyXG4gIG1lbnVzID0gbW9kZWw8TGF5b3V0TWVudUl0ZW1bXT4oW10pO1xyXG4gIG1lbnVWaXNpdmVsID0gc2lnbmFsPG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuICBzaG93TWVudVNpc3RlbWFzID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgZXhwYW5kTWVudSA9IG1vZGVsPGJvb2xlYW4+KHRydWUpO1xyXG5cclxuICBASW5wdXQoKSBsb2dvTWVudUV4cGFuZCE6IGFueTtcclxuICBASW5wdXQoKSBsb2dvTWVudUhpZGUhOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIHNlbGVjdGVkQXBwITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkRW1wcmVzYSE6IGFueTtcclxuICBASW5wdXQoKSBzZWxlY3RlZE1hc3RlciE6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgc2hvd0J1dHRvbkFwcHM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dCdXR0b25Vc2VyOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93RXhwYW5kTWVudTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0Ryb3Bkb3duTGljZW5jYTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd01lbnU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dUcm9jYUVtcHJlc2E6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93QnJlYWRjcnVtYjogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgdXNlck5hbWU6IHN0cmluZyA9ICdVc3XDoXJpbyc7XHJcbiAgQElucHV0KCkgdXNlckVtYWlsOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBtYXN0ZXJOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGVtcHJlc2FOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlkc0FwbGljYXRpdm9zTWVudUhpZGU6IG51bWJlcltdID0gW107XHJcbiAgQElucHV0KCkgdXNlU2VsZWN0aW9uQXBwcyA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd1RyaWxoYUNvbmhlY2ltZW50byA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzRGlzYWJsZVNlbGVjdGlvbkVtcHJlc2EgPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIGFjY2Vzc0tlZVBhc3NFbWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2hhbmdlRW1wcmVzYUVtaXQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2hhbmdlTGljZW5zZUVtaXQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBleHBhbmRNZW51RW1pdDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBsb2dvdXRFbWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0QXBwRW1pdDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG5hdmlnYXRlVG9EZWZhdWx0Um91dGVFbWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIGRvd25sb2FkRG9jRW1pdDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNob3dWaWRlb0RvY0VtaXQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHJcbiAgQFZpZXdDaGlsZCgnbWV1c0RhZG9zUGFuZWwnKSBtZXVzRGFkb3NQYW5lbCE6IE92ZXJsYXlQYW5lbDtcclxuXHJcbiAgLy8gdG9wTWVudUFjdGlvbnMgPSBjb250ZW50Q2hpbGRyZW48VGVtcGxhdGVSZWY8YW55Pj4oJ3RvcE1lbnVBY3Rpb24nKTtcclxuXHJcbiAgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xyXG4gIGhlaWdodENhcmQhOiBudW1iZXI7XHJcbiAgbW91c2VPdmVyRmlsaG9JbmRleDogYW55O1xyXG4gIG1vdXNlT3ZlckluZGV4OiBhbnk7XHJcbiAgd2lkdGhDYXJkITogbnVtYmVyO1xyXG5cclxuICB3aWR0aFBhZ2UgPSBzaWduYWw8bnVtYmVyPigwKTtcclxuXHJcbiAgdHJpbGhhQ29uaGVjaW1lbnRvID0gW1xyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ0NhZGFzdHJlIGFzIHN1YXMgZW1wcmVzYXMnLFxyXG4gICAgICBpY29uOiAnYnVzaW5lc3MnLFxyXG4gICAgICBzdWJ0aXRsZTogJ1NhaWJhIGNvbW8gY2FkYXN0cmFyIGluZm9ybWHDp8O1ZXMgZXNzZW5jaWFpcyBkYXMgZW1wcmVzYXMuJyxcclxuICAgICAgZG9jOiAnaHR0cHM6Ly93b3JrLWFzc2V0cy5rZWV2by5jb20uYnIva2Vldm8tY2VudGVyLzErLStDYWRhc3RybytkZStFbXByZXNhcy5wZGYnLFxyXG4gICAgICB2aWRlbzogJ2h0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2tlZXZvLWNlbnRlci8xKy0rQ2FkYXN0cm8rZGUrRW1wcmVzYXMrbm8rS2Vldm8rQ2VudGVyLm1wNCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRpdGxlOiAnQ2FkYXN0cm8gZGUgQ2VydGlmaWNhZG9zIGUgUHJvY3VyYcOnw6NvJyxcclxuICAgICAgaWNvbjogJ3ZlcmlmaWVkX3VzZXInLFxyXG4gICAgICBzdWJ0aXRsZTpcclxuICAgICAgICAnVmVqYSBjb21vIGNhZGFzdHJhciB1bSBjZXJ0aWZpY2FkbyBlIHByb2N1cmHDp8OjbyBuZWNlc3PDoXJpb3MgcGFyYSBhcyBlbXByZXNhcy4nLFxyXG4gICAgICBkb2M6ICdodHRwczovL3dvcmstYXNzZXRzLmtlZXZvLmNvbS5ici9rZWV2by1jZW50ZXIvMistK0NhZGFzdHJvK2RlK0NlcnRpZmljYWRvcytlK1Byb2N1cmElQzMlQTclQzMlQjVlcy5wZGYnLFxyXG4gICAgICB2aWRlbzogJ2h0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2tlZXZvLWNlbnRlci8yKy0rQ2FkYXN0cm8rZGUrQ2VydGlmaWNhZG9zK2UrUHJvY3VyYSVDMyVBNyVDMyVCNWVzLm1wNCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ0NvbmZpZ3VyYcOnw6NvIGRhIEdlc3TDo28gZGUgTGljZW7Dp2EnLFxyXG4gICAgICBpY29uOiAnZmFjdF9jaGVjaycsXHJcbiAgICAgIHN1YnRpdGxlOiAnQXByZW5kYSBhIHZpbmN1bGFyIGFzIGxpY2Vuw6dhcyBwYXJhIGNhZGEgZW1wcmVzYSBhcXVpLicsXHJcbiAgICAgIGRvYzogJ2h0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2tlZXZvLWNlbnRlci8zKy0rQ29uZmlndXJhJUMzJUE3JUMzJUEzbytkYStHZXN0JUMzJUEzbytkZStMaWNlbiVDMyVBN2EucGRmJyxcclxuICAgICAgdmlkZW86ICdodHRwczovL3dvcmstYXNzZXRzLmtlZXZvLmNvbS5ici9rZWV2by1jZW50ZXIvMystK0NvbmZpZ3VyYSVDMyVBNyVDMyVBM28rZGUrR2VzdCVDMyVBM28rZGUrTGljZW4lQzMlQTdhcy5tcDQnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICdDYWRhc3RybyBkZSBVc3XDoXJpbycsXHJcbiAgICAgIGljb246ICdwZXJzb25fYWRkJyxcclxuICAgICAgc3VidGl0bGU6XHJcbiAgICAgICAgJ1NhaWJhIGNvbW8gY2FkYXN0cmFyIHVzdcOhcmlvcyBxdWUgdGVyw6NvIGFjZXNzbyBhb3Mgc2lzdGVtYXMgZGEgS2Vldm8uJyxcclxuICAgICAgZG9jOiAnaHR0cHM6Ly93b3JrLWFzc2V0cy5rZWV2by5jb20uYnIva2Vldm8tY2VudGVyLzQrLStDYWRhc3RybytkZStVc3UlQzMlQTFyaW8ucGRmJyxcclxuICAgICAgdmlkZW86ICdodHRwczovL3dvcmstYXNzZXRzLmtlZXZvLmNvbS5ici9rZWV2by1jZW50ZXIvNCstK0NhZGFzdHJvK2RlK1VzdSVDMyVBMXJpby5tcDQnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICdQYXDDqWlzIGUgUGVybWlzc8O1ZXMnLFxyXG4gICAgICBpY29uOiAnbWFuYWdlX2FjY291bnRzJyxcclxuICAgICAgc3VidGl0bGU6XHJcbiAgICAgICAgJ0Rlc2N1YnJhIGNvbW8gY29uZmlndXJhciBwYXDDqWlzIGUgcGVybWlzc8O1ZXMgZG9zIHNldXMgdXN1w6FyaW9zIHJlZ2lzdHJhZG9zLicsXHJcbiAgICAgIGRvYzogJ2h0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2tlZXZvLWNlbnRlci81Ky0rUGFwJUMzJUE5aXMrZStQZXJtaXNzJUMzJUI1ZXMucGRmJyxcclxuICAgICAgdmlkZW86ICdodHRwczovL3dvcmstYXNzZXRzLmtlZXZvLmNvbS5ici9rZWV2by1jZW50ZXIvNSstK1BhcCVDMyVBOWlzK2UrUGVybWlzcyVDMyVCNWVzLm1wNCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ0NhZGFzdHJvIGRlIENvbnRhZG9yZXMnLFxyXG4gICAgICBpY29uOiAnYmFkZ2UnLFxyXG4gICAgICBzdWJ0aXRsZTogJ0FwcmVuZGEgY29tbyBjYWRhc3RyYXIgc2V1cyBjb250YWRvcmVzLicsXHJcbiAgICAgIGRvYzogJ2h0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2tlZXZvLWNlbnRlci82Ky0rQ2FkYXN0cm8rZGUrQ29udGFkb3Jlcy5wZGYnLFxyXG4gICAgICB2aWRlbzogJ2h0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2tlZXZvLWNlbnRlci82Ky0rQ2FkYXN0cm8rZGUrQ29udGFkb3Jlcy5tcDQnLFxyXG4gICAgfSxcclxuICBdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJvdGVjdGVkIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgaWRtYXN0ZXI6IFt0aGlzLnNlbGVjdGVkTWFzdGVyLCBbXV0sXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyB0aGlzLnByb2Nlc3Nhck1lbnVzKCk7XHJcbiAgICB0aGlzLmFkanVzdFdpZHRoQ2FyZCgpO1xyXG4gICAgdGhpcy52ZXJpZnlNZW51QmVoYXZpb3IoKTtcclxuICAgIHRoaXMuZXhwYW5kTWVudUV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBcclxuXHJcbiAgLy8gcHJvY2Vzc2FyTWVudXMoKSB7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgYWNjZXNzS2VlUGFzcyhldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmFjY2Vzc0tlZVBhc3NFbWl0LmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkanVzdEhlaWdodENhcmQoKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLndpZHRoQ2FyZCA+IDQwMCkge1xyXG4gICAgICBpZiAodGhpcy53aWR0aFBhZ2UoKSA8IDk5MiAmJiB0aGlzLnNob3dMaWNlbmNhcygpKSByZXR1cm4gMTQ1O1xyXG5cclxuICAgICAgaWYgKHRoaXMuYnJlYWRDcnVtYkl0ZW1zLmxlbmd0aCA+IDApIHJldHVybiA5NTtcclxuICAgICAgZWxzZSByZXR1cm4gODU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIDEyNTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRqdXN0V2lkdGhDYXJkKCkge1xyXG4gICAgdGhpcy53aWR0aFBhZ2Uuc2V0KHdpbmRvdy5pbm5lcldpZHRoKTtcclxuXHJcbiAgICB0aGlzLmhlaWdodENhcmQgPSBOdW1iZXIoXHJcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLWNvbnRlbnQnKT8ub2Zmc2V0SGVpZ2h0XHJcbiAgICApO1xyXG4gICAgaWYgKHRoaXMuc2hvd01lbnUpXHJcbiAgICAgIHRoaXMud2lkdGhDYXJkID1cclxuICAgICAgICBOdW1iZXIod2luZG93LmlubmVyV2lkdGgpIC0gKHRoaXMuZXhwYW5kTWVudSgpID8gMzMzIDogOTMpO1xyXG4gICAgZWxzZSB0aGlzLndpZHRoQ2FyZCA9IE51bWJlcih3aW5kb3cuaW5uZXJXaWR0aCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FsbFJvdXRlKHJvdGE6IGFueSwgZXhwYW5kPzogYm9vbGVhbikge1xyXG4gICAgaWYgKCFleHBhbmQgJiYgIXRoaXMuZXhwYW5kTWVudSgpICYmIHRoaXMuc2hvd0V4cGFuZE1lbnUpXHJcbiAgICAgIHRoaXMuZXhwYW5kTWVudS51cGRhdGUoKGN1cnJlbnRWYWx1ZTogYm9vbGVhbikgPT4gIWN1cnJlbnRWYWx1ZSk7XHJcblxyXG4gICAgaWYgKHRoaXMud2lkdGhQYWdlKCkgIT0gMCAmJiB0aGlzLndpZHRoUGFnZSgpIDwgODAwICYmIHRoaXMuZXhwYW5kTWVudSgpICYmIHRoaXMuc2hvd0V4cGFuZE1lbnUpXHJcbiAgICAgIHRoaXMuZXhwYW5kTWVudS5zZXQoZmFsc2UpO1xyXG5cclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocm90YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlRW1wcmVzYShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmNoYW5nZUVtcHJlc2FFbWl0LmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZUxpY2Vuc2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5jaGFuZ2VMaWNlbnNlRW1pdC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmVyaWZ5TWVudUJlaGF2aW9yKCkge1xyXG4gICAgaWYgKHRoaXMud2lkdGhQYWdlKCkgPCA4MDApXHJcbiAgICAgIHRoaXMuZXhwYW5kTWVudS5zZXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleHBhbmRNZW51RXZlbnQoKSB7XHJcbiAgICB0aGlzLmV4cGFuZE1lbnVFbWl0LmVtaXQodGhpcy5leHBhbmRNZW51KCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvZ291dChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmxvZ291dEVtaXQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1lbnVzUGVyQXBwKCkge1xyXG4gICAgaWYgKHRoaXMucm91dGVyLnVybCAmJiB0aGlzLm1lbnVzKCkgJiYgdGhpcy5tZW51cygpLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKHRoaXMucm91dGVyLnVybCA9PT0gJy8nKSB7XHJcbiAgICAgICAgLy8gdGhpcy5uYXZpZ2F0ZVRvRmlyc3RNZW51KCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgbWVudVNlbGVjaW9uYWRvID0gdGhpcy5tZW51cygpLmZpbmQoXHJcbiAgICAgICAgICAobWVudTogYW55KSA9PlxyXG4gICAgICAgICAgICBtZW51LmxpbmsgJiYgbWVudS5saW5rLmluY2x1ZGVzKHRoaXMucm91dGVyLnVybC5zbGljZSgxKSlcclxuICAgICAgICApO1xyXG4gICAgICAgIGlmIChtZW51U2VsZWNpb25hZG8pIHtcclxuICAgICAgICAgIHRoaXMubmF2aWdhdGVUb01lbnUobWVudVNlbGVjaW9uYWRvKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBuYW1lRW1wcmVzYShub21lTGljZW5jYTogYW55KTogc3RyaW5nIHtcclxuICAgIGlmIChub21lTGljZW5jYSkge1xyXG4gICAgICBpZiAobm9tZUxpY2VuY2EubGVuZ3RoID4gMjMpIHJldHVybiBub21lTGljZW5jYS5zdWJzdHJpbmcoMCwgMjMpICsgJy4uLic7XHJcbiAgICAgIGVsc2UgcmV0dXJuIG5vbWVMaWNlbmNhO1xyXG4gICAgfSBlbHNlIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbmF2aWdhdGVUb0ZpcnN0TWVudSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGZpcnN0TWVudSA9IHRoaXMubWVudXMoKVswXTtcclxuICAgIGlmIChmaXJzdE1lbnUuaW5kbWVudXBhaSkge1xyXG4gICAgICBjb25zdCBmaWxob3MgPSB0aGlzLnJldHVybk1lbnVDaGlsZChmaXJzdE1lbnUuaWRtZW51KTtcclxuICAgICAgaWYgKGZpbGhvcykge1xyXG4gICAgICAgIHRoaXMuY2FsbFJvdXRlKGZpbGhvc1swXS5saW5rLCB0cnVlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jYWxsUm91dGUoZmlyc3RNZW51LmxpbmssIHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBuYXZpZ2F0ZVRvTWVudShtZW51OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChtZW51Lm1lbnVwYWkpIHtcclxuICAgICAgY29uc3QgZmlsaG9zID0gdGhpcy5yZXR1cm5NZW51Q2hpbGQobWVudS5pZG1lbnUpO1xyXG4gICAgICBpZiAoZmlsaG9zKSB7XHJcbiAgICAgICAgdGhpcy5jYWxsUm91dGUoZmlsaG9zWzBdLmxpbmssIHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNhbGxSb3V0ZShtZW51LmxpbmssIHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWVudVNlbGVjaW9uYWRvID0gc2lnbmFsPGFueT4obnVsbCk7XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IGxhdGVzdFJlcXVlc3QgPSBjaGFuZ2VzWydtZW51cyddO1xyXG4gICAgaWYgKGxhdGVzdFJlcXVlc3Q/LmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICB0aGlzLm1lbnVzUGVyQXBwKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWxlY2lvbmFyTWVudSgpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIG9uV2luZG93UmVzaXplKCkge1xyXG4gICAgdGhpcy5hZGp1c3RXaWR0aENhcmQoKTtcclxuICAgIC8vIHRoaXMudmVyaWZ5TWVudUJlaGF2aW9yKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBpc1NlbGVjdGVkTWVudVBhaShtZW51OiBhbnkpIHtcclxuICAgIGlmICghdGhpcy5leHBhbmRNZW51KCkgJiYgbWVudS5pbmRtZW51cGFpKVxyXG4gICAgICByZXR1cm4gbWVudS5pZG1lbnUgPT09IHRoaXMubWVudVNlbGVjaW9uYWRvKCk/LmlkbWVudXBhaTtcclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZWxlY2lvbmFyTWVudSgpIHtcclxuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodGhpcy5yb3V0ZXIudXJsLCB3aW5kb3cub3JpZ2luKTtcclxuXHJcbiAgICBjb25zdCBjdXJyZW50UGF0aCA9IHVybC5wYXRobmFtZTtcclxuICAgIGNvbnN0IHB1cmVQYXRoID0gY3VycmVudFBhdGgubWF0Y2goL15bXjtdKi9pKTtcclxuXHJcbiAgICBjb25zdCBwYXRocyA9IHB1cmVQYXRoIVswXTtcclxuXHJcbiAgICB0aGlzLm1lbnVzLnNldChcclxuICAgICAgdGhpcy5tZW51cygpLm1hcCgobWVudSkgPT4ge1xyXG4gICAgICAgIGlmIChtZW51LmxpbmspIHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLm1lbnUsXHJcbiAgICAgICAgICAgIGJnQ29sb3I6IHBhdGhzLmluY2x1ZGVzKG1lbnUubGluayEpID8gJ3JnYig0MSwgMTg1LCA0NSknIDogJycsXHJcbiAgICAgICAgICAgIHRleHRDb2xvcjogcGF0aHMuaW5jbHVkZXMobWVudS5saW5rISkgPyAndGV4dC13aGl0ZScgOiAnJyxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBtZW51O1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG5cclxuICAgIGNvbnN0IG1lbnUgPSB0aGlzLm1lbnVzKCkuZmluZCgobWVudTogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiBtZW51LmxpbmsgJiYgcGF0aHMuaW5jbHVkZXMobWVudS5saW5rISk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm1lbnVTZWxlY2lvbmFkby5zZXQobWVudSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmV0dXJuTWVudUNoaWxkKGlkbWVudTogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tZW51cygpLmZpbHRlcigoeDogYW55KSA9PiB4LmlkbWVudXBhaSA9PSBpZG1lbnUpO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBzZWxlY3RBcHAoaWRhcGxpY2F0aXZvOiBudW1iZXIpIHtcclxuICAgIHRoaXMuc2VsZWN0QXBwRW1pdC5lbWl0KGlkYXBsaWNhdGl2byk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0xpY2VuY2FzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Ryb3Bkb3duTGljZW5jYSAmJiAodGhpcy5tYXN0ZXJzIHx8IFtdKS5sZW5ndGggPiAxO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZU1lbnUoKSB7XHJcbiAgICB0aGlzLmV4cGFuZE1lbnUudXBkYXRlKChjdXJyZW50VmFsdWU6IGJvb2xlYW4pID0+ICFjdXJyZW50VmFsdWUpO1xyXG4gICAgdGhpcy5leHBhbmRNZW51RXZlbnQoKTtcclxuICB9XHJcblxyXG4gIG5hdmlnYXRlVG9EZWZhdWx0Um91dGUoKSB7XHJcbiAgICBpZiAodGhpcy53aWR0aFBhZ2UoKSA8IDgwMCAmJiB0aGlzLmV4cGFuZE1lbnUoKSlcclxuICAgICAgdGhpcy5leHBhbmRNZW51LnNldChmYWxzZSk7XHJcblxyXG4gICAgdGhpcy5uYXZpZ2F0ZVRvRGVmYXVsdFJvdXRlRW1pdC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBnZXQgZXhpYmlyTm9tZXMoKSB7XHJcbiAgICByZXR1cm4gIXRoaXMuc2hvd0xpY2VuY2FzKCkgJiYgKHRoaXMubWFzdGVyTmFtZSB8fCB0aGlzLmVtcHJlc2FOYW1lKTtcclxuICB9XHJcblxyXG4gIGV4aWJpck1lbnVDaGlsZChldmVudDogYW55LCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLm1lbnVWaXNpdmVsLnNldChpbmRleCk7XHJcbiAgICBsZXQgbWVudVBhcmVudDtcclxuICAgIGxldCBtZW51Q2hpbGQ7XHJcbiAgICBpZiAoaW5kZXggPT09IC0xKSB7XHJcbiAgICAgIG1lbnVQYXJlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgbWVudS1zaXN0ZW1hcy1wYXJlbnRgKTtcclxuICAgICAgbWVudUNoaWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYG1lbnUtc2lzdGVtYXMtY2hpbGRgKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBtZW51UGFyZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYG1lbnUtcGFyZW50LSR7aW5kZXh9YCk7XHJcbiAgICAgIG1lbnVDaGlsZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBtZW51LWNoaWxkLSR7aW5kZXh9YCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1lbnVQYXJlbnQpIHtcclxuICAgICAgY29uc3QgcmVjdF9wYXJlbnQgPSBtZW51UGFyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBsZXQgeCA9IHJlY3RfcGFyZW50LnJpZ2h0IC0gMTA7XHJcbiAgICAgIGxldCB5ID0gcmVjdF9wYXJlbnQudG9wIC0gNTtcclxuXHJcbiAgICAgIGlmIChtZW51Q2hpbGQpIHtcclxuICAgICAgICBjb25zdCByZWN0X2NoaWxkID0gbWVudUNoaWxkLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xyXG5cclxuICAgICAgICAvL1ZlcmlmaWNhIHNlIG8gbWVudSBmaWxobyB2YWkgdXRyYXBhc3NhciBvIGZpbmFsIGRvIHZpZXdwb3J0IHByYSBiYWl4b1xyXG4gICAgICAgIGlmIChyZWN0X3BhcmVudC5ib3R0b20gKyByZWN0X2NoaWxkLmhlaWdodCA+IHZpZXdwb3J0SGVpZ2h0KSB7XHJcbiAgICAgICAgICB5ID0gcmVjdF9wYXJlbnQuYm90dG9tIC0gcmVjdF9jaGlsZC5oZWlnaHQgLSAxMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFZlcmlmaWNhIHNlIG8gbWVudSBwYWkgZXN0w6EgbXVpdG8gZW0gY2ltYVxyXG4gICAgICAgIGlmIChyZWN0X3BhcmVudC50b3AgPD0gMCkge1xyXG4gICAgICAgICAgeSA9IHJlY3RfcGFyZW50LmJvdHRvbSArIDU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBtZW51Q2hpbGQuc3R5bGUudG9wID0gYCR7eX1weGA7XHJcbiAgICAgICAgbWVudUNoaWxkLnN0eWxlLmxlZnQgPSBgJHt4fXB4YDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZG93bmxvYWREb2ModHJpbGhhOiBhbnkpIHtcclxuICAgIHRoaXMuZG93bmxvYWREb2NFbWl0LmVtaXQodHJpbGhhKTtcclxuICB9XHJcblxyXG4gIHNob3dWaWRlb0RvYyh0cmlsaGE6IGFueSkge1xyXG4gICAgdGhpcy5zaG93VmlkZW9Eb2NFbWl0LmVtaXQodHJpbGhhKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGZ1bGwtY29udGFpbmVyXCI+XHJcbiAgQGlmKHNob3dNZW51KSB7XHJcbiAgPHAtc2lkZWJhclxyXG4gICAgI3NpZGViYXJSZWZcclxuICAgIFt2aXNpYmxlXT1cInRydWVcIlxyXG4gICAgW3Nob3dDbG9zZUljb25dPVwiZmFsc2VcIlxyXG4gICAgW21vZGFsXT1cImZhbHNlXCJcclxuICAgIFtzdHlsZV09XCJ7IHdpZHRoOiBleHBhbmRNZW51KCkgPyAnMTdyZW0nIDogJzMuNjVyZW0nIH1cIlxyXG4gICAgc3R5bGVDbGFzcz1cInRyYW5zaXRpb24tYWxsXCJcclxuICA+XHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGxlc3NcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImgtZnVsbCBmbGV4IGZsZXgtY29sdW1uIG92ZXJmbG93LWhpZGRlbiBwLTJcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImZsZXgtbm9uZSBmbGV4IGZsZXgtY29sdW1uIGdhcC0zIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGZsZXgtc2hyaW5rLTAgb3ZlcmZsb3ctaGlkZGVuXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8IS0tIExPR08gLS0+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCB7e1xyXG4gICAgICAgICAgICAgIGV4cGFuZE1lbnUoKSA/ICdmbGV4LXJvdycgOiAnZmxleC1jb2x1bW4nXHJcbiAgICAgICAgICAgIH19IGFsaWduLWl0ZW1zLWNlbnRlciB7e1xyXG4gICAgICAgICAgICAgIGV4cGFuZE1lbnUoKVxyXG4gICAgICAgICAgICAgICAgPyAnanVzdGlmeS1jb250ZW50LWJldHdlZW4nXHJcbiAgICAgICAgICAgICAgICA6ICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJ1xyXG4gICAgICAgICAgICB9fSBwLTJcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8IS0tIExvZ28gcGFyYSBvIG1lbnUgZXhwYW5kaWRvIC0tPlxyXG4gICAgICAgICAgICBAaWYoZXhwYW5kTWVudSgpICYmIGxvZ29NZW51RXhwYW5kKXtcclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgIGFsdD1cIkNhcmRcIlxyXG4gICAgICAgICAgICAgIFtzcmNdPVwibG9nb01lbnVFeHBhbmRcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiJzIuNHJlbSdcIlxyXG4gICAgICAgICAgICAgIHdpZHRoPVwiYXV0b1wiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBwLTBcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvRGVmYXVsdFJvdXRlKClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA8IS0tIExvZ28gcGFyYSBvIG1lbnUgbWluaW1pemFkby0tPlxyXG4gICAgICAgICAgICBAaWYoIWV4cGFuZE1lbnUoKSAmJiBsb2dvTWVudUhpZGUpe1xyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgYWx0PVwiQ2FyZFwiXHJcbiAgICAgICAgICAgICAgW3NyY109XCJsb2dvTWVudUhpZGVcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiJzIuNHJlbSdcIlxyXG4gICAgICAgICAgICAgIHdpZHRoPVwiYXV0b1wiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBwLTFcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvRGVmYXVsdFJvdXRlKClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA8IS0tIFRvZ2dsZSBtZW51IC0tPlxyXG4gICAgICAgICAgICBAaWYoc2hvd0V4cGFuZE1lbnUpe1xyXG4gICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBzaWRlLW1lbnUtaXRlbVwiIChjbGljayk9XCJleHBhbmRNZW51LnNldCghZXhwYW5kTWVudSgpKVwiPm1lbnU8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICBAaWYoc2hvd1Ryb2NhRW1wcmVzYSl7XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LXt7XHJcbiAgICAgICAgICAgICAgZXhwYW5kTWVudSgpID8gJ2JldHdlZW4nIDogJ2NlbnRlcidcclxuICAgICAgICAgICAgfX0gZ2FwLTIgdHJvY2EtZW1wcmVzYS1jb250YWluZXIgbWItMyBweS0yIHt7XHJcbiAgICAgICAgICAgICAgIWlzRGlzYWJsZVNlbGVjdGlvbkVtcHJlc2EgJiYgJ3NlbGVjdGFibGUtdHJvY2EtZW1wcmVzYSdcclxuICAgICAgICAgICAgfX1cIlxyXG4gICAgICAgICAgICBbcFRvb2x0aXBdPVwiaXNEaXNhYmxlU2VsZWN0aW9uRW1wcmVzYSA/ICcnIDogJ1Ryb2NhciBkZSBlbXByZXNhJ1wiXHJcbiAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCIhaXNEaXNhYmxlU2VsZWN0aW9uRW1wcmVzYSAmJiBjaGFuZ2VFbXByZXNhKCRldmVudClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICBAaWYoZXhwYW5kTWVudSgpICYmIHNlbGVjdGVkRW1wcmVzYSl7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIHctZnVsbFwiPlxyXG4gICAgICAgICAgICAgIEBpZih0aGlzLnNlbGVjdGVkRW1wcmVzYS5yYXphb3NvY2lhbCl7XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgbXItMiBjb2xvci1zeXN0ZW1cIj5cclxuICAgICAgICAgICAgICAgIHt7IG5hbWVFbXByZXNhKHRoaXMuc2VsZWN0ZWRFbXByZXNhLnJhemFvc29jaWFsKSB9fVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICB9IEBpZih0aGlzLnNlbGVjdGVkRW1wcmVzYS5jcGZjbnBqKXtcclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQteHMgbXQtMSBjb2xvci1zeXN0ZW1cIj57e1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEVtcHJlc2EuY3BmY25waiB8IGNwZkNucGpcclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgfSBAaWYoIWlzRGlzYWJsZVNlbGVjdGlvbkVtcHJlc2EpIHtcclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+c3dhcF9ob3Jpejwvc3Bhbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSBNRU5VUyAtLT5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImZsZXgtMSBsaXN0LW5vbmUgbS0wIG92ZXJmbG93LXktYXV0byBtYXgtaC1mdWxsIG1lbnVzLWNvbnRhaW5lclwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPCEtLSBtZW51cyAtLT5cclxuICAgICAgICAgIEBmb3IgKG1lbnUgb2YgbWVudXMoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICBAaWYoIWlkc0FwbGljYXRpdm9zTWVudUhpZGUuaW5jbHVkZXMobWVudS5pZGFwbGljYXRpdm8pKXtcclxuICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgPCEtLSBtZW51IHF1ZSBuw6NvIHRlbSBmaWxobyAtLT5cclxuICAgICAgICAgICAgQGlmKCAhbWVudS5pbmRtZW51cGFpICYmICghbWVudS5pZG1lbnVwYWkgfHwgbWVudS5pZG1lbnVwYWkgPT0gMCkpe1xyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQte3tcclxuICAgICAgICAgICAgICAgIGV4cGFuZE1lbnUoKSA/ICdiZXR3ZWVuJyA6ICdjZW50ZXInXHJcbiAgICAgICAgICAgICAgfX0gZ2FwLTIgc2lkZS1tZW51LWl0ZW1cIlxyXG4gICAgICAgICAgICAgIHN0eWxlPVwicGFkZGluZy10b3A6IDAuNzVyZW07IHBhZGRpbmctYm90dG9tOiAwLjc1cmVtXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2FsbFJvdXRlKG1lbnUubGluaylcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+e3tcclxuICAgICAgICAgICAgICAgIG1lbnUuaWNvbmUgfHwgXCJsZW5zX2JsdXJcIlxyXG4gICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIEBpZihleHBhbmRNZW51KCkpe1xyXG4gICAgICAgICAgICAgIDxsYWJlbD57eyBtZW51LmRlc2NyaWNhb21lbnUgfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPCEtLSBtZW51IGNvbSBmaWxobyAtLT5cclxuICAgICAgICAgICAgQGlmKG1lbnUuaW5kbWVudXBhaSl7XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cIm1lbnUtcGFyZW50XCJcclxuICAgICAgICAgICAgICBpZD1cIm1lbnUtcGFyZW50LXt7ICRpbmRleCB9fVwiXHJcbiAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwiZXhpYmlyTWVudUNoaWxkKCRldmVudCwgJGluZGV4KVwiXHJcbiAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwibWVudVZpc2l2ZWwuc2V0KHVuZGVmaW5lZClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCIgZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LXt7XHJcbiAgICAgICAgICAgICAgICAgIGV4cGFuZE1lbnUoKSA/ICdiZXR3ZWVuJyA6ICdjZW50ZXInXHJcbiAgICAgICAgICAgICAgICB9fSBnYXAtMiBzaWRlLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cInBhZGRpbmctdG9wOiAwLjc1cmVtOyBwYWRkaW5nLWJvdHRvbTogMC43NXJlbVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+e3tcclxuICAgICAgICAgICAgICAgICAgbWVudS5pY29uZSB8fCBcImxlbnNfYmx1clwiXHJcbiAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIEBpZihleHBhbmRNZW51KCkpe1xyXG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7IG1lbnUuZGVzY3JpY2FvbWVudSB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5jaGV2cm9uX3JpZ2h0PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1lbnUtY2hpbGRzXCJcclxuICAgICAgICAgICAgICAgIGlkPVwibWVudS1jaGlsZC17eyAkaW5kZXggfX1cIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLm9wYWNpdHldPVwibWVudVZpc2l2ZWwoKSA9PT0gJGluZGV4ID8gJzEnIDogJzAnXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5wb2ludGVyRXZlbnRzXT1cIlxyXG4gICAgICAgICAgICAgICAgICBtZW51VmlzaXZlbCgpID09PSAkaW5kZXggPyAnYXV0bycgOiAnbm9uZSdcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicC0wIG0tMCBmb250LWJvbGQgcHQtMiBweC0yIHRleHQteHNcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBtZW51LmRlc2NyaWNhb21lbnUgfX1cclxuICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8cC1kaXZpZGVyXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC0wIG0tMFwiXHJcbiAgICAgICAgICAgICAgICAgIFtzdHlsZS5vcGFjaXR5XT1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwic29saWRcIlxyXG4gICAgICAgICAgICAgICAgPjwvcC1kaXZpZGVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtY2hpbGRzLWNvbnRlbnQgcC0wIG0tMFwiPlxyXG4gICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIHJldHVybk1lbnVDaGlsZChtZW51LmlkbWVudSk7IHRyYWNrICRpbmRleCkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2lkZS1tZW51LWl0ZW0gcHktMiBweC0yIHRleHQtc21cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYWxsUm91dGUoaXRlbS5saW5rKVwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmRlc2NyaWNhb21lbnUgfX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICAgIH0gfVxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICBAaWYodXNlU2VsZWN0aW9uQXBwcykge1xyXG4gICAgICAgIDwhLS0gQVBQUyBFIFNBSVIgLS0+XHJcbiAgICAgICAgPHAtZGl2aWRlciBjbGFzcz1cInB4LTJcIiBbc3R5bGUub3BhY2l0eV09XCIxXCIgdHlwZT1cInNvbGlkXCI+PC9wLWRpdmlkZXI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LW5vbmUgbGlzdC1ub25lIG0tMCBvdmVyZmxvdy15LWF1dG8gbWF4LWgtZnVsbFwiPlxyXG4gICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtZW51LXBhcmVudFwiXHJcbiAgICAgICAgICAgICAgaWQ9XCJtZW51LXNpc3RlbWFzLXBhcmVudFwiXHJcbiAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwiZXhpYmlyTWVudUNoaWxkKCRldmVudCwgLTEpXCJcclxuICAgICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJtZW51VmlzaXZlbC5zZXQodW5kZWZpbmVkKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8IS0tIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LXt7XHJcbiAgICAgICAgICAgICAgICAgIGV4cGFuZE1lbnUoKSA/ICdiZXR3ZWVuJyA6ICdjZW50ZXInXHJcbiAgICAgICAgICAgICAgICB9fSBnYXAtMiBzaWRlLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cInBhZGRpbmctdG9wOiAwLjc1cmVtOyBwYWRkaW5nLWJvdHRvbTogMC43NXJlbVwiXHJcbiAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwiIWV4cGFuZE1lbnUoKSA/ICdTaXN0ZW1hcycgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+Z3JpZF92aWV3PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBAaWYoZXhwYW5kTWVudSgpKXtcclxuICAgICAgICAgICAgICAgIDxsYWJlbD5TaXN0ZW1hczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5jaGV2cm9uX3JpZ2h0PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQte3tcclxuICAgICAgICAgICAgICAgICAgZXhwYW5kTWVudSgpID8gJ2JldHdlZW4nIDogJ2NlbnRlcidcclxuICAgICAgICAgICAgICAgIH19IGdhcC0yIHNpZGUtbWVudS1pdGVtLXN5c3RlbSB0cm9jYS1zaXN0ZW1hLWNvbnRhaW5lciBweS0yXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxwLWF2YXRhclxyXG4gICAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktdGgtbGFyZ2VcIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwibXItMlwiXHJcbiAgICAgICAgICAgICAgICAgIHNpemU9XCJub3JtYWxcIlxyXG4gICAgICAgICAgICAgICAgICBbc3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogJ3JnYih2YXIoLS1rdi1jb2xvci1zeXN0ZW0pLCAxKScsXHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICd3aGl0ZSdcclxuICAgICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICAvPiAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1jb2xvcic6ICdyZ2IodmFyKC0ta3YtY29sb3Itc3lzdGVtKSwgLjIpJyxcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYih2YXIoLS1rdi1jb2xvci1zeXN0ZW0pLCAxKScsXHJcbiAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnLjVyZW0nLFxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICcuMjVyZW0nXHJcbiAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICBkYXNoYm9hcmRfY3VzdG9taXplXHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIEBpZihleHBhbmRNZW51KCkpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIHctZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gZm9udC1zZW1pYm9sZCBtci0yIGNvbG9yLXN5c3RlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIE1ldXMgU2lzdGVtYXNcclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCJcclxuICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIidyZ2IodmFyKC0ta3YtY29sb3Itc3lzdGVtKSwgMSknXCJcclxuICAgICAgICAgICAgICAgICAgPnVuZm9sZF9tb3JlPC9zcGFuXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWVudS1jaGlsZHNcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtZW51LXNpc3RlbWFzLWNoaWxkXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5vcGFjaXR5XT1cIm1lbnVWaXNpdmVsKCkgPT09IC0xID8gJzEnIDogJzAnXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5wb2ludGVyRXZlbnRzXT1cIm1lbnVWaXNpdmVsKCkgPT09IC0xID8gJ2F1dG8nIDogJ25vbmUnXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInAtMCBtLTAgZm9udC1ib2xkIHB0LTIgcGwtMyB0ZXh0LXhzXCI+U2lzdGVtYXM8L3A+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIGFwcHM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHNpZGUtbWVudS1pdGVtIHB5LTIgcGwtMyBwci0xXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGNhbGxSb3V0ZShpdGVtLnJvdGFwYWRyYW8pOyBzZWxlY3RBcHAoaXRlbS5pZGFwbGljYXRpdm8pXHJcbiAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0udXJsaWNvbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaC0ycmVtIHctMnJlbSBib3JkZXItcm91bmQtbGdcIlxyXG4gICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ubm9tZWFwbGljYXRpdm8gfX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgPCEtLSA8bGk+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC17e1xyXG4gICAgICAgICAgICAgICAgZXhwYW5kTWVudSgpID8gJ2JldHdlZW4nIDogJ2NlbnRlcidcclxuICAgICAgICAgICAgICB9fSBnYXAtMiBzaWRlLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgICAgc3R5bGU9XCJwYWRkaW5nLXRvcDogMC43NXJlbTsgcGFkZGluZy1ib3R0b206IDAuNzVyZW1cIlxyXG4gICAgICAgICAgICAgIFtwVG9vbHRpcF09XCIhZXhwYW5kTWVudSgpID8gJ1NhaXInIDogJydcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCIncmdiYSgyNTIsIDMsIDMsIDAuNiknXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwibG9nb3V0KCRldmVudClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+ZXhpdF90b19hcHA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgQGlmKGV4cGFuZE1lbnUoKSl7XHJcbiAgICAgICAgICAgICAgPGxhYmVsPlNhaXI8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2xpPiAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L3Atc2lkZWJhcj5cclxuICB9XHJcblxyXG4gIDwhLS0gU0XDh8ODTyBDT05URcOaRE8gIC0tPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwidy1hdXRvIGgtc2NyZWVuIHBhZ2UtY29udGVudCBvdmVyZmxvdy15LWhpZGRlbiBmbGV4IGZsZXgtY29sdW1uXCJcclxuICAgIGlkPVwicGFnZS1jb250ZW50XCJcclxuICAgIHN0eWxlPVwid2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnRcIlxyXG4gID5cclxuICAgIDwhLS0gVE9QTyAtLT5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXktMiBteC0zIG1iLTBcIlxyXG4gICAgPlxyXG4gICAgICBAaWYoIXNob3dNZW51KSB7XHJcbiAgICAgIDwhLS0gTG9nbyBob21lIC0tPlxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJsb2dvTWVudUV4cGFuZFwiIHdpZHRoPVwiMTUwXCIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICA8IS0tIEJyZWFkY3J1bWJzIC0tPlxyXG4gICAgICBAaWYoc2hvd0JyZWFkY3J1bWIpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImgtZnVsbFwiPlxyXG4gICAgICAgIDxwLWJyZWFkY3J1bWJcclxuICAgICAgICAgICpuZ0lmPVwid2lkdGhDYXJkID4gNDAwXCJcclxuICAgICAgICAgIHN0eWxlQ2xhc3M9XCJib3JkZXItbm9uZSBwLTAgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgaC0ycmVtIGJnLXRyYW5zcGFyZW50XCJcclxuICAgICAgICAgIFttb2RlbF09XCJicmVhZENydW1iSXRlbXNcIlxyXG4gICAgICAgICAgKG9uSXRlbUNsaWNrKT1cImNhbGxSb3V0ZSgkZXZlbnQuaXRlbS5yb3V0ZXJMaW5rLCB0cnVlKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cIml0ZW1cIiBsZXQtaXRlbSBsZXQtaT1cImluZGV4XCI+XHJcbiAgICAgICAgICAgIEBpZihicmVhZENydW1iSXRlbXMuaW5kZXhPZihpdGVtKSA8IGJyZWFkQ3J1bWJJdGVtcy5sZW5ndGggLSAxKXtcclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LW5vcm1hbFwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9wLWJyZWFkY3J1bWI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgPCEtLSBHSE9TVCBESVYgUEFSQSBPQ1BVQVIgRVNQQcOHTyBOTyBTUEFDRSBCRVRXRUVOIC0tPlxyXG4gICAgICA8ZGl2PjwvZGl2PlxyXG4gICAgICB9IH0gQGlmIChleGliaXJOb21lcykgeyBAaWYod2lkdGhDYXJkID49IDUxNykge1xyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJ3LWF1dG8gZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiXHJcbiAgICAgID5cclxuICAgICAgICBAaWYgKG1hc3Rlck5hbWUpIHtcclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtc2VtaWJvbGQgc3lzdGVtLWNvbG9yXCI+e3sgbWFzdGVyTmFtZSB9fTwvc3Bhbj4gfSBAaWZcclxuICAgICAgICAoZW1wcmVzYU5hbWUpIHs8c3BhbiBjbGFzcz1cImVtcHJlc2EtbmFtZVwiXHJcbiAgICAgICAgICA+T3JnYW5pemHDp8Ojbzoge3sgZW1wcmVzYU5hbWUgfX08L3NwYW5cclxuICAgICAgICA+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cInctYXV0byBmbGV4IGZsZXgtcm93IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCJcclxuICAgICAgPlxyXG4gICAgICAgIDwhLS0gTmF2ZWdhw6fDo28gZGUgc2lzdGVtYXMgZSB1c3XDoXJpb3MgLS0+XHJcbiAgICAgICAgPCEtLSBAZm9yICh0b3BBY3Rpb24gb2YgdG9wTWVudUFjdGlvbnMoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0b3BBY3Rpb25cIiAvPlxyXG4gICAgICAgICAgICB9IC0tPlxyXG4gICAgICAgIDxrdi10b3AtaWNvbnMgW3RvcEFjdGlvbnNdPVwidG9wTWVudU9wdGlvbnNcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cInctYXV0byBmbGV4IGZsZXgtcm93IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCJcclxuICAgICAgPlxyXG4gICAgICAgIDwhLS0gTmF2ZWdhw6fDo28gZGUgc2lzdGVtYXMgZSB1c3XDoXJpb3MgLS0+XHJcbiAgICAgICAgPCEtLSBAZm9yICh0b3BBY3Rpb24gb2YgdG9wTWVudUFjdGlvbnMoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0b3BBY3Rpb25cIiAvPlxyXG4gICAgICAgICAgICB9IC0tPlxyXG4gICAgICAgIDxrdi10b3AtaWNvbnMgW3RvcEFjdGlvbnNdPVwidG9wTWVudU9wdGlvbnNcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cInctYXV0byBmbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCJcclxuICAgICAgPlxyXG4gICAgICAgIEBpZiAobWFzdGVyTmFtZSkgeyA8c3BhbiBjbGFzcz1cIm1hc3Rlci1uYW1lXCI+e3sgbWFzdGVyTmFtZSB9fTwvc3Bhbj4gfVxyXG4gICAgICAgIEBpZiAoZW1wcmVzYU5hbWUpIHs8c3BhbiBjbGFzcz1cImVtcHJlc2EtbmFtZVwiPnt7IGVtcHJlc2FOYW1lIH19PC9zcGFuPiB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9IH0gQGVsc2UgeyBAaWYod2lkdGhQYWdlKCkgPiA5OTIpe1xyXG4gICAgICA8IS0tIGRyb3Bkb3duIHBhcmEgc2VsZcOnw6NvIGRlIGVtcHJlc2EvbGljZW5jYSAtLT5cclxuICAgICAgPGRyb3Bkb3duLW1hc3RlclxyXG4gICAgICAgICpuZ0lmPVwic2hvd0xpY2VuY2FzKClcIlxyXG4gICAgICAgIGNsYXNzPVwibWF4LXctMjVyZW0gZmxleC0xXCJcclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpZG1hc3RlclwiXHJcbiAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxyXG4gICAgICAgIFttYXN0ZXJzXT1cIm1hc3RlcnNcIlxyXG4gICAgICAgIChvblNlbGVjdGlvbkNoYW5nZSk9XCJjaGFuZ2VMaWNlbnNlKCRldmVudClcIlxyXG4gICAgICAgIChvblNlbGVjdGlvblZhbHVlKT1cImNoYW5nZUxpY2Vuc2UoJGV2ZW50KVwiXHJcbiAgICAgID5cclxuICAgICAgPC9kcm9wZG93bi1tYXN0ZXI+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDwhLS0gTmF2ZWdhw6fDo28gZGUgc2lzdGVtYXMgZSB1c3XDoXJpb3MgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3LWF1dG8gZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICA8a3YtdG9wLWljb25zIFt0b3BBY3Rpb25zXT1cInRvcE1lbnVPcHRpb25zXCIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIEBpZih3aWR0aFBhZ2UoKSA8PSA5OTIpe1xyXG4gICAgPCEtLSBkcm9wZG93biBwYXJhIHNlbGXDp8OjbyBkZSBlbXByZXNhL2xpY2VuY2EgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaC0ycmVtIG14LTNcIj5cclxuICAgICAgPGRyb3Bkb3duLW1hc3RlclxyXG4gICAgICAgICpuZ0lmPVwic2hvd0xpY2VuY2FzKClcIlxyXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlkbWFzdGVyXCJcclxuICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXHJcbiAgICAgICAgW21hc3RlcnNdPVwibWFzdGVyc1wiXHJcbiAgICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlKT1cImNoYW5nZUxpY2Vuc2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uU2VsZWN0aW9uVmFsdWUpPVwiY2hhbmdlTGljZW5zZSgkZXZlbnQpXCJcclxuICAgICAgLz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIH1cclxuXHJcbiAgICA8IS0tIENvbnRhaW5lciAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJvdmVyZmxvdy1oaWRkZW4gZmxleC0xIHAtMCBtLTAgbWItMiBoLWZ1bGxcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwib3ZlcmZsb3cteS1hdXRvIGgtZnVsbCBtYXgtaC1mdWxsIHt7XHJcbiAgICAgICAgICAhc2hvd01lbnUgJiYgJ3NtOm92ZXJmbG93LXktaGlkZGVuJ1xyXG4gICAgICAgIH19IGNhcmQtY29udGFpbmVyXHJcbiAgICAgICAgXHJcbiAgICAgICAge3sgdXNlQ2FyZCA/ICd1c2UtY2FyZCcgOiAnJyB9fVxyXG4gICAgICAgIFwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gUGFpbmVsIGRvIHVzdcOhcmlvIC0tPlxyXG4gIDxwLW92ZXJsYXlQYW5lbFxyXG4gICAgI21ldXNEYWRvc1BhbmVsXHJcbiAgICBbc2hvd1RyYW5zaXRpb25PcHRpb25zXT1cIiczNTBtcyBlYXNlLW91dCdcIlxyXG4gICAgW2hpZGVUcmFuc2l0aW9uT3B0aW9uc109XCInMjUwbXMgZWFzZS1pbidcIlxyXG4gID5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250YWluZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInAtMyBmbGV4IGZsZXgtY29sdW1uIGdhcC0yXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciB7e1xyXG4gICAgICAgICAgICBzaG93VHJpbGhhQ29uaGVjaW1lbnRvICYmICdqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbidcclxuICAgICAgICAgIH19IGdhcC0yXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8cC1hdmF0YXJcclxuICAgICAgICAgICAgaWNvbj1cInBpIHBpLXVzZXJcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm1yLTJcIlxyXG4gICAgICAgICAgICBzaXplPVwieGxhcmdlXCJcclxuICAgICAgICAgICAgc2hhcGU9XCJjaXJjbGVcIlxyXG4gICAgICAgICAgICBbc3R5bGVdPVwieyB3aWR0aDogJzQuNXJlbScsIGhlaWdodDogJzQuNXJlbScgfVwiXHJcbiAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIHt7XHJcbiAgICAgICAgICAgICAgc2hvd1RyaWxoYUNvbmhlY2ltZW50byA/ICd3LTE4cmVtJyA6ICd3LTEycmVtJ1xyXG4gICAgICAgICAgICB9fSBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiXHJcbiAgICAgICAgICAgIFtzdHlsZV09XCJ7IGhlaWdodDogJzQuNXJlbScgfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LW1lZGl1bSB0ZXh0LW1kIG92ZXJmbG93LWhpZGRlbiB3aGl0ZS1zcGFjZS1ub3dyYXAgdGV4dC1vdmVyZmxvdy1lbGxpcHNpc1wiXHJcbiAgICAgICAgICAgICAgPk9sw6EsIHt7IHVzZXJOYW1lLnNwbGl0KFwiIFwiKVswXSB9fSE8L3NwYW5cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1tZWRpdW0gdGV4dC14cyB0ZXh0LWdyYXktNTAwIG92ZXJmbG93LWhpZGRlbiB3aGl0ZS1zcGFjZS1ub3dyYXAgdGV4dC1vdmVyZmxvdy1lbGxpcHNpc1wiXHJcbiAgICAgICAgICAgICAgPnt7IHVzZXJFbWFpbCB9fTwvc3BhblxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxrdi1idXR0b25cclxuICAgICAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgICBsYWJlbD1cIkdlcmVuY2lhciBLZWVQYXNzXCJcclxuICAgICAgICAgICAgICAob25DbGljayk9XCJhY2Nlc3NLZWVQYXNzKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidy0xMnJlbVwiXHJcbiAgICAgICAgICAgID48L2t2LWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICBAaWYoYWN0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgPHAtZGl2aWRlcj48L3AtZGl2aWRlcj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gdGV4dC1zbVwiPlxyXG4gICAgICAgICAgQGZvciAoYWN0aW9uIG9mIGFjdGlvbnM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgc2lkZS1tZW51LWl0ZW0gcC0yXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uLmFjdGlvbigpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPnt7IGFjdGlvbi5pY29uIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuPnt7IGFjdGlvbi5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9IEBpZihzaG93VHJpbGhhQ29uaGVjaW1lbnRvKSB7XHJcbiAgICAgICAgPHAtZGl2aWRlcj48L3AtZGl2aWRlcj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gZ2FwLTNcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtZ3JheS01MDBcIlxyXG4gICAgICAgICAgICA+VHJpbGhhIGRvIENvbmhlY2ltZW50bzwvc3BhblxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgQGZvcih0cmlsaGEgb2YgdHJpbGhhQ29uaGVjaW1lbnRvOyB0cmFjayAkaW5kZXgpIHtcclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtMiBtYXgtdy0yNXJlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGJvcmRlci1yb3VuZC1tZCB0cmlsaGEtaWNvblwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgdGV4dC0yeGxcIj57e1xyXG4gICAgICAgICAgICAgICAgdHJpbGhhLmljb25cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMjByZW1cIj5cclxuICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIG92ZXJmbG93LWhpZGRlbiB3aGl0ZS1zcGFjZS1ub3dyYXAgdGV4dC1vdmVyZmxvdy1lbGxpcHNpcyB0ZXh0LWdyYXktNTAwXCJcclxuICAgICAgICAgICAgICAgID57eyB0cmlsaGEudGl0bGUgfX08L3NwYW5cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC14cyB0ZXh0LWdyYXktNDAwIG92ZXJmbG93LWhpZGRlbiB3aGl0ZS1zcGFjZS1ub3dyYXAgdGV4dC1vdmVyZmxvdy1lbGxpcHNpc1wiXHJcbiAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwidHJpbGhhLnN1YnRpdGxlXCJcclxuICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2xlZnQnXCJcclxuICAgICAgICAgICAgICAgID57eyB0cmlsaGEuc3VidGl0bGUgfX08L3NwYW5cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBidXR0b24taWNvblwiXHJcbiAgICAgICAgICAgICAgICAgIFtwVG9vbHRpcF09XCInQmFpeGFyIERvY3VtZW50bydcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZG93bmxvYWREb2ModHJpbGhhKVwiXHJcbiAgICAgICAgICAgICAgICAgID5kb3dubG9hZDwvc3BhblxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGJ1dHRvbi1pY29uXCJcclxuICAgICAgICAgICAgICAgICAgW3BUb29sdGlwXT1cIidBc3Npc3RpciBWw61kZW8nXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dWaWRlb0RvYyh0cmlsaGEpXCJcclxuICAgICAgICAgICAgICAgICAgPnZpZGVvY2FtPC9zcGFuXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA8cC1kaXZpZGVyPjwvcC1kaXZpZGVyPlxyXG5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGdhcC0yIHNpZGUtbWVudS1pdGVtIHAtMlwiXHJcbiAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiJ3JnYmEoMjUyLCAzLCAzLCAwLjYpJ1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwibG9nb3V0KCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPmV4aXRfdG9fYXBwPC9zcGFuPlxyXG4gICAgICAgICAgPGxhYmVsPlNhaXI8L2xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9wLW92ZXJsYXlQYW5lbD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -6,10 +6,10 @@ export class TopIconsComponent {
6
6
  this.topActions = input([]);
7
7
  }
8
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: TopIconsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: TopIconsComponent, isStandalone: true, selector: "kv-top-icons", inputs: { topActions: { classPropertyName: "topActions", publicName: "topActions", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"top-icons-container\">\r\n @for (item of topActions(); track $index) {\r\n @if(item.visible){\r\n <div class=\"icon-container clickable\" (click)=\"item.action($event)\">\r\n @if(item.numNotifications && item.numNotifications>=0){\r\n <span class=\"badge\">{{item.numNotifications > 999 ? (item.numNotifications / 1000).toFixed(1) + 'K' : item.numNotifications}}</span>\r\n }\r\n @if(item.icon == 'kiara'){\r\n <svg class=\"\" id=\"Camada_1\" data-name=\"Camada 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\" style=\"width: 1.6rem; height: 1.6rem;\" stroke=\"#212121\" stroke-width=\"1.5\">\r\n <path d=\"M84.17,47.93a24.61,24.61,0,0,1-1,8.4,17.78,17.78,0,0,1-6.39,8.44c-4,2.85-8.42,3.3-13.16,3.3H43a4.5,4.5,0,0,0-2.6.5c-2.75,1.64-5.4,3.5-8,5.32V69.5A1.88,1.88,0,0,0,31,67.72,18,18,0,0,1,16.8,50.39a22.51,22.51,0,0,1,1.39-9.34,17.9,17.9,0,0,1,7.25-8.3c4.15-2.48,8.5-2.51,13.11-2.51H66.49a1.85,1.85,0,0,0,0-3.69H37.93c-5.47,0-10.68.45-15.38,3.67a21.75,21.75,0,0,0-7.84,9.64,26,26,0,0,0-1.6,10.49A21.72,21.72,0,0,0,28.66,70.93v6.45A1.86,1.86,0,0,0,31.44,79l10.39-6.92.38-.23c.28,0,.62-.06.79-.06H64.19c5.34,0,10.39-.83,14.82-4.09a21.79,21.79,0,0,0,7.34-9.44c1.35-3.34,1.51-6.75,1.51-10.3A1.85,1.85,0,0,0,84.17,47.93Z\" />\r\n <path d=\"M60.41,60,51,47.92l8.92-8.41a1.37,1.37,0,0,0,.44-1,1.52,1.52,0,0,0-.4-1,1.22,1.22,0,0,0-1-.47,1.52,1.52,0,0,0-1.12.54l-13.58,13v-12a1.51,1.51,0,0,0-.39-1,1.42,1.42,0,0,0-1.09-.44,1.53,1.53,0,0,0-1.12.44,1.46,1.46,0,0,0-.43,1V60.92a1.46,1.46,0,0,0,.42,1,1.43,1.43,0,0,0,1.1.43,1.44,1.44,0,0,0,1.51-1.48V54.26l4.42-4.16,9.34,11.83a1.24,1.24,0,0,0,1,.55,1.89,1.89,0,0,0,1.12-.4A1.32,1.32,0,0,0,60.77,61,1.61,1.61,0,0,0,60.41,60Z\" />\r\n <path d=\"M78.84,45.51h-.51a5.44,5.44,0,0,0-5.44-5.44v-.51a5.44,5.44,0,0,0,5.44-5.45h.51a5.45,5.45,0,0,0,5.45,5.45v.51A5.45,5.45,0,0,0,78.84,45.51Z\" />\r\n <path d=\"M71.44,36.35h-.2a2.13,2.13,0,0,0-2.13-2.14V34a2.13,2.13,0,0,0,2.13-2.13h.2A2.13,2.13,0,0,0,73.57,34v.2A2.14,2.14,0,0,0,71.44,36.35Z\" />\r\n <path d=\"M83.29,31.83h-.2A2.13,2.13,0,0,0,81,29.7v-.2a2.13,2.13,0,0,0,2.13-2.13h.2a2.14,2.14,0,0,0,2.13,2.13v.2A2.13,2.13,0,0,0,83.29,31.83Z\" />\r\n </svg>\r\n }\r\n @else {\r\n <span class=\"material-symbols-outlined\">{{item.icon}}</span>\r\n }\r\n </div>\r\n }\r\n }\r\n</div>", styles: [".top-icons-container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:.8rem;color:rgb(var(--kv-color-text),.7)}svg{stroke-width:1.2}.clickable{cursor:pointer;transition:all .2s ease}.clickable span,.clickable svg{transition:all .3s ease}.clickable:hover{scale:1.1}.clickable:hover span{font-weight:600}.clickable:hover svg{stroke-width:4}.material-symbols-outlined{font-size:1.4rem}.icon-container{position:relative}.badge{font-size:.6rem;padding:.1rem;height:.8rem;min-width:.8rem;border-radius:.4rem;background-color:red;color:#fff;display:flex;align-items:center;justify-content:center;position:absolute;top:-.2rem;left:.757rem}\n"], dependencies: [{ kind: "ngmodule", type: TooltipModule }] }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: TopIconsComponent, isStandalone: true, selector: "kv-top-icons", inputs: { topActions: { classPropertyName: "topActions", publicName: "topActions", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"top-icons-container\">\r\n @for (item of topActions(); track $index) {\r\n @if(item.visible){\r\n <div class=\"icon-container clickable\" (click)=\"item.action($event)\">\r\n @if(item.numNotifications && item.numNotifications>=0 && !item.boolNotifications){\r\n <span class=\"badge\">{{item.numNotifications > 999 ? (item.numNotifications / 1000).toFixed(1) + 'K' : item.numNotifications}}</span>\r\n }\r\n @if(item.boolNotifications) {\r\n <span class=\"badge-chat\"></span>\r\n }\r\n @if(item.icon == 'kiara'){\r\n <svg class=\"\" id=\"Camada_1\" data-name=\"Camada 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\" style=\"width: 1.6rem; height: 1.6rem;\" stroke=\"#212121\" stroke-width=\"1.5\">\r\n <path d=\"M84.17,47.93a24.61,24.61,0,0,1-1,8.4,17.78,17.78,0,0,1-6.39,8.44c-4,2.85-8.42,3.3-13.16,3.3H43a4.5,4.5,0,0,0-2.6.5c-2.75,1.64-5.4,3.5-8,5.32V69.5A1.88,1.88,0,0,0,31,67.72,18,18,0,0,1,16.8,50.39a22.51,22.51,0,0,1,1.39-9.34,17.9,17.9,0,0,1,7.25-8.3c4.15-2.48,8.5-2.51,13.11-2.51H66.49a1.85,1.85,0,0,0,0-3.69H37.93c-5.47,0-10.68.45-15.38,3.67a21.75,21.75,0,0,0-7.84,9.64,26,26,0,0,0-1.6,10.49A21.72,21.72,0,0,0,28.66,70.93v6.45A1.86,1.86,0,0,0,31.44,79l10.39-6.92.38-.23c.28,0,.62-.06.79-.06H64.19c5.34,0,10.39-.83,14.82-4.09a21.79,21.79,0,0,0,7.34-9.44c1.35-3.34,1.51-6.75,1.51-10.3A1.85,1.85,0,0,0,84.17,47.93Z\" />\r\n <path d=\"M60.41,60,51,47.92l8.92-8.41a1.37,1.37,0,0,0,.44-1,1.52,1.52,0,0,0-.4-1,1.22,1.22,0,0,0-1-.47,1.52,1.52,0,0,0-1.12.54l-13.58,13v-12a1.51,1.51,0,0,0-.39-1,1.42,1.42,0,0,0-1.09-.44,1.53,1.53,0,0,0-1.12.44,1.46,1.46,0,0,0-.43,1V60.92a1.46,1.46,0,0,0,.42,1,1.43,1.43,0,0,0,1.1.43,1.44,1.44,0,0,0,1.51-1.48V54.26l4.42-4.16,9.34,11.83a1.24,1.24,0,0,0,1,.55,1.89,1.89,0,0,0,1.12-.4A1.32,1.32,0,0,0,60.77,61,1.61,1.61,0,0,0,60.41,60Z\" />\r\n <path d=\"M78.84,45.51h-.51a5.44,5.44,0,0,0-5.44-5.44v-.51a5.44,5.44,0,0,0,5.44-5.45h.51a5.45,5.45,0,0,0,5.45,5.45v.51A5.45,5.45,0,0,0,78.84,45.51Z\" />\r\n <path d=\"M71.44,36.35h-.2a2.13,2.13,0,0,0-2.13-2.14V34a2.13,2.13,0,0,0,2.13-2.13h.2A2.13,2.13,0,0,0,73.57,34v.2A2.14,2.14,0,0,0,71.44,36.35Z\" />\r\n <path d=\"M83.29,31.83h-.2A2.13,2.13,0,0,0,81,29.7v-.2a2.13,2.13,0,0,0,2.13-2.13h.2a2.14,2.14,0,0,0,2.13,2.13v.2A2.13,2.13,0,0,0,83.29,31.83Z\" />\r\n </svg>\r\n }\r\n @else {\r\n <span class=\"material-symbols-outlined\">{{item.icon}}</span>\r\n }\r\n </div>\r\n }\r\n }\r\n</div>", styles: [".top-icons-container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:.8rem;color:rgb(var(--kv-color-text),.7)}svg{stroke-width:1.2}.clickable{cursor:pointer;transition:all .2s ease}.clickable span,.clickable svg{transition:all .3s ease}.clickable:hover{scale:1.1}.clickable:hover span{font-weight:600}.clickable:hover svg{stroke-width:4}.material-symbols-outlined{font-size:1.4rem}.icon-container{position:relative}.badge{font-size:.6rem;padding:.1rem;height:.8rem;min-width:.8rem;border-radius:.4rem;background-color:red;color:#fff;display:flex;align-items:center;justify-content:center;position:absolute;top:-.2rem;left:.757rem}.badge-chat{padding:.1rem;height:.7rem;min-width:.7rem;border-radius:.4rem;background-color:red;color:#fff;display:flex;align-items:center;justify-content:center;position:absolute;top:-.2rem;left:.757rem}\n"], dependencies: [{ kind: "ngmodule", type: TooltipModule }] }); }
10
10
  }
11
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: TopIconsComponent, decorators: [{
12
12
  type: Component,
13
- args: [{ selector: 'kv-top-icons', standalone: true, imports: [TooltipModule], template: "<div class=\"top-icons-container\">\r\n @for (item of topActions(); track $index) {\r\n @if(item.visible){\r\n <div class=\"icon-container clickable\" (click)=\"item.action($event)\">\r\n @if(item.numNotifications && item.numNotifications>=0){\r\n <span class=\"badge\">{{item.numNotifications > 999 ? (item.numNotifications / 1000).toFixed(1) + 'K' : item.numNotifications}}</span>\r\n }\r\n @if(item.icon == 'kiara'){\r\n <svg class=\"\" id=\"Camada_1\" data-name=\"Camada 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\" style=\"width: 1.6rem; height: 1.6rem;\" stroke=\"#212121\" stroke-width=\"1.5\">\r\n <path d=\"M84.17,47.93a24.61,24.61,0,0,1-1,8.4,17.78,17.78,0,0,1-6.39,8.44c-4,2.85-8.42,3.3-13.16,3.3H43a4.5,4.5,0,0,0-2.6.5c-2.75,1.64-5.4,3.5-8,5.32V69.5A1.88,1.88,0,0,0,31,67.72,18,18,0,0,1,16.8,50.39a22.51,22.51,0,0,1,1.39-9.34,17.9,17.9,0,0,1,7.25-8.3c4.15-2.48,8.5-2.51,13.11-2.51H66.49a1.85,1.85,0,0,0,0-3.69H37.93c-5.47,0-10.68.45-15.38,3.67a21.75,21.75,0,0,0-7.84,9.64,26,26,0,0,0-1.6,10.49A21.72,21.72,0,0,0,28.66,70.93v6.45A1.86,1.86,0,0,0,31.44,79l10.39-6.92.38-.23c.28,0,.62-.06.79-.06H64.19c5.34,0,10.39-.83,14.82-4.09a21.79,21.79,0,0,0,7.34-9.44c1.35-3.34,1.51-6.75,1.51-10.3A1.85,1.85,0,0,0,84.17,47.93Z\" />\r\n <path d=\"M60.41,60,51,47.92l8.92-8.41a1.37,1.37,0,0,0,.44-1,1.52,1.52,0,0,0-.4-1,1.22,1.22,0,0,0-1-.47,1.52,1.52,0,0,0-1.12.54l-13.58,13v-12a1.51,1.51,0,0,0-.39-1,1.42,1.42,0,0,0-1.09-.44,1.53,1.53,0,0,0-1.12.44,1.46,1.46,0,0,0-.43,1V60.92a1.46,1.46,0,0,0,.42,1,1.43,1.43,0,0,0,1.1.43,1.44,1.44,0,0,0,1.51-1.48V54.26l4.42-4.16,9.34,11.83a1.24,1.24,0,0,0,1,.55,1.89,1.89,0,0,0,1.12-.4A1.32,1.32,0,0,0,60.77,61,1.61,1.61,0,0,0,60.41,60Z\" />\r\n <path d=\"M78.84,45.51h-.51a5.44,5.44,0,0,0-5.44-5.44v-.51a5.44,5.44,0,0,0,5.44-5.45h.51a5.45,5.45,0,0,0,5.45,5.45v.51A5.45,5.45,0,0,0,78.84,45.51Z\" />\r\n <path d=\"M71.44,36.35h-.2a2.13,2.13,0,0,0-2.13-2.14V34a2.13,2.13,0,0,0,2.13-2.13h.2A2.13,2.13,0,0,0,73.57,34v.2A2.14,2.14,0,0,0,71.44,36.35Z\" />\r\n <path d=\"M83.29,31.83h-.2A2.13,2.13,0,0,0,81,29.7v-.2a2.13,2.13,0,0,0,2.13-2.13h.2a2.14,2.14,0,0,0,2.13,2.13v.2A2.13,2.13,0,0,0,83.29,31.83Z\" />\r\n </svg>\r\n }\r\n @else {\r\n <span class=\"material-symbols-outlined\">{{item.icon}}</span>\r\n }\r\n </div>\r\n }\r\n }\r\n</div>", styles: [".top-icons-container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:.8rem;color:rgb(var(--kv-color-text),.7)}svg{stroke-width:1.2}.clickable{cursor:pointer;transition:all .2s ease}.clickable span,.clickable svg{transition:all .3s ease}.clickable:hover{scale:1.1}.clickable:hover span{font-weight:600}.clickable:hover svg{stroke-width:4}.material-symbols-outlined{font-size:1.4rem}.icon-container{position:relative}.badge{font-size:.6rem;padding:.1rem;height:.8rem;min-width:.8rem;border-radius:.4rem;background-color:red;color:#fff;display:flex;align-items:center;justify-content:center;position:absolute;top:-.2rem;left:.757rem}\n"] }]
13
+ args: [{ selector: 'kv-top-icons', standalone: true, imports: [TooltipModule], template: "<div class=\"top-icons-container\">\r\n @for (item of topActions(); track $index) {\r\n @if(item.visible){\r\n <div class=\"icon-container clickable\" (click)=\"item.action($event)\">\r\n @if(item.numNotifications && item.numNotifications>=0 && !item.boolNotifications){\r\n <span class=\"badge\">{{item.numNotifications > 999 ? (item.numNotifications / 1000).toFixed(1) + 'K' : item.numNotifications}}</span>\r\n }\r\n @if(item.boolNotifications) {\r\n <span class=\"badge-chat\"></span>\r\n }\r\n @if(item.icon == 'kiara'){\r\n <svg class=\"\" id=\"Camada_1\" data-name=\"Camada 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\" style=\"width: 1.6rem; height: 1.6rem;\" stroke=\"#212121\" stroke-width=\"1.5\">\r\n <path d=\"M84.17,47.93a24.61,24.61,0,0,1-1,8.4,17.78,17.78,0,0,1-6.39,8.44c-4,2.85-8.42,3.3-13.16,3.3H43a4.5,4.5,0,0,0-2.6.5c-2.75,1.64-5.4,3.5-8,5.32V69.5A1.88,1.88,0,0,0,31,67.72,18,18,0,0,1,16.8,50.39a22.51,22.51,0,0,1,1.39-9.34,17.9,17.9,0,0,1,7.25-8.3c4.15-2.48,8.5-2.51,13.11-2.51H66.49a1.85,1.85,0,0,0,0-3.69H37.93c-5.47,0-10.68.45-15.38,3.67a21.75,21.75,0,0,0-7.84,9.64,26,26,0,0,0-1.6,10.49A21.72,21.72,0,0,0,28.66,70.93v6.45A1.86,1.86,0,0,0,31.44,79l10.39-6.92.38-.23c.28,0,.62-.06.79-.06H64.19c5.34,0,10.39-.83,14.82-4.09a21.79,21.79,0,0,0,7.34-9.44c1.35-3.34,1.51-6.75,1.51-10.3A1.85,1.85,0,0,0,84.17,47.93Z\" />\r\n <path d=\"M60.41,60,51,47.92l8.92-8.41a1.37,1.37,0,0,0,.44-1,1.52,1.52,0,0,0-.4-1,1.22,1.22,0,0,0-1-.47,1.52,1.52,0,0,0-1.12.54l-13.58,13v-12a1.51,1.51,0,0,0-.39-1,1.42,1.42,0,0,0-1.09-.44,1.53,1.53,0,0,0-1.12.44,1.46,1.46,0,0,0-.43,1V60.92a1.46,1.46,0,0,0,.42,1,1.43,1.43,0,0,0,1.1.43,1.44,1.44,0,0,0,1.51-1.48V54.26l4.42-4.16,9.34,11.83a1.24,1.24,0,0,0,1,.55,1.89,1.89,0,0,0,1.12-.4A1.32,1.32,0,0,0,60.77,61,1.61,1.61,0,0,0,60.41,60Z\" />\r\n <path d=\"M78.84,45.51h-.51a5.44,5.44,0,0,0-5.44-5.44v-.51a5.44,5.44,0,0,0,5.44-5.45h.51a5.45,5.45,0,0,0,5.45,5.45v.51A5.45,5.45,0,0,0,78.84,45.51Z\" />\r\n <path d=\"M71.44,36.35h-.2a2.13,2.13,0,0,0-2.13-2.14V34a2.13,2.13,0,0,0,2.13-2.13h.2A2.13,2.13,0,0,0,73.57,34v.2A2.14,2.14,0,0,0,71.44,36.35Z\" />\r\n <path d=\"M83.29,31.83h-.2A2.13,2.13,0,0,0,81,29.7v-.2a2.13,2.13,0,0,0,2.13-2.13h.2a2.14,2.14,0,0,0,2.13,2.13v.2A2.13,2.13,0,0,0,83.29,31.83Z\" />\r\n </svg>\r\n }\r\n @else {\r\n <span class=\"material-symbols-outlined\">{{item.icon}}</span>\r\n }\r\n </div>\r\n }\r\n }\r\n</div>", styles: [".top-icons-container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:.8rem;color:rgb(var(--kv-color-text),.7)}svg{stroke-width:1.2}.clickable{cursor:pointer;transition:all .2s ease}.clickable span,.clickable svg{transition:all .3s ease}.clickable:hover{scale:1.1}.clickable:hover span{font-weight:600}.clickable:hover svg{stroke-width:4}.material-symbols-outlined{font-size:1.4rem}.icon-container{position:relative}.badge{font-size:.6rem;padding:.1rem;height:.8rem;min-width:.8rem;border-radius:.4rem;background-color:red;color:#fff;display:flex;align-items:center;justify-content:center;position:absolute;top:-.2rem;left:.757rem}.badge-chat{padding:.1rem;height:.7rem;min-width:.7rem;border-radius:.4rem;background-color:red;color:#fff;display:flex;align-items:center;justify-content:center;position:absolute;top:-.2rem;left:.757rem}\n"] }]
14
14
  }] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWljb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC90b3AtaWNvbnMvdG9wLWljb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC90b3AtaWNvbnMvdG9wLWljb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFtQmhELE1BQU0sT0FBTyxpQkFBaUI7SUFQOUI7UUFTRSxlQUFVLEdBQUcsS0FBSyxDQUFvQixFQUFFLENBQUMsQ0FBQztLQUUzQzs4R0FKWSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwyTkNwQjlCLHNqRkFzQk0saXRCRE5NLGFBQWE7OzJGQUlaLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQLENBQUMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVG9wQWN0aW9uc01vZGVsIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIHZpc2libGU6IGJvb2xlYW47XHJcbiAgaWNvbj86IHN0cmluZztcclxuICB0b29sdGlwPzogc3RyaW5nO1xyXG4gIG51bU5vdGlmaWNhdGlvbnM/OiBudW1iZXI7XHJcbiAgaW1nPzogc3RyaW5nO1xyXG4gIGFjdGlvbjogKGU6YW55KSA9PiB2b2lkO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LXRvcC1pY29ucycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbVG9vbHRpcE1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RvcC1pY29ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3RvcC1pY29ucy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvcEljb25zQ29tcG9uZW50IHtcclxuXHJcbiAgdG9wQWN0aW9ucyA9IGlucHV0PFRvcEFjdGlvbnNNb2RlbFtdPihbXSk7XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0b3AtaWNvbnMtY29udGFpbmVyXCI+XHJcbiAgICBAZm9yIChpdGVtIG9mIHRvcEFjdGlvbnMoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgQGlmKGl0ZW0udmlzaWJsZSl7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lciBjbGlja2FibGVcIiAoY2xpY2spPVwiaXRlbS5hY3Rpb24oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgQGlmKGl0ZW0ubnVtTm90aWZpY2F0aW9ucyAmJiBpdGVtLm51bU5vdGlmaWNhdGlvbnM+PTApe1xyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2VcIj57e2l0ZW0ubnVtTm90aWZpY2F0aW9ucyA+IDk5OSA/IChpdGVtLm51bU5vdGlmaWNhdGlvbnMgLyAxMDAwKS50b0ZpeGVkKDEpICsgJ0snIDogaXRlbS5udW1Ob3RpZmljYXRpb25zfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYoaXRlbS5pY29uID09ICdraWFyYScpe1xyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJcIiBpZD1cIkNhbWFkYV8xXCIgZGF0YS1uYW1lPVwiQ2FtYWRhIDFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxMDAgMTAwXCIgc3R5bGU9XCJ3aWR0aDogMS42cmVtOyBoZWlnaHQ6IDEuNnJlbTtcIiBzdHJva2U9XCIjMjEyMTIxXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNODQuMTcsNDcuOTNhMjQuNjEsMjQuNjEsMCwwLDEtMSw4LjQsMTcuNzgsMTcuNzgsMCwwLDEtNi4zOSw4LjQ0Yy00LDIuODUtOC40MiwzLjMtMTMuMTYsMy4zSDQzYTQuNSw0LjUsMCwwLDAtMi42LjVjLTIuNzUsMS42NC01LjQsMy41LTgsNS4zMlY2OS41QTEuODgsMS44OCwwLDAsMCwzMSw2Ny43MiwxOCwxOCwwLDAsMSwxNi44LDUwLjM5YTIyLjUxLDIyLjUxLDAsMCwxLDEuMzktOS4zNCwxNy45LDE3LjksMCwwLDEsNy4yNS04LjNjNC4xNS0yLjQ4LDguNS0yLjUxLDEzLjExLTIuNTFINjYuNDlhMS44NSwxLjg1LDAsMCwwLDAtMy42OUgzNy45M2MtNS40NywwLTEwLjY4LjQ1LTE1LjM4LDMuNjdhMjEuNzUsMjEuNzUsMCwwLDAtNy44NCw5LjY0LDI2LDI2LDAsMCwwLTEuNiwxMC40OUEyMS43MiwyMS43MiwwLDAsMCwyOC42Niw3MC45M3Y2LjQ1QTEuODYsMS44NiwwLDAsMCwzMS40NCw3OWwxMC4zOS02LjkyLjM4LS4yM2MuMjgsMCwuNjItLjA2Ljc5LS4wNkg2NC4xOWM1LjM0LDAsMTAuMzktLjgzLDE0LjgyLTQuMDlhMjEuNzksMjEuNzksMCwwLDAsNy4zNC05LjQ0YzEuMzUtMy4zNCwxLjUxLTYuNzUsMS41MS0xMC4zQTEuODUsMS44NSwwLDAsMCw4NC4xNyw0Ny45M1pcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYwLjQxLDYwLDUxLDQ3LjkybDguOTItOC40MWExLjM3LDEuMzcsMCwwLDAsLjQ0LTEsMS41MiwxLjUyLDAsMCwwLS40LTEsMS4yMiwxLjIyLDAsMCwwLTEtLjQ3LDEuNTIsMS41MiwwLDAsMC0xLjEyLjU0bC0xMy41OCwxM3YtMTJhMS41MSwxLjUxLDAsMCwwLS4zOS0xLDEuNDIsMS40MiwwLDAsMC0xLjA5LS40NCwxLjUzLDEuNTMsMCwwLDAtMS4xMi40NCwxLjQ2LDEuNDYsMCwwLDAtLjQzLDFWNjAuOTJhMS40NiwxLjQ2LDAsMCwwLC40MiwxLDEuNDMsMS40MywwLDAsMCwxLjEuNDMsMS40NCwxLjQ0LDAsMCwwLDEuNTEtMS40OFY1NC4yNmw0LjQyLTQuMTYsOS4zNCwxMS44M2ExLjI0LDEuMjQsMCwwLDAsMSwuNTUsMS44OSwxLjg5LDAsMCwwLDEuMTItLjRBMS4zMiwxLjMyLDAsMCwwLDYwLjc3LDYxLDEuNjEsMS42MSwwLDAsMCw2MC40MSw2MFpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTc4Ljg0LDQ1LjUxaC0uNTFhNS40NCw1LjQ0LDAsMCwwLTUuNDQtNS40NHYtLjUxYTUuNDQsNS40NCwwLDAsMCw1LjQ0LTUuNDVoLjUxYTUuNDUsNS40NSwwLDAsMCw1LjQ1LDUuNDV2LjUxQTUuNDUsNS40NSwwLDAsMCw3OC44NCw0NS41MVpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTcxLjQ0LDM2LjM1aC0uMmEyLjEzLDIuMTMsMCwwLDAtMi4xMy0yLjE0VjM0YTIuMTMsMi4xMywwLDAsMCwyLjEzLTIuMTNoLjJBMi4xMywyLjEzLDAsMCwwLDczLjU3LDM0di4yQTIuMTQsMi4xNCwwLDAsMCw3MS40NCwzNi4zNVpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTgzLjI5LDMxLjgzaC0uMkEyLjEzLDIuMTMsMCwwLDAsODEsMjkuN3YtLjJhMi4xMywyLjEzLDAsMCwwLDIuMTMtMi4xM2guMmEyLjE0LDIuMTQsMCwwLDAsMi4xMywyLjEzdi4yQTIuMTMsMi4xMywwLDAsMCw4My4yOSwzMS44M1pcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPnt7aXRlbS5pY29ufX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgIH1cclxuPC9kaXY+Il19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWljb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC90b3AtaWNvbnMvdG9wLWljb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC90b3AtaWNvbnMvdG9wLWljb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFvQmhELE1BQU0sT0FBTyxpQkFBaUI7SUFQOUI7UUFTRSxlQUFVLEdBQUcsS0FBSyxDQUFvQixFQUFFLENBQUMsQ0FBQztLQUUzQzs4R0FKWSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwyTkNyQjlCLGl0RkF5Qk0sNjVCRFJNLGFBQWE7OzJGQUlaLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQLENBQUMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVG9wQWN0aW9uc01vZGVsIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIHZpc2libGU6IGJvb2xlYW47XHJcbiAgaWNvbj86IHN0cmluZztcclxuICB0b29sdGlwPzogc3RyaW5nO1xyXG4gIG51bU5vdGlmaWNhdGlvbnM/OiBudW1iZXI7XHJcbiAgYm9vbE5vdGlmaWNhdGlvbnM/OiBib29sZWFuO1xyXG4gIGltZz86IHN0cmluZztcclxuICBhY3Rpb246IChlOmFueSkgPT4gdm9pZDtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi10b3AtaWNvbnMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1Rvb2x0aXBNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b3AtaWNvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90b3AtaWNvbnMuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb3BJY29uc0NvbXBvbmVudCB7XHJcblxyXG4gIHRvcEFjdGlvbnMgPSBpbnB1dDxUb3BBY3Rpb25zTW9kZWxbXT4oW10pO1xyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidG9wLWljb25zLWNvbnRhaW5lclwiPlxyXG4gICAgQGZvciAoaXRlbSBvZiB0b3BBY3Rpb25zKCk7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgIEBpZihpdGVtLnZpc2libGUpe1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXIgY2xpY2thYmxlXCIgKGNsaWNrKT1cIml0ZW0uYWN0aW9uKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIEBpZihpdGVtLm51bU5vdGlmaWNhdGlvbnMgJiYgaXRlbS5udW1Ob3RpZmljYXRpb25zPj0wICYmICFpdGVtLmJvb2xOb3RpZmljYXRpb25zKXtcclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlXCI+e3tpdGVtLm51bU5vdGlmaWNhdGlvbnMgPiA5OTkgPyAoaXRlbS5udW1Ob3RpZmljYXRpb25zIC8gMTAwMCkudG9GaXhlZCgxKSArICdLJyA6IGl0ZW0ubnVtTm90aWZpY2F0aW9uc319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmKGl0ZW0uYm9vbE5vdGlmaWNhdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlLWNoYXRcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYoaXRlbS5pY29uID09ICdraWFyYScpe1xyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJcIiBpZD1cIkNhbWFkYV8xXCIgZGF0YS1uYW1lPVwiQ2FtYWRhIDFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxMDAgMTAwXCIgc3R5bGU9XCJ3aWR0aDogMS42cmVtOyBoZWlnaHQ6IDEuNnJlbTtcIiBzdHJva2U9XCIjMjEyMTIxXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNODQuMTcsNDcuOTNhMjQuNjEsMjQuNjEsMCwwLDEtMSw4LjQsMTcuNzgsMTcuNzgsMCwwLDEtNi4zOSw4LjQ0Yy00LDIuODUtOC40MiwzLjMtMTMuMTYsMy4zSDQzYTQuNSw0LjUsMCwwLDAtMi42LjVjLTIuNzUsMS42NC01LjQsMy41LTgsNS4zMlY2OS41QTEuODgsMS44OCwwLDAsMCwzMSw2Ny43MiwxOCwxOCwwLDAsMSwxNi44LDUwLjM5YTIyLjUxLDIyLjUxLDAsMCwxLDEuMzktOS4zNCwxNy45LDE3LjksMCwwLDEsNy4yNS04LjNjNC4xNS0yLjQ4LDguNS0yLjUxLDEzLjExLTIuNTFINjYuNDlhMS44NSwxLjg1LDAsMCwwLDAtMy42OUgzNy45M2MtNS40NywwLTEwLjY4LjQ1LTE1LjM4LDMuNjdhMjEuNzUsMjEuNzUsMCwwLDAtNy44NCw5LjY0LDI2LDI2LDAsMCwwLTEuNiwxMC40OUEyMS43MiwyMS43MiwwLDAsMCwyOC42Niw3MC45M3Y2LjQ1QTEuODYsMS44NiwwLDAsMCwzMS40NCw3OWwxMC4zOS02LjkyLjM4LS4yM2MuMjgsMCwuNjItLjA2Ljc5LS4wNkg2NC4xOWM1LjM0LDAsMTAuMzktLjgzLDE0LjgyLTQuMDlhMjEuNzksMjEuNzksMCwwLDAsNy4zNC05LjQ0YzEuMzUtMy4zNCwxLjUxLTYuNzUsMS41MS0xMC4zQTEuODUsMS44NSwwLDAsMCw4NC4xNyw0Ny45M1pcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYwLjQxLDYwLDUxLDQ3LjkybDguOTItOC40MWExLjM3LDEuMzcsMCwwLDAsLjQ0LTEsMS41MiwxLjUyLDAsMCwwLS40LTEsMS4yMiwxLjIyLDAsMCwwLTEtLjQ3LDEuNTIsMS41MiwwLDAsMC0xLjEyLjU0bC0xMy41OCwxM3YtMTJhMS41MSwxLjUxLDAsMCwwLS4zOS0xLDEuNDIsMS40MiwwLDAsMC0xLjA5LS40NCwxLjUzLDEuNTMsMCwwLDAtMS4xMi40NCwxLjQ2LDEuNDYsMCwwLDAtLjQzLDFWNjAuOTJhMS40NiwxLjQ2LDAsMCwwLC40MiwxLDEuNDMsMS40MywwLDAsMCwxLjEuNDMsMS40NCwxLjQ0LDAsMCwwLDEuNTEtMS40OFY1NC4yNmw0LjQyLTQuMTYsOS4zNCwxMS44M2ExLjI0LDEuMjQsMCwwLDAsMSwuNTUsMS44OSwxLjg5LDAsMCwwLDEuMTItLjRBMS4zMiwxLjMyLDAsMCwwLDYwLjc3LDYxLDEuNjEsMS42MSwwLDAsMCw2MC40MSw2MFpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTc4Ljg0LDQ1LjUxaC0uNTFhNS40NCw1LjQ0LDAsMCwwLTUuNDQtNS40NHYtLjUxYTUuNDQsNS40NCwwLDAsMCw1LjQ0LTUuNDVoLjUxYTUuNDUsNS40NSwwLDAsMCw1LjQ1LDUuNDV2LjUxQTUuNDUsNS40NSwwLDAsMCw3OC44NCw0NS41MVpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTcxLjQ0LDM2LjM1aC0uMmEyLjEzLDIuMTMsMCwwLDAtMi4xMy0yLjE0VjM0YTIuMTMsMi4xMywwLDAsMCwyLjEzLTIuMTNoLjJBMi4xMywyLjEzLDAsMCwwLDczLjU3LDM0di4yQTIuMTQsMi4xNCwwLDAsMCw3MS40NCwzNi4zNVpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTgzLjI5LDMxLjgzaC0uMkEyLjEzLDIuMTMsMCwwLDAsODEsMjkuN3YtLjJhMi4xMywyLjEzLDAsMCwwLDIuMTMtMi4xM2guMmEyLjE0LDIuMTQsMCwwLDAsMi4xMywyLjEzdi4yQTIuMTMsMi4xMywwLDAsMCw4My4yOSwzMS44M1pcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPnt7aXRlbS5pY29ufX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgIH1cclxuPC9kaXY+Il19
@@ -27,11 +27,11 @@ export class ProgressBarComponent {
27
27
  this.mode = 'determinate';
28
28
  }
29
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: ProgressBarComponent, selector: "kv-progress-bar", inputs: { value: "value", maxValue: "maxValue", label: "label", showValue: "showValue", showLabel: "showLabel", styleClass: "styleClass", labelStyleClass: "labelStyleClass", barStyleClass: "barStyleClass", style: "style", unit: "unit", mode: "mode", color: "color", progressBarHeight: "progressBarHeight" }, ngImport: i0, template: "<div\r\n role=\"progressbar\"\r\n [class]=\"styleClass ? styleClass : ''\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuenow]=\"value\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.data-pc-name]=\"'progressbar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [ngClass]=\"{'p-progressbar p-component': true, 'p-progressbar-determinate': mode === 'determinate', 'p-progressbar-indeterminate': mode === 'indeterminate'}\"\r\n [style.--progress-bar-height]=\"progressBarHeight\"\r\n>\r\n @if(mode === 'determinate') {\r\n <div class=\"p-progressbar-value p-progressbar-value-animate {{ barStyleClass }} font-semibold\"\r\n [style.width]=\"maxValue && value ? (value / maxValue) * 100 + '%' : value + '%'\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n <p style=\"color: white;\">\r\n {{ maxValue ? value + '/' + maxValue : value?.toFixed(1) + '%' }}\r\n </p>\r\n</div>\r\n\r\n <div\r\n class=\"p-progressbar-label {{ labelStyleClass }} w-full\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n </div>\r\n } @if(mode === 'indeterminate') {\r\n <div\r\n class=\"p-progressbar-indeterminate-container\"\r\n [attr.data-pc-section]=\"'container'\"\r\n >\r\n <div\r\n class=\"p-progressbar-value p-progressbar-value-animate\"\r\n [style.background]=\"color\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@layer primeng{.p-progressbar{background-color:#cbd5e1!important;position:relative;overflow:hidden;height:var(--progress-bar-height, .3rem)}.p-progressbar-determinate .p-progressbar-value{height:100%;width:0%;position:absolute;display:none;border:0 none;display:flex;align-items:center;justify-content:center;overflow:hidden}.p-progressbar-determinate .p-progressbar-label{font-size:.75rem;color:#fff!important;font-weight:400;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center}.p-progressbar-determinate .p-progressbar-value-animate{background-color:#002542!important;transition:width 1s ease-in-out;border-radius:.2rem}.p-progressbar-indeterminate .p-progressbar-value:before{background-color:#002542!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.p-progressbar-indeterminate .p-progressbar-value:after{background-color:#002542!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}}@-webkit-keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: ProgressBarComponent, selector: "kv-progress-bar", inputs: { value: "value", maxValue: "maxValue", label: "label", showValue: "showValue", showLabel: "showLabel", styleClass: "styleClass", labelStyleClass: "labelStyleClass", barStyleClass: "barStyleClass", style: "style", unit: "unit", mode: "mode", color: "color", progressBarHeight: "progressBarHeight" }, ngImport: i0, template: "<div\r\n role=\"progressbar\"\r\n [class]=\"styleClass ? styleClass : ''\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuenow]=\"value\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.data-pc-name]=\"'progressbar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [ngClass]=\"{'p-progressbar p-component': true, 'p-progressbar-determinate': mode === 'determinate', 'p-progressbar-indeterminate': mode === 'indeterminate'}\"\r\n [style.--progress-bar-height]=\"progressBarHeight\"\r\n>\r\n @if(mode === 'determinate') {\r\n <div class=\"p-progressbar-value p-progressbar-value-animate {{ barStyleClass }} font-semibold\"\r\n [style.width]=\"maxValue && value ? (value / maxValue) * 100 + '%' : value + '%'\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n @if(label){\r\n <p class=\"text-center font-semibold text-white\">\r\n {{ label }}\r\n </p>\r\n }\r\n @else {\r\n <p style=\"color: white;\">\r\n {{ maxValue ? value + '/' + maxValue : value?.toFixed(1) + '%' }}\r\n </p>\r\n }\r\n</div>\r\n\r\n <div\r\n class=\"p-progressbar-label {{ labelStyleClass }} w-full\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n </div>\r\n } @if(mode === 'indeterminate') {\r\n <div\r\n class=\"p-progressbar-indeterminate-container\"\r\n [attr.data-pc-section]=\"'container'\"\r\n >\r\n <div\r\n class=\"p-progressbar-value p-progressbar-value-animate\"\r\n [style.background]=\"color\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@layer primeng{.p-progressbar{background-color:#cbd5e1!important;position:relative;overflow:hidden;height:var(--progress-bar-height, .3rem)}.p-progressbar-determinate .p-progressbar-value{height:100%;width:0%;position:absolute;display:none;border:0 none;display:flex;align-items:center;justify-content:center;overflow:hidden}.p-progressbar-determinate .p-progressbar-label{font-size:.75rem;color:#fff!important;font-weight:400;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center}.p-progressbar-determinate .p-progressbar-value-animate{background-color:#002542!important;transition:width 1s ease-in-out;border-radius:.2rem}.p-progressbar-indeterminate .p-progressbar-value:before{background-color:#002542!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.p-progressbar-indeterminate .p-progressbar-value:after{background-color:#002542!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}}@-webkit-keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ProgressBarComponent, decorators: [{
33
33
  type: Component,
34
- args: [{ selector: 'kv-progress-bar', template: "<div\r\n role=\"progressbar\"\r\n [class]=\"styleClass ? styleClass : ''\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuenow]=\"value\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.data-pc-name]=\"'progressbar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [ngClass]=\"{'p-progressbar p-component': true, 'p-progressbar-determinate': mode === 'determinate', 'p-progressbar-indeterminate': mode === 'indeterminate'}\"\r\n [style.--progress-bar-height]=\"progressBarHeight\"\r\n>\r\n @if(mode === 'determinate') {\r\n <div class=\"p-progressbar-value p-progressbar-value-animate {{ barStyleClass }} font-semibold\"\r\n [style.width]=\"maxValue && value ? (value / maxValue) * 100 + '%' : value + '%'\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n <p style=\"color: white;\">\r\n {{ maxValue ? value + '/' + maxValue : value?.toFixed(1) + '%' }}\r\n </p>\r\n</div>\r\n\r\n <div\r\n class=\"p-progressbar-label {{ labelStyleClass }} w-full\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n </div>\r\n } @if(mode === 'indeterminate') {\r\n <div\r\n class=\"p-progressbar-indeterminate-container\"\r\n [attr.data-pc-section]=\"'container'\"\r\n >\r\n <div\r\n class=\"p-progressbar-value p-progressbar-value-animate\"\r\n [style.background]=\"color\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@layer primeng{.p-progressbar{background-color:#cbd5e1!important;position:relative;overflow:hidden;height:var(--progress-bar-height, .3rem)}.p-progressbar-determinate .p-progressbar-value{height:100%;width:0%;position:absolute;display:none;border:0 none;display:flex;align-items:center;justify-content:center;overflow:hidden}.p-progressbar-determinate .p-progressbar-label{font-size:.75rem;color:#fff!important;font-weight:400;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center}.p-progressbar-determinate .p-progressbar-value-animate{background-color:#002542!important;transition:width 1s ease-in-out;border-radius:.2rem}.p-progressbar-indeterminate .p-progressbar-value:before{background-color:#002542!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.p-progressbar-indeterminate .p-progressbar-value:after{background-color:#002542!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}}@-webkit-keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"] }]
34
+ args: [{ selector: 'kv-progress-bar', template: "<div\r\n role=\"progressbar\"\r\n [class]=\"styleClass ? styleClass : ''\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuenow]=\"value\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.data-pc-name]=\"'progressbar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [ngClass]=\"{'p-progressbar p-component': true, 'p-progressbar-determinate': mode === 'determinate', 'p-progressbar-indeterminate': mode === 'indeterminate'}\"\r\n [style.--progress-bar-height]=\"progressBarHeight\"\r\n>\r\n @if(mode === 'determinate') {\r\n <div class=\"p-progressbar-value p-progressbar-value-animate {{ barStyleClass }} font-semibold\"\r\n [style.width]=\"maxValue && value ? (value / maxValue) * 100 + '%' : value + '%'\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n @if(label){\r\n <p class=\"text-center font-semibold text-white\">\r\n {{ label }}\r\n </p>\r\n }\r\n @else {\r\n <p style=\"color: white;\">\r\n {{ maxValue ? value + '/' + maxValue : value?.toFixed(1) + '%' }}\r\n </p>\r\n }\r\n</div>\r\n\r\n <div\r\n class=\"p-progressbar-label {{ labelStyleClass }} w-full\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n </div>\r\n } @if(mode === 'indeterminate') {\r\n <div\r\n class=\"p-progressbar-indeterminate-container\"\r\n [attr.data-pc-section]=\"'container'\"\r\n >\r\n <div\r\n class=\"p-progressbar-value p-progressbar-value-animate\"\r\n [style.background]=\"color\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@layer primeng{.p-progressbar{background-color:#cbd5e1!important;position:relative;overflow:hidden;height:var(--progress-bar-height, .3rem)}.p-progressbar-determinate .p-progressbar-value{height:100%;width:0%;position:absolute;display:none;border:0 none;display:flex;align-items:center;justify-content:center;overflow:hidden}.p-progressbar-determinate .p-progressbar-label{font-size:.75rem;color:#fff!important;font-weight:400;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center}.p-progressbar-determinate .p-progressbar-value-animate{background-color:#002542!important;transition:width 1s ease-in-out;border-radius:.2rem}.p-progressbar-indeterminate .p-progressbar-value:before{background-color:#002542!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.p-progressbar-indeterminate .p-progressbar-value:after{background-color:#002542!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}}@-webkit-keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"] }]
35
35
  }], propDecorators: { value: [{
36
36
  type: Input
37
37
  }], maxValue: [{
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
59
59
  }], progressBarHeight: [{
60
60
  type: Input
61
61
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXByb2dyZXNzLWJhci9rdi1wcm9ncmVzcy1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtcHJvZ3Jlc3MtYmFyL2t2LXByb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUEwQkU7Ozs7V0FJRztRQUNNLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDbkM7Ozs7V0FJRztRQUNNLGNBQVMsR0FBWSxJQUFJLENBQUM7UUF3Qm5DOzs7V0FHRztRQUNNLFNBQUksR0FBVyxHQUFHLENBQUM7UUFDNUI7OztXQUdHO1FBQ00sU0FBSSxHQUFvQyxhQUFhLENBQUM7S0FRaEU7OEdBekVZLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDJXQ1BqQyw0M0NBdUNBOzsyRkRoQ2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjs4QkFVbEIsS0FBSztzQkFBYixLQUFLO2dCQU1HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLFNBQVM7c0JBQWpCLEtBQUs7Z0JBTUcsU0FBUztzQkFBakIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQU1HLGVBQWU7c0JBQXZCLEtBQUs7Z0JBTUcsYUFBYTtzQkFBckIsS0FBSztnQkFNRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1wcm9ncmVzcy1iYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1wcm9ncmVzcy1iYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2t2LXByb2dyZXNzLWJhci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NCYXJDb21wb25lbnQge1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEN1cnJlbnQgdmFsdWUgb2YgdGhlIHByb2dyZXNzLlxyXG4gICAqIEBncm91cCBQcm9wc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1heCB2YWx1ZSBvZiB0aGUgcHJvZ3Jlc3MuXHJcbiAgICogQGdyb3VwIFByb3BzXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4VmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLyoqXHJcbiAgICogTGFiZWwgdmFsdWUgb2YgdGhlIHByb2dyZXNzLlxyXG4gICAqIEBkZXByZWNhdGVkIFVzZSBsYWJlbCBpbnN0ZWFkLlxyXG4gICAqIEBncm91cCBQcm9wc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgcHJvZ3Jlc3MgYmFyIHZhbHVlLlxyXG4gICAqIEBkZXByZWNhdGVkIFVzZSBzaG93VmFsdWUgaW5zdGVhZC5cclxuICAgKiBAZ3JvdXAgUHJvcHNcclxuICAgKi9cclxuICBASW5wdXQoKSBzaG93VmFsdWU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgcHJvZ3Jlc3MgYmFyIHZhbHVlLlxyXG4gICAqIEBkZXByZWNhdGVkIFVzZSBzaG93VmFsdWUgaW5zdGVhZC5cclxuICAgKiBAZ3JvdXAgUHJvcHNcclxuICAgKi9cclxuICBASW5wdXQoKSBzaG93TGFiZWw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIENsYXNzIG9mIHRoZSBlbGVtZW50LlxyXG4gICAqIEBncm91cCBQcm9wc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2xhc3Mgb2YgdGhlIGVsZW1lbnQuXHJcbiAgICogQGdyb3VwIFByb3BzXHJcbiAgICovXHJcbiAgQElucHV0KCkgbGFiZWxTdHlsZUNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIENsYXNzIG9mIHRoZSBlbGVtZW50LlxyXG4gICAqIEBncm91cCBQcm9wc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGJhclN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5saW5lIHN0eWxlIG9mIHRoZSBlbGVtZW50LlxyXG4gICAqIEBncm91cCBQcm9wc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0eWxlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gIC8qKlxyXG4gICAqIFVuaXQgc2lnbiBhcHBlbmRlZCB0byB0aGUgdmFsdWUuXHJcbiAgICogQGdyb3VwIFByb3BzXHJcbiAgICovXHJcbiAgQElucHV0KCkgdW5pdDogc3RyaW5nID0gJyUnO1xyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIG1vZGUgb2YgdGhlIHByb2dyZXNzXHJcbiAgICogQGdyb3VwIFByb3BzXHJcbiAgICovXHJcbiAgQElucHV0KCkgbW9kZTogJ2RldGVybWluYXRlJyB8ICdpbmRldGVybWluYXRlJyA9ICdkZXRlcm1pbmF0ZSc7XHJcbiAgLyoqXHJcbiAgICogQ29sb3IgZm9yIHRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBwcm9ncmVzcy5cclxuICAgKiBAZ3JvdXAgUHJvcHNcclxuICAgKi9cclxuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKSBwcm9ncmVzc0JhckhlaWdodDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG59XHJcbiIsIjxkaXZcclxuICByb2xlPVwicHJvZ3Jlc3NiYXJcIlxyXG4gIFtjbGFzc109XCJzdHlsZUNsYXNzID8gc3R5bGVDbGFzcyA6ICcnXCJcclxuICBbYXR0ci5hcmlhLXZhbHVlbWluXT1cIjBcIlxyXG4gIFthdHRyLmFyaWEtdmFsdWVub3ddPVwidmFsdWVcIlxyXG4gIFthdHRyLmFyaWEtdmFsdWVtYXhdPVwiMTAwXCJcclxuICBbYXR0ci5kYXRhLXBjLW5hbWVdPVwiJ3Byb2dyZXNzYmFyJ1wiXHJcbiAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidyb290J1wiXHJcbiAgW25nQ2xhc3NdPVwieydwLXByb2dyZXNzYmFyIHAtY29tcG9uZW50JzogdHJ1ZSwgJ3AtcHJvZ3Jlc3NiYXItZGV0ZXJtaW5hdGUnOiBtb2RlID09PSAnZGV0ZXJtaW5hdGUnLCAncC1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlJzogbW9kZSA9PT0gJ2luZGV0ZXJtaW5hdGUnfVwiXHJcbiAgW3N0eWxlLi0tcHJvZ3Jlc3MtYmFyLWhlaWdodF09XCJwcm9ncmVzc0JhckhlaWdodFwiXHJcbj5cclxuICBAaWYobW9kZSA9PT0gJ2RldGVybWluYXRlJykge1xyXG4gIDxkaXYgY2xhc3M9XCJwLXByb2dyZXNzYmFyLXZhbHVlIHAtcHJvZ3Jlc3NiYXItdmFsdWUtYW5pbWF0ZSB7eyBiYXJTdHlsZUNsYXNzIH19IGZvbnQtc2VtaWJvbGRcIlxyXG4gICAgW3N0eWxlLndpZHRoXT1cIm1heFZhbHVlICYmIHZhbHVlID8gKHZhbHVlIC8gbWF4VmFsdWUpICogMTAwICsgJyUnIDogdmFsdWUgKyAnJSdcIlxyXG4gICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIid2YWx1ZSdcIlxyXG4gID5cclxuICAgIDxwIHN0eWxlPVwiY29sb3I6IHdoaXRlO1wiPlxyXG4gICAgICB7eyBtYXhWYWx1ZSA/IHZhbHVlICsgJy8nICsgbWF4VmFsdWUgOiB2YWx1ZT8udG9GaXhlZCgxKSArICclJyB9fVxyXG4gICAgPC9wPlxyXG48L2Rpdj5cclxuXHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJwLXByb2dyZXNzYmFyLWxhYmVsIHt7IGxhYmVsU3R5bGVDbGFzcyB9fSB3LWZ1bGxcIlxyXG4gICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidsYWJlbCdcIlxyXG4gID5cclxuICA8L2Rpdj5cclxuICB9IEBpZihtb2RlID09PSAnaW5kZXRlcm1pbmF0ZScpIHtcclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInAtcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1jb250YWluZXJcIlxyXG4gICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidjb250YWluZXInXCJcclxuICA+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwicC1wcm9ncmVzc2Jhci12YWx1ZSBwLXByb2dyZXNzYmFyLXZhbHVlLWFuaW1hdGVcIlxyXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJjb2xvclwiXHJcbiAgICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCIndmFsdWUnXCJcclxuICAgID48L2Rpdj5cclxuICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXByb2dyZXNzLWJhci9rdi1wcm9ncmVzcy1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtcHJvZ3Jlc3MtYmFyL2t2LXByb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUEwQkU7Ozs7V0FJRztRQUNNLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDbkM7Ozs7V0FJRztRQUNNLGNBQVMsR0FBWSxJQUFJLENBQUM7UUF3Qm5DOzs7V0FHRztRQUNNLFNBQUksR0FBVyxHQUFHLENBQUM7UUFDNUI7OztXQUdHO1FBQ00sU0FBSSxHQUFvQyxhQUFhLENBQUM7S0FRaEU7OEdBekVZLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDJXQ1BqQyx1aERBOENBOzsyRkR2Q2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjs4QkFVbEIsS0FBSztzQkFBYixLQUFLO2dCQU1HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLFNBQVM7c0JBQWpCLEtBQUs7Z0JBTUcsU0FBUztzQkFBakIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQU1HLGVBQWU7c0JBQXZCLEtBQUs7Z0JBTUcsYUFBYTtzQkFBckIsS0FBSztnQkFNRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1wcm9ncmVzcy1iYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1wcm9ncmVzcy1iYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2t2LXByb2dyZXNzLWJhci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NCYXJDb21wb25lbnQge1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEN1cnJlbnQgdmFsdWUgb2YgdGhlIHByb2dyZXNzLlxyXG4gICAqIEBncm91cCBQcm9wc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1heCB2YWx1ZSBvZiB0aGUgcHJvZ3Jlc3MuXHJcbiAgICogQGdyb3VwIFByb3BzXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4VmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLyoqXHJcbiAgICogTGFiZWwgdmFsdWUgb2YgdGhlIHByb2dyZXNzLlxyXG4gICAqIEBkZXByZWNhdGVkIFVzZSBsYWJlbCBpbnN0ZWFkLlxyXG4gICAqIEBncm91cCBQcm9wc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgcHJvZ3Jlc3MgYmFyIHZhbHVlLlxyXG4gICAqIEBkZXByZWNhdGVkIFVzZSBzaG93VmFsdWUgaW5zdGVhZC5cclxuICAgKiBAZ3JvdXAgUHJvcHNcclxuICAgKi9cclxuICBASW5wdXQoKSBzaG93VmFsdWU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgcHJvZ3Jlc3MgYmFyIHZhbHVlLlxyXG4gICAqIEBkZXByZWNhdGVkIFVzZSBzaG93VmFsdWUgaW5zdGVhZC5cclxuICAgKiBAZ3JvdXAgUHJvcHNcclxuICAgKi9cclxuICBASW5wdXQoKSBzaG93TGFiZWw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIENsYXNzIG9mIHRoZSBlbGVtZW50LlxyXG4gICAqIEBncm91cCBQcm9wc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2xhc3Mgb2YgdGhlIGVsZW1lbnQuXHJcbiAgICogQGdyb3VwIFByb3BzXHJcbiAgICovXHJcbiAgQElucHV0KCkgbGFiZWxTdHlsZUNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIENsYXNzIG9mIHRoZSBlbGVtZW50LlxyXG4gICAqIEBncm91cCBQcm9wc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGJhclN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5saW5lIHN0eWxlIG9mIHRoZSBlbGVtZW50LlxyXG4gICAqIEBncm91cCBQcm9wc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0eWxlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gIC8qKlxyXG4gICAqIFVuaXQgc2lnbiBhcHBlbmRlZCB0byB0aGUgdmFsdWUuXHJcbiAgICogQGdyb3VwIFByb3BzXHJcbiAgICovXHJcbiAgQElucHV0KCkgdW5pdDogc3RyaW5nID0gJyUnO1xyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIG1vZGUgb2YgdGhlIHByb2dyZXNzXHJcbiAgICogQGdyb3VwIFByb3BzXHJcbiAgICovXHJcbiAgQElucHV0KCkgbW9kZTogJ2RldGVybWluYXRlJyB8ICdpbmRldGVybWluYXRlJyA9ICdkZXRlcm1pbmF0ZSc7XHJcbiAgLyoqXHJcbiAgICogQ29sb3IgZm9yIHRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBwcm9ncmVzcy5cclxuICAgKiBAZ3JvdXAgUHJvcHNcclxuICAgKi9cclxuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKSBwcm9ncmVzc0JhckhlaWdodDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG59XHJcbiIsIjxkaXZcclxuICByb2xlPVwicHJvZ3Jlc3NiYXJcIlxyXG4gIFtjbGFzc109XCJzdHlsZUNsYXNzID8gc3R5bGVDbGFzcyA6ICcnXCJcclxuICBbYXR0ci5hcmlhLXZhbHVlbWluXT1cIjBcIlxyXG4gIFthdHRyLmFyaWEtdmFsdWVub3ddPVwidmFsdWVcIlxyXG4gIFthdHRyLmFyaWEtdmFsdWVtYXhdPVwiMTAwXCJcclxuICBbYXR0ci5kYXRhLXBjLW5hbWVdPVwiJ3Byb2dyZXNzYmFyJ1wiXHJcbiAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidyb290J1wiXHJcbiAgW25nQ2xhc3NdPVwieydwLXByb2dyZXNzYmFyIHAtY29tcG9uZW50JzogdHJ1ZSwgJ3AtcHJvZ3Jlc3NiYXItZGV0ZXJtaW5hdGUnOiBtb2RlID09PSAnZGV0ZXJtaW5hdGUnLCAncC1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlJzogbW9kZSA9PT0gJ2luZGV0ZXJtaW5hdGUnfVwiXHJcbiAgW3N0eWxlLi0tcHJvZ3Jlc3MtYmFyLWhlaWdodF09XCJwcm9ncmVzc0JhckhlaWdodFwiXHJcbj5cclxuICBAaWYobW9kZSA9PT0gJ2RldGVybWluYXRlJykge1xyXG4gIDxkaXYgY2xhc3M9XCJwLXByb2dyZXNzYmFyLXZhbHVlIHAtcHJvZ3Jlc3NiYXItdmFsdWUtYW5pbWF0ZSB7eyBiYXJTdHlsZUNsYXNzIH19IGZvbnQtc2VtaWJvbGRcIlxyXG4gICAgW3N0eWxlLndpZHRoXT1cIm1heFZhbHVlICYmIHZhbHVlID8gKHZhbHVlIC8gbWF4VmFsdWUpICogMTAwICsgJyUnIDogdmFsdWUgKyAnJSdcIlxyXG4gICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIid2YWx1ZSdcIlxyXG4gID5cclxuICAgIEBpZihsYWJlbCl7XHJcbiAgICAgIDxwIGNsYXNzPVwidGV4dC1jZW50ZXIgZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlXCI+XHJcbiAgICAgICAge3sgbGFiZWwgfX1cclxuICAgICAgPC9wPlxyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICA8cCBzdHlsZT1cImNvbG9yOiB3aGl0ZTtcIj5cclxuICAgICAgICB7eyBtYXhWYWx1ZSA/IHZhbHVlICsgJy8nICsgbWF4VmFsdWUgOiB2YWx1ZT8udG9GaXhlZCgxKSArICclJyB9fVxyXG4gICAgICA8L3A+XHJcbiAgICB9XHJcbjwvZGl2PlxyXG5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInAtcHJvZ3Jlc3NiYXItbGFiZWwge3sgbGFiZWxTdHlsZUNsYXNzIH19IHctZnVsbFwiXHJcbiAgICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2xhYmVsJ1wiXHJcbiAgPlxyXG4gIDwvZGl2PlxyXG4gIH0gQGlmKG1vZGUgPT09ICdpbmRldGVybWluYXRlJykge1xyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwicC1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWNvbnRhaW5lclwiXHJcbiAgICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2NvbnRhaW5lcidcIlxyXG4gID5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJwLXByb2dyZXNzYmFyLXZhbHVlIHAtcHJvZ3Jlc3NiYXItdmFsdWUtYW5pbWF0ZVwiXHJcbiAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImNvbG9yXCJcclxuICAgICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIid2YWx1ZSdcIlxyXG4gICAgPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
@@ -5887,11 +5887,11 @@ class TopIconsComponent {
5887
5887
  this.topActions = input([]);
5888
5888
  }
5889
5889
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: TopIconsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5890
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: TopIconsComponent, isStandalone: true, selector: "kv-top-icons", inputs: { topActions: { classPropertyName: "topActions", publicName: "topActions", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"top-icons-container\">\r\n @for (item of topActions(); track $index) {\r\n @if(item.visible){\r\n <div class=\"icon-container clickable\" (click)=\"item.action($event)\">\r\n @if(item.numNotifications && item.numNotifications>=0){\r\n <span class=\"badge\">{{item.numNotifications > 999 ? (item.numNotifications / 1000).toFixed(1) + 'K' : item.numNotifications}}</span>\r\n }\r\n @if(item.icon == 'kiara'){\r\n <svg class=\"\" id=\"Camada_1\" data-name=\"Camada 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\" style=\"width: 1.6rem; height: 1.6rem;\" stroke=\"#212121\" stroke-width=\"1.5\">\r\n <path d=\"M84.17,47.93a24.61,24.61,0,0,1-1,8.4,17.78,17.78,0,0,1-6.39,8.44c-4,2.85-8.42,3.3-13.16,3.3H43a4.5,4.5,0,0,0-2.6.5c-2.75,1.64-5.4,3.5-8,5.32V69.5A1.88,1.88,0,0,0,31,67.72,18,18,0,0,1,16.8,50.39a22.51,22.51,0,0,1,1.39-9.34,17.9,17.9,0,0,1,7.25-8.3c4.15-2.48,8.5-2.51,13.11-2.51H66.49a1.85,1.85,0,0,0,0-3.69H37.93c-5.47,0-10.68.45-15.38,3.67a21.75,21.75,0,0,0-7.84,9.64,26,26,0,0,0-1.6,10.49A21.72,21.72,0,0,0,28.66,70.93v6.45A1.86,1.86,0,0,0,31.44,79l10.39-6.92.38-.23c.28,0,.62-.06.79-.06H64.19c5.34,0,10.39-.83,14.82-4.09a21.79,21.79,0,0,0,7.34-9.44c1.35-3.34,1.51-6.75,1.51-10.3A1.85,1.85,0,0,0,84.17,47.93Z\" />\r\n <path d=\"M60.41,60,51,47.92l8.92-8.41a1.37,1.37,0,0,0,.44-1,1.52,1.52,0,0,0-.4-1,1.22,1.22,0,0,0-1-.47,1.52,1.52,0,0,0-1.12.54l-13.58,13v-12a1.51,1.51,0,0,0-.39-1,1.42,1.42,0,0,0-1.09-.44,1.53,1.53,0,0,0-1.12.44,1.46,1.46,0,0,0-.43,1V60.92a1.46,1.46,0,0,0,.42,1,1.43,1.43,0,0,0,1.1.43,1.44,1.44,0,0,0,1.51-1.48V54.26l4.42-4.16,9.34,11.83a1.24,1.24,0,0,0,1,.55,1.89,1.89,0,0,0,1.12-.4A1.32,1.32,0,0,0,60.77,61,1.61,1.61,0,0,0,60.41,60Z\" />\r\n <path d=\"M78.84,45.51h-.51a5.44,5.44,0,0,0-5.44-5.44v-.51a5.44,5.44,0,0,0,5.44-5.45h.51a5.45,5.45,0,0,0,5.45,5.45v.51A5.45,5.45,0,0,0,78.84,45.51Z\" />\r\n <path d=\"M71.44,36.35h-.2a2.13,2.13,0,0,0-2.13-2.14V34a2.13,2.13,0,0,0,2.13-2.13h.2A2.13,2.13,0,0,0,73.57,34v.2A2.14,2.14,0,0,0,71.44,36.35Z\" />\r\n <path d=\"M83.29,31.83h-.2A2.13,2.13,0,0,0,81,29.7v-.2a2.13,2.13,0,0,0,2.13-2.13h.2a2.14,2.14,0,0,0,2.13,2.13v.2A2.13,2.13,0,0,0,83.29,31.83Z\" />\r\n </svg>\r\n }\r\n @else {\r\n <span class=\"material-symbols-outlined\">{{item.icon}}</span>\r\n }\r\n </div>\r\n }\r\n }\r\n</div>", styles: [".top-icons-container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:.8rem;color:rgb(var(--kv-color-text),.7)}svg{stroke-width:1.2}.clickable{cursor:pointer;transition:all .2s ease}.clickable span,.clickable svg{transition:all .3s ease}.clickable:hover{scale:1.1}.clickable:hover span{font-weight:600}.clickable:hover svg{stroke-width:4}.material-symbols-outlined{font-size:1.4rem}.icon-container{position:relative}.badge{font-size:.6rem;padding:.1rem;height:.8rem;min-width:.8rem;border-radius:.4rem;background-color:red;color:#fff;display:flex;align-items:center;justify-content:center;position:absolute;top:-.2rem;left:.757rem}\n"], dependencies: [{ kind: "ngmodule", type: TooltipModule }] }); }
5890
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: TopIconsComponent, isStandalone: true, selector: "kv-top-icons", inputs: { topActions: { classPropertyName: "topActions", publicName: "topActions", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"top-icons-container\">\r\n @for (item of topActions(); track $index) {\r\n @if(item.visible){\r\n <div class=\"icon-container clickable\" (click)=\"item.action($event)\">\r\n @if(item.numNotifications && item.numNotifications>=0 && !item.boolNotifications){\r\n <span class=\"badge\">{{item.numNotifications > 999 ? (item.numNotifications / 1000).toFixed(1) + 'K' : item.numNotifications}}</span>\r\n }\r\n @if(item.boolNotifications) {\r\n <span class=\"badge-chat\"></span>\r\n }\r\n @if(item.icon == 'kiara'){\r\n <svg class=\"\" id=\"Camada_1\" data-name=\"Camada 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\" style=\"width: 1.6rem; height: 1.6rem;\" stroke=\"#212121\" stroke-width=\"1.5\">\r\n <path d=\"M84.17,47.93a24.61,24.61,0,0,1-1,8.4,17.78,17.78,0,0,1-6.39,8.44c-4,2.85-8.42,3.3-13.16,3.3H43a4.5,4.5,0,0,0-2.6.5c-2.75,1.64-5.4,3.5-8,5.32V69.5A1.88,1.88,0,0,0,31,67.72,18,18,0,0,1,16.8,50.39a22.51,22.51,0,0,1,1.39-9.34,17.9,17.9,0,0,1,7.25-8.3c4.15-2.48,8.5-2.51,13.11-2.51H66.49a1.85,1.85,0,0,0,0-3.69H37.93c-5.47,0-10.68.45-15.38,3.67a21.75,21.75,0,0,0-7.84,9.64,26,26,0,0,0-1.6,10.49A21.72,21.72,0,0,0,28.66,70.93v6.45A1.86,1.86,0,0,0,31.44,79l10.39-6.92.38-.23c.28,0,.62-.06.79-.06H64.19c5.34,0,10.39-.83,14.82-4.09a21.79,21.79,0,0,0,7.34-9.44c1.35-3.34,1.51-6.75,1.51-10.3A1.85,1.85,0,0,0,84.17,47.93Z\" />\r\n <path d=\"M60.41,60,51,47.92l8.92-8.41a1.37,1.37,0,0,0,.44-1,1.52,1.52,0,0,0-.4-1,1.22,1.22,0,0,0-1-.47,1.52,1.52,0,0,0-1.12.54l-13.58,13v-12a1.51,1.51,0,0,0-.39-1,1.42,1.42,0,0,0-1.09-.44,1.53,1.53,0,0,0-1.12.44,1.46,1.46,0,0,0-.43,1V60.92a1.46,1.46,0,0,0,.42,1,1.43,1.43,0,0,0,1.1.43,1.44,1.44,0,0,0,1.51-1.48V54.26l4.42-4.16,9.34,11.83a1.24,1.24,0,0,0,1,.55,1.89,1.89,0,0,0,1.12-.4A1.32,1.32,0,0,0,60.77,61,1.61,1.61,0,0,0,60.41,60Z\" />\r\n <path d=\"M78.84,45.51h-.51a5.44,5.44,0,0,0-5.44-5.44v-.51a5.44,5.44,0,0,0,5.44-5.45h.51a5.45,5.45,0,0,0,5.45,5.45v.51A5.45,5.45,0,0,0,78.84,45.51Z\" />\r\n <path d=\"M71.44,36.35h-.2a2.13,2.13,0,0,0-2.13-2.14V34a2.13,2.13,0,0,0,2.13-2.13h.2A2.13,2.13,0,0,0,73.57,34v.2A2.14,2.14,0,0,0,71.44,36.35Z\" />\r\n <path d=\"M83.29,31.83h-.2A2.13,2.13,0,0,0,81,29.7v-.2a2.13,2.13,0,0,0,2.13-2.13h.2a2.14,2.14,0,0,0,2.13,2.13v.2A2.13,2.13,0,0,0,83.29,31.83Z\" />\r\n </svg>\r\n }\r\n @else {\r\n <span class=\"material-symbols-outlined\">{{item.icon}}</span>\r\n }\r\n </div>\r\n }\r\n }\r\n</div>", styles: [".top-icons-container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:.8rem;color:rgb(var(--kv-color-text),.7)}svg{stroke-width:1.2}.clickable{cursor:pointer;transition:all .2s ease}.clickable span,.clickable svg{transition:all .3s ease}.clickable:hover{scale:1.1}.clickable:hover span{font-weight:600}.clickable:hover svg{stroke-width:4}.material-symbols-outlined{font-size:1.4rem}.icon-container{position:relative}.badge{font-size:.6rem;padding:.1rem;height:.8rem;min-width:.8rem;border-radius:.4rem;background-color:red;color:#fff;display:flex;align-items:center;justify-content:center;position:absolute;top:-.2rem;left:.757rem}.badge-chat{padding:.1rem;height:.7rem;min-width:.7rem;border-radius:.4rem;background-color:red;color:#fff;display:flex;align-items:center;justify-content:center;position:absolute;top:-.2rem;left:.757rem}\n"], dependencies: [{ kind: "ngmodule", type: TooltipModule }] }); }
5891
5891
  }
5892
5892
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: TopIconsComponent, decorators: [{
5893
5893
  type: Component,
5894
- args: [{ selector: 'kv-top-icons', standalone: true, imports: [TooltipModule], template: "<div class=\"top-icons-container\">\r\n @for (item of topActions(); track $index) {\r\n @if(item.visible){\r\n <div class=\"icon-container clickable\" (click)=\"item.action($event)\">\r\n @if(item.numNotifications && item.numNotifications>=0){\r\n <span class=\"badge\">{{item.numNotifications > 999 ? (item.numNotifications / 1000).toFixed(1) + 'K' : item.numNotifications}}</span>\r\n }\r\n @if(item.icon == 'kiara'){\r\n <svg class=\"\" id=\"Camada_1\" data-name=\"Camada 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\" style=\"width: 1.6rem; height: 1.6rem;\" stroke=\"#212121\" stroke-width=\"1.5\">\r\n <path d=\"M84.17,47.93a24.61,24.61,0,0,1-1,8.4,17.78,17.78,0,0,1-6.39,8.44c-4,2.85-8.42,3.3-13.16,3.3H43a4.5,4.5,0,0,0-2.6.5c-2.75,1.64-5.4,3.5-8,5.32V69.5A1.88,1.88,0,0,0,31,67.72,18,18,0,0,1,16.8,50.39a22.51,22.51,0,0,1,1.39-9.34,17.9,17.9,0,0,1,7.25-8.3c4.15-2.48,8.5-2.51,13.11-2.51H66.49a1.85,1.85,0,0,0,0-3.69H37.93c-5.47,0-10.68.45-15.38,3.67a21.75,21.75,0,0,0-7.84,9.64,26,26,0,0,0-1.6,10.49A21.72,21.72,0,0,0,28.66,70.93v6.45A1.86,1.86,0,0,0,31.44,79l10.39-6.92.38-.23c.28,0,.62-.06.79-.06H64.19c5.34,0,10.39-.83,14.82-4.09a21.79,21.79,0,0,0,7.34-9.44c1.35-3.34,1.51-6.75,1.51-10.3A1.85,1.85,0,0,0,84.17,47.93Z\" />\r\n <path d=\"M60.41,60,51,47.92l8.92-8.41a1.37,1.37,0,0,0,.44-1,1.52,1.52,0,0,0-.4-1,1.22,1.22,0,0,0-1-.47,1.52,1.52,0,0,0-1.12.54l-13.58,13v-12a1.51,1.51,0,0,0-.39-1,1.42,1.42,0,0,0-1.09-.44,1.53,1.53,0,0,0-1.12.44,1.46,1.46,0,0,0-.43,1V60.92a1.46,1.46,0,0,0,.42,1,1.43,1.43,0,0,0,1.1.43,1.44,1.44,0,0,0,1.51-1.48V54.26l4.42-4.16,9.34,11.83a1.24,1.24,0,0,0,1,.55,1.89,1.89,0,0,0,1.12-.4A1.32,1.32,0,0,0,60.77,61,1.61,1.61,0,0,0,60.41,60Z\" />\r\n <path d=\"M78.84,45.51h-.51a5.44,5.44,0,0,0-5.44-5.44v-.51a5.44,5.44,0,0,0,5.44-5.45h.51a5.45,5.45,0,0,0,5.45,5.45v.51A5.45,5.45,0,0,0,78.84,45.51Z\" />\r\n <path d=\"M71.44,36.35h-.2a2.13,2.13,0,0,0-2.13-2.14V34a2.13,2.13,0,0,0,2.13-2.13h.2A2.13,2.13,0,0,0,73.57,34v.2A2.14,2.14,0,0,0,71.44,36.35Z\" />\r\n <path d=\"M83.29,31.83h-.2A2.13,2.13,0,0,0,81,29.7v-.2a2.13,2.13,0,0,0,2.13-2.13h.2a2.14,2.14,0,0,0,2.13,2.13v.2A2.13,2.13,0,0,0,83.29,31.83Z\" />\r\n </svg>\r\n }\r\n @else {\r\n <span class=\"material-symbols-outlined\">{{item.icon}}</span>\r\n }\r\n </div>\r\n }\r\n }\r\n</div>", styles: [".top-icons-container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:.8rem;color:rgb(var(--kv-color-text),.7)}svg{stroke-width:1.2}.clickable{cursor:pointer;transition:all .2s ease}.clickable span,.clickable svg{transition:all .3s ease}.clickable:hover{scale:1.1}.clickable:hover span{font-weight:600}.clickable:hover svg{stroke-width:4}.material-symbols-outlined{font-size:1.4rem}.icon-container{position:relative}.badge{font-size:.6rem;padding:.1rem;height:.8rem;min-width:.8rem;border-radius:.4rem;background-color:red;color:#fff;display:flex;align-items:center;justify-content:center;position:absolute;top:-.2rem;left:.757rem}\n"] }]
5894
+ args: [{ selector: 'kv-top-icons', standalone: true, imports: [TooltipModule], template: "<div class=\"top-icons-container\">\r\n @for (item of topActions(); track $index) {\r\n @if(item.visible){\r\n <div class=\"icon-container clickable\" (click)=\"item.action($event)\">\r\n @if(item.numNotifications && item.numNotifications>=0 && !item.boolNotifications){\r\n <span class=\"badge\">{{item.numNotifications > 999 ? (item.numNotifications / 1000).toFixed(1) + 'K' : item.numNotifications}}</span>\r\n }\r\n @if(item.boolNotifications) {\r\n <span class=\"badge-chat\"></span>\r\n }\r\n @if(item.icon == 'kiara'){\r\n <svg class=\"\" id=\"Camada_1\" data-name=\"Camada 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\" style=\"width: 1.6rem; height: 1.6rem;\" stroke=\"#212121\" stroke-width=\"1.5\">\r\n <path d=\"M84.17,47.93a24.61,24.61,0,0,1-1,8.4,17.78,17.78,0,0,1-6.39,8.44c-4,2.85-8.42,3.3-13.16,3.3H43a4.5,4.5,0,0,0-2.6.5c-2.75,1.64-5.4,3.5-8,5.32V69.5A1.88,1.88,0,0,0,31,67.72,18,18,0,0,1,16.8,50.39a22.51,22.51,0,0,1,1.39-9.34,17.9,17.9,0,0,1,7.25-8.3c4.15-2.48,8.5-2.51,13.11-2.51H66.49a1.85,1.85,0,0,0,0-3.69H37.93c-5.47,0-10.68.45-15.38,3.67a21.75,21.75,0,0,0-7.84,9.64,26,26,0,0,0-1.6,10.49A21.72,21.72,0,0,0,28.66,70.93v6.45A1.86,1.86,0,0,0,31.44,79l10.39-6.92.38-.23c.28,0,.62-.06.79-.06H64.19c5.34,0,10.39-.83,14.82-4.09a21.79,21.79,0,0,0,7.34-9.44c1.35-3.34,1.51-6.75,1.51-10.3A1.85,1.85,0,0,0,84.17,47.93Z\" />\r\n <path d=\"M60.41,60,51,47.92l8.92-8.41a1.37,1.37,0,0,0,.44-1,1.52,1.52,0,0,0-.4-1,1.22,1.22,0,0,0-1-.47,1.52,1.52,0,0,0-1.12.54l-13.58,13v-12a1.51,1.51,0,0,0-.39-1,1.42,1.42,0,0,0-1.09-.44,1.53,1.53,0,0,0-1.12.44,1.46,1.46,0,0,0-.43,1V60.92a1.46,1.46,0,0,0,.42,1,1.43,1.43,0,0,0,1.1.43,1.44,1.44,0,0,0,1.51-1.48V54.26l4.42-4.16,9.34,11.83a1.24,1.24,0,0,0,1,.55,1.89,1.89,0,0,0,1.12-.4A1.32,1.32,0,0,0,60.77,61,1.61,1.61,0,0,0,60.41,60Z\" />\r\n <path d=\"M78.84,45.51h-.51a5.44,5.44,0,0,0-5.44-5.44v-.51a5.44,5.44,0,0,0,5.44-5.45h.51a5.45,5.45,0,0,0,5.45,5.45v.51A5.45,5.45,0,0,0,78.84,45.51Z\" />\r\n <path d=\"M71.44,36.35h-.2a2.13,2.13,0,0,0-2.13-2.14V34a2.13,2.13,0,0,0,2.13-2.13h.2A2.13,2.13,0,0,0,73.57,34v.2A2.14,2.14,0,0,0,71.44,36.35Z\" />\r\n <path d=\"M83.29,31.83h-.2A2.13,2.13,0,0,0,81,29.7v-.2a2.13,2.13,0,0,0,2.13-2.13h.2a2.14,2.14,0,0,0,2.13,2.13v.2A2.13,2.13,0,0,0,83.29,31.83Z\" />\r\n </svg>\r\n }\r\n @else {\r\n <span class=\"material-symbols-outlined\">{{item.icon}}</span>\r\n }\r\n </div>\r\n }\r\n }\r\n</div>", styles: [".top-icons-container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:.8rem;color:rgb(var(--kv-color-text),.7)}svg{stroke-width:1.2}.clickable{cursor:pointer;transition:all .2s ease}.clickable span,.clickable svg{transition:all .3s ease}.clickable:hover{scale:1.1}.clickable:hover span{font-weight:600}.clickable:hover svg{stroke-width:4}.material-symbols-outlined{font-size:1.4rem}.icon-container{position:relative}.badge{font-size:.6rem;padding:.1rem;height:.8rem;min-width:.8rem;border-radius:.4rem;background-color:red;color:#fff;display:flex;align-items:center;justify-content:center;position:absolute;top:-.2rem;left:.757rem}.badge-chat{padding:.1rem;height:.7rem;min-width:.7rem;border-radius:.4rem;background-color:red;color:#fff;display:flex;align-items:center;justify-content:center;position:absolute;top:-.2rem;left:.757rem}\n"] }]
5895
5895
  }] });
5896
5896
 
5897
5897
  class DropdownMasterComponent extends BaseComponentDropDownExternal {
@@ -5967,6 +5967,9 @@ class KvLayoutComponent {
5967
5967
  if (item.numNotifications != undefined && item.numNotifications != null) {
5968
5968
  menu.numNotifications = item.numNotifications;
5969
5969
  }
5970
+ if (item.boolNotifications != undefined && item.boolNotifications != null) {
5971
+ menu.boolNotifications = item.boolNotifications;
5972
+ }
5970
5973
  }
5971
5974
  });
5972
5975
  });
@@ -7144,11 +7147,11 @@ class ProgressBarComponent {
7144
7147
  this.mode = 'determinate';
7145
7148
  }
7146
7149
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7147
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: ProgressBarComponent, selector: "kv-progress-bar", inputs: { value: "value", maxValue: "maxValue", label: "label", showValue: "showValue", showLabel: "showLabel", styleClass: "styleClass", labelStyleClass: "labelStyleClass", barStyleClass: "barStyleClass", style: "style", unit: "unit", mode: "mode", color: "color", progressBarHeight: "progressBarHeight" }, ngImport: i0, template: "<div\r\n role=\"progressbar\"\r\n [class]=\"styleClass ? styleClass : ''\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuenow]=\"value\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.data-pc-name]=\"'progressbar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [ngClass]=\"{'p-progressbar p-component': true, 'p-progressbar-determinate': mode === 'determinate', 'p-progressbar-indeterminate': mode === 'indeterminate'}\"\r\n [style.--progress-bar-height]=\"progressBarHeight\"\r\n>\r\n @if(mode === 'determinate') {\r\n <div class=\"p-progressbar-value p-progressbar-value-animate {{ barStyleClass }} font-semibold\"\r\n [style.width]=\"maxValue && value ? (value / maxValue) * 100 + '%' : value + '%'\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n <p style=\"color: white;\">\r\n {{ maxValue ? value + '/' + maxValue : value?.toFixed(1) + '%' }}\r\n </p>\r\n</div>\r\n\r\n <div\r\n class=\"p-progressbar-label {{ labelStyleClass }} w-full\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n </div>\r\n } @if(mode === 'indeterminate') {\r\n <div\r\n class=\"p-progressbar-indeterminate-container\"\r\n [attr.data-pc-section]=\"'container'\"\r\n >\r\n <div\r\n class=\"p-progressbar-value p-progressbar-value-animate\"\r\n [style.background]=\"color\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@layer primeng{.p-progressbar{background-color:#cbd5e1!important;position:relative;overflow:hidden;height:var(--progress-bar-height, .3rem)}.p-progressbar-determinate .p-progressbar-value{height:100%;width:0%;position:absolute;display:none;border:0 none;display:flex;align-items:center;justify-content:center;overflow:hidden}.p-progressbar-determinate .p-progressbar-label{font-size:.75rem;color:#fff!important;font-weight:400;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center}.p-progressbar-determinate .p-progressbar-value-animate{background-color:#002542!important;transition:width 1s ease-in-out;border-radius:.2rem}.p-progressbar-indeterminate .p-progressbar-value:before{background-color:#002542!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.p-progressbar-indeterminate .p-progressbar-value:after{background-color:#002542!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}}@-webkit-keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
7150
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: ProgressBarComponent, selector: "kv-progress-bar", inputs: { value: "value", maxValue: "maxValue", label: "label", showValue: "showValue", showLabel: "showLabel", styleClass: "styleClass", labelStyleClass: "labelStyleClass", barStyleClass: "barStyleClass", style: "style", unit: "unit", mode: "mode", color: "color", progressBarHeight: "progressBarHeight" }, ngImport: i0, template: "<div\r\n role=\"progressbar\"\r\n [class]=\"styleClass ? styleClass : ''\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuenow]=\"value\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.data-pc-name]=\"'progressbar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [ngClass]=\"{'p-progressbar p-component': true, 'p-progressbar-determinate': mode === 'determinate', 'p-progressbar-indeterminate': mode === 'indeterminate'}\"\r\n [style.--progress-bar-height]=\"progressBarHeight\"\r\n>\r\n @if(mode === 'determinate') {\r\n <div class=\"p-progressbar-value p-progressbar-value-animate {{ barStyleClass }} font-semibold\"\r\n [style.width]=\"maxValue && value ? (value / maxValue) * 100 + '%' : value + '%'\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n @if(label){\r\n <p class=\"text-center font-semibold text-white\">\r\n {{ label }}\r\n </p>\r\n }\r\n @else {\r\n <p style=\"color: white;\">\r\n {{ maxValue ? value + '/' + maxValue : value?.toFixed(1) + '%' }}\r\n </p>\r\n }\r\n</div>\r\n\r\n <div\r\n class=\"p-progressbar-label {{ labelStyleClass }} w-full\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n </div>\r\n } @if(mode === 'indeterminate') {\r\n <div\r\n class=\"p-progressbar-indeterminate-container\"\r\n [attr.data-pc-section]=\"'container'\"\r\n >\r\n <div\r\n class=\"p-progressbar-value p-progressbar-value-animate\"\r\n [style.background]=\"color\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@layer primeng{.p-progressbar{background-color:#cbd5e1!important;position:relative;overflow:hidden;height:var(--progress-bar-height, .3rem)}.p-progressbar-determinate .p-progressbar-value{height:100%;width:0%;position:absolute;display:none;border:0 none;display:flex;align-items:center;justify-content:center;overflow:hidden}.p-progressbar-determinate .p-progressbar-label{font-size:.75rem;color:#fff!important;font-weight:400;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center}.p-progressbar-determinate .p-progressbar-value-animate{background-color:#002542!important;transition:width 1s ease-in-out;border-radius:.2rem}.p-progressbar-indeterminate .p-progressbar-value:before{background-color:#002542!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.p-progressbar-indeterminate .p-progressbar-value:after{background-color:#002542!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}}@-webkit-keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
7148
7151
  }
7149
7152
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ProgressBarComponent, decorators: [{
7150
7153
  type: Component,
7151
- args: [{ selector: 'kv-progress-bar', template: "<div\r\n role=\"progressbar\"\r\n [class]=\"styleClass ? styleClass : ''\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuenow]=\"value\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.data-pc-name]=\"'progressbar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [ngClass]=\"{'p-progressbar p-component': true, 'p-progressbar-determinate': mode === 'determinate', 'p-progressbar-indeterminate': mode === 'indeterminate'}\"\r\n [style.--progress-bar-height]=\"progressBarHeight\"\r\n>\r\n @if(mode === 'determinate') {\r\n <div class=\"p-progressbar-value p-progressbar-value-animate {{ barStyleClass }} font-semibold\"\r\n [style.width]=\"maxValue && value ? (value / maxValue) * 100 + '%' : value + '%'\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n <p style=\"color: white;\">\r\n {{ maxValue ? value + '/' + maxValue : value?.toFixed(1) + '%' }}\r\n </p>\r\n</div>\r\n\r\n <div\r\n class=\"p-progressbar-label {{ labelStyleClass }} w-full\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n </div>\r\n } @if(mode === 'indeterminate') {\r\n <div\r\n class=\"p-progressbar-indeterminate-container\"\r\n [attr.data-pc-section]=\"'container'\"\r\n >\r\n <div\r\n class=\"p-progressbar-value p-progressbar-value-animate\"\r\n [style.background]=\"color\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@layer primeng{.p-progressbar{background-color:#cbd5e1!important;position:relative;overflow:hidden;height:var(--progress-bar-height, .3rem)}.p-progressbar-determinate .p-progressbar-value{height:100%;width:0%;position:absolute;display:none;border:0 none;display:flex;align-items:center;justify-content:center;overflow:hidden}.p-progressbar-determinate .p-progressbar-label{font-size:.75rem;color:#fff!important;font-weight:400;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center}.p-progressbar-determinate .p-progressbar-value-animate{background-color:#002542!important;transition:width 1s ease-in-out;border-radius:.2rem}.p-progressbar-indeterminate .p-progressbar-value:before{background-color:#002542!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.p-progressbar-indeterminate .p-progressbar-value:after{background-color:#002542!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}}@-webkit-keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"] }]
7154
+ args: [{ selector: 'kv-progress-bar', template: "<div\r\n role=\"progressbar\"\r\n [class]=\"styleClass ? styleClass : ''\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuenow]=\"value\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.data-pc-name]=\"'progressbar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [ngClass]=\"{'p-progressbar p-component': true, 'p-progressbar-determinate': mode === 'determinate', 'p-progressbar-indeterminate': mode === 'indeterminate'}\"\r\n [style.--progress-bar-height]=\"progressBarHeight\"\r\n>\r\n @if(mode === 'determinate') {\r\n <div class=\"p-progressbar-value p-progressbar-value-animate {{ barStyleClass }} font-semibold\"\r\n [style.width]=\"maxValue && value ? (value / maxValue) * 100 + '%' : value + '%'\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n @if(label){\r\n <p class=\"text-center font-semibold text-white\">\r\n {{ label }}\r\n </p>\r\n }\r\n @else {\r\n <p style=\"color: white;\">\r\n {{ maxValue ? value + '/' + maxValue : value?.toFixed(1) + '%' }}\r\n </p>\r\n }\r\n</div>\r\n\r\n <div\r\n class=\"p-progressbar-label {{ labelStyleClass }} w-full\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n </div>\r\n } @if(mode === 'indeterminate') {\r\n <div\r\n class=\"p-progressbar-indeterminate-container\"\r\n [attr.data-pc-section]=\"'container'\"\r\n >\r\n <div\r\n class=\"p-progressbar-value p-progressbar-value-animate\"\r\n [style.background]=\"color\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@layer primeng{.p-progressbar{background-color:#cbd5e1!important;position:relative;overflow:hidden;height:var(--progress-bar-height, .3rem)}.p-progressbar-determinate .p-progressbar-value{height:100%;width:0%;position:absolute;display:none;border:0 none;display:flex;align-items:center;justify-content:center;overflow:hidden}.p-progressbar-determinate .p-progressbar-label{font-size:.75rem;color:#fff!important;font-weight:400;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center}.p-progressbar-determinate .p-progressbar-value-animate{background-color:#002542!important;transition:width 1s ease-in-out;border-radius:.2rem}.p-progressbar-indeterminate .p-progressbar-value:before{background-color:#002542!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.p-progressbar-indeterminate .p-progressbar-value:after{background-color:#002542!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}}@-webkit-keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"] }]
7152
7155
  }], propDecorators: { value: [{
7153
7156
  type: Input
7154
7157
  }], maxValue: [{