@acorex/components 18.16.0-next.3 → 18.16.0-next.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. package/cron-job/lib/cron-job-container/cron-job-container.component.d.ts +11 -13
  2. package/cron-job/lib/cron-job.service.d.ts +3 -3
  3. package/cron-job/lib/day/day.component.d.ts +3 -1
  4. package/cron-job/lib/day/day.service.d.ts +2 -2
  5. package/cron-job/lib/hours/hours.component.d.ts +3 -1
  6. package/cron-job/lib/hours/hours.service.d.ts +2 -2
  7. package/cron-job/lib/minutes/minutes.component.d.ts +3 -1
  8. package/cron-job/lib/minutes/minutes.service.d.ts +2 -2
  9. package/cron-job/lib/month/month.component.d.ts +3 -1
  10. package/cron-job/lib/month/month.service.d.ts +2 -2
  11. package/cron-job/lib/seconds/seconds.component.d.ts +3 -1
  12. package/cron-job/lib/seconds/seconds.service.d.ts +2 -2
  13. package/cron-job/lib/year/year.component.d.ts +3 -1
  14. package/cron-job/lib/year/year.service.d.ts +2 -2
  15. package/data-pager/lib/data-pager-info.component.d.ts +4 -4
  16. package/data-pager/lib/data-pager.component.d.ts +3 -1
  17. package/drawer/lib/drawer/drawer-item/drawer.component.d.ts +1 -0
  18. package/esm2022/badge/lib/badge.component.mjs +2 -2
  19. package/esm2022/button/lib/button-item-list.component.mjs +2 -2
  20. package/esm2022/cron-job/lib/cron-job-container/cron-job-container.component.mjs +62 -45
  21. package/esm2022/cron-job/lib/cron-job.service.mjs +5 -5
  22. package/esm2022/cron-job/lib/day/day.component.mjs +8 -4
  23. package/esm2022/cron-job/lib/day/day.service.mjs +4 -4
  24. package/esm2022/cron-job/lib/hours/hours.component.mjs +8 -4
  25. package/esm2022/cron-job/lib/hours/hours.service.mjs +4 -4
  26. package/esm2022/cron-job/lib/minutes/minutes.component.mjs +8 -4
  27. package/esm2022/cron-job/lib/minutes/minutes.service.mjs +4 -4
  28. package/esm2022/cron-job/lib/month/month.component.mjs +8 -4
  29. package/esm2022/cron-job/lib/month/month.service.mjs +4 -4
  30. package/esm2022/cron-job/lib/seconds/seconds.component.mjs +8 -4
  31. package/esm2022/cron-job/lib/seconds/seconds.service.mjs +4 -4
  32. package/esm2022/cron-job/lib/year/year.component.mjs +8 -4
  33. package/esm2022/cron-job/lib/year/year.service.mjs +4 -4
  34. package/esm2022/data-pager/lib/data-pager-info.component.mjs +8 -7
  35. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +39 -8
  36. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +21 -13
  37. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +3 -15
  38. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +37 -7
  39. package/esm2022/data-pager/lib/data-pager.component.mjs +13 -6
  40. package/esm2022/data-table/lib/data-table/data-table.component.mjs +1 -1
  41. package/esm2022/drawer/lib/drawer/drawer-item/drawer.component.mjs +13 -6
  42. package/esm2022/list/lib/list.component.mjs +2 -2
  43. package/esm2022/menu/lib/context-menu.component.mjs +2 -1
  44. package/esm2022/menu/lib/menu-item.component.mjs +4 -6
  45. package/esm2022/tabs/lib/tabs.component.mjs +18 -13
  46. package/esm2022/tree-view/lib/tree-view.component.mjs +4 -3
  47. package/esm2022/uploader/lib/uploader-dialog-container/uploader-dialog-container.component.mjs +3 -3
  48. package/esm2022/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.mjs +3 -3
  49. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.mjs +2 -2
  50. package/fesm2022/acorex-components-badge.mjs +2 -2
  51. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  52. package/fesm2022/acorex-components-button.mjs +2 -2
  53. package/fesm2022/acorex-components-button.mjs.map +1 -1
  54. package/fesm2022/acorex-components-cron-job.mjs +109 -68
  55. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  56. package/fesm2022/acorex-components-data-pager.mjs +118 -54
  57. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  58. package/fesm2022/acorex-components-data-table.mjs +1 -1
  59. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  60. package/fesm2022/acorex-components-drawer.mjs +12 -5
  61. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  62. package/fesm2022/acorex-components-list.mjs +2 -2
  63. package/fesm2022/acorex-components-list.mjs.map +1 -1
  64. package/fesm2022/acorex-components-menu.mjs +4 -5
  65. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  66. package/fesm2022/acorex-components-tabs.mjs +17 -12
  67. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  68. package/fesm2022/acorex-components-tree-view.mjs +3 -2
  69. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  70. package/fesm2022/acorex-components-uploader.mjs +4 -4
  71. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  72. package/fesm2022/acorex-components-wysiwyg.mjs +2 -2
  73. package/menu/lib/context-menu.component.d.ts +1 -0
  74. package/package.json +1 -1
  75. package/tabs/lib/tabs.component.d.ts +1 -0
@@ -33,6 +33,7 @@ export class AXContextMenuComponent extends NXComponent {
33
33
  this.target = input();
34
34
  this.onItemClick = output();
35
35
  this.onOpening = output();
36
+ this.hasArrow = signal(true);
36
37
  // Injected Services
37
38
  this.service = inject(AXMenuService);
38
39
  this.renderer = inject(Renderer2);
@@ -247,4 +248,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
247
248
  type: HostBinding,
248
249
  args: ['class']
249
250
  }] } });
250
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tZW51L3NyYy9saWIvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tZW51L3NyYy9saWIvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBVyxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUtMLFVBQVUsR0FDWCxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFFdEIsTUFBTSxPQUFPLHlCQUEwQixTQUFRLE9BQStCO0lBQTlFOztRQUVFLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFFbkIsQ0FBQztDQUFBO0FBR0Q7OztHQUdHO0FBZUgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFdBQVc7SUFtQnJELHFDQUFxQztJQUVyQyxjQUFjO0lBQ2Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQXRCVixxQkFBcUI7UUFFckIsZ0JBQVcsR0FBRyxLQUFLLENBQWdCLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLFdBQU0sR0FBRyxLQUFLLENBQW9CLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLFlBQU8sR0FBRyxLQUFLLENBQXFCLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLGlCQUFZLEdBQUcsS0FBSyxDQUFlLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzNELFdBQU0sR0FBRyxLQUFLLEVBQXdDLENBQUM7UUFFdkQsZ0JBQVcsR0FBRyxNQUFNLEVBQWdDLENBQUM7UUFDckQsY0FBUyxHQUFHLE1BQU0sRUFBNkIsQ0FBQztRQUVoRCxvQkFBb0I7UUFFWixZQUFPLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hDLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixlQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBcUQvQixVQUFLLEdBQUcsTUFBTSxDQUFlLEVBQUUsQ0FBQyxDQUFDO1FBOUN6QyxFQUFFO1FBQ0YsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUNuQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUMsSUFBSyxDQUFDLENBQUMsTUFBYyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO0lBRWxCLFdBQVc7UUFDVCxJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGlCQUFpQjtJQUVWLE1BQU0sQ0FBQyxLQUFjO1FBQzFCLE1BQU0sTUFBTSxHQUFHLElBQXlCLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFRRCxtQ0FBbUM7SUFFbkMsY0FBYztJQUNOLGlCQUFpQjtRQUN2QixJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sUUFBUSxHQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLFFBQVE7Z0JBQzlCLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQWMsSUFBSSxDQUFDLE1BQU0sRUFBWSxDQUFDLENBQUM7Z0JBQ2xGLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDNUIsQ0FBQyxDQUFFLElBQUksQ0FBQyxNQUFNLEVBQW9CO29CQUNsQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFpQixDQUFDLENBQUM7WUFFdkMsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGNBQWM7SUFDTixnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNOLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNyQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ04saUJBQWlCLENBQUMsQ0FBYTtRQUNyQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLEVBQUU7UUFDRixJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQWtCLENBQUM7WUFDdEYsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDaEQsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDM0YsRUFBRTtZQUNGLE1BQU0sS0FBSyxHQUFHO2dCQUNaLE1BQU0sRUFBRSxJQUFJO2dCQUNaLFFBQVEsRUFBRSxLQUFLO2dCQUNmLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUNULENBQUM7WUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLEVBQUU7WUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWM7SUFDTixjQUFjLENBQUMsS0FBYztRQUNuQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3RDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3BELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDdEMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUV4QyxrQ0FBa0M7UUFDbEMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUzQyxJQUFJLElBQVksQ0FBQztRQUNqQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNoQyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDYixJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNqQixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNmLElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEdBQUcsV0FBVyxFQUFFLENBQUM7Z0JBQ3hDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDbEMsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDekMsSUFBSSxHQUFXLENBQUM7UUFFaEIsSUFBSSxNQUFNLEdBQUcsWUFBWSxFQUFFLENBQUM7WUFDMUIsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNoQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDWixHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ1YsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEIsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxjQUFjO0lBQ04sY0FBYztRQUNwQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMscUNBQXFDO1FBQ3JHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRTFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUNsRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixFQUFFLEVBQUUsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQ2xFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLEVBQUUsRUFBRSxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQWEsRUFBRSxFQUFFO1lBQ3JGLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLDJDQUEyQztZQUMzQyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUN2QyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFrQixDQUFDO2dCQUN0RixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDaEQsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUN6RSxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ25CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7d0JBQ2QsMENBQTBDO3dCQUMxQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzVCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDO1lBQ0QsRUFBRSxFQUFFLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELGNBQWM7SUFDTixjQUFjO1FBQ3BCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNwRSxDQUFDO1lBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFRCwyQ0FBMkM7SUFFM0MsY0FBYztJQUdOLGFBQWE7UUFDbkIsTUFBTSxNQUFNLEdBQUcsSUFBeUIsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsc0NBQXNDO0lBQ3BHLENBQUM7SUFFRCxjQUFjO0lBQ2QsSUFDSSxXQUFXO1FBQ2IsT0FBTztZQUNMLG1CQUFtQjtZQUNuQixrQkFBa0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3RDLGdCQUFnQjtZQUNoQix5QkFBeUI7U0FDMUIsQ0FBQztJQUNKLENBQUM7OEdBalBVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHE1QkFSdEI7WUFDVCxhQUFhO1lBQ2I7Z0JBQ0UsT0FBTyxFQUFFLFVBQVU7Z0JBQ25CLFdBQVcsRUFBRSxzQkFBc0I7YUFDcEM7U0FDRixpRENuREgseWlDQW9DQTs7MkZEaUJhLHNCQUFzQjtrQkFkbEMsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDVCxhQUFhO3dCQUNiOzRCQUNFLE9BQU8sRUFBRSxVQUFVOzRCQUNuQixXQUFXLHdCQUF3Qjt5QkFDcEM7cUJBQ0Y7d0RBcU9PLGFBQWE7c0JBRnBCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDeEMsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUXJDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhPcmllbnRhdGlvbiwgTlhDb21wb25lbnQsIE5YRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IGlzQnJvd3NlciB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBBWEh0bWxVdGlsLCBBWFBvaW50IH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBhZnRlck5leHRSZW5kZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgUExBVEZPUk1fSUQsXG4gIFJlbmRlcmVyMixcbiAgc2lnbmFsLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhNZW51U2VydmljZSB9IGZyb20gJy4vbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEFYTWVudUNsb3NlVHJpZ2dlcixcbiAgQVhNZW51SXRlbSxcbiAgQVhNZW51SXRlbUNsaWNrQmFzZUV2ZW50LFxuICBBWE1lbnVPcGVuVHJpZ2dlcixcbiAgQVhSb290TWVudSxcbn0gZnJvbSAnLi9tZW51LnR5cGVzJztcblxuZXhwb3J0IGNsYXNzIEFYQ29udGV4dE1lbnVPcGVuaW5nRXZlbnQgZXh0ZW5kcyBOWEV2ZW50PEFYQ29udGV4dE1lbnVDb21wb25lbnQ+IHtcbiAgaXRlbXM6IEFYTWVudUl0ZW1bXTtcbiAgY2FuY2VsZWQgPSBmYWxzZTtcbiAgdGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQ7XG59XG5leHBvcnQgdHlwZSBBWENvbnRleHRNZW51SXRlbXNDbGlja0V2ZW50ID0gQVhNZW51SXRlbUNsaWNrQmFzZUV2ZW50PEFYQ29udGV4dE1lbnVDb21wb25lbnQ+O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBtZW51IGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGNvbnRleHQgbWVudS5cbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbnRleHQtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQVhNZW51U2VydmljZSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFJvb3RNZW51LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYQ29udGV4dE1lbnVDb21wb25lbnQsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDb250ZXh0TWVudUNvbXBvbmVudCBleHRlbmRzIE5YQ29tcG9uZW50IHtcbiAgLy8gSW5wdXRzIGFuZCBPdXRwdXRzXG5cbiAgb3JpZW50YXRpb24gPSBpbnB1dDxBWE9yaWVudGF0aW9uPigndmVydGljYWwnKTtcbiAgb3Blbk9uID0gaW5wdXQ8QVhNZW51T3BlblRyaWdnZXI+KCdob3ZlcicpO1xuICBjbG9zZU9uID0gaW5wdXQ8QVhNZW51Q2xvc2VUcmlnZ2VyPignY2xpY2snKTtcbiAgb3JnaW5hbEl0ZW1zID0gaW5wdXQ8QVhNZW51SXRlbVtdPihbXSwgeyBhbGlhczogJ2l0ZW1zJyB9KTtcbiAgdGFyZ2V0ID0gaW5wdXQ8SFRNTEVsZW1lbnQgfCBIVE1MRWxlbWVudFtdIHwgc3RyaW5nPigpO1xuXG4gIG9uSXRlbUNsaWNrID0gb3V0cHV0PEFYQ29udGV4dE1lbnVJdGVtc0NsaWNrRXZlbnQ+KCk7XG4gIG9uT3BlbmluZyA9IG91dHB1dDxBWENvbnRleHRNZW51T3BlbmluZ0V2ZW50PigpO1xuXG4gIC8vIEluamVjdGVkIFNlcnZpY2VzXG5cbiAgcHJpdmF0ZSBzZXJ2aWNlID0gaW5qZWN0KEFYTWVudVNlcnZpY2UpO1xuICBwcml2YXRlIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHByaXZhdGUgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICBwcml2YXRlIHBsYXRmb3JtSUQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXG4gIC8vIENvbnN0cnVjdG9yIChEZXBlbmRlbmN5IEluamVjdGlvbilcblxuICAvKiogQGlnbm9yZSAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIC8vXG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIHRoaXMuYmluZENvbnRleHRFdmVudCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlQWxsQ29udGV4dE1lbnUkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNlcnZpY2UuY2xvc2VBbGwkLm5leHQoKTtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2VydmljZS5vcGVuQ29udGV4dE1lbnUkLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgaWYgKChlLnNlbmRlciBhcyBhbnkpID09IHRoaXMpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbFNob3dBdChlLnBvaW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vIExpZmVjeWNsZSBIb29rc1xuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmIChpc0Jyb3dzZXIoKSkge1xuICAgICAgdGhpcy5yZW1vdmVDb250ZXh0RXZlbnQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpIHtcbiAgICB0aGlzLmJpbmRDb250ZXh0RXZlbnQoKTtcbiAgfVxuXG4gIC8vIFB1YmxpYyBNZXRob2RzXG5cbiAgcHVibGljIHNob3dBdChwb2ludDogQVhQb2ludCkge1xuICAgIGNvbnN0IHNlbmRlciA9IHRoaXMgYXMgYW55IGFzIEFYUm9vdE1lbnU7XG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlQWxsQ29udGV4dE1lbnUkLm5leHQoeyBzZW5kZXIgfSk7XG4gICAgdGhpcy5zZXJ2aWNlLm9wZW5Db250ZXh0TWVudSQubmV4dCh7IHNlbmRlciwgcG9pbnQgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgdGhpcy5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2F4LXN0YXRlLW9wZW4nKTtcbiAgICB0aGlzLnJlbW92ZUJhY2tkcm9wKCk7XG4gIH1cblxuICAvLyBQcml2YXRlIFByb3BlcnRpZXNcblxuICBwcml2YXRlIGJhY2tkcm9wRWxlbWVudCE6IEhUTUxFbGVtZW50O1xuXG4gIHByb3RlY3RlZCBpdGVtcyA9IHNpZ25hbDxBWE1lbnVJdGVtW10+KFtdKTtcblxuICAvLyBQcml2YXRlIE1ldGhvZHMgKEludGVybmFsIExvZ2ljKVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgZ2V0VGFyZ2V0RWxlbWVudHMoKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnRzOiBIVE1MRWxlbWVudFtdID1cbiAgICAgICAgdHlwZW9mIHRoaXMudGFyZ2V0KCkgPT0gJ3N0cmluZydcbiAgICAgICAgICA/IEFycmF5LmZyb20odGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50Pih0aGlzLnRhcmdldCgpIGFzIHN0cmluZykpXG4gICAgICAgICAgOiBBcnJheS5pc0FycmF5KHRoaXMudGFyZ2V0KCkpXG4gICAgICAgICAgICA/ICh0aGlzLnRhcmdldCgpIGFzIEhUTUxFbGVtZW50W10pXG4gICAgICAgICAgICA6IFt0aGlzLnRhcmdldCgpIGFzIEhUTUxFbGVtZW50XTtcblxuICAgICAgcmV0dXJuIGVsZW1lbnRzO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgYmluZENvbnRleHRFdmVudCgpIHtcbiAgICB0aGlzLmdldFRhcmdldEVsZW1lbnRzKCkuZm9yRWFjaCgoZSkgPT4ge1xuICAgICAgZS5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIHRoaXMuaGFuZGxlQ29udGV4dE1lbnUuYmluZCh0aGlzKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIHJlbW92ZUNvbnRleHRFdmVudCgpIHtcbiAgICB0aGlzLmdldFRhcmdldEVsZW1lbnRzKCkuZm9yRWFjaCgoZSkgPT4ge1xuICAgICAgZS5yZW1vdmVFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIHRoaXMuaGFuZGxlQ29udGV4dE1lbnUuYmluZCh0aGlzKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIGhhbmRsZUNvbnRleHRNZW51KGU6IE1vdXNlRXZlbnQpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAvL1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICBjb25zdCBlbGVtZW50c1VuZGVyTW91c2UgPSB0aGlzLmRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KGUueCwgZS55KSBhcyBIVE1MRWxlbWVudFtdO1xuICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudHMgPSB0aGlzLmdldFRhcmdldEVsZW1lbnRzKCk7XG4gICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gZWxlbWVudHNVbmRlck1vdXNlLmZpbmQoKHRhcmdldCkgPT4gdGFyZ2V0RWxlbWVudHMuaW5jbHVkZXModGFyZ2V0KSk7XG4gICAgICAvL1xuICAgICAgY29uc3QgZXZlbnQgPSB7XG4gICAgICAgIHNlbmRlcjogdGhpcyxcbiAgICAgICAgY2FuY2VsZWQ6IGZhbHNlLFxuICAgICAgICB0YXJnZXRFbGVtZW50OiB0YXJnZXRFbGVtZW50LFxuICAgICAgICBpdGVtczogY2xvbmVEZWVwKHRoaXMub3JnaW5hbEl0ZW1zKCkpLFxuICAgICAgfSBhcyBBWENvbnRleHRNZW51T3BlbmluZ0V2ZW50O1xuICAgICAgdGhpcy5vbk9wZW5pbmcuZW1pdChldmVudCk7XG4gICAgICB0aGlzLml0ZW1zLnNldChldmVudC5pdGVtcyk7XG4gICAgICAvL1xuICAgICAgaWYgKCFldmVudC5jYW5jZWxlZCkge1xuICAgICAgICB0aGlzLnNob3dBdCh7IHg6IGUuY2xpZW50WCwgeTogZS5jbGllbnRZIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgaW50ZXJuYWxTaG93QXQocG9pbnQ6IEFYUG9pbnQpIHtcbiAgICBjb25zdCBlbGVtZW50UmVmID0gdGhpcy5uYXRpdmVFbGVtZW50O1xuICAgIGVsZW1lbnRSZWYuY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtb3BlbicpO1xuICAgIGNvbnN0IGl0ZW1SZWN0ID0gZWxlbWVudFJlZi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB3aW5kb3dXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuICAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcblxuICAgIC8vIERldGVjdCBSVEwgKFJpZ2h0LVRvLUxlZnQpIG1vZGVcbiAgICBjb25zdCBpc1J0bCA9IEFYSHRtbFV0aWwuaXNSdGwoZWxlbWVudFJlZik7XG5cbiAgICBsZXQgbGVmdDogbnVtYmVyO1xuICAgIGlmIChpc1J0bCkge1xuICAgICAgbGVmdCA9IHBvaW50LnggLSBpdGVtUmVjdC53aWR0aDtcbiAgICAgIGlmIChsZWZ0IDwgMCkge1xuICAgICAgICBsZWZ0ID0gcG9pbnQueDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGVmdCA9IHBvaW50Lng7XG4gICAgICBpZiAobGVmdCArIGl0ZW1SZWN0LndpZHRoID4gd2luZG93V2lkdGgpIHtcbiAgICAgICAgbGVmdCA9IHBvaW50LnggLSBpdGVtUmVjdC53aWR0aDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBib3R0b20gPSBwb2ludC55ICsgaXRlbVJlY3QuaGVpZ2h0O1xuICAgIGxldCB0b3A6IG51bWJlcjtcblxuICAgIGlmIChib3R0b20gPiB3aW5kb3dIZWlnaHQpIHtcbiAgICAgIHRvcCA9IHBvaW50LnkgLSBpdGVtUmVjdC5oZWlnaHQ7XG4gICAgICBpZiAodG9wIDwgMCkge1xuICAgICAgICB0b3AgPSAwO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0b3AgPSBwb2ludC55O1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudFJlZiwgJ2xlZnQnLCBgJHtsZWZ0fXB4YCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50UmVmLCAndG9wJywgYCR7dG9wfXB4YCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50UmVmLCAncG9zaXRpb24nLCAnZml4ZWQnKTtcblxuICAgIHRoaXMuY3JlYXRlQmFja2Ryb3AoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgY3JlYXRlQmFja2Ryb3AoKSB7XG4gICAgdGhpcy5iYWNrZHJvcEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5iYWNrZHJvcEVsZW1lbnQsICdwb3NpdGlvbicsICdmaXhlZCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5iYWNrZHJvcEVsZW1lbnQsICd0b3AnLCAnMCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5iYWNrZHJvcEVsZW1lbnQsICdsZWZ0JywgJzAnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmFja2Ryb3BFbGVtZW50LCAnd2lkdGgnLCAnMTAwJScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5iYWNrZHJvcEVsZW1lbnQsICdoZWlnaHQnLCAnMTAwJScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5iYWNrZHJvcEVsZW1lbnQsICd6LWluZGV4JywgJzk5OScpOyAvLyBFbnN1cmUgaXQncyBiZWxvdyB0aGUgY29udGV4dCBtZW51XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmJhY2tkcm9wRWxlbWVudCwgJ2JhY2tncm91bmQnLCAndHJhbnNwYXJlbnQnKTtcblxuICAgIGNvbnN0IGwxID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5iYWNrZHJvcEVsZW1lbnQsICdjbGljaycsICgpID0+IHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIGwxKCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBsMiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuYmFja2Ryb3BFbGVtZW50LCAnd2hlZWwnLCAoKSA9PiB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICBsMigpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgbDMgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmJhY2tkcm9wRWxlbWVudCwgJ2NvbnRleHRtZW51JywgKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIC8vIEdldCBhbGwgZWxlbWVudHMgdW5kZXIgdGhlIG1vdXNlIHBvaW50ZXJcbiAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzVW5kZXJNb3VzZSA9IHRoaXMuZG9jdW1lbnQuZWxlbWVudHNGcm9tUG9pbnQoZS54LCBlLnkpIGFzIEhUTUxFbGVtZW50W107XG4gICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnRzID0gdGhpcy5nZXRUYXJnZXRFbGVtZW50cygpO1xuICAgICAgICBpZiAodGFyZ2V0RWxlbWVudHMuc29tZSgodGFyZ2V0KSA9PiBlbGVtZW50c1VuZGVyTW91c2UuaW5jbHVkZXModGFyZ2V0KSkpIHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAvL3RoaXMuaW50ZXJuYWxTaG93QXQoeyB4OiBlLngsIHk6IGUueSB9KTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ29udGV4dE1lbnUoZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGwzKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5iYWNrZHJvcEVsZW1lbnQpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSByZW1vdmVCYWNrZHJvcCgpIHtcbiAgICBpZiAodGhpcy5iYWNrZHJvcEVsZW1lbnQpIHtcbiAgICAgIGlmICh0aGlzLmJhY2tkcm9wRWxlbWVudC5wYXJlbnROb2RlKSB7XG4gICAgICAgIHRoaXMuYmFja2Ryb3BFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5iYWNrZHJvcEVsZW1lbnQpO1xuICAgICAgfVxuICAgICAgdGhpcy5iYWNrZHJvcEVsZW1lbnQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvc3QgTGlzdGVuZXJzIChVSSBJbnRlcmFjdGlvbiBIYW5kbGluZylcblxuICAvKiogQGlnbm9yZSAqL1xuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6c2Nyb2xsJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgb25XaW5kb3dFdmVudCgpIHtcbiAgICBjb25zdCBzZW5kZXIgPSB0aGlzIGFzIGFueSBhcyBBWFJvb3RNZW51O1xuICAgIHRoaXMuc2VydmljZS5jbG9zZUFsbENvbnRleHRNZW51JC5uZXh0KHsgc2VuZGVyOiBzZW5kZXIgfSk7IC8vIENsb3NlIGFsbCBtZW51cyBvbiBzY3JvbGwgb3IgcmVzaXplXG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IF9faG9zdENsYXNzKCk6IGFueSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICdheC1tZW51LWNvbnRhaW5lcicsXG4gICAgICBgYXgtb3JpZW50YXRpb24tJHt0aGlzLm9yaWVudGF0aW9uKCl9YCxcbiAgICAgICdheC1hY3Rpb24tbGlzdCcsXG4gICAgICAnYXgtYWN0aW9uLWxpc3QtdmVydGljYWwnLFxuICAgIF07XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LW1lbnUtaXRlbSxheC1kaXZpZGVyLGF4LXRpdGxlLG5nLWNvbnRhaW5lclwiPjwvbmctY29udGVudD5cblxuPG5nLWNvbnRhaW5lclxuICAqbmdGb3I9XCJsZXQgbm9kZSBvZiBpdGVtcygpXCJcbiAgW25nVGVtcGxhdGVPdXRsZXRdPVwiUmVjdXJzaW9uXCJcbiAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBub2RlIH1cIlxuPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI1JlY3Vyc2lvbiBsZXQtaXRlbT5cbiAgQGlmIChpdGVtLmdyb3VwPy50aXRsZSkge1xuICAgIDxheC10aXRsZT57eyBpdGVtLmdyb3VwPy50aXRsZSB9fTwvYXgtdGl0bGU+XG4gIH1cbiAgPGF4LW1lbnUtaXRlbSBbbmFtZV09XCJpdGVtLm5hbWVcIiBbZGF0YV09XCJpdGVtLmRhdGFcIiBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiIFtjb2xvcl09XCJpdGVtLmNvbG9yXCI+XG4gICAgPGF4LXByZWZpeD5cbiAgICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgIDxheC1pY29uIFtpY29uXT1cIml0ZW0uaWNvblwiPiA8L2F4LWljb24+XG4gICAgICB9XG4gICAgPC9heC1wcmVmaXg+XG4gICAgQGlmIChpdGVtLnRleHQpIHtcbiAgICAgIDxheC10ZXh0Pnt7IGl0ZW0udGV4dCB9fTwvYXgtdGV4dD5cbiAgICB9XG4gICAgQGlmIChpdGVtLnN1ZmZpeCkge1xuICAgICAgPGF4LXN1ZmZpeD5cbiAgICAgICAgPGF4LXRleHQ+e3sgaXRlbS5zdWZmaXgudGV4dCB9fTwvYXgtdGV4dD5cbiAgICAgIDwvYXgtc3VmZml4PlxuICAgIH1cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgaXRlbS5pdGVtc1wiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJSZWN1cnNpb25cIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjaGlsZCB9XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvYXgtbWVudS1pdGVtPlxuICBAaWYgKGl0ZW0uYnJlYWspIHtcbiAgICA8YXgtZGl2aWRlcj48L2F4LWRpdmlkZXI+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tZW51L3NyYy9saWIvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tZW51L3NyYy9saWIvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBVyxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUtMLFVBQVUsR0FDWCxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFFdEIsTUFBTSxPQUFPLHlCQUEwQixTQUFRLE9BQStCO0lBQTlFOztRQUVFLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFFbkIsQ0FBQztDQUFBO0FBR0Q7OztHQUdHO0FBZUgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFdBQVc7SUFxQnJELHFDQUFxQztJQUVyQyxjQUFjO0lBQ2Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztR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V0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWE9yaWVudGF0aW9uLCBOWENvbXBvbmVudCwgTlhFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgaXNCcm93c2VyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcbmltcG9ydCB7IEFYSHRtbFV0aWwsIEFYUG9pbnQgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBQTEFURk9STV9JRCxcbiAgUmVuZGVyZXIyLFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBWE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQVhNZW51Q2xvc2VUcmlnZ2VyLFxuICBBWE1lbnVJdGVtLFxuICBBWE1lbnVJdGVtQ2xpY2tCYXNlRXZlbnQsXG4gIEFYTWVudU9wZW5UcmlnZ2VyLFxuICBBWFJvb3RNZW51LFxufSBmcm9tICcuL21lbnUudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgQVhDb250ZXh0TWVudU9wZW5pbmdFdmVudCBleHRlbmRzIE5YRXZlbnQ8QVhDb250ZXh0TWVudUNvbXBvbmVudD4ge1xuICBpdGVtczogQVhNZW51SXRlbVtdO1xuICBjYW5jZWxlZCA9IGZhbHNlO1xuICB0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudDtcbn1cbmV4cG9ydCB0eXBlIEFYQ29udGV4dE1lbnVJdGVtc0NsaWNrRXZlbnQgPSBBWE1lbnVJdGVtQ2xpY2tCYXNlRXZlbnQ8QVhDb250ZXh0TWVudUNvbXBvbmVudD47XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1lbnUgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgY29udGV4dCBtZW51LlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29udGV4dC1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICBBWE1lbnVTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUm9vdE1lbnUsXG4gICAgICB1c2VFeGlzdGluZzogQVhDb250ZXh0TWVudUNvbXBvbmVudCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbnRleHRNZW51Q29tcG9uZW50IGV4dGVuZHMgTlhDb21wb25lbnQge1xuICAvLyBJbnB1dHMgYW5kIE91dHB1dHNcblxuICBvcmllbnRhdGlvbiA9IGlucHV0PEFYT3JpZW50YXRpb24+KCd2ZXJ0aWNhbCcpO1xuICBvcGVuT24gPSBpbnB1dDxBWE1lbnVPcGVuVHJpZ2dlcj4oJ2hvdmVyJyk7XG4gIGNsb3NlT24gPSBpbnB1dDxBWE1lbnVDbG9zZVRyaWdnZXI+KCdjbGljaycpO1xuICBvcmdpbmFsSXRlbXMgPSBpbnB1dDxBWE1lbnVJdGVtW10+KFtdLCB7IGFsaWFzOiAnaXRlbXMnIH0pO1xuICB0YXJnZXQgPSBpbnB1dDxIVE1MRWxlbWVudCB8IEhUTUxFbGVtZW50W10gfCBzdHJpbmc+KCk7XG5cbiAgb25JdGVtQ2xpY2sgPSBvdXRwdXQ8QVhDb250ZXh0TWVudUl0ZW1zQ2xpY2tFdmVudD4oKTtcbiAgb25PcGVuaW5nID0gb3V0cHV0PEFYQ29udGV4dE1lbnVPcGVuaW5nRXZlbnQ+KCk7XG5cbiAgaGFzQXJyb3cgPSBzaWduYWw8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgLy8gSW5qZWN0ZWQgU2VydmljZXNcblxuICBwcml2YXRlIHNlcnZpY2UgPSBpbmplY3QoQVhNZW51U2VydmljZSk7XG4gIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJpdmF0ZSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgcGxhdGZvcm1JRCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgLy8gQ29uc3RydWN0b3IgKERlcGVuZGVuY3kgSW5qZWN0aW9uKVxuXG4gIC8qKiBAaWdub3JlICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgLy9cbiAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgdGhpcy5iaW5kQ29udGV4dEV2ZW50KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlcnZpY2UuY2xvc2VBbGxDb250ZXh0TWVudSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc2VydmljZS5jbG9zZUFsbCQubmV4dCgpO1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZXJ2aWNlLm9wZW5Db250ZXh0TWVudSQuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICBpZiAoKGUuc2VuZGVyIGFzIGFueSkgPT0gdGhpcykge1xuICAgICAgICB0aGlzLmludGVybmFsU2hvd0F0KGUucG9pbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gTGlmZWN5Y2xlIEhvb2tzXG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKGlzQnJvd3NlcigpKSB7XG4gICAgICB0aGlzLnJlbW92ZUNvbnRleHRFdmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoKCkge1xuICAgIHRoaXMuYmluZENvbnRleHRFdmVudCgpO1xuICB9XG5cbiAgLy8gUHVibGljIE1ldGhvZHNcblxuICBwdWJsaWMgc2hvd0F0KHBvaW50OiBBWFBvaW50KSB7XG4gICAgY29uc3Qgc2VuZGVyID0gdGhpcyBhcyBhbnkgYXMgQVhSb290TWVudTtcbiAgICB0aGlzLnNlcnZpY2UuY2xvc2VBbGxDb250ZXh0TWVudSQubmV4dCh7IHNlbmRlciB9KTtcbiAgICB0aGlzLnNlcnZpY2Uub3BlbkNvbnRleHRNZW51JC5uZXh0KHsgc2VuZGVyLCBwb2ludCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpIHtcbiAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtb3BlbicpO1xuICAgIHRoaXMucmVtb3ZlQmFja2Ryb3AoKTtcbiAgfVxuXG4gIC8vIFByaXZhdGUgUHJvcGVydGllc1xuXG4gIHByaXZhdGUgYmFja2Ryb3BFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG5cbiAgcHJvdGVjdGVkIGl0ZW1zID0gc2lnbmFsPEFYTWVudUl0ZW1bXT4oW10pO1xuXG4gIC8vIFByaXZhdGUgTWV0aG9kcyAoSW50ZXJuYWwgTG9naWMpXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBnZXRUYXJnZXRFbGVtZW50cygpOiBIVE1MRWxlbWVudFtdIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgY29uc3QgZWxlbWVudHM6IEhUTUxFbGVtZW50W10gPVxuICAgICAgICB0eXBlb2YgdGhpcy50YXJnZXQoKSA9PSAnc3RyaW5nJ1xuICAgICAgICAgID8gQXJyYXkuZnJvbSh0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KHRoaXMudGFyZ2V0KCkgYXMgc3RyaW5nKSlcbiAgICAgICAgICA6IEFycmF5LmlzQXJyYXkodGhpcy50YXJnZXQoKSlcbiAgICAgICAgICAgID8gKHRoaXMudGFyZ2V0KCkgYXMgSFRNTEVsZW1lbnRbXSlcbiAgICAgICAgICAgIDogW3RoaXMudGFyZ2V0KCkgYXMgSFRNTEVsZW1lbnRdO1xuXG4gICAgICByZXR1cm4gZWxlbWVudHM7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBiaW5kQ29udGV4dEV2ZW50KCkge1xuICAgIHRoaXMuZ2V0VGFyZ2V0RWxlbWVudHMoKS5mb3JFYWNoKChlKSA9PiB7XG4gICAgICBlLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgdGhpcy5oYW5kbGVDb250ZXh0TWVudS5iaW5kKHRoaXMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgcmVtb3ZlQ29udGV4dEV2ZW50KCkge1xuICAgIHRoaXMuZ2V0VGFyZ2V0RWxlbWVudHMoKS5mb3JFYWNoKChlKSA9PiB7XG4gICAgICBlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgdGhpcy5oYW5kbGVDb250ZXh0TWVudS5iaW5kKHRoaXMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgaGFuZGxlQ29udGV4dE1lbnUoZTogTW91c2VFdmVudCkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIC8vXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnRzVW5kZXJNb3VzZSA9IHRoaXMuZG9jdW1lbnQuZWxlbWVudHNGcm9tUG9pbnQoZS54LCBlLnkpIGFzIEhUTUxFbGVtZW50W107XG4gICAgICBjb25zdCB0YXJnZXRFbGVtZW50cyA9IHRoaXMuZ2V0VGFyZ2V0RWxlbWVudHMoKTtcbiAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBlbGVtZW50c1VuZGVyTW91c2UuZmluZCgodGFyZ2V0KSA9PiB0YXJnZXRFbGVtZW50cy5pbmNsdWRlcyh0YXJnZXQpKTtcbiAgICAgIC8vXG4gICAgICBjb25zdCBldmVudCA9IHtcbiAgICAgICAgc2VuZGVyOiB0aGlzLFxuICAgICAgICBjYW5jZWxlZDogZmFsc2UsXG4gICAgICAgIHRhcmdldEVsZW1lbnQ6IHRhcmdldEVsZW1lbnQsXG4gICAgICAgIGl0ZW1zOiBjbG9uZURlZXAodGhpcy5vcmdpbmFsSXRlbXMoKSksXG4gICAgICB9IGFzIEFYQ29udGV4dE1lbnVPcGVuaW5nRXZlbnQ7XG4gICAgICB0aGlzLm9uT3BlbmluZy5lbWl0KGV2ZW50KTtcbiAgICAgIHRoaXMuaXRlbXMuc2V0KGV2ZW50Lml0ZW1zKTtcbiAgICAgIC8vXG4gICAgICBpZiAoIWV2ZW50LmNhbmNlbGVkKSB7XG4gICAgICAgIHRoaXMuc2hvd0F0KHsgeDogZS5jbGllbnRYLCB5OiBlLmNsaWVudFkgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBpbnRlcm5hbFNob3dBdChwb2ludDogQVhQb2ludCkge1xuICAgIGNvbnN0IGVsZW1lbnRSZWYgPSB0aGlzLm5hdGl2ZUVsZW1lbnQ7XG4gICAgZWxlbWVudFJlZi5jbGFzc0xpc3QuYWRkKCdheC1zdGF0ZS1vcGVuJyk7XG4gICAgY29uc3QgaXRlbVJlY3QgPSBlbGVtZW50UmVmLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuXG4gICAgLy8gRGV0ZWN0IFJUTCAoUmlnaHQtVG8tTGVmdCkgbW9kZVxuICAgIGNvbnN0IGlzUnRsID0gQVhIdG1sVXRpbC5pc1J0bChlbGVtZW50UmVmKTtcblxuICAgIGxldCBsZWZ0OiBudW1iZXI7XG4gICAgaWYgKGlzUnRsKSB7XG4gICAgICBsZWZ0ID0gcG9pbnQueCAtIGl0ZW1SZWN0LndpZHRoO1xuICAgICAgaWYgKGxlZnQgPCAwKSB7XG4gICAgICAgIGxlZnQgPSBwb2ludC54O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBsZWZ0ID0gcG9pbnQueDtcbiAgICAgIGlmIChsZWZ0ICsgaXRlbVJlY3Qud2lkdGggPiB3aW5kb3dXaWR0aCkge1xuICAgICAgICBsZWZ0ID0gcG9pbnQueCAtIGl0ZW1SZWN0LndpZHRoO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGJvdHRvbSA9IHBvaW50LnkgKyBpdGVtUmVjdC5oZWlnaHQ7XG4gICAgbGV0IHRvcDogbnVtYmVyO1xuXG4gICAgaWYgKGJvdHRvbSA+IHdpbmRvd0hlaWdodCkge1xuICAgICAgdG9wID0gcG9pbnQueSAtIGl0ZW1SZWN0LmhlaWdodDtcbiAgICAgIGlmICh0b3AgPCAwKSB7XG4gICAgICAgIHRvcCA9IDA7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRvcCA9IHBvaW50Lnk7XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50UmVmLCAnbGVmdCcsIGAke2xlZnR9cHhgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnRSZWYsICd0b3AnLCBgJHt0b3B9cHhgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnRSZWYsICdwb3NpdGlvbicsICdmaXhlZCcpO1xuXG4gICAgdGhpcy5jcmVhdGVCYWNrZHJvcCgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBjcmVhdGVCYWNrZHJvcCgpIHtcbiAgICB0aGlzLmJhY2tkcm9wRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmJhY2tkcm9wRWxlbWVudCwgJ3Bvc2l0aW9uJywgJ2ZpeGVkJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmJhY2tkcm9wRWxlbWVudCwgJ3RvcCcsICcwJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmJhY2tkcm9wRWxlbWVudCwgJ2xlZnQnLCAnMCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5iYWNrZHJvcEVsZW1lbnQsICd3aWR0aCcsICcxMDAlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmJhY2tkcm9wRWxlbWVudCwgJ2hlaWdodCcsICcxMDAlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmJhY2tkcm9wRWxlbWVudCwgJ3otaW5kZXgnLCAnOTk5Jyk7IC8vIEVuc3VyZSBpdCdzIGJlbG93IHRoZSBjb250ZXh0IG1lbnVcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmFja2Ryb3BFbGVtZW50LCAnYmFja2dyb3VuZCcsICd0cmFuc3BhcmVudCcpO1xuXG4gICAgY29uc3QgbDEgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmJhY2tkcm9wRWxlbWVudCwgJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgbDEoKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGwyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5iYWNrZHJvcEVsZW1lbnQsICd3aGVlbCcsICgpID0+IHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIGwyKCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBsMyA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuYmFja2Ryb3BFbGVtZW50LCAnY29udGV4dG1lbnUnLCAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgLy8gR2V0IGFsbCBlbGVtZW50cyB1bmRlciB0aGUgbW91c2UgcG9pbnRlclxuICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudHNVbmRlck1vdXNlID0gdGhpcy5kb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludChlLngsIGUueSkgYXMgSFRNTEVsZW1lbnRbXTtcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudHMgPSB0aGlzLmdldFRhcmdldEVsZW1lbnRzKCk7XG4gICAgICAgIGlmICh0YXJnZXRFbGVtZW50cy5zb21lKCh0YXJnZXQpID0+IGVsZW1lbnRzVW5kZXJNb3VzZS5pbmNsdWRlcyh0YXJnZXQpKSkge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIC8vdGhpcy5pbnRlcm5hbFNob3dBdCh7IHg6IGUueCwgeTogZS55IH0pO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVDb250ZXh0TWVudShlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbDMoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmJhY2tkcm9wRWxlbWVudCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIHJlbW92ZUJhY2tkcm9wKCkge1xuICAgIGlmICh0aGlzLmJhY2tkcm9wRWxlbWVudCkge1xuICAgICAgaWYgKHRoaXMuYmFja2Ryb3BFbGVtZW50LnBhcmVudE5vZGUpIHtcbiAgICAgICAgdGhpcy5iYWNrZHJvcEVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmJhY2tkcm9wRWxlbWVudCk7XG4gICAgICB9XG4gICAgICB0aGlzLmJhY2tkcm9wRWxlbWVudCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9zdCBMaXN0ZW5lcnMgKFVJIEludGVyYWN0aW9uIEhhbmRsaW5nKVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBvbldpbmRvd0V2ZW50KCkge1xuICAgIGNvbnN0IHNlbmRlciA9IHRoaXMgYXMgYW55IGFzIEFYUm9vdE1lbnU7XG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlQWxsQ29udGV4dE1lbnUkLm5leHQoeyBzZW5kZXI6IHNlbmRlciB9KTsgLy8gQ2xvc2UgYWxsIG1lbnVzIG9uIHNjcm9sbCBvciByZXNpemVcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgX19ob3N0Q2xhc3MoKTogYW55IHtcbiAgICByZXR1cm4gW1xuICAgICAgJ2F4LW1lbnUtY29udGFpbmVyJyxcbiAgICAgIGBheC1vcmllbnRhdGlvbi0ke3RoaXMub3JpZW50YXRpb24oKX1gLFxuICAgICAgJ2F4LWFjdGlvbi1saXN0JyxcbiAgICAgICdheC1hY3Rpb24tbGlzdC12ZXJ0aWNhbCcsXG4gICAgXTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtbWVudS1pdGVtLGF4LWRpdmlkZXIsYXgtdGl0bGUsbmctY29udGFpbmVyXCI+PC9uZy1jb250ZW50PlxuXG48bmctY29udGFpbmVyXG4gICpuZ0Zvcj1cImxldCBub2RlIG9mIGl0ZW1zKClcIlxuICBbbmdUZW1wbGF0ZU91dGxldF09XCJSZWN1cnNpb25cIlxuICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG5vZGUgfVwiXG4+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjUmVjdXJzaW9uIGxldC1pdGVtPlxuICBAaWYgKGl0ZW0uZ3JvdXA/LnRpdGxlKSB7XG4gICAgPGF4LXRpdGxlPnt7IGl0ZW0uZ3JvdXA/LnRpdGxlIH19PC9heC10aXRsZT5cbiAgfVxuICA8YXgtbWVudS1pdGVtIFtuYW1lXT1cIml0ZW0ubmFtZVwiIFtkYXRhXT1cIml0ZW0uZGF0YVwiIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCIgW2NvbG9yXT1cIml0ZW0uY29sb3JcIj5cbiAgICA8YXgtcHJlZml4PlxuICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgPGF4LWljb24gW2ljb25dPVwiaXRlbS5pY29uXCI+IDwvYXgtaWNvbj5cbiAgICAgIH1cbiAgICA8L2F4LXByZWZpeD5cbiAgICBAaWYgKGl0ZW0udGV4dCkge1xuICAgICAgPGF4LXRleHQ+e3sgaXRlbS50ZXh0IH19PC9heC10ZXh0PlxuICAgIH1cbiAgICBAaWYgKGl0ZW0uc3VmZml4KSB7XG4gICAgICA8YXgtc3VmZml4PlxuICAgICAgICA8YXgtdGV4dD57eyBpdGVtLnN1ZmZpeC50ZXh0IH19PC9heC10ZXh0PlxuICAgICAgPC9heC1zdWZmaXg+XG4gICAgfVxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBpdGVtLml0ZW1zXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIlJlY3Vyc2lvblwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNoaWxkIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9heC1tZW51LWl0ZW0+XG4gIEBpZiAoaXRlbS5icmVhaykge1xuICAgIDxheC1kaXZpZGVyPjwvYXgtZGl2aWRlcj5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -264,9 +264,7 @@ export class AXMenuItemComponent extends NXComponent {
264
264
  if (this.disabled()) {
265
265
  list.push('ax-state-disabled');
266
266
  }
267
- if (this.color()) {
268
- list.push(`ax-el-${this.color()}-blank`);
269
- }
267
+ list.push(`ax-el-${this.color() ?? 'ghost'}-blank`);
270
268
  return list;
271
269
  }
272
270
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
@@ -276,7 +274,7 @@ export class AXMenuItemComponent extends NXComponent {
276
274
  useExisting: AXMenuItemComponent,
277
275
  },
278
276
  AXUnsubscriber,
279
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-action-item-prefix\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n</div>\n<div class=\"ax-action-item-suffix\">\n <ng-content select=\"ax-suffix\"></ng-content>\n @if (hasSubItems() && (root.hasArrow() || !isRoot())) {\n <i class=\"ax-icon ax-icon-solid {{ arrowIcon() }} ax-menu-item-child-icon\"></i>\n }\n</div>\n<div class=\"ax-menu-items ax-action-list ax-action-list-vertical\" [class.ax-state-open]=\"isOpen()\">\n <ng-content select=\"ax-menu-item,ax-title,ax-divider,ng-container\"></ng-content>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
277
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-action-item-prefix\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n</div>\n<div class=\"ax-action-item-suffix\">\n <ng-content select=\"ax-suffix\"></ng-content>\n @if (hasSubItems() && (!isRoot() || root?.hasArrow())) {\n <i class=\"ax-icon ax-icon-solid {{ arrowIcon() }} \"></i>\n }\n</div>\n<div class=\"ax-menu-items ax-action-list ax-action-list-vertical\" [class.ax-state-open]=\"isOpen()\">\n <ng-content select=\"ax-menu-item,ax-title,ax-divider,ng-container\"></ng-content>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
280
278
  }
281
279
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuItemComponent, decorators: [{
282
280
  type: Component,
@@ -286,7 +284,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
286
284
  useExisting: AXMenuItemComponent,
287
285
  },
288
286
  AXUnsubscriber,
289
- ], template: "<div class=\"ax-action-item-prefix\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n</div>\n<div class=\"ax-action-item-suffix\">\n <ng-content select=\"ax-suffix\"></ng-content>\n @if (hasSubItems() && (root.hasArrow() || !isRoot())) {\n <i class=\"ax-icon ax-icon-solid {{ arrowIcon() }} ax-menu-item-child-icon\"></i>\n }\n</div>\n<div class=\"ax-menu-items ax-action-list ax-action-list-vertical\" [class.ax-state-open]=\"isOpen()\">\n <ng-content select=\"ax-menu-item,ax-title,ax-divider,ng-container\"></ng-content>\n</div>\n" }]
287
+ ], template: "<div class=\"ax-action-item-prefix\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n</div>\n<div class=\"ax-action-item-suffix\">\n <ng-content select=\"ax-suffix\"></ng-content>\n @if (hasSubItems() && (!isRoot() || root?.hasArrow())) {\n <i class=\"ax-icon ax-icon-solid {{ arrowIcon() }} \"></i>\n }\n</div>\n<div class=\"ax-menu-items ax-action-list ax-action-list-vertical\" [class.ax-state-open]=\"isOpen()\">\n <ng-content select=\"ax-menu-item,ax-title,ax-divider,ng-container\"></ng-content>\n</div>\n" }]
290
288
  }], ctorParameters: () => [], propDecorators: { handleClick: [{
291
289
  type: HostListener,
292
290
  args: ['click', ['$event']]
@@ -309,4 +307,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
309
307
  type: HostBinding,
310
308
  args: ['class']
311
309
  }] } });
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tZW51L3NyYy9saWIvbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tZW51L3NyYy9saWIvbWVudS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBNEIsdUJBQXVCLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUk3Rjs7O0dBR0c7QUFjSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBVztJQWdDbEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQWhDQSxXQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRzdCLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFMUIsV0FBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDO1FBRXJDLFlB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QyxTQUFTLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0E3U1UsbUJBQW1CO2tHQUFuQixtQkFBbUIsaTNCQVJuQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSx1QkFBdUI7Z0JBQ2hDLFdBQVcsRUFBRSxtQkFBbUI7YUFDakM7WUFDRCxjQUFjO1NBQ2YsaURDcENILGtsQkFhQTs7MkZEeUJhLG1CQUFtQjtrQkFiL0IsU0FBUzsrQkFDRSxjQUFjLGlCQUVULGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLHVCQUF1Qjs0QkFDaEMsV0FBVyxxQkFBcUI7eUJBQ2pDO3dCQUNELGNBQWM7cUJBQ2Y7d0RBOExPLFdBQVc7c0JBRGxCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQTRCekIsZ0JBQWdCO3NCQUR2QixZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFnQjlCLGdCQUFnQjtzQkFEdkIsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBbUI5QixhQUFhO3NCQUZwQixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3hDLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVNqQyxjQUFjO3NCQURyQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQW9DdEMsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFN0eWxlQ29sb3JUeXBlLCBOWENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhIdG1sVXRpbCwgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIHNpZ25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNZW51U2VydmljZSB9IGZyb20gJy4vbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7IEFYTWVudUl0ZW1DbGlja0Jhc2VFdmVudCwgQVhNZW51SXRlbUNvbXBvbmVudEJhc2UsIEFYUm9vdE1lbnUgfSBmcm9tICcuL21lbnUudHlwZXMnO1xuXG5leHBvcnQgdHlwZSBBWE1lbnVJdGVtQ2xpY2tFdmVudCA9IEFYTWVudUl0ZW1DbGlja0Jhc2VFdmVudDxBWE1lbnVJdGVtQ29tcG9uZW50PjtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbWVudSBpdGVtIGNvbXBvbmVudCB1c2VkIHdpdGhpbiBhbiBgYXgtbWVudWAuXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1tZW51LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYTWVudUl0ZW1Db21wb25lbnRCYXNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYTWVudUl0ZW1Db21wb25lbnQsXG4gICAgfSxcbiAgICBBWFVuc3Vic2NyaWJlcixcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNZW51SXRlbUNvbXBvbmVudCBleHRlbmRzIE5YQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIGlzT3BlbiA9IHNpZ25hbChmYWxzZSk7XG4gIHByb3RlY3RlZCBoYXNTdWJJdGVtcyA9IHNpZ25hbChmYWxzZSk7XG4gIHByb3RlY3RlZCBpc0ZpcnN0TGV2ZWwgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXIhOiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gIHByb3RlY3RlZCByb290ID0gaW5qZWN0KEFYUm9vdE1lbnUpO1xuICBwcm90ZWN0ZWQgcGFyZW50PzogQVhNZW51SXRlbUNvbXBvbmVudCB8IG51bGw7XG4gIHByb3RlY3RlZCBpc1Jvb3QgPSAoKSA9PiB0aGlzLnBhcmVudCA9PSBudWxsO1xuXG4gIHByaXZhdGUgc2VydmljZSA9IGluamVjdChBWE1lbnVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzY3JvbGxhYmxlUGFyZW50czogSFRNTEVsZW1lbnRbXSA9IFtdO1xuXG4gIHByaXZhdGUgdW5zdXNjcmliZXIgPSBpbmplY3QoQVhVbnN1YnNjcmliZXIpO1xuICBwcml2YXRlIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgcHJvdGVjdGVkIGFycm93SWNvbiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBpc1J0bCA9IEFYSHRtbFV0aWwuaXNSdGwodGhpcy5uYXRpdmVFbGVtZW50KTtcbiAgICByZXR1cm4gdGhpcy5yb290Lm9yaWVudGF0aW9uKCkgPT0gJ2hvcml6b250YWwnICYmIHRoaXMuaXNGaXJzdExldmVsKClcbiAgICAgID8gJ2F4LWljb24tY2hldnJvbi1kb3duJ1xuICAgICAgOiBpc1J0bFxuICAgICAgICA/ICdheC1pY29uLWNoZXZyb24tbGVmdCdcbiAgICAgICAgOiAnYXgtaWNvbi1jaGV2cm9uLXJpZ2h0JztcbiAgfSk7XG5cbiAgb25DbGljayA9IG91dHB1dDxBWE1lbnVJdGVtQ2xpY2tFdmVudD4oKTtcblxuICBuYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuICBkYXRhID0gaW5wdXQ8YW55PigpO1xuICBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIGNvbG9yID0gaW5wdXQ8QVhTdHlsZUNvbG9yVHlwZT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIC8vXG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIHRoaXMuZGV0ZWN0U3ViSXRlbXMoKTtcbiAgICAgIHRoaXMub2JzZXJ2ZU11dGF0aW9ucygpO1xuICAgICAgdGhpcy5iaW5kU2Nyb2xsRXZlbnRzKCk7XG4gICAgfSk7XG4gICAgLy9cbiAgICB0aGlzLnNlcnZpY2UuY2xvc2VBbGwkLnBpcGUodGhpcy51bnN1c2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcblxuICAgIHRoaXMuc2VydmljZS5vcGVuJC5waXBlKHRoaXMudW5zdXNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChpdGVtKSA9PiB7XG4gICAgICBpZiAoKHRoaXMgYXMgYW55KSA9PT0gaXRlbSkge1xuICAgICAgICB0aGlzLmlzT3Blbi5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlUG9zaXRpb24oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvL1xuICAgIHRoaXMuc2VydmljZS5jbG9zZSQucGlwZSh0aGlzLnVuc3VzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoaXRlbSkgPT4ge1xuICAgICAgaWYgKCh0aGlzIGFzIGFueSkgPT0gaXRlbSkge1xuICAgICAgICB0aGlzLmlzT3Blbi5zZXQoZmFsc2UpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vXG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlRXhjZXB0JC5waXBlKHRoaXMudW5zdXNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChpdGVtKSA9PiB7XG4gICAgICB0aGlzLmNsb3NlRXhjZXB0KGl0ZW0gYXMgQVhNZW51SXRlbUNvbXBvbmVudCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlRXhjZXB0KGl0ZW06IEFYTWVudUl0ZW1Db21wb25lbnQpIHtcbiAgICBjb25zdCBsaXN0OiBBWE1lbnVJdGVtQ29tcG9uZW50W10gPSBbaXRlbV07XG4gICAgLy9cbiAgICBsZXQgcGFyZW50ID0gaXRlbS5wYXJlbnQ7XG4gICAgd2hpbGUgKHBhcmVudCAhPSBudWxsKSB7XG4gICAgICBsaXN0LnB1c2gocGFyZW50KTtcbiAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnQ7XG4gICAgfVxuICAgIC8vXG4gICAgaWYgKCFsaXN0LmluY2x1ZGVzKHRoaXMpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTXV0YXRpb25zKCkge1xuICAgIHRoaXMubXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgIHRoaXMuZGV0ZWN0U3ViSXRlbXMoKTtcbiAgICB9KTtcblxuICAgIC8vIFN0YXJ0IG9ic2VydmluZyBjaGFuZ2VzIGluIGNoaWxkIGVsZW1lbnRzXG4gICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5uYXRpdmVFbGVtZW50LCB7XG4gICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignYXgtdGV4dCcpPy5pbm5lclRleHQ7XG4gIH1cblxuICAvKipcbiAgICogTWFudWFsbHkgZGV0ZWN0IGFsbCBgYXgtbWVudS1pdGVtYCBlbGVtZW50cyBhbmQgY2hlY2sgaWYgdGhpcyBtZW51IGl0ZW0gaGFzIHN1Yi1pdGVtcy5cbiAgICovXG4gIHByaXZhdGUgZGV0ZWN0U3ViSXRlbXMoKSB7XG4gICAgLy9cbiAgICBjb25zdCBwYXJlbnRFbCA9IHRoaXMubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Py5wYXJlbnRFbGVtZW50O1xuICAgIHRoaXMucGFyZW50ID1cbiAgICAgIHBhcmVudEVsPy50YWdOYW1lID09ICdBWC1NRU5VLUlURU0nID8gKHBhcmVudEVsPy5bJ19fYXhDb250ZXh0X18nXSBhcyBBWE1lbnVJdGVtQ29tcG9uZW50KSA6IG51bGw7XG4gICAgLy9cbiAgICBjb25zdCB0YWcgPSB0aGlzLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudD8udGFnTmFtZTtcbiAgICB0aGlzLmlzRmlyc3RMZXZlbC5zZXQodGFnID09ICdBWC1NRU5VJyB8fCB0YWcgPT0gJ0FYLUNPTlRFWFQtTUVOVScpO1xuICAgIGNvbnN0IHN1Ykl0ZW1zID0gdGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2F4LW1lbnUtaXRlbScpO1xuICAgIGlmIChzdWJJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmhhc1N1Ykl0ZW1zLnNldCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oYXNTdWJJdGVtcy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW4oKSB7XG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlRXhjZXB0JC5uZXh0KHRoaXMpO1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCgpICYmIHRoaXMuaGFzU3ViSXRlbXMoKSkge1xuICAgICAgdGhpcy5zZXJ2aWNlLm9wZW4kLm5leHQodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlJC5uZXh0KHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZSB0aGUgcG9zaXRpb24gb2YgdGhlIHN1Ym1lbnUgdG8gYXZvaWQgaXQgZ29pbmcgb3V0IG9mIHRoZSB2aWV3cG9ydC5cbiAgICovXG4gIHByaXZhdGUgY2FsY3VsYXRlUG9zaXRpb24oKSB7XG4gICAgY29uc3Qgc3VibWVudSA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuYXgtbWVudS1pdGVtcycpO1xuICAgIGlmICghc3VibWVudSkgcmV0dXJuO1xuXG4gICAgY29uc3Qgc3VibWVudVJlY3QgPSBzdWJtZW51LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGl0ZW1SZWN0ID0gdGhpcy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuXG4gICAgY29uc3QgaXNSdGwgPSBBWEh0bWxVdGlsLmlzUnRsKHRoaXMubmF0aXZlRWxlbWVudCk7XG5cbiAgICBsZXQgdG9wOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgbGVmdDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvLyBGb3IgZmlyc3QtbGV2ZWwgbWVudSBpdGVtc1xuICAgIGlmICh0aGlzLmlzRmlyc3RMZXZlbCgpICYmIHRoaXMucm9vdC5vcmllbnRhdGlvbigpID09PSAnaG9yaXpvbnRhbCcpIHtcbiAgICAgIHRvcCA9XG4gICAgICAgIGl0ZW1SZWN0LmJvdHRvbSArIHN1Ym1lbnVSZWN0LmhlaWdodCA+IHdpbmRvd0hlaWdodFxuICAgICAgICAgID8gaXRlbVJlY3QudG9wIC0gc3VibWVudVJlY3QuaGVpZ2h0IC8vIE9wZW4gdXB3YXJkc1xuICAgICAgICAgIDogaXRlbVJlY3QuYm90dG9tOyAvLyBPcGVuIGRvd253YXJkc1xuXG4gICAgICBpZiAoaXNSdGwpIHtcbiAgICAgICAgLy8gUlRMOiBBbGlnbiB0byB0aGUgcmlnaHQgb2YgdGhlIHBhcmVudCBpdGVtXG4gICAgICAgIGxlZnQgPVxuICAgICAgICAgIGl0ZW1SZWN0LnJpZ2h0IC0gc3VibWVudVJlY3Qud2lkdGggPCAwXG4gICAgICAgICAgICA/IGl0ZW1SZWN0LmxlZnQgLy8gQWxpZ24gdG8gdGhlIGxlZnQgaWYgbm90IGVub3VnaCBzcGFjZSBvbiB0aGUgcmlnaHRcbiAgICAgICAgICAgIDogaXRlbVJlY3QucmlnaHQgLSBzdWJtZW51UmVjdC53aWR0aDsgLy8gT3BlbiB0byB0aGUgbGVmdCBpbiBSVExcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIExUUjogQWxpZ24gdG8gdGhlIGxlZnQgb2YgdGhlIHBhcmVudCBpdGVtXG4gICAgICAgIGxlZnQgPVxuICAgICAgICAgIGl0ZW1SZWN0LmxlZnQgKyBzdWJtZW51UmVjdC53aWR0aCA+IHdpbmRvd1dpZHRoXG4gICAgICAgICAgICA/IGl0ZW1SZWN0LnJpZ2h0IC0gc3VibWVudVJlY3Qud2lkdGggLy8gQWxpZ24gdG8gdGhlIHJpZ2h0IGVkZ2UgaW4gTFRSXG4gICAgICAgICAgICA6IGl0ZW1SZWN0LmxlZnQ7IC8vIE9wZW4gdG8gdGhlIGxlZnRcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRm9yIG5lc3RlZCBzdWJtZW51c1xuICAgICAgaWYgKGlzUnRsKSB7XG4gICAgICAgIC8vIFJUTDogTmVzdGVkIHN1Ym1lbnUgb3BlbnMgdG8gdGhlIGxlZnRcbiAgICAgICAgbGVmdCA9XG4gICAgICAgICAgaXRlbVJlY3QubGVmdCAtIHN1Ym1lbnVSZWN0LndpZHRoIDwgMFxuICAgICAgICAgICAgPyBpdGVtUmVjdC5yaWdodCAvLyBBbGlnbiB0byB0aGUgcmlnaHQgaWYgbm90IGVub3VnaCBzcGFjZSBvbiB0aGUgbGVmdFxuICAgICAgICAgICAgOiBpdGVtUmVjdC5sZWZ0IC0gc3VibWVudVJlY3Qud2lkdGg7IC8vIE9wZW4gdG8gdGhlIGxlZnQgaW4gUlRMXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBMVFI6IE5lc3RlZCBzdWJtZW51IG9wZW5zIHRvIHRoZSByaWdodFxuICAgICAgICBsZWZ0ID1cbiAgICAgICAgICBpdGVtUmVjdC5yaWdodCArIHN1Ym1lbnVSZWN0LndpZHRoID4gd2luZG93V2lkdGhcbiAgICAgICAgICAgID8gaXRlbVJlY3QubGVmdCAtIHN1Ym1lbnVSZWN0LndpZHRoIC8vIE9wZW4gdG8gdGhlIGxlZnQgaWYgbm90IGVub3VnaCBzcGFjZVxuICAgICAgICAgICAgOiBpdGVtUmVjdC5yaWdodDsgLy8gT3BlbiB0byB0aGUgcmlnaHQgaW4gTFRSXG4gICAgICB9XG5cbiAgICAgIC8vIEFkanVzdCB0b3AgcG9zaXRpb24gKGFsaWduIHZlcnRpY2FsbHkgd2l0aCBwYXJlbnQpXG4gICAgICB0b3AgPVxuICAgICAgICBpdGVtUmVjdC50b3AgKyBzdWJtZW51UmVjdC5oZWlnaHQgPiB3aW5kb3dIZWlnaHRcbiAgICAgICAgICA/IGl0ZW1SZWN0LnRvcCAtIChpdGVtUmVjdC5ib3R0b20gKyBzdWJtZW51UmVjdC5oZWlnaHQgLSB3aW5kb3dIZWlnaHQpIC8vIEFkanVzdCB1cHdhcmRzXG4gICAgICAgICAgOiBpdGVtUmVjdC50b3A7IC8vIEFsaWduIHdpdGggdGhlIHBhcmVudCBpdGVtXG4gICAgfVxuXG4gICAgLy8gQXBwbHkgY2FsY3VsYXRlZCBzdHlsZXMgZm9yIFJUTC9MVFJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHN1Ym1lbnUsICdsZWZ0JywgYCR7bGVmdH1weGApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc3VibWVudSwgJ3RvcCcsIGAke3RvcH1weGApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc3VibWVudSwgJ3Bvc2l0aW9uJywgJ2ZpeGVkJyk7IC8vIEZpeGVkIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydFxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBwcml2YXRlIGhhbmRsZUNsaWNrKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHJldHVybjtcbiAgICAvL1xuICAgIGNvbnN0IGV2ZW50ID0ge1xuICAgICAgc2VuZGVyOiB0aGlzLFxuICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICBjYW5jZWxlZDogZmFsc2UsXG4gICAgICBpdGVtOiB7XG4gICAgICAgIG5hbWU6IHRoaXMubmFtZSgpLFxuICAgICAgICB0ZXh0OiB0aGlzLmdldFRleHQoKSxcbiAgICAgICAgZGF0YTogdGhpcy5kYXRhKCksXG4gICAgICB9LFxuICAgIH0gYXMgQVhNZW51SXRlbUNsaWNrRXZlbnQ7XG4gICAgLy9cbiAgICB0aGlzLm9uQ2xpY2suZW1pdChldmVudCk7XG4gICAgdGhpcy5yb290Lm9uSXRlbUNsaWNrLmVtaXQoeyAuLi5ldmVudCwgLi4ueyBzZW5kZXI6IHRoaXMucm9vdCBhcyBhbnkgfSB9KTtcbiAgICAvL1xuICAgIGlmICh0aGlzLmhhc1N1Ykl0ZW1zKCkgJiYgIWV2ZW50LmNhbmNlbGVkKSB7XG4gICAgICB0aGlzLm9wZW4oKTtcbiAgICB9IGVsc2UgaWYgKCFldmVudC5jYW5jZWxlZCkge1xuICAgICAgdGhpcy5zZXJ2aWNlLmNsb3NlQWxsJC5uZXh0KCk7XG4gICAgICB0aGlzLnNlcnZpY2UuY2xvc2VBbGxDb250ZXh0TWVudSQubmV4dCh7IHNlbmRlcjogdGhpcy5yb290IH0pO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBbJyRldmVudCddKVxuICBwcml2YXRlIGhhbmRsZU1vdXNlRW50ZXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAvLyBDYW5jZWwgdGhlIGNsb3NlIGRlbGF5IGlmIHRoZSBtb3VzZSByZS1lbnRlcnMgdGhlIGVsZW1lbnRcbiAgICBpZiAodGhpcy5tb3VzZUxlYXZlVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubW91c2VMZWF2ZVRpbWVvdXQpO1xuICAgICAgdGhpcy5tb3VzZUxlYXZlVGltZW91dCA9IG51bGw7IC8vIFJlc2V0IHRoZSB0aW1lb3V0XG4gICAgfVxuICAgIGlmICghdGhpcy5pc0ZpcnN0TGV2ZWwoKSB8fCB0aGlzLnJvb3Qub3Blbk9uKCkgPT0gJ2hvdmVyJykge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtb3VzZUxlYXZlVGltZW91dDogYW55O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBbJyRldmVudCddKVxuICBwcml2YXRlIGhhbmRsZU1vdXNlTGVhdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmhhc1N1Ykl0ZW1zKCkgJiYgdGhpcy5yb290LmNsb3NlT24oKSA9PT0gJ2xlYXZlJykge1xuICAgICAgLy8gQ2xlYXIgYW55IHByZXZpb3VzIHRpbWVvdXQgdG8gYXZvaWQgbXVsdGlwbGUgdHJpZ2dlcnNcbiAgICAgIGlmICh0aGlzLm1vdXNlTGVhdmVUaW1lb3V0KSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLm1vdXNlTGVhdmVUaW1lb3V0KTtcbiAgICAgIH1cblxuICAgICAgLy8gU2V0IGEgZGVsYXkgYmVmb3JlIGNsb3NpbmcgdGhlIHN1Ym1lbnVcbiAgICAgIHRoaXMubW91c2VMZWF2ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfSwgNTAwKTsgLy8gQWRqdXN0IHRoZSBkZWxheSAoNTAwbXMgaW4gdGhpcyBjYXNlKSBhcyBwZXIgeW91ciByZXF1aXJlbWVudFxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBvbldpbmRvd0V2ZW50KCkge1xuICAgIHRoaXMuc2VydmljZS5jbG9zZUFsbCQubmV4dCgpOyAvLyBDbG9zZSBhbGwgbWVudXMgb24gc2Nyb2xsIG9yIHJlc2l6ZVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlIGFsbCBtZW51cyBpZiBjbGlja2luZyBvdXRzaWRlIHRoZSByb290IG1lbnUgYW5kIGFsbCBzdWItaXRlbXMuXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgb25DbGlja091dHNpZGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBjb25zdCBob3N0RWxlbWVudCA9IHRoaXMucm9vdC5uYXRpdmVFbGVtZW50O1xuICAgIGlmICghaG9zdEVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICB0aGlzLnNlcnZpY2UuY2xvc2VBbGwkLm5leHQoKTsgLy8gQ2xvc2UgYWxsIG1lbnVzIGlmIGNsaWNrIGlzIG91dHNpZGUgdGhlIHJvb3QgYW5kIHN1Yi1pdGVtc1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVtb3ZlU2Nyb2xsRXZlbnRzKCk7XG4gIH1cblxuICBwcml2YXRlIGJpbmRTY3JvbGxFdmVudHMoKSB7XG4gICAgdGhpcy5zY3JvbGxhYmxlUGFyZW50cyA9IEFYSHRtbFV0aWwuZ2V0U2Nyb2xsYWJsZVBhcmVudHModGhpcy5uYXRpdmVFbGVtZW50KTtcblxuICAgIHRoaXMuc2Nyb2xsYWJsZVBhcmVudHMuZm9yRWFjaCgocGFyZW50KSA9PiB7XG4gICAgICBwYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRhaW5lclNjcm9sbC5iaW5kKHRoaXMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBzY3JvbGwgZXZlbnQgbGlzdGVuZXJzXG4gIHByaXZhdGUgcmVtb3ZlU2Nyb2xsRXZlbnRzKCkge1xuICAgIHRoaXMuc2Nyb2xsYWJsZVBhcmVudHMuZm9yRWFjaCgocGFyZW50KSA9PiB7XG4gICAgICBwYXJlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRhaW5lclNjcm9sbC5iaW5kKHRoaXMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVyIGZvciBzY3JvbGwgZXZlbnRzICh3aW5kb3cgb3Igc2Nyb2xsYWJsZSBwYXJlbnQgY29udGFpbmVycylcbiAgICovXG4gIHByaXZhdGUgb25Db250YWluZXJTY3JvbGwoKSB7XG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlQWxsJC5uZXh0KCk7IC8vIENsb3NlIGFsbCBtZW51cyBvbiBzY3JvbGxcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGxpc3Q6IHN0cmluZ1tdID0gWydheC1lbC1pbnRlcmFjdGl2ZScsICdheC1hY3Rpb24taXRlbSddO1xuICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgIGxpc3QucHVzaCgnYXgtc3RhdGUtZGlzYWJsZWQnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29sb3IoKSkge1xuICAgICAgbGlzdC5wdXNoKGBheC1lbC0ke3RoaXMuY29sb3IoKX0tYmxhbmtgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbGlzdDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LWFjdGlvbi1pdGVtLXByZWZpeFwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXRleHRcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJheC1hY3Rpb24taXRlbS1zdWZmaXhcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+PC9uZy1jb250ZW50PlxuICBAaWYgKGhhc1N1Ykl0ZW1zKCkgJiYgKHJvb3QuaGFzQXJyb3coKSB8fCAhaXNSb290KCkpKSB7XG4gICAgPGkgY2xhc3M9XCJheC1pY29uIGF4LWljb24tc29saWQge3sgYXJyb3dJY29uKCkgfX0gYXgtbWVudS1pdGVtLWNoaWxkLWljb25cIj48L2k+XG4gIH1cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImF4LW1lbnUtaXRlbXMgYXgtYWN0aW9uLWxpc3QgYXgtYWN0aW9uLWxpc3QtdmVydGljYWxcIiBbY2xhc3MuYXgtc3RhdGUtb3Blbl09XCJpc09wZW4oKVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1tZW51LWl0ZW0sYXgtdGl0bGUsYXgtZGl2aWRlcixuZy1jb250YWluZXJcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
310
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tZW51L3NyYy9saWIvbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tZW51L3NyYy9saWIvbWVudS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBNEIsdUJBQXVCLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUk3Rjs7O0dBR0c7QUFjSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBVztJQWdDbEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQWhDQSxXQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRzdCLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFMUIsV0FBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDO1FBRXJDLFlB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LENBQUMsQ0FBQztRQUVwRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBM1NVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGkzQkFSbkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsdUJBQXVCO2dCQUNoQyxXQUFXLEVBQUUsbUJBQW1CO2FBQ2pDO1lBQ0QsY0FBYztTQUNmLGlEQ3BDSCw0akJBYUE7OzJGRHlCYSxtQkFBbUI7a0JBYi9CLFNBQVM7K0JBQ0UsY0FBYyxpQkFFVCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSx1QkFBdUI7NEJBQ2hDLFdBQVcscUJBQXFCO3lCQUNqQzt3QkFDRCxjQUFjO3FCQUNmO3dEQThMTyxXQUFXO3NCQURsQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkE0QnpCLGdCQUFnQjtzQkFEdkIsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBZ0I5QixnQkFBZ0I7c0JBRHZCLFlBQVk7dUJBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQW1COUIsYUFBYTtzQkFGcEIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUN4QyxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTakMsY0FBYztzQkFEckIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFvQ3RDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhTdHlsZUNvbG9yVHlwZSwgTlhDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYSHRtbFV0aWwsIEFYVW5zdWJzY3JpYmVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7XG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTWVudVNlcnZpY2UgfSBmcm9tICcuL21lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBBWE1lbnVJdGVtQ2xpY2tCYXNlRXZlbnQsIEFYTWVudUl0ZW1Db21wb25lbnRCYXNlLCBBWFJvb3RNZW51IH0gZnJvbSAnLi9tZW51LnR5cGVzJztcblxuZXhwb3J0IHR5cGUgQVhNZW51SXRlbUNsaWNrRXZlbnQgPSBBWE1lbnVJdGVtQ2xpY2tCYXNlRXZlbnQ8QVhNZW51SXRlbUNvbXBvbmVudD47XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1lbnUgaXRlbSBjb21wb25lbnQgdXNlZCB3aXRoaW4gYW4gYGF4LW1lbnVgLlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtbWVudS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWE1lbnVJdGVtQ29tcG9uZW50QmFzZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWE1lbnVJdGVtQ29tcG9uZW50LFxuICAgIH0sXG4gICAgQVhVbnN1YnNjcmliZXIsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTWVudUl0ZW1Db21wb25lbnQgZXh0ZW5kcyBOWENvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBpc09wZW4gPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgaGFzU3ViSXRlbXMgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgaXNGaXJzdExldmVsID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJpdmF0ZSBtdXRhdGlvbk9ic2VydmVyITogTXV0YXRpb25PYnNlcnZlcjtcblxuICBwcm90ZWN0ZWQgcm9vdCA9IGluamVjdChBWFJvb3RNZW51KTtcbiAgcHJvdGVjdGVkIHBhcmVudD86IEFYTWVudUl0ZW1Db21wb25lbnQgfCBudWxsO1xuICBwcm90ZWN0ZWQgaXNSb290ID0gKCkgPT4gdGhpcy5wYXJlbnQgPT0gbnVsbDtcblxuICBwcml2YXRlIHNlcnZpY2UgPSBpbmplY3QoQVhNZW51U2VydmljZSk7XG4gIHByaXZhdGUgc2Nyb2xsYWJsZVBhcmVudHM6IEhUTUxFbGVtZW50W10gPSBbXTtcblxuICBwcml2YXRlIHVuc3VzY3JpYmVyID0gaW5qZWN0KEFYVW5zdWJzY3JpYmVyKTtcbiAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gIHByb3RlY3RlZCBhcnJvd0ljb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgaXNSdGwgPSBBWEh0bWxVdGlsLmlzUnRsKHRoaXMubmF0aXZlRWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXMucm9vdC5vcmllbnRhdGlvbigpID09ICdob3Jpem9udGFsJyAmJiB0aGlzLmlzRmlyc3RMZXZlbCgpXG4gICAgICA/ICdheC1pY29uLWNoZXZyb24tZG93bidcbiAgICAgIDogaXNSdGxcbiAgICAgICAgPyAnYXgtaWNvbi1jaGV2cm9uLWxlZnQnXG4gICAgICAgIDogJ2F4LWljb24tY2hldnJvbi1yaWdodCc7XG4gIH0pO1xuXG4gIG9uQ2xpY2sgPSBvdXRwdXQ8QVhNZW51SXRlbUNsaWNrRXZlbnQ+KCk7XG5cbiAgbmFtZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgZGF0YSA9IGlucHV0PGFueT4oKTtcbiAgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPigpO1xuICBjb2xvciA9IGlucHV0PEFYU3R5bGVDb2xvclR5cGU+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICAvL1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICB0aGlzLmRldGVjdFN1Ykl0ZW1zKCk7XG4gICAgICB0aGlzLm9ic2VydmVNdXRhdGlvbnMoKTtcbiAgICAgIHRoaXMuYmluZFNjcm9sbEV2ZW50cygpO1xuICAgIH0pO1xuICAgIC8vXG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlQWxsJC5waXBlKHRoaXMudW5zdXNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XG5cbiAgICB0aGlzLnNlcnZpY2Uub3BlbiQucGlwZSh0aGlzLnVuc3VzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoaXRlbSkgPT4ge1xuICAgICAgaWYgKCh0aGlzIGFzIGFueSkgPT09IGl0ZW0pIHtcbiAgICAgICAgdGhpcy5pc09wZW4uc2V0KHRydWUpO1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgLy9cbiAgICB0aGlzLnNlcnZpY2UuY2xvc2UkLnBpcGUodGhpcy51bnN1c2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGl0ZW0pID0+IHtcbiAgICAgIGlmICgodGhpcyBhcyBhbnkpID09IGl0ZW0pIHtcbiAgICAgICAgdGhpcy5pc09wZW4uc2V0KGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvL1xuICAgIHRoaXMuc2VydmljZS5jbG9zZUV4Y2VwdCQucGlwZSh0aGlzLnVuc3VzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoaXRlbSkgPT4ge1xuICAgICAgdGhpcy5jbG9zZUV4Y2VwdChpdGVtIGFzIEFYTWVudUl0ZW1Db21wb25lbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZUV4Y2VwdChpdGVtOiBBWE1lbnVJdGVtQ29tcG9uZW50KSB7XG4gICAgY29uc3QgbGlzdDogQVhNZW51SXRlbUNvbXBvbmVudFtdID0gW2l0ZW1dO1xuICAgIC8vXG4gICAgbGV0IHBhcmVudCA9IGl0ZW0ucGFyZW50O1xuICAgIHdoaWxlIChwYXJlbnQgIT0gbnVsbCkge1xuICAgICAgbGlzdC5wdXNoKHBhcmVudCk7XG4gICAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50O1xuICAgIH1cbiAgICAvL1xuICAgIGlmICghbGlzdC5pbmNsdWRlcyh0aGlzKSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU11dGF0aW9ucygpIHtcbiAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICB0aGlzLmRldGVjdFN1Ykl0ZW1zKCk7XG4gICAgfSk7XG5cbiAgICAvLyBTdGFydCBvYnNlcnZpbmcgY2hhbmdlcyBpbiBjaGlsZCBlbGVtZW50c1xuICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMubmF0aXZlRWxlbWVudCwge1xuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJ2F4LXRleHQnKT8uaW5uZXJUZXh0O1xuICB9XG5cbiAgLyoqXG4gICAqIE1hbnVhbGx5IGRldGVjdCBhbGwgYGF4LW1lbnUtaXRlbWAgZWxlbWVudHMgYW5kIGNoZWNrIGlmIHRoaXMgbWVudSBpdGVtIGhhcyBzdWItaXRlbXMuXG4gICAqL1xuICBwcml2YXRlIGRldGVjdFN1Ykl0ZW1zKCkge1xuICAgIC8vXG4gICAgY29uc3QgcGFyZW50RWwgPSB0aGlzLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudD8ucGFyZW50RWxlbWVudDtcbiAgICB0aGlzLnBhcmVudCA9XG4gICAgICBwYXJlbnRFbD8udGFnTmFtZSA9PSAnQVgtTUVOVS1JVEVNJyA/IChwYXJlbnRFbD8uWydfX2F4Q29udGV4dF9fJ10gYXMgQVhNZW51SXRlbUNvbXBvbmVudCkgOiBudWxsO1xuICAgIC8vXG4gICAgY29uc3QgdGFnID0gdGhpcy5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ/LnRhZ05hbWU7XG4gICAgdGhpcy5pc0ZpcnN0TGV2ZWwuc2V0KHRhZyA9PSAnQVgtTUVOVScgfHwgdGFnID09ICdBWC1DT05URVhULU1FTlUnKTtcbiAgICBjb25zdCBzdWJJdGVtcyA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdheC1tZW51LWl0ZW0nKTtcbiAgICBpZiAoc3ViSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5oYXNTdWJJdGVtcy5zZXQodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGFzU3ViSXRlbXMuc2V0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBvcGVuKCkge1xuICAgIHRoaXMuc2VydmljZS5jbG9zZUV4Y2VwdCQubmV4dCh0aGlzKTtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQoKSAmJiB0aGlzLmhhc1N1Ykl0ZW1zKCkpIHtcbiAgICAgIHRoaXMuc2VydmljZS5vcGVuJC5uZXh0KHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuc2VydmljZS5jbG9zZSQubmV4dCh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgdGhlIHBvc2l0aW9uIG9mIHRoZSBzdWJtZW51IHRvIGF2b2lkIGl0IGdvaW5nIG91dCBvZiB0aGUgdmlld3BvcnQuXG4gICAqL1xuICBwcml2YXRlIGNhbGN1bGF0ZVBvc2l0aW9uKCkge1xuICAgIGNvbnN0IHN1Ym1lbnUgPSB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmF4LW1lbnUtaXRlbXMnKTtcbiAgICBpZiAoIXN1Ym1lbnUpIHJldHVybjtcblxuICAgIGNvbnN0IHN1Ym1lbnVSZWN0ID0gc3VibWVudS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBpdGVtUmVjdCA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB3aW5kb3dXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuICAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcblxuICAgIGNvbnN0IGlzUnRsID0gQVhIdG1sVXRpbC5pc1J0bCh0aGlzLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgbGV0IHRvcDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGxlZnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLy8gRm9yIGZpcnN0LWxldmVsIG1lbnUgaXRlbXNcbiAgICBpZiAodGhpcy5pc0ZpcnN0TGV2ZWwoKSAmJiB0aGlzLnJvb3Qub3JpZW50YXRpb24oKSA9PT0gJ2hvcml6b250YWwnKSB7XG4gICAgICB0b3AgPVxuICAgICAgICBpdGVtUmVjdC5ib3R0b20gKyBzdWJtZW51UmVjdC5oZWlnaHQgPiB3aW5kb3dIZWlnaHRcbiAgICAgICAgICA/IGl0ZW1SZWN0LnRvcCAtIHN1Ym1lbnVSZWN0LmhlaWdodCAvLyBPcGVuIHVwd2FyZHNcbiAgICAgICAgICA6IGl0ZW1SZWN0LmJvdHRvbTsgLy8gT3BlbiBkb3dud2FyZHNcblxuICAgICAgaWYgKGlzUnRsKSB7XG4gICAgICAgIC8vIFJUTDogQWxpZ24gdG8gdGhlIHJpZ2h0IG9mIHRoZSBwYXJlbnQgaXRlbVxuICAgICAgICBsZWZ0ID1cbiAgICAgICAgICBpdGVtUmVjdC5yaWdodCAtIHN1Ym1lbnVSZWN0LndpZHRoIDwgMFxuICAgICAgICAgICAgPyBpdGVtUmVjdC5sZWZ0IC8vIEFsaWduIHRvIHRoZSBsZWZ0IGlmIG5vdCBlbm91Z2ggc3BhY2Ugb24gdGhlIHJpZ2h0XG4gICAgICAgICAgICA6IGl0ZW1SZWN0LnJpZ2h0IC0gc3VibWVudVJlY3Qud2lkdGg7IC8vIE9wZW4gdG8gdGhlIGxlZnQgaW4gUlRMXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBMVFI6IEFsaWduIHRvIHRoZSBsZWZ0IG9mIHRoZSBwYXJlbnQgaXRlbVxuICAgICAgICBsZWZ0ID1cbiAgICAgICAgICBpdGVtUmVjdC5sZWZ0ICsgc3VibWVudVJlY3Qud2lkdGggPiB3aW5kb3dXaWR0aFxuICAgICAgICAgICAgPyBpdGVtUmVjdC5yaWdodCAtIHN1Ym1lbnVSZWN0LndpZHRoIC8vIEFsaWduIHRvIHRoZSByaWdodCBlZGdlIGluIExUUlxuICAgICAgICAgICAgOiBpdGVtUmVjdC5sZWZ0OyAvLyBPcGVuIHRvIHRoZSBsZWZ0XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZvciBuZXN0ZWQgc3VibWVudXNcbiAgICAgIGlmIChpc1J0bCkge1xuICAgICAgICAvLyBSVEw6IE5lc3RlZCBzdWJtZW51IG9wZW5zIHRvIHRoZSBsZWZ0XG4gICAgICAgIGxlZnQgPVxuICAgICAgICAgIGl0ZW1SZWN0LmxlZnQgLSBzdWJtZW51UmVjdC53aWR0aCA8IDBcbiAgICAgICAgICAgID8gaXRlbVJlY3QucmlnaHQgLy8gQWxpZ24gdG8gdGhlIHJpZ2h0IGlmIG5vdCBlbm91Z2ggc3BhY2Ugb24gdGhlIGxlZnRcbiAgICAgICAgICAgIDogaXRlbVJlY3QubGVmdCAtIHN1Ym1lbnVSZWN0LndpZHRoOyAvLyBPcGVuIHRvIHRoZSBsZWZ0IGluIFJUTFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gTFRSOiBOZXN0ZWQgc3VibWVudSBvcGVucyB0byB0aGUgcmlnaHRcbiAgICAgICAgbGVmdCA9XG4gICAgICAgICAgaXRlbVJlY3QucmlnaHQgKyBzdWJtZW51UmVjdC53aWR0aCA+IHdpbmRvd1dpZHRoXG4gICAgICAgICAgICA/IGl0ZW1SZWN0LmxlZnQgLSBzdWJtZW51UmVjdC53aWR0aCAvLyBPcGVuIHRvIHRoZSBsZWZ0IGlmIG5vdCBlbm91Z2ggc3BhY2VcbiAgICAgICAgICAgIDogaXRlbVJlY3QucmlnaHQ7IC8vIE9wZW4gdG8gdGhlIHJpZ2h0IGluIExUUlxuICAgICAgfVxuXG4gICAgICAvLyBBZGp1c3QgdG9wIHBvc2l0aW9uIChhbGlnbiB2ZXJ0aWNhbGx5IHdpdGggcGFyZW50KVxuICAgICAgdG9wID1cbiAgICAgICAgaXRlbVJlY3QudG9wICsgc3VibWVudVJlY3QuaGVpZ2h0ID4gd2luZG93SGVpZ2h0XG4gICAgICAgICAgPyBpdGVtUmVjdC50b3AgLSAoaXRlbVJlY3QuYm90dG9tICsgc3VibWVudVJlY3QuaGVpZ2h0IC0gd2luZG93SGVpZ2h0KSAvLyBBZGp1c3QgdXB3YXJkc1xuICAgICAgICAgIDogaXRlbVJlY3QudG9wOyAvLyBBbGlnbiB3aXRoIHRoZSBwYXJlbnQgaXRlbVxuICAgIH1cblxuICAgIC8vIEFwcGx5IGNhbGN1bGF0ZWQgc3R5bGVzIGZvciBSVEwvTFRSXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzdWJtZW51LCAnbGVmdCcsIGAke2xlZnR9cHhgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHN1Ym1lbnUsICd0b3AnLCBgJHt0b3B9cHhgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHN1Ym1lbnUsICdwb3NpdGlvbicsICdmaXhlZCcpOyAvLyBGaXhlZCBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgdmlld3BvcnRcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBoYW5kbGVDbGljayhlOiBNb3VzZUV2ZW50KSB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSByZXR1cm47XG4gICAgLy9cbiAgICBjb25zdCBldmVudCA9IHtcbiAgICAgIHNlbmRlcjogdGhpcyxcbiAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgICAgY2FuY2VsZWQ6IGZhbHNlLFxuICAgICAgaXRlbToge1xuICAgICAgICBuYW1lOiB0aGlzLm5hbWUoKSxcbiAgICAgICAgdGV4dDogdGhpcy5nZXRUZXh0KCksXG4gICAgICAgIGRhdGE6IHRoaXMuZGF0YSgpLFxuICAgICAgfSxcbiAgICB9IGFzIEFYTWVudUl0ZW1DbGlja0V2ZW50O1xuICAgIC8vXG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoZXZlbnQpO1xuICAgIHRoaXMucm9vdC5vbkl0ZW1DbGljay5lbWl0KHsgLi4uZXZlbnQsIC4uLnsgc2VuZGVyOiB0aGlzLnJvb3QgYXMgYW55IH0gfSk7XG4gICAgLy9cbiAgICBpZiAodGhpcy5oYXNTdWJJdGVtcygpICYmICFldmVudC5jYW5jZWxlZCkge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfSBlbHNlIGlmICghZXZlbnQuY2FuY2VsZWQpIHtcbiAgICAgIHRoaXMuc2VydmljZS5jbG9zZUFsbCQubmV4dCgpO1xuICAgICAgdGhpcy5zZXJ2aWNlLmNsb3NlQWxsQ29udGV4dE1lbnUkLm5leHQoeyBzZW5kZXI6IHRoaXMucm9vdCB9KTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBoYW5kbGVNb3VzZUVudGVyKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgLy8gQ2FuY2VsIHRoZSBjbG9zZSBkZWxheSBpZiB0aGUgbW91c2UgcmUtZW50ZXJzIHRoZSBlbGVtZW50XG4gICAgaWYgKHRoaXMubW91c2VMZWF2ZVRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLm1vdXNlTGVhdmVUaW1lb3V0KTtcbiAgICAgIHRoaXMubW91c2VMZWF2ZVRpbWVvdXQgPSBudWxsOyAvLyBSZXNldCB0aGUgdGltZW91dFxuICAgIH1cbiAgICBpZiAoIXRoaXMuaXNGaXJzdExldmVsKCkgfHwgdGhpcy5yb290Lm9wZW5PbigpID09ICdob3ZlcicpIHtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbW91c2VMZWF2ZVRpbWVvdXQ6IGFueTtcblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBoYW5kbGVNb3VzZUxlYXZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5oYXNTdWJJdGVtcygpICYmIHRoaXMucm9vdC5jbG9zZU9uKCkgPT09ICdsZWF2ZScpIHtcbiAgICAgIC8vIENsZWFyIGFueSBwcmV2aW91cyB0aW1lb3V0IHRvIGF2b2lkIG11bHRpcGxlIHRyaWdnZXJzXG4gICAgICBpZiAodGhpcy5tb3VzZUxlYXZlVGltZW91dCkge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5tb3VzZUxlYXZlVGltZW91dCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNldCBhIGRlbGF5IGJlZm9yZSBjbG9zaW5nIHRoZSBzdWJtZW51XG4gICAgICB0aGlzLm1vdXNlTGVhdmVUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH0sIDUwMCk7IC8vIEFkanVzdCB0aGUgZGVsYXkgKDUwMG1zIGluIHRoaXMgY2FzZSkgYXMgcGVyIHlvdXIgcmVxdWlyZW1lbnRcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6c2Nyb2xsJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgb25XaW5kb3dFdmVudCgpIHtcbiAgICB0aGlzLnNlcnZpY2UuY2xvc2VBbGwkLm5leHQoKTsgLy8gQ2xvc2UgYWxsIG1lbnVzIG9uIHNjcm9sbCBvciByZXNpemVcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZSBhbGwgbWVudXMgaWYgY2xpY2tpbmcgb3V0c2lkZSB0aGUgcm9vdCBtZW51IGFuZCBhbGwgc3ViLWl0ZW1zLlxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxuICBwcml2YXRlIG9uQ2xpY2tPdXRzaWRlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgY29uc3QgaG9zdEVsZW1lbnQgPSB0aGlzLnJvb3QubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoIWhvc3RFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSkge1xuICAgICAgdGhpcy5zZXJ2aWNlLmNsb3NlQWxsJC5uZXh0KCk7IC8vIENsb3NlIGFsbCBtZW51cyBpZiBjbGljayBpcyBvdXRzaWRlIHRoZSByb290IGFuZCBzdWItaXRlbXNcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnJlbW92ZVNjcm9sbEV2ZW50cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5kU2Nyb2xsRXZlbnRzKCkge1xuICAgIHRoaXMuc2Nyb2xsYWJsZVBhcmVudHMgPSBBWEh0bWxVdGlsLmdldFNjcm9sbGFibGVQYXJlbnRzKHRoaXMubmF0aXZlRWxlbWVudCk7XG5cbiAgICB0aGlzLnNjcm9sbGFibGVQYXJlbnRzLmZvckVhY2goKHBhcmVudCkgPT4ge1xuICAgICAgcGFyZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25Db250YWluZXJTY3JvbGwuYmluZCh0aGlzKSk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBSZW1vdmUgc2Nyb2xsIGV2ZW50IGxpc3RlbmVyc1xuICBwcml2YXRlIHJlbW92ZVNjcm9sbEV2ZW50cygpIHtcbiAgICB0aGlzLnNjcm9sbGFibGVQYXJlbnRzLmZvckVhY2goKHBhcmVudCkgPT4ge1xuICAgICAgcGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25Db250YWluZXJTY3JvbGwuYmluZCh0aGlzKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlciBmb3Igc2Nyb2xsIGV2ZW50cyAod2luZG93IG9yIHNjcm9sbGFibGUgcGFyZW50IGNvbnRhaW5lcnMpXG4gICAqL1xuICBwcml2YXRlIG9uQ29udGFpbmVyU2Nyb2xsKCkge1xuICAgIHRoaXMuc2VydmljZS5jbG9zZUFsbCQubmV4dCgpOyAvLyBDbG9zZSBhbGwgbWVudXMgb24gc2Nyb2xsXG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBsaXN0OiBzdHJpbmdbXSA9IFsnYXgtZWwtaW50ZXJhY3RpdmUnLCAnYXgtYWN0aW9uLWl0ZW0nXTtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB7XG4gICAgICBsaXN0LnB1c2goJ2F4LXN0YXRlLWRpc2FibGVkJyk7XG4gICAgfVxuICAgIGxpc3QucHVzaChgYXgtZWwtJHt0aGlzLmNvbG9yKCkgPz8gJ2dob3N0J30tYmxhbmtgKTtcblxuICAgIHJldHVybiBsaXN0O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtYWN0aW9uLWl0ZW0tcHJlZml4XCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdGV4dFwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImF4LWFjdGlvbi1pdGVtLXN1ZmZpeFwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj48L25nLWNvbnRlbnQ+XG4gIEBpZiAoaGFzU3ViSXRlbXMoKSAmJiAoIWlzUm9vdCgpIHx8IHJvb3Q/Lmhhc0Fycm93KCkpKSB7XG4gICAgPGkgY2xhc3M9XCJheC1pY29uIGF4LWljb24tc29saWQge3sgYXJyb3dJY29uKCkgfX0gXCI+PC9pPlxuICB9XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJheC1tZW51LWl0ZW1zIGF4LWFjdGlvbi1saXN0IGF4LWFjdGlvbi1saXN0LXZlcnRpY2FsXCIgW2NsYXNzLmF4LXN0YXRlLW9wZW5dPVwiaXNPcGVuKClcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtbWVudS1pdGVtLGF4LXRpdGxlLGF4LWRpdmlkZXIsbmctY29udGFpbmVyXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { MXBaseComponent } from '@acorex/components/common';
2
- import { ChangeDetectionStrategy, Component, ContentChildren, effect, EventEmitter, HostBinding, input, Input, Output, QueryList, signal, viewChild, ViewEncapsulation, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ContentChildren, effect, EventEmitter, HostBinding, inject, input, Input, NgZone, Output, QueryList, signal, viewChild, ViewEncapsulation, } from '@angular/core';
3
3
  import { AXTabContentDirective } from './tab-content.directive';
4
4
  import { AXTabItemComponent } from './tab-item.component';
5
5
  import * as i0 from "@angular/core";
@@ -31,13 +31,12 @@ export class AXTabsComponent extends MXBaseComponent {
31
31
  */
32
32
  this.minWidth = false;
33
33
  this.indicator = viewChild('indicator');
34
+ this.zone = inject(NgZone);
34
35
  /** @ignore */
35
36
  this._isUserInteraction = false;
36
37
  this.activeTab = signal(null);
37
- this.#lookChange = effect(() => {
38
- this.look();
39
- this.location();
40
- if (this.activeTab()) {
38
+ this.#tabChange = effect(() => {
39
+ if (this.activeTab() && this.look() === 'with-line') {
41
40
  this.setIndicatorPosition(this.activeTab());
42
41
  }
43
42
  });
@@ -57,7 +56,7 @@ export class AXTabsComponent extends MXBaseComponent {
57
56
  get selectedItem() {
58
57
  return this._selectedItem;
59
58
  }
60
- #lookChange;
59
+ #tabChange;
61
60
  /** @ignore */
62
61
  get __hostClass() {
63
62
  const cssClasses = [];
@@ -76,6 +75,11 @@ export class AXTabsComponent extends MXBaseComponent {
76
75
  /** @ignore */
77
76
  ngAfterViewInit() {
78
77
  this._bindOnClickEvent();
78
+ this.zone.runOutsideAngular(() => {
79
+ this.indicator().nativeElement.addEventListener('transitionend', () => {
80
+ this.setIndicatorPosition(this.activeTab());
81
+ });
82
+ });
79
83
  }
80
84
  /** @ignore */
81
85
  _bindOnClickEvent() {
@@ -119,12 +123,13 @@ export class AXTabsComponent extends MXBaseComponent {
119
123
  }
120
124
  setIndicatorPosition(tabItem) {
121
125
  const indicatorStyle = this.indicator().nativeElement.style;
126
+ const itemStats = tabItem.getStats();
122
127
  if (this.look() === 'with-line') {
123
128
  indicatorStyle.display = 'block';
124
129
  if (this.location() === 'top' || this.location() === 'bottom') {
125
- indicatorStyle.width = `${tabItem.getStats().width}px`;
130
+ indicatorStyle.width = `${itemStats.width}px`;
126
131
  indicatorStyle.height = `3px`;
127
- indicatorStyle.insetInlineStart = `${tabItem.getStats().left}px`;
132
+ indicatorStyle.insetInlineStart = `${itemStats.left}px`;
128
133
  indicatorStyle.insetInlineEnd = `unset`;
129
134
  if (this.location() === 'top') {
130
135
  indicatorStyle.top = `0px`;
@@ -137,8 +142,8 @@ export class AXTabsComponent extends MXBaseComponent {
137
142
  }
138
143
  if (this.location() === 'start' || this.location() === 'end') {
139
144
  indicatorStyle.width = ` 0.125rem`;
140
- indicatorStyle.height = `${tabItem.getStats().height}px`;
141
- indicatorStyle.top = `${tabItem.getStats().top}px`;
145
+ indicatorStyle.height = `${itemStats.height}px`;
146
+ indicatorStyle.top = `${itemStats.top}px`;
142
147
  indicatorStyle.bottom = `unset`;
143
148
  if (this.location() === 'start') {
144
149
  indicatorStyle.insetInlineStart = `0px`;
@@ -155,11 +160,11 @@ export class AXTabsComponent extends MXBaseComponent {
155
160
  }
156
161
  }
157
162
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTabsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
158
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.0", type: AXTabsComponent, selector: "ax-tabs", inputs: { look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, location: { classPropertyName: "location", publicName: "location", isSignal: true, isRequired: false, transformFunction: null }, fitParent: { classPropertyName: "fitParent", publicName: "fitParent", isSignal: false, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: false, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onActiveTabChanged: "onActiveTabChanged" }, host: { properties: { "class": "this.__hostClass" } }, queries: [{ propertyName: "_contentTabs", predicate: AXTabItemComponent }], viewQueries: [{ propertyName: "indicator", first: true, predicate: ["indicator"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `<ng-content select="ax-tab-item"></ng-content><span class="ax-tab-indicator" #indicator></span>`, isInline: true, styles: [".ax-dark ax-tabs.ax-look-pills-color ax-tab-item:hover,.ax-dark ax-tabs.ax-look-pills-color ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-fore-tint))}.ax-dark ax-tabs.ax-look-with-line .ax-tab-indicator{background-color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs.ax-look-with-line.ax-top ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs.ax-look-with-line.ax-bottom ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs.ax-look-with-line.ax-start ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs.ax-look-with-line.ax-end ax-tab-item.ax-state-active{border-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs .ax-tab-indicator{background-color:rgba(var(--ax-color-primary-200))}ax-tabs{position:relative;display:flex;width:100%}ax-tabs ax-tab-item{transition:all .3s cubic-bezier(.4,0,.2,1) 0ms;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1) 0ms}ax-tabs ax-tab-item .ax-tab-item-text{white-space:nowrap}ax-tabs.ax-tabs-fit ax-tab-item{flex:1 1 0%}ax-tabs:not(.ax-look-custom) ax-tab-item{position:relative;display:flex;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;line-height:1.25rem}ax-tabs:not(.ax-look-custom) ax-tab-item .ax-tab-item-text{display:inline-flex;flex-wrap:nowrap;padding-left:.5rem;padding-right:.5rem}ax-tabs:not(.ax-look-custom) ax-tab-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-tabs.ax-top,ax-tabs.ax-bottom{flex-direction:row;overflow-x:auto;overflow-y:hidden}ax-tabs.ax-top ax-tab-item,ax-tabs.ax-bottom ax-tab-item{align-items:center;justify-content:center}ax-tabs.ax-start,ax-tabs.ax-end{flex-direction:column;overflow-y:auto;overflow-x:hidden}ax-tabs.ax-start ax-tab-item,ax-tabs.ax-end ax-tab-item{width:100%}ax-tabs.ax-start ax-tab-item:not(ax-tabs.ax-start ax-tab-item:last-child,ax-tabs.ax-end ax-tab-item:last-child),ax-tabs.ax-end ax-tab-item:not(ax-tabs.ax-start ax-tab-item:last-child,ax-tabs.ax-end ax-tab-item:last-child){margin-bottom:.75rem}ax-tabs.ax-start{align-items:flex-start}ax-tabs.ax-end{align-items:flex-end}ax-tabs.ax-look-pills.ax-top ax-tab-item:not(ax-tabs.ax-look-pills.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills.ax-bottom ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-pills.ax-bottom ax-tab-item:not(ax-tabs.ax-look-pills.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills.ax-bottom ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-pills-color.ax-top ax-tab-item:not(ax-tabs.ax-look-pills.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills.ax-bottom ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:not(ax-tabs.ax-look-pills.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills.ax-bottom ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:first-child){margin-inline-start:.75rem}ax-tabs.ax-look-default{border-radius:var(--ax-rounded-border-default);background-color:rgba(var(--ax-color-on-surface));padding:.25rem}ax-tabs.ax-look-default.ax-top ax-tab-item:not(ax-tabs.ax-look-default.ax-top ax-tab-item:first-child,ax-tabs.ax-look-default.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-default.ax-bottom ax-tab-item:not(ax-tabs.ax-look-default.ax-top ax-tab-item:first-child,ax-tabs.ax-look-default.ax-bottom ax-tab-item:first-child){margin-inline-start:.5rem}ax-tabs.ax-look-default ax-tab-item{border-radius:var(--ax-rounded-border-default);padding:.5rem .75rem}ax-tabs.ax-look-default ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-surface));color:rgba(var(--ax-color-surface-fore));--ax-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--ax-shadow-colored: 0 1px 3px 0 var(--ax-shadow-color), 0 1px 2px -1px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow)}ax-tabs.ax-look-pills ax-tab-item{border-radius:var(--ax-rounded-border-default);padding:.5rem .75rem}ax-tabs.ax-look-pills ax-tab-item:hover,ax-tabs.ax-look-pills ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-on-surface));color:rgba(var(--ax-color-on-surface-fore))}ax-tabs.ax-look-pills-color ax-tab-item{border-radius:var(--ax-rounded-border-default);padding:.5rem .75rem}ax-tabs.ax-look-pills-color ax-tab-item:hover,ax-tabs.ax-look-pills-color ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}ax-tabs.ax-look-with-line .ax-tab-indicator{position:absolute;background-color:rgba(var(--ax-color-primary-500));transition:all .3s cubic-bezier(.4,0,.2,1) 0ms;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1) 0ms;z-index:1}ax-tabs.ax-look-with-line.ax-top:after,ax-tabs.ax-look-with-line.ax-bottom:after{background-color:rgba(var(--ax-color-border-default));height:1px;width:100%}ax-tabs.ax-look-with-line.ax-top .ax-tab-indicator,ax-tabs.ax-look-with-line.ax-bottom .ax-tab-indicator{height:3px;width:50%}ax-tabs.ax-look-with-line.ax-top ax-tab-item,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item{padding:.75rem .25rem}ax-tabs.ax-look-with-line.ax-top ax-tab-item:first-child,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:first-child{margin-inline-start:1rem}ax-tabs.ax-look-with-line.ax-top ax-tab-item:last-child,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:last-child{margin-inline-end:1rem}ax-tabs.ax-look-with-line.ax-top ax-tab-item.ax-state-active:after,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item.ax-state-active:after{height:0px;width:100%;background-color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line.ax-top ax-tab-item:not(ax-tabs.ax-look-with-line.ax-top ax-tab-item:first-child,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:not(ax-tabs.ax-look-with-line.ax-top ax-tab-item:first-child,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:first-child){margin-inline-start:1rem}ax-tabs.ax-look-with-line.ax-start:after,ax-tabs.ax-look-with-line.ax-end:after{background-color:rgba(var(--ax-color-border-default));height:100%;width:.125rem}ax-tabs.ax-look-with-line.ax-start .ax-tab-indicator,ax-tabs.ax-look-with-line.ax-end .ax-tab-indicator{height:100%;width:.125rem}ax-tabs.ax-look-with-line.ax-start ax-tab-item,ax-tabs.ax-look-with-line.ax-end ax-tab-item{padding:.25rem .75rem}ax-tabs.ax-look-with-line.ax-top .ax-tab-indicator{top:0}ax-tabs.ax-look-with-line.ax-top:after{top:0}ax-tabs.ax-look-with-line.ax-top ax-tab-item{border-top-width:1px;border-color:transparent}ax-tabs.ax-look-with-line.ax-top ax-tab-item:hover{border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-with-line.ax-top ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line.ax-bottom .ax-tab-indicator{bottom:0}ax-tabs.ax-look-with-line.ax-bottom:after{bottom:0}ax-tabs.ax-look-with-line.ax-bottom ax-tab-item{border-color:transparent}ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:hover{border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-with-line.ax-bottom ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line.ax-start .ax-tab-indicator{inset-inline-start:0}ax-tabs.ax-look-with-line.ax-start:after{inset-inline-start:0px}ax-tabs.ax-look-with-line.ax-start ax-tab-item{border-color:transparent}ax-tabs.ax-look-with-line.ax-start ax-tab-item:hover{border-inline-start-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-with-line.ax-start ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line.ax-end .ax-tab-indicator{inset-inline-end:0}ax-tabs.ax-look-with-line.ax-end:after{inset-inline-end:0px}ax-tabs.ax-look-with-line.ax-end ax-tab-item{border-inline-end-width:2px;border-color:transparent}ax-tabs.ax-look-with-line.ax-end ax-tab-item:hover{border-inline-end-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-with-line.ax-end ax-tab-item.ax-state-active{border-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line ax-tab-item:after{position:absolute;z-index:10;content:\"\"}ax-tabs.ax-look-with-line:after{position:absolute;content:\"\"}ax-tabs.ax-look-classic.ax-top,ax-tabs.ax-look-classic.ax-bottom{padding-left:1rem;padding-right:1rem}ax-tabs.ax-look-classic.ax-top ax-tab-item:not(ax-tabs.ax-look-classic.ax-top ax-tab-item:first-child,ax-tabs.ax-look-classic.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-classic.ax-bottom ax-tab-item:not(ax-tabs.ax-look-classic.ax-top ax-tab-item:first-child,ax-tabs.ax-look-classic.ax-bottom ax-tab-item:first-child){margin-inline-start:.5rem}ax-tabs.ax-look-classic.ax-top{border-top-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-classic.ax-top ax-tab-item{border-bottom-right-radius:var(--ax-rounded-border-default);border-bottom-left-radius:var(--ax-rounded-border-default);border-top-color:transparent}ax-tabs.ax-look-classic.ax-top ax-tab-item:hover,ax-tabs.ax-look-classic.ax-top ax-tab-item.ax-state-active{border-top-color:transparent}ax-tabs.ax-look-classic.ax-top ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-top ax-tab-item.ax-state-active:after{top:-1px;inset-inline-start:0px;height:1px;width:100%}ax-tabs.ax-look-classic.ax-bottom{border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-classic.ax-bottom ax-tab-item{border-top-left-radius:var(--ax-rounded-border-default);border-top-right-radius:var(--ax-rounded-border-default);border-bottom-color:transparent}ax-tabs.ax-look-classic.ax-bottom ax-tab-item:hover,ax-tabs.ax-look-classic.ax-bottom ax-tab-item.ax-state-active{border-bottom-color:transparent}ax-tabs.ax-look-classic.ax-bottom ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-bottom ax-tab-item.ax-state-active:after{bottom:-1px;inset-inline-start:0px;height:1px;width:100%}ax-tabs.ax-look-classic.ax-start,ax-tabs.ax-look-classic.ax-end{padding-top:.5rem;padding-bottom:.5rem}ax-tabs.ax-look-classic.ax-start ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-start ax-tab-item.ax-state-active:after,ax-tabs.ax-look-classic.ax-end ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-end ax-tab-item.ax-state-active:after{top:0;height:100%;width:1px}ax-tabs.ax-look-classic.ax-start{border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-classic.ax-start ax-tab-item{border-start-start-radius:var(--ax-rounded-border-default);border-end-start-radius:var(--ax-rounded-border-default);border-inline-end-color:transparent}ax-tabs.ax-look-classic.ax-start ax-tab-item:hover,ax-tabs.ax-look-classic.ax-start ax-tab-item.ax-state-active{border-inline-end-color:transparent}ax-tabs.ax-look-classic.ax-start ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-start ax-tab-item.ax-state-active:after{inset-inline-end:-1px}ax-tabs.ax-look-classic.ax-end{border-inline-start-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-classic.ax-end ax-tab-item{border-start-end-radius:var(--ax-rounded-border-default);border-end-end-radius:var(--ax-rounded-border-default);border-inline-start-color:transparent}ax-tabs.ax-look-classic.ax-end ax-tab-item:hover,ax-tabs.ax-look-classic.ax-end ax-tab-item.ax-state-active{border-inline-start-color:transparent}ax-tabs.ax-look-classic.ax-end ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-end ax-tab-item.ax-state-active:after{inset-inline-start:-1px}ax-tabs.ax-look-classic ax-tab-item{border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-on-surface));padding:.5rem .75rem;color:rgba(var(--ax-color-on-surface-fore))}ax-tabs.ax-look-classic ax-tab-item:hover,ax-tabs.ax-look-classic ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-surface));color:rgba(var(--ax-color-surface-fore))}ax-tabs.ax-look-classic ax-tab-item:hover:after,ax-tabs.ax-look-classic ax-tab-item.ax-state-active:after{position:absolute;background-color:rgba(var(--ax-color-surface));content:\"\"}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
163
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.0", type: AXTabsComponent, selector: "ax-tabs", inputs: { look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, location: { classPropertyName: "location", publicName: "location", isSignal: true, isRequired: false, transformFunction: null }, fitParent: { classPropertyName: "fitParent", publicName: "fitParent", isSignal: false, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: false, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onActiveTabChanged: "onActiveTabChanged" }, host: { properties: { "class": "this.__hostClass" } }, queries: [{ propertyName: "_contentTabs", predicate: AXTabItemComponent }], viewQueries: [{ propertyName: "indicator", first: true, predicate: ["indicator"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `<ng-content select="ax-tab-item"></ng-content><span class="ax-tab-indicator" #indicator></span>`, isInline: true, styles: [".ax-dark ax-tabs.ax-look-pills-color ax-tab-item:hover,.ax-dark ax-tabs.ax-look-pills-color ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-fore-tint))}.ax-dark ax-tabs.ax-look-with-line .ax-tab-indicator{background-color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs.ax-look-with-line.ax-top ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs.ax-look-with-line.ax-bottom ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs.ax-look-with-line.ax-start ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs.ax-look-with-line.ax-end ax-tab-item.ax-state-active{border-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs .ax-tab-indicator{background-color:rgba(var(--ax-color-primary-200))}ax-tabs{position:relative;display:flex;width:100%}ax-tabs ax-tab-item{transition:color .3s cubic-bezier(.4,0,.2,1) 0ms;-webkit-transition:color .3s cubic-bezier(.4,0,.2,1) 0ms}ax-tabs ax-tab-item .ax-tab-item-text{white-space:nowrap}ax-tabs.ax-tabs-fit ax-tab-item{flex:1 1 0%}ax-tabs:not(.ax-look-custom) ax-tab-item{position:relative;display:flex;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;line-height:1.25rem}ax-tabs:not(.ax-look-custom) ax-tab-item .ax-tab-item-text{display:inline-flex;flex-wrap:nowrap;padding-left:.5rem;padding-right:.5rem}ax-tabs:not(.ax-look-custom) ax-tab-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-tabs.ax-top,ax-tabs.ax-bottom{flex-direction:row;overflow-x:auto;overflow-y:hidden}ax-tabs.ax-top ax-tab-item,ax-tabs.ax-bottom ax-tab-item{align-items:center;justify-content:center}ax-tabs.ax-start,ax-tabs.ax-end{flex-direction:column;overflow-y:auto;overflow-x:hidden}ax-tabs.ax-start ax-tab-item,ax-tabs.ax-end ax-tab-item{width:100%}ax-tabs.ax-start ax-tab-item:not(ax-tabs.ax-start ax-tab-item:last-child,ax-tabs.ax-end ax-tab-item:last-child),ax-tabs.ax-end ax-tab-item:not(ax-tabs.ax-start ax-tab-item:last-child,ax-tabs.ax-end ax-tab-item:last-child){margin-bottom:.75rem}ax-tabs.ax-start{align-items:flex-start}ax-tabs.ax-end{align-items:flex-end}ax-tabs.ax-look-pills.ax-top ax-tab-item:not(ax-tabs.ax-look-pills.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills.ax-bottom ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-pills.ax-bottom ax-tab-item:not(ax-tabs.ax-look-pills.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills.ax-bottom ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-pills-color.ax-top ax-tab-item:not(ax-tabs.ax-look-pills.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills.ax-bottom ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:not(ax-tabs.ax-look-pills.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills.ax-bottom ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:first-child){margin-inline-start:.75rem}ax-tabs.ax-look-default{border-radius:var(--ax-rounded-border-default);background-color:rgba(var(--ax-color-on-surface));padding:.25rem}ax-tabs.ax-look-default.ax-top ax-tab-item:not(ax-tabs.ax-look-default.ax-top ax-tab-item:first-child,ax-tabs.ax-look-default.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-default.ax-bottom ax-tab-item:not(ax-tabs.ax-look-default.ax-top ax-tab-item:first-child,ax-tabs.ax-look-default.ax-bottom ax-tab-item:first-child){margin-inline-start:.5rem}ax-tabs.ax-look-default ax-tab-item{border-radius:var(--ax-rounded-border-default);padding:.5rem .75rem}ax-tabs.ax-look-default ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-surface));color:rgba(var(--ax-color-surface-fore));--ax-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--ax-shadow-colored: 0 1px 3px 0 var(--ax-shadow-color), 0 1px 2px -1px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow)}ax-tabs.ax-look-pills ax-tab-item{border-radius:var(--ax-rounded-border-default);padding:.5rem .75rem}ax-tabs.ax-look-pills ax-tab-item:hover,ax-tabs.ax-look-pills ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-on-surface));color:rgba(var(--ax-color-on-surface-fore))}ax-tabs.ax-look-pills-color ax-tab-item{border-radius:var(--ax-rounded-border-default);padding:.5rem .75rem}ax-tabs.ax-look-pills-color ax-tab-item:hover,ax-tabs.ax-look-pills-color ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}ax-tabs.ax-look-with-line .ax-tab-indicator{position:absolute;background-color:rgba(var(--ax-color-primary-500));z-index:1}ax-tabs.ax-look-with-line.ax-top:after,ax-tabs.ax-look-with-line.ax-bottom:after{background-color:rgba(var(--ax-color-border-default));height:1px;width:100%}ax-tabs.ax-look-with-line.ax-top .ax-tab-indicator,ax-tabs.ax-look-with-line.ax-bottom .ax-tab-indicator{height:3px;width:0;transition:.3s cubic-bezier(.4,0,.2,1) 0ms;transition-property:width,left}ax-tabs.ax-look-with-line.ax-top ax-tab-item,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item{padding:.75rem .25rem}ax-tabs.ax-look-with-line.ax-top ax-tab-item:first-child,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:first-child{margin-inline-start:1rem}ax-tabs.ax-look-with-line.ax-top ax-tab-item:last-child,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:last-child{margin-inline-end:1rem}ax-tabs.ax-look-with-line.ax-top ax-tab-item.ax-state-active:after,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item.ax-state-active:after{height:0px;width:100%;background-color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line.ax-top ax-tab-item:not(ax-tabs.ax-look-with-line.ax-top ax-tab-item:first-child,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:not(ax-tabs.ax-look-with-line.ax-top ax-tab-item:first-child,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:first-child){margin-inline-start:1rem}ax-tabs.ax-look-with-line.ax-start:after,ax-tabs.ax-look-with-line.ax-end:after{background-color:rgba(var(--ax-color-border-default));height:100%;width:.125rem}ax-tabs.ax-look-with-line.ax-start .ax-tab-indicator,ax-tabs.ax-look-with-line.ax-end .ax-tab-indicator{height:0;width:.125rem;transition:.3s cubic-bezier(.4,0,.2,1) 0ms;transition-property:height,top}ax-tabs.ax-look-with-line.ax-start ax-tab-item,ax-tabs.ax-look-with-line.ax-end ax-tab-item{padding:.25rem .75rem}ax-tabs.ax-look-with-line.ax-top .ax-tab-indicator{top:0}ax-tabs.ax-look-with-line.ax-top:after{top:0}ax-tabs.ax-look-with-line.ax-top ax-tab-item{border-top-width:1px;border-color:transparent}ax-tabs.ax-look-with-line.ax-top ax-tab-item:hover{border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-with-line.ax-top ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line.ax-bottom .ax-tab-indicator{bottom:0}ax-tabs.ax-look-with-line.ax-bottom:after{bottom:0}ax-tabs.ax-look-with-line.ax-bottom ax-tab-item{border-color:transparent}ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:hover{border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-with-line.ax-bottom ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line.ax-start .ax-tab-indicator{inset-inline-start:0}ax-tabs.ax-look-with-line.ax-start:after{inset-inline-start:0px}ax-tabs.ax-look-with-line.ax-start ax-tab-item{border-color:transparent}ax-tabs.ax-look-with-line.ax-start ax-tab-item:hover{border-inline-start-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-with-line.ax-start ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line.ax-end .ax-tab-indicator{inset-inline-end:0}ax-tabs.ax-look-with-line.ax-end:after{inset-inline-end:0px}ax-tabs.ax-look-with-line.ax-end ax-tab-item{border-inline-end-width:2px;border-color:transparent}ax-tabs.ax-look-with-line.ax-end ax-tab-item:hover{border-inline-end-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-with-line.ax-end ax-tab-item.ax-state-active{border-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line ax-tab-item:after{position:absolute;z-index:10;content:\"\"}ax-tabs.ax-look-with-line:after{position:absolute;content:\"\"}ax-tabs.ax-look-classic.ax-top,ax-tabs.ax-look-classic.ax-bottom{padding-left:1rem;padding-right:1rem}ax-tabs.ax-look-classic.ax-top ax-tab-item:not(ax-tabs.ax-look-classic.ax-top ax-tab-item:first-child,ax-tabs.ax-look-classic.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-classic.ax-bottom ax-tab-item:not(ax-tabs.ax-look-classic.ax-top ax-tab-item:first-child,ax-tabs.ax-look-classic.ax-bottom ax-tab-item:first-child){margin-inline-start:.5rem}ax-tabs.ax-look-classic.ax-top{border-top-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-classic.ax-top ax-tab-item{border-bottom-right-radius:var(--ax-rounded-border-default);border-bottom-left-radius:var(--ax-rounded-border-default);border-top-color:transparent}ax-tabs.ax-look-classic.ax-top ax-tab-item:hover,ax-tabs.ax-look-classic.ax-top ax-tab-item.ax-state-active{border-top-color:transparent}ax-tabs.ax-look-classic.ax-top ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-top ax-tab-item.ax-state-active:after{top:-1px;inset-inline-start:0px;height:1px;width:100%}ax-tabs.ax-look-classic.ax-bottom{border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-classic.ax-bottom ax-tab-item{border-top-left-radius:var(--ax-rounded-border-default);border-top-right-radius:var(--ax-rounded-border-default);border-bottom-color:transparent}ax-tabs.ax-look-classic.ax-bottom ax-tab-item:hover,ax-tabs.ax-look-classic.ax-bottom ax-tab-item.ax-state-active{border-bottom-color:transparent}ax-tabs.ax-look-classic.ax-bottom ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-bottom ax-tab-item.ax-state-active:after{bottom:-1px;inset-inline-start:0px;height:1px;width:100%}ax-tabs.ax-look-classic.ax-start,ax-tabs.ax-look-classic.ax-end{padding-top:.5rem;padding-bottom:.5rem}ax-tabs.ax-look-classic.ax-start ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-start ax-tab-item.ax-state-active:after,ax-tabs.ax-look-classic.ax-end ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-end ax-tab-item.ax-state-active:after{top:0;height:100%;width:1px}ax-tabs.ax-look-classic.ax-start{border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-classic.ax-start ax-tab-item{border-start-start-radius:var(--ax-rounded-border-default);border-end-start-radius:var(--ax-rounded-border-default);border-inline-end-color:transparent}ax-tabs.ax-look-classic.ax-start ax-tab-item:hover,ax-tabs.ax-look-classic.ax-start ax-tab-item.ax-state-active{border-inline-end-color:transparent}ax-tabs.ax-look-classic.ax-start ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-start ax-tab-item.ax-state-active:after{inset-inline-end:-1px}ax-tabs.ax-look-classic.ax-end{border-inline-start-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-classic.ax-end ax-tab-item{border-start-end-radius:var(--ax-rounded-border-default);border-end-end-radius:var(--ax-rounded-border-default);border-inline-start-color:transparent}ax-tabs.ax-look-classic.ax-end ax-tab-item:hover,ax-tabs.ax-look-classic.ax-end ax-tab-item.ax-state-active{border-inline-start-color:transparent}ax-tabs.ax-look-classic.ax-end ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-end ax-tab-item.ax-state-active:after{inset-inline-start:-1px}ax-tabs.ax-look-classic ax-tab-item{border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-on-surface));padding:.5rem .75rem;color:rgba(var(--ax-color-on-surface-fore))}ax-tabs.ax-look-classic ax-tab-item:hover,ax-tabs.ax-look-classic ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-surface));color:rgba(var(--ax-color-surface-fore))}ax-tabs.ax-look-classic ax-tab-item:hover:after,ax-tabs.ax-look-classic ax-tab-item.ax-state-active:after{position:absolute;background-color:rgba(var(--ax-color-surface));content:\"\"}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
159
164
  }
160
165
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTabsComponent, decorators: [{
161
166
  type: Component,
162
- args: [{ selector: 'ax-tabs', template: `<ng-content select="ax-tab-item"></ng-content><span class="ax-tab-indicator" #indicator></span>`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".ax-dark ax-tabs.ax-look-pills-color ax-tab-item:hover,.ax-dark ax-tabs.ax-look-pills-color ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-fore-tint))}.ax-dark ax-tabs.ax-look-with-line .ax-tab-indicator{background-color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs.ax-look-with-line.ax-top ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs.ax-look-with-line.ax-bottom ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs.ax-look-with-line.ax-start ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs.ax-look-with-line.ax-end ax-tab-item.ax-state-active{border-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs .ax-tab-indicator{background-color:rgba(var(--ax-color-primary-200))}ax-tabs{position:relative;display:flex;width:100%}ax-tabs ax-tab-item{transition:all .3s cubic-bezier(.4,0,.2,1) 0ms;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1) 0ms}ax-tabs ax-tab-item .ax-tab-item-text{white-space:nowrap}ax-tabs.ax-tabs-fit ax-tab-item{flex:1 1 0%}ax-tabs:not(.ax-look-custom) ax-tab-item{position:relative;display:flex;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;line-height:1.25rem}ax-tabs:not(.ax-look-custom) ax-tab-item .ax-tab-item-text{display:inline-flex;flex-wrap:nowrap;padding-left:.5rem;padding-right:.5rem}ax-tabs:not(.ax-look-custom) ax-tab-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-tabs.ax-top,ax-tabs.ax-bottom{flex-direction:row;overflow-x:auto;overflow-y:hidden}ax-tabs.ax-top ax-tab-item,ax-tabs.ax-bottom ax-tab-item{align-items:center;justify-content:center}ax-tabs.ax-start,ax-tabs.ax-end{flex-direction:column;overflow-y:auto;overflow-x:hidden}ax-tabs.ax-start ax-tab-item,ax-tabs.ax-end ax-tab-item{width:100%}ax-tabs.ax-start ax-tab-item:not(ax-tabs.ax-start ax-tab-item:last-child,ax-tabs.ax-end ax-tab-item:last-child),ax-tabs.ax-end ax-tab-item:not(ax-tabs.ax-start ax-tab-item:last-child,ax-tabs.ax-end ax-tab-item:last-child){margin-bottom:.75rem}ax-tabs.ax-start{align-items:flex-start}ax-tabs.ax-end{align-items:flex-end}ax-tabs.ax-look-pills.ax-top ax-tab-item:not(ax-tabs.ax-look-pills.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills.ax-bottom ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-pills.ax-bottom ax-tab-item:not(ax-tabs.ax-look-pills.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills.ax-bottom ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-pills-color.ax-top ax-tab-item:not(ax-tabs.ax-look-pills.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills.ax-bottom ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:not(ax-tabs.ax-look-pills.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills.ax-bottom ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:first-child){margin-inline-start:.75rem}ax-tabs.ax-look-default{border-radius:var(--ax-rounded-border-default);background-color:rgba(var(--ax-color-on-surface));padding:.25rem}ax-tabs.ax-look-default.ax-top ax-tab-item:not(ax-tabs.ax-look-default.ax-top ax-tab-item:first-child,ax-tabs.ax-look-default.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-default.ax-bottom ax-tab-item:not(ax-tabs.ax-look-default.ax-top ax-tab-item:first-child,ax-tabs.ax-look-default.ax-bottom ax-tab-item:first-child){margin-inline-start:.5rem}ax-tabs.ax-look-default ax-tab-item{border-radius:var(--ax-rounded-border-default);padding:.5rem .75rem}ax-tabs.ax-look-default ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-surface));color:rgba(var(--ax-color-surface-fore));--ax-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--ax-shadow-colored: 0 1px 3px 0 var(--ax-shadow-color), 0 1px 2px -1px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow)}ax-tabs.ax-look-pills ax-tab-item{border-radius:var(--ax-rounded-border-default);padding:.5rem .75rem}ax-tabs.ax-look-pills ax-tab-item:hover,ax-tabs.ax-look-pills ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-on-surface));color:rgba(var(--ax-color-on-surface-fore))}ax-tabs.ax-look-pills-color ax-tab-item{border-radius:var(--ax-rounded-border-default);padding:.5rem .75rem}ax-tabs.ax-look-pills-color ax-tab-item:hover,ax-tabs.ax-look-pills-color ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}ax-tabs.ax-look-with-line .ax-tab-indicator{position:absolute;background-color:rgba(var(--ax-color-primary-500));transition:all .3s cubic-bezier(.4,0,.2,1) 0ms;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1) 0ms;z-index:1}ax-tabs.ax-look-with-line.ax-top:after,ax-tabs.ax-look-with-line.ax-bottom:after{background-color:rgba(var(--ax-color-border-default));height:1px;width:100%}ax-tabs.ax-look-with-line.ax-top .ax-tab-indicator,ax-tabs.ax-look-with-line.ax-bottom .ax-tab-indicator{height:3px;width:50%}ax-tabs.ax-look-with-line.ax-top ax-tab-item,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item{padding:.75rem .25rem}ax-tabs.ax-look-with-line.ax-top ax-tab-item:first-child,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:first-child{margin-inline-start:1rem}ax-tabs.ax-look-with-line.ax-top ax-tab-item:last-child,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:last-child{margin-inline-end:1rem}ax-tabs.ax-look-with-line.ax-top ax-tab-item.ax-state-active:after,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item.ax-state-active:after{height:0px;width:100%;background-color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line.ax-top ax-tab-item:not(ax-tabs.ax-look-with-line.ax-top ax-tab-item:first-child,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:not(ax-tabs.ax-look-with-line.ax-top ax-tab-item:first-child,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:first-child){margin-inline-start:1rem}ax-tabs.ax-look-with-line.ax-start:after,ax-tabs.ax-look-with-line.ax-end:after{background-color:rgba(var(--ax-color-border-default));height:100%;width:.125rem}ax-tabs.ax-look-with-line.ax-start .ax-tab-indicator,ax-tabs.ax-look-with-line.ax-end .ax-tab-indicator{height:100%;width:.125rem}ax-tabs.ax-look-with-line.ax-start ax-tab-item,ax-tabs.ax-look-with-line.ax-end ax-tab-item{padding:.25rem .75rem}ax-tabs.ax-look-with-line.ax-top .ax-tab-indicator{top:0}ax-tabs.ax-look-with-line.ax-top:after{top:0}ax-tabs.ax-look-with-line.ax-top ax-tab-item{border-top-width:1px;border-color:transparent}ax-tabs.ax-look-with-line.ax-top ax-tab-item:hover{border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-with-line.ax-top ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line.ax-bottom .ax-tab-indicator{bottom:0}ax-tabs.ax-look-with-line.ax-bottom:after{bottom:0}ax-tabs.ax-look-with-line.ax-bottom ax-tab-item{border-color:transparent}ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:hover{border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-with-line.ax-bottom ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line.ax-start .ax-tab-indicator{inset-inline-start:0}ax-tabs.ax-look-with-line.ax-start:after{inset-inline-start:0px}ax-tabs.ax-look-with-line.ax-start ax-tab-item{border-color:transparent}ax-tabs.ax-look-with-line.ax-start ax-tab-item:hover{border-inline-start-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-with-line.ax-start ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line.ax-end .ax-tab-indicator{inset-inline-end:0}ax-tabs.ax-look-with-line.ax-end:after{inset-inline-end:0px}ax-tabs.ax-look-with-line.ax-end ax-tab-item{border-inline-end-width:2px;border-color:transparent}ax-tabs.ax-look-with-line.ax-end ax-tab-item:hover{border-inline-end-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-with-line.ax-end ax-tab-item.ax-state-active{border-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line ax-tab-item:after{position:absolute;z-index:10;content:\"\"}ax-tabs.ax-look-with-line:after{position:absolute;content:\"\"}ax-tabs.ax-look-classic.ax-top,ax-tabs.ax-look-classic.ax-bottom{padding-left:1rem;padding-right:1rem}ax-tabs.ax-look-classic.ax-top ax-tab-item:not(ax-tabs.ax-look-classic.ax-top ax-tab-item:first-child,ax-tabs.ax-look-classic.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-classic.ax-bottom ax-tab-item:not(ax-tabs.ax-look-classic.ax-top ax-tab-item:first-child,ax-tabs.ax-look-classic.ax-bottom ax-tab-item:first-child){margin-inline-start:.5rem}ax-tabs.ax-look-classic.ax-top{border-top-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-classic.ax-top ax-tab-item{border-bottom-right-radius:var(--ax-rounded-border-default);border-bottom-left-radius:var(--ax-rounded-border-default);border-top-color:transparent}ax-tabs.ax-look-classic.ax-top ax-tab-item:hover,ax-tabs.ax-look-classic.ax-top ax-tab-item.ax-state-active{border-top-color:transparent}ax-tabs.ax-look-classic.ax-top ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-top ax-tab-item.ax-state-active:after{top:-1px;inset-inline-start:0px;height:1px;width:100%}ax-tabs.ax-look-classic.ax-bottom{border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-classic.ax-bottom ax-tab-item{border-top-left-radius:var(--ax-rounded-border-default);border-top-right-radius:var(--ax-rounded-border-default);border-bottom-color:transparent}ax-tabs.ax-look-classic.ax-bottom ax-tab-item:hover,ax-tabs.ax-look-classic.ax-bottom ax-tab-item.ax-state-active{border-bottom-color:transparent}ax-tabs.ax-look-classic.ax-bottom ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-bottom ax-tab-item.ax-state-active:after{bottom:-1px;inset-inline-start:0px;height:1px;width:100%}ax-tabs.ax-look-classic.ax-start,ax-tabs.ax-look-classic.ax-end{padding-top:.5rem;padding-bottom:.5rem}ax-tabs.ax-look-classic.ax-start ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-start ax-tab-item.ax-state-active:after,ax-tabs.ax-look-classic.ax-end ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-end ax-tab-item.ax-state-active:after{top:0;height:100%;width:1px}ax-tabs.ax-look-classic.ax-start{border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-classic.ax-start ax-tab-item{border-start-start-radius:var(--ax-rounded-border-default);border-end-start-radius:var(--ax-rounded-border-default);border-inline-end-color:transparent}ax-tabs.ax-look-classic.ax-start ax-tab-item:hover,ax-tabs.ax-look-classic.ax-start ax-tab-item.ax-state-active{border-inline-end-color:transparent}ax-tabs.ax-look-classic.ax-start ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-start ax-tab-item.ax-state-active:after{inset-inline-end:-1px}ax-tabs.ax-look-classic.ax-end{border-inline-start-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-classic.ax-end ax-tab-item{border-start-end-radius:var(--ax-rounded-border-default);border-end-end-radius:var(--ax-rounded-border-default);border-inline-start-color:transparent}ax-tabs.ax-look-classic.ax-end ax-tab-item:hover,ax-tabs.ax-look-classic.ax-end ax-tab-item.ax-state-active{border-inline-start-color:transparent}ax-tabs.ax-look-classic.ax-end ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-end ax-tab-item.ax-state-active:after{inset-inline-start:-1px}ax-tabs.ax-look-classic ax-tab-item{border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-on-surface));padding:.5rem .75rem;color:rgba(var(--ax-color-on-surface-fore))}ax-tabs.ax-look-classic ax-tab-item:hover,ax-tabs.ax-look-classic ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-surface));color:rgba(var(--ax-color-surface-fore))}ax-tabs.ax-look-classic ax-tab-item:hover:after,ax-tabs.ax-look-classic ax-tab-item.ax-state-active:after{position:absolute;background-color:rgba(var(--ax-color-surface));content:\"\"}\n"] }]
167
+ args: [{ selector: 'ax-tabs', template: `<ng-content select="ax-tab-item"></ng-content><span class="ax-tab-indicator" #indicator></span>`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".ax-dark ax-tabs.ax-look-pills-color ax-tab-item:hover,.ax-dark ax-tabs.ax-look-pills-color ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-fore-tint))}.ax-dark ax-tabs.ax-look-with-line .ax-tab-indicator{background-color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs.ax-look-with-line.ax-top ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs.ax-look-with-line.ax-bottom ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs.ax-look-with-line.ax-start ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs.ax-look-with-line.ax-end ax-tab-item.ax-state-active{border-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-200))}.ax-dark ax-tabs .ax-tab-indicator{background-color:rgba(var(--ax-color-primary-200))}ax-tabs{position:relative;display:flex;width:100%}ax-tabs ax-tab-item{transition:color .3s cubic-bezier(.4,0,.2,1) 0ms;-webkit-transition:color .3s cubic-bezier(.4,0,.2,1) 0ms}ax-tabs ax-tab-item .ax-tab-item-text{white-space:nowrap}ax-tabs.ax-tabs-fit ax-tab-item{flex:1 1 0%}ax-tabs:not(.ax-look-custom) ax-tab-item{position:relative;display:flex;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;line-height:1.25rem}ax-tabs:not(.ax-look-custom) ax-tab-item .ax-tab-item-text{display:inline-flex;flex-wrap:nowrap;padding-left:.5rem;padding-right:.5rem}ax-tabs:not(.ax-look-custom) ax-tab-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-tabs.ax-top,ax-tabs.ax-bottom{flex-direction:row;overflow-x:auto;overflow-y:hidden}ax-tabs.ax-top ax-tab-item,ax-tabs.ax-bottom ax-tab-item{align-items:center;justify-content:center}ax-tabs.ax-start,ax-tabs.ax-end{flex-direction:column;overflow-y:auto;overflow-x:hidden}ax-tabs.ax-start ax-tab-item,ax-tabs.ax-end ax-tab-item{width:100%}ax-tabs.ax-start ax-tab-item:not(ax-tabs.ax-start ax-tab-item:last-child,ax-tabs.ax-end ax-tab-item:last-child),ax-tabs.ax-end ax-tab-item:not(ax-tabs.ax-start ax-tab-item:last-child,ax-tabs.ax-end ax-tab-item:last-child){margin-bottom:.75rem}ax-tabs.ax-start{align-items:flex-start}ax-tabs.ax-end{align-items:flex-end}ax-tabs.ax-look-pills.ax-top ax-tab-item:not(ax-tabs.ax-look-pills.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills.ax-bottom ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-pills.ax-bottom ax-tab-item:not(ax-tabs.ax-look-pills.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills.ax-bottom ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-pills-color.ax-top ax-tab-item:not(ax-tabs.ax-look-pills.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills.ax-bottom ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:not(ax-tabs.ax-look-pills.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills.ax-bottom ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-top ax-tab-item:first-child,ax-tabs.ax-look-pills-color.ax-bottom ax-tab-item:first-child){margin-inline-start:.75rem}ax-tabs.ax-look-default{border-radius:var(--ax-rounded-border-default);background-color:rgba(var(--ax-color-on-surface));padding:.25rem}ax-tabs.ax-look-default.ax-top ax-tab-item:not(ax-tabs.ax-look-default.ax-top ax-tab-item:first-child,ax-tabs.ax-look-default.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-default.ax-bottom ax-tab-item:not(ax-tabs.ax-look-default.ax-top ax-tab-item:first-child,ax-tabs.ax-look-default.ax-bottom ax-tab-item:first-child){margin-inline-start:.5rem}ax-tabs.ax-look-default ax-tab-item{border-radius:var(--ax-rounded-border-default);padding:.5rem .75rem}ax-tabs.ax-look-default ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-surface));color:rgba(var(--ax-color-surface-fore));--ax-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--ax-shadow-colored: 0 1px 3px 0 var(--ax-shadow-color), 0 1px 2px -1px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow)}ax-tabs.ax-look-pills ax-tab-item{border-radius:var(--ax-rounded-border-default);padding:.5rem .75rem}ax-tabs.ax-look-pills ax-tab-item:hover,ax-tabs.ax-look-pills ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-on-surface));color:rgba(var(--ax-color-on-surface-fore))}ax-tabs.ax-look-pills-color ax-tab-item{border-radius:var(--ax-rounded-border-default);padding:.5rem .75rem}ax-tabs.ax-look-pills-color ax-tab-item:hover,ax-tabs.ax-look-pills-color ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}ax-tabs.ax-look-with-line .ax-tab-indicator{position:absolute;background-color:rgba(var(--ax-color-primary-500));z-index:1}ax-tabs.ax-look-with-line.ax-top:after,ax-tabs.ax-look-with-line.ax-bottom:after{background-color:rgba(var(--ax-color-border-default));height:1px;width:100%}ax-tabs.ax-look-with-line.ax-top .ax-tab-indicator,ax-tabs.ax-look-with-line.ax-bottom .ax-tab-indicator{height:3px;width:0;transition:.3s cubic-bezier(.4,0,.2,1) 0ms;transition-property:width,left}ax-tabs.ax-look-with-line.ax-top ax-tab-item,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item{padding:.75rem .25rem}ax-tabs.ax-look-with-line.ax-top ax-tab-item:first-child,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:first-child{margin-inline-start:1rem}ax-tabs.ax-look-with-line.ax-top ax-tab-item:last-child,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:last-child{margin-inline-end:1rem}ax-tabs.ax-look-with-line.ax-top ax-tab-item.ax-state-active:after,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item.ax-state-active:after{height:0px;width:100%;background-color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line.ax-top ax-tab-item:not(ax-tabs.ax-look-with-line.ax-top ax-tab-item:first-child,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:not(ax-tabs.ax-look-with-line.ax-top ax-tab-item:first-child,ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:first-child){margin-inline-start:1rem}ax-tabs.ax-look-with-line.ax-start:after,ax-tabs.ax-look-with-line.ax-end:after{background-color:rgba(var(--ax-color-border-default));height:100%;width:.125rem}ax-tabs.ax-look-with-line.ax-start .ax-tab-indicator,ax-tabs.ax-look-with-line.ax-end .ax-tab-indicator{height:0;width:.125rem;transition:.3s cubic-bezier(.4,0,.2,1) 0ms;transition-property:height,top}ax-tabs.ax-look-with-line.ax-start ax-tab-item,ax-tabs.ax-look-with-line.ax-end ax-tab-item{padding:.25rem .75rem}ax-tabs.ax-look-with-line.ax-top .ax-tab-indicator{top:0}ax-tabs.ax-look-with-line.ax-top:after{top:0}ax-tabs.ax-look-with-line.ax-top ax-tab-item{border-top-width:1px;border-color:transparent}ax-tabs.ax-look-with-line.ax-top ax-tab-item:hover{border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-with-line.ax-top ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line.ax-bottom .ax-tab-indicator{bottom:0}ax-tabs.ax-look-with-line.ax-bottom:after{bottom:0}ax-tabs.ax-look-with-line.ax-bottom ax-tab-item{border-color:transparent}ax-tabs.ax-look-with-line.ax-bottom ax-tab-item:hover{border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-with-line.ax-bottom ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line.ax-start .ax-tab-indicator{inset-inline-start:0}ax-tabs.ax-look-with-line.ax-start:after{inset-inline-start:0px}ax-tabs.ax-look-with-line.ax-start ax-tab-item{border-color:transparent}ax-tabs.ax-look-with-line.ax-start ax-tab-item:hover{border-inline-start-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-with-line.ax-start ax-tab-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line.ax-end .ax-tab-indicator{inset-inline-end:0}ax-tabs.ax-look-with-line.ax-end:after{inset-inline-end:0px}ax-tabs.ax-look-with-line.ax-end ax-tab-item{border-inline-end-width:2px;border-color:transparent}ax-tabs.ax-look-with-line.ax-end ax-tab-item:hover{border-inline-end-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-with-line.ax-end ax-tab-item.ax-state-active{border-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-500))}ax-tabs.ax-look-with-line ax-tab-item:after{position:absolute;z-index:10;content:\"\"}ax-tabs.ax-look-with-line:after{position:absolute;content:\"\"}ax-tabs.ax-look-classic.ax-top,ax-tabs.ax-look-classic.ax-bottom{padding-left:1rem;padding-right:1rem}ax-tabs.ax-look-classic.ax-top ax-tab-item:not(ax-tabs.ax-look-classic.ax-top ax-tab-item:first-child,ax-tabs.ax-look-classic.ax-bottom ax-tab-item:first-child),ax-tabs.ax-look-classic.ax-bottom ax-tab-item:not(ax-tabs.ax-look-classic.ax-top ax-tab-item:first-child,ax-tabs.ax-look-classic.ax-bottom ax-tab-item:first-child){margin-inline-start:.5rem}ax-tabs.ax-look-classic.ax-top{border-top-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-classic.ax-top ax-tab-item{border-bottom-right-radius:var(--ax-rounded-border-default);border-bottom-left-radius:var(--ax-rounded-border-default);border-top-color:transparent}ax-tabs.ax-look-classic.ax-top ax-tab-item:hover,ax-tabs.ax-look-classic.ax-top ax-tab-item.ax-state-active{border-top-color:transparent}ax-tabs.ax-look-classic.ax-top ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-top ax-tab-item.ax-state-active:after{top:-1px;inset-inline-start:0px;height:1px;width:100%}ax-tabs.ax-look-classic.ax-bottom{border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-classic.ax-bottom ax-tab-item{border-top-left-radius:var(--ax-rounded-border-default);border-top-right-radius:var(--ax-rounded-border-default);border-bottom-color:transparent}ax-tabs.ax-look-classic.ax-bottom ax-tab-item:hover,ax-tabs.ax-look-classic.ax-bottom ax-tab-item.ax-state-active{border-bottom-color:transparent}ax-tabs.ax-look-classic.ax-bottom ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-bottom ax-tab-item.ax-state-active:after{bottom:-1px;inset-inline-start:0px;height:1px;width:100%}ax-tabs.ax-look-classic.ax-start,ax-tabs.ax-look-classic.ax-end{padding-top:.5rem;padding-bottom:.5rem}ax-tabs.ax-look-classic.ax-start ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-start ax-tab-item.ax-state-active:after,ax-tabs.ax-look-classic.ax-end ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-end ax-tab-item.ax-state-active:after{top:0;height:100%;width:1px}ax-tabs.ax-look-classic.ax-start{border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-classic.ax-start ax-tab-item{border-start-start-radius:var(--ax-rounded-border-default);border-end-start-radius:var(--ax-rounded-border-default);border-inline-end-color:transparent}ax-tabs.ax-look-classic.ax-start ax-tab-item:hover,ax-tabs.ax-look-classic.ax-start ax-tab-item.ax-state-active{border-inline-end-color:transparent}ax-tabs.ax-look-classic.ax-start ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-start ax-tab-item.ax-state-active:after{inset-inline-end:-1px}ax-tabs.ax-look-classic.ax-end{border-inline-start-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-tabs.ax-look-classic.ax-end ax-tab-item{border-start-end-radius:var(--ax-rounded-border-default);border-end-end-radius:var(--ax-rounded-border-default);border-inline-start-color:transparent}ax-tabs.ax-look-classic.ax-end ax-tab-item:hover,ax-tabs.ax-look-classic.ax-end ax-tab-item.ax-state-active{border-inline-start-color:transparent}ax-tabs.ax-look-classic.ax-end ax-tab-item:hover:after,ax-tabs.ax-look-classic.ax-end ax-tab-item.ax-state-active:after{inset-inline-start:-1px}ax-tabs.ax-look-classic ax-tab-item{border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-on-surface));padding:.5rem .75rem;color:rgba(var(--ax-color-on-surface-fore))}ax-tabs.ax-look-classic ax-tab-item:hover,ax-tabs.ax-look-classic ax-tab-item.ax-state-active{background-color:rgba(var(--ax-color-surface));color:rgba(var(--ax-color-surface-fore))}ax-tabs.ax-look-classic ax-tab-item:hover:after,ax-tabs.ax-look-classic ax-tab-item.ax-state-active:after{position:absolute;background-color:rgba(var(--ax-color-surface));content:\"\"}\n"] }]
163
168
  }], propDecorators: { _contentTabs: [{
164
169
  type: ContentChildren,
165
170
  args: [AXTabItemComponent]
@@ -175,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
175
180
  type: HostBinding,
176
181
  args: ['class']
177
182
  }] } });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL3RhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUVOLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUcxRDs7O0dBR0c7QUFRSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxlQUFlO0lBUHBEOztRQWNFOzs7V0FHRztRQUNILFNBQUksR0FBRyxLQUFLLENBQVksU0FBUyxDQUFDLENBQUM7UUFFbkM7OztXQUdHO1FBQ0gsYUFBUSxHQUFHLEtBQUssQ0FBZ0IsUUFBUSxDQUFDLENBQUM7UUFFMUM7OztXQUdHO1FBRUgsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQjs7O1dBR0c7UUFFSCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBUVQsY0FBUyxHQUFHLFNBQVMsQ0FBOEIsV0FBVyxDQUFDLENBQUM7UUFFeEUsY0FBYztRQUNOLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQW1CM0IsY0FBUyxHQUFHLE1BQU0sQ0FBcUIsSUFBSSxDQUFDLENBQUM7UUFFckQsZ0JBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxRQUFR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QUFHLEtBQUssQ0FBQztnQkFDeEMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLGNBQWMsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDOzhHQS9LVSxlQUFlO2tHQUFmLGVBQWUsazBCQUlULGtCQUFrQiw0S0FUekIsaUdBQWlHOzsyRkFLaEcsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxTQUFTLFlBQ1QsaUdBQWlHLG1CQUUxRix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzhCQU83QixZQUFZO3NCQURuQixlQUFlO3VCQUFDLGtCQUFrQjtnQkFvQm5DLFNBQVM7c0JBRFIsS0FBSztnQkFRTixRQUFRO3NCQURQLEtBQUs7Z0JBT04sT0FBTztzQkFETixLQUFLO2dCQXVDTixrQkFBa0I7c0JBRGpCLE1BQU07Z0JBS0ssV0FBVztzQkFEdEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgaW5wdXQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgc2lnbmFsLFxuICB2aWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVGFiQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vdGFiLWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFYVGFiSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdGFiLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEFYVGFiTG9jYXRpb24sIEFYVGFiTG9vaywgQVhUYWJTdHJpcENoYW5nZWRFdmVudCB9IGZyb20gJy4vdGFicy5jbGFzcyc7XG5cbi8qKlxuICogQGNhdGVnb3J5XG4gKiBBIGNvbXBvbmVudCB0aGF0IHNlcnZlcyBhcyBhIGNvbnRhaW5lciBmb3IgdGFiIGl0ZW1zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC10YWJzJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudCBzZWxlY3Q9XCJheC10YWItaXRlbVwiPjwvbmctY29udGVudD48c3BhbiBjbGFzcz1cImF4LXRhYi1pbmRpY2F0b3JcIiAjaW5kaWNhdG9yPjwvc3Bhbj5gLFxuICBzdHlsZVVybDogJy4vdGFicy5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWFRhYnNDb21wb25lbnQgZXh0ZW5kcyBNWEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBDb250ZW50Q2hpbGRyZW4oQVhUYWJJdGVtQ29tcG9uZW50KVxuICBwcml2YXRlIF9jb250ZW50VGFicyE6IFF1ZXJ5TGlzdDxBWFRhYkl0ZW1Db21wb25lbnQ+O1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhcHBlYXJhbmNlIHN0eWxlIG9mIHRoZSB0YWIgY29tcG9uZW50LlxuICAgKiAgQGRlZmF1bHRWYWx1ZSAnZGVmYXVsdCdcbiAgICovXG4gIGxvb2sgPSBpbnB1dDxBWFRhYkxvb2s+KCdkZWZhdWx0Jyk7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgcG9zaXRpb24gb2YgdGhlIHRhYiBjb21wb25lbnQuXG4gICAqIEBkZWZhdWx0VmFsdWUgJ2JvdHRvbSdcbiAgICovXG4gIGxvY2F0aW9uID0gaW5wdXQ8QVhUYWJMb2NhdGlvbj4oJ2JvdHRvbScpO1xuXG4gIC8qKlxuICAgKiBAZGVmYXVsdFZhbHVlICdmYWxzZSdcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBzaG91bGQgcmVzaXplIHRvIGZpdCBpdHMgcGFyZW50IGNvbnRhaW5lci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGZpdFBhcmVudCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAZGVmYXVsdFZhbHVlICdmYWxzZSdcbiAgICogQXBwbGllcyBhIG1pbmltdW0gd2lkdGggY29uc3RyYWludCB0byB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgbWluV2lkdGggPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIGBBWFRhYkNvbnRlbnREaXJlY3RpdmVgIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFiLlxuICAgKi9cbiAgQElucHV0KClcbiAgY29udGVudCE6IEFYVGFiQ29udGVudERpcmVjdGl2ZTtcblxuICBwcml2YXRlIGluZGljYXRvciA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxTcGFuRWxlbWVudD4+KCdpbmRpY2F0b3InKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xuXG4gIGdldCBpdGVtcygpOiBBWFRhYkl0ZW1Db21wb25lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRUYWJzLnRvQXJyYXkoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX3NlbGVjdGVkSXRlbSE6IEFYVGFiSXRlbUNvbXBvbmVudDtcblxuICAvKiogQGlnbm9yZSAqL1xuICBnZXQgc2VsZWN0ZWRJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmluZGV4T2YodGhpcy5fc2VsZWN0ZWRJdGVtKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIGdldCBzZWxlY3RlZEl0ZW0oKTogQVhUYWJJdGVtQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJdGVtO1xuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmVUYWIgPSBzaWduYWw8QVhUYWJJdGVtQ29tcG9uZW50PihudWxsKTtcblxuICAjbG9va0NoYW5nZSA9IGVmZmVjdCgoKSA9PiB7XG4gICAgdGhpcy5sb29rKCk7XG4gICAgdGhpcy5sb2NhdGlvbigpO1xuICAgIGlmICh0aGlzLmFjdGl2ZVRhYigpKSB7XG4gICAgICB0aGlzLnNldEluZGljYXRvclBvc2l0aW9uKHRoaXMuYWN0aXZlVGFiKCkpO1xuICAgIH1cbiAgfSk7XG5cbiAgLyoqXG4gICAqIEBldmVudFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIG9uQWN0aXZlVGFiQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVGFiU3RyaXBDaGFuZ2VkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFRhYlN0cmlwQ2hhbmdlZEV2ZW50PigpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY3NzQ2xhc3Nlczogc3RyaW5nW10gPSBbXTtcbiAgICBjc3NDbGFzc2VzLnB1c2goYGF4LWxvb2stJHt0aGlzLmxvb2soKX1gKTtcbiAgICBjc3NDbGFzc2VzLnB1c2goYGF4LSR7dGhpcy5sb2NhdGlvbigpfWApO1xuICAgIGlmICh0aGlzLmZpdFBhcmVudCkgY3NzQ2xhc3Nlcy5wdXNoKGBheC10YWJzLWZpdGApO1xuICAgIHJldHVybiBjc3NDbGFzc2VzO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuX2NvbnRlbnRUYWJzLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX2JpbmRPbkNsaWNrRXZlbnQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLl9iaW5kT25DbGlja0V2ZW50KCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9iaW5kT25DbGlja0V2ZW50KCkge1xuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5pdGVtcy5maW5kKChjKSA9PiBjLmFjdGl2ZSkgfHwgdGhpcy5pdGVtc1swXTtcbiAgICB0aGlzLnNlbGVjdChzZWxlY3RlZCk7XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBpZiAoIWMub25DbGljay5sZW5ndGgpIHtcbiAgICAgICAgYy5vbkNsaWNrLnN1YnNjcmliZSgodCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdC5uYXRpdmVFdmVudD8uaXNUcnVzdGVkO1xuICAgICAgICAgIHRoaXMuc2VsZWN0KGMpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZXMgdGhlIHNwZWNpZmllZCB0YWIgYW5kIHVwZGF0ZXMgdGhlIGNvbnRlbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyIHwgQVhUYWJJdGVtQ29tcG9uZW50fVxuICAgKi9cbiAgc2VsZWN0KHRhYjogbnVtYmVyIHwgQVhUYWJJdGVtQ29tcG9uZW50KSB7XG4gICAgY29uc3QgdGFiSXRlbTogQVhUYWJJdGVtQ29tcG9uZW50ID0gdHlwZW9mIHRhYiA9PSAnbnVtYmVyJyA/IHRoaXMuaXRlbXNbdGFiXSA6IHRhYjtcbiAgICB0aGlzLmFjdGl2ZVRhYi5zZXQodGFiSXRlbSk7XG4gICAgLy9cbiAgICBpZiAoIXRhYiB8fCB0aGlzLnNlbGVjdGVkSXRlbSA9PSB0YWJJdGVtKSByZXR1cm47XG4gICAgdGhpcy5fc2VsZWN0ZWRJdGVtID0gdGFiSXRlbTtcbiAgICAvL1xuICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoYykgPT4gKGMuYWN0aXZlID0gZmFsc2UpKTtcbiAgICB0YWJJdGVtLmFjdGl2ZSA9IHRydWU7XG4gICAgaWYgKHRoaXMuY29udGVudCkge1xuICAgICAgdGhpcy5jb250ZW50LnBvcnRhbCA9IHRhYkl0ZW0udGVtcGxhdGU7XG4gICAgfVxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMub25BY3RpdmVUYWJDaGFuZ2VkLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRoaXMuX2lzVXNlckludGVyYWN0aW9uLFxuICAgICAgdGFiOiB0YWJJdGVtLFxuICAgICAgaW5kZXg6IHRoaXMuc2VsZWN0ZWRJbmRleCxcbiAgICB9KTtcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbmRpY2F0b3JQb3NpdGlvbih0YWJJdGVtOiBBWFRhYkl0ZW1Db21wb25lbnQpIHtcbiAgICBjb25zdCBpbmRpY2F0b3JTdHlsZSA9IHRoaXMuaW5kaWNhdG9yKCkubmF0aXZlRWxlbWVudC5zdHlsZTtcbiAgICBpZiAodGhpcy5sb29rKCkgPT09ICd3aXRoLWxpbmUnKSB7XG4gICAgICBpbmRpY2F0b3JTdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgIGlmICh0aGlzLmxvY2F0aW9uKCkgPT09ICd0b3AnIHx8IHRoaXMubG9jYXRpb24oKSA9PT0gJ2JvdHRvbScpIHtcbiAgICAgICAgaW5kaWNhdG9yU3R5bGUud2lkdGggPSBgJHt0YWJJdGVtLmdldFN0YXRzKCkud2lkdGh9cHhgO1xuICAgICAgICBpbmRpY2F0b3JTdHlsZS5oZWlnaHQgPSBgM3B4YDtcbiAgICAgICAgaW5kaWNhdG9yU3R5bGUuaW5zZXRJbmxpbmVTdGFydCA9IGAke3RhYkl0ZW0uZ2V0U3RhdHMoKS5sZWZ0fXB4YDtcbiAgICAgICAgaW5kaWNhdG9yU3R5bGUuaW5zZXRJbmxpbmVFbmQgPSBgdW5zZXRgO1xuICAgICAgICBpZiAodGhpcy5sb2NhdGlvbigpID09PSAndG9wJykge1xuICAgICAgICAgIGluZGljYXRvclN0eWxlLnRvcCA9IGAwcHhgO1xuICAgICAgICAgIGluZGljYXRvclN0eWxlLmJvdHRvbSA9IGB1bnNldGA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ2JvdHRvbScpIHtcbiAgICAgICAgICBpbmRpY2F0b3JTdHlsZS50b3AgPSBgdW5zZXRgO1xuICAgICAgICAgIGluZGljYXRvclN0eWxlLmJvdHRvbSA9IGAwcHhgO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5sb2NhdGlvbigpID09PSAnc3RhcnQnIHx8IHRoaXMubG9jYXRpb24oKSA9PT0gJ2VuZCcpIHtcbiAgICAgICAgaW5kaWNhdG9yU3R5bGUud2lkdGggPSBgIDAuMTI1cmVtYDtcbiAgICAgICAgaW5kaWNhdG9yU3R5bGUuaGVpZ2h0ID0gYCR7dGFiSXRlbS5nZXRTdGF0cygpLmhlaWdodH1weGA7XG4gICAgICAgIGluZGljYXRvclN0eWxlLnRvcCA9IGAke3RhYkl0ZW0uZ2V0U3RhdHMoKS50b3B9cHhgO1xuICAgICAgICBpbmRpY2F0b3JTdHlsZS5ib3R0b20gPSBgdW5zZXRgO1xuICAgICAgICBpZiAodGhpcy5sb2NhdGlvbigpID09PSAnc3RhcnQnKSB7XG4gICAgICAgICAgaW5kaWNhdG9yU3R5bGUuaW5zZXRJbmxpbmVTdGFydCA9IGAwcHhgO1xuICAgICAgICAgIGluZGljYXRvclN0eWxlLmluc2V0SW5saW5lRW5kID0gYHVuc2V0YDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5sb2NhdGlvbigpID09PSAnZW5kJykge1xuICAgICAgICAgIGluZGljYXRvclN0eWxlLmluc2V0SW5saW5lU3RhcnQgPSBgdW5zZXRgO1xuICAgICAgICAgIGluZGljYXRvclN0eWxlLmluc2V0SW5saW5lRW5kID0gYDBweGA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaW5kaWNhdG9yU3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL3RhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUVOLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRzFEOzs7R0FHRztBQVFILE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQWU7SUFQcEQ7O1FBY0U7OztXQUdHO1FBQ0gsU0FBSSxHQUFHLEtBQUssQ0FBWSxTQUFTLENBQUMsQ0FBQztRQUVuQzs7O1dBR0c7UUFDSCxhQUFRLEdBQUcsS0FBSyxDQUFnQixRQUFRLENBQUMsQ0FBQztRQUUxQzs7O1dBR0c7UUFFSCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCOzs7V0FHRztRQUVILGFBQVEsR0FBRyxLQUFLLENBQUM7UUFRVCxjQUFTLEdBQUcsU0FBUyxDQUE4QixXQUFXLENBQUMsQ0FBQztRQUVoRSxTQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlCLGNBQWM7UUFDTix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFtQjNCLGNBQVMsR0FBRyxNQUFNLENBQXFCLElBQUksQ0FBQyxDQUFDO1FBRXJELGVBQVUsR0FBRyxNQUFNLENBQUMs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QUFJLENBQUMsUUFBUSxFQUFFLEtBQUssT0FBTyxFQUFFLENBQUM7b0JBQ2hDLGNBQWMsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7b0JBQ3hDLGNBQWMsQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO2dCQUMxQyxDQUFDO2dCQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEtBQUssRUFBRSxDQUFDO29CQUM5QixjQUFjLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDO29CQUMxQyxjQUFjLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztnQkFDeEMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLGNBQWMsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDOzhHQXJMVSxlQUFlO2tHQUFmLGVBQWUsazBCQUlULGtCQUFrQiw0S0FUekIsaUdBQWlHOzsyRkFLaEcsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxTQUFTLFlBQ1QsaUdBQWlHLG1CQUUxRix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzhCQU83QixZQUFZO3NCQURuQixlQUFlO3VCQUFDLGtCQUFrQjtnQkFvQm5DLFNBQVM7c0JBRFIsS0FBSztnQkFRTixRQUFRO3NCQURQLEtBQUs7Z0JBT04sT0FBTztzQkFETixLQUFLO2dCQXVDTixrQkFBa0I7c0JBRGpCLE1BQU07Z0JBS0ssV0FBVztzQkFEdEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFRhYkNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL3RhYi1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBWFRhYkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3RhYi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFRhYkxvY2F0aW9uLCBBWFRhYkxvb2ssIEFYVGFiU3RyaXBDaGFuZ2VkRXZlbnQgfSBmcm9tICcuL3RhYnMuY2xhc3MnO1xuXG4vKipcbiAqIEBjYXRlZ29yeVxuICogQSBjb21wb25lbnQgdGhhdCBzZXJ2ZXMgYXMgYSBjb250YWluZXIgZm9yIHRhYiBpdGVtcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtdGFicycsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdGFiLWl0ZW1cIj48L25nLWNvbnRlbnQ+PHNwYW4gY2xhc3M9XCJheC10YWItaW5kaWNhdG9yXCIgI2luZGljYXRvcj48L3NwYW4+YCxcbiAgc3R5bGVVcmw6ICcuL3RhYnMuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhUYWJzQ29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBAQ29udGVudENoaWxkcmVuKEFYVGFiSXRlbUNvbXBvbmVudClcbiAgcHJpdmF0ZSBfY29udGVudFRhYnMhOiBRdWVyeUxpc3Q8QVhUYWJJdGVtQ29tcG9uZW50PjtcblxuICAvKipcbiAgICogU2V0cyB0aGUgYXBwZWFyYW5jZSBzdHlsZSBvZiB0aGUgdGFiIGNvbXBvbmVudC5cbiAgICogIEBkZWZhdWx0VmFsdWUgJ2RlZmF1bHQnXG4gICAqL1xuICBsb29rID0gaW5wdXQ8QVhUYWJMb29rPignZGVmYXVsdCcpO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSB0YWIgY29tcG9uZW50LlxuICAgKiBAZGVmYXVsdFZhbHVlICdib3R0b20nXG4gICAqL1xuICBsb2NhdGlvbiA9IGlucHV0PEFYVGFiTG9jYXRpb24+KCdib3R0b20nKTtcblxuICAvKipcbiAgICogQGRlZmF1bHRWYWx1ZSAnZmFsc2UnXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBjb21wb25lbnQgc2hvdWxkIHJlc2l6ZSB0byBmaXQgaXRzIHBhcmVudCBjb250YWluZXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBmaXRQYXJlbnQgPSBmYWxzZTtcblxuICAvKipcbiAgICogQGRlZmF1bHRWYWx1ZSAnZmFsc2UnXG4gICAqIEFwcGxpZXMgYSBtaW5pbXVtIHdpZHRoIGNvbnN0cmFpbnQgdG8gdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIG1pbldpZHRoID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBgQVhUYWJDb250ZW50RGlyZWN0aXZlYCBhc3NvY2lhdGVkIHdpdGggdGhlIHRhYi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGNvbnRlbnQhOiBBWFRhYkNvbnRlbnREaXJlY3RpdmU7XG5cbiAgcHJpdmF0ZSBpbmRpY2F0b3IgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MU3BhbkVsZW1lbnQ+PignaW5kaWNhdG9yJyk7XG5cbiAgcHJpdmF0ZSB6b25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfaXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcblxuICBnZXQgaXRlbXMoKTogQVhUYWJJdGVtQ29tcG9uZW50W10ge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50VGFicy50b0FycmF5KCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9zZWxlY3RlZEl0ZW0hOiBBWFRhYkl0ZW1Db21wb25lbnQ7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgZ2V0IHNlbGVjdGVkSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5pbmRleE9mKHRoaXMuX3NlbGVjdGVkSXRlbSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBnZXQgc2VsZWN0ZWRJdGVtKCk6IEFYVGFiSXRlbUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbTtcbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZlVGFiID0gc2lnbmFsPEFYVGFiSXRlbUNvbXBvbmVudD4obnVsbCk7XG5cbiAgI3RhYkNoYW5nZSA9IGVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuYWN0aXZlVGFiKCkgJiYgdGhpcy5sb29rKCkgPT09ICd3aXRoLWxpbmUnKSB7XG4gICAgICB0aGlzLnNldEluZGljYXRvclBvc2l0aW9uKHRoaXMuYWN0aXZlVGFiKCkpO1xuICAgIH1cbiAgfSk7XG5cbiAgLyoqXG4gICAqIEBldmVudFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIG9uQWN0aXZlVGFiQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVGFiU3RyaXBDaGFuZ2VkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFRhYlN0cmlwQ2hhbmdlZEV2ZW50PigpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY3NzQ2xhc3Nlczogc3RyaW5nW10gPSBbXTtcbiAgICBjc3NDbGFzc2VzLnB1c2goYGF4LWxvb2stJHt0aGlzLmxvb2soKX1gKTtcbiAgICBjc3NDbGFzc2VzLnB1c2goYGF4LSR7dGhpcy5sb2NhdGlvbigpfWApO1xuICAgIGlmICh0aGlzLmZpdFBhcmVudCkgY3NzQ2xhc3Nlcy5wdXNoKGBheC10YWJzLWZpdGApO1xuICAgIHJldHVybiBjc3NDbGFzc2VzO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuX2NvbnRlbnRUYWJzLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX2JpbmRPbkNsaWNrRXZlbnQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLl9iaW5kT25DbGlja0V2ZW50KCk7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuaW5kaWNhdG9yKCkubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCd0cmFuc2l0aW9uZW5kJywgKCkgPT4ge1xuICAgICAgICB0aGlzLnNldEluZGljYXRvclBvc2l0aW9uKHRoaXMuYWN0aXZlVGFiKCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9iaW5kT25DbGlja0V2ZW50KCkge1xuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5pdGVtcy5maW5kKChjKSA9PiBjLmFjdGl2ZSkgfHwgdGhpcy5pdGVtc1swXTtcbiAgICB0aGlzLnNlbGVjdChzZWxlY3RlZCk7XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBpZiAoIWMub25DbGljay5sZW5ndGgpIHtcbiAgICAgICAgYy5vbkNsaWNrLnN1YnNjcmliZSgodCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdC5uYXRpdmVFdmVudD8uaXNUcnVzdGVkO1xuICAgICAgICAgIHRoaXMuc2VsZWN0KGMpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZXMgdGhlIHNwZWNpZmllZCB0YWIgYW5kIHVwZGF0ZXMgdGhlIGNvbnRlbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyIHwgQVhUYWJJdGVtQ29tcG9uZW50fVxuICAgKi9cbiAgc2VsZWN0KHRhYjogbnVtYmVyIHwgQVhUYWJJdGVtQ29tcG9uZW50KSB7XG4gICAgY29uc3QgdGFiSXRlbTogQVhUYWJJdGVtQ29tcG9uZW50ID0gdHlwZW9mIHRhYiA9PSAnbnVtYmVyJyA/IHRoaXMuaXRlbXNbdGFiXSA6IHRhYjtcbiAgICB0aGlzLmFjdGl2ZVRhYi5zZXQodGFiSXRlbSk7XG4gICAgLy9cbiAgICBpZiAoIXRhYiB8fCB0aGlzLnNlbGVjdGVkSXRlbSA9PSB0YWJJdGVtKSByZXR1cm47XG4gICAgdGhpcy5fc2VsZWN0ZWRJdGVtID0gdGFiSXRlbTtcbiAgICAvL1xuICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoYykgPT4gKGMuYWN0aXZlID0gZmFsc2UpKTtcbiAgICB0YWJJdGVtLmFjdGl2ZSA9IHRydWU7XG4gICAgaWYgKHRoaXMuY29udGVudCkge1xuICAgICAgdGhpcy5jb250ZW50LnBvcnRhbCA9IHRhYkl0ZW0udGVtcGxhdGU7XG4gICAgfVxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMub25BY3RpdmVUYWJDaGFuZ2VkLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRoaXMuX2lzVXNlckludGVyYWN0aW9uLFxuICAgICAgdGFiOiB0YWJJdGVtLFxuICAgICAgaW5kZXg6IHRoaXMuc2VsZWN0ZWRJbmRleCxcbiAgICB9KTtcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbmRpY2F0b3JQb3NpdGlvbih0YWJJdGVtOiBBWFRhYkl0ZW1Db21wb25lbnQpIHtcbiAgICBjb25zdCBpbmRpY2F0b3JTdHlsZSA9IHRoaXMuaW5kaWNhdG9yKCkubmF0aXZlRWxlbWVudC5zdHlsZTtcbiAgICBjb25zdCBpdGVtU3RhdHMgPSB0YWJJdGVtLmdldFN0YXRzKCk7XG4gICAgaWYgKHRoaXMubG9vaygpID09PSAnd2l0aC1saW5lJykge1xuICAgICAgaW5kaWNhdG9yU3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG4gICAgICBpZiAodGhpcy5sb2NhdGlvbigpID09PSAndG9wJyB8fCB0aGlzLmxvY2F0aW9uKCkgPT09ICdib3R0b20nKSB7XG4gICAgICAgIGluZGljYXRvclN0eWxlLndpZHRoID0gYCR7aXRlbVN0YXRzLndpZHRofXB4YDtcbiAgICAgICAgaW5kaWNhdG9yU3R5bGUuaGVpZ2h0ID0gYDNweGA7XG4gICAgICAgIGluZGljYXRvclN0eWxlLmluc2V0SW5saW5lU3RhcnQgPSBgJHtpdGVtU3RhdHMubGVmdH1weGA7XG4gICAgICAgIGluZGljYXRvclN0eWxlLmluc2V0SW5saW5lRW5kID0gYHVuc2V0YDtcbiAgICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ3RvcCcpIHtcbiAgICAgICAgICBpbmRpY2F0b3JTdHlsZS50b3AgPSBgMHB4YDtcbiAgICAgICAgICBpbmRpY2F0b3JTdHlsZS5ib3R0b20gPSBgdW5zZXRgO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmxvY2F0aW9uKCkgPT09ICdib3R0b20nKSB7XG4gICAgICAgICAgaW5kaWNhdG9yU3R5bGUudG9wID0gYHVuc2V0YDtcbiAgICAgICAgICBpbmRpY2F0b3JTdHlsZS5ib3R0b20gPSBgMHB4YDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ3N0YXJ0JyB8fCB0aGlzLmxvY2F0aW9uKCkgPT09ICdlbmQnKSB7XG4gICAgICAgIGluZGljYXRvclN0eWxlLndpZHRoID0gYCAwLjEyNXJlbWA7XG4gICAgICAgIGluZGljYXRvclN0eWxlLmhlaWdodCA9IGAke2l0ZW1TdGF0cy5oZWlnaHR9cHhgO1xuICAgICAgICBpbmRpY2F0b3JTdHlsZS50b3AgPSBgJHtpdGVtU3RhdHMudG9wfXB4YDtcbiAgICAgICAgaW5kaWNhdG9yU3R5bGUuYm90dG9tID0gYHVuc2V0YDtcbiAgICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ3N0YXJ0Jykge1xuICAgICAgICAgIGluZGljYXRvclN0eWxlLmluc2V0SW5saW5lU3RhcnQgPSBgMHB4YDtcbiAgICAgICAgICBpbmRpY2F0b3JTdHlsZS5pbnNldElubGluZUVuZCA9IGB1bnNldGA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ2VuZCcpIHtcbiAgICAgICAgICBpbmRpY2F0b3JTdHlsZS5pbnNldElubGluZVN0YXJ0ID0gYHVuc2V0YDtcbiAgICAgICAgICBpbmRpY2F0b3JTdHlsZS5pbnNldElubGluZUVuZCA9IGAwcHhgO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGluZGljYXRvclN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgfVxuICB9XG59XG4iXX0=