@sarasanalytics-com/design-system 0.0.135 → 0.0.136

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/README.md +24 -24
  2. package/esm2022/interfaces/avatar-interface.mjs +1 -1
  3. package/esm2022/interfaces/button-interface.mjs +1 -1
  4. package/esm2022/interfaces/card-carousel-interface.mjs +1 -1
  5. package/esm2022/interfaces/chip-interface.mjs +1 -1
  6. package/esm2022/interfaces/grid-interface.mjs +1 -1
  7. package/esm2022/interfaces/guide-card-interface.mjs +1 -1
  8. package/esm2022/interfaces/header-interface.mjs +1 -1
  9. package/esm2022/interfaces/icon-interface.mjs +1 -1
  10. package/esm2022/interfaces/layout-section-interface.mjs +1 -1
  11. package/esm2022/interfaces/left-nav-interface.mjs +1 -1
  12. package/esm2022/interfaces/menu.interface.mjs +1 -1
  13. package/esm2022/interfaces/message-banner.mjs +1 -1
  14. package/esm2022/interfaces/option-interface.mjs +1 -1
  15. package/esm2022/interfaces/scrolling-card-interface.mjs +1 -1
  16. package/esm2022/interfaces/select-interface.mjs +1 -1
  17. package/esm2022/interfaces/status-dot.interface.mjs +1 -1
  18. package/esm2022/interfaces/tab-interface.mjs +1 -1
  19. package/esm2022/interfaces/toast-interface.mjs +1 -1
  20. package/esm2022/interfaces/typography-animation-interface.mjs +1 -1
  21. package/esm2022/lib/accordion/accordion.component.mjs +3 -3
  22. package/esm2022/lib/avatar/avatar.component.mjs +3 -3
  23. package/esm2022/lib/button/button.component.mjs +3 -3
  24. package/esm2022/lib/calendar-header/calendar-header.component.mjs +3 -3
  25. package/esm2022/lib/card/card-body/card-body.component.mjs +1 -1
  26. package/esm2022/lib/card/card-custom-header/card-custom-header.component.mjs +1 -1
  27. package/esm2022/lib/card/card-footer-actions/card-footer-actions.component.mjs +3 -3
  28. package/esm2022/lib/card/card-icon/card-icon.component.mjs +1 -1
  29. package/esm2022/lib/card/card-title-actions/card-title-actions.component.mjs +1 -1
  30. package/esm2022/lib/card/card.component.mjs +3 -3
  31. package/esm2022/lib/card/checkbox-card/checkbox-card.component.mjs +3 -3
  32. package/esm2022/lib/card/guide-card/guide-card.component.mjs +3 -3
  33. package/esm2022/lib/card/menu-card/menu-card.component.mjs +3 -3
  34. package/esm2022/lib/card/thumbnail-card/thumbnail-card.component.mjs +3 -3
  35. package/esm2022/lib/card-carousel/card-carousel.component.mjs +3 -3
  36. package/esm2022/lib/checkbox/checkbox.component.mjs +3 -3
  37. package/esm2022/lib/chips/chips.component.mjs +3 -3
  38. package/esm2022/lib/component-library.component.mjs +9 -9
  39. package/esm2022/lib/component-library.service.mjs +1 -1
  40. package/esm2022/lib/dashboard-loader/dashboard-loader.component.mjs +1 -1
  41. package/esm2022/lib/datepicker/datepicker.component.mjs +3 -3
  42. package/esm2022/lib/dialog/dialog.component.mjs +3 -3
  43. package/esm2022/lib/form-input/form-input.component.mjs +3 -3
  44. package/esm2022/lib/form-select/form-select.component.mjs +3 -3
  45. package/esm2022/lib/grid-cell/grid-cell.component.mjs +3 -3
  46. package/esm2022/lib/header/header.component.mjs +3 -3
  47. package/esm2022/lib/icon/icon.component.mjs +3 -3
  48. package/esm2022/lib/icon/icon.service.mjs +1 -1
  49. package/esm2022/lib/layout-section/layout-section.component.mjs +3 -3
  50. package/esm2022/lib/left-nav/left-nav.component.mjs +3 -3
  51. package/esm2022/lib/list/list.component.mjs +3 -3
  52. package/esm2022/lib/menu/menu-list/menu-item.component.mjs +3 -3
  53. package/esm2022/lib/menu/menu.component.mjs +3 -3
  54. package/esm2022/lib/menu/menu.directive.mjs +1 -1
  55. package/esm2022/lib/message-banner/message-banner.component.mjs +3 -3
  56. package/esm2022/lib/message-banner-v2/message-banner-v2.component.mjs +3 -15
  57. package/esm2022/lib/mini-card/mini-card.component.mjs +3 -3
  58. package/esm2022/lib/page-layout/page-layout.component.mjs +3 -3
  59. package/esm2022/lib/progress-bar/progress-bar.component.mjs +3 -3
  60. package/esm2022/lib/radio-button/radio-button.component.mjs +3 -3
  61. package/esm2022/lib/scrolling-cards/scrolling-cards.component.mjs +3 -3
  62. package/esm2022/lib/skeleton/skeleton-base.component.mjs +1 -1
  63. package/esm2022/lib/skeleton/skeleton-container.component.mjs +9 -9
  64. package/esm2022/lib/skeleton/skeleton-loader.component.mjs +193 -193
  65. package/esm2022/lib/skeleton/skeleton-presets.mjs +1 -1
  66. package/esm2022/lib/skeleton/skeleton-shapes.component.mjs +1 -1
  67. package/esm2022/lib/spinner/spinner.component.mjs +1 -1
  68. package/esm2022/lib/status-dot/status-dot.component.mjs +17 -17
  69. package/esm2022/lib/stepper/stepper.component.mjs +3 -3
  70. package/esm2022/lib/tabs/tabs.component.mjs +3 -3
  71. package/esm2022/lib/toast/toast.component.mjs +3 -3
  72. package/esm2022/lib/tool-tip/tool-tip.component.mjs +3 -3
  73. package/esm2022/lib/typography-animation/typography-animation.component.mjs +3 -3
  74. package/esm2022/utils/validators.mjs +1 -1
  75. package/fesm2022/sarasanalytics-com-design-system.mjs +298 -309
  76. package/fesm2022/sarasanalytics-com-design-system.mjs.map +1 -1
  77. package/lib/message-banner-v2/message-banner-v2.component.d.ts +1 -3
  78. package/package.json +2 -2
  79. package/styles/styles.css +428 -428
@@ -72,7 +72,7 @@ export class SAMenuComponent {
72
72
  this.onEvent.emit({ type: 'TAB_CLICK', activeTab: tabname, menu: this.menu });
73
73
  }
74
74
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SAMenuComponent, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SAMenuComponent, isStandalone: true, selector: "sa-menu", inputs: { position: "position", menu: "menu", hostEl: "hostEl" }, outputs: { onEvent: "onEvent", onKeyUpEvent: "onKeyUpEvent", closeEvent: "closeEvent" }, providers: [IconService], usesOnChanges: true, ngImport: i0, template: "<div class=\"sa-menu\" [ngClass]=\"menu.showTray ? 'sa-menu-tray sa-round-border' : ''\"\n [ngStyle]=\"{width: menu.width || 'max-content'}\">\n @if(menu?.title){\n <div class=\"sa-menu-title\">\n <h1>{{menu?.title}}</h1>\n <sa-icon [icon]=\"'closeOutlined'\" [size]=\"'20'\" class=\"sa-menu-close-icon\"\n (click)=\"closeEvent.emit($event)\"></sa-icon>\n </div>\n }\n\n <!-- @if(menu?.itemGroups && menu.itemGroups.length){\n @for (groupItem of menu.itemGroups; track groupItem) {\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n \n @for (item of groupItem.items; track $index) {\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n }\n } @else if(menu?.items && menu.items.length){\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n } -->\n\n\n <!-- Tab Content or Item Groups -->\n <div class=\"sa-menu-content\">\n <div class=\"sa-menu-content-inner {{menu?.showSearch ? 'sa-menu-content-with-search' : ''}}\">\n @if(menu?.showSearch){\n <div class=\"search-container\">\n <sa-icon icon=\"search\"></sa-icon>\n <input class=\"search-input\" (keyup)=\"onSearch($event)\" type=\"text\" [placeholder]=\"menu.searchPlaceholder\" \n />\n <button *ngIf=\"menu?.showAddIcon\"><i class=\"fas fa-plus\"></i></button>\n </div>\n }\n \n <!-- Tabs -->\n @if(menu?.tabs){\n <div class=\"sa-menu-tabs\">\n <button *ngFor=\"let tab of menu.tabs; let i = index\" [class.active]=\"i === activeTabIndex\"\n (click)=\"setActiveTab(i,tab.label)\">\n {{ tab.label }}\n <!-- ({{ tab.itemGroups.length }}) -->\n </button>\n </div>\n }\n <!-- Tabs End -->\n\n @if(menu?.tabs?.length){\n @if(menu.tabs[activeTabIndex]?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.tabs[activeTabIndex].itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n } @else if(menu?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n </div>\n </div>\n\n @if(menu?.items && menu?.items?.length){\n <div *ngIf=\"menu?.user\" class=\"profile-badge\">\n <div class=\"avatar\">\n <sa-avatar [altText]=\"menu?.user?.altText\" [imagePath]=\"''\" [size]=\"'large'\"></sa-avatar>\n </div>\n <div class=\"profile-info\">\n <p class=\"profile-name\">{{menu?.user?.name}}</p>\n <p class=\"profile-email\">{{menu?.user?.email}}</p>\n </div>\n </div>\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (onEvent)=\"itemClicked($event)\"> </sa-menu-item>\n }\n </div>\n }\n\n</div>", styles: [".sa-menu{background-color:var(--primary-800);box-shadow:3px 4px 16px 4px #00000014;width:max-content;border-radius:5px;overflow-y:auto;max-height:100%}.sa-round-border{border-radius:8px}.sa-menu-tray{height:calc(100vh - 16px);margin-top:8px;border-top-left-radius:0;border-bottom-left-radius:0;background:var(--grey-700, #1D2939);padding:0 1rem 1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.sa-menu-tray::-webkit-scrollbar{width:6px}.sa-menu-tray::-webkit-scrollbar-track{background:transparent}.sa-menu-tray::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:3px}sa-menu-item{cursor:pointer;display:block;color:var(--grey-100, #EAECF0)}.sa-menu-title{display:flex;justify-content:space-between;align-items:center;position:fixed;padding:1rem 0 .5rem;height:64px;width:calc(100% - 2rem);border-bottom:1px solid var(--primary-50, #F4EBFF);background:var(--grey-700, #1D2939);z-index:1}.sa-menu-title h1{color:var(--grey-100, #EAECF0);font-family:var(--font-family, Roboto);font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.5px;margin-bottom:0;margin-top:0}.sa-menu-close-icon{cursor:pointer;margin-left:auto;height:20px}.search-container{position:relative;display:flex;align-items:center;margin-bottom:1rem;margin-top:4.75rem}.search-container input{flex:1;padding:.5rem .5rem .5rem 2rem;background-color:#4a5568;border-radius:.25rem;font-size:.875rem;border:none;outline:none;color:#fff;box-sizing:border-box}.search-container .search-icon{position:absolute;left:.5rem;font-size:1rem;color:#888;pointer-events:none}.search-container button{margin-left:.5rem;background-color:#6b46c1;padding:.5rem;border-radius:.25rem;border:none;cursor:pointer}.sa-menu-group{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--grey-400, #475467)}.sa-menu-group:last-child{border-bottom:none}.sa-menu-group h2{color:var(--grey-300, #D0D5DD);font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.5rem}.MenuBar{width:max-content;margin-top:8px;background-color:var(--grey-400);border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:0}.sa-menu-tabs{display:flex;border-bottom:1px solid #ccc;margin-bottom:1rem}.sa-menu-tabs button{flex:1;padding:.5rem 1rem;background:none;border:none;cursor:pointer;font-size:12px;font-style:normal;font-weight:400;line-height:16px;color:#888;border-bottom:2px solid transparent;transition:all .5s ease}.sa-menu-tabs button.active{color:#f7f3f3;border-bottom:2px solid #f7f7f7;font-size:12px;font-style:normal;font-weight:600;line-height:16px;letter-spacing:.5px}.sa-menu-content{padding:0rem 0}.sa-menu-content-inner{padding-top:0}.sa-menu-content .sa-menu-content-with-search,.sa-menu-content-with-search.sa-menu-content-inner{padding:0}.features-tray-menu .sa-menu-content-inner{padding-top:5rem}.features-tray-menu .sa-menu-content-with-search.sa-menu-content-inner{padding-top:0}.sa-menu-group h2{margin-top:1rem}.sa-menu-group:first-child h2{margin-top:0}.sa-menu-group{margin-bottom:1rem}.profile-badge{display:flex;align-items:center;gap:8px;padding:12px;width:100%;border-bottom:1px solid var(--grey-400)}.avatar{display:flex;justify-content:center;align-items:center}.profile-info{display:flex;flex-direction:column;justify-content:center;font-weight:300}.profile-name{color:var(--structural-white);font-weight:500;font-size:12px;line-height:1.2;margin:0}.profile-email{color:var(--grey-200);font-size:11px;line-height:1.2;font-weight:400;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: SAMenuItemComponent, selector: "sa-menu-item", inputs: ["item", "showRound"], outputs: ["onEvent"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget"], outputs: ["onClickEvent"] }, { kind: "component", type: AvatarComponent, selector: "sa-avatar", inputs: ["id", "imagePath", "altText", "size"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }] }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SAMenuComponent, isStandalone: true, selector: "sa-menu", inputs: { position: "position", menu: "menu", hostEl: "hostEl" }, outputs: { onEvent: "onEvent", onKeyUpEvent: "onKeyUpEvent", closeEvent: "closeEvent" }, providers: [IconService], usesOnChanges: true, ngImport: i0, template: "<div class=\"sa-menu\" [ngClass]=\"menu.showTray ? 'sa-menu-tray sa-round-border' : ''\"\r\n [ngStyle]=\"{width: menu.width || 'max-content'}\">\r\n @if(menu?.title){\r\n <div class=\"sa-menu-title\">\r\n <h1>{{menu?.title}}</h1>\r\n <sa-icon [icon]=\"'closeOutlined'\" [size]=\"'20'\" class=\"sa-menu-close-icon\"\r\n (click)=\"closeEvent.emit($event)\"></sa-icon>\r\n </div>\r\n }\r\n\r\n <!-- @if(menu?.itemGroups && menu.itemGroups.length){\r\n @for (groupItem of menu.itemGroups; track groupItem) {\r\n <div class=\"sa-menu-group\">\r\n <h2>{{groupItem.groupTitle}}</h2>\r\n \r\n @for (item of groupItem.items; track $index) {\r\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\r\n }\r\n </div>\r\n }\r\n } @else if(menu?.items && menu.items.length){\r\n <div class=\"sa-menu-items\">\r\n @for (item of menu.items; track item) {\r\n <sa-menu-item [item]=\"item\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\r\n }\r\n </div>\r\n } -->\r\n\r\n\r\n <!-- Tab Content or Item Groups -->\r\n <div class=\"sa-menu-content\">\r\n <div class=\"sa-menu-content-inner {{menu?.showSearch ? 'sa-menu-content-with-search' : ''}}\">\r\n @if(menu?.showSearch){\r\n <div class=\"search-container\">\r\n <sa-icon icon=\"search\"></sa-icon>\r\n <input class=\"search-input\" (keyup)=\"onSearch($event)\" type=\"text\" [placeholder]=\"menu.searchPlaceholder\" \r\n />\r\n <button *ngIf=\"menu?.showAddIcon\"><i class=\"fas fa-plus\"></i></button>\r\n </div>\r\n }\r\n \r\n <!-- Tabs -->\r\n @if(menu?.tabs){\r\n <div class=\"sa-menu-tabs\">\r\n <button *ngFor=\"let tab of menu.tabs; let i = index\" [class.active]=\"i === activeTabIndex\"\r\n (click)=\"setActiveTab(i,tab.label)\">\r\n {{ tab.label }}\r\n <!-- ({{ tab.itemGroups.length }}) -->\r\n </button>\r\n </div>\r\n }\r\n <!-- Tabs End -->\r\n\r\n @if(menu?.tabs?.length){\r\n @if(menu.tabs[activeTabIndex]?.itemGroups?.length){\r\n <ng-container *ngFor=\"let groupItem of menu.tabs[activeTabIndex].itemGroups\">\r\n <div class=\"sa-menu-group\">\r\n <h2>{{groupItem.groupTitle}}</h2>\r\n <ng-container *ngFor=\"let item of groupItem.items\">\r\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\r\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n }\r\n } @else if(menu?.itemGroups?.length){\r\n <ng-container *ngFor=\"let groupItem of menu.itemGroups\">\r\n <div class=\"sa-menu-group\">\r\n <h2>{{groupItem.groupTitle}}</h2>\r\n <ng-container *ngFor=\"let item of groupItem.items\">\r\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\r\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n }\r\n </div>\r\n </div>\r\n\r\n @if(menu?.items && menu?.items?.length){\r\n <div *ngIf=\"menu?.user\" class=\"profile-badge\">\r\n <div class=\"avatar\">\r\n <sa-avatar [altText]=\"menu?.user?.altText\" [imagePath]=\"''\" [size]=\"'large'\"></sa-avatar>\r\n </div>\r\n <div class=\"profile-info\">\r\n <p class=\"profile-name\">{{menu?.user?.name}}</p>\r\n <p class=\"profile-email\">{{menu?.user?.email}}</p>\r\n </div>\r\n </div>\r\n <div class=\"sa-menu-items\">\r\n @for (item of menu.items; track item) {\r\n <sa-menu-item [item]=\"item\" (onEvent)=\"itemClicked($event)\"> </sa-menu-item>\r\n }\r\n </div>\r\n }\r\n\r\n</div>", styles: [".sa-menu{background-color:var(--primary-800);box-shadow:3px 4px 16px 4px #00000014;width:max-content;border-radius:5px;overflow-y:auto;max-height:100%}.sa-round-border{border-radius:8px}.sa-menu-tray{height:calc(100vh - 16px);margin-top:8px;border-top-left-radius:0;border-bottom-left-radius:0;background:var(--grey-700, #1D2939);padding:0 1rem 1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.sa-menu-tray::-webkit-scrollbar{width:6px}.sa-menu-tray::-webkit-scrollbar-track{background:transparent}.sa-menu-tray::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:3px}sa-menu-item{cursor:pointer;display:block;color:var(--grey-100, #EAECF0)}.sa-menu-title{display:flex;justify-content:space-between;align-items:center;position:fixed;padding:1rem 0 .5rem;height:64px;width:calc(100% - 2rem);border-bottom:1px solid var(--primary-50, #F4EBFF);background:var(--grey-700, #1D2939);z-index:1}.sa-menu-title h1{color:var(--grey-100, #EAECF0);font-family:var(--font-family, Roboto);font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.5px;margin-bottom:0;margin-top:0}.sa-menu-close-icon{cursor:pointer;margin-left:auto;height:20px}.search-container{position:relative;display:flex;align-items:center;margin-bottom:1rem;margin-top:4.75rem}.search-container input{flex:1;padding:.5rem .5rem .5rem 2rem;background-color:#4a5568;border-radius:.25rem;font-size:.875rem;border:none;outline:none;color:#fff;box-sizing:border-box}.search-container .search-icon{position:absolute;left:.5rem;font-size:1rem;color:#888;pointer-events:none}.search-container button{margin-left:.5rem;background-color:#6b46c1;padding:.5rem;border-radius:.25rem;border:none;cursor:pointer}.sa-menu-group{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--grey-400, #475467)}.sa-menu-group:last-child{border-bottom:none}.sa-menu-group h2{color:var(--grey-300, #D0D5DD);font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.5rem}.MenuBar{width:max-content;margin-top:8px;background-color:var(--grey-400);border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:0}.sa-menu-tabs{display:flex;border-bottom:1px solid #ccc;margin-bottom:1rem}.sa-menu-tabs button{flex:1;padding:.5rem 1rem;background:none;border:none;cursor:pointer;font-size:12px;font-style:normal;font-weight:400;line-height:16px;color:#888;border-bottom:2px solid transparent;transition:all .5s ease}.sa-menu-tabs button.active{color:#f7f3f3;border-bottom:2px solid #f7f7f7;font-size:12px;font-style:normal;font-weight:600;line-height:16px;letter-spacing:.5px}.sa-menu-content{padding:0rem 0}.sa-menu-content-inner{padding-top:0}.sa-menu-content .sa-menu-content-with-search,.sa-menu-content-with-search.sa-menu-content-inner{padding:0}.features-tray-menu .sa-menu-content-inner{padding-top:5rem}.features-tray-menu .sa-menu-content-with-search.sa-menu-content-inner{padding-top:0}.sa-menu-group h2{margin-top:1rem}.sa-menu-group:first-child h2{margin-top:0}.sa-menu-group{margin-bottom:1rem}.profile-badge{display:flex;align-items:center;gap:8px;padding:12px 8px;width:100%;border-bottom:1px solid var(--grey-400)}.avatar{display:flex;justify-content:center;align-items:center}.profile-info{display:flex;flex-direction:column;justify-content:center;font-weight:300}.profile-name{color:var(--structural-white);font-weight:500;font-size:12px;line-height:1.2;margin:0}.profile-email{color:var(--grey-200);font-size:11px;line-height:1.2;font-weight:400;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: SAMenuItemComponent, selector: "sa-menu-item", inputs: ["item", "showRound"], outputs: ["onEvent"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget"], outputs: ["onClickEvent"] }, { kind: "component", type: AvatarComponent, selector: "sa-avatar", inputs: ["id", "imagePath", "altText", "size"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }] }); }
76
76
  }
77
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SAMenuComponent, decorators: [{
78
78
  type: Component,
@@ -85,7 +85,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
85
85
  HttpClientModule,
86
86
  IconComponent,
87
87
  AvatarComponent,
88
- ], providers: [IconService], template: "<div class=\"sa-menu\" [ngClass]=\"menu.showTray ? 'sa-menu-tray sa-round-border' : ''\"\n [ngStyle]=\"{width: menu.width || 'max-content'}\">\n @if(menu?.title){\n <div class=\"sa-menu-title\">\n <h1>{{menu?.title}}</h1>\n <sa-icon [icon]=\"'closeOutlined'\" [size]=\"'20'\" class=\"sa-menu-close-icon\"\n (click)=\"closeEvent.emit($event)\"></sa-icon>\n </div>\n }\n\n <!-- @if(menu?.itemGroups && menu.itemGroups.length){\n @for (groupItem of menu.itemGroups; track groupItem) {\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n \n @for (item of groupItem.items; track $index) {\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n }\n } @else if(menu?.items && menu.items.length){\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n } -->\n\n\n <!-- Tab Content or Item Groups -->\n <div class=\"sa-menu-content\">\n <div class=\"sa-menu-content-inner {{menu?.showSearch ? 'sa-menu-content-with-search' : ''}}\">\n @if(menu?.showSearch){\n <div class=\"search-container\">\n <sa-icon icon=\"search\"></sa-icon>\n <input class=\"search-input\" (keyup)=\"onSearch($event)\" type=\"text\" [placeholder]=\"menu.searchPlaceholder\" \n />\n <button *ngIf=\"menu?.showAddIcon\"><i class=\"fas fa-plus\"></i></button>\n </div>\n }\n \n <!-- Tabs -->\n @if(menu?.tabs){\n <div class=\"sa-menu-tabs\">\n <button *ngFor=\"let tab of menu.tabs; let i = index\" [class.active]=\"i === activeTabIndex\"\n (click)=\"setActiveTab(i,tab.label)\">\n {{ tab.label }}\n <!-- ({{ tab.itemGroups.length }}) -->\n </button>\n </div>\n }\n <!-- Tabs End -->\n\n @if(menu?.tabs?.length){\n @if(menu.tabs[activeTabIndex]?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.tabs[activeTabIndex].itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n } @else if(menu?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n </div>\n </div>\n\n @if(menu?.items && menu?.items?.length){\n <div *ngIf=\"menu?.user\" class=\"profile-badge\">\n <div class=\"avatar\">\n <sa-avatar [altText]=\"menu?.user?.altText\" [imagePath]=\"''\" [size]=\"'large'\"></sa-avatar>\n </div>\n <div class=\"profile-info\">\n <p class=\"profile-name\">{{menu?.user?.name}}</p>\n <p class=\"profile-email\">{{menu?.user?.email}}</p>\n </div>\n </div>\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (onEvent)=\"itemClicked($event)\"> </sa-menu-item>\n }\n </div>\n }\n\n</div>", styles: [".sa-menu{background-color:var(--primary-800);box-shadow:3px 4px 16px 4px #00000014;width:max-content;border-radius:5px;overflow-y:auto;max-height:100%}.sa-round-border{border-radius:8px}.sa-menu-tray{height:calc(100vh - 16px);margin-top:8px;border-top-left-radius:0;border-bottom-left-radius:0;background:var(--grey-700, #1D2939);padding:0 1rem 1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.sa-menu-tray::-webkit-scrollbar{width:6px}.sa-menu-tray::-webkit-scrollbar-track{background:transparent}.sa-menu-tray::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:3px}sa-menu-item{cursor:pointer;display:block;color:var(--grey-100, #EAECF0)}.sa-menu-title{display:flex;justify-content:space-between;align-items:center;position:fixed;padding:1rem 0 .5rem;height:64px;width:calc(100% - 2rem);border-bottom:1px solid var(--primary-50, #F4EBFF);background:var(--grey-700, #1D2939);z-index:1}.sa-menu-title h1{color:var(--grey-100, #EAECF0);font-family:var(--font-family, Roboto);font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.5px;margin-bottom:0;margin-top:0}.sa-menu-close-icon{cursor:pointer;margin-left:auto;height:20px}.search-container{position:relative;display:flex;align-items:center;margin-bottom:1rem;margin-top:4.75rem}.search-container input{flex:1;padding:.5rem .5rem .5rem 2rem;background-color:#4a5568;border-radius:.25rem;font-size:.875rem;border:none;outline:none;color:#fff;box-sizing:border-box}.search-container .search-icon{position:absolute;left:.5rem;font-size:1rem;color:#888;pointer-events:none}.search-container button{margin-left:.5rem;background-color:#6b46c1;padding:.5rem;border-radius:.25rem;border:none;cursor:pointer}.sa-menu-group{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--grey-400, #475467)}.sa-menu-group:last-child{border-bottom:none}.sa-menu-group h2{color:var(--grey-300, #D0D5DD);font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.5rem}.MenuBar{width:max-content;margin-top:8px;background-color:var(--grey-400);border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:0}.sa-menu-tabs{display:flex;border-bottom:1px solid #ccc;margin-bottom:1rem}.sa-menu-tabs button{flex:1;padding:.5rem 1rem;background:none;border:none;cursor:pointer;font-size:12px;font-style:normal;font-weight:400;line-height:16px;color:#888;border-bottom:2px solid transparent;transition:all .5s ease}.sa-menu-tabs button.active{color:#f7f3f3;border-bottom:2px solid #f7f7f7;font-size:12px;font-style:normal;font-weight:600;line-height:16px;letter-spacing:.5px}.sa-menu-content{padding:0rem 0}.sa-menu-content-inner{padding-top:0}.sa-menu-content .sa-menu-content-with-search,.sa-menu-content-with-search.sa-menu-content-inner{padding:0}.features-tray-menu .sa-menu-content-inner{padding-top:5rem}.features-tray-menu .sa-menu-content-with-search.sa-menu-content-inner{padding-top:0}.sa-menu-group h2{margin-top:1rem}.sa-menu-group:first-child h2{margin-top:0}.sa-menu-group{margin-bottom:1rem}.profile-badge{display:flex;align-items:center;gap:8px;padding:12px;width:100%;border-bottom:1px solid var(--grey-400)}.avatar{display:flex;justify-content:center;align-items:center}.profile-info{display:flex;flex-direction:column;justify-content:center;font-weight:300}.profile-name{color:var(--structural-white);font-weight:500;font-size:12px;line-height:1.2;margin:0}.profile-email{color:var(--grey-200);font-size:11px;line-height:1.2;font-weight:400;margin:0}\n"] }]
88
+ ], providers: [IconService], template: "<div class=\"sa-menu\" [ngClass]=\"menu.showTray ? 'sa-menu-tray sa-round-border' : ''\"\r\n [ngStyle]=\"{width: menu.width || 'max-content'}\">\r\n @if(menu?.title){\r\n <div class=\"sa-menu-title\">\r\n <h1>{{menu?.title}}</h1>\r\n <sa-icon [icon]=\"'closeOutlined'\" [size]=\"'20'\" class=\"sa-menu-close-icon\"\r\n (click)=\"closeEvent.emit($event)\"></sa-icon>\r\n </div>\r\n }\r\n\r\n <!-- @if(menu?.itemGroups && menu.itemGroups.length){\r\n @for (groupItem of menu.itemGroups; track groupItem) {\r\n <div class=\"sa-menu-group\">\r\n <h2>{{groupItem.groupTitle}}</h2>\r\n \r\n @for (item of groupItem.items; track $index) {\r\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\r\n }\r\n </div>\r\n }\r\n } @else if(menu?.items && menu.items.length){\r\n <div class=\"sa-menu-items\">\r\n @for (item of menu.items; track item) {\r\n <sa-menu-item [item]=\"item\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\r\n }\r\n </div>\r\n } -->\r\n\r\n\r\n <!-- Tab Content or Item Groups -->\r\n <div class=\"sa-menu-content\">\r\n <div class=\"sa-menu-content-inner {{menu?.showSearch ? 'sa-menu-content-with-search' : ''}}\">\r\n @if(menu?.showSearch){\r\n <div class=\"search-container\">\r\n <sa-icon icon=\"search\"></sa-icon>\r\n <input class=\"search-input\" (keyup)=\"onSearch($event)\" type=\"text\" [placeholder]=\"menu.searchPlaceholder\" \r\n />\r\n <button *ngIf=\"menu?.showAddIcon\"><i class=\"fas fa-plus\"></i></button>\r\n </div>\r\n }\r\n \r\n <!-- Tabs -->\r\n @if(menu?.tabs){\r\n <div class=\"sa-menu-tabs\">\r\n <button *ngFor=\"let tab of menu.tabs; let i = index\" [class.active]=\"i === activeTabIndex\"\r\n (click)=\"setActiveTab(i,tab.label)\">\r\n {{ tab.label }}\r\n <!-- ({{ tab.itemGroups.length }}) -->\r\n </button>\r\n </div>\r\n }\r\n <!-- Tabs End -->\r\n\r\n @if(menu?.tabs?.length){\r\n @if(menu.tabs[activeTabIndex]?.itemGroups?.length){\r\n <ng-container *ngFor=\"let groupItem of menu.tabs[activeTabIndex].itemGroups\">\r\n <div class=\"sa-menu-group\">\r\n <h2>{{groupItem.groupTitle}}</h2>\r\n <ng-container *ngFor=\"let item of groupItem.items\">\r\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\r\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n }\r\n } @else if(menu?.itemGroups?.length){\r\n <ng-container *ngFor=\"let groupItem of menu.itemGroups\">\r\n <div class=\"sa-menu-group\">\r\n <h2>{{groupItem.groupTitle}}</h2>\r\n <ng-container *ngFor=\"let item of groupItem.items\">\r\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\r\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n }\r\n </div>\r\n </div>\r\n\r\n @if(menu?.items && menu?.items?.length){\r\n <div *ngIf=\"menu?.user\" class=\"profile-badge\">\r\n <div class=\"avatar\">\r\n <sa-avatar [altText]=\"menu?.user?.altText\" [imagePath]=\"''\" [size]=\"'large'\"></sa-avatar>\r\n </div>\r\n <div class=\"profile-info\">\r\n <p class=\"profile-name\">{{menu?.user?.name}}</p>\r\n <p class=\"profile-email\">{{menu?.user?.email}}</p>\r\n </div>\r\n </div>\r\n <div class=\"sa-menu-items\">\r\n @for (item of menu.items; track item) {\r\n <sa-menu-item [item]=\"item\" (onEvent)=\"itemClicked($event)\"> </sa-menu-item>\r\n }\r\n </div>\r\n }\r\n\r\n</div>", styles: [".sa-menu{background-color:var(--primary-800);box-shadow:3px 4px 16px 4px #00000014;width:max-content;border-radius:5px;overflow-y:auto;max-height:100%}.sa-round-border{border-radius:8px}.sa-menu-tray{height:calc(100vh - 16px);margin-top:8px;border-top-left-radius:0;border-bottom-left-radius:0;background:var(--grey-700, #1D2939);padding:0 1rem 1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.sa-menu-tray::-webkit-scrollbar{width:6px}.sa-menu-tray::-webkit-scrollbar-track{background:transparent}.sa-menu-tray::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:3px}sa-menu-item{cursor:pointer;display:block;color:var(--grey-100, #EAECF0)}.sa-menu-title{display:flex;justify-content:space-between;align-items:center;position:fixed;padding:1rem 0 .5rem;height:64px;width:calc(100% - 2rem);border-bottom:1px solid var(--primary-50, #F4EBFF);background:var(--grey-700, #1D2939);z-index:1}.sa-menu-title h1{color:var(--grey-100, #EAECF0);font-family:var(--font-family, Roboto);font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.5px;margin-bottom:0;margin-top:0}.sa-menu-close-icon{cursor:pointer;margin-left:auto;height:20px}.search-container{position:relative;display:flex;align-items:center;margin-bottom:1rem;margin-top:4.75rem}.search-container input{flex:1;padding:.5rem .5rem .5rem 2rem;background-color:#4a5568;border-radius:.25rem;font-size:.875rem;border:none;outline:none;color:#fff;box-sizing:border-box}.search-container .search-icon{position:absolute;left:.5rem;font-size:1rem;color:#888;pointer-events:none}.search-container button{margin-left:.5rem;background-color:#6b46c1;padding:.5rem;border-radius:.25rem;border:none;cursor:pointer}.sa-menu-group{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--grey-400, #475467)}.sa-menu-group:last-child{border-bottom:none}.sa-menu-group h2{color:var(--grey-300, #D0D5DD);font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.5rem}.MenuBar{width:max-content;margin-top:8px;background-color:var(--grey-400);border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:0}.sa-menu-tabs{display:flex;border-bottom:1px solid #ccc;margin-bottom:1rem}.sa-menu-tabs button{flex:1;padding:.5rem 1rem;background:none;border:none;cursor:pointer;font-size:12px;font-style:normal;font-weight:400;line-height:16px;color:#888;border-bottom:2px solid transparent;transition:all .5s ease}.sa-menu-tabs button.active{color:#f7f3f3;border-bottom:2px solid #f7f7f7;font-size:12px;font-style:normal;font-weight:600;line-height:16px;letter-spacing:.5px}.sa-menu-content{padding:0rem 0}.sa-menu-content-inner{padding-top:0}.sa-menu-content .sa-menu-content-with-search,.sa-menu-content-with-search.sa-menu-content-inner{padding:0}.features-tray-menu .sa-menu-content-inner{padding-top:5rem}.features-tray-menu .sa-menu-content-with-search.sa-menu-content-inner{padding-top:0}.sa-menu-group h2{margin-top:1rem}.sa-menu-group:first-child h2{margin-top:0}.sa-menu-group{margin-bottom:1rem}.profile-badge{display:flex;align-items:center;gap:8px;padding:12px 8px;width:100%;border-bottom:1px solid var(--grey-400)}.avatar{display:flex;justify-content:center;align-items:center}.profile-info{display:flex;flex-direction:column;justify-content:center;font-weight:300}.profile-name{color:var(--structural-white);font-weight:500;font-size:12px;line-height:1.2;margin:0}.profile-email{color:var(--grey-200);font-size:11px;line-height:1.2;font-weight:400;margin:0}\n"] }]
89
89
  }], ctorParameters: () => [{ type: i1.Overlay }], propDecorators: { position: [{
90
90
  type: Input
91
91
  }], menu: [{
@@ -99,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
99
99
  }], closeEvent: [{
100
100
  type: Output
101
101
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBR04sWUFBWSxHQUtiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxPQUFPLEVBRVAsV0FBVyxHQUVaLE1BQU0sd0JBQXdCLENBQUM7QUFTaEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQStCbkQsTUFBTSxPQUFPLGVBQWU7SUFTMUIsWUFDVSxPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBVGpCLGFBQVEsR0FBd0MsUUFBUSxDQUFDLENBQUMsbUJBQW1CO1FBRzVFLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM3RCwyQ0FB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QVc7d0JBQ1gsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsZUFBZTtxQkFDbEIsYUFDVSxDQUFDLFdBQVcsQ0FBQzs0RUFrQmIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBPbkNoYW5nZXMsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0NoaWxkLFxuICBmb3J3YXJkUmVmLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNYXRNZW51LFxuICBNYXRNZW51RGVmYXVsdE9wdGlvbnMsXG4gIE1hdE1lbnVJdGVtLFxuICBNYXRNZW51VHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQge1xuICBPdmVybGF5LFxuICBQb3NpdGlvblN0cmF0ZWd5LFxuICBDb25uZWN0ZWRQb3NpdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlJztcbmltcG9ydCB7IFNBTWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL21lbnUtbGlzdC9tZW51LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IENoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hpcHMvY2hpcHMuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IElNZW51LCBJTWVudUl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL21lbnUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudH0gZnJvbSAnLi4vYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vaWNvbi9pY29uLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2EtbWVudScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU0FNZW51SXRlbUNvbXBvbmVudCxcbiAgICBNYXRNZW51LFxuICAgIE1hdE1lbnVJdGVtLFxuICAgIENoaXBzQ29tcG9uZW50LFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBBdmF0YXJDb21wb25lbnQsXG5dLFxucHJvdmlkZXJzOiBbSWNvblNlcnZpY2VdLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5jc3MnLFxuICAvLyBhbmltYXRpb25zOiBbXG4gIC8vICAgdHJpZ2dlcignc2xpZGVJbk91dCcsIFtcbiAgLy8gICAgIHN0YXRlKCdpbicsIHN0eWxlKHtcbiAgLy8gICAgICAgd2lkdGg6ICcnLCAvLyBXaGVuIGV4cGFuZGVkIChmdWxseSBzaG93bilcbiAgLy8gICAgIH0pKSxcbiAgLy8gICAgIHN0YXRlKCdvdXQnLCBzdHlsZSh7XG4gIC8vICAgICAgIHdpZHRoOiAnMCcsIC8vIFdoZW4gY29sbGFwc2VkIChoaWRkZW4pXG4gIC8vICAgICB9KSksXG4gIC8vICAgICB0cmFuc2l0aW9uKCdpbiA8PT4gb3V0JywgW1xuICAvLyAgICAgICBhbmltYXRlKCcwLjJzIGVhc2UtaW4tb3V0JyksIC8vIEFuaW1hdGlvbiBzcGVlZCBhbmQgZWFzaW5nXG4gIC8vICAgICBdKVxuICAvLyAgIF0pXG4gIC8vIF1cbn0pXG5leHBvcnQgY2xhc3MgU0FNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcgfCAndG9wJyB8ICdib3R0b20nID0gJ2JvdHRvbSc7IC8vIERlZmF1bHQgcG9zaXRpb25cbiAgQElucHV0KCkgbWVudTogSU1lbnU7XG4gIEBJbnB1dCgpIGhvc3RFbDogYW55O1xuICBAT3V0cHV0KCkgb25FdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbktleVVwRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2xvc2VFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8vIEBWaWV3Q2hpbGQoJ21lbnUnLCB7c3RhdGljOiB0cnVlfSkgbWVudTtcbiAgaXNFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICkge1xuICB9XG5cbiAgXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snbWVudSddICYmIGNoYW5nZXNbJ21lbnUnXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdNZW51IGNvbXBvbmVudCBkZXRlY3RlZCBjaGFuZ2VzOicsIGNoYW5nZXNbJ21lbnUnXS5jdXJyZW50VmFsdWUpO1xuICAgICAgXG4gICAgICAvLyBSZXNldCBhY3RpdmUgdGFiIGluZGV4IGlmIHRhYnMgaGF2ZSBjaGFuZ2VkXG4gICAgICBpZiAodGhpcy5tZW51Py50YWJzPy5sZW5ndGggJiYgdGhpcy5hY3RpdmVUYWJJbmRleCA+PSB0aGlzLm1lbnUudGFicy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVUYWJJbmRleCA9IDA7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIFByZXZlbnQgdGhlIG1lbnUgZnJvbSBjbG9zaW5nIGJ5IHN0b3BwaW5nIHByb3BhZ2F0aW9uIG9mIGFueSBldmVudHNcbiAgICAgIC8vIHRoYXQgbWlnaHQgdHJpZ2dlciBtZW51IGNsb3NpbmcgZHVyaW5nIHRoaXMgdXBkYXRlIGN5Y2xlXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgLy8gVGhpcyBlbnN1cmVzIHRoZSBtZW51IHN0YXlzIG9wZW4gYWZ0ZXIgdGhlIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUgY29tcGxldGVzXG4gICAgICAgIGNvbnNvbGUubG9nKCdNZW51IHVwZGF0ZSBjb21wbGV0ZSwgbWVudSBzaG91bGQgcmVtYWluIG9wZW4nKTtcbiAgICAgIH0sIDApO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzRXhwYW5kZWQgPSB0cnVlO1xuICB9IFxuXG4gIHNldFBvc2l0aW9uKCkge1xuICAgIC8vIGNvbnN0IHBvc2l0aW9uczogeyBba2V5OiBzdHJpbmddOiBDb25uZWN0ZWRQb3NpdGlvbiB9ID0ge1xuICAgIC8vICAgbGVmdDogeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgIC8vICAgcmlnaHQ6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgIC8vICAgdG9wOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICAvLyAgIGJvdHRvbTogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICdib3R0b20nIH1cbiAgICAvLyB9O1xuXG4gICAgLy8gY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoKTtcbiAgICAvLyBjb25zdCB1c2VyUHJvZmlsZVBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoQ2FyZENvbXBvbmVudCk7XG4gICAgLy8gY29uc3QgY29tcFJlZiA9IG92ZXJsYXlSZWYuYXR0YWNoKHVzZXJQcm9maWxlUG9ydGFsKTtcbiAgICAvLyBjb21wUmVmLmluc3RhbmNlLnRpdGxlID0gJ25lZWQgbmR1ayByYSBiaGFpJ1xuICAgIC8vIGNvbXBSZWYuaW5zdGFuY2UuYm9keSA9ICdzb21ldGltZSBsaXR0bGUgYml0IHRoaXMgc29tZXRpbWVzIGxpdHRsZSBiaXQgdGhhdC4gQ29tbWluZyBub3QgY29tbWluZydcbiAgICAvLyBjb21wUmVmLmluc3RhbmNlLmF2YXRhciA9ICcuLi9hc3NldHMvYXZhdGFyLnN2ZydcbiAgfVxuXG4gIGl0ZW1DbGlja2VkKGV2ZW50KXtcbiAgICB0aGlzLm9uTWVudUl0ZW1DbGljayhudWxsLGV2ZW50Lml0ZW0pXG4gIH0gXG5cbiAgb25NZW51SXRlbUNsaWNrKGV2ZW50OiBhbnksIGl0ZW06IElNZW51SXRlbSl7XG4gICAgLy8gaXRlbS5pc1NlbGVjdGVkID0gIWl0ZW0uaXNTZWxlY3RlZDtcbiAgICB0aGlzLm9uRXZlbnQuZW1pdCh7dHlwZTogJ0NMSUNLJywgaXRlbSwgbWVudTogdGhpcy5tZW51fSk7XG4gICAgXG4gICAgLy8gQ2xvc2UgdGhlIG1lbnUgYWZ0ZXIgdGhlIGl0ZW0gaXMgY2xpY2tlZCwganVzdCBsaWtlIHRoZSBjbG9zZSBidXR0b25cbiAgICBpZihpdGVtLnN1Yk1lbnUgPT09IG51bGwgfHwgaXRlbS5zdWJNZW51ID09PSB1bmRlZmluZWQpe1xuICAgICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoKGV2ZW50OiBhbnkpe1xuICAgIHRoaXMub25FdmVudC5lbWl0KHt0eXBlOiAnU0VBUkNIJywgdmFsdWU6ZXZlbnQudGFyZ2V0LnZhbHVlfSlcbiAgfVxuXG4gIGFjdGl2ZVRhYkluZGV4OiBudW1iZXIgPSAwOyAvLyBUcmFjayB0aGUgYWN0aXZlIHRhYiBpbmRleFxuXG4gIHNldEFjdGl2ZVRhYihpbmRleDogbnVtYmVyLHRhYm5hbWUpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gaW5kZXg7IC8vIFVwZGF0ZSB0aGUgYWN0aXZlIHRhYiBpbmRleFxuICAgIHRoaXMub25FdmVudC5lbWl0KHt0eXBlOiAnVEFCX0NMSUNLJywgYWN0aXZlVGFiOnRhYm5hbWUsIG1lbnU6IHRoaXMubWVudX0pXG4gIH1cblxuXG59XG4iLCI8ZGl2IGNsYXNzPVwic2EtbWVudVwiIFtuZ0NsYXNzXT1cIm1lbnUuc2hvd1RyYXkgPyAnc2EtbWVudS10cmF5IHNhLXJvdW5kLWJvcmRlcicgOiAnJ1wiXG4gICAgW25nU3R5bGVdPVwie3dpZHRoOiBtZW51LndpZHRoIHx8ICdtYXgtY29udGVudCd9XCI+XG4gICAgQGlmKG1lbnU/LnRpdGxlKXtcbiAgICA8ZGl2IGNsYXNzPVwic2EtbWVudS10aXRsZVwiPlxuICAgICAgICA8aDE+e3ttZW51Py50aXRsZX19PC9oMT5cbiAgICAgICAgPHNhLWljb24gW2ljb25dPVwiJ2Nsb3NlT3V0bGluZWQnXCIgW3NpemVdPVwiJzIwJ1wiIGNsYXNzPVwic2EtbWVudS1jbG9zZS1pY29uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZUV2ZW50LmVtaXQoJGV2ZW50KVwiPjwvc2EtaWNvbj5cbiAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8IS0tIEBpZihtZW51Py5pdGVtR3JvdXBzICYmIG1lbnUuaXRlbUdyb3Vwcy5sZW5ndGgpe1xuICAgICAgICBAZm9yIChncm91cEl0ZW0gb2YgbWVudS5pdGVtR3JvdXBzOyB0cmFjayBncm91cEl0ZW0pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1tZW51LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPGgyPnt7Z3JvdXBJdGVtLmdyb3VwVGl0bGV9fTwvaDI+XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZ3JvdXBJdGVtLml0ZW1zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8c2EtbWVudS1pdGVtIFtpdGVtXT1cIml0ZW1cIiBbc2hvd1JvdW5kXT1cIm1lbnUuc2hvd1RyYXlcIiAoY2xpY2spPVwib25NZW51SXRlbUNsaWNrKCRldmVudCwgaXRlbSlcIj48L3NhLW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYobWVudT8uaXRlbXMgJiYgbWVudS5pdGVtcy5sZW5ndGgpe1xuICAgICAgICA8ZGl2IGNsYXNzPVwic2EtbWVudS1pdGVtc1wiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBtZW51Lml0ZW1zOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgICAgPHNhLW1lbnUtaXRlbSBbaXRlbV09XCJpdGVtXCIgKGNsaWNrKT1cIm9uTWVudUl0ZW1DbGljaygkZXZlbnQsIGl0ZW0pXCI+PC9zYS1tZW51LWl0ZW0+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH0gLS0+XG5cblxuICAgIDwhLS0gVGFiIENvbnRlbnQgb3IgSXRlbSBHcm91cHMgLS0+XG4gICAgPGRpdiBjbGFzcz1cInNhLW1lbnUtY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2EtbWVudS1jb250ZW50LWlubmVyIHt7bWVudT8uc2hvd1NlYXJjaCA/ICdzYS1tZW51LWNvbnRlbnQtd2l0aC1zZWFyY2gnIDogJyd9fVwiPlxuICAgICAgICAgICAgQGlmKG1lbnU/LnNob3dTZWFyY2gpe1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzYS1pY29uIGljb249XCJzZWFyY2hcIj48L3NhLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cInNlYXJjaC1pbnB1dFwiIChrZXl1cCk9XCJvblNlYXJjaCgkZXZlbnQpXCIgdHlwZT1cInRleHRcIiBbcGxhY2Vob2xkZXJdPVwibWVudS5zZWFyY2hQbGFjZWhvbGRlclwiICBcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIm1lbnU/LnNob3dBZGRJY29uXCI+PGkgY2xhc3M9XCJmYXMgZmEtcGx1c1wiPjwvaT48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPCEtLSBUYWJzIC0tPlxuICAgICAgICAgICAgQGlmKG1lbnU/LnRhYnMpe1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLW1lbnUtdGFic1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IHRhYiBvZiBtZW51LnRhYnM7IGxldCBpID0gaW5kZXhcIiBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGFjdGl2ZVRhYkluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldEFjdGl2ZVRhYihpLHRhYi5sYWJlbClcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdGFiLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gKHt7IHRhYi5pdGVtR3JvdXBzLmxlbmd0aCB9fSkgLS0+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwhLS0gVGFicyBFbmQgLS0+XG5cbiAgICAgICAgICAgIEBpZihtZW51Py50YWJzPy5sZW5ndGgpe1xuICAgICAgICAgICAgQGlmKG1lbnUudGFic1thY3RpdmVUYWJJbmRleF0/Lml0ZW1Hcm91cHM/Lmxlbmd0aCl7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBncm91cEl0ZW0gb2YgbWVudS50YWJzW2FjdGl2ZVRhYkluZGV4XS5pdGVtR3JvdXBzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLW1lbnUtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGgyPnt7Z3JvdXBJdGVtLmdyb3VwVGl0bGV9fTwvaDI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXBJdGVtLml0ZW1zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c2EtbWVudS1pdGVtIFtpdGVtXT1cIml0ZW1cIiBbc2hvd1JvdW5kXT1cIm1lbnUuc2hvd1RyYXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1lbnVJdGVtQ2xpY2soJGV2ZW50LCBpdGVtKVwiPjwvc2EtbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSBpZihtZW51Py5pdGVtR3JvdXBzPy5sZW5ndGgpe1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZ3JvdXBJdGVtIG9mIG1lbnUuaXRlbUdyb3Vwc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1tZW51LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMj57e2dyb3VwSXRlbS5ncm91cFRpdGxlfX08L2gyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwSXRlbS5pdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNhLW1lbnUtaXRlbSBbaXRlbV09XCJpdGVtXCIgW3Nob3dSb3VuZF09XCJtZW51LnNob3dUcmF5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25NZW51SXRlbUNsaWNrKCRldmVudCwgaXRlbSlcIj48L3NhLW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICBAaWYobWVudT8uaXRlbXMgJiYgbWVudT8uaXRlbXM/Lmxlbmd0aCl7XG4gICAgPGRpdiAqbmdJZj1cIm1lbnU/LnVzZXJcIiBjbGFzcz1cInByb2ZpbGUtYmFkZ2VcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhclwiPlxuICAgICAgICAgICAgPHNhLWF2YXRhciBbYWx0VGV4dF09XCJtZW51Py51c2VyPy5hbHRUZXh0XCIgW2ltYWdlUGF0aF09XCInJ1wiIFtzaXplXT1cIidsYXJnZSdcIj48L3NhLWF2YXRhcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWluZm9cIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwicHJvZmlsZS1uYW1lXCI+e3ttZW51Py51c2VyPy5uYW1lfX08L3A+XG4gICAgICAgICAgICA8cCBjbGFzcz1cInByb2ZpbGUtZW1haWxcIj57e21lbnU/LnVzZXI/LmVtYWlsfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzYS1tZW51LWl0ZW1zXCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgbWVudS5pdGVtczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgPHNhLW1lbnUtaXRlbSBbaXRlbV09XCJpdGVtXCIgKG9uRXZlbnQpPVwiaXRlbUNsaWNrZWQoJGV2ZW50KVwiPiA8L3NhLW1lbnUtaXRlbT5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgIH1cblxuPC9kaXY+Il19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBR04sWUFBWSxHQUtiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxPQUFPLEVBRVAsV0FBVyxHQUVaLE1BQU0sd0JBQXdCLENBQUM7QUFTaEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQStCbkQsTUFBTSxPQUFPLGVBQWU7SUFTMUIsWUFDVSxPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBVGpCLGFBQVEsR0FBd0MsUUFBUSxDQUFDLENBQUMsbUJBQW1CO1FBRzVFLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM3RCwyQ0FB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QVc7d0JBQ1gsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsZUFBZTtxQkFDbEIsYUFDVSxDQUFDLFdBQVcsQ0FBQzs0RUFrQmIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBWaWV3Q2hpbGQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgUXVlcnlMaXN0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIE1hdE1lbnUsXHJcbiAgTWF0TWVudURlZmF1bHRPcHRpb25zLFxyXG4gIE1hdE1lbnVJdGVtLFxyXG4gIE1hdE1lbnVUcmlnZ2VyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQge1xyXG4gIE92ZXJsYXksXHJcbiAgUG9zaXRpb25TdHJhdGVneSxcclxuICBDb25uZWN0ZWRQb3NpdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FyZC9jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyBTQU1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LWxpc3QvbWVudS1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgQ2hpcHNDb21wb25lbnQgfSBmcm9tICcuLi9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElNZW51LCBJTWVudUl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL21lbnUuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50fSBmcm9tICcuLi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vaWNvbi9pY29uLnNlcnZpY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhLW1lbnUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgU0FNZW51SXRlbUNvbXBvbmVudCxcclxuICAgIE1hdE1lbnUsXHJcbiAgICBNYXRNZW51SXRlbSxcclxuICAgIENoaXBzQ29tcG9uZW50LFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIEljb25Db21wb25lbnQsXHJcbiAgICBBdmF0YXJDb21wb25lbnQsXHJcbl0sXHJcbnByb3ZpZGVyczogW0ljb25TZXJ2aWNlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL21lbnUuY29tcG9uZW50LmNzcycsXHJcbiAgLy8gYW5pbWF0aW9uczogW1xyXG4gIC8vICAgdHJpZ2dlcignc2xpZGVJbk91dCcsIFtcclxuICAvLyAgICAgc3RhdGUoJ2luJywgc3R5bGUoe1xyXG4gIC8vICAgICAgIHdpZHRoOiAnJywgLy8gV2hlbiBleHBhbmRlZCAoZnVsbHkgc2hvd24pXHJcbiAgLy8gICAgIH0pKSxcclxuICAvLyAgICAgc3RhdGUoJ291dCcsIHN0eWxlKHtcclxuICAvLyAgICAgICB3aWR0aDogJzAnLCAvLyBXaGVuIGNvbGxhcHNlZCAoaGlkZGVuKVxyXG4gIC8vICAgICB9KSksXHJcbiAgLy8gICAgIHRyYW5zaXRpb24oJ2luIDw9PiBvdXQnLCBbXHJcbiAgLy8gICAgICAgYW5pbWF0ZSgnMC4ycyBlYXNlLWluLW91dCcpLCAvLyBBbmltYXRpb24gc3BlZWQgYW5kIGVhc2luZ1xyXG4gIC8vICAgICBdKVxyXG4gIC8vICAgXSlcclxuICAvLyBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTQU1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIHBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnIHwgJ3RvcCcgfCAnYm90dG9tJyA9ICdib3R0b20nOyAvLyBEZWZhdWx0IHBvc2l0aW9uXHJcbiAgQElucHV0KCkgbWVudTogSU1lbnU7XHJcbiAgQElucHV0KCkgaG9zdEVsOiBhbnk7XHJcbiAgQE91dHB1dCgpIG9uRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbktleVVwRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvLyBAVmlld0NoaWxkKCdtZW51Jywge3N0YXRpYzogdHJ1ZX0pIG1lbnU7XHJcbiAgaXNFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXNbJ21lbnUnXSAmJiBjaGFuZ2VzWydtZW51J10uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdNZW51IGNvbXBvbmVudCBkZXRlY3RlZCBjaGFuZ2VzOicsIGNoYW5nZXNbJ21lbnUnXS5jdXJyZW50VmFsdWUpO1xyXG4gICAgICBcclxuICAgICAgLy8gUmVzZXQgYWN0aXZlIHRhYiBpbmRleCBpZiB0YWJzIGhhdmUgY2hhbmdlZFxyXG4gICAgICBpZiAodGhpcy5tZW51Py50YWJzPy5sZW5ndGggJiYgdGhpcy5hY3RpdmVUYWJJbmRleCA+PSB0aGlzLm1lbnUudGFicy5sZW5ndGgpIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gMDtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgLy8gUHJldmVudCB0aGUgbWVudSBmcm9tIGNsb3NpbmcgYnkgc3RvcHBpbmcgcHJvcGFnYXRpb24gb2YgYW55IGV2ZW50c1xyXG4gICAgICAvLyB0aGF0IG1pZ2h0IHRyaWdnZXIgbWVudSBjbG9zaW5nIGR1cmluZyB0aGlzIHVwZGF0ZSBjeWNsZVxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAvLyBUaGlzIGVuc3VyZXMgdGhlIG1lbnUgc3RheXMgb3BlbiBhZnRlciB0aGUgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSBjb21wbGV0ZXNcclxuICAgICAgICBjb25zb2xlLmxvZygnTWVudSB1cGRhdGUgY29tcGxldGUsIG1lbnUgc2hvdWxkIHJlbWFpbiBvcGVuJyk7XHJcbiAgICAgIH0sIDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0V4cGFuZGVkID0gdHJ1ZTtcclxuICB9IFxyXG5cclxuICBzZXRQb3NpdGlvbigpIHtcclxuICAgIC8vIGNvbnN0IHBvc2l0aW9uczogeyBba2V5OiBzdHJpbmddOiBDb25uZWN0ZWRQb3NpdGlvbiB9ID0ge1xyXG4gICAgLy8gICBsZWZ0OiB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICd0b3AnIH0sXHJcbiAgICAvLyAgIHJpZ2h0OiB7IG9yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ3RvcCcgfSxcclxuICAgIC8vICAgdG9wOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSxcclxuICAgIC8vICAgYm90dG9tOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ2JvdHRvbScgfVxyXG4gICAgLy8gfTtcclxuXHJcbiAgICAvLyBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSgpO1xyXG4gICAgLy8gY29uc3QgdXNlclByb2ZpbGVQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKENhcmRDb21wb25lbnQpO1xyXG4gICAgLy8gY29uc3QgY29tcFJlZiA9IG92ZXJsYXlSZWYuYXR0YWNoKHVzZXJQcm9maWxlUG9ydGFsKTtcclxuICAgIC8vIGNvbXBSZWYuaW5zdGFuY2UudGl0bGUgPSAnbmVlZCBuZHVrIHJhIGJoYWknXHJcbiAgICAvLyBjb21wUmVmLmluc3RhbmNlLmJvZHkgPSAnc29tZXRpbWUgbGl0dGxlIGJpdCB0aGlzIHNvbWV0aW1lcyBsaXR0bGUgYml0IHRoYXQuIENvbW1pbmcgbm90IGNvbW1pbmcnXHJcbiAgICAvLyBjb21wUmVmLmluc3RhbmNlLmF2YXRhciA9ICcuLi9hc3NldHMvYXZhdGFyLnN2ZydcclxuICB9XHJcblxyXG4gIGl0ZW1DbGlja2VkKGV2ZW50KXtcclxuICAgIHRoaXMub25NZW51SXRlbUNsaWNrKG51bGwsZXZlbnQuaXRlbSlcclxuICB9IFxyXG5cclxuICBvbk1lbnVJdGVtQ2xpY2soZXZlbnQ6IGFueSwgaXRlbTogSU1lbnVJdGVtKXtcclxuICAgIC8vIGl0ZW0uaXNTZWxlY3RlZCA9ICFpdGVtLmlzU2VsZWN0ZWQ7XHJcbiAgICB0aGlzLm9uRXZlbnQuZW1pdCh7dHlwZTogJ0NMSUNLJywgaXRlbSwgbWVudTogdGhpcy5tZW51fSk7XHJcbiAgICBcclxuICAgIC8vIENsb3NlIHRoZSBtZW51IGFmdGVyIHRoZSBpdGVtIGlzIGNsaWNrZWQsIGp1c3QgbGlrZSB0aGUgY2xvc2UgYnV0dG9uXHJcbiAgICBpZihpdGVtLnN1Yk1lbnUgPT09IG51bGwgfHwgaXRlbS5zdWJNZW51ID09PSB1bmRlZmluZWQpe1xyXG4gICAgICB0aGlzLmNsb3NlRXZlbnQuZW1pdChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaChldmVudDogYW55KXtcclxuICAgIHRoaXMub25FdmVudC5lbWl0KHt0eXBlOiAnU0VBUkNIJywgdmFsdWU6ZXZlbnQudGFyZ2V0LnZhbHVlfSlcclxuICB9XHJcblxyXG4gIGFjdGl2ZVRhYkluZGV4OiBudW1iZXIgPSAwOyAvLyBUcmFjayB0aGUgYWN0aXZlIHRhYiBpbmRleFxyXG5cclxuICBzZXRBY3RpdmVUYWIoaW5kZXg6IG51bWJlcix0YWJuYW1lKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gaW5kZXg7IC8vIFVwZGF0ZSB0aGUgYWN0aXZlIHRhYiBpbmRleFxyXG4gICAgdGhpcy5vbkV2ZW50LmVtaXQoe3R5cGU6ICdUQUJfQ0xJQ0snLCBhY3RpdmVUYWI6dGFibmFtZSwgbWVudTogdGhpcy5tZW51fSlcclxuICB9XHJcblxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2EtbWVudVwiIFtuZ0NsYXNzXT1cIm1lbnUuc2hvd1RyYXkgPyAnc2EtbWVudS10cmF5IHNhLXJvdW5kLWJvcmRlcicgOiAnJ1wiXHJcbiAgICBbbmdTdHlsZV09XCJ7d2lkdGg6IG1lbnUud2lkdGggfHwgJ21heC1jb250ZW50J31cIj5cclxuICAgIEBpZihtZW51Py50aXRsZSl7XHJcbiAgICA8ZGl2IGNsYXNzPVwic2EtbWVudS10aXRsZVwiPlxyXG4gICAgICAgIDxoMT57e21lbnU/LnRpdGxlfX08L2gxPlxyXG4gICAgICAgIDxzYS1pY29uIFtpY29uXT1cIidjbG9zZU91dGxpbmVkJ1wiIFtzaXplXT1cIicyMCdcIiBjbGFzcz1cInNhLW1lbnUtY2xvc2UtaWNvblwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZUV2ZW50LmVtaXQoJGV2ZW50KVwiPjwvc2EtaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIDwhLS0gQGlmKG1lbnU/Lml0ZW1Hcm91cHMgJiYgbWVudS5pdGVtR3JvdXBzLmxlbmd0aCl7XHJcbiAgICAgICAgQGZvciAoZ3JvdXBJdGVtIG9mIG1lbnUuaXRlbUdyb3VwczsgdHJhY2sgZ3JvdXBJdGVtKSB7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1tZW51LWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8aDI+e3tncm91cEl0ZW0uZ3JvdXBUaXRsZX19PC9oMj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZ3JvdXBJdGVtLml0ZW1zOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgICAgIDxzYS1tZW51LWl0ZW0gW2l0ZW1dPVwiaXRlbVwiIFtzaG93Um91bmRdPVwibWVudS5zaG93VHJheVwiIChjbGljayk9XCJvbk1lbnVJdGVtQ2xpY2soJGV2ZW50LCBpdGVtKVwiPjwvc2EtbWVudS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIGlmKG1lbnU/Lml0ZW1zICYmIG1lbnUuaXRlbXMubGVuZ3RoKXtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2EtbWVudS1pdGVtc1wiPlxyXG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIG1lbnUuaXRlbXM7IHRyYWNrIGl0ZW0pIHtcclxuICAgICAgICAgICAgICAgIDxzYS1tZW51LWl0ZW0gW2l0ZW1dPVwiaXRlbVwiIChjbGljayk9XCJvbk1lbnVJdGVtQ2xpY2soJGV2ZW50LCBpdGVtKVwiPjwvc2EtbWVudS1pdGVtPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICB9IC0tPlxyXG5cclxuXHJcbiAgICA8IS0tIFRhYiBDb250ZW50IG9yIEl0ZW0gR3JvdXBzIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cInNhLW1lbnUtY29udGVudFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYS1tZW51LWNvbnRlbnQtaW5uZXIge3ttZW51Py5zaG93U2VhcmNoID8gJ3NhLW1lbnUtY29udGVudC13aXRoLXNlYXJjaCcgOiAnJ319XCI+XHJcbiAgICAgICAgICAgIEBpZihtZW51Py5zaG93U2VhcmNoKXtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNhLWljb24gaWNvbj1cInNlYXJjaFwiPjwvc2EtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIiAoa2V5dXApPVwib25TZWFyY2goJGV2ZW50KVwiIHR5cGU9XCJ0ZXh0XCIgW3BsYWNlaG9sZGVyXT1cIm1lbnUuc2VhcmNoUGxhY2Vob2xkZXJcIiAgXHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwibWVudT8uc2hvd0FkZEljb25cIj48aSBjbGFzcz1cImZhcyBmYS1wbHVzXCI+PC9pPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwhLS0gVGFicyAtLT5cclxuICAgICAgICAgICAgQGlmKG1lbnU/LnRhYnMpe1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2EtbWVudS10YWJzXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCB0YWIgb2YgbWVudS50YWJzOyBsZXQgaSA9IGluZGV4XCIgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBhY3RpdmVUYWJJbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldEFjdGl2ZVRhYihpLHRhYi5sYWJlbClcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyB0YWIubGFiZWwgfX1cclxuICAgICAgICAgICAgICAgICAgICA8IS0tICh7eyB0YWIuaXRlbUdyb3Vwcy5sZW5ndGggfX0pIC0tPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwhLS0gVGFicyBFbmQgLS0+XHJcblxyXG4gICAgICAgICAgICBAaWYobWVudT8udGFicz8ubGVuZ3RoKXtcclxuICAgICAgICAgICAgQGlmKG1lbnUudGFic1thY3RpdmVUYWJJbmRleF0/Lml0ZW1Hcm91cHM/Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGdyb3VwSXRlbSBvZiBtZW51LnRhYnNbYWN0aXZlVGFiSW5kZXhdLml0ZW1Hcm91cHNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1tZW51LWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGgyPnt7Z3JvdXBJdGVtLmdyb3VwVGl0bGV9fTwvaDI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cEl0ZW0uaXRlbXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNhLW1lbnUtaXRlbSBbaXRlbV09XCJpdGVtXCIgW3Nob3dSb3VuZF09XCJtZW51LnNob3dUcmF5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1lbnVJdGVtQ2xpY2soJGV2ZW50LCBpdGVtKVwiPjwvc2EtbWVudS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYobWVudT8uaXRlbUdyb3Vwcz8ubGVuZ3RoKXtcclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZ3JvdXBJdGVtIG9mIG1lbnUuaXRlbUdyb3Vwc1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLW1lbnUtZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDI+e3tncm91cEl0ZW0uZ3JvdXBUaXRsZX19PC9oMj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwSXRlbS5pdGVtc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2EtbWVudS1pdGVtIFtpdGVtXT1cIml0ZW1cIiBbc2hvd1JvdW5kXT1cIm1lbnUuc2hvd1RyYXlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTWVudUl0ZW1DbGljaygkZXZlbnQsIGl0ZW0pXCI+PC9zYS1tZW51LWl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIEBpZihtZW51Py5pdGVtcyAmJiBtZW51Py5pdGVtcz8ubGVuZ3RoKXtcclxuICAgIDxkaXYgKm5nSWY9XCJtZW51Py51c2VyXCIgY2xhc3M9XCJwcm9maWxlLWJhZGdlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhclwiPlxyXG4gICAgICAgICAgICA8c2EtYXZhdGFyIFthbHRUZXh0XT1cIm1lbnU/LnVzZXI/LmFsdFRleHRcIiBbaW1hZ2VQYXRoXT1cIicnXCIgW3NpemVdPVwiJ2xhcmdlJ1wiPjwvc2EtYXZhdGFyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWluZm9cIj5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJwcm9maWxlLW5hbWVcIj57e21lbnU/LnVzZXI/Lm5hbWV9fTwvcD5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJwcm9maWxlLWVtYWlsXCI+e3ttZW51Py51c2VyPy5lbWFpbH19PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2EtbWVudS1pdGVtc1wiPlxyXG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgbWVudS5pdGVtczsgdHJhY2sgaXRlbSkge1xyXG4gICAgICAgICAgICA8c2EtbWVudS1pdGVtIFtpdGVtXT1cIml0ZW1cIiAob25FdmVudCk9XCJpdGVtQ2xpY2tlZCgkZXZlbnQpXCI+IDwvc2EtbWVudS1pdGVtPlxyXG4gICAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuPC9kaXY+Il19
@@ -195,4 +195,4 @@ const MENU_POSITIONS = {
195
195
  offsetY: 20
196
196
  }
197
197
  };
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lbnUvbWVudS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFnRCxNQUFNLGVBQWUsQ0FBQztBQUM3SyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBTTNELE1BQU0sT0FBTyxhQUFhO0lBZ0J4QixJQUNJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLEtBQVk7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsMkNBQTJDO1FBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQTBDO1FBQ3JELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUNVLE9BQWdCLEVBQ2hCLGdCQUFrQyxFQUNsQyxLQUFnQjtRQUZoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsVUFBSyxHQUFMLEtBQUssQ0FBVztRQXJDMUIsNkNBQTZDO1FBQ3JDLGdCQUFXLEdBQUcsSUFB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TTt1QkFBQyxhQUFhO2dCQUNYLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUtILE1BQU07c0JBRFQsS0FBSzt1QkFBQyxRQUFRO2dCQVlYLFFBQVE7c0JBRFgsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBZXZCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0FBcUhuQyxNQUFNLGNBQWMsR0FBc0I7SUFDeEMsT0FBTyxFQUFFO1FBQ1AsT0FBTyxFQUFFLEtBQUs7UUFDZCxPQUFPLEVBQUUsUUFBUTtRQUNqQixRQUFRLEVBQUUsT0FBTztRQUNqQixRQUFRLEVBQUUsUUFBUTtRQUNsQixPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFDRCxNQUFNLEVBQUU7UUFDTixPQUFPLEVBQUUsT0FBTztRQUNoQixPQUFPLEVBQUUsUUFBUTtRQUNqQixRQUFRLEVBQUUsS0FBSztRQUNmLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUNELEtBQUssRUFBRTtRQUNMLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsRUFBRTtLQUNaO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLFFBQVE7UUFDakIsT0FBTyxFQUFFLFFBQVE7UUFDakIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsUUFBUSxFQUFFLEtBQUs7UUFDZixPQUFPLEVBQUUsQ0FBQztRQUNWLE9BQU8sRUFBRSxFQUFFO0tBQ1o7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneU9yaWdpbiwgT3ZlcmxheSwgT3ZlcmxheUNvbnRhaW5lciwgUG9zaXRpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTQU1lbnVDb21wb25lbnQgfSBmcm9tICcuL21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgSU1lbnUsIE15T3ZlcmxheVBvc2l0aW9ucyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbWVudS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NhTWVudV0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgLy8gU3RyZWFtIHRvIHRyYWNrIG1lbnUgY29uZmlndXJhdGlvbiBjaGFuZ2VzXG4gIHByaXZhdGUgbWVudUNvbmZpZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElNZW51IHwgbnVsbD4obnVsbCk7XG4gIFxuICAvLyBTdHJlYW0gdG8gaGFuZGxlIGNvbXBvbmVudCBkZXN0cnVjdGlvblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvLyBASW5wdXQoJ3NhTWVudU9iaicpIHNhTWVudU9iaiA9IHt9O1xuICBASW5wdXQoJ3NhTWVudVJlZicpIHNhTWVudVJlZjogVmlld0NvbnRhaW5lclJlZiB8IFRlbXBsYXRlUmVmPEVsZW1lbnRSZWY+IHwgbnVsbCA9IG51bGw7XG4gIEBPdXRwdXQoJ29uTWVudUV2ZW50Jykgb25NZW51RXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25FdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkF0dGFjaGVkOiBFdmVudEVtaXR0ZXI8eyBlbGVtZW50OiBFbGVtZW50UmVmLCBtZW51OiBJTWVudSB9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uRGV0YWNoZWQ6IEV2ZW50RW1pdHRlcjx7IGVsZW1lbnQ6IEVsZW1lbnRSZWYsIG1lbnU6IElNZW51IH0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIF9zYU1lbnU6IElNZW51O1xuICBfcG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcgfCAndG9wJyB8ICdib3R0b20nID0gJ3JpZ2h0JztcbiAgQElucHV0KCdzYU1lbnUnKVxuICBnZXQgc2FNZW51KCk6IElNZW51IHtcbiAgICByZXR1cm4gdGhpcy5fc2FNZW51O1xuICB9XG5cbiAgc2V0IHNhTWVudSh2YWx1ZTogSU1lbnUpIHtcbiAgICB0aGlzLl9zYU1lbnUgPSB2YWx1ZTtcbiAgICAvLyBFbWl0IHRoZSBuZXcgY29uZmlndXJhdGlvbiB0byB0aGUgc3RyZWFtXG4gICAgdGhpcy5tZW51Q29uZmlnJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgnc2FNYW51UG9zaXRpb24nKVxuICBnZXQgcG9zaXRpb24oKXtcbiAgICByZXR1cm4gdGhpcy5fcG9zaXRpb247XG4gIH1cbiAgc2V0IHBvc2l0aW9uKHZhbHVlOiAnbGVmdCcgfCAncmlnaHQnIHwgJ3RvcCcgfCAnYm90dG9tJyl7XG4gICAgdGhpcy5fcG9zaXRpb24gPSB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIG92ZXJsYXlDb250YWluZXI6IE92ZXJsYXlDb250YWluZXIsXG4gICAgcHJpdmF0ZSBlbFJlZjpFbGVtZW50UmVmXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZSkge1xuICAgIGlmKCEhdGhpcy5fc2FNZW51Py5pdGVtcz8ubGVuZ3RoIHx8ICEhdGhpcy5fc2FNZW51Py5pdGVtR3JvdXBzPy5sZW5ndGggfHwgISF0aGlzLl9zYU1lbnU/LnRhYnM/Lmxlbmd0aClcbiAgICAgIHRoaXMuYXR0YWNoTWVudSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBhbnkgPSBudWxsO1xuICBwcml2YXRlIGNvbXBSZWY6IGFueSA9IG51bGw7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gU3Vic2NyaWJlIHRvIG1lbnUgY29uZmlndXJhdGlvbiBjaGFuZ2VzXG4gICAgdGhpcy5tZW51Q29uZmlnJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShjb25maWcgPT4ge1xuICAgICAgICBpZiAoIWNvbmZpZykgcmV0dXJuO1xuICAgICAgICBcbiAgICAgICAgLy8gSWYgdGhlIG1lbnUgaXMgYWxyZWFkeSBvcGVuLCB1cGRhdGUgaXQgd2l0aG91dCBjbG9zaW5nXG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYgJiYgdGhpcy5jb21wUmVmKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ1VwZGF0aW5nIG9wZW4gbWVudSB3aXRoIG5ldyBjb25maWcnKTtcbiAgICAgICAgICB0aGlzLmNvbXBSZWYuaW5zdGFuY2UubWVudSA9IGNvbmZpZztcbiAgICAgICAgICBcbiAgICAgICAgICAvLyBNYW51YWxseSB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb24gaWYgbmVlZGVkXG4gICAgICAgICAgaWYgKHRoaXMuY29tcFJlZi5pbnN0YW5jZS5uZ09uQ2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5jb21wUmVmLmluc3RhbmNlLm5nT25DaGFuZ2VzKHtcbiAgICAgICAgICAgICAgbWVudToge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZTogY29uZmlnLFxuICAgICAgICAgICAgICAgIHByZXZpb3VzVmFsdWU6IG51bGwsXG4gICAgICAgICAgICAgICAgZmlyc3RDaGFuZ2U6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGlzRmlyc3RDaGFuZ2U6ICgpID0+IGZhbHNlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gIH1cblxuICAvLyBXZSd2ZSBtb3ZlZCB0aGlzIGZ1bmN0aW9uYWxpdHkgdG8gdGhlIHJlYWN0aXZlIHN0cmVhbVxuICBcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vIE1lbnUgY2hhbmdlcyBhcmUgbm93IGhhbmRsZWQgdGhyb3VnaCB0aGUgcmVhY3RpdmUgc3RyZWFtXG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvLyBDbGVhbiB1cCBzdWJzY3JpcHRpb25zXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIFxuICAgIC8vIENsZWFuIHVwIHRoZSBvdmVybGF5XG4gICAgdGhpcy5kZXRhY2hNZW51KCk7XG4gIH1cblxuICBhdHRhY2hNZW51KCkge1xuICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IG1lbnVQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFNBTWVudUNvbXBvbmVudCk7XG4gICAgXG4gICAgLy8gR2V0IHRoZSBiYXNlIHBvc2l0aW9uIGZyb20gTUVOVV9QT1NJVElPTlNcbiAgICBjb25zdCBiYXNlUG9zaXRpb24gPSBNRU5VX1BPU0lUSU9OU1t0aGlzLl9wb3NpdGlvbl07XG4gICAgXG4gICAgLy8gQ3JlYXRlIHRoZSBwb3NpdGlvbiBzdHJhdGVneSB3aXRoIGZhbGxiYWNrIHRvIE1FTlVfUE9TSVRJT05TIGlmIG92ZXJsYXlDb25maWcgaXMgbm90IHByb3ZpZGVkXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneTogUG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhob3N0RWxlbWVudCkgIC8vIFBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSB0YXJnZXQgZWxlbWVudCAodGhlIGJ1dHRvbilcbiAgICAgIC53aXRoUG9zaXRpb25zKFt7XG4gICAgICAgIC4uLmJhc2VQb3NpdGlvbixcbiAgICAgICAgb2Zmc2V0WDogdGhpcy5fc2FNZW51Lm92ZXJsYXlDb25maWc/Lm9mZnNldFggIT09IHVuZGVmaW5lZCA/IHRoaXMuX3NhTWVudS5vdmVybGF5Q29uZmlnLm9mZnNldFggOiBiYXNlUG9zaXRpb24ub2Zmc2V0WCxcbiAgICAgICAgb2Zmc2V0WTogdGhpcy5fc2FNZW51Lm92ZXJsYXlDb25maWc/Lm9mZnNldFkgIT09IHVuZGVmaW5lZCA/IHRoaXMuX3NhTWVudS5vdmVybGF5Q29uZmlnLm9mZnNldFkgOiBiYXNlUG9zaXRpb24ub2Zmc2V0WVxuICAgICAgfV0pO1xuXG4gICAgLy8gQWRkIGN1c3RvbSBjbGFzcyB0byB0aGUgb3ZlcmxheSBjb250YWluZXJcbiAgICB0aGlzLm92ZXJsYXlDb250YWluZXIuZ2V0Q29udGFpbmVyRWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoJ3NhLW1lbnUtb3ZlcmxheS1jb250YWluZXInKTtcbiAgICBcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksIFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSwgXG4gICAgICBwYW5lbENsYXNzOiAnY3VzdG9tLW1lbnUtb3ZlcmxheSdcbiAgICB9KTtcbiAgICB0aGlzLmNvbXBSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG1lbnVQb3J0YWwpO1xuICAgIHRoaXMuY29tcFJlZi5pbnN0YW5jZS5tZW51ID0gdGhpcy5zYU1lbnU7XG4gICAgdGhpcy5jb21wUmVmLmluc3RhbmNlLmhvc3RFbCA9IGhvc3RFbGVtZW50O1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIG1lbnUgY29tcG9uZW50IGV2ZW50cyBhbmQgZW1pdCB0aGVtXG4gICAgdGhpcy5jb21wUmVmLmluc3RhbmNlLm9uRXZlbnQuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIHRoaXMub25FdmVudC5lbWl0KHJlcyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbXBSZWYuaW5zdGFuY2UuY2xvc2VFdmVudC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgdGhpcy5kZXRhY2hNZW51KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm92ZXJsYXlSZWYub3V0c2lkZVBvaW50ZXJFdmVudHMoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5kZXRhY2hNZW51KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm9uQXR0YWNoZWQuZW1pdCh7XG4gICAgICBlbGVtZW50OiB0aGlzLmVsUmVmLFxuICAgICAgbWVudTogdGhpcy5fc2FNZW51XG4gICAgfSk7XG4gIH1cblxuICBkZXRhY2hNZW51KCkge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMub25EZXRhY2hlZC5lbWl0KHtcbiAgICAgICAgZWxlbWVudDogdGhpcy5lbFJlZixcbiAgICAgICAgbWVudTogdGhpcy5fc2FNZW51XG4gICAgICB9KTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuICAgICAgdGhpcy5jb21wUmVmID0gbnVsbDtcbiAgICAgIFxuICAgICAgLy8gUmVtb3ZlIHRoZSBjdXN0b20gY2xhc3MgZnJvbSB0aGUgb3ZlcmxheSBjb250YWluZXJcbiAgICAgIHRoaXMub3ZlcmxheUNvbnRhaW5lci5nZXRDb250YWluZXJFbGVtZW50KCkuY2xhc3NMaXN0LnJlbW92ZSgnc2EtbWVudS1vdmVybGF5LWNvbnRhaW5lcicpO1xuICAgIH1cbiAgfVxufVxuXG5jb25zdCBNRU5VX1BPU0lUSU9OUzogTXlPdmVybGF5UG9zaXRpb25zPSB7XG4gICdyaWdodCc6IHtcbiAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICBvdmVybGF5WTogJ2NlbnRlcicsXG4gICAgb2Zmc2V0WDogMjAsXG4gICAgb2Zmc2V0WTogMFxuICB9LFxuICAnbGVmdCc6IHtcbiAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgIG9yaWdpblk6ICdjZW50ZXInLFxuICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICBvdmVybGF5WTogJ2NlbnRlcicsXG4gICAgb2Zmc2V0WDogMjAsXG4gICAgb2Zmc2V0WTogMFxuICB9LFxuICAndG9wJzoge1xuICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgIG9yaWdpblk6ICd0b3AnLFxuICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgb2Zmc2V0WDogMCxcbiAgICBvZmZzZXRZOiAyMFxuICB9LFxuICAnYm90dG9tJzoge1xuICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgb2Zmc2V0WDogMCxcbiAgICBvZmZzZXRZOiAyMFxuICB9XG59Il19
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lbnUvbWVudS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFnRCxNQUFNLGVBQWUsQ0FBQztBQUM3SyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBTTNELE1BQU0sT0FBTyxhQUFhO0lBZ0J4QixJQUNJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLEtBQVk7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsMkNBQTJDO1FBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQTBDO1FBQ3JELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUNVLE9BQWdCLEVBQ2hCLGdCQUFrQyxFQUNsQyxLQUFnQjtRQUZoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsVUFBSyxHQUFMLEtBQUssQ0FBVztRQXJDMUIsNkNBQTZDO1FBQ3JDLGdCQUFXLEdBQUcsSUFB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TTt1QkFBQyxhQUFhO2dCQUNYLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUtILE1BQU07c0JBRFQsS0FBSzt1QkFBQyxRQUFRO2dCQVlYLFFBQVE7c0JBRFgsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBZXZCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0FBcUhuQyxNQUFNLGNBQWMsR0FBc0I7SUFDeEMsT0FBTyxFQUFFO1FBQ1AsT0FBTyxFQUFFLEtBQUs7UUFDZCxPQUFPLEVBQUUsUUFBUTtRQUNqQixRQUFRLEVBQUUsT0FBTztRQUNqQixRQUFRLEVBQUUsUUFBUTtRQUNsQixPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFDRCxNQUFNLEVBQUU7UUFDTixPQUFPLEVBQUUsT0FBTztRQUNoQixPQUFPLEVBQUUsUUFBUTtRQUNqQixRQUFRLEVBQUUsS0FBSztRQUNmLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUNELEtBQUssRUFBRTtRQUNMLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsRUFBRTtLQUNaO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLFFBQVE7UUFDakIsT0FBTyxFQUFFLFFBQVE7UUFDakIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsUUFBUSxFQUFFLEtBQUs7UUFDZixPQUFPLEVBQUUsQ0FBQztRQUNWLE9BQU8sRUFBRSxFQUFFO0tBQ1o7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneU9yaWdpbiwgT3ZlcmxheSwgT3ZlcmxheUNvbnRhaW5lciwgUG9zaXRpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU0FNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBJTWVudSwgTXlPdmVybGF5UG9zaXRpb25zIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9tZW51LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzYU1lbnVdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgLy8gU3RyZWFtIHRvIHRyYWNrIG1lbnUgY29uZmlndXJhdGlvbiBjaGFuZ2VzXHJcbiAgcHJpdmF0ZSBtZW51Q29uZmlnJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SU1lbnUgfCBudWxsPihudWxsKTtcclxuICBcclxuICAvLyBTdHJlYW0gdG8gaGFuZGxlIGNvbXBvbmVudCBkZXN0cnVjdGlvblxyXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAvLyBASW5wdXQoJ3NhTWVudU9iaicpIHNhTWVudU9iaiA9IHt9O1xyXG4gIEBJbnB1dCgnc2FNZW51UmVmJykgc2FNZW51UmVmOiBWaWV3Q29udGFpbmVyUmVmIHwgVGVtcGxhdGVSZWY8RWxlbWVudFJlZj4gfCBudWxsID0gbnVsbDtcclxuICBAT3V0cHV0KCdvbk1lbnVFdmVudCcpIG9uTWVudUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25FdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uQXR0YWNoZWQ6IEV2ZW50RW1pdHRlcjx7IGVsZW1lbnQ6IEVsZW1lbnRSZWYsIG1lbnU6IElNZW51IH0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkRldGFjaGVkOiBFdmVudEVtaXR0ZXI8eyBlbGVtZW50OiBFbGVtZW50UmVmLCBtZW51OiBJTWVudSB9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgX3NhTWVudTogSU1lbnU7XHJcbiAgX3Bvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnIHwgJ3RvcCcgfCAnYm90dG9tJyA9ICdyaWdodCc7XHJcbiAgQElucHV0KCdzYU1lbnUnKVxyXG4gIGdldCBzYU1lbnUoKTogSU1lbnUge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NhTWVudTtcclxuICB9XHJcblxyXG4gIHNldCBzYU1lbnUodmFsdWU6IElNZW51KSB7XHJcbiAgICB0aGlzLl9zYU1lbnUgPSB2YWx1ZTtcclxuICAgIC8vIEVtaXQgdGhlIG5ldyBjb25maWd1cmF0aW9uIHRvIHRoZSBzdHJlYW1cclxuICAgIHRoaXMubWVudUNvbmZpZyQubmV4dCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoJ3NhTWFudVBvc2l0aW9uJylcclxuICBnZXQgcG9zaXRpb24oKXtcclxuICAgIHJldHVybiB0aGlzLl9wb3NpdGlvbjtcclxuICB9XHJcbiAgc2V0IHBvc2l0aW9uKHZhbHVlOiAnbGVmdCcgfCAncmlnaHQnIHwgJ3RvcCcgfCAnYm90dG9tJyl7XHJcbiAgICB0aGlzLl9wb3NpdGlvbiA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIG92ZXJsYXlDb250YWluZXI6IE92ZXJsYXlDb250YWluZXIsXHJcbiAgICBwcml2YXRlIGVsUmVmOkVsZW1lbnRSZWZcclxuICApIHt9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGUpIHtcclxuICAgIGlmKCEhdGhpcy5fc2FNZW51Py5pdGVtcz8ubGVuZ3RoIHx8ICEhdGhpcy5fc2FNZW51Py5pdGVtR3JvdXBzPy5sZW5ndGggfHwgISF0aGlzLl9zYU1lbnU/LnRhYnM/Lmxlbmd0aClcclxuICAgICAgdGhpcy5hdHRhY2hNZW51KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG92ZXJsYXlSZWY6IGFueSA9IG51bGw7XHJcbiAgcHJpdmF0ZSBjb21wUmVmOiBhbnkgPSBudWxsO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIC8vIFN1YnNjcmliZSB0byBtZW51IGNvbmZpZ3VyYXRpb24gY2hhbmdlc1xyXG4gICAgdGhpcy5tZW51Q29uZmlnJFxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoY29uZmlnID0+IHtcclxuICAgICAgICBpZiAoIWNvbmZpZykgcmV0dXJuO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIElmIHRoZSBtZW51IGlzIGFscmVhZHkgb3BlbiwgdXBkYXRlIGl0IHdpdGhvdXQgY2xvc2luZ1xyXG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYgJiYgdGhpcy5jb21wUmVmKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnVXBkYXRpbmcgb3BlbiBtZW51IHdpdGggbmV3IGNvbmZpZycpO1xyXG4gICAgICAgICAgdGhpcy5jb21wUmVmLmluc3RhbmNlLm1lbnUgPSBjb25maWc7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIC8vIE1hbnVhbGx5IHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiBpZiBuZWVkZWRcclxuICAgICAgICAgIGlmICh0aGlzLmNvbXBSZWYuaW5zdGFuY2UubmdPbkNoYW5nZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21wUmVmLmluc3RhbmNlLm5nT25DaGFuZ2VzKHtcclxuICAgICAgICAgICAgICBtZW51OiB7XHJcbiAgICAgICAgICAgICAgICBjdXJyZW50VmFsdWU6IGNvbmZpZyxcclxuICAgICAgICAgICAgICAgIHByZXZpb3VzVmFsdWU6IG51bGwsXHJcbiAgICAgICAgICAgICAgICBmaXJzdENoYW5nZTogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBpc0ZpcnN0Q2hhbmdlOiAoKSA9PiBmYWxzZVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICB9XHJcblxyXG4gIC8vIFdlJ3ZlIG1vdmVkIHRoaXMgZnVuY3Rpb25hbGl0eSB0byB0aGUgcmVhY3RpdmUgc3RyZWFtXHJcbiAgXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgLy8gTWVudSBjaGFuZ2VzIGFyZSBub3cgaGFuZGxlZCB0aHJvdWdoIHRoZSByZWFjdGl2ZSBzdHJlYW1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgLy8gQ2xlYW4gdXAgc3Vic2NyaXB0aW9uc1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICBcclxuICAgIC8vIENsZWFuIHVwIHRoZSBvdmVybGF5XHJcbiAgICB0aGlzLmRldGFjaE1lbnUoKTtcclxuICB9XHJcblxyXG4gIGF0dGFjaE1lbnUoKSB7XHJcbiAgICBjb25zdCBob3N0RWxlbWVudCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IG1lbnVQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFNBTWVudUNvbXBvbmVudCk7XHJcbiAgICBcclxuICAgIC8vIEdldCB0aGUgYmFzZSBwb3NpdGlvbiBmcm9tIE1FTlVfUE9TSVRJT05TXHJcbiAgICBjb25zdCBiYXNlUG9zaXRpb24gPSBNRU5VX1BPU0lUSU9OU1t0aGlzLl9wb3NpdGlvbl07XHJcbiAgICBcclxuICAgIC8vIENyZWF0ZSB0aGUgcG9zaXRpb24gc3RyYXRlZ3kgd2l0aCBmYWxsYmFjayB0byBNRU5VX1BPU0lUSU9OUyBpZiBvdmVybGF5Q29uZmlnIGlzIG5vdCBwcm92aWRlZFxyXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneTogUG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpXHJcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKGhvc3RFbGVtZW50KSAgLy8gUG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIHRhcmdldCBlbGVtZW50ICh0aGUgYnV0dG9uKVxyXG4gICAgICAud2l0aFBvc2l0aW9ucyhbe1xyXG4gICAgICAgIC4uLmJhc2VQb3NpdGlvbixcclxuICAgICAgICBvZmZzZXRYOiB0aGlzLl9zYU1lbnUub3ZlcmxheUNvbmZpZz8ub2Zmc2V0WCAhPT0gdW5kZWZpbmVkID8gdGhpcy5fc2FNZW51Lm92ZXJsYXlDb25maWcub2Zmc2V0WCA6IGJhc2VQb3NpdGlvbi5vZmZzZXRYLFxyXG4gICAgICAgIG9mZnNldFk6IHRoaXMuX3NhTWVudS5vdmVybGF5Q29uZmlnPy5vZmZzZXRZICE9PSB1bmRlZmluZWQgPyB0aGlzLl9zYU1lbnUub3ZlcmxheUNvbmZpZy5vZmZzZXRZIDogYmFzZVBvc2l0aW9uLm9mZnNldFlcclxuICAgICAgfV0pO1xyXG5cclxuICAgIC8vIEFkZCBjdXN0b20gY2xhc3MgdG8gdGhlIG92ZXJsYXkgY29udGFpbmVyXHJcbiAgICB0aGlzLm92ZXJsYXlDb250YWluZXIuZ2V0Q29udGFpbmVyRWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoJ3NhLW1lbnUtb3ZlcmxheS1jb250YWluZXInKTtcclxuICAgIFxyXG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksIFxyXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLCBcclxuICAgICAgcGFuZWxDbGFzczogJ2N1c3RvbS1tZW51LW92ZXJsYXknXHJcbiAgICB9KTtcclxuICAgIHRoaXMuY29tcFJlZiA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobWVudVBvcnRhbCk7XHJcbiAgICB0aGlzLmNvbXBSZWYuaW5zdGFuY2UubWVudSA9IHRoaXMuc2FNZW51O1xyXG4gICAgdGhpcy5jb21wUmVmLmluc3RhbmNlLmhvc3RFbCA9IGhvc3RFbGVtZW50O1xyXG5cclxuICAgIC8vIFN1YnNjcmliZSB0byBtZW51IGNvbXBvbmVudCBldmVudHMgYW5kIGVtaXQgdGhlbVxyXG4gICAgdGhpcy5jb21wUmVmLmluc3RhbmNlLm9uRXZlbnQuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgdGhpcy5vbkV2ZW50LmVtaXQocmVzKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuY29tcFJlZi5pbnN0YW5jZS5jbG9zZUV2ZW50LnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMuZGV0YWNoTWVudSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5vdmVybGF5UmVmLm91dHNpZGVQb2ludGVyRXZlbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5kZXRhY2hNZW51KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm9uQXR0YWNoZWQuZW1pdCh7XHJcbiAgICAgIGVsZW1lbnQ6IHRoaXMuZWxSZWYsXHJcbiAgICAgIG1lbnU6IHRoaXMuX3NhTWVudVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZXRhY2hNZW51KCkge1xyXG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xyXG4gICAgICB0aGlzLm9uRGV0YWNoZWQuZW1pdCh7XHJcbiAgICAgICAgZWxlbWVudDogdGhpcy5lbFJlZixcclxuICAgICAgICBtZW51OiB0aGlzLl9zYU1lbnVcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XHJcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IG51bGw7XHJcbiAgICAgIHRoaXMuY29tcFJlZiA9IG51bGw7XHJcbiAgICAgIFxyXG4gICAgICAvLyBSZW1vdmUgdGhlIGN1c3RvbSBjbGFzcyBmcm9tIHRoZSBvdmVybGF5IGNvbnRhaW5lclxyXG4gICAgICB0aGlzLm92ZXJsYXlDb250YWluZXIuZ2V0Q29udGFpbmVyRWxlbWVudCgpLmNsYXNzTGlzdC5yZW1vdmUoJ3NhLW1lbnUtb3ZlcmxheS1jb250YWluZXInKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmNvbnN0IE1FTlVfUE9TSVRJT05TOiBNeU92ZXJsYXlQb3NpdGlvbnM9IHtcclxuICAncmlnaHQnOiB7XHJcbiAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICBvdmVybGF5WTogJ2NlbnRlcicsXHJcbiAgICBvZmZzZXRYOiAyMCxcclxuICAgIG9mZnNldFk6IDBcclxuICB9LFxyXG4gICdsZWZ0Jzoge1xyXG4gICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgb3ZlcmxheVk6ICdjZW50ZXInLFxyXG4gICAgb2Zmc2V0WDogMjAsXHJcbiAgICBvZmZzZXRZOiAwXHJcbiAgfSxcclxuICAndG9wJzoge1xyXG4gICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgIG9mZnNldFg6IDAsXHJcbiAgICBvZmZzZXRZOiAyMFxyXG4gIH0sXHJcbiAgJ2JvdHRvbSc6IHtcclxuICAgIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICBvdmVybGF5WDogJ2NlbnRlcicsXHJcbiAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICBvZmZzZXRYOiAwLFxyXG4gICAgb2Zmc2V0WTogMjBcclxuICB9XHJcbn0iXX0=
@@ -29,11 +29,11 @@ export class MessageBannerComponent {
29
29
  this.actionClick.emit(button);
30
30
  }
31
31
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MessageBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: MessageBannerComponent, isStandalone: true, selector: "sa-message-banner", inputs: { type: "type", actionText: "actionText", content: "content", bannerIcon: "bannerIcon", bannerIconSize: "bannerIconSize", buttonIcon: "buttonIcon", buttonType: "buttonType", buttonIconPosition: "buttonIconPosition", buttonSize: "buttonSize", buttonIconSize: "buttonIconSize", button: "button", onAction: "onAction" }, outputs: { actionClick: "actionClick" }, providers: [IconService], ngImport: i0, template: "<div class=\"message-banner\" [class]=\"type\">\n <div class=\"content\">\n @if (bannerIcon) {\n <sa-icon class=\"icon\" [icon]=\"bannerIcon\" [size]=\"bannerIconSize\" [style.height.px]=\"bannerIconSize\"></sa-icon>\n }\n <ng-content></ng-content>\n </div>\n @if (actionText) {\n <sa-button class=\"action-button\" [text]=\"actionText\" [icon]=\"buttonIcon\" [size]=\"buttonSize\" [type]=\"buttonType\"\n [iconPosition]=\"buttonIconPosition\" [size]=\"buttonSize\" [buttonIconSize]=\"buttonIconSize\"\n (click)=\"onAction()\" (onClickEvent)=\"handleButtonClick($event)\">{{\n actionText\n }}</sa-button>\n }\n @else if(button) {\n <sa-button\n [text]=\"button?.text\"\n [icon]=\"button?.icon\"\n [size]=\"button?.size\"\n [type]=\"button?.type\"\n [iconPosition]=\"button?.iconPosition\"\n [buttonIconSize]=\"button?.buttonIconSize\"\n (onClickEvent)=\"handleButtonClick(button, $event)\"\n role=\"button\"\n [attr.aria-label]=\"button?.text\"\n >\n \n </sa-button>\n }\n</div>", styles: [".message-banner{display:flex;align-items:center;padding:var(--small-12px, 12px) var(--small-16px, 16px);border-radius:var(--small-8px, 8px);border:1px solid var(--grey-100);font-family:Arial,sans-serif;gap:var(--small-8px, 8px)}.content{flex:1 0 0;font-family:var(--font-roboto, Roboto);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:var(--medium-20px);letter-spacing:.25px;display:flex;flex-wrap:wrap;gap:var(--small-8px, 8px);align-items:center}.action-button{background:none;border:none;cursor:pointer;padding:4px 8px}.success{background-color:#e6f4ea;border:1px solid var(--grey-100, #EAECF0);color:#1e8e3e}.warning{color:var(--text-highemphasis, #4D4D4D);border:1px solid var(--grey-50, #E9EBEB);background:var(--secondary-50, #FFF3EB)}.info{border:1px solid var(--grey-100, #EAECF0);background-color:var(--structural-primarytint, #FBFAFF);color:var(--text-mediumemphasis, #6D6979)}.disclaimer{border:1px solid var(--grey-100, #EAECF0);background-color:var(--structural-neutral3);color:var(--text-mediumemphasis, #6D6979)}.standby{border:1px solid var(--grey-100, #EAECF0);background-color:var(--Structural-Primary-tint, #F9F7FC);color:var(--text-mediumemphasis, #6D6979)}.error{color:var(--semantic-error-500, #BD271E);border:1px solid var(--grey-100, #EAECF0);background:var(--semantic-error-50, #F8E9E9)}\n"], dependencies: [{ kind: "ngmodule", type: HttpClientModule }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget"], outputs: ["onClickEvent"] }, { kind: "component", type: ButtonComponent, selector: "sa-button", inputs: ["id", "type", "state", "size", "text", "ImagePath", "icon", "iconPosition", "href", "hrefTarget", "width", "isSubmit", "buttonIconSize", "showSpinner"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }], encapsulation: i0.ViewEncapsulation.None }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: MessageBannerComponent, isStandalone: true, selector: "sa-message-banner", inputs: { type: "type", actionText: "actionText", content: "content", bannerIcon: "bannerIcon", bannerIconSize: "bannerIconSize", buttonIcon: "buttonIcon", buttonType: "buttonType", buttonIconPosition: "buttonIconPosition", buttonSize: "buttonSize", buttonIconSize: "buttonIconSize", button: "button", onAction: "onAction" }, outputs: { actionClick: "actionClick" }, providers: [IconService], ngImport: i0, template: "<div class=\"message-banner\" [class]=\"type\">\r\n <div class=\"content\">\r\n @if (bannerIcon) {\r\n <sa-icon class=\"icon\" [icon]=\"bannerIcon\" [size]=\"bannerIconSize\" [style.height.px]=\"bannerIconSize\"></sa-icon>\r\n }\r\n <ng-content></ng-content>\r\n </div>\r\n @if (actionText) {\r\n <sa-button class=\"action-button\" [text]=\"actionText\" [icon]=\"buttonIcon\" [size]=\"buttonSize\" [type]=\"buttonType\"\r\n [iconPosition]=\"buttonIconPosition\" [size]=\"buttonSize\" [buttonIconSize]=\"buttonIconSize\"\r\n (click)=\"onAction()\" (onClickEvent)=\"handleButtonClick($event)\">{{\r\n actionText\r\n }}</sa-button>\r\n }\r\n @else if(button) {\r\n <sa-button\r\n [text]=\"button?.text\"\r\n [icon]=\"button?.icon\"\r\n [size]=\"button?.size\"\r\n [type]=\"button?.type\"\r\n [iconPosition]=\"button?.iconPosition\"\r\n [buttonIconSize]=\"button?.buttonIconSize\"\r\n (onClickEvent)=\"handleButtonClick(button, $event)\"\r\n role=\"button\"\r\n [attr.aria-label]=\"button?.text\"\r\n >\r\n \r\n </sa-button>\r\n }\r\n</div>", styles: [".message-banner{display:flex;align-items:center;padding:var(--small-12px, 12px) var(--small-16px, 16px);border-radius:var(--small-8px, 8px);border:1px solid var(--grey-100);font-family:Arial,sans-serif;gap:var(--small-8px, 8px)}.content{flex:1 0 0;font-family:var(--font-roboto, Roboto);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:var(--medium-20px);letter-spacing:.25px;display:flex;flex-wrap:wrap;gap:var(--small-8px, 8px);align-items:center}.action-button{background:none;border:none;cursor:pointer;padding:4px 8px}.success{background-color:#e6f4ea;border:1px solid var(--grey-100, #EAECF0);color:#1e8e3e}.warning{color:var(--text-highemphasis, #4D4D4D);border:1px solid var(--grey-50, #E9EBEB);background:var(--secondary-50, #FFF3EB)}.info{border:1px solid var(--grey-100, #EAECF0);background-color:var(--structural-primarytint, #FBFAFF);color:var(--text-mediumemphasis, #6D6979)}.disclaimer{border:1px solid var(--grey-100, #EAECF0);background-color:var(--structural-neutral3);color:var(--text-mediumemphasis, #6D6979)}.standby{border:1px solid var(--grey-100, #EAECF0);background-color:var(--Structural-Primary-tint, #F9F7FC);color:var(--text-mediumemphasis, #6D6979)}.error{color:var(--semantic-error-500, #BD271E);border:1px solid var(--grey-100, #EAECF0);background:var(--semantic-error-50, #F8E9E9)}\n"], dependencies: [{ kind: "ngmodule", type: HttpClientModule }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget"], outputs: ["onClickEvent"] }, { kind: "component", type: ButtonComponent, selector: "sa-button", inputs: ["id", "type", "state", "size", "text", "ImagePath", "icon", "iconPosition", "href", "hrefTarget", "width", "isSubmit", "buttonIconSize", "showSpinner"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }], encapsulation: i0.ViewEncapsulation.None }); }
33
33
  }
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MessageBannerComponent, decorators: [{
35
35
  type: Component,
36
- args: [{ selector: 'sa-message-banner', standalone: true, imports: [HttpClientModule, IconComponent, ButtonComponent], providers: [IconService], encapsulation: ViewEncapsulation.None, template: "<div class=\"message-banner\" [class]=\"type\">\n <div class=\"content\">\n @if (bannerIcon) {\n <sa-icon class=\"icon\" [icon]=\"bannerIcon\" [size]=\"bannerIconSize\" [style.height.px]=\"bannerIconSize\"></sa-icon>\n }\n <ng-content></ng-content>\n </div>\n @if (actionText) {\n <sa-button class=\"action-button\" [text]=\"actionText\" [icon]=\"buttonIcon\" [size]=\"buttonSize\" [type]=\"buttonType\"\n [iconPosition]=\"buttonIconPosition\" [size]=\"buttonSize\" [buttonIconSize]=\"buttonIconSize\"\n (click)=\"onAction()\" (onClickEvent)=\"handleButtonClick($event)\">{{\n actionText\n }}</sa-button>\n }\n @else if(button) {\n <sa-button\n [text]=\"button?.text\"\n [icon]=\"button?.icon\"\n [size]=\"button?.size\"\n [type]=\"button?.type\"\n [iconPosition]=\"button?.iconPosition\"\n [buttonIconSize]=\"button?.buttonIconSize\"\n (onClickEvent)=\"handleButtonClick(button, $event)\"\n role=\"button\"\n [attr.aria-label]=\"button?.text\"\n >\n \n </sa-button>\n }\n</div>", styles: [".message-banner{display:flex;align-items:center;padding:var(--small-12px, 12px) var(--small-16px, 16px);border-radius:var(--small-8px, 8px);border:1px solid var(--grey-100);font-family:Arial,sans-serif;gap:var(--small-8px, 8px)}.content{flex:1 0 0;font-family:var(--font-roboto, Roboto);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:var(--medium-20px);letter-spacing:.25px;display:flex;flex-wrap:wrap;gap:var(--small-8px, 8px);align-items:center}.action-button{background:none;border:none;cursor:pointer;padding:4px 8px}.success{background-color:#e6f4ea;border:1px solid var(--grey-100, #EAECF0);color:#1e8e3e}.warning{color:var(--text-highemphasis, #4D4D4D);border:1px solid var(--grey-50, #E9EBEB);background:var(--secondary-50, #FFF3EB)}.info{border:1px solid var(--grey-100, #EAECF0);background-color:var(--structural-primarytint, #FBFAFF);color:var(--text-mediumemphasis, #6D6979)}.disclaimer{border:1px solid var(--grey-100, #EAECF0);background-color:var(--structural-neutral3);color:var(--text-mediumemphasis, #6D6979)}.standby{border:1px solid var(--grey-100, #EAECF0);background-color:var(--Structural-Primary-tint, #F9F7FC);color:var(--text-mediumemphasis, #6D6979)}.error{color:var(--semantic-error-500, #BD271E);border:1px solid var(--grey-100, #EAECF0);background:var(--semantic-error-50, #F8E9E9)}\n"] }]
36
+ args: [{ selector: 'sa-message-banner', standalone: true, imports: [HttpClientModule, IconComponent, ButtonComponent], providers: [IconService], encapsulation: ViewEncapsulation.None, template: "<div class=\"message-banner\" [class]=\"type\">\r\n <div class=\"content\">\r\n @if (bannerIcon) {\r\n <sa-icon class=\"icon\" [icon]=\"bannerIcon\" [size]=\"bannerIconSize\" [style.height.px]=\"bannerIconSize\"></sa-icon>\r\n }\r\n <ng-content></ng-content>\r\n </div>\r\n @if (actionText) {\r\n <sa-button class=\"action-button\" [text]=\"actionText\" [icon]=\"buttonIcon\" [size]=\"buttonSize\" [type]=\"buttonType\"\r\n [iconPosition]=\"buttonIconPosition\" [size]=\"buttonSize\" [buttonIconSize]=\"buttonIconSize\"\r\n (click)=\"onAction()\" (onClickEvent)=\"handleButtonClick($event)\">{{\r\n actionText\r\n }}</sa-button>\r\n }\r\n @else if(button) {\r\n <sa-button\r\n [text]=\"button?.text\"\r\n [icon]=\"button?.icon\"\r\n [size]=\"button?.size\"\r\n [type]=\"button?.type\"\r\n [iconPosition]=\"button?.iconPosition\"\r\n [buttonIconSize]=\"button?.buttonIconSize\"\r\n (onClickEvent)=\"handleButtonClick(button, $event)\"\r\n role=\"button\"\r\n [attr.aria-label]=\"button?.text\"\r\n >\r\n \r\n </sa-button>\r\n }\r\n</div>", styles: [".message-banner{display:flex;align-items:center;padding:var(--small-12px, 12px) var(--small-16px, 16px);border-radius:var(--small-8px, 8px);border:1px solid var(--grey-100);font-family:Arial,sans-serif;gap:var(--small-8px, 8px)}.content{flex:1 0 0;font-family:var(--font-roboto, Roboto);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:var(--medium-20px);letter-spacing:.25px;display:flex;flex-wrap:wrap;gap:var(--small-8px, 8px);align-items:center}.action-button{background:none;border:none;cursor:pointer;padding:4px 8px}.success{background-color:#e6f4ea;border:1px solid var(--grey-100, #EAECF0);color:#1e8e3e}.warning{color:var(--text-highemphasis, #4D4D4D);border:1px solid var(--grey-50, #E9EBEB);background:var(--secondary-50, #FFF3EB)}.info{border:1px solid var(--grey-100, #EAECF0);background-color:var(--structural-primarytint, #FBFAFF);color:var(--text-mediumemphasis, #6D6979)}.disclaimer{border:1px solid var(--grey-100, #EAECF0);background-color:var(--structural-neutral3);color:var(--text-mediumemphasis, #6D6979)}.standby{border:1px solid var(--grey-100, #EAECF0);background-color:var(--Structural-Primary-tint, #F9F7FC);color:var(--text-mediumemphasis, #6D6979)}.error{color:var(--semantic-error-500, #BD271E);border:1px solid var(--grey-100, #EAECF0);background:var(--semantic-error-50, #F8E9E9)}\n"] }]
37
37
  }], propDecorators: { type: [{
38
38
  type: Input
39
39
  }], actionText: [{
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
61
61
  }], actionClick: [{
62
62
  type: Output
63
63
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1iYW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9tZXNzYWdlLWJhbm5lci9tZXNzYWdlLWJhbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lc3NhZ2UtYmFubmVyL21lc3NhZ2UtYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUE7O0FBVS9DLE1BQU0sT0FBTyxzQkFBc0I7SUFUbkM7UUFVVyxTQUFJLEdBQWdCLE1BQU0sQ0FBQztRQUUzQixZQUFPLEdBQVksRUFBRSxDQUFDO1FBRXRCLG1CQUFjLEdBQVksRUFBRSxDQUFDO1FBTzdCLGFBQVEsR0FBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBaUJqRDtJQWZDLGlCQUFpQixDQUFDLEtBQVUsRUFBRSxNQUF3QjtRQUNyRCxJQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sR0FBRztnQkFDUCxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQ3JCLFlBQVksRUFBRSxJQUFJLENBQUMsa0JBQWtCO2dCQUNyQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQ3JCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztnQkFDbkMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQ3JCLEVBQUUsRUFBRSxrQkFBa0IsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDbEQsS0FBSyxFQUFFLFNBQVM7YUFDakIsQ0FBQTtRQUNGLENBQUM7UUFDQSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQTdCVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwrYUFMdEIsQ0FBQyxXQUFXLENBQUMsMEJDYjFCLDZvQ0E2Qk0sczNDRGpCTSxnQkFBZ0IsK0JBQUUsYUFBYSxxTEFBRSxlQUFlOzsyRkFNL0Msc0JBQXNCO2tCQVRsQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLGFBQ2hELENBQUMsV0FBVyxDQUFDLGlCQUdULGlCQUFpQixDQUFDLElBQUk7OEJBRzVCLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL21lc3NhZ2UtYmFubmVyJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vaWNvbi9pY29uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ljb24taW50ZXJmYWNlJztcbmltcG9ydCB7IEJ1dHRvbkljb25Qb3NpdGlvbiwgQnV0dG9uSW50ZXJmYWNlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9idXR0b24taW50ZXJmYWNlJztcbmltcG9ydCB7IGlzVW5kZWZpbmVkLCBrZWJhYkNhc2UgfSBmcm9tICdsb2Rhc2gnXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYS1tZXNzYWdlLWJhbm5lcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlLCBJY29uQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtJY29uU2VydmljZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXNzYWdlLWJhbm5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tZXNzYWdlLWJhbm5lci5jb21wb25lbnQuY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlQmFubmVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdHlwZTogTWVzc2FnZVR5cGUgPSAnaW5mbyc7XG4gIEBJbnB1dCgpIGFjdGlvblRleHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbnRlbnQ/OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYmFubmVySWNvbj86IEljb25OYW1lO1xuICBASW5wdXQoKSBiYW5uZXJJY29uU2l6ZT86IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBidXR0b25JY29uPzogSWNvbk5hbWU7XG4gIEBJbnB1dCgpIGJ1dHRvblR5cGU/OiBCdXR0b25UeXBlO1xuICBASW5wdXQoKSBidXR0b25JY29uUG9zaXRpb24/OiBCdXR0b25JY29uUG9zaXRpb247XG4gIEBJbnB1dCgpIGJ1dHRvblNpemU/OiBCdXR0b25TaXplO1xuICBASW5wdXQoKSBidXR0b25JY29uU2l6ZT86IHN0cmluZztcbiAgQElucHV0KCkgYnV0dG9uPzogQnV0dG9uSW50ZXJmYWNlO1xuICBASW5wdXQoKSBvbkFjdGlvbjogKCkgPT4gdm9pZCA9ICgpID0+IHsgfTtcbiAgQE91dHB1dCgpIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgaGFuZGxlQnV0dG9uQ2xpY2soZXZlbnQ6IGFueSwgYnV0dG9uPzogQnV0dG9uSW50ZXJmYWNlKTogdm9pZCB7XG4gICBpZihpc1VuZGVmaW5lZChidXR0b24pKSB7XG4gICAgYnV0dG9uID0ge1xuICAgICAgaWNvbjogdGhpcy5idXR0b25JY29uLFxuICAgICAgaWNvblBvc2l0aW9uOiB0aGlzLmJ1dHRvbkljb25Qb3NpdGlvbixcbiAgICAgIHNpemU6IHRoaXMuYnV0dG9uU2l6ZSxcbiAgICAgIGJ1dHRvbkljb25TaXplOiB0aGlzLmJ1dHRvbkljb25TaXplLFxuICAgICAgdHlwZTogdGhpcy5idXR0b25UeXBlLFxuICAgICAgdGV4dDogdGhpcy5hY3Rpb25UZXh0LFxuICAgICAgaWQ6IGBtZXNzYWdlLWJhbm5lci0ke2tlYmFiQ2FzZSh0aGlzLmFjdGlvblRleHQpfWAsXG4gICAgICBzdGF0ZTogJ2RlZmF1bHQnXG4gICAgfVxuICAgfVxuICAgIHRoaXMuYWN0aW9uQ2xpY2suZW1pdChidXR0b24pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWVzc2FnZS1iYW5uZXJcIiBbY2xhc3NdPVwidHlwZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgIEBpZiAoYmFubmVySWNvbikge1xuICAgICAgICA8c2EtaWNvbiBjbGFzcz1cImljb25cIiBbaWNvbl09XCJiYW5uZXJJY29uXCIgW3NpemVdPVwiYmFubmVySWNvblNpemVcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImJhbm5lckljb25TaXplXCI+PC9zYS1pY29uPlxuICAgICAgICB9XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGFjdGlvblRleHQpIHtcbiAgICA8c2EtYnV0dG9uIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIFt0ZXh0XT1cImFjdGlvblRleHRcIiBbaWNvbl09XCJidXR0b25JY29uXCIgW3NpemVdPVwiYnV0dG9uU2l6ZVwiIFt0eXBlXT1cImJ1dHRvblR5cGVcIlxuICAgICAgICBbaWNvblBvc2l0aW9uXT1cImJ1dHRvbkljb25Qb3NpdGlvblwiIFtzaXplXT1cImJ1dHRvblNpemVcIiBbYnV0dG9uSWNvblNpemVdPVwiYnV0dG9uSWNvblNpemVcIlxuICAgICAgICAoY2xpY2spPVwib25BY3Rpb24oKVwiIChvbkNsaWNrRXZlbnQpPVwiaGFuZGxlQnV0dG9uQ2xpY2soJGV2ZW50KVwiPnt7XG4gICAgICAgIGFjdGlvblRleHRcbiAgICAgICAgfX08L3NhLWJ1dHRvbj5cbiAgICB9XG4gICAgQGVsc2UgaWYoYnV0dG9uKSB7XG4gICAgICAgIDxzYS1idXR0b25cbiAgICAgICAgICBbdGV4dF09XCJidXR0b24/LnRleHRcIlxuICAgICAgICAgIFtpY29uXT1cImJ1dHRvbj8uaWNvblwiXG4gICAgICAgICAgW3NpemVdPVwiYnV0dG9uPy5zaXplXCJcbiAgICAgICAgICBbdHlwZV09XCJidXR0b24/LnR5cGVcIlxuICAgICAgICAgIFtpY29uUG9zaXRpb25dPVwiYnV0dG9uPy5pY29uUG9zaXRpb25cIlxuICAgICAgICAgIFtidXR0b25JY29uU2l6ZV09XCJidXR0b24/LmJ1dHRvbkljb25TaXplXCJcbiAgICAgICAgICAob25DbGlja0V2ZW50KT1cImhhbmRsZUJ1dHRvbkNsaWNrKGJ1dHRvbiwgJGV2ZW50KVwiXG4gICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24/LnRleHRcIlxuICAgICAgICA+XG4gICAgICAgXG4gICAgICAgIDwvc2EtYnV0dG9uPlxuICAgIH1cbjwvZGl2PiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1iYW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9tZXNzYWdlLWJhbm5lci9tZXNzYWdlLWJhbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lc3NhZ2UtYmFubmVyL21lc3NhZ2UtYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUE7O0FBVS9DLE1BQU0sT0FBTyxzQkFBc0I7SUFUbkM7UUFVVyxTQUFJLEdBQWdCLE1BQU0sQ0FBQztRQUUzQixZQUFPLEdBQVksRUFBRSxDQUFDO1FBRXRCLG1CQUFjLEdBQVksRUFBRSxDQUFDO1FBTzdCLGFBQVEsR0FBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBaUJqRDtJQWZDLGlCQUFpQixDQUFDLEtBQVUsRUFBRSxNQUF3QjtRQUNyRCxJQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sR0FBRztnQkFDUCxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQ3JCLFlBQVksRUFBRSxJQUFJLENBQUMsa0JBQWtCO2dCQUNyQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQ3JCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztnQkFDbkMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQ3JCLEVBQUUsRUFBRSxrQkFBa0IsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDbEQsS0FBSyxFQUFFLFNBQVM7YUFDakIsQ0FBQTtRQUNGLENBQUM7UUFDQSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQTdCVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwrYUFMdEIsQ0FBQyxXQUFXLENBQUMsMEJDYjFCLHVzQ0E2Qk0sczNDRGpCTSxnQkFBZ0IsK0JBQUUsYUFBYSxxTEFBRSxlQUFlOzsyRkFNL0Msc0JBQXNCO2tCQVRsQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLGFBQ2hELENBQUMsV0FBVyxDQUFDLGlCQUdULGlCQUFpQixDQUFDLElBQUk7OEJBRzVCLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXNzYWdlVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbWVzc2FnZS1iYW5uZXInO1xyXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ljb24vaWNvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICcuLi9pY29uL2ljb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ljb24taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQnV0dG9uSWNvblBvc2l0aW9uLCBCdXR0b25JbnRlcmZhY2UsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2J1dHRvbi1pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBpc1VuZGVmaW5lZCwga2ViYWJDYXNlIH0gZnJvbSAnbG9kYXNoJ1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhLW1lc3NhZ2UtYmFubmVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlLCBJY29uQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnRdLFxyXG4gIHByb3ZpZGVyczogW0ljb25TZXJ2aWNlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZS1iYW5uZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9tZXNzYWdlLWJhbm5lci5jb21wb25lbnQuY3NzJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXNzYWdlQmFubmVyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSB0eXBlOiBNZXNzYWdlVHlwZSA9ICdpbmZvJztcclxuICBASW5wdXQoKSBhY3Rpb25UZXh0Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNvbnRlbnQ/OiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBiYW5uZXJJY29uPzogSWNvbk5hbWU7XHJcbiAgQElucHV0KCkgYmFubmVySWNvblNpemU/OiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBidXR0b25JY29uPzogSWNvbk5hbWU7XHJcbiAgQElucHV0KCkgYnV0dG9uVHlwZT86IEJ1dHRvblR5cGU7XHJcbiAgQElucHV0KCkgYnV0dG9uSWNvblBvc2l0aW9uPzogQnV0dG9uSWNvblBvc2l0aW9uO1xyXG4gIEBJbnB1dCgpIGJ1dHRvblNpemU/OiBCdXR0b25TaXplO1xyXG4gIEBJbnB1dCgpIGJ1dHRvbkljb25TaXplPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGJ1dHRvbj86IEJ1dHRvbkludGVyZmFjZTtcclxuICBASW5wdXQoKSBvbkFjdGlvbjogKCkgPT4gdm9pZCA9ICgpID0+IHsgfTtcclxuICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgaGFuZGxlQnV0dG9uQ2xpY2soZXZlbnQ6IGFueSwgYnV0dG9uPzogQnV0dG9uSW50ZXJmYWNlKTogdm9pZCB7XHJcbiAgIGlmKGlzVW5kZWZpbmVkKGJ1dHRvbikpIHtcclxuICAgIGJ1dHRvbiA9IHtcclxuICAgICAgaWNvbjogdGhpcy5idXR0b25JY29uLFxyXG4gICAgICBpY29uUG9zaXRpb246IHRoaXMuYnV0dG9uSWNvblBvc2l0aW9uLFxyXG4gICAgICBzaXplOiB0aGlzLmJ1dHRvblNpemUsXHJcbiAgICAgIGJ1dHRvbkljb25TaXplOiB0aGlzLmJ1dHRvbkljb25TaXplLFxyXG4gICAgICB0eXBlOiB0aGlzLmJ1dHRvblR5cGUsXHJcbiAgICAgIHRleHQ6IHRoaXMuYWN0aW9uVGV4dCxcclxuICAgICAgaWQ6IGBtZXNzYWdlLWJhbm5lci0ke2tlYmFiQ2FzZSh0aGlzLmFjdGlvblRleHQpfWAsXHJcbiAgICAgIHN0YXRlOiAnZGVmYXVsdCdcclxuICAgIH1cclxuICAgfVxyXG4gICAgdGhpcy5hY3Rpb25DbGljay5lbWl0KGJ1dHRvbik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtZXNzYWdlLWJhbm5lclwiIFtjbGFzc109XCJ0eXBlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gICAgICAgIEBpZiAoYmFubmVySWNvbikge1xyXG4gICAgICAgIDxzYS1pY29uIGNsYXNzPVwiaWNvblwiIFtpY29uXT1cImJhbm5lckljb25cIiBbc2l6ZV09XCJiYW5uZXJJY29uU2l6ZVwiIFtzdHlsZS5oZWlnaHQucHhdPVwiYmFubmVySWNvblNpemVcIj48L3NhLWljb24+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gICAgQGlmIChhY3Rpb25UZXh0KSB7XHJcbiAgICA8c2EtYnV0dG9uIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIFt0ZXh0XT1cImFjdGlvblRleHRcIiBbaWNvbl09XCJidXR0b25JY29uXCIgW3NpemVdPVwiYnV0dG9uU2l6ZVwiIFt0eXBlXT1cImJ1dHRvblR5cGVcIlxyXG4gICAgICAgIFtpY29uUG9zaXRpb25dPVwiYnV0dG9uSWNvblBvc2l0aW9uXCIgW3NpemVdPVwiYnV0dG9uU2l6ZVwiIFtidXR0b25JY29uU2l6ZV09XCJidXR0b25JY29uU2l6ZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uKClcIiAob25DbGlja0V2ZW50KT1cImhhbmRsZUJ1dHRvbkNsaWNrKCRldmVudClcIj57e1xyXG4gICAgICAgIGFjdGlvblRleHRcclxuICAgICAgICB9fTwvc2EtYnV0dG9uPlxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYoYnV0dG9uKSB7XHJcbiAgICAgICAgPHNhLWJ1dHRvblxyXG4gICAgICAgICAgW3RleHRdPVwiYnV0dG9uPy50ZXh0XCJcclxuICAgICAgICAgIFtpY29uXT1cImJ1dHRvbj8uaWNvblwiXHJcbiAgICAgICAgICBbc2l6ZV09XCJidXR0b24/LnNpemVcIlxyXG4gICAgICAgICAgW3R5cGVdPVwiYnV0dG9uPy50eXBlXCJcclxuICAgICAgICAgIFtpY29uUG9zaXRpb25dPVwiYnV0dG9uPy5pY29uUG9zaXRpb25cIlxyXG4gICAgICAgICAgW2J1dHRvbkljb25TaXplXT1cImJ1dHRvbj8uYnV0dG9uSWNvblNpemVcIlxyXG4gICAgICAgICAgKG9uQ2xpY2tFdmVudCk9XCJoYW5kbGVCdXR0b25DbGljayhidXR0b24sICRldmVudClcIlxyXG4gICAgICAgICAgcm9sZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbj8udGV4dFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgXHJcbiAgICAgICAgPC9zYS1idXR0b24+XHJcbiAgICB9XHJcbjwvZGl2PiJdfQ==
@@ -4,7 +4,6 @@ import { IconService } from '../icon/icon.service';
4
4
  import { ButtonComponent } from '../button/button.component';
5
5
  import { HttpClientModule } from '@angular/common/http';
6
6
  import { IconComponent } from '../icon/icon.component';
7
- import { MessageBannerComponent } from '../message-banner/message-banner.component';
8
7
  import * as i0 from "@angular/core";
9
8
  import * as i1 from "@angular/common";
10
9
  export class MessageBannerV2Component {
@@ -27,7 +26,6 @@ export class MessageBannerV2Component {
27
26
  description: this.sanitizeDescription(currentState.description)
28
27
  };
29
28
  });
30
- this.banner = {};
31
29
  this.buttons = [];
32
30
  this.buttonClick = new EventEmitter();
33
31
  }
@@ -106,20 +104,12 @@ export class MessageBannerV2Component {
106
104
  originalEvent: event
107
105
  });
108
106
  }
109
- isEmptyObject(obj) {
110
- if (obj) {
111
- return Object.keys(obj).length === 0;
112
- }
113
- else {
114
- return true;
115
- }
116
- }
117
107
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MessageBannerV2Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
118
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: MessageBannerV2Component, isStandalone: true, selector: "sa-message-banner-v2", inputs: { messageType: "messageType", contactUrl: "contactUrl", spacingBetweenImageAndDescription: "spacingBetweenImageAndDescription", contentGap: "contentGap", titleClass: "titleClass", descriptionClass: "descriptionClass", banner: "banner", messageIcon: "messageIcon", messageIconSize: "messageIconSize", title: "title", description: "description", buttons: "buttons" }, outputs: { buttonClick: "buttonClick" }, providers: [IconService], usesOnChanges: true, ngImport: i0, template: "@if (bannerContent(); as content) {\n<div class=\"error-page message-banner-v2\">\n <div class=\"content-container\" [ngStyle]=\"{ gap: contentGap || 'var(--medium-32px, 32px)' }\">\n <div class=\"image-container\"\n [ngStyle]=\"{ 'margin-bottom': spacingBetweenImageAndDescription ?? 'var(--small-16px, 16px)' }\">\n <img [src]=\"content.messageIcon\" [alt]=\"content.type + ' image'\"\n [style.--message-icon-height]=\"content.messageIconSize?.height\"\n [style.--message-icon-width]=\"content.messageIconSize?.width\" />\n </div>\n <div class=\"details\">\n <div class=\"title-description\">\n <div class=\"title-class\" [ngClass]=\"titleClass || 'title-class'\" [innerHTML]=\"content.title\"></div>\n <p class=\"description\" [ngClass]=\"descriptionClass || 'description'\" [innerHTML]=\"content.description\"></p> \n <div [ngStyle]=\"{ margin: banner?.spacing + 'px 0px' }\">\n <sa-message-banner *ngIf=\"!isEmptyObject(banner)\" [type]=\"banner?.type\" [bannerIcon]=\"banner?.bannerIcon\" [buttonIcon]=\"banner?.buttonIcon\"\n [bannerIconSize]=\"banner?.bannerIconSize\" [buttonType]=\"banner?.buttonType\" [buttonSize]=\"banner?.buttonSize\" [buttonIconPosition]=\"banner?.buttonIconPosition\"\n [buttonIconSize]=\"banner?.buttonIconSize\" [actionText]=\"banner?.actionText\" >\n <div [innerHTML]=\"banner?.text\"></div>\n </sa-message-banner>\n </div>\n </div>\n @if(buttons){\n <div class=\"button-group\">\n @for (button of buttons; track button.text) {\n <sa-button [text]=\"button.text\" [icon]=\"button.icon\" [size]=\"button.size\" [type]=\"button.type\"\n [iconPosition]=\"button.iconPosition\" [buttonIconSize]=\"button.buttonIconSize\"\n (onClickEvent)=\"onButtonClick(button, $event)\" role=\"button\" [attr.aria-label]=\"button.text\">\n </sa-button>\n }\n </div>\n }\n </div>\n </div>\n</div>\n}", styles: [".error-page{display:flex;justify-content:center;align-items:center;box-sizing:border-box}.title-class{color:var(--text-highemphasis, #1C1B20);text-align:center;font-family:var(--font-roboto, Roboto);font-size:var(--small-16px, 16px);font-style:normal;font-weight:600;line-height:1.5rem;letter-spacing:.15px}.content-container{display:flex;flex-direction:column;align-items:center;gap:var(--medium-32px, 32px);text-align:center}.image-container{display:flex;justify-content:center;align-items:center;margin-bottom:var(--small-16px, 16px)}.image-container img{height:var(--message-icon-height, 12.5rem);width:var(--message-icon-width, fit-content)}.details{display:flex;flex-direction:column;align-items:center;gap:var(--medium-20px, 20px);text-align:center;background-color:var(--structural-white, #FFF)}::ng-deep .description .support-email{color:var(--primary-500);font-family:var(--font-roboto, Roboto);font-size:14px;font-style:normal;font-weight:500;line-height:1.25rem;letter-spacing:.1px}.description{color:var(--Text-Medium-Emphasis, #6D6979);text-align:center;font-family:var(--font-family, Roboto);font-size:var(--small-14px, 14px);font-style:normal;font-weight:400;line-height:var(--medium-20px, 20px);letter-spacing:.25px;margin:0}.message-banner-v2 .button-group{display:flex;gap:var(--small-8px);justify-content:center}::ng-deep .custom-contact-link{color:var(--primary-500, #7F56D9);font-family:var(--font-roboto, Roboto);font-size:var(--small-16px, 16px);font-style:normal;font-weight:600;line-height:var(--medium-24px);letter-spacing:.15px;text-decoration:none}.access-restricted-title{color:var(--text-highemphasis, #1C1B20);text-align:center;font-family:var(--font-roboto, Roboto);font-size:var(--medium-22px);font-style:normal;font-weight:500;line-height:var(--medium-28px);margin-bottom:var(--small-10px)}.access-restricted-description{text-align:center;font-family:var(--font-roboto, Roboto);font-size:var(--small-16px, 16px);line-height:var(--medium-24px);max-width:44rem;white-space:normal;word-break:break-word}.access-error-title{color:var(--semantic-error-500, #BD271E);text-align:center;font-family:var(--font-roboto, Roboto);font-size:var(--medium-22px);font-style:normal;font-weight:500;line-height:var(--medium-28px);margin-bottom:var(--small-10px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ButtonComponent, selector: "sa-button", inputs: ["id", "type", "state", "size", "text", "ImagePath", "icon", "iconPosition", "href", "hrefTarget", "width", "isSubmit", "buttonIconSize", "showSpinner"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "component", type: MessageBannerComponent, selector: "sa-message-banner", inputs: ["type", "actionText", "content", "bannerIcon", "bannerIconSize", "buttonIcon", "buttonType", "buttonIconPosition", "buttonSize", "buttonIconSize", "button", "onAction"], outputs: ["actionClick"] }] }); }
108
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: MessageBannerV2Component, isStandalone: true, selector: "sa-message-banner-v2", inputs: { messageType: "messageType", contactUrl: "contactUrl", spacingBetweenImageAndDescription: "spacingBetweenImageAndDescription", contentGap: "contentGap", titleClass: "titleClass", descriptionClass: "descriptionClass", messageIcon: "messageIcon", messageIconSize: "messageIconSize", title: "title", description: "description", buttons: "buttons" }, outputs: { buttonClick: "buttonClick" }, providers: [IconService], usesOnChanges: true, ngImport: i0, template: "@if (bannerContent(); as content) {\r\n <div class=\"error-page message-banner-v2\">\r\n <div class=\"content-container\" \r\n [ngStyle]=\"{ gap: contentGap || 'var(--medium-32px, 32px)' }\">\r\n <div class=\"image-container\"\r\n [ngStyle]=\"{ 'margin-bottom': spacingBetweenImageAndDescription ?? 'var(--small-16px, 16px)' }\">\r\n <img [src]=\"content.messageIcon\" \r\n [alt]=\"content.type + ' image'\"\r\n [style.--message-icon-height]=\"content.messageIconSize?.height\"\r\n [style.--message-icon-width]=\"content.messageIconSize?.width\" />\r\n </div>\r\n <div class=\"details\">\r\n <div class=\"title-description\">\r\n <div class=\"title-class\" [ngClass]=\"titleClass || 'title-class'\" [innerHTML]=\"content.title\"></div>\r\n <p class=\"description\" [ngClass]=\"descriptionClass || 'description'\" [innerHTML]=\"content.description\"></p>\r\n </div>\r\n @if(buttons){\r\n <div class=\"button-group\">\r\n @for (button of buttons; track button.text) {\r\n <sa-button \r\n [text]=\"button.text\"\r\n [icon]=\"button.icon\"\r\n [size]=\"button.size\"\r\n [type]=\"button.type\"\r\n [iconPosition]=\"button.iconPosition\"\r\n [buttonIconSize]=\"button.buttonIconSize\"\r\n (onClickEvent)=\"onButtonClick(button, $event)\"\r\n role=\"button\"\r\n [attr.aria-label]=\"button.text\">\r\n </sa-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".error-page{display:flex;justify-content:center;align-items:center;box-sizing:border-box}.title-class{color:var(--text-highemphasis, #1C1B20);text-align:center;font-family:var(--font-roboto, Roboto);font-size:var(--small-16px, 16px);font-style:normal;font-weight:600;line-height:1.5rem;letter-spacing:.15px}.content-container{display:flex;flex-direction:column;align-items:center;gap:var(--medium-32px, 32px);text-align:center}.image-container{display:flex;justify-content:center;align-items:center;margin-bottom:var(--small-16px, 16px)}.image-container img{height:var(--message-icon-height, 12.5rem);width:var(--message-icon-width, fit-content)}.details{display:flex;flex-direction:column;align-items:center;gap:var(--medium-20px, 20px);text-align:center;background-color:var(--structural-white, #FFF)}::ng-deep .description .support-email{color:var(--primary-500);font-family:var(--font-roboto, Roboto);font-size:14px;font-style:normal;font-weight:500;line-height:1.25rem;letter-spacing:.1px}.description{color:var(--Text-Medium-Emphasis, #6D6979);text-align:center;font-family:var(--font-family, Roboto);font-size:var(--small-14px, 14px);font-style:normal;font-weight:400;line-height:var(--medium-20px, 20px);letter-spacing:.25px;margin:0}.message-banner-v2 .button-group{display:flex;gap:var(--small-8px);justify-content:center}::ng-deep .custom-contact-link{color:var(--primary-500, #7F56D9);font-family:var(--font-roboto, Roboto);font-size:var(--small-16px, 16px);font-style:normal;font-weight:600;line-height:var(--medium-24px);letter-spacing:.15px;text-decoration:none}.access-restricted-title{color:var(--text-highemphasis, #1C1B20);text-align:center;font-family:var(--font-roboto, Roboto);font-size:var(--medium-22px);font-style:normal;font-weight:500;line-height:var(--medium-28px);margin-bottom:var(--small-10px)}.access-restricted-description{text-align:center;font-family:var(--font-roboto, Roboto);font-size:var(--small-16px, 16px);line-height:var(--medium-24px);max-width:44rem;white-space:normal;word-break:break-word}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ButtonComponent, selector: "sa-button", inputs: ["id", "type", "state", "size", "text", "ImagePath", "icon", "iconPosition", "href", "hrefTarget", "width", "isSubmit", "buttonIconSize", "showSpinner"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }, { kind: "ngmodule", type: HttpClientModule }] }); }
119
109
  }
120
110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MessageBannerV2Component, decorators: [{
121
111
  type: Component,
122
- args: [{ selector: 'sa-message-banner-v2', standalone: true, imports: [CommonModule, IconComponent, ButtonComponent, HttpClientModule, MessageBannerComponent], providers: [IconService], template: "@if (bannerContent(); as content) {\n<div class=\"error-page message-banner-v2\">\n <div class=\"content-container\" [ngStyle]=\"{ gap: contentGap || 'var(--medium-32px, 32px)' }\">\n <div class=\"image-container\"\n [ngStyle]=\"{ 'margin-bottom': spacingBetweenImageAndDescription ?? 'var(--small-16px, 16px)' }\">\n <img [src]=\"content.messageIcon\" [alt]=\"content.type + ' image'\"\n [style.--message-icon-height]=\"content.messageIconSize?.height\"\n [style.--message-icon-width]=\"content.messageIconSize?.width\" />\n </div>\n <div class=\"details\">\n <div class=\"title-description\">\n <div class=\"title-class\" [ngClass]=\"titleClass || 'title-class'\" [innerHTML]=\"content.title\"></div>\n <p class=\"description\" [ngClass]=\"descriptionClass || 'description'\" [innerHTML]=\"content.description\"></p> \n <div [ngStyle]=\"{ margin: banner?.spacing + 'px 0px' }\">\n <sa-message-banner *ngIf=\"!isEmptyObject(banner)\" [type]=\"banner?.type\" [bannerIcon]=\"banner?.bannerIcon\" [buttonIcon]=\"banner?.buttonIcon\"\n [bannerIconSize]=\"banner?.bannerIconSize\" [buttonType]=\"banner?.buttonType\" [buttonSize]=\"banner?.buttonSize\" [buttonIconPosition]=\"banner?.buttonIconPosition\"\n [buttonIconSize]=\"banner?.buttonIconSize\" [actionText]=\"banner?.actionText\" >\n <div [innerHTML]=\"banner?.text\"></div>\n </sa-message-banner>\n </div>\n </div>\n @if(buttons){\n <div class=\"button-group\">\n @for (button of buttons; track button.text) {\n <sa-button [text]=\"button.text\" [icon]=\"button.icon\" [size]=\"button.size\" [type]=\"button.type\"\n [iconPosition]=\"button.iconPosition\" [buttonIconSize]=\"button.buttonIconSize\"\n (onClickEvent)=\"onButtonClick(button, $event)\" role=\"button\" [attr.aria-label]=\"button.text\">\n </sa-button>\n }\n </div>\n }\n </div>\n </div>\n</div>\n}", styles: [".error-page{display:flex;justify-content:center;align-items:center;box-sizing:border-box}.title-class{color:var(--text-highemphasis, #1C1B20);text-align:center;font-family:var(--font-roboto, Roboto);font-size:var(--small-16px, 16px);font-style:normal;font-weight:600;line-height:1.5rem;letter-spacing:.15px}.content-container{display:flex;flex-direction:column;align-items:center;gap:var(--medium-32px, 32px);text-align:center}.image-container{display:flex;justify-content:center;align-items:center;margin-bottom:var(--small-16px, 16px)}.image-container img{height:var(--message-icon-height, 12.5rem);width:var(--message-icon-width, fit-content)}.details{display:flex;flex-direction:column;align-items:center;gap:var(--medium-20px, 20px);text-align:center;background-color:var(--structural-white, #FFF)}::ng-deep .description .support-email{color:var(--primary-500);font-family:var(--font-roboto, Roboto);font-size:14px;font-style:normal;font-weight:500;line-height:1.25rem;letter-spacing:.1px}.description{color:var(--Text-Medium-Emphasis, #6D6979);text-align:center;font-family:var(--font-family, Roboto);font-size:var(--small-14px, 14px);font-style:normal;font-weight:400;line-height:var(--medium-20px, 20px);letter-spacing:.25px;margin:0}.message-banner-v2 .button-group{display:flex;gap:var(--small-8px);justify-content:center}::ng-deep .custom-contact-link{color:var(--primary-500, #7F56D9);font-family:var(--font-roboto, Roboto);font-size:var(--small-16px, 16px);font-style:normal;font-weight:600;line-height:var(--medium-24px);letter-spacing:.15px;text-decoration:none}.access-restricted-title{color:var(--text-highemphasis, #1C1B20);text-align:center;font-family:var(--font-roboto, Roboto);font-size:var(--medium-22px);font-style:normal;font-weight:500;line-height:var(--medium-28px);margin-bottom:var(--small-10px)}.access-restricted-description{text-align:center;font-family:var(--font-roboto, Roboto);font-size:var(--small-16px, 16px);line-height:var(--medium-24px);max-width:44rem;white-space:normal;word-break:break-word}.access-error-title{color:var(--semantic-error-500, #BD271E);text-align:center;font-family:var(--font-roboto, Roboto);font-size:var(--medium-22px);font-style:normal;font-weight:500;line-height:var(--medium-28px);margin-bottom:var(--small-10px)}\n"] }]
112
+ args: [{ selector: 'sa-message-banner-v2', standalone: true, imports: [CommonModule, IconComponent, ButtonComponent, HttpClientModule], providers: [IconService], template: "@if (bannerContent(); as content) {\r\n <div class=\"error-page message-banner-v2\">\r\n <div class=\"content-container\" \r\n [ngStyle]=\"{ gap: contentGap || 'var(--medium-32px, 32px)' }\">\r\n <div class=\"image-container\"\r\n [ngStyle]=\"{ 'margin-bottom': spacingBetweenImageAndDescription ?? 'var(--small-16px, 16px)' }\">\r\n <img [src]=\"content.messageIcon\" \r\n [alt]=\"content.type + ' image'\"\r\n [style.--message-icon-height]=\"content.messageIconSize?.height\"\r\n [style.--message-icon-width]=\"content.messageIconSize?.width\" />\r\n </div>\r\n <div class=\"details\">\r\n <div class=\"title-description\">\r\n <div class=\"title-class\" [ngClass]=\"titleClass || 'title-class'\" [innerHTML]=\"content.title\"></div>\r\n <p class=\"description\" [ngClass]=\"descriptionClass || 'description'\" [innerHTML]=\"content.description\"></p>\r\n </div>\r\n @if(buttons){\r\n <div class=\"button-group\">\r\n @for (button of buttons; track button.text) {\r\n <sa-button \r\n [text]=\"button.text\"\r\n [icon]=\"button.icon\"\r\n [size]=\"button.size\"\r\n [type]=\"button.type\"\r\n [iconPosition]=\"button.iconPosition\"\r\n [buttonIconSize]=\"button.buttonIconSize\"\r\n (onClickEvent)=\"onButtonClick(button, $event)\"\r\n role=\"button\"\r\n [attr.aria-label]=\"button.text\">\r\n </sa-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".error-page{display:flex;justify-content:center;align-items:center;box-sizing:border-box}.title-class{color:var(--text-highemphasis, #1C1B20);text-align:center;font-family:var(--font-roboto, Roboto);font-size:var(--small-16px, 16px);font-style:normal;font-weight:600;line-height:1.5rem;letter-spacing:.15px}.content-container{display:flex;flex-direction:column;align-items:center;gap:var(--medium-32px, 32px);text-align:center}.image-container{display:flex;justify-content:center;align-items:center;margin-bottom:var(--small-16px, 16px)}.image-container img{height:var(--message-icon-height, 12.5rem);width:var(--message-icon-width, fit-content)}.details{display:flex;flex-direction:column;align-items:center;gap:var(--medium-20px, 20px);text-align:center;background-color:var(--structural-white, #FFF)}::ng-deep .description .support-email{color:var(--primary-500);font-family:var(--font-roboto, Roboto);font-size:14px;font-style:normal;font-weight:500;line-height:1.25rem;letter-spacing:.1px}.description{color:var(--Text-Medium-Emphasis, #6D6979);text-align:center;font-family:var(--font-family, Roboto);font-size:var(--small-14px, 14px);font-style:normal;font-weight:400;line-height:var(--medium-20px, 20px);letter-spacing:.25px;margin:0}.message-banner-v2 .button-group{display:flex;gap:var(--small-8px);justify-content:center}::ng-deep .custom-contact-link{color:var(--primary-500, #7F56D9);font-family:var(--font-roboto, Roboto);font-size:var(--small-16px, 16px);font-style:normal;font-weight:600;line-height:var(--medium-24px);letter-spacing:.15px;text-decoration:none}.access-restricted-title{color:var(--text-highemphasis, #1C1B20);text-align:center;font-family:var(--font-roboto, Roboto);font-size:var(--medium-22px);font-style:normal;font-weight:500;line-height:var(--medium-28px);margin-bottom:var(--small-10px)}.access-restricted-description{text-align:center;font-family:var(--font-roboto, Roboto);font-size:var(--small-16px, 16px);line-height:var(--medium-24px);max-width:44rem;white-space:normal;word-break:break-word}\n"] }]
123
113
  }], propDecorators: { messageType: [{
124
114
  type: Input
125
115
  }], contactUrl: [{
@@ -132,8 +122,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
132
122
  type: Input
133
123
  }], descriptionClass: [{
134
124
  type: Input
135
- }], banner: [{
136
- type: Input
137
125
  }], messageIcon: [{
138
126
  type: Input
139
127
  }], messageIconSize: [{
@@ -147,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
147
135
  }], buttonClick: [{
148
136
  type: Output
149
137
  }] } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1iYW5uZXItdjIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9tZXNzYWdlLWJhbm5lci12Mi9tZXNzYWdlLWJhbm5lci12Mi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lc3NhZ2UtYmFubmVyLXYyL21lc3NhZ2UtYmFubmVyLXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQVUsWUFBWSxFQUFFLE1BQU0sRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7QUEwQnBGLE1BQU0sT0FBTyx3QkFBd0I7SUFSckM7UUFTRSxpQ0FBaUM7UUFDekIsVUFBSyxHQUFHLE1BQU0sQ0FBcUI7WUFDekMsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsRUFBRTtZQUNULFdBQVcsRUFBRSxFQUFFO1lBQ2YsV0FBVyxFQUFFLEVBQUU7WUFDZixlQUFlLEVBQUU7Z0JBQ2YsTUFBTSxFQUFFLFNBQVM7YUFDbEI7U0FDRixDQUFDLENBQUM7UUFFSCxzQkFBc0I7UUFDWixrQkFBYSxHQUFHLFFB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YUFBYSxFQUFFLEtBQUs7U0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFRO1FBQ3BCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUN2QyxDQUFDO2FBQUksQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7OEdBMUlVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLGtlQUp4QixDQUFDLFdBQVcsQ0FBQywrQ0M5QjFCLDA5REFrQ0Msa3lFRExXLFlBQVksc1RBQWlCLGVBQWUsdVJBQUUsZ0JBQWdCLCtCQUFDLHNCQUFzQjs7MkZBS3BGLHdCQUF3QjtrQkFScEMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUMsc0JBQXNCLENBQUMsYUFDckYsQ0FBQyxXQUFXLENBQUM7OEJBeUJmLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxpQ0FBaUM7c0JBQXpDLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRU8sV0FBVztzQkFBdkIsS0FBSztnQkFJTyxlQUFlO3NCQUEzQixLQUFLO2dCQUlPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBSU8sV0FBVztzQkFBdkIsS0FBSztnQkFJRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGNvbXB1dGVkLCBzaWduYWwsIGVmZmVjdCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vaWNvbi9pY29uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ljb24taW50ZXJmYWNlJztcbmltcG9ydCB7IEJ1dHRvbkljb25Qb3NpdGlvbiwgQnV0dG9uU2l6ZSwgQnV0dG9uVHlwZSwgQnV0dG9uSW50ZXJmYWNlLCBCdXR0b25DbGlja0V2ZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9idXR0b24taW50ZXJmYWNlJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXNzYWdlQmFubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vbWVzc2FnZS1iYW5uZXIvbWVzc2FnZS1iYW5uZXIuY29tcG9uZW50JztcblxuaW50ZXJmYWNlIE1lc3NhZ2VCYW5uZXJTdGF0ZSB7XG4gIHR5cGU6ICdkZWZhdWx0JyB8ICdjb25uZWN0aW9uJyB8ICdhY2Nlc3MnIHwgJ2FjY2Vzc1Jlc3RyaWN0ZWQnO1xuICB0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBtZXNzYWdlSWNvbjogc3RyaW5nO1xuICBtZXNzYWdlSWNvblNpemU/OiB7XG4gICAgd2lkdGg/OiBzdHJpbmc7XG4gICAgaGVpZ2h0Pzogc3RyaW5nO1xuICB9O1xuICBzcGFjaW5nQmV0d2VlbkltYWdlQW5kRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGNvbnRlbnRHYXA/OiBzdHJpbmc7IFxuICBjb250YWN0VXJsPzogc3RyaW5nO1xuICB0aXRsZUNsYXNzPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbkNsYXNzPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYS1tZXNzYWdlLWJhbm5lci12MicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Db21wb25lbnQsIEJ1dHRvbkNvbXBvbmVudCwgSHR0cENsaWVudE1vZHVsZSxNZXNzYWdlQmFubmVyQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbSWNvblNlcnZpY2VdLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZS1iYW5uZXItdjIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZXNzYWdlLWJhbm5lci12Mi5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZUJhbm5lclYyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLy8gU3RhdGUgbWFuYWdlbWVudCB1c2luZyBzaWduYWxzXG4gIHByaXZhdGUgc3RhdGUgPSBzaWduYWw8TWVzc2FnZUJhbm5lclN0YXRlPih7XG4gICAgdHlwZTogJ2RlZmF1bHQnLFxuICAgIHRpdGxlOiAnJyxcbiAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgbWVzc2FnZUljb246ICcnLFxuICAgIG1lc3NhZ2VJY29uU2l6ZToge1xuICAgICAgaGVpZ2h0OiAnMTIuNXJlbSdcbiAgICB9XG4gIH0pO1xuXG4gIC8vIENvbXB1dGVkIHByb3BlcnRpZXNcbiAgcHJvdGVjdGVkIGJhbm5lckNvbnRlbnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5zdGF0ZSgpO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jdXJyZW50U3RhdGUsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5zYW5pdGl6ZURlc2NyaXB0aW9uKGN1cnJlbnRTdGF0ZS5kZXNjcmlwdGlvbilcbiAgICB9O1xuICB9KTtcblxuICBASW5wdXQoKSBtZXNzYWdlVHlwZTogJ2RlZmF1bHQnIHwgJ2Nvbm5lY3Rpb24nIHwgJ2FjY2VzcycgfCAnYWNjZXNzUmVzdHJpY3RlZCc7XG4gIEBJbnB1dCgpIGNvbnRhY3RVcmw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNwYWNpbmdCZXR3ZWVuSW1hZ2VBbmREZXNjcmlwdGlvbj86IHN0cmluZztcbiAgQElucHV0KCkgY29udGVudEdhcD86IHN0cmluZztcbiAgQElucHV0KCkgdGl0bGVDbGFzcz86IHN0cmluZztcbiAgQElucHV0KCkgZGVzY3JpcHRpb25DbGFzcz86IHN0cmluZztcbiAgQElucHV0KCkgYmFubmVyOmFueSA9IHt9O1xuXG4gIEBJbnB1dCgpIHNldCBtZXNzYWdlSWNvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zdGF0ZS51cGRhdGUocyA9PiAoeyAuLi5zLCBtZXNzYWdlSWNvbjogdmFsdWUgfSkpO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IG1lc3NhZ2VJY29uU2l6ZSh2YWx1ZTogeyB3aWR0aD86IHN0cmluZzsgaGVpZ2h0Pzogc3RyaW5nIH0pIHtcbiAgICB0aGlzLnN0YXRlLnVwZGF0ZShzID0+ICh7IC4uLnMsIG1lc3NhZ2VJY29uU2l6ZTogdmFsdWUgfSkpO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IHRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0YXRlLnVwZGF0ZShzID0+ICh7IC4uLnMsIHRpdGxlOiB2YWx1ZSB9KSk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgZGVzY3JpcHRpb24odmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuc3RhdGUudXBkYXRlKHMgPT4gKHsgLi4ucywgZGVzY3JpcHRpb246IHZhbHVlIH0pKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGJ1dHRvbnM6IEJ1dHRvbkludGVyZmFjZVtdID0gW107XG4gIEBPdXRwdXQoKSBidXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8QnV0dG9uQ2xpY2tFdmVudD4oKTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgZmlyc3QgaW5pdGlhbGl6YXRpb24gb3IgaWYgbWVzc2FnZVR5cGUgaGFzIGNoYW5nZWRcbiAgICBjb25zdCBzaG91bGRVcGRhdGVCYXNlZE9uVHlwZSA9IGNoYW5nZXNbJ21lc3NhZ2VUeXBlJ10gJiYgXG4gICAgICAvLyBPbmx5IHVwZGF0ZSBiYXNlZCBvbiB0eXBlIGlmIHdlIGRvbid0IGhhdmUgY3VzdG9tIHZhbHVlcyBzZXRcbiAgICAgICEodGhpcy5zdGF0ZSgpLnRpdGxlIHx8IHRoaXMuc3RhdGUoKS5kZXNjcmlwdGlvbiB8fCB0aGlzLnN0YXRlKCkubWVzc2FnZUljb24pO1xuICAgIFxuICAgIGlmIChzaG91bGRVcGRhdGVCYXNlZE9uVHlwZSkge1xuICAgICAgdGhpcy51cGRhdGVDb250ZW50QmFzZWRPblR5cGUodGhpcy5tZXNzYWdlVHlwZSB8fCAnZGVmYXVsdCcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29udGVudEJhc2VkT25UeXBlKHR5cGU6ICdkZWZhdWx0JyB8ICdjb25uZWN0aW9uJyB8ICdhY2Nlc3MnIHwgJ2FjY2Vzc1Jlc3RyaWN0ZWQnKSB7XG4gICAgLy8gRGVmaW5lIGEgdHlwZSBmb3IgdGhlIGNvbnRlbnQgaXRlbXMgdG8gZW5zdXJlIGFsbCBwcm9wZXJ0aWVzIGFyZSBwcm9wZXJseSB0eXBlZFxuICAgIHR5cGUgQ29udGVudEl0ZW0gPSB7XG4gICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICAgIG1lc3NhZ2VJY29uOiBzdHJpbmc7XG4gICAgICBzcGFjaW5nQmV0d2VlbkltYWdlQW5kRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgICBjb250ZW50R2FwPzogc3RyaW5nO1xuICAgICAgdGl0bGVDbGFzcz86IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uQ2xhc3M/OiBzdHJpbmc7XG4gICAgfTtcblxuICAgIC8vIE9ubHkgYXBwbHkgZGVmYXVsdCBjb250ZW50IGlmIGN1c3RvbSBjb250ZW50IGhhc24ndCBiZWVuIHByb3ZpZGVkXG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5zdGF0ZSgpO1xuICAgIGNvbnN0IGNvbnRlbnQ6IFJlY29yZDwnZGVmYXVsdCcgfCAnY29ubmVjdGlvbicgfCAnYWNjZXNzJyB8ICdhY2Nlc3NSZXN0cmljdGVkJywgQ29udGVudEl0ZW0+ID0ge1xuICAgICAgZGVmYXVsdDoge1xuICAgICAgICB0aXRsZTogJ09vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluIG9yIHRyeSBhZnRlciBzb21lIHRpbWUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0lmIHRoZSBpc3N1ZSBwZXJzaXN0cywgY29udGFjdCBvdXIgc3VwcG9ydCB0ZWFtIGF0IDxzcGFuIGNsYXNzPVwic3VwcG9ydC1lbWFpbFwiPnN1cHBvcnRAc2FyYXNhbmFseXRpY3MuY29tPC9zcGFuPicsXG4gICAgICAgIG1lc3NhZ2VJY29uOiAnL2Fzc2V0cy9lcnJvci5naWYnXG4gICAgICB9LFxuICAgICAgY29ubmVjdGlvbjoge1xuICAgICAgICB0aXRsZTogJ1dlXFwncmUgaGF2aW5nIHRyb3VibGUgY29ubmVjdGluZy4gUGxlYXNlIGNoZWNrIHlvdXIgaW50ZXJuZXQgY29ubmVjdGlvbiBhbmQgdHJ5IGFnYWluJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdZb3UgY2FuIGFsc28gcmVhY2ggb3V0IHRvIG91ciBzdXBwb3J0IHRlYW0gYXQgPHNwYW4gY2xhc3M9XCJzdXBwb3J0LWVtYWlsXCI+c3VwcG9ydEBzYXJhc2FuYWx5dGljcy5jb208L3NwYW4+IGZvciBhc3Npc3RhbmNlJyxcbiAgICAgICAgbWVzc2FnZUljb246ICcvYXNzZXRzL2xvc3QtY29ubmVjdGlvbi5naWYnXG4gICAgICB9LFxuICAgICAgYWNjZXNzOiB7XG4gICAgICAgIHRpdGxlOiAnVGhpcyBpcyB0YWtpbmcgYSBiaXQgbG9uZ2VyIHRoYW4gdXN1YWwuIFBsZWFzZSBob2xkIG9uIScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnSWYgdGhlIGRlbGF5IGNvbnRpbnVlcywgY2hlY2sgeW91ciBjb25uZWN0aW9uIGFuZCB0cnkgcmVmcmVzaGluZyB0aGUgcGFnZS4nLFxuICAgICAgICBtZXNzYWdlSWNvbjogJy9hc3NldHMvbG9uZy1sb2FkaW5nLmdpZidcbiAgICAgIH0sXG4gICAgICBhY2Nlc3NSZXN0cmljdGVkOiB7XG4gICAgICAgIHRpdGxlOiAnQWNjZXNzIFJlc3RyaWN0ZWQhJyxcbiAgICAgICAgZGVzY3JpcHRpb246IGBMb29rcyBsaWtlIHlvdSBkb24ndCBoYXZlIGFjY2VzcyB0byB0aGlzIG1vZHVsZSBqdXN0IHlldC4gTm8gd29ycmllc+KAlHJlYWNoIG91dCB0byB5b3VyIGFkbWluIHRvIHJlcXVlc3QgYWNjZXNzIHRvIHRoaXMgZmVhdHVyZS4gSWYgeW91J3JlIGZhY2luZyBhbnkgaXNzdWVzLCBmZWVsIGZyZWUgdG8gPGEgY2xhc3M9XCJjdXN0b20tY29udGFjdC1saW5rXCIgaHJlZj1cIiR7dGhpcy5jb250YWN0VXJsID8/ICdodHRwczovL3N1cHBvcnQuZGVmYXVsdC5jb20nfVwiIHRhcmdldD1cIl9ibGFua1wiPkNvbnRhY3QgVXM8L2E+LmAsXG4gICAgICAgIG1lc3NhZ2VJY29uOiAnL2Fzc2V0cy9hY2Nlc3MtcmVzdHJpY3RlZC5naWYnLFxuICAgICAgICBzcGFjaW5nQmV0d2VlbkltYWdlQW5kRGVzY3JpcHRpb246ICcwcHgnLFxuICAgICAgICBjb250ZW50R2FwOicyMHB4JyxcbiAgICAgICAgdGl0bGVDbGFzczogJ2FjY2Vzcy1yZXN0cmljdGVkLXRpdGxlJyxcbiAgICAgICAgZGVzY3JpcHRpb25DbGFzczogJ2FjY2Vzcy1yZXN0cmljdGVkLWRlc2NyaXB0aW9uJyxcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgY29udGVudEl0ZW0gPSBjb250ZW50W3R5cGVdO1xuXG4gICAgdGhpcy5zdGF0ZS51cGRhdGUocyA9PiAoe1xuICAgICAgLi4ucyxcbiAgICAgIHR5cGUsXG4gICAgICAvLyBPbmx5IGFwcGx5IGRlZmF1bHQgdmFsdWVzIGlmIGN1c3RvbSB2YWx1ZXMgaGF2ZW4ndCBiZWVuIHByb3ZpZGVkXG4gICAgICB0aXRsZTogcy50aXRsZSB8fCBjb250ZW50SXRlbS50aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBzLmRlc2NyaXB0aW9uIHx8IGNvbnRlbnRJdGVtLmRlc2NyaXB0aW9uLFxuICAgICAgbWVzc2FnZUljb246IHMubWVzc2FnZUljb24gfHwgY29udGVudEl0ZW0ubWVzc2FnZUljb24sXG4gICAgICAvLyBGb3Igb3RoZXIgcHJvcGVydGllcywgb25seSBhcHBseSB0aGVtIGlmIHRoZXkgZXhpc3QgaW4gdGhlIGNvbnRlbnRJdGVtXG4gICAgICAuLi4oY29udGVudEl0ZW0uc3BhY2luZ0JldHdlZW5JbWFnZUFuZERlc2NyaXB0aW9uICYmIHsgc3BhY2luZ0JldHdlZW5JbWFnZUFuZERlc2NyaXB0aW9uOiBjb250ZW50SXRlbS5zcGFjaW5nQmV0d2VlbkltYWdlQW5kRGVzY3JpcHRpb24gfSksXG4gICAgICAuLi4oY29udGVudEl0ZW0uY29udGVudEdhcCAmJiB7IGNvbnRlbnRHYXA6IGNvbnRlbnRJdGVtLmNvbnRlbnRHYXAgfSksXG4gICAgICAuLi4oY29udGVudEl0ZW0udGl0bGVDbGFzcyAmJiB7IHRpdGxlQ2xhc3M6IGNvbnRlbnRJdGVtLnRpdGxlQ2xhc3MgfSksXG4gICAgICAuLi4oY29udGVudEl0ZW0uZGVzY3JpcHRpb25DbGFzcyAmJiB7IGRlc2NyaXB0aW9uQ2xhc3M6IGNvbnRlbnRJdGVtLmRlc2NyaXB0aW9uQ2xhc3MgfSlcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIHNhbml0aXplRGVzY3JpcHRpb24oZGVzY3JpcHRpb246IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGRlc2NyaXB0aW9uLnJlcGxhY2UoXG4gICAgICAvc3VwcG9ydEBzYXJhc2FuYWx5dGljc1xcLmNvbS9nLFxuICAgICAgJzxzcGFuIGNsYXNzPVwic3VwcG9ydC1lbWFpbFwiPnN1cHBvcnRAc2FyYXNhbmFseXRpY3MuY29tPC9zcGFuPidcbiAgICApO1xuICB9XG5cbiAgb25CdXR0b25DbGljayhidXR0b246IEJ1dHRvbkludGVyZmFjZSwgZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5idXR0b25DbGljay5lbWl0KHtcbiAgICAgIHR5cGU6IGJ1dHRvbi50eXBlIGFzICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknLFxuICAgICAgYnV0dG9uLFxuICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnRcbiAgICB9KTtcbiAgfVxuXG4gIGlzRW1wdHlPYmplY3Qob2JqOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAob2JqKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqKS5sZW5ndGggPT09IDA7XG4gICAgfWVsc2V7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpZiAoYmFubmVyQ29udGVudCgpOyBhcyBjb250ZW50KSB7XG48ZGl2IGNsYXNzPVwiZXJyb3ItcGFnZSBtZXNzYWdlLWJhbm5lci12MlwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGVudC1jb250YWluZXJcIiBbbmdTdHlsZV09XCJ7IGdhcDogY29udGVudEdhcCB8fCAndmFyKC0tbWVkaXVtLTMycHgsIDMycHgpJyB9XCI+XG4gICAgPGRpdiBjbGFzcz1cImltYWdlLWNvbnRhaW5lclwiXG4gICAgICBbbmdTdHlsZV09XCJ7ICdtYXJnaW4tYm90dG9tJzogc3BhY2luZ0JldHdlZW5JbWFnZUFuZERlc2NyaXB0aW9uID8/ICd2YXIoLS1zbWFsbC0xNnB4LCAxNnB4KScgfVwiPlxuICAgICAgPGltZyBbc3JjXT1cImNvbnRlbnQubWVzc2FnZUljb25cIiBbYWx0XT1cImNvbnRlbnQudHlwZSArICcgaW1hZ2UnXCJcbiAgICAgICAgW3N0eWxlLi0tbWVzc2FnZS1pY29uLWhlaWdodF09XCJjb250ZW50Lm1lc3NhZ2VJY29uU2l6ZT8uaGVpZ2h0XCJcbiAgICAgICAgW3N0eWxlLi0tbWVzc2FnZS1pY29uLXdpZHRoXT1cImNvbnRlbnQubWVzc2FnZUljb25TaXplPy53aWR0aFwiIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImRldGFpbHNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZS1kZXNjcmlwdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtY2xhc3NcIiBbbmdDbGFzc109XCJ0aXRsZUNsYXNzIHx8ICd0aXRsZS1jbGFzcydcIiBbaW5uZXJIVE1MXT1cImNvbnRlbnQudGl0bGVcIj48L2Rpdj5cbiAgICAgICAgPHAgY2xhc3M9XCJkZXNjcmlwdGlvblwiIFtuZ0NsYXNzXT1cImRlc2NyaXB0aW9uQ2xhc3MgfHwgJ2Rlc2NyaXB0aW9uJ1wiIFtpbm5lckhUTUxdPVwiY29udGVudC5kZXNjcmlwdGlvblwiPjwvcD4gXG4gICAgICAgIDxkaXYgW25nU3R5bGVdPVwieyBtYXJnaW46IGJhbm5lcj8uc3BhY2luZyArICdweCAwcHgnIH1cIj5cbiAgICAgICAgICA8c2EtbWVzc2FnZS1iYW5uZXIgKm5nSWY9XCIhaXNFbXB0eU9iamVjdChiYW5uZXIpXCIgW3R5cGVdPVwiYmFubmVyPy50eXBlXCIgW2Jhbm5lckljb25dPVwiYmFubmVyPy5iYW5uZXJJY29uXCIgW2J1dHRvbkljb25dPVwiYmFubmVyPy5idXR0b25JY29uXCJcbiAgICAgICAgICAgIFtiYW5uZXJJY29uU2l6ZV09XCJiYW5uZXI/LmJhbm5lckljb25TaXplXCIgW2J1dHRvblR5cGVdPVwiYmFubmVyPy5idXR0b25UeXBlXCIgW2J1dHRvblNpemVdPVwiYmFubmVyPy5idXR0b25TaXplXCIgW2J1dHRvbkljb25Qb3NpdGlvbl09XCJiYW5uZXI/LmJ1dHRvbkljb25Qb3NpdGlvblwiXG4gICAgICAgICAgICBbYnV0dG9uSWNvblNpemVdPVwiYmFubmVyPy5idXR0b25JY29uU2l6ZVwiIFthY3Rpb25UZXh0XT1cImJhbm5lcj8uYWN0aW9uVGV4dFwiID5cbiAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJiYW5uZXI/LnRleHRcIj48L2Rpdj5cbiAgICAgICAgICA8L3NhLW1lc3NhZ2UtYmFubmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgQGlmKGJ1dHRvbnMpe1xuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1ncm91cFwiPlxuICAgICAgICBAZm9yIChidXR0b24gb2YgYnV0dG9uczsgdHJhY2sgYnV0dG9uLnRleHQpIHtcbiAgICAgICAgPHNhLWJ1dHRvbiBbdGV4dF09XCJidXR0b24udGV4dFwiIFtpY29uXT1cImJ1dHRvbi5pY29uXCIgW3NpemVdPVwiYnV0dG9uLnNpemVcIiBbdHlwZV09XCJidXR0b24udHlwZVwiXG4gICAgICAgICAgW2ljb25Qb3NpdGlvbl09XCJidXR0b24uaWNvblBvc2l0aW9uXCIgW2J1dHRvbkljb25TaXplXT1cImJ1dHRvbi5idXR0b25JY29uU2l6ZVwiXG4gICAgICAgICAgKG9uQ2xpY2tFdmVudCk9XCJvbkJ1dHRvbkNsaWNrKGJ1dHRvbiwgJGV2ZW50KVwiIHJvbGU9XCJidXR0b25cIiBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi50ZXh0XCI+XG4gICAgICAgIDwvc2EtYnV0dG9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbn0iXX0=
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1iYW5uZXItdjIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9tZXNzYWdlLWJhbm5lci12Mi9tZXNzYWdlLWJhbm5lci12Mi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lc3NhZ2UtYmFubmVyLXYyL21lc3NhZ2UtYmFubmVyLXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQVUsWUFBWSxFQUFFLE1BQU0sRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUEwQnZELE1BQU0sT0FBTyx3QkFBd0I7SUFSckM7UUFTRSxpQ0FBaUM7UUFDekIsVUFBSyxHQUFHLE1BQU0sQ0FBcUI7WUFDekMsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsRUFBRTtZQUNULFdBQVcsRUFBRSxFQUFFO1lBQ2YsV0FBVyxFQUFFLEVBQUU7WUFDZixlQUFlLEVBQUU7Z0JBQ2YsTUFBTSxFQUFFLFNBQVM7YUFDbEI7U0FDRixDQUFDLENBQUM7UUFFSCxzQkFBc0I7UUFDWixrQkFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxD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QUp4QixDQUFDLFdBQVcsQ0FBQywrQ0M3QjFCLCtvREFxQ0EsOGlFRFRZLFlBQVksa05BQWlCLGVBQWUsdVJBQUUsZ0JBQWdCOzsyRkFLN0Qsd0JBQXdCO2tCQVJwQyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxhQUM5RCxDQUFDLFdBQVcsQ0FBQzs4QkF5QmYsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlDQUFpQztzQkFBekMsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUdPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBSU8sZUFBZTtzQkFBM0IsS0FBSztnQkFJTyxLQUFLO3NCQUFqQixLQUFLO2dCQUlPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBSUcsT0FBTztzQkFBZixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBjb21wdXRlZCwgc2lnbmFsLCBlZmZlY3QsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICcuLi9pY29uL2ljb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ljb24taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQnV0dG9uSWNvblBvc2l0aW9uLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25JbnRlcmZhY2UsIEJ1dHRvbkNsaWNrRXZlbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2J1dHRvbi1pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XHJcblxyXG5pbnRlcmZhY2UgTWVzc2FnZUJhbm5lclN0YXRlIHtcclxuICB0eXBlOiAnZGVmYXVsdCcgfCAnY29ubmVjdGlvbicgfCAnYWNjZXNzJyB8ICdhY2Nlc3NSZXN0cmljdGVkJztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgbWVzc2FnZUljb246IHN0cmluZztcclxuICBtZXNzYWdlSWNvblNpemU/OiB7XHJcbiAgICB3aWR0aD86IHN0cmluZztcclxuICAgIGhlaWdodD86IHN0cmluZztcclxuICB9O1xyXG4gIHNwYWNpbmdCZXR3ZWVuSW1hZ2VBbmREZXNjcmlwdGlvbj86IHN0cmluZztcclxuICBjb250ZW50R2FwPzogc3RyaW5nOyBcclxuICBjb250YWN0VXJsPzogc3RyaW5nO1xyXG4gIHRpdGxlQ2xhc3M/OiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb25DbGFzcz86IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYS1tZXNzYWdlLWJhbm5lci12MicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnQsIEh0dHBDbGllbnRNb2R1bGVdLFxyXG4gIHByb3ZpZGVyczogW0ljb25TZXJ2aWNlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZS1iYW5uZXItdjIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21lc3NhZ2UtYmFubmVyLXYyLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVzc2FnZUJhbm5lclYyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICAvLyBTdGF0ZSBtYW5hZ2VtZW50IHVzaW5nIHNpZ25hbHNcclxuICBwcml2YXRlIHN0YXRlID0gc2lnbmFsPE1lc3NhZ2VCYW5uZXJTdGF0ZT4oe1xyXG4gICAgdHlwZTogJ2RlZmF1bHQnLFxyXG4gICAgdGl0bGU6ICcnLFxyXG4gICAgZGVzY3JpcHRpb246ICcnLFxyXG4gICAgbWVzc2FnZUljb246ICcnLFxyXG4gICAgbWVzc2FnZUljb25TaXplOiB7XHJcbiAgICAgIGhlaWdodDogJzEyLjVyZW0nXHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIC8vIENvbXB1dGVkIHByb3BlcnRpZXNcclxuICBwcm90ZWN0ZWQgYmFubmVyQ29udGVudCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMuc3RhdGUoKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIC4uLmN1cnJlbnRTdGF0ZSxcclxuICAgICAgZGVzY3JpcHRpb246IHRoaXMuc2FuaXRpemVEZXNjcmlwdGlvbihjdXJyZW50U3RhdGUuZGVzY3JpcHRpb24pXHJcbiAgICB9O1xyXG4gIH0pO1xyXG5cclxuICBASW5wdXQoKSBtZXNzYWdlVHlwZTogJ2RlZmF1bHQnIHwgJ2Nvbm5lY3Rpb24nIHwgJ2FjY2VzcycgfCAnYWNjZXNzUmVzdHJpY3RlZCc7XHJcbiAgQElucHV0KCkgY29udGFjdFVybD86IHN0cmluZztcclxuICBASW5wdXQoKSBzcGFjaW5nQmV0d2VlbkltYWdlQW5kRGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY29udGVudEdhcD86IHN0cmluZztcclxuICBASW5wdXQoKSB0aXRsZUNsYXNzPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uQ2xhc3M/OiBzdHJpbmc7XHJcblxyXG5cclxuICBASW5wdXQoKSBzZXQgbWVzc2FnZUljb24odmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5zdGF0ZS51cGRhdGUocyA9PiAoeyAuLi5zLCBtZXNzYWdlSWNvbjogdmFsdWUgfSkpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IG1lc3NhZ2VJY29uU2l6ZSh2YWx1ZTogeyB3aWR0aD86IHN0cmluZzsgaGVpZ2h0Pzogc3RyaW5nIH0pIHtcclxuICAgIHRoaXMuc3RhdGUudXBkYXRlKHMgPT4gKHsgLi4ucywgbWVzc2FnZUljb25TaXplOiB2YWx1ZSB9KSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgdGl0bGUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5zdGF0ZS51cGRhdGUocyA9PiAoeyAuLi5zLCB0aXRsZTogdmFsdWUgfSkpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGRlc2NyaXB0aW9uKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc3RhdGUudXBkYXRlKHMgPT4gKHsgLi4ucywgZGVzY3JpcHRpb246IHZhbHVlIH0pKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGJ1dHRvbnM6IEJ1dHRvbkludGVyZmFjZVtdID0gW107XHJcbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxCdXR0b25DbGlja0V2ZW50PigpO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSBmaXJzdCBpbml0aWFsaXphdGlvbiBvciBpZiBtZXNzYWdlVHlwZSBoYXMgY2hhbmdlZFxyXG4gICAgY29uc3Qgc2hvdWxkVXBkYXRlQmFzZWRPblR5cGUgPSBjaGFuZ2VzWydtZXNzYWdlVHlwZSddICYmIFxyXG4gICAgICAvLyBPbmx5IHVwZGF0ZSBiYXNlZCBvbiB0eXBlIGlmIHdlIGRvbid0IGhhdmUgY3VzdG9tIHZhbHVlcyBzZXRcclxuICAgICAgISh0aGlzLnN0YXRlKCkudGl0bGUgfHwgdGhpcy5zdGF0ZSgpLmRlc2NyaXB0aW9uIHx8IHRoaXMuc3RhdGUoKS5tZXNzYWdlSWNvbik7XHJcbiAgICBcclxuICAgIGlmIChzaG91bGRVcGRhdGVCYXNlZE9uVHlwZSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbnRlbnRCYXNlZE9uVHlwZSh0aGlzLm1lc3NhZ2VUeXBlIHx8ICdkZWZhdWx0Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUNvbnRlbnRCYXNlZE9uVHlwZSh0eXBlOiAnZGVmYXVsdCcgfCAnY29ubmVjdGlvbicgfCAnYWNjZXNzJyB8ICdhY2Nlc3NSZXN0cmljdGVkJykge1xyXG4gICAgLy8gRGVmaW5lIGEgdHlwZSBmb3IgdGhlIGNvbnRlbnQgaXRlbXMgdG8gZW5zdXJlIGFsbCBwcm9wZXJ0aWVzIGFyZSBwcm9wZXJseSB0eXBlZFxyXG4gICAgdHlwZSBDb250ZW50SXRlbSA9IHtcclxuICAgICAgdGl0bGU6IHN0cmluZztcclxuICAgICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgICAgbWVzc2FnZUljb246IHN0cmluZztcclxuICAgICAgc3BhY2luZ0JldHdlZW5JbWFnZUFuZERlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG4gICAgICBjb250ZW50R2FwPzogc3RyaW5nO1xyXG4gICAgICB0aXRsZUNsYXNzPzogc3RyaW5nO1xyXG4gICAgICBkZXNjcmlwdGlvbkNsYXNzPzogc3RyaW5nO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyBPbmx5IGFwcGx5IGRlZmF1bHQgY29udGVudCBpZiBjdXN0b20gY29udGVudCBoYXNuJ3QgYmVlbiBwcm92aWRlZFxyXG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5zdGF0ZSgpO1xyXG4gICAgY29uc3QgY29udGVudDogUmVjb3JkPCdkZWZhdWx0JyB8ICdjb25uZWN0aW9uJyB8ICdhY2Nlc3MnIHwgJ2FjY2Vzc1Jlc3RyaWN0ZWQnLCBDb250ZW50SXRlbT4gPSB7XHJcbiAgICAgIGRlZmF1bHQ6IHtcclxuICAgICAgICB0aXRsZTogJ09vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluIG9yIHRyeSBhZnRlciBzb21lIHRpbWUnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnSWYgdGhlIGlzc3VlIHBlcnNpc3RzLCBjb250YWN0IG91ciBzdXBwb3J0IHRlYW0gYXQgPHNwYW4gY2xhc3M9XCJzdXBwb3J0LWVtYWlsXCI+c3VwcG9ydEBzYXJhc2FuYWx5dGljcy5jb208L3NwYW4+JyxcclxuICAgICAgICBtZXNzYWdlSWNvbjogJy9hc3NldHMvZXJyb3IuZ2lmJ1xyXG4gICAgICB9LFxyXG4gICAgICBjb25uZWN0aW9uOiB7XHJcbiAgICAgICAgdGl0bGU6ICdXZVxcJ3JlIGhhdmluZyB0cm91YmxlIGNvbm5lY3RpbmcuIFBsZWFzZSBjaGVjayB5b3VyIGludGVybmV0IGNvbm5lY3Rpb24gYW5kIHRyeSBhZ2FpbicsXHJcbiAgICAgICAgZGVzY3JpcHRpb246ICdZb3UgY2FuIGFsc28gcmVhY2ggb3V0IHRvIG91ciBzdXBwb3J0IHRlYW0gYXQgPHNwYW4gY2xhc3M9XCJzdXBwb3J0LWVtYWlsXCI+c3VwcG9ydEBzYXJhc2FuYWx5dGljcy5jb208L3NwYW4+IGZvciBhc3Npc3RhbmNlJyxcclxuICAgICAgICBtZXNzYWdlSWNvbjogJy9hc3NldHMvbG9zdC1jb25uZWN0aW9uLmdpZidcclxuICAgICAgfSxcclxuICAgICAgYWNjZXNzOiB7XHJcbiAgICAgICAgdGl0bGU6ICdUaGlzIGlzIHRha2luZyBhIGJpdCBsb25nZXIgdGhhbiB1c3VhbC4gUGxlYXNlIGhvbGQgb24hJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ0lmIHRoZSBkZWxheSBjb250aW51ZXMsIGNoZWNrIHlvdXIgY29ubmVjdGlvbiBhbmQgdHJ5IHJlZnJlc2hpbmcgdGhlIHBhZ2UuJyxcclxuICAgICAgICBtZXNzYWdlSWNvbjogJy9hc3NldHMvbG9uZy1sb2FkaW5nLmdpZidcclxuICAgICAgfSxcclxuICAgICAgYWNjZXNzUmVzdHJpY3RlZDoge1xyXG4gICAgICAgIHRpdGxlOiAnQWNjZXNzIFJlc3RyaWN0ZWQhJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogYExvb2tzIGxpa2UgeW91IGRvbid0IGhhdmUgYWNjZXNzIHRvIHRoaXMgbW9kdWxlIGp1c3QgeWV0LiBObyB3b3JyaWVz4oCUcmVhY2ggb3V0IHRvIHlvdXIgYWRtaW4gdG8gcmVxdWVzdCBhY2Nlc3MgdG8gdGhpcyBmZWF0dXJlLiBJZiB5b3UncmUgZmFjaW5nIGFueSBpc3N1ZXMsIGZlZWwgZnJlZSB0byA8YSBjbGFzcz1cImN1c3RvbS1jb250YWN0LWxpbmtcIiBocmVmPVwiJHt0aGlzLmNvbnRhY3RVcmwgPz8gJ2h0dHBzOi8vc3VwcG9ydC5kZWZhdWx0LmNvbSd9XCIgdGFyZ2V0PVwiX2JsYW5rXCI+Q29udGFjdCBVczwvYT4uYCxcclxuICAgICAgICBtZXNzYWdlSWNvbjogJy9hc3NldHMvYWNjZXNzLXJlc3RyaWN0ZWQuZ2lmJyxcclxuICAgICAgICBzcGFjaW5nQmV0d2VlbkltYWdlQW5kRGVzY3JpcHRpb246ICcwcHgnLFxyXG4gICAgICAgIGNvbnRlbnRHYXA6JzIwcHgnLFxyXG4gICAgICAgIHRpdGxlQ2xhc3M6ICdhY2Nlc3MtcmVzdHJpY3RlZC10aXRsZScsXHJcbiAgICAgICAgZGVzY3JpcHRpb25DbGFzczogJ2FjY2Vzcy1yZXN0cmljdGVkLWRlc2NyaXB0aW9uJyxcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjb250ZW50SXRlbSA9IGNvbnRlbnRbdHlwZV07XHJcblxyXG4gICAgdGhpcy5zdGF0ZS51cGRhdGUocyA9PiAoe1xyXG4gICAgICAuLi5zLFxyXG4gICAgICB0eXBlLFxyXG4gICAgICAvLyBPbmx5IGFwcGx5IGRlZmF1bHQgdmFsdWVzIGlmIGN1c3RvbSB2YWx1ZXMgaGF2ZW4ndCBiZWVuIHByb3ZpZGVkXHJcbiAgICAgIHRpdGxlOiBzLnRpdGxlIHx8IGNvbnRlbnRJdGVtLnRpdGxlLFxyXG4gICAgICBkZXNjcmlwdGlvbjogcy5kZXNjcmlwdGlvbiB8fCBjb250ZW50SXRlbS5kZXNjcmlwdGlvbixcclxuICAgICAgbWVzc2FnZUljb246IHMubWVzc2FnZUljb24gfHwgY29udGVudEl0ZW0ubWVzc2FnZUljb24sXHJcbiAgICAgIC8vIEZvciBvdGhlciBwcm9wZXJ0aWVzLCBvbmx5IGFwcGx5IHRoZW0gaWYgdGhleSBleGlzdCBpbiB0aGUgY29udGVudEl0ZW1cclxuICAgICAgLi4uKGNvbnRlbnRJdGVtLnNwYWNpbmdCZXR3ZWVuSW1hZ2VBbmREZXNjcmlwdGlvbiAmJiB7IHNwYWNpbmdCZXR3ZWVuSW1hZ2VBbmREZXNjcmlwdGlvbjogY29udGVudEl0ZW0uc3BhY2luZ0JldHdlZW5JbWFnZUFuZERlc2NyaXB0aW9uIH0pLFxyXG4gICAgICAuLi4oY29udGVudEl0ZW0uY29udGVudEdhcCAmJiB7IGNvbnRlbnRHYXA6IGNvbnRlbnRJdGVtLmNvbnRlbnRHYXAgfSksXHJcbiAgICAgIC4uLihjb250ZW50SXRlbS50aXRsZUNsYXNzICYmIHsgdGl0bGVDbGFzczogY29udGVudEl0ZW0udGl0bGVDbGFzcyB9KSxcclxuICAgICAgLi4uKGNvbnRlbnRJdGVtLmRlc2NyaXB0aW9uQ2xhc3MgJiYgeyBkZXNjcmlwdGlvbkNsYXNzOiBjb250ZW50SXRlbS5kZXNjcmlwdGlvbkNsYXNzIH0pXHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNhbml0aXplRGVzY3JpcHRpb24oZGVzY3JpcHRpb246IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZGVzY3JpcHRpb24ucmVwbGFjZShcclxuICAgICAgL3N1cHBvcnRAc2FyYXNhbmFseXRpY3NcXC5jb20vZyxcclxuICAgICAgJzxzcGFuIGNsYXNzPVwic3VwcG9ydC1lbWFpbFwiPnN1cHBvcnRAc2FyYXNhbmFseXRpY3MuY29tPC9zcGFuPidcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBvbkJ1dHRvbkNsaWNrKGJ1dHRvbjogQnV0dG9uSW50ZXJmYWNlLCBldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdCh7XHJcbiAgICAgIHR5cGU6IGJ1dHRvbi50eXBlIGFzICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknLFxyXG4gICAgICBidXR0b24sXHJcbiAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiQGlmIChiYW5uZXJDb250ZW50KCk7IGFzIGNvbnRlbnQpIHtcclxuICA8ZGl2IGNsYXNzPVwiZXJyb3ItcGFnZSBtZXNzYWdlLWJhbm5lci12MlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtY29udGFpbmVyXCIgXHJcbiAgICAgICAgIFtuZ1N0eWxlXT1cInsgZ2FwOiBjb250ZW50R2FwIHx8ICd2YXIoLS1tZWRpdW0tMzJweCwgMzJweCknIH1cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImltYWdlLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgW25nU3R5bGVdPVwieyAnbWFyZ2luLWJvdHRvbSc6IHNwYWNpbmdCZXR3ZWVuSW1hZ2VBbmREZXNjcmlwdGlvbiA/PyAndmFyKC0tc21hbGwtMTZweCwgMTZweCknIH1cIj5cclxuICAgICAgICA8aW1nIFtzcmNdPVwiY29udGVudC5tZXNzYWdlSWNvblwiIFxyXG4gICAgICAgICAgICAgW2FsdF09XCJjb250ZW50LnR5cGUgKyAnIGltYWdlJ1wiXHJcbiAgICAgICAgICAgICBbc3R5bGUuLS1tZXNzYWdlLWljb24taGVpZ2h0XT1cImNvbnRlbnQubWVzc2FnZUljb25TaXplPy5oZWlnaHRcIlxyXG4gICAgICAgICAgICAgW3N0eWxlLi0tbWVzc2FnZS1pY29uLXdpZHRoXT1cImNvbnRlbnQubWVzc2FnZUljb25TaXplPy53aWR0aFwiIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZS1kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlLWNsYXNzXCIgW25nQ2xhc3NdPVwidGl0bGVDbGFzcyB8fCAndGl0bGUtY2xhc3MnXCIgW2lubmVySFRNTF09XCJjb250ZW50LnRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cImRlc2NyaXB0aW9uXCIgW25nQ2xhc3NdPVwiZGVzY3JpcHRpb25DbGFzcyB8fCAnZGVzY3JpcHRpb24nXCIgW2lubmVySFRNTF09XCJjb250ZW50LmRlc2NyaXB0aW9uXCI+PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIEBpZihidXR0b25zKXtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWdyb3VwXCI+XHJcbiAgICAgICAgICBAZm9yIChidXR0b24gb2YgYnV0dG9uczsgdHJhY2sgYnV0dG9uLnRleHQpIHtcclxuICAgICAgICAgICAgPHNhLWJ1dHRvbiBcclxuICAgICAgICAgICAgICBbdGV4dF09XCJidXR0b24udGV4dFwiXHJcbiAgICAgICAgICAgICAgW2ljb25dPVwiYnV0dG9uLmljb25cIlxyXG4gICAgICAgICAgICAgIFtzaXplXT1cImJ1dHRvbi5zaXplXCJcclxuICAgICAgICAgICAgICBbdHlwZV09XCJidXR0b24udHlwZVwiXHJcbiAgICAgICAgICAgICAgW2ljb25Qb3NpdGlvbl09XCJidXR0b24uaWNvblBvc2l0aW9uXCJcclxuICAgICAgICAgICAgICBbYnV0dG9uSWNvblNpemVdPVwiYnV0dG9uLmJ1dHRvbkljb25TaXplXCJcclxuICAgICAgICAgICAgICAob25DbGlja0V2ZW50KT1cIm9uQnV0dG9uQ2xpY2soYnV0dG9uLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi50ZXh0XCI+XHJcbiAgICAgICAgICAgIDwvc2EtYnV0dG9uPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbn1cclxuIl19