sidesys-generic-ui 2.4.3 → 2.4.6

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 (72) hide show
  1. package/esm2022/lib/avatar/components/profile-group/s-profile-group.component.mjs +13 -13
  2. package/esm2022/lib/avatar/s-avatar.component.mjs +19 -15
  3. package/esm2022/lib/badge/s-badge.component.mjs +1 -1
  4. package/esm2022/lib/breadcrum/s-breadcrum.component.mjs +1 -1
  5. package/esm2022/lib/card/s-card.component.mjs +3 -3
  6. package/esm2022/lib/collapse/s-collapse.component.mjs +3 -3
  7. package/esm2022/lib/empty/empty.component.mjs +1 -1
  8. package/esm2022/lib/grid-multi-inputs/grid-multi-inputs.component.mjs +1 -1
  9. package/esm2022/lib/icon-material/s-icon-material.component.mjs +6 -8
  10. package/esm2022/lib/icon-material/s-icon-material.model.mjs +1 -1
  11. package/esm2022/lib/input/components/calendar/s-calendar.component.mjs +1 -1
  12. package/esm2022/lib/input/components/color/s-color.component.mjs +1 -1
  13. package/esm2022/lib/input/components/error-control/s-error-control.component.mjs +1 -1
  14. package/esm2022/lib/input/components/input/s-input-model.mjs +3 -1
  15. package/esm2022/lib/input/components/input/s-input.component.mjs +16 -23
  16. package/esm2022/lib/input/components/input-number/s-input-number.component.mjs +1 -1
  17. package/esm2022/lib/input/components/time/s-time.component.mjs +1 -1
  18. package/esm2022/lib/list/s-list.component.mjs +1 -1
  19. package/esm2022/lib/list-simple/s-list-simple.component.mjs +2 -2
  20. package/esm2022/lib/modal/modal-confirm/modal-confirm.component.mjs +4 -4
  21. package/esm2022/lib/modal/modal-confirm/models/modal-confirm.interface.mjs +1 -1
  22. package/esm2022/lib/navbar/components/icon-menu/components/s-notificaction.component.mjs +1 -1
  23. package/esm2022/lib/navbar/components/icon-menu/s-icon-menu.component.mjs +1 -1
  24. package/esm2022/lib/navbar/components/menu-main/s-menu-main.component.mjs +1 -1
  25. package/esm2022/lib/navbar/s-navbar.component.mjs +3 -3
  26. package/esm2022/lib/pagination/s-pagination.component.mjs +1 -1
  27. package/esm2022/lib/popup/s-popup.component.mjs +1 -1
  28. package/esm2022/lib/precode/s-precode.component.mjs +1 -1
  29. package/esm2022/lib/progressbar/s-progressbar.component.mjs +1 -1
  30. package/esm2022/lib/select/select/s-select.component.mjs +10 -9
  31. package/esm2022/lib/select/select-multiple/s-select-multiple.component.mjs +3 -3
  32. package/esm2022/lib/select/select-multiple-old/s-select-multiple-old.component.mjs +3 -3
  33. package/esm2022/lib/select/select-simple/s-select-simple.component.mjs +3 -3
  34. package/esm2022/lib/sidebar/s-sidebar.component.mjs +3 -3
  35. package/esm2022/lib/sub-menu/s-sub-menu.component.mjs +3 -3
  36. package/esm2022/lib/table-complete/table-complete.component.mjs +14 -5
  37. package/esm2022/lib/table-double/table-double.component.mjs +188 -63
  38. package/esm2022/lib/table-double/table-double.model.mjs +1 -1
  39. package/esm2022/lib/table-double-complete/index.mjs +3 -0
  40. package/esm2022/lib/table-double-complete/table-double-complete.component.mjs +270 -0
  41. package/esm2022/lib/table-double-complete/table-double-complete.model.mjs +2 -0
  42. package/esm2022/lib/table-t/s-tablet-model.mjs +1 -1
  43. package/esm2022/lib/table-t/s-tablet.component.mjs +7 -4
  44. package/esm2022/lib/table-t/table-actions-buttons/table-actions-buttons.component.mjs +3 -3
  45. package/esm2022/lib/tabs/s-tabs.component.mjs +2 -2
  46. package/esm2022/lib/timeline/s-timeline.component.mjs +3 -3
  47. package/esm2022/lib/toast/s-toast.component.mjs +1 -1
  48. package/esm2022/lib/toggle-switch/s-toggle-switch.component.mjs +3 -3
  49. package/esm2022/lib/toggle-switch/toggle-switch-form/toggle-switch-form.component.mjs +1 -1
  50. package/esm2022/lib/toolbar-top/toolbar-top.component.mjs +4 -6
  51. package/esm2022/lib/tree-list/s-tree-list.component.mjs +1 -1
  52. package/esm2022/public-api.mjs +2 -1
  53. package/fesm2022/sidesys-generic-ui.mjs +574 -184
  54. package/fesm2022/sidesys-generic-ui.mjs.map +1 -1
  55. package/lib/avatar/components/profile-group/s-profile-group.component.d.ts +1 -1
  56. package/lib/avatar/s-avatar.component.d.ts +1 -3
  57. package/lib/icon-material/s-icon-material.component.d.ts +1 -2
  58. package/lib/icon-material/s-icon-material.model.d.ts +1 -2
  59. package/lib/input/components/input/s-input-model.d.ts +2 -0
  60. package/lib/input/components/input/s-input.component.d.ts +2 -2
  61. package/lib/modal/modal-confirm/models/modal-confirm.interface.d.ts +1 -1
  62. package/lib/table-complete/table-complete.component.d.ts +4 -0
  63. package/lib/table-double/table-double.component.d.ts +42 -25
  64. package/lib/table-double/table-double.model.d.ts +23 -4
  65. package/lib/table-double-complete/index.d.ts +2 -0
  66. package/lib/table-double-complete/table-double-complete.component.d.ts +41 -0
  67. package/lib/table-double-complete/table-double-complete.model.d.ts +39 -0
  68. package/lib/table-t/s-tablet-model.d.ts +2 -0
  69. package/lib/table-t/s-tablet.component.d.ts +2 -1
  70. package/lib/toolbar-top/toolbar-top.component.d.ts +2 -0
  71. package/package.json +1 -1
  72. package/public-api.d.ts +1 -0
@@ -109,11 +109,11 @@ export class SSidebarComponent {
109
109
  }
110
110
  }
111
111
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SSidebarComponent, deps: [{ token: i1.SidebarStateService }], target: i0.ɵɵFactoryTarget.Component }); }
112
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SSidebarComponent, selector: "s-sidebar", inputs: { menu: "menu", expand: "expand", showExpand: "showExpand", theme: "theme", images: "images" }, outputs: { clickEvent: "clickEvent", clickEventMenu: "clickEventMenu" }, host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0, template: "<div class=\"s-sidebar\" [ngClass]=\"[\n theme ? 's-sidebar--theme-' + theme : '',\n expand ? 's-sidebar--open' : 's-sidebar--close']\">\n\n <div *ngIf=\"images\" class=\"s-sidebar__top\" [ngClass]=\"{'s-sidebar__top--expand': expand, 's-sidebar__top--collapse': !expand}\">\n <img [src]=\"getImageSource()\" alt=\"\"/>\n </div>\n \n <ul class=\"s-sidebar__menu s-scroll\">\n <ng-container *ngFor=\"let item of menu; index as i\">\n <!-- Cuando es separate -->\n <div *ngIf=\"item.separate && item.separateText\" class=\"s-sidebar__menu__line-separate\">\n <div *ngIf=\"item.separateLine\" class=\"s-sidebar__menu__line-separate__line\"></div>\n <div class=\"s-sidebar__menu__line-separate__text\">{{item.separateText}}</div>\n <div class=\"s-sidebar__menu__line-separate__dot cursor\" title=\"{{item.separateText ? item.separateText : ''}}\" (click)=\"toogleMenu()\">...</div>\n </div>\n <!-- Cuando NO tiene hijos esta visible y no es separate -->\n <li class=\"s-sidebar__menu__item\" *ngIf=\"!item.hidden && !item.separate && !item.children\" title=\"{{item.title}}\">\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item , tabindex: true }\"></ng-template>\n </li>\n <!-- Cuando SI tiene hijos esta visible y no es separate -->\n <!-- Padre -->\n <li class=\"s-sidebar__menu__item {{item.expanded ? 's-sidebar__menu__item--open' : 's-sidebar__menu__item--close'}}\" *ngIf=\"!item.hidden && !item.separate && item.children\" title=\"{{item.title}}\" (click)=\"clickParent(item)\" (keydown.enter)=\"clickParent(item)\">\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item , tabindex: true }\"></ng-template>\n </li>\n <!-- Hijos -->\n <ul *ngIf=\"item.children && !item.hidden && !item.separate\" class=\"s-sidebar__menu {{item.expanded ? 's-sidebar__menu--open' : 's-sidebar__menu--close'}}\">\n <ng-container *ngFor=\"let itemChildren of item.children\">\n <li *ngIf=\"!itemChildren.hidden\">\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: itemChildren, tabindex: item.expanded ? true : false}\"></ng-template>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n </ul>\n</div>\n\n<div tabindex=\"0\" class=\"no-select button-menu {{expand ? 'button-menu--open' : 'button-menu--close'}}\" (keydown.enter)=\"toogleMenu()\" (click)=\"toogleMenu()\">\n <s-icon-mat size=\"20\">chevron_right</s-icon-mat>\n</div>\n\n<ng-template #itemTemplate let-item let-tabindex=\"tabindex\">\n <a [tabindex]=\"tabindex ? 0 : -1\" [ngClass]=\"[getClassItem(item) , getClassChildren(item) , getClassActive(item)]\" (click)=\"item.action ? item.action() : null ; clickItem(item)\" [routerLink]=\"item.link ? item.link : undefined\" routerLinkActive=\"active\" title=\"{{item.title ? item.title : ''}}\">\n <ng-template [ngTemplateOutlet]=\"iconTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item.icon }\"></ng-template>\n <s-menu-item [expand]=\"expand\" [title]=\"item.title\"></s-menu-item>\n <ng-template *ngIf=\"item.badge\" [ngTemplateOutlet]=\"badgeTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n <s-icon-mat size=\"17\" *ngIf=\"item.children && item.children.length > 0\"\n class=\"arrow {{item.expanded ? 'arrow-open' : 'arrow-close'}}\">\n keyboard_arrow_down\n </s-icon-mat>\n </a>\n</ng-template>\n\n<ng-template #iconTemplate let-icon>\n <s-icon-mat \n *ngIf=\"icon\" \n [type]=\"isSIcon(icon) && icon.type ? icon.type : 'icon'\"\n [size]=\"isSIcon(icon) && icon.size ? icon.size : '20'\"\n class=\"icon-menu\">{{isSIcon(icon) && icon.name ? icon.name : icon}}\n </s-icon-mat>\n <s-icon-mat \n *ngIf=\"!icon\" \n type=\"symbol\"\n size=\"20\"\n class=\"icon-menu icon-menu-default\">fiber_manual_record\n </s-icon-mat>\n</ng-template>\n\n<ng-template #badgeTemplate let-item>\n <s-badge class=\"badge-padding\"\n type=\"{{item.badgeType ? item.badgeType : 'secondary'}}\">\n {{item.badge}}\n </s-badge>\n</ng-template>", styles: [".s-sidebar{position:fixed;background-color:var(--neutrals-1200);box-sizing:border-box;padding-top:.5rem;box-shadow:0 1.125rem 1.75rem 0 var(--blue-alpha-200);z-index:0;flex:1;align-items:center;height:calc(100vh - 5.4rem)}.s-sidebar:first-child{padding-left:.313rem;padding-right:.188rem;padding-bottom:2.5rem}.s-sidebar a{border-color:transparent;border-style:solid;border-width:0;padding:.7rem 0rem;line-height:1.5rem;display:grid;grid-template-columns:1fr 10fr 2fr;align-items:center;justify-items:center;text-decoration:none;cursor:pointer;margin-bottom:.188rem}.s-sidebar a.grid-template-1-10-1{grid-template-columns:2fr 10fr 2fr}.s-sidebar a.grid-template-1-10-1-1{grid-template-columns:2fr 8fr 1fr 2fr}.s-sidebar a.grid-template-1{grid-template-columns:2fr;padding-left:.625rem;padding-right:.625rem}.s-sidebar a.grid-template-1-10{grid-template-columns:2fr 10fr;padding-right:.625rem}.s-sidebar a.grid-template-10-1{grid-template-columns:10fr 2fr;padding-left:.625rem}.s-sidebar a.grid-template-10-1-1{grid-template-columns:10fr 2fr 2fr;padding-left:.625rem}.s-sidebar--close{width:4.5rem;-webkit-transition:width .1s ease-in-out;-moz-transition:width .1s ease-in-out;-o-transition:width .1s ease-in-out;transition:width .1s ease-in-out}.s-sidebar--close .icon-menu-default{display:block}.s-sidebar--close a.grid-template-1{padding-left:0}.s-sidebar--close a{grid-template-columns:1fr!important;padding-right:0!important;padding-left:0!important}.s-sidebar--close .s-sidebar__menu__line-separate{height:1.5rem;display:grid;grid-template-columns:1fr}.s-sidebar--close .s-sidebar__menu__line-separate__dot{display:block;text-align:center;width:100%;color:var(--primary-600)}.s-sidebar--close .s-sidebar__menu__line-separate__line{height:.063rem;background:var(--primary-600);margin:0 10.063rem}.s-sidebar--close .s-sidebar__menu__line-separate__text{display:none;font-size:1rem;color:var(--primary-600)}.s-sidebar--close .s-sidebar__menu .icon-menu{padding-right:0rem!important}.s-sidebar--open{width:15rem;-webkit-transition:width .3s ease-in-out;-moz-transition:width .3s ease-in-out;-o-transition:width .3s ease-in-out;transition:width .3s ease-in-out}.s-sidebar--open .icon-menu-default{display:none!important}.s-sidebar--open .s-sidebar__menu__line-separate{margin:.313rem}.s-sidebar--open .s-sidebar__menu__line-separate__line{height:.063rem;background:var(--primary-600);margin:.625rem 0}.s-sidebar--open .s-sidebar__menu__line-separate__text{font-size:.875rem;font-weight:700;color:var(--primary-600);cursor:default}.s-sidebar--open .s-sidebar__menu__line-separate__dot{display:none}.s-sidebar--open .s-sidebar__menu--open li a{margin:.125rem}.s-sidebar__menu{overflow-y:auto;overflow-x:hidden;height:97%;margin:0}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a{border-left:.188rem solid rgba(255,0,0,0)}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a:hover{border-radius:.25rem;background-color:var(--primary-300);border-left:none}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a:hover .menu-title{font-weight:700}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a:hover:not(.s-sidebar__menu__item--close a,.s-sidebar__menu__item--open a){border-radius:.25rem;background-color:var(--primary-300);border-left:.188rem solid var(--primary-600)}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a:hover:not(.s-sidebar__menu__item--close a,.s-sidebar__menu__item--open a) .menu-title{font-weight:700}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a.active,.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a.active-forced{border-radius:.25rem;background-color:var(--primary-200);border-left:.188rem solid var(--primary-500)}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a.active .menu-title,.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a.active-forced .menu-title{font-weight:700}.s-sidebar__menu--open{opacity:1;transition:opacity .2s ease-in-out;height:auto;margin-top:.25rem;margin-bottom:.25rem;background-color:var(--cyan-alpha-200);border-radius:.25rem}.s-sidebar__menu--open li a{border-radius:.25rem;border-left:.188rem solid rgba(255,0,0,0)}.s-sidebar__menu--open li a:hover{border-radius:.25rem;background-color:var(--primary-300);border-left:.188rem solid var(--primary-500)}.s-sidebar__menu--open li a:hover .menu-title{font-weight:700}.s-sidebar__menu--open li a.active,.s-sidebar__menu--open li a.active-forced{border-radius:.25rem;background-color:var(--primary-200);border-left:.188rem solid var(--primary-500)}.s-sidebar__menu--open li a.active .menu-title,.s-sidebar__menu--open li a.active-forced .menu-title{font-weight:700}.s-sidebar__menu--close{opacity:0;transition:opacity .2s ease-in-out;height:0;overflow:hidden}.s-sidebar__menu .arrow{padding:0 .188rem;color:var(--primary-600);-webkit-transition:.01s ease-in-out;-moz-transition:.01s ease-in-out;-o-transition:.01s ease-in-out;transition:.01s ease-in-out}.s-sidebar__menu .arrow.arrow-open{display:flex;transform:rotate(180deg)!important}.s-sidebar__menu .arrow.arrow-close{display:flex;transform:rotate(360deg)!important}.s-sidebar__menu .menu-title-box{height:1.25rem;overflow:hidden;position:relative}.s-sidebar__menu .menu-title-box .menu-title{font-family:Roboto;color:var(--secondary-600);font-size:.875rem;line-height:1.5rem;flex:1 0 auto;position:absolute;white-space:nowrap}.s-sidebar__menu .menu-title-box .menu-title.menu-title-display{transform:translate(0);transition:1s}.s-sidebar__menu .icon-menu{color:var(--secondary-700)}.s-sidebar__menu__item--open a{border-radius:.25rem;background-color:var(--primary-200);border-left:.188rem solid rgba(255,0,0,0)}.s-sidebar__menu__item--open a .menu-title{font-weight:700}.s-sidebar--theme-dark{background:var(--primary-800)}.s-sidebar--theme-dark .s-sidebar__menu .s-sidebar__menu__line-separate .s-sidebar__menu__line-separate__line{background:var(--neutrals-1200)}.s-sidebar--theme-dark .s-sidebar__menu .s-sidebar__menu__line-separate .s-sidebar__menu__line-separate__text,.s-sidebar--theme-dark .s-sidebar__menu .icon-menu,.s-sidebar--theme-dark .s-sidebar__menu .menu-title{color:var(--neutrals-1200)}.s-sidebar--theme-dark .s-sidebar__menu .s-sidebar__menu--open{background-color:var(--primary-900)}.s-sidebar--theme-dark .s-sidebar__menu__item--open a .menu-title,.s-sidebar--theme-dark .s-sidebar__menu__item a:hover .menu-title{font-weight:700}.s-sidebar--theme-dark .s-sidebar__menu__item--open a{background-color:var(--primary-600);border-radius:.25rem}.s-sidebar--theme-dark .s-sidebar__menu__item a.active:not(.s-sidebar__menu__item--open a),.s-sidebar--theme-dark .s-sidebar__menu__item a.active-forced:not(.s-sidebar__menu__item--open a){background-color:var(--primary-600);border-left:.188rem solid var(--primary-400);border-radius:.25rem}.s-sidebar--theme-dark .s-sidebar__menu__item a:hover:not(.s-sidebar__menu__item--open a){background-color:var(--primary-700);border-radius:.25rem;border-left:.188rem solid rgba(255,0,0,0)}.s-sidebar--theme-dark .s-sidebar__menu__item a:hover:not(.s-sidebar__menu__item--close a,.s-sidebar__menu__item--open a){background-color:var(--primary-700);border-radius:.25rem;border-left:.188rem solid var(--primary-300)}.s-sidebar--theme-dark .s-sidebar__menu--open a:hover{background-color:var(--primary-700);border-left:.188rem solid var(--primary-400)}.s-sidebar--theme-dark .s-sidebar__menu--open a.active,.s-sidebar--theme-dark .s-sidebar__menu--open a.active-forced{background-color:var(--primary-600);border-left:.188rem solid var(--primary-300)}.s-sidebar--theme-dark .arrow,.s-sidebar--theme-dark.s-sidebar--close .s-sidebar__menu__line-separate__dot{color:var(--neutrals-1200)}.s-sidebar__top{display:flex;justify-content:center;align-items:center}.s-sidebar__top--expand{margin:.625rem}.s-sidebar__top--collapse{margin:.313rem}.s-sidebar__top img{width:76%}.s-sidebar--close>.s-sidebar__menu>li>a>span,.s-sidebar--close>.s-sidebar__menu>li>a>.arrow,.s-sidebar--close .menu-title-box,.s-sidebar--close .s-badge{display:none!important}.button-menu{display:flex;justify-content:center;align-items:center;border-radius:3.125rem;background:var(--primary-600);color:var(--neutrals-1200);position:fixed;width:2.75rem;height:2rem;cursor:pointer;-webkit-transition:width .1s ease-in-out;-moz-transition:width .1s ease-in-out;-o-transition:width .1s ease-in-out;transition:width .1s ease-in-out}.button-menu:hover{background:var(--primary-800)}.button-menu--open{left:11.875rem;bottom:2.625rem;transition:.3s ease-in-out}.button-menu--open s-icon-mat span{transform:rotate(180deg)!important}.button-menu--close{left:.938rem;bottom:2.625rem;transition:.1s ease-in-out}.button-menu--close s-icon-mat span{transform:rotate(0)!important}\n"], dependencies: [{ 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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i4.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: i5.SBadgeComponent, selector: "s-badge", inputs: ["type", "size", "new"] }, { kind: "component", type: i6.SMenuItemTitleComponent, selector: "s-menu-item", inputs: ["title", "expand"] }], encapsulation: i0.ViewEncapsulation.None }); }
112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SSidebarComponent, selector: "s-sidebar", inputs: { menu: "menu", expand: "expand", showExpand: "showExpand", theme: "theme", images: "images" }, outputs: { clickEvent: "clickEvent", clickEventMenu: "clickEventMenu" }, host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0, template: "<div\n class=\"s-sidebar\"\n [ngClass]=\"[theme ? 's-sidebar--theme-' + theme : '', expand ? 's-sidebar--open' : 's-sidebar--close']\">\n <div\n *ngIf=\"images\"\n class=\"s-sidebar__top\"\n [ngClass]=\"{ 's-sidebar__top--expand': expand, 's-sidebar__top--collapse': !expand }\">\n <img [src]=\"getImageSource()\" alt=\"\" />\n </div>\n\n <ul class=\"s-sidebar__menu s-scroll\">\n <ng-container *ngFor=\"let item of menu; index as i\">\n <!-- Cuando es separate -->\n <div *ngIf=\"item.separate && item.separateText\" class=\"s-sidebar__menu__line-separate\">\n <div *ngIf=\"item.separateLine\" class=\"s-sidebar__menu__line-separate__line\"></div>\n <div class=\"s-sidebar__menu__line-separate__text\">{{ item.separateText }}</div>\n <div\n class=\"s-sidebar__menu__line-separate__dot cursor\"\n title=\"{{ item.separateText ? item.separateText : '' }}\"\n (click)=\"toogleMenu()\">\n ...\n </div>\n </div>\n <!-- Cuando NO tiene hijos esta visible y no es separate -->\n <li\n class=\"s-sidebar__menu__item\"\n *ngIf=\"!item.hidden && !item.separate && !item.children\"\n title=\"{{ item.title }}\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item, tabindex: true }\"></ng-template>\n </li>\n <!-- Cuando SI tiene hijos esta visible y no es separate -->\n <!-- Padre -->\n <li\n class=\"s-sidebar__menu__item {{\n item.expanded ? 's-sidebar__menu__item--open' : 's-sidebar__menu__item--close'\n }}\"\n *ngIf=\"!item.hidden && !item.separate && item.children\"\n title=\"{{ item.title }}\"\n (click)=\"clickParent(item)\"\n (keydown.enter)=\"clickParent(item)\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item, tabindex: true }\"></ng-template>\n </li>\n <!-- Hijos -->\n <ul\n *ngIf=\"item.children && !item.hidden && !item.separate\"\n class=\"s-sidebar__menu {{ item.expanded ? 's-sidebar__menu--open' : 's-sidebar__menu--close' }}\">\n <ng-container *ngFor=\"let itemChildren of item.children\">\n <li *ngIf=\"!itemChildren.hidden\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: itemChildren,\n tabindex: item.expanded ? true : false,\n }\"></ng-template>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n </ul>\n</div>\n\n<div\n tabindex=\"0\"\n class=\"no-select button-menu {{ expand ? 'button-menu--open' : 'button-menu--close' }}\"\n (keydown.enter)=\"toogleMenu()\"\n (click)=\"toogleMenu()\">\n <s-icon-mat size=\"md\">chevron_right</s-icon-mat>\n</div>\n\n<ng-template #itemTemplate let-item let-tabindex=\"tabindex\">\n <a\n [tabindex]=\"tabindex ? 0 : -1\"\n [ngClass]=\"[getClassItem(item), getClassChildren(item), getClassActive(item)]\"\n (click)=\"item.action ? item.action() : null; clickItem(item)\"\n [routerLink]=\"item.link ? item.link : undefined\"\n routerLinkActive=\"active\"\n title=\"{{ item.title ? item.title : '' }}\">\n <ng-template [ngTemplateOutlet]=\"iconTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item.icon }\"></ng-template>\n <s-menu-item [expand]=\"expand\" [title]=\"item.title\"></s-menu-item>\n <ng-template\n *ngIf=\"item.badge\"\n [ngTemplateOutlet]=\"badgeTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n <s-icon-mat\n size=\"sm\"\n *ngIf=\"item.children && item.children.length > 0\"\n class=\"arrow {{ item.expanded ? 'arrow-open' : 'arrow-close' }}\">\n keyboard_arrow_down\n </s-icon-mat>\n </a>\n</ng-template>\n\n<ng-template #iconTemplate let-icon>\n <s-icon-mat\n *ngIf=\"icon\"\n [type]=\"isSIcon(icon) && icon.type ? icon.type : 'icon'\"\n [size]=\"isSIcon(icon) && icon.size ? icon.size : 'md'\"\n class=\"icon-menu\"\n >{{ isSIcon(icon) && icon.name ? icon.name : icon }}\n </s-icon-mat>\n <s-icon-mat *ngIf=\"!icon\" type=\"symbol\" size=\"md\" class=\"icon-menu icon-menu-default\"\n >fiber_manual_record\n </s-icon-mat>\n</ng-template>\n\n<ng-template #badgeTemplate let-item>\n <s-badge class=\"badge-padding\" type=\"{{ item.badgeType ? item.badgeType : 'secondary' }}\">\n {{ item.badge }}\n </s-badge>\n</ng-template>\n", styles: [".s-sidebar{position:fixed;background-color:var(--neutrals-1200);box-sizing:border-box;padding-top:.5rem;box-shadow:0 1.125rem 1.75rem 0 var(--blue-alpha-200);z-index:0;flex:1;align-items:center;height:calc(100vh - 5.4rem)}.s-sidebar:first-child{padding-left:.313rem;padding-right:.188rem;padding-bottom:2.5rem}.s-sidebar a{border-color:transparent;border-style:solid;border-width:0;padding:.7rem 0rem;line-height:1.5rem;display:grid;grid-template-columns:1fr 10fr 2fr;align-items:center;justify-items:center;text-decoration:none;cursor:pointer;margin-bottom:.188rem}.s-sidebar a.grid-template-1-10-1{grid-template-columns:2fr 10fr 2fr}.s-sidebar a.grid-template-1-10-1-1{grid-template-columns:2fr 8fr 1fr 2fr}.s-sidebar a.grid-template-1{grid-template-columns:2fr;padding-left:.625rem;padding-right:.625rem}.s-sidebar a.grid-template-1-10{grid-template-columns:2fr 10fr;padding-right:.625rem}.s-sidebar a.grid-template-10-1{grid-template-columns:10fr 2fr;padding-left:.625rem}.s-sidebar a.grid-template-10-1-1{grid-template-columns:10fr 2fr 2fr;padding-left:.625rem}.s-sidebar--close{width:4.5rem;-webkit-transition:width .1s ease-in-out;-moz-transition:width .1s ease-in-out;-o-transition:width .1s ease-in-out;transition:width .1s ease-in-out}.s-sidebar--close .icon-menu-default{display:block}.s-sidebar--close a.grid-template-1{padding-left:0}.s-sidebar--close a{grid-template-columns:1fr!important;padding-right:0!important;padding-left:0!important}.s-sidebar--close .s-sidebar__menu__line-separate{height:1.5rem;display:grid;grid-template-columns:1fr}.s-sidebar--close .s-sidebar__menu__line-separate__dot{display:block;text-align:center;width:100%;color:var(--primary-600)}.s-sidebar--close .s-sidebar__menu__line-separate__line{height:.063rem;background:var(--primary-600);margin:0 10.063rem}.s-sidebar--close .s-sidebar__menu__line-separate__text{display:none;font-size:1rem;color:var(--primary-600)}.s-sidebar--close .s-sidebar__menu .icon-menu{padding-right:0rem!important}.s-sidebar--open{width:15rem;-webkit-transition:width .3s ease-in-out;-moz-transition:width .3s ease-in-out;-o-transition:width .3s ease-in-out;transition:width .3s ease-in-out}.s-sidebar--open .icon-menu-default{display:none!important}.s-sidebar--open .s-sidebar__menu__line-separate{margin:.313rem}.s-sidebar--open .s-sidebar__menu__line-separate__line{height:.063rem;background:var(--primary-600);margin:.625rem 0}.s-sidebar--open .s-sidebar__menu__line-separate__text{font-size:.875rem;font-weight:700;color:var(--primary-600);cursor:default}.s-sidebar--open .s-sidebar__menu__line-separate__dot{display:none}.s-sidebar--open .s-sidebar__menu--open li a{margin:.125rem}.s-sidebar__menu{overflow-y:auto;overflow-x:hidden;height:97%;margin:0}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a{border-left:.188rem solid rgba(255,0,0,0)}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a:hover{border-radius:.25rem;background-color:var(--primary-300);border-left:none}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a:hover .menu-title{font-weight:700}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a:hover:not(.s-sidebar__menu__item--close a,.s-sidebar__menu__item--open a){border-radius:.25rem;background-color:var(--primary-300);border-left:.188rem solid var(--primary-600)}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a:hover:not(.s-sidebar__menu__item--close a,.s-sidebar__menu__item--open a) .menu-title{font-weight:700}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a.active,.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a.active-forced{border-radius:.25rem;background-color:var(--primary-200);border-left:.188rem solid var(--primary-500)}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a.active .menu-title,.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a.active-forced .menu-title{font-weight:700}.s-sidebar__menu--open{opacity:1;transition:opacity .2s ease-in-out;height:auto;margin-top:.25rem;margin-bottom:.25rem;background-color:var(--cyan-alpha-200);border-radius:.25rem}.s-sidebar__menu--open li a{border-radius:.25rem;border-left:.188rem solid rgba(255,0,0,0)}.s-sidebar__menu--open li a:hover{border-radius:.25rem;background-color:var(--primary-300);border-left:.188rem solid var(--primary-500)}.s-sidebar__menu--open li a:hover .menu-title{font-weight:700}.s-sidebar__menu--open li a.active,.s-sidebar__menu--open li a.active-forced{border-radius:.25rem;background-color:var(--primary-200);border-left:.188rem solid var(--primary-500)}.s-sidebar__menu--open li a.active .menu-title,.s-sidebar__menu--open li a.active-forced .menu-title{font-weight:700}.s-sidebar__menu--close{opacity:0;transition:opacity .2s ease-in-out;height:0;overflow:hidden}.s-sidebar__menu .arrow{padding:0 .188rem;color:var(--primary-600);-webkit-transition:.01s ease-in-out;-moz-transition:.01s ease-in-out;-o-transition:.01s ease-in-out;transition:.01s ease-in-out}.s-sidebar__menu .arrow.arrow-open{display:flex;transform:rotate(180deg)!important}.s-sidebar__menu .arrow.arrow-close{display:flex;transform:rotate(360deg)!important}.s-sidebar__menu .menu-title-box{height:1.25rem;overflow:hidden;position:relative}.s-sidebar__menu .menu-title-box .menu-title{font-family:Roboto;color:var(--secondary-600);font-size:.875rem;line-height:1.5rem;flex:1 0 auto;position:absolute;white-space:nowrap}.s-sidebar__menu .menu-title-box .menu-title.menu-title-display{transform:translate(0);transition:1s}.s-sidebar__menu .icon-menu{color:var(--secondary-700)}.s-sidebar__menu__item--open a{border-radius:.25rem;background-color:var(--primary-200);border-left:.188rem solid rgba(255,0,0,0)}.s-sidebar__menu__item--open a .menu-title{font-weight:700}.s-sidebar--theme-dark{background:var(--primary-800)}.s-sidebar--theme-dark .s-sidebar__menu .s-sidebar__menu__line-separate .s-sidebar__menu__line-separate__line{background:var(--neutrals-1200)}.s-sidebar--theme-dark .s-sidebar__menu .s-sidebar__menu__line-separate .s-sidebar__menu__line-separate__text,.s-sidebar--theme-dark .s-sidebar__menu .icon-menu,.s-sidebar--theme-dark .s-sidebar__menu .menu-title{color:var(--neutrals-1200)}.s-sidebar--theme-dark .s-sidebar__menu .s-sidebar__menu--open{background-color:var(--primary-900)}.s-sidebar--theme-dark .s-sidebar__menu__item--open a .menu-title,.s-sidebar--theme-dark .s-sidebar__menu__item a:hover .menu-title{font-weight:700}.s-sidebar--theme-dark .s-sidebar__menu__item--open a{background-color:var(--primary-600);border-radius:.25rem}.s-sidebar--theme-dark .s-sidebar__menu__item a.active:not(.s-sidebar__menu__item--open a),.s-sidebar--theme-dark .s-sidebar__menu__item a.active-forced:not(.s-sidebar__menu__item--open a){background-color:var(--primary-600);border-left:.188rem solid var(--primary-400);border-radius:.25rem}.s-sidebar--theme-dark .s-sidebar__menu__item a:hover:not(.s-sidebar__menu__item--open a){background-color:var(--primary-700);border-radius:.25rem;border-left:.188rem solid rgba(255,0,0,0)}.s-sidebar--theme-dark .s-sidebar__menu__item a:hover:not(.s-sidebar__menu__item--close a,.s-sidebar__menu__item--open a){background-color:var(--primary-700);border-radius:.25rem;border-left:.188rem solid var(--primary-300)}.s-sidebar--theme-dark .s-sidebar__menu--open a:hover{background-color:var(--primary-700);border-left:.188rem solid var(--primary-400)}.s-sidebar--theme-dark .s-sidebar__menu--open a.active,.s-sidebar--theme-dark .s-sidebar__menu--open a.active-forced{background-color:var(--primary-600);border-left:.188rem solid var(--primary-300)}.s-sidebar--theme-dark .arrow,.s-sidebar--theme-dark.s-sidebar--close .s-sidebar__menu__line-separate__dot{color:var(--neutrals-1200)}.s-sidebar__top{display:flex;justify-content:center;align-items:center}.s-sidebar__top--expand{margin:.625rem}.s-sidebar__top--collapse{margin:.313rem}.s-sidebar__top img{width:76%}.s-sidebar--close>.s-sidebar__menu>li>a>span,.s-sidebar--close>.s-sidebar__menu>li>a>.arrow,.s-sidebar--close .menu-title-box,.s-sidebar--close .s-badge{display:none!important}.button-menu{display:flex;justify-content:center;align-items:center;border-radius:3.125rem;background:var(--primary-600);color:var(--neutrals-1200);position:fixed;width:2.75rem;height:2rem;cursor:pointer;-webkit-transition:width .1s ease-in-out;-moz-transition:width .1s ease-in-out;-o-transition:width .1s ease-in-out;transition:width .1s ease-in-out}.button-menu:hover{background:var(--primary-800)}.button-menu--open{left:11.875rem;bottom:2.625rem;transition:.3s ease-in-out}.button-menu--open s-icon-mat span{transform:rotate(180deg)!important}.button-menu--close{left:.938rem;bottom:2.625rem;transition:.1s ease-in-out}.button-menu--close s-icon-mat span{transform:rotate(0)!important}\n"], dependencies: [{ 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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i4.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "style", "type"] }, { kind: "component", type: i5.SBadgeComponent, selector: "s-badge", inputs: ["type", "size", "new"] }, { kind: "component", type: i6.SMenuItemTitleComponent, selector: "s-menu-item", inputs: ["title", "expand"] }], encapsulation: i0.ViewEncapsulation.None }); }
113
113
  }
114
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SSidebarComponent, decorators: [{
115
115
  type: Component,
116
- args: [{ selector: 's-sidebar', encapsulation: ViewEncapsulation.None, template: "<div class=\"s-sidebar\" [ngClass]=\"[\n theme ? 's-sidebar--theme-' + theme : '',\n expand ? 's-sidebar--open' : 's-sidebar--close']\">\n\n <div *ngIf=\"images\" class=\"s-sidebar__top\" [ngClass]=\"{'s-sidebar__top--expand': expand, 's-sidebar__top--collapse': !expand}\">\n <img [src]=\"getImageSource()\" alt=\"\"/>\n </div>\n \n <ul class=\"s-sidebar__menu s-scroll\">\n <ng-container *ngFor=\"let item of menu; index as i\">\n <!-- Cuando es separate -->\n <div *ngIf=\"item.separate && item.separateText\" class=\"s-sidebar__menu__line-separate\">\n <div *ngIf=\"item.separateLine\" class=\"s-sidebar__menu__line-separate__line\"></div>\n <div class=\"s-sidebar__menu__line-separate__text\">{{item.separateText}}</div>\n <div class=\"s-sidebar__menu__line-separate__dot cursor\" title=\"{{item.separateText ? item.separateText : ''}}\" (click)=\"toogleMenu()\">...</div>\n </div>\n <!-- Cuando NO tiene hijos esta visible y no es separate -->\n <li class=\"s-sidebar__menu__item\" *ngIf=\"!item.hidden && !item.separate && !item.children\" title=\"{{item.title}}\">\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item , tabindex: true }\"></ng-template>\n </li>\n <!-- Cuando SI tiene hijos esta visible y no es separate -->\n <!-- Padre -->\n <li class=\"s-sidebar__menu__item {{item.expanded ? 's-sidebar__menu__item--open' : 's-sidebar__menu__item--close'}}\" *ngIf=\"!item.hidden && !item.separate && item.children\" title=\"{{item.title}}\" (click)=\"clickParent(item)\" (keydown.enter)=\"clickParent(item)\">\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item , tabindex: true }\"></ng-template>\n </li>\n <!-- Hijos -->\n <ul *ngIf=\"item.children && !item.hidden && !item.separate\" class=\"s-sidebar__menu {{item.expanded ? 's-sidebar__menu--open' : 's-sidebar__menu--close'}}\">\n <ng-container *ngFor=\"let itemChildren of item.children\">\n <li *ngIf=\"!itemChildren.hidden\">\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: itemChildren, tabindex: item.expanded ? true : false}\"></ng-template>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n </ul>\n</div>\n\n<div tabindex=\"0\" class=\"no-select button-menu {{expand ? 'button-menu--open' : 'button-menu--close'}}\" (keydown.enter)=\"toogleMenu()\" (click)=\"toogleMenu()\">\n <s-icon-mat size=\"20\">chevron_right</s-icon-mat>\n</div>\n\n<ng-template #itemTemplate let-item let-tabindex=\"tabindex\">\n <a [tabindex]=\"tabindex ? 0 : -1\" [ngClass]=\"[getClassItem(item) , getClassChildren(item) , getClassActive(item)]\" (click)=\"item.action ? item.action() : null ; clickItem(item)\" [routerLink]=\"item.link ? item.link : undefined\" routerLinkActive=\"active\" title=\"{{item.title ? item.title : ''}}\">\n <ng-template [ngTemplateOutlet]=\"iconTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item.icon }\"></ng-template>\n <s-menu-item [expand]=\"expand\" [title]=\"item.title\"></s-menu-item>\n <ng-template *ngIf=\"item.badge\" [ngTemplateOutlet]=\"badgeTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n <s-icon-mat size=\"17\" *ngIf=\"item.children && item.children.length > 0\"\n class=\"arrow {{item.expanded ? 'arrow-open' : 'arrow-close'}}\">\n keyboard_arrow_down\n </s-icon-mat>\n </a>\n</ng-template>\n\n<ng-template #iconTemplate let-icon>\n <s-icon-mat \n *ngIf=\"icon\" \n [type]=\"isSIcon(icon) && icon.type ? icon.type : 'icon'\"\n [size]=\"isSIcon(icon) && icon.size ? icon.size : '20'\"\n class=\"icon-menu\">{{isSIcon(icon) && icon.name ? icon.name : icon}}\n </s-icon-mat>\n <s-icon-mat \n *ngIf=\"!icon\" \n type=\"symbol\"\n size=\"20\"\n class=\"icon-menu icon-menu-default\">fiber_manual_record\n </s-icon-mat>\n</ng-template>\n\n<ng-template #badgeTemplate let-item>\n <s-badge class=\"badge-padding\"\n type=\"{{item.badgeType ? item.badgeType : 'secondary'}}\">\n {{item.badge}}\n </s-badge>\n</ng-template>", styles: [".s-sidebar{position:fixed;background-color:var(--neutrals-1200);box-sizing:border-box;padding-top:.5rem;box-shadow:0 1.125rem 1.75rem 0 var(--blue-alpha-200);z-index:0;flex:1;align-items:center;height:calc(100vh - 5.4rem)}.s-sidebar:first-child{padding-left:.313rem;padding-right:.188rem;padding-bottom:2.5rem}.s-sidebar a{border-color:transparent;border-style:solid;border-width:0;padding:.7rem 0rem;line-height:1.5rem;display:grid;grid-template-columns:1fr 10fr 2fr;align-items:center;justify-items:center;text-decoration:none;cursor:pointer;margin-bottom:.188rem}.s-sidebar a.grid-template-1-10-1{grid-template-columns:2fr 10fr 2fr}.s-sidebar a.grid-template-1-10-1-1{grid-template-columns:2fr 8fr 1fr 2fr}.s-sidebar a.grid-template-1{grid-template-columns:2fr;padding-left:.625rem;padding-right:.625rem}.s-sidebar a.grid-template-1-10{grid-template-columns:2fr 10fr;padding-right:.625rem}.s-sidebar a.grid-template-10-1{grid-template-columns:10fr 2fr;padding-left:.625rem}.s-sidebar a.grid-template-10-1-1{grid-template-columns:10fr 2fr 2fr;padding-left:.625rem}.s-sidebar--close{width:4.5rem;-webkit-transition:width .1s ease-in-out;-moz-transition:width .1s ease-in-out;-o-transition:width .1s ease-in-out;transition:width .1s ease-in-out}.s-sidebar--close .icon-menu-default{display:block}.s-sidebar--close a.grid-template-1{padding-left:0}.s-sidebar--close a{grid-template-columns:1fr!important;padding-right:0!important;padding-left:0!important}.s-sidebar--close .s-sidebar__menu__line-separate{height:1.5rem;display:grid;grid-template-columns:1fr}.s-sidebar--close .s-sidebar__menu__line-separate__dot{display:block;text-align:center;width:100%;color:var(--primary-600)}.s-sidebar--close .s-sidebar__menu__line-separate__line{height:.063rem;background:var(--primary-600);margin:0 10.063rem}.s-sidebar--close .s-sidebar__menu__line-separate__text{display:none;font-size:1rem;color:var(--primary-600)}.s-sidebar--close .s-sidebar__menu .icon-menu{padding-right:0rem!important}.s-sidebar--open{width:15rem;-webkit-transition:width .3s ease-in-out;-moz-transition:width .3s ease-in-out;-o-transition:width .3s ease-in-out;transition:width .3s ease-in-out}.s-sidebar--open .icon-menu-default{display:none!important}.s-sidebar--open .s-sidebar__menu__line-separate{margin:.313rem}.s-sidebar--open .s-sidebar__menu__line-separate__line{height:.063rem;background:var(--primary-600);margin:.625rem 0}.s-sidebar--open .s-sidebar__menu__line-separate__text{font-size:.875rem;font-weight:700;color:var(--primary-600);cursor:default}.s-sidebar--open .s-sidebar__menu__line-separate__dot{display:none}.s-sidebar--open .s-sidebar__menu--open li a{margin:.125rem}.s-sidebar__menu{overflow-y:auto;overflow-x:hidden;height:97%;margin:0}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a{border-left:.188rem solid rgba(255,0,0,0)}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a:hover{border-radius:.25rem;background-color:var(--primary-300);border-left:none}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a:hover .menu-title{font-weight:700}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a:hover:not(.s-sidebar__menu__item--close a,.s-sidebar__menu__item--open a){border-radius:.25rem;background-color:var(--primary-300);border-left:.188rem solid var(--primary-600)}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a:hover:not(.s-sidebar__menu__item--close a,.s-sidebar__menu__item--open a) .menu-title{font-weight:700}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a.active,.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a.active-forced{border-radius:.25rem;background-color:var(--primary-200);border-left:.188rem solid var(--primary-500)}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a.active .menu-title,.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a.active-forced .menu-title{font-weight:700}.s-sidebar__menu--open{opacity:1;transition:opacity .2s ease-in-out;height:auto;margin-top:.25rem;margin-bottom:.25rem;background-color:var(--cyan-alpha-200);border-radius:.25rem}.s-sidebar__menu--open li a{border-radius:.25rem;border-left:.188rem solid rgba(255,0,0,0)}.s-sidebar__menu--open li a:hover{border-radius:.25rem;background-color:var(--primary-300);border-left:.188rem solid var(--primary-500)}.s-sidebar__menu--open li a:hover .menu-title{font-weight:700}.s-sidebar__menu--open li a.active,.s-sidebar__menu--open li a.active-forced{border-radius:.25rem;background-color:var(--primary-200);border-left:.188rem solid var(--primary-500)}.s-sidebar__menu--open li a.active .menu-title,.s-sidebar__menu--open li a.active-forced .menu-title{font-weight:700}.s-sidebar__menu--close{opacity:0;transition:opacity .2s ease-in-out;height:0;overflow:hidden}.s-sidebar__menu .arrow{padding:0 .188rem;color:var(--primary-600);-webkit-transition:.01s ease-in-out;-moz-transition:.01s ease-in-out;-o-transition:.01s ease-in-out;transition:.01s ease-in-out}.s-sidebar__menu .arrow.arrow-open{display:flex;transform:rotate(180deg)!important}.s-sidebar__menu .arrow.arrow-close{display:flex;transform:rotate(360deg)!important}.s-sidebar__menu .menu-title-box{height:1.25rem;overflow:hidden;position:relative}.s-sidebar__menu .menu-title-box .menu-title{font-family:Roboto;color:var(--secondary-600);font-size:.875rem;line-height:1.5rem;flex:1 0 auto;position:absolute;white-space:nowrap}.s-sidebar__menu .menu-title-box .menu-title.menu-title-display{transform:translate(0);transition:1s}.s-sidebar__menu .icon-menu{color:var(--secondary-700)}.s-sidebar__menu__item--open a{border-radius:.25rem;background-color:var(--primary-200);border-left:.188rem solid rgba(255,0,0,0)}.s-sidebar__menu__item--open a .menu-title{font-weight:700}.s-sidebar--theme-dark{background:var(--primary-800)}.s-sidebar--theme-dark .s-sidebar__menu .s-sidebar__menu__line-separate .s-sidebar__menu__line-separate__line{background:var(--neutrals-1200)}.s-sidebar--theme-dark .s-sidebar__menu .s-sidebar__menu__line-separate .s-sidebar__menu__line-separate__text,.s-sidebar--theme-dark .s-sidebar__menu .icon-menu,.s-sidebar--theme-dark .s-sidebar__menu .menu-title{color:var(--neutrals-1200)}.s-sidebar--theme-dark .s-sidebar__menu .s-sidebar__menu--open{background-color:var(--primary-900)}.s-sidebar--theme-dark .s-sidebar__menu__item--open a .menu-title,.s-sidebar--theme-dark .s-sidebar__menu__item a:hover .menu-title{font-weight:700}.s-sidebar--theme-dark .s-sidebar__menu__item--open a{background-color:var(--primary-600);border-radius:.25rem}.s-sidebar--theme-dark .s-sidebar__menu__item a.active:not(.s-sidebar__menu__item--open a),.s-sidebar--theme-dark .s-sidebar__menu__item a.active-forced:not(.s-sidebar__menu__item--open a){background-color:var(--primary-600);border-left:.188rem solid var(--primary-400);border-radius:.25rem}.s-sidebar--theme-dark .s-sidebar__menu__item a:hover:not(.s-sidebar__menu__item--open a){background-color:var(--primary-700);border-radius:.25rem;border-left:.188rem solid rgba(255,0,0,0)}.s-sidebar--theme-dark .s-sidebar__menu__item a:hover:not(.s-sidebar__menu__item--close a,.s-sidebar__menu__item--open a){background-color:var(--primary-700);border-radius:.25rem;border-left:.188rem solid var(--primary-300)}.s-sidebar--theme-dark .s-sidebar__menu--open a:hover{background-color:var(--primary-700);border-left:.188rem solid var(--primary-400)}.s-sidebar--theme-dark .s-sidebar__menu--open a.active,.s-sidebar--theme-dark .s-sidebar__menu--open a.active-forced{background-color:var(--primary-600);border-left:.188rem solid var(--primary-300)}.s-sidebar--theme-dark .arrow,.s-sidebar--theme-dark.s-sidebar--close .s-sidebar__menu__line-separate__dot{color:var(--neutrals-1200)}.s-sidebar__top{display:flex;justify-content:center;align-items:center}.s-sidebar__top--expand{margin:.625rem}.s-sidebar__top--collapse{margin:.313rem}.s-sidebar__top img{width:76%}.s-sidebar--close>.s-sidebar__menu>li>a>span,.s-sidebar--close>.s-sidebar__menu>li>a>.arrow,.s-sidebar--close .menu-title-box,.s-sidebar--close .s-badge{display:none!important}.button-menu{display:flex;justify-content:center;align-items:center;border-radius:3.125rem;background:var(--primary-600);color:var(--neutrals-1200);position:fixed;width:2.75rem;height:2rem;cursor:pointer;-webkit-transition:width .1s ease-in-out;-moz-transition:width .1s ease-in-out;-o-transition:width .1s ease-in-out;transition:width .1s ease-in-out}.button-menu:hover{background:var(--primary-800)}.button-menu--open{left:11.875rem;bottom:2.625rem;transition:.3s ease-in-out}.button-menu--open s-icon-mat span{transform:rotate(180deg)!important}.button-menu--close{left:.938rem;bottom:2.625rem;transition:.1s ease-in-out}.button-menu--close s-icon-mat span{transform:rotate(0)!important}\n"] }]
116
+ args: [{ selector: 's-sidebar', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"s-sidebar\"\n [ngClass]=\"[theme ? 's-sidebar--theme-' + theme : '', expand ? 's-sidebar--open' : 's-sidebar--close']\">\n <div\n *ngIf=\"images\"\n class=\"s-sidebar__top\"\n [ngClass]=\"{ 's-sidebar__top--expand': expand, 's-sidebar__top--collapse': !expand }\">\n <img [src]=\"getImageSource()\" alt=\"\" />\n </div>\n\n <ul class=\"s-sidebar__menu s-scroll\">\n <ng-container *ngFor=\"let item of menu; index as i\">\n <!-- Cuando es separate -->\n <div *ngIf=\"item.separate && item.separateText\" class=\"s-sidebar__menu__line-separate\">\n <div *ngIf=\"item.separateLine\" class=\"s-sidebar__menu__line-separate__line\"></div>\n <div class=\"s-sidebar__menu__line-separate__text\">{{ item.separateText }}</div>\n <div\n class=\"s-sidebar__menu__line-separate__dot cursor\"\n title=\"{{ item.separateText ? item.separateText : '' }}\"\n (click)=\"toogleMenu()\">\n ...\n </div>\n </div>\n <!-- Cuando NO tiene hijos esta visible y no es separate -->\n <li\n class=\"s-sidebar__menu__item\"\n *ngIf=\"!item.hidden && !item.separate && !item.children\"\n title=\"{{ item.title }}\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item, tabindex: true }\"></ng-template>\n </li>\n <!-- Cuando SI tiene hijos esta visible y no es separate -->\n <!-- Padre -->\n <li\n class=\"s-sidebar__menu__item {{\n item.expanded ? 's-sidebar__menu__item--open' : 's-sidebar__menu__item--close'\n }}\"\n *ngIf=\"!item.hidden && !item.separate && item.children\"\n title=\"{{ item.title }}\"\n (click)=\"clickParent(item)\"\n (keydown.enter)=\"clickParent(item)\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item, tabindex: true }\"></ng-template>\n </li>\n <!-- Hijos -->\n <ul\n *ngIf=\"item.children && !item.hidden && !item.separate\"\n class=\"s-sidebar__menu {{ item.expanded ? 's-sidebar__menu--open' : 's-sidebar__menu--close' }}\">\n <ng-container *ngFor=\"let itemChildren of item.children\">\n <li *ngIf=\"!itemChildren.hidden\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: itemChildren,\n tabindex: item.expanded ? true : false,\n }\"></ng-template>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n </ul>\n</div>\n\n<div\n tabindex=\"0\"\n class=\"no-select button-menu {{ expand ? 'button-menu--open' : 'button-menu--close' }}\"\n (keydown.enter)=\"toogleMenu()\"\n (click)=\"toogleMenu()\">\n <s-icon-mat size=\"md\">chevron_right</s-icon-mat>\n</div>\n\n<ng-template #itemTemplate let-item let-tabindex=\"tabindex\">\n <a\n [tabindex]=\"tabindex ? 0 : -1\"\n [ngClass]=\"[getClassItem(item), getClassChildren(item), getClassActive(item)]\"\n (click)=\"item.action ? item.action() : null; clickItem(item)\"\n [routerLink]=\"item.link ? item.link : undefined\"\n routerLinkActive=\"active\"\n title=\"{{ item.title ? item.title : '' }}\">\n <ng-template [ngTemplateOutlet]=\"iconTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item.icon }\"></ng-template>\n <s-menu-item [expand]=\"expand\" [title]=\"item.title\"></s-menu-item>\n <ng-template\n *ngIf=\"item.badge\"\n [ngTemplateOutlet]=\"badgeTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n <s-icon-mat\n size=\"sm\"\n *ngIf=\"item.children && item.children.length > 0\"\n class=\"arrow {{ item.expanded ? 'arrow-open' : 'arrow-close' }}\">\n keyboard_arrow_down\n </s-icon-mat>\n </a>\n</ng-template>\n\n<ng-template #iconTemplate let-icon>\n <s-icon-mat\n *ngIf=\"icon\"\n [type]=\"isSIcon(icon) && icon.type ? icon.type : 'icon'\"\n [size]=\"isSIcon(icon) && icon.size ? icon.size : 'md'\"\n class=\"icon-menu\"\n >{{ isSIcon(icon) && icon.name ? icon.name : icon }}\n </s-icon-mat>\n <s-icon-mat *ngIf=\"!icon\" type=\"symbol\" size=\"md\" class=\"icon-menu icon-menu-default\"\n >fiber_manual_record\n </s-icon-mat>\n</ng-template>\n\n<ng-template #badgeTemplate let-item>\n <s-badge class=\"badge-padding\" type=\"{{ item.badgeType ? item.badgeType : 'secondary' }}\">\n {{ item.badge }}\n </s-badge>\n</ng-template>\n", styles: [".s-sidebar{position:fixed;background-color:var(--neutrals-1200);box-sizing:border-box;padding-top:.5rem;box-shadow:0 1.125rem 1.75rem 0 var(--blue-alpha-200);z-index:0;flex:1;align-items:center;height:calc(100vh - 5.4rem)}.s-sidebar:first-child{padding-left:.313rem;padding-right:.188rem;padding-bottom:2.5rem}.s-sidebar a{border-color:transparent;border-style:solid;border-width:0;padding:.7rem 0rem;line-height:1.5rem;display:grid;grid-template-columns:1fr 10fr 2fr;align-items:center;justify-items:center;text-decoration:none;cursor:pointer;margin-bottom:.188rem}.s-sidebar a.grid-template-1-10-1{grid-template-columns:2fr 10fr 2fr}.s-sidebar a.grid-template-1-10-1-1{grid-template-columns:2fr 8fr 1fr 2fr}.s-sidebar a.grid-template-1{grid-template-columns:2fr;padding-left:.625rem;padding-right:.625rem}.s-sidebar a.grid-template-1-10{grid-template-columns:2fr 10fr;padding-right:.625rem}.s-sidebar a.grid-template-10-1{grid-template-columns:10fr 2fr;padding-left:.625rem}.s-sidebar a.grid-template-10-1-1{grid-template-columns:10fr 2fr 2fr;padding-left:.625rem}.s-sidebar--close{width:4.5rem;-webkit-transition:width .1s ease-in-out;-moz-transition:width .1s ease-in-out;-o-transition:width .1s ease-in-out;transition:width .1s ease-in-out}.s-sidebar--close .icon-menu-default{display:block}.s-sidebar--close a.grid-template-1{padding-left:0}.s-sidebar--close a{grid-template-columns:1fr!important;padding-right:0!important;padding-left:0!important}.s-sidebar--close .s-sidebar__menu__line-separate{height:1.5rem;display:grid;grid-template-columns:1fr}.s-sidebar--close .s-sidebar__menu__line-separate__dot{display:block;text-align:center;width:100%;color:var(--primary-600)}.s-sidebar--close .s-sidebar__menu__line-separate__line{height:.063rem;background:var(--primary-600);margin:0 10.063rem}.s-sidebar--close .s-sidebar__menu__line-separate__text{display:none;font-size:1rem;color:var(--primary-600)}.s-sidebar--close .s-sidebar__menu .icon-menu{padding-right:0rem!important}.s-sidebar--open{width:15rem;-webkit-transition:width .3s ease-in-out;-moz-transition:width .3s ease-in-out;-o-transition:width .3s ease-in-out;transition:width .3s ease-in-out}.s-sidebar--open .icon-menu-default{display:none!important}.s-sidebar--open .s-sidebar__menu__line-separate{margin:.313rem}.s-sidebar--open .s-sidebar__menu__line-separate__line{height:.063rem;background:var(--primary-600);margin:.625rem 0}.s-sidebar--open .s-sidebar__menu__line-separate__text{font-size:.875rem;font-weight:700;color:var(--primary-600);cursor:default}.s-sidebar--open .s-sidebar__menu__line-separate__dot{display:none}.s-sidebar--open .s-sidebar__menu--open li a{margin:.125rem}.s-sidebar__menu{overflow-y:auto;overflow-x:hidden;height:97%;margin:0}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a{border-left:.188rem solid rgba(255,0,0,0)}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a:hover{border-radius:.25rem;background-color:var(--primary-300);border-left:none}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a:hover .menu-title{font-weight:700}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a:hover:not(.s-sidebar__menu__item--close a,.s-sidebar__menu__item--open a){border-radius:.25rem;background-color:var(--primary-300);border-left:.188rem solid var(--primary-600)}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a:hover:not(.s-sidebar__menu__item--close a,.s-sidebar__menu__item--open a) .menu-title{font-weight:700}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a.active,.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a.active-forced{border-radius:.25rem;background-color:var(--primary-200);border-left:.188rem solid var(--primary-500)}.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a.active .menu-title,.s-sidebar__menu__item:not(.s-sidebar__menu__item--open) a.active-forced .menu-title{font-weight:700}.s-sidebar__menu--open{opacity:1;transition:opacity .2s ease-in-out;height:auto;margin-top:.25rem;margin-bottom:.25rem;background-color:var(--cyan-alpha-200);border-radius:.25rem}.s-sidebar__menu--open li a{border-radius:.25rem;border-left:.188rem solid rgba(255,0,0,0)}.s-sidebar__menu--open li a:hover{border-radius:.25rem;background-color:var(--primary-300);border-left:.188rem solid var(--primary-500)}.s-sidebar__menu--open li a:hover .menu-title{font-weight:700}.s-sidebar__menu--open li a.active,.s-sidebar__menu--open li a.active-forced{border-radius:.25rem;background-color:var(--primary-200);border-left:.188rem solid var(--primary-500)}.s-sidebar__menu--open li a.active .menu-title,.s-sidebar__menu--open li a.active-forced .menu-title{font-weight:700}.s-sidebar__menu--close{opacity:0;transition:opacity .2s ease-in-out;height:0;overflow:hidden}.s-sidebar__menu .arrow{padding:0 .188rem;color:var(--primary-600);-webkit-transition:.01s ease-in-out;-moz-transition:.01s ease-in-out;-o-transition:.01s ease-in-out;transition:.01s ease-in-out}.s-sidebar__menu .arrow.arrow-open{display:flex;transform:rotate(180deg)!important}.s-sidebar__menu .arrow.arrow-close{display:flex;transform:rotate(360deg)!important}.s-sidebar__menu .menu-title-box{height:1.25rem;overflow:hidden;position:relative}.s-sidebar__menu .menu-title-box .menu-title{font-family:Roboto;color:var(--secondary-600);font-size:.875rem;line-height:1.5rem;flex:1 0 auto;position:absolute;white-space:nowrap}.s-sidebar__menu .menu-title-box .menu-title.menu-title-display{transform:translate(0);transition:1s}.s-sidebar__menu .icon-menu{color:var(--secondary-700)}.s-sidebar__menu__item--open a{border-radius:.25rem;background-color:var(--primary-200);border-left:.188rem solid rgba(255,0,0,0)}.s-sidebar__menu__item--open a .menu-title{font-weight:700}.s-sidebar--theme-dark{background:var(--primary-800)}.s-sidebar--theme-dark .s-sidebar__menu .s-sidebar__menu__line-separate .s-sidebar__menu__line-separate__line{background:var(--neutrals-1200)}.s-sidebar--theme-dark .s-sidebar__menu .s-sidebar__menu__line-separate .s-sidebar__menu__line-separate__text,.s-sidebar--theme-dark .s-sidebar__menu .icon-menu,.s-sidebar--theme-dark .s-sidebar__menu .menu-title{color:var(--neutrals-1200)}.s-sidebar--theme-dark .s-sidebar__menu .s-sidebar__menu--open{background-color:var(--primary-900)}.s-sidebar--theme-dark .s-sidebar__menu__item--open a .menu-title,.s-sidebar--theme-dark .s-sidebar__menu__item a:hover .menu-title{font-weight:700}.s-sidebar--theme-dark .s-sidebar__menu__item--open a{background-color:var(--primary-600);border-radius:.25rem}.s-sidebar--theme-dark .s-sidebar__menu__item a.active:not(.s-sidebar__menu__item--open a),.s-sidebar--theme-dark .s-sidebar__menu__item a.active-forced:not(.s-sidebar__menu__item--open a){background-color:var(--primary-600);border-left:.188rem solid var(--primary-400);border-radius:.25rem}.s-sidebar--theme-dark .s-sidebar__menu__item a:hover:not(.s-sidebar__menu__item--open a){background-color:var(--primary-700);border-radius:.25rem;border-left:.188rem solid rgba(255,0,0,0)}.s-sidebar--theme-dark .s-sidebar__menu__item a:hover:not(.s-sidebar__menu__item--close a,.s-sidebar__menu__item--open a){background-color:var(--primary-700);border-radius:.25rem;border-left:.188rem solid var(--primary-300)}.s-sidebar--theme-dark .s-sidebar__menu--open a:hover{background-color:var(--primary-700);border-left:.188rem solid var(--primary-400)}.s-sidebar--theme-dark .s-sidebar__menu--open a.active,.s-sidebar--theme-dark .s-sidebar__menu--open a.active-forced{background-color:var(--primary-600);border-left:.188rem solid var(--primary-300)}.s-sidebar--theme-dark .arrow,.s-sidebar--theme-dark.s-sidebar--close .s-sidebar__menu__line-separate__dot{color:var(--neutrals-1200)}.s-sidebar__top{display:flex;justify-content:center;align-items:center}.s-sidebar__top--expand{margin:.625rem}.s-sidebar__top--collapse{margin:.313rem}.s-sidebar__top img{width:76%}.s-sidebar--close>.s-sidebar__menu>li>a>span,.s-sidebar--close>.s-sidebar__menu>li>a>.arrow,.s-sidebar--close .menu-title-box,.s-sidebar--close .s-badge{display:none!important}.button-menu{display:flex;justify-content:center;align-items:center;border-radius:3.125rem;background:var(--primary-600);color:var(--neutrals-1200);position:fixed;width:2.75rem;height:2rem;cursor:pointer;-webkit-transition:width .1s ease-in-out;-moz-transition:width .1s ease-in-out;-o-transition:width .1s ease-in-out;transition:width .1s ease-in-out}.button-menu:hover{background:var(--primary-800)}.button-menu--open{left:11.875rem;bottom:2.625rem;transition:.3s ease-in-out}.button-menu--open s-icon-mat span{transform:rotate(180deg)!important}.button-menu--close{left:.938rem;bottom:2.625rem;transition:.1s ease-in-out}.button-menu--close s-icon-mat span{transform:rotate(0)!important}\n"] }]
117
117
  }], ctorParameters: () => [{ type: i1.SidebarStateService }], propDecorators: { menu: [{
118
118
  type: Input
119
119
  }], expand: [{
@@ -132,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
132
132
  type: HostListener,
133
133
  args: ['window:resize', ['$event']]
134
134
  }] } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicy1zaWRlYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL3NpZGViYXIvcy1zaWRlYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL3NpZGViYXIvcy1zaWRlYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFZdkIsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QixZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFWNUMsU0FBSSxHQUFnQixFQUFFLENBQUM7UUFDdkIsV0FBTSxHQUFZLElBQUksQ0FBQztRQUN2QixlQUFVLEdBQVksSUFBSSxDQUFDO1FBSzFCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBQzNDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVDLENBQUM7SUFFekQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcs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S0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQTBHUCxRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNNZW51SXRlbSwgU1NpZGViYXJJbWFnZSB9IGZyb20gJy4vcy1zaWRlYmFyLW1vZGVsJztcbmltcG9ydCB7IFNJY29uIH0gZnJvbSAnLi4vaWNvbi1tYXRlcmlhbC9zLWljb24tbWF0ZXJpYWwubW9kZWwnO1xuaW1wb3J0IHsgU2lkZWJhclN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3NpZGViYXJTdGF0ZVNlcnZpY2Uvc2lkZWJhclN0YXRlU2VydmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLXNpZGViYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcy1zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcy1zaWRlYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNTaWRlYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBtZW51OiBTTWVudUl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBleHBhbmQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93RXhwYW5kOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgdGhlbWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGltYWdlcz86IFNTaWRlYmFySW1hZ2U7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIEBPdXRwdXQoKSBjbGlja0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxTTWVudUl0ZW0+KCk7XG4gIEBPdXRwdXQoKSBjbGlja0V2ZW50TWVudSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNpZGViYXJTdGF0ZTogU2lkZWJhclN0YXRlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZCA9IHRoaXMuc2lkZWJhclN0YXRlLmdldEV4cGFuZCgpO1xuICAgIHRoaXMuY2hlY2tTY3JlZW5TaXplKCk7XG4gICAgLy8gU3VzY3JpcGNpb8yBbiBhbCBvYnNlcnZhYmxlIGRlIGV4cGFuZCBzaWRlYmFyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnNpZGViYXJTdGF0ZS5leHBhbmQkLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICB0aGlzLmV4cGFuZCA9IHZhbHVlO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGNsaWNrUGFyZW50KGl0ZW06IFNNZW51SXRlbSk6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uRXhwYW5kSXRlbShpdGVtKTtcbiAgfVxuXG4gIGFjdGlvbkV4cGFuZEl0ZW0oaXRlbTogU01lbnVJdGVtKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbUV4cGFuZWRUZW1wID0gaXRlbS5leHBhbmRlZDtcbiAgICB0aGlzLnJlc3RhcnRTZWxlY3RlZEl0ZW1zKCk7XG4gICAgaXRlbS5leHBhbmRlZCA9ICFpdGVtRXhwYW5lZFRlbXA7XG4gIH1cblxuICBhY3Rpb25FeHBhbmRNZW51KCk6IHZvaWQge1xuICAgIHRoaXMuc2lkZWJhclN0YXRlLnNldEV4cGFuZCh0cnVlKTtcbiAgfVxuXG4gIGFjdGlvbkNvbGxhcHNlTWVudSgpOiB2b2lkIHtcbiAgICB0aGlzLnNpZGViYXJTdGF0ZS5zZXRFeHBhbmQoZmFsc2UpO1xuICB9XG5cbiAgcmVzdGFydFNlbGVjdGVkSXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5tZW51LmZvckVhY2goKGl0ZW1Ub1Jlc2V0OiBTTWVudUl0ZW0pID0+IHtcbiAgICAgIGl0ZW1Ub1Jlc2V0LmV4cGFuZGVkID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICB0b29nbGVNZW51KCk6IHZvaWQge1xuICAgIHRoaXMuc2lkZWJhclN0YXRlLnRvZ2dsZUV4cGFuZCgpO1xuICAgIHRoaXMuY2xpY2tFdmVudE1lbnUubmV4dCh0aGlzLnNpZGViYXJTdGF0ZS5nZXRFeHBhbmQoKSk7XG4gIH1cblxuICBvbkNsaWNrRXZlbnRNZW51KGV2ZW50OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5jbGlja0V2ZW50TWVudS5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIGNsaWNrSXRlbShldmVudDogU01lbnVJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5jbGlja0V2ZW50Lm5leHQoZXZlbnQpO1xuICB9XG5cbiAgaXNTSWNvbihpY29uOiBzdHJpbmcgfCBTSWNvbik6IGljb24gaXMgU0ljb24ge1xuICAgIHJldHVybiB0eXBlb2YgaWNvbiAhPT0gJ3N0cmluZyc7XG4gIH1cblxuICBnZXRDbGFzc0l0ZW0oaXRlbTogU01lbnVJdGVtKTogc3RyaW5nIHtcbiAgICBjb25zdCBpY29uID0gISFpdGVtLmljb247XG4gICAgY29uc3QgYmFkZ2UgPSAhIWl0ZW0uYmFkZ2U7XG4gICAgY29uc3QgY2hpbGRyZW4gPSAhIWl0ZW0uY2hpbGRyZW47XG5cbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgY2hpbGRyZW4gJiYgIWljb246XG4gICAgICAgIHJldHVybiBiYWRnZSA/ICdncmlkLXRlbXBsYXRlLTEwLTEtMScgOiAnZ3JpZC10ZW1wbGF0ZS0xMC0xJztcbiAgICAgIGNhc2UgY2hpbGRyZW4gJiYgaWNvbjpcbiAgICAgICAgcmV0dXJuIGJhZGdlID8gJ2dyaWQtdGVtcGxhdGUtMS0xMC0xLTEnIDogJ2dyaWQtdGVtcGxhdGUtMS0xMC0xJztcbiAgICAgIGNhc2UgIWljb24gJiYgYmFkZ2U6XG4gICAgICAgIHJldHVybiAnZ3JpZC10ZW1wbGF0ZS0xMC0xJztcbiAgICAgIGNhc2UgaWNvbiAmJiAhYmFkZ2U6XG4gICAgICAgIHJldHVybiAnZ3JpZC10ZW1wbGF0ZS0xLTEwJztcbiAgICAgIGNhc2UgIWljb24gJiYgIWJhZGdlOlxuICAgICAgICByZXR1cm4gJ2dyaWQtdGVtcGxhdGUtMSc7XG4gICAgICBjYXNlIGljb24gJiYgYmFkZ2U6XG4gICAgICAgIHJldHVybiAnZ3JpZC10ZW1wbGF0ZS0xLTEwLTEnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdkZWZhdWx0LXZhbHVlJztcbiAgICB9XG4gIH1cblxuICBnZXRDbGFzc0NoaWxkcmVuKGl0ZW06IFNNZW51SXRlbSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGl0ZW0uY2hpbGRyZW4gPyAnaXRlbS1wYXJlbnQnIDogJ2l0ZW0tY2hpbGQnO1xuICB9XG5cbiAgZ2V0Q2xhc3NBY3RpdmUoaXRlbTogU01lbnVJdGVtKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbS5hY3RpdmUgPyAnYWN0aXZlLWZvcmNlZCcgOiAnJztcbiAgfVxuXG4gIGdldEltYWdlU291cmNlKCk6IHN0cmluZyB7XG4gICAgaWYgKCh0aGlzLnRoZW1lID09PSAnZGVmYXVsdCcgfHwgdGhpcy50aGVtZSA9PT0gJycpICYmIHRoaXMuaW1hZ2VzKSB7XG4gICAgICByZXR1cm4gdGhpcy5leHBhbmQgPyB0aGlzLmltYWdlcy5kZWZhdWx0LmV4cGFuZCA6IHRoaXMuaW1hZ2VzLmRlZmF1bHQuY29sbGFwc2U7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRoZW1lID09PSAnZGFyaycgJiYgdGhpcy5pbWFnZXMpIHtcbiAgICAgIHJldHVybiB0aGlzLmV4cGFuZCA/IHRoaXMuaW1hZ2VzLmRhcmsuZXhwYW5kIDogdGhpcy5pbWFnZXMuZGFyay5jb2xsYXBzZTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZ2V0VGFiSW5kZXgoaXRlbTogU01lbnVJdGVtKTogbnVtYmVyIHtcbiAgICBpZiAoaXRlbS5saW5rIHx8IGl0ZW0uZXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgb25SZXNpemUoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja1NjcmVlblNpemUoKTtcbiAgfVxuXG4gIGNoZWNrU2NyZWVuU2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCA2MDApIHtcbiAgICAgIHRoaXMuYWN0aW9uQ29sbGFwc2VNZW51KCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicy1zaWRlYmFyXCIgW25nQ2xhc3NdPVwiW1xuICAgIHRoZW1lID8gJ3Mtc2lkZWJhci0tdGhlbWUtJyArIHRoZW1lIDogJycsXG4gICAgZXhwYW5kID8gJ3Mtc2lkZWJhci0tb3BlbicgOiAncy1zaWRlYmFyLS1jbG9zZSddXCI+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiaW1hZ2VzXCIgY2xhc3M9XCJzLXNpZGViYXJfX3RvcFwiIFtuZ0NsYXNzXT1cInsncy1zaWRlYmFyX190b3AtLWV4cGFuZCc6IGV4cGFuZCwgJ3Mtc2lkZWJhcl9fdG9wLS1jb2xsYXBzZSc6ICFleHBhbmR9XCI+XG4gICAgICAgIDxpbWcgW3NyY109XCJnZXRJbWFnZVNvdXJjZSgpXCIgYWx0PVwiXCIvPlxuICAgIDwvZGl2PlxuICAgIFxuICAgIDx1bCBjbGFzcz1cInMtc2lkZWJhcl9fbWVudSBzLXNjcm9sbFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1lbnU7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICAgIDwhLS0gQ3VhbmRvIGVzIHNlcGFyYXRlIC0tPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0uc2VwYXJhdGUgJiYgaXRlbS5zZXBhcmF0ZVRleHRcIiBjbGFzcz1cInMtc2lkZWJhcl9fbWVudV9fbGluZS1zZXBhcmF0ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLnNlcGFyYXRlTGluZVwiIGNsYXNzPVwicy1zaWRlYmFyX19tZW51X19saW5lLXNlcGFyYXRlX19saW5lXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInMtc2lkZWJhcl9fbWVudV9fbGluZS1zZXBhcmF0ZV9fdGV4dFwiPnt7aXRlbS5zZXBhcmF0ZVRleHR9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzLXNpZGViYXJfX21lbnVfX2xpbmUtc2VwYXJhdGVfX2RvdCBjdXJzb3JcIiB0aXRsZT1cInt7aXRlbS5zZXBhcmF0ZVRleHQgPyBpdGVtLnNlcGFyYXRlVGV4dCA6ICcnfX1cIiAoY2xpY2spPVwidG9vZ2xlTWVudSgpXCI+Li4uPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gQ3VhbmRvIE5PIHRpZW5lIGhpam9zIGVzdGEgdmlzaWJsZSB5IG5vIGVzIHNlcGFyYXRlIC0tPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwicy1zaWRlYmFyX19tZW51X19pdGVtXCIgKm5nSWY9XCIhaXRlbS5oaWRkZW4gJiYgIWl0ZW0uc2VwYXJhdGUgJiYgIWl0ZW0uY2hpbGRyZW5cIiB0aXRsZT1cInt7aXRlbS50aXRsZX19XCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSAsIHRhYmluZGV4OiB0cnVlIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwhLS0gQ3VhbmRvIFNJIHRpZW5lIGhpam9zIGVzdGEgdmlzaWJsZSB5IG5vIGVzIHNlcGFyYXRlIC0tPlxuICAgICAgICAgICAgPCEtLSBQYWRyZSAtLT5cbiAgICAgICAgICAgIDxsaSBjbGFzcz1cInMtc2lkZWJhcl9fbWVudV9faXRlbSB7e2l0ZW0uZXhwYW5kZWQgPyAncy1zaWRlYmFyX19tZW51X19pdGVtLS1vcGVuJyA6ICdzLXNpZGViYXJfX21lbnVfX2l0ZW0tLWNsb3NlJ319XCIgKm5nSWY9XCIhaXRlbS5oaWRkZW4gJiYgIWl0ZW0uc2VwYXJhdGUgJiYgaXRlbS5jaGlsZHJlblwiIHRpdGxlPVwie3tpdGVtLnRpdGxlfX1cIiAoY2xpY2spPVwiY2xpY2tQYXJlbnQoaXRlbSlcIiAoa2V5ZG93bi5lbnRlcik9XCJjbGlja1BhcmVudChpdGVtKVwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gLCB0YWJpbmRleDogIHRydWUgIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwhLS0gSGlqb3MgLS0+XG4gICAgICAgICAgICA8dWwgKm5nSWY9XCJpdGVtLmNoaWxkcmVuICYmICFpdGVtLmhpZGRlbiAmJiAhaXRlbS5zZXBhcmF0ZVwiIGNsYXNzPVwicy1zaWRlYmFyX19tZW51IHt7aXRlbS5leHBhbmRlZCA/ICdzLXNpZGViYXJfX21lbnUtLW9wZW4nIDogJ3Mtc2lkZWJhcl9fbWVudS0tY2xvc2UnfX1cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtQ2hpbGRyZW4gb2YgaXRlbS5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCIhaXRlbUNoaWxkcmVuLmhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbUNoaWxkcmVuLCB0YWJpbmRleDogaXRlbS5leHBhbmRlZCA/IHRydWUgOiBmYWxzZX1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC91bD5cbjwvZGl2PlxuXG48ZGl2IHRhYmluZGV4PVwiMFwiIGNsYXNzPVwibm8tc2VsZWN0IGJ1dHRvbi1tZW51IHt7ZXhwYW5kID8gJ2J1dHRvbi1tZW51LS1vcGVuJyA6ICdidXR0b24tbWVudS0tY2xvc2UnfX1cIiAoa2V5ZG93bi5lbnRlcik9XCJ0b29nbGVNZW51KClcIiAoY2xpY2spPVwidG9vZ2xlTWVudSgpXCI+XG4gICAgPHMtaWNvbi1tYXQgc2l6ZT1cIjIwXCI+Y2hldnJvbl9yaWdodDwvcy1pY29uLW1hdD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2l0ZW1UZW1wbGF0ZSBsZXQtaXRlbSBsZXQtdGFiaW5kZXg9XCJ0YWJpbmRleFwiPlxuICAgIDxhIFt0YWJpbmRleF09XCJ0YWJpbmRleCA/IDAgOiAtMVwiIFtuZ0NsYXNzXT1cIltnZXRDbGFzc0l0ZW0oaXRlbSkgLCBnZXRDbGFzc0NoaWxkcmVuKGl0ZW0pICwgZ2V0Q2xhc3NBY3RpdmUoaXRlbSldXCIgKGNsaWNrKT1cIml0ZW0uYWN0aW9uID8gaXRlbS5hY3Rpb24oKSA6IG51bGwgOyBjbGlja0l0ZW0oaXRlbSlcIiBbcm91dGVyTGlua109XCJpdGVtLmxpbmsgPyBpdGVtLmxpbmsgOiB1bmRlZmluZWRcIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCIgdGl0bGU9XCJ7e2l0ZW0udGl0bGUgPyBpdGVtLnRpdGxlIDogJyd9fVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWNvblRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLmljb24gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxzLW1lbnUtaXRlbSBbZXhwYW5kXT1cImV4cGFuZFwiIFt0aXRsZV09XCJpdGVtLnRpdGxlXCI+PC9zLW1lbnUtaXRlbT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiaXRlbS5iYWRnZVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJhZGdlVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxzLWljb24tbWF0IHNpemU9XCIxN1wiICpuZ0lmPVwiaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgY2xhc3M9XCJhcnJvdyB7e2l0ZW0uZXhwYW5kZWQgPyAnYXJyb3ctb3BlbicgOiAnYXJyb3ctY2xvc2UnfX1cIj5cbiAgICAgICAgICAgIGtleWJvYXJkX2Fycm93X2Rvd25cbiAgICAgICAgPC9zLWljb24tbWF0PlxuICAgIDwvYT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaWNvblRlbXBsYXRlIGxldC1pY29uPlxuICAgIDxzLWljb24tbWF0IFxuICAgICAgICAqbmdJZj1cImljb25cIiBcbiAgICAgICAgW3R5cGVdPVwiaXNTSWNvbihpY29uKSAmJiBpY29uLnR5cGUgPyBpY29uLnR5cGUgOiAnaWNvbidcIlxuICAgICAgICBbc2l6ZV09XCJpc1NJY29uKGljb24pICYmIGljb24uc2l6ZSA/IGljb24uc2l6ZSA6ICcyMCdcIlxuICAgICAgICBjbGFzcz1cImljb24tbWVudVwiPnt7aXNTSWNvbihpY29uKSAmJiBpY29uLm5hbWUgPyBpY29uLm5hbWUgOiBpY29ufX1cbiAgICA8L3MtaWNvbi1tYXQ+XG4gICAgPHMtaWNvbi1tYXQgXG4gICAgICAgICpuZ0lmPVwiIWljb25cIiBcbiAgICAgICAgdHlwZT1cInN5bWJvbFwiXG4gICAgICAgIHNpemU9XCIyMFwiXG4gICAgICAgIGNsYXNzPVwiaWNvbi1tZW51IGljb24tbWVudS1kZWZhdWx0XCI+ZmliZXJfbWFudWFsX3JlY29yZFxuICAgIDwvcy1pY29uLW1hdD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYmFkZ2VUZW1wbGF0ZSBsZXQtaXRlbT5cbiAgICA8cy1iYWRnZSBjbGFzcz1cImJhZGdlLXBhZGRpbmdcIlxuICAgICAgICB0eXBlPVwie3tpdGVtLmJhZGdlVHlwZSA/IGl0ZW0uYmFkZ2VUeXBlIDogJ3NlY29uZGFyeSd9fVwiPlxuICAgICAgICB7e2l0ZW0uYmFkZ2V9fVxuICAgIDwvcy1iYWRnZT5cbjwvbmctdGVtcGxhdGU+Il19
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicy1zaWRlYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL3NpZGViYXIvcy1zaWRlYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL3NpZGViYXIvcy1zaWRlYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFZdkIsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QixZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFWNUMsU0FBSSxHQUFnQixFQUFFLENBQUM7UUFDdkIsV0FBTSxHQUFZLElBQUksQ0FBQztRQUN2QixlQUFVLEdBQVksSUFBSSxDQUFDO1FBSzFCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBQzNDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVDLENBQUM7SUFFekQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcs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S0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQTBHUCxRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNNZW51SXRlbSwgU1NpZGViYXJJbWFnZSB9IGZyb20gJy4vcy1zaWRlYmFyLW1vZGVsJztcbmltcG9ydCB7IFNJY29uIH0gZnJvbSAnLi4vaWNvbi1tYXRlcmlhbC9zLWljb24tbWF0ZXJpYWwubW9kZWwnO1xuaW1wb3J0IHsgU2lkZWJhclN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3NpZGViYXJTdGF0ZVNlcnZpY2Uvc2lkZWJhclN0YXRlU2VydmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLXNpZGViYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcy1zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcy1zaWRlYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNTaWRlYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBtZW51OiBTTWVudUl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBleHBhbmQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93RXhwYW5kOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgdGhlbWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGltYWdlcz86IFNTaWRlYmFySW1hZ2U7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIEBPdXRwdXQoKSBjbGlja0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxTTWVudUl0ZW0+KCk7XG4gIEBPdXRwdXQoKSBjbGlja0V2ZW50TWVudSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNpZGViYXJTdGF0ZTogU2lkZWJhclN0YXRlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZCA9IHRoaXMuc2lkZWJhclN0YXRlLmdldEV4cGFuZCgpO1xuICAgIHRoaXMuY2hlY2tTY3JlZW5TaXplKCk7XG4gICAgLy8gU3VzY3JpcGNpb8yBbiBhbCBvYnNlcnZhYmxlIGRlIGV4cGFuZCBzaWRlYmFyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnNpZGViYXJTdGF0ZS5leHBhbmQkLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICB0aGlzLmV4cGFuZCA9IHZhbHVlO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGNsaWNrUGFyZW50KGl0ZW06IFNNZW51SXRlbSk6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uRXhwYW5kSXRlbShpdGVtKTtcbiAgfVxuXG4gIGFjdGlvbkV4cGFuZEl0ZW0oaXRlbTogU01lbnVJdGVtKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbUV4cGFuZWRUZW1wID0gaXRlbS5leHBhbmRlZDtcbiAgICB0aGlzLnJlc3RhcnRTZWxlY3RlZEl0ZW1zKCk7XG4gICAgaXRlbS5leHBhbmRlZCA9ICFpdGVtRXhwYW5lZFRlbXA7XG4gIH1cblxuICBhY3Rpb25FeHBhbmRNZW51KCk6IHZvaWQge1xuICAgIHRoaXMuc2lkZWJhclN0YXRlLnNldEV4cGFuZCh0cnVlKTtcbiAgfVxuXG4gIGFjdGlvbkNvbGxhcHNlTWVudSgpOiB2b2lkIHtcbiAgICB0aGlzLnNpZGViYXJTdGF0ZS5zZXRFeHBhbmQoZmFsc2UpO1xuICB9XG5cbiAgcmVzdGFydFNlbGVjdGVkSXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5tZW51LmZvckVhY2goKGl0ZW1Ub1Jlc2V0OiBTTWVudUl0ZW0pID0+IHtcbiAgICAgIGl0ZW1Ub1Jlc2V0LmV4cGFuZGVkID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICB0b29nbGVNZW51KCk6IHZvaWQge1xuICAgIHRoaXMuc2lkZWJhclN0YXRlLnRvZ2dsZUV4cGFuZCgpO1xuICAgIHRoaXMuY2xpY2tFdmVudE1lbnUubmV4dCh0aGlzLnNpZGViYXJTdGF0ZS5nZXRFeHBhbmQoKSk7XG4gIH1cblxuICBvbkNsaWNrRXZlbnRNZW51KGV2ZW50OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5jbGlja0V2ZW50TWVudS5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIGNsaWNrSXRlbShldmVudDogU01lbnVJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5jbGlja0V2ZW50Lm5leHQoZXZlbnQpO1xuICB9XG5cbiAgaXNTSWNvbihpY29uOiBzdHJpbmcgfCBTSWNvbik6IGljb24gaXMgU0ljb24ge1xuICAgIHJldHVybiB0eXBlb2YgaWNvbiAhPT0gJ3N0cmluZyc7XG4gIH1cblxuICBnZXRDbGFzc0l0ZW0oaXRlbTogU01lbnVJdGVtKTogc3RyaW5nIHtcbiAgICBjb25zdCBpY29uID0gISFpdGVtLmljb247XG4gICAgY29uc3QgYmFkZ2UgPSAhIWl0ZW0uYmFkZ2U7XG4gICAgY29uc3QgY2hpbGRyZW4gPSAhIWl0ZW0uY2hpbGRyZW47XG5cbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgY2hpbGRyZW4gJiYgIWljb246XG4gICAgICAgIHJldHVybiBiYWRnZSA/ICdncmlkLXRlbXBsYXRlLTEwLTEtMScgOiAnZ3JpZC10ZW1wbGF0ZS0xMC0xJztcbiAgICAgIGNhc2UgY2hpbGRyZW4gJiYgaWNvbjpcbiAgICAgICAgcmV0dXJuIGJhZGdlID8gJ2dyaWQtdGVtcGxhdGUtMS0xMC0xLTEnIDogJ2dyaWQtdGVtcGxhdGUtMS0xMC0xJztcbiAgICAgIGNhc2UgIWljb24gJiYgYmFkZ2U6XG4gICAgICAgIHJldHVybiAnZ3JpZC10ZW1wbGF0ZS0xMC0xJztcbiAgICAgIGNhc2UgaWNvbiAmJiAhYmFkZ2U6XG4gICAgICAgIHJldHVybiAnZ3JpZC10ZW1wbGF0ZS0xLTEwJztcbiAgICAgIGNhc2UgIWljb24gJiYgIWJhZGdlOlxuICAgICAgICByZXR1cm4gJ2dyaWQtdGVtcGxhdGUtMSc7XG4gICAgICBjYXNlIGljb24gJiYgYmFkZ2U6XG4gICAgICAgIHJldHVybiAnZ3JpZC10ZW1wbGF0ZS0xLTEwLTEnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdkZWZhdWx0LXZhbHVlJztcbiAgICB9XG4gIH1cblxuICBnZXRDbGFzc0NoaWxkcmVuKGl0ZW06IFNNZW51SXRlbSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGl0ZW0uY2hpbGRyZW4gPyAnaXRlbS1wYXJlbnQnIDogJ2l0ZW0tY2hpbGQnO1xuICB9XG5cbiAgZ2V0Q2xhc3NBY3RpdmUoaXRlbTogU01lbnVJdGVtKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbS5hY3RpdmUgPyAnYWN0aXZlLWZvcmNlZCcgOiAnJztcbiAgfVxuXG4gIGdldEltYWdlU291cmNlKCk6IHN0cmluZyB7XG4gICAgaWYgKCh0aGlzLnRoZW1lID09PSAnZGVmYXVsdCcgfHwgdGhpcy50aGVtZSA9PT0gJycpICYmIHRoaXMuaW1hZ2VzKSB7XG4gICAgICByZXR1cm4gdGhpcy5leHBhbmQgPyB0aGlzLmltYWdlcy5kZWZhdWx0LmV4cGFuZCA6IHRoaXMuaW1hZ2VzLmRlZmF1bHQuY29sbGFwc2U7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRoZW1lID09PSAnZGFyaycgJiYgdGhpcy5pbWFnZXMpIHtcbiAgICAgIHJldHVybiB0aGlzLmV4cGFuZCA/IHRoaXMuaW1hZ2VzLmRhcmsuZXhwYW5kIDogdGhpcy5pbWFnZXMuZGFyay5jb2xsYXBzZTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZ2V0VGFiSW5kZXgoaXRlbTogU01lbnVJdGVtKTogbnVtYmVyIHtcbiAgICBpZiAoaXRlbS5saW5rIHx8IGl0ZW0uZXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgb25SZXNpemUoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja1NjcmVlblNpemUoKTtcbiAgfVxuXG4gIGNoZWNrU2NyZWVuU2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCA2MDApIHtcbiAgICAgIHRoaXMuYWN0aW9uQ29sbGFwc2VNZW51KCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwicy1zaWRlYmFyXCJcbiAgW25nQ2xhc3NdPVwiW3RoZW1lID8gJ3Mtc2lkZWJhci0tdGhlbWUtJyArIHRoZW1lIDogJycsIGV4cGFuZCA/ICdzLXNpZGViYXItLW9wZW4nIDogJ3Mtc2lkZWJhci0tY2xvc2UnXVwiPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJpbWFnZXNcIlxuICAgIGNsYXNzPVwicy1zaWRlYmFyX190b3BcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ3Mtc2lkZWJhcl9fdG9wLS1leHBhbmQnOiBleHBhbmQsICdzLXNpZGViYXJfX3RvcC0tY29sbGFwc2UnOiAhZXhwYW5kIH1cIj5cbiAgICA8aW1nIFtzcmNdPVwiZ2V0SW1hZ2VTb3VyY2UoKVwiIGFsdD1cIlwiIC8+XG4gIDwvZGl2PlxuXG4gIDx1bCBjbGFzcz1cInMtc2lkZWJhcl9fbWVudSBzLXNjcm9sbFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWVudTsgaW5kZXggYXMgaVwiPlxuICAgICAgPCEtLSBDdWFuZG8gZXMgc2VwYXJhdGUgLS0+XG4gICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5zZXBhcmF0ZSAmJiBpdGVtLnNlcGFyYXRlVGV4dFwiIGNsYXNzPVwicy1zaWRlYmFyX19tZW51X19saW5lLXNlcGFyYXRlXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLnNlcGFyYXRlTGluZVwiIGNsYXNzPVwicy1zaWRlYmFyX19tZW51X19saW5lLXNlcGFyYXRlX19saW5lXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzLXNpZGViYXJfX21lbnVfX2xpbmUtc2VwYXJhdGVfX3RleHRcIj57eyBpdGVtLnNlcGFyYXRlVGV4dCB9fTwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJzLXNpZGViYXJfX21lbnVfX2xpbmUtc2VwYXJhdGVfX2RvdCBjdXJzb3JcIlxuICAgICAgICAgIHRpdGxlPVwie3sgaXRlbS5zZXBhcmF0ZVRleHQgPyBpdGVtLnNlcGFyYXRlVGV4dCA6ICcnIH19XCJcbiAgICAgICAgICAoY2xpY2spPVwidG9vZ2xlTWVudSgpXCI+XG4gICAgICAgICAgLi4uXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIEN1YW5kbyBOTyB0aWVuZSBoaWpvcyBlc3RhIHZpc2libGUgeSBubyBlcyBzZXBhcmF0ZSAtLT5cbiAgICAgIDxsaVxuICAgICAgICBjbGFzcz1cInMtc2lkZWJhcl9fbWVudV9faXRlbVwiXG4gICAgICAgICpuZ0lmPVwiIWl0ZW0uaGlkZGVuICYmICFpdGVtLnNlcGFyYXRlICYmICFpdGVtLmNoaWxkcmVuXCJcbiAgICAgICAgdGl0bGU9XCJ7eyBpdGVtLnRpdGxlIH19XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLCB0YWJpbmRleDogdHJ1ZSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbGk+XG4gICAgICA8IS0tIEN1YW5kbyBTSSB0aWVuZSBoaWpvcyBlc3RhIHZpc2libGUgeSBubyBlcyBzZXBhcmF0ZSAtLT5cbiAgICAgIDwhLS0gUGFkcmUgLS0+XG4gICAgICA8bGlcbiAgICAgICAgY2xhc3M9XCJzLXNpZGViYXJfX21lbnVfX2l0ZW0ge3tcbiAgICAgICAgICBpdGVtLmV4cGFuZGVkID8gJ3Mtc2lkZWJhcl9fbWVudV9faXRlbS0tb3BlbicgOiAncy1zaWRlYmFyX19tZW51X19pdGVtLS1jbG9zZSdcbiAgICAgICAgfX1cIlxuICAgICAgICAqbmdJZj1cIiFpdGVtLmhpZGRlbiAmJiAhaXRlbS5zZXBhcmF0ZSAmJiBpdGVtLmNoaWxkcmVuXCJcbiAgICAgICAgdGl0bGU9XCJ7eyBpdGVtLnRpdGxlIH19XCJcbiAgICAgICAgKGNsaWNrKT1cImNsaWNrUGFyZW50KGl0ZW0pXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiY2xpY2tQYXJlbnQoaXRlbSlcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVRlbXBsYXRlXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0sIHRhYmluZGV4OiB0cnVlIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9saT5cbiAgICAgIDwhLS0gSGlqb3MgLS0+XG4gICAgICA8dWxcbiAgICAgICAgKm5nSWY9XCJpdGVtLmNoaWxkcmVuICYmICFpdGVtLmhpZGRlbiAmJiAhaXRlbS5zZXBhcmF0ZVwiXG4gICAgICAgIGNsYXNzPVwicy1zaWRlYmFyX19tZW51IHt7IGl0ZW0uZXhwYW5kZWQgPyAncy1zaWRlYmFyX19tZW51LS1vcGVuJyA6ICdzLXNpZGViYXJfX21lbnUtLWNsb3NlJyB9fVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtQ2hpbGRyZW4gb2YgaXRlbS5jaGlsZHJlblwiPlxuICAgICAgICAgIDxsaSAqbmdJZj1cIiFpdGVtQ2hpbGRyZW4uaGlkZGVuXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW1DaGlsZHJlbixcbiAgICAgICAgICAgICAgICB0YWJpbmRleDogaXRlbS5leHBhbmRlZCA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgICAgICAgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3VsPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3VsPlxuPC9kaXY+XG5cbjxkaXZcbiAgdGFiaW5kZXg9XCIwXCJcbiAgY2xhc3M9XCJuby1zZWxlY3QgYnV0dG9uLW1lbnUge3sgZXhwYW5kID8gJ2J1dHRvbi1tZW51LS1vcGVuJyA6ICdidXR0b24tbWVudS0tY2xvc2UnIH19XCJcbiAgKGtleWRvd24uZW50ZXIpPVwidG9vZ2xlTWVudSgpXCJcbiAgKGNsaWNrKT1cInRvb2dsZU1lbnUoKVwiPlxuICA8cy1pY29uLW1hdCBzaXplPVwibWRcIj5jaGV2cm9uX3JpZ2h0PC9zLWljb24tbWF0PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVRlbXBsYXRlIGxldC1pdGVtIGxldC10YWJpbmRleD1cInRhYmluZGV4XCI+XG4gIDxhXG4gICAgW3RhYmluZGV4XT1cInRhYmluZGV4ID8gMCA6IC0xXCJcbiAgICBbbmdDbGFzc109XCJbZ2V0Q2xhc3NJdGVtKGl0ZW0pLCBnZXRDbGFzc0NoaWxkcmVuKGl0ZW0pLCBnZXRDbGFzc0FjdGl2ZShpdGVtKV1cIlxuICAgIChjbGljayk9XCJpdGVtLmFjdGlvbiA/IGl0ZW0uYWN0aW9uKCkgOiBudWxsOyBjbGlja0l0ZW0oaXRlbSlcIlxuICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ubGluayA/IGl0ZW0ubGluayA6IHVuZGVmaW5lZFwiXG4gICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiXG4gICAgdGl0bGU9XCJ7eyBpdGVtLnRpdGxlID8gaXRlbS50aXRsZSA6ICcnIH19XCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImljb25UZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbS5pY29uIH1cIj48L25nLXRlbXBsYXRlPlxuICAgIDxzLW1lbnUtaXRlbSBbZXhwYW5kXT1cImV4cGFuZFwiIFt0aXRsZV09XCJpdGVtLnRpdGxlXCI+PC9zLW1lbnUtaXRlbT5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICpuZ0lmPVwiaXRlbS5iYWRnZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJiYWRnZVRlbXBsYXRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8cy1pY29uLW1hdFxuICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICpuZ0lmPVwiaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDBcIlxuICAgICAgY2xhc3M9XCJhcnJvdyB7eyBpdGVtLmV4cGFuZGVkID8gJ2Fycm93LW9wZW4nIDogJ2Fycm93LWNsb3NlJyB9fVwiPlxuICAgICAga2V5Ym9hcmRfYXJyb3dfZG93blxuICAgIDwvcy1pY29uLW1hdD5cbiAgPC9hPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpY29uVGVtcGxhdGUgbGV0LWljb24+XG4gIDxzLWljb24tbWF0XG4gICAgKm5nSWY9XCJpY29uXCJcbiAgICBbdHlwZV09XCJpc1NJY29uKGljb24pICYmIGljb24udHlwZSA/IGljb24udHlwZSA6ICdpY29uJ1wiXG4gICAgW3NpemVdPVwiaXNTSWNvbihpY29uKSAmJiBpY29uLnNpemUgPyBpY29uLnNpemUgOiAnbWQnXCJcbiAgICBjbGFzcz1cImljb24tbWVudVwiXG4gICAgPnt7IGlzU0ljb24oaWNvbikgJiYgaWNvbi5uYW1lID8gaWNvbi5uYW1lIDogaWNvbiB9fVxuICA8L3MtaWNvbi1tYXQ+XG4gIDxzLWljb24tbWF0ICpuZ0lmPVwiIWljb25cIiB0eXBlPVwic3ltYm9sXCIgc2l6ZT1cIm1kXCIgY2xhc3M9XCJpY29uLW1lbnUgaWNvbi1tZW51LWRlZmF1bHRcIlxuICAgID5maWJlcl9tYW51YWxfcmVjb3JkXG4gIDwvcy1pY29uLW1hdD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYmFkZ2VUZW1wbGF0ZSBsZXQtaXRlbT5cbiAgPHMtYmFkZ2UgY2xhc3M9XCJiYWRnZS1wYWRkaW5nXCIgdHlwZT1cInt7IGl0ZW0uYmFkZ2VUeXBlID8gaXRlbS5iYWRnZVR5cGUgOiAnc2Vjb25kYXJ5JyB9fVwiPlxuICAgIHt7IGl0ZW0uYmFkZ2UgfX1cbiAgPC9zLWJhZGdlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -34,11 +34,11 @@ export class SSubMenuComponent {
34
34
  }, 250);
35
35
  }
36
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SSubMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SSubMenuComponent, selector: "s-sub-menu", inputs: { menu: "menu" }, outputs: { changeMenuEvent: "changeMenuEvent", closeMenuEvent: "closeMenuEvent" }, host: { listeners: { "click": "clicked()", "document:click": "clickedOut()" } }, ngImport: i0, template: " <ul class=\"s-sub-menu\">\n\n <ng-container *ngFor=\"let item of menu.items ; index as i\">\n <li *ngIf=\"!item.hidden\" title=\"{{item.title}}\">\n\n <!-- Header -->\n <ng-container *ngIf=\"menu.header && i == 0\">\n <div *ngIf=\"menu.header.type == 'title'\" class=\"s-sub-menu__header-title\">\n {{menu.header.title}}\n </div>\n <div *ngIf=\"menu.header.type == 'user'\" class=\"s-sub-menu__header-user\">\n <s-profile-group size=\"m\" [user]=\"menu.header.user\"></s-profile-group>\n </div>\n <div class=\"s-sub-menu__separate\"></div>\n </ng-container>\n\n <!-- Con Link -->\n <ng-container *ngIf=\"item.link\">\n <a routerLink=\"{{item.link? item.link : null}}\" routerLinkActive=\"active\" class=\"s-sub-menu__option\">\n <div class=\"s-sub-menu__option__left\">\n <s-icon-mat *ngIf=\"item.icon && item.iconName\" class=\"s-sub-menu__option__left__icon\">{{item.iconName}}</s-icon-mat>\n <span class=\"s-sub-menu__option__left__title\">{{item.title}}</span>\n </div>\n <div *ngIf=\"item.help\" class=\"s-sub-menu__option__right\">\n <label class=\"sub-menu66-item-help\">{{item.help}}</label>\n </div>\n </a>\n </ng-container>\n\n <!-- Con inputType Checkbox o Radio -->\n <ng-container *ngIf=\"(item.inputType && item.action) || item.inputType\">\n \n <div class=\"s-sub-menu__option cursor\">\n <div class=\"s-sub-menu__option__left\">\n <s-radio *ngIf=\"item.inputType == 'radio'\" model=\"'sub-menu-group'\" (emitSelection)=\"changeItem(item)\" (click)=\"item.action ? item.action() : null\"></s-radio>\n <s-checkbox-old *ngIf=\"item.inputType == 'checkbox'\" [model]=\"item.value\" (emitSelection)=\"changeItem(item)\" (click)=\"item.action ? item.action() : null\"></s-checkbox-old>\n <s-icon-mat *ngIf=\"item.icon && item.iconName\" class=\"s-sub-menu__option__left__icon\">{{item.iconName}}</s-icon-mat>\n <span class=\"s-sub-menu__option__left__title cursor-normal\">{{item.title}}</span>\n </div>\n </div>\n </ng-container>\n\n <!-- Action -->\n <ng-container *ngIf=\"item.action && !item.inputType\">\n <button class=\"s-sub-menu--button\">\n <div class=\"s-sub-menu__option cursor\" (click)=\"item.action()\">\n <div *ngIf=\"item.action\" class=\"s-sub-menu__option__left\">\n <s-icon-mat *ngIf=\"item.icon && item.iconName\" class=\"s-sub-menu__option__left__icon\">{{item.iconName}}</s-icon-mat>\n <span class=\"s-sub-menu__option__left__title\">{{item.title}}</span>\n </div>\n </div>\n </button>\n </ng-container>\n\n <!-- Solo Label -->\n <ng-container *ngIf=\"!item.action && !item.inputType && !item.link && !item.separate\">\n <button class=\"s-sub-menu--button\" (click)=\"selectItem(item)\">\n <div class=\"s-sub-menu__option cursor\">\n <div class=\"s-sub-menu__option__left\">\n <s-icon-mat *ngIf=\"item.icon && item.iconName\" class=\"s-sub-menu__option__left__icon\">{{item.iconName}}</s-icon-mat>\n <span class=\"s-sub-menu__option__left__title\">{{item.title}}</span>\n </div>\n </div>\n </button>\n </ng-container>\n\n <!-- Espaciado -->\n <ng-container *ngIf=\"item.separate\"> \n <div class=\"s-sub-menu__separate\"></div>\n </ng-container>\n\n </li>\n\n </ng-container>\n </ul>\n", styles: [".s-sub-menu{box-sizing:border-box;padding:0;background:var(--neutrals-1200);border:.0625rem solid var(--neutrals-1000);box-shadow:var(--E500);border-radius:.5rem}.s-sub-menu__header-title{font-size:.875rem;font-weight:700;color:var(--secondary-600);padding:.8125rem;margin-left:.4375rem;cursor:default}.s-sub-menu__header-user{margin:.75rem 1rem}.s-sub-menu__separate{height:.0625rem;background-color:var(--secondary-100)}.s-sub-menu--button{width:100%;border:none;padding:0;background-color:inherit}.s-sub-menu__option{display:flex;justify-content:space-between;height:2.75rem;padding:0 1rem;font-size:1rem;color:var(--secondary-600);text-decoration:none}.s-sub-menu__option__left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem}.s-sub-menu__option__left__title{font-size:.875rem;color:var(--secondary-600)}.s-sub-menu__option__left__title.cursor-normal{cursor:default}.s-sub-menu__option__left__icon{margin:0 .325rem}.s-sub-menu__option__left__icon span{color:var(--primary-600);font-size:1.3rem}.s-sub-menu__option__left s-checkbox-old{line-height:.75rem;margin:0 .525rem}.s-sub-menu__option__left s-checkbox-old input[type=checkbox]{cursor:pointer}.s-sub-menu__option__left s-radio .radio-c-pointer{padding:0}.s-sub-menu__option__left s-radio input[type=radio]{margin-right:.625rem;margin-left:.3125rem;cursor:pointer}.s-sub-menu__option__right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-sub-menu__option__right .sub-menu66-item-help{font-size:.75rem;color:var(--secondary-500)}.s-sub-menu__option:hover{background-color:var(--neutrals-1100)}li:last-child .s-sub-menu__option:last-child:hover{border-bottom-left-radius:.625rem;border-bottom-right-radius:.625rem}.s-sub-menu li a.active .sub-menu66-title{color:var(--primary-600)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i4.SCheckboxOldComponent, selector: "s-checkbox-old", inputs: ["value", "model", "disabled", "isUndefined", "label", "boldSelectActive", "tabIndex"], outputs: ["emitSelection"] }, { kind: "component", type: i5.SRadioComponent, selector: "s-radio", inputs: ["config", "value", "model", "id", "name", "disabled", "label", "boldSelectActive", "readOnly"], outputs: ["emitSelection"] }, { kind: "component", type: i6.SProfileGroupComponent, selector: "s-profile-group", inputs: ["size", "user"] }], encapsulation: i0.ViewEncapsulation.None }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SSubMenuComponent, selector: "s-sub-menu", inputs: { menu: "menu" }, outputs: { changeMenuEvent: "changeMenuEvent", closeMenuEvent: "closeMenuEvent" }, host: { listeners: { "click": "clicked()", "document:click": "clickedOut()" } }, ngImport: i0, template: " <ul class=\"s-sub-menu\">\n\n <ng-container *ngFor=\"let item of menu.items ; index as i\">\n <li *ngIf=\"!item.hidden\" title=\"{{item.title}}\">\n\n <!-- Header -->\n <ng-container *ngIf=\"menu.header && i == 0\">\n <div *ngIf=\"menu.header.type == 'title'\" class=\"s-sub-menu__header-title\">\n {{menu.header.title}}\n </div>\n <div *ngIf=\"menu.header.type == 'user'\" class=\"s-sub-menu__header-user\">\n <s-profile-group size=\"m\" [user]=\"menu.header.user\"></s-profile-group>\n </div>\n <div class=\"s-sub-menu__separate\"></div>\n </ng-container>\n\n <!-- Con Link -->\n <ng-container *ngIf=\"item.link\">\n <a routerLink=\"{{item.link? item.link : null}}\" routerLinkActive=\"active\" class=\"s-sub-menu__option\">\n <div class=\"s-sub-menu__option__left\">\n <s-icon-mat size=\"sm\" *ngIf=\"item.icon && item.iconName\" class=\"s-sub-menu__option__left__icon\">{{item.iconName}}</s-icon-mat>\n <span class=\"s-sub-menu__option__left__title\">{{item.title}}</span>\n </div>\n <div *ngIf=\"item.help\" class=\"s-sub-menu__option__right\">\n <label class=\"sub-menu66-item-help\">{{item.help}}</label>\n </div>\n </a>\n </ng-container>\n\n <!-- Con inputType Checkbox o Radio -->\n <ng-container *ngIf=\"(item.inputType && item.action) || item.inputType\">\n \n <div class=\"s-sub-menu__option cursor\">\n <div class=\"s-sub-menu__option__left\">\n <s-radio *ngIf=\"item.inputType == 'radio'\" model=\"'sub-menu-group'\" (emitSelection)=\"changeItem(item)\" (click)=\"item.action ? item.action() : null\"></s-radio>\n <s-checkbox-old *ngIf=\"item.inputType == 'checkbox'\" [model]=\"item.value\" (emitSelection)=\"changeItem(item)\" (click)=\"item.action ? item.action() : null\"></s-checkbox-old>\n <s-icon-mat size=\"sm\" *ngIf=\"item.icon && item.iconName\" class=\"s-sub-menu__option__left__icon\">{{item.iconName}}</s-icon-mat>\n <span class=\"s-sub-menu__option__left__title cursor-normal\">{{item.title}}</span>\n </div>\n </div>\n </ng-container>\n\n <!-- Action -->\n <ng-container *ngIf=\"item.action && !item.inputType\">\n <button class=\"s-sub-menu--button\">\n <div class=\"s-sub-menu__option cursor\" (click)=\"item.action()\">\n <div *ngIf=\"item.action\" class=\"s-sub-menu__option__left\">\n <s-icon-mat size=\"sm\" *ngIf=\"item.icon && item.iconName\" class=\"s-sub-menu__option__left__icon\">{{item.iconName}}</s-icon-mat>\n <span class=\"s-sub-menu__option__left__title\">{{item.title}}</span>\n </div>\n </div>\n </button>\n </ng-container>\n\n <!-- Solo Label -->\n <ng-container *ngIf=\"!item.action && !item.inputType && !item.link && !item.separate\">\n <button class=\"s-sub-menu--button\" (click)=\"selectItem(item)\">\n <div class=\"s-sub-menu__option cursor\">\n <div class=\"s-sub-menu__option__left\">\n <s-icon-mat size=\"sm\" *ngIf=\"item.icon && item.iconName\" class=\"s-sub-menu__option__left__icon\">{{item.iconName}}</s-icon-mat>\n <span class=\"s-sub-menu__option__left__title\">{{item.title}}</span>\n </div>\n </div>\n </button>\n </ng-container>\n\n <!-- Espaciado -->\n <ng-container *ngIf=\"item.separate\"> \n <div class=\"s-sub-menu__separate\"></div>\n </ng-container>\n\n </li>\n\n </ng-container>\n </ul>\n", styles: [".s-sub-menu{box-sizing:border-box;padding:0;background:var(--neutrals-1200);border:.0625rem solid var(--neutrals-1000);box-shadow:var(--E500);border-radius:.5rem}.s-sub-menu__header-title{font-size:.875rem;font-weight:700;color:var(--secondary-600);padding:.8125rem;margin-left:.4375rem;cursor:default}.s-sub-menu__header-user{margin:.75rem 1rem}.s-sub-menu__separate{height:.0625rem;background-color:var(--secondary-100)}.s-sub-menu--button{width:100%;border:none;padding:0;background-color:inherit}.s-sub-menu__option{display:flex;justify-content:space-between;height:2.75rem;padding:0 1rem;font-size:1rem;color:var(--secondary-600);text-decoration:none}.s-sub-menu__option__left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem}.s-sub-menu__option__left__title{font-size:.875rem;color:var(--secondary-600)}.s-sub-menu__option__left__title.cursor-normal{cursor:default}.s-sub-menu__option__left__icon{margin:0 .325rem}.s-sub-menu__option__left__icon span{color:var(--primary-600)}.s-sub-menu__option__left s-checkbox-old{line-height:.75rem;margin:0 .525rem}.s-sub-menu__option__left s-checkbox-old input[type=checkbox]{cursor:pointer}.s-sub-menu__option__left s-radio .radio-c-pointer{padding:0}.s-sub-menu__option__left s-radio input[type=radio]{margin-right:.625rem;margin-left:.3125rem;cursor:pointer}.s-sub-menu__option__right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-sub-menu__option__right .sub-menu66-item-help{font-size:.75rem;color:var(--secondary-500)}.s-sub-menu__option:hover{background-color:var(--neutrals-1100)}li:last-child .s-sub-menu__option:last-child:hover{border-bottom-left-radius:.625rem;border-bottom-right-radius:.625rem}.s-sub-menu li a.active .sub-menu66-title{color:var(--primary-600)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "style", "type"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i4.SCheckboxOldComponent, selector: "s-checkbox-old", inputs: ["value", "model", "disabled", "isUndefined", "label", "boldSelectActive", "tabIndex"], outputs: ["emitSelection"] }, { kind: "component", type: i5.SRadioComponent, selector: "s-radio", inputs: ["config", "value", "model", "id", "name", "disabled", "label", "boldSelectActive", "readOnly"], outputs: ["emitSelection"] }, { kind: "component", type: i6.SProfileGroupComponent, selector: "s-profile-group", inputs: ["size", "user"] }], encapsulation: i0.ViewEncapsulation.None }); }
38
38
  }
39
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SSubMenuComponent, decorators: [{
40
40
  type: Component,
41
- args: [{ selector: 's-sub-menu', encapsulation: ViewEncapsulation.None, template: " <ul class=\"s-sub-menu\">\n\n <ng-container *ngFor=\"let item of menu.items ; index as i\">\n <li *ngIf=\"!item.hidden\" title=\"{{item.title}}\">\n\n <!-- Header -->\n <ng-container *ngIf=\"menu.header && i == 0\">\n <div *ngIf=\"menu.header.type == 'title'\" class=\"s-sub-menu__header-title\">\n {{menu.header.title}}\n </div>\n <div *ngIf=\"menu.header.type == 'user'\" class=\"s-sub-menu__header-user\">\n <s-profile-group size=\"m\" [user]=\"menu.header.user\"></s-profile-group>\n </div>\n <div class=\"s-sub-menu__separate\"></div>\n </ng-container>\n\n <!-- Con Link -->\n <ng-container *ngIf=\"item.link\">\n <a routerLink=\"{{item.link? item.link : null}}\" routerLinkActive=\"active\" class=\"s-sub-menu__option\">\n <div class=\"s-sub-menu__option__left\">\n <s-icon-mat *ngIf=\"item.icon && item.iconName\" class=\"s-sub-menu__option__left__icon\">{{item.iconName}}</s-icon-mat>\n <span class=\"s-sub-menu__option__left__title\">{{item.title}}</span>\n </div>\n <div *ngIf=\"item.help\" class=\"s-sub-menu__option__right\">\n <label class=\"sub-menu66-item-help\">{{item.help}}</label>\n </div>\n </a>\n </ng-container>\n\n <!-- Con inputType Checkbox o Radio -->\n <ng-container *ngIf=\"(item.inputType && item.action) || item.inputType\">\n \n <div class=\"s-sub-menu__option cursor\">\n <div class=\"s-sub-menu__option__left\">\n <s-radio *ngIf=\"item.inputType == 'radio'\" model=\"'sub-menu-group'\" (emitSelection)=\"changeItem(item)\" (click)=\"item.action ? item.action() : null\"></s-radio>\n <s-checkbox-old *ngIf=\"item.inputType == 'checkbox'\" [model]=\"item.value\" (emitSelection)=\"changeItem(item)\" (click)=\"item.action ? item.action() : null\"></s-checkbox-old>\n <s-icon-mat *ngIf=\"item.icon && item.iconName\" class=\"s-sub-menu__option__left__icon\">{{item.iconName}}</s-icon-mat>\n <span class=\"s-sub-menu__option__left__title cursor-normal\">{{item.title}}</span>\n </div>\n </div>\n </ng-container>\n\n <!-- Action -->\n <ng-container *ngIf=\"item.action && !item.inputType\">\n <button class=\"s-sub-menu--button\">\n <div class=\"s-sub-menu__option cursor\" (click)=\"item.action()\">\n <div *ngIf=\"item.action\" class=\"s-sub-menu__option__left\">\n <s-icon-mat *ngIf=\"item.icon && item.iconName\" class=\"s-sub-menu__option__left__icon\">{{item.iconName}}</s-icon-mat>\n <span class=\"s-sub-menu__option__left__title\">{{item.title}}</span>\n </div>\n </div>\n </button>\n </ng-container>\n\n <!-- Solo Label -->\n <ng-container *ngIf=\"!item.action && !item.inputType && !item.link && !item.separate\">\n <button class=\"s-sub-menu--button\" (click)=\"selectItem(item)\">\n <div class=\"s-sub-menu__option cursor\">\n <div class=\"s-sub-menu__option__left\">\n <s-icon-mat *ngIf=\"item.icon && item.iconName\" class=\"s-sub-menu__option__left__icon\">{{item.iconName}}</s-icon-mat>\n <span class=\"s-sub-menu__option__left__title\">{{item.title}}</span>\n </div>\n </div>\n </button>\n </ng-container>\n\n <!-- Espaciado -->\n <ng-container *ngIf=\"item.separate\"> \n <div class=\"s-sub-menu__separate\"></div>\n </ng-container>\n\n </li>\n\n </ng-container>\n </ul>\n", styles: [".s-sub-menu{box-sizing:border-box;padding:0;background:var(--neutrals-1200);border:.0625rem solid var(--neutrals-1000);box-shadow:var(--E500);border-radius:.5rem}.s-sub-menu__header-title{font-size:.875rem;font-weight:700;color:var(--secondary-600);padding:.8125rem;margin-left:.4375rem;cursor:default}.s-sub-menu__header-user{margin:.75rem 1rem}.s-sub-menu__separate{height:.0625rem;background-color:var(--secondary-100)}.s-sub-menu--button{width:100%;border:none;padding:0;background-color:inherit}.s-sub-menu__option{display:flex;justify-content:space-between;height:2.75rem;padding:0 1rem;font-size:1rem;color:var(--secondary-600);text-decoration:none}.s-sub-menu__option__left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem}.s-sub-menu__option__left__title{font-size:.875rem;color:var(--secondary-600)}.s-sub-menu__option__left__title.cursor-normal{cursor:default}.s-sub-menu__option__left__icon{margin:0 .325rem}.s-sub-menu__option__left__icon span{color:var(--primary-600);font-size:1.3rem}.s-sub-menu__option__left s-checkbox-old{line-height:.75rem;margin:0 .525rem}.s-sub-menu__option__left s-checkbox-old input[type=checkbox]{cursor:pointer}.s-sub-menu__option__left s-radio .radio-c-pointer{padding:0}.s-sub-menu__option__left s-radio input[type=radio]{margin-right:.625rem;margin-left:.3125rem;cursor:pointer}.s-sub-menu__option__right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-sub-menu__option__right .sub-menu66-item-help{font-size:.75rem;color:var(--secondary-500)}.s-sub-menu__option:hover{background-color:var(--neutrals-1100)}li:last-child .s-sub-menu__option:last-child:hover{border-bottom-left-radius:.625rem;border-bottom-right-radius:.625rem}.s-sub-menu li a.active .sub-menu66-title{color:var(--primary-600)}\n"] }]
41
+ args: [{ selector: 's-sub-menu', encapsulation: ViewEncapsulation.None, template: " <ul class=\"s-sub-menu\">\n\n <ng-container *ngFor=\"let item of menu.items ; index as i\">\n <li *ngIf=\"!item.hidden\" title=\"{{item.title}}\">\n\n <!-- Header -->\n <ng-container *ngIf=\"menu.header && i == 0\">\n <div *ngIf=\"menu.header.type == 'title'\" class=\"s-sub-menu__header-title\">\n {{menu.header.title}}\n </div>\n <div *ngIf=\"menu.header.type == 'user'\" class=\"s-sub-menu__header-user\">\n <s-profile-group size=\"m\" [user]=\"menu.header.user\"></s-profile-group>\n </div>\n <div class=\"s-sub-menu__separate\"></div>\n </ng-container>\n\n <!-- Con Link -->\n <ng-container *ngIf=\"item.link\">\n <a routerLink=\"{{item.link? item.link : null}}\" routerLinkActive=\"active\" class=\"s-sub-menu__option\">\n <div class=\"s-sub-menu__option__left\">\n <s-icon-mat size=\"sm\" *ngIf=\"item.icon && item.iconName\" class=\"s-sub-menu__option__left__icon\">{{item.iconName}}</s-icon-mat>\n <span class=\"s-sub-menu__option__left__title\">{{item.title}}</span>\n </div>\n <div *ngIf=\"item.help\" class=\"s-sub-menu__option__right\">\n <label class=\"sub-menu66-item-help\">{{item.help}}</label>\n </div>\n </a>\n </ng-container>\n\n <!-- Con inputType Checkbox o Radio -->\n <ng-container *ngIf=\"(item.inputType && item.action) || item.inputType\">\n \n <div class=\"s-sub-menu__option cursor\">\n <div class=\"s-sub-menu__option__left\">\n <s-radio *ngIf=\"item.inputType == 'radio'\" model=\"'sub-menu-group'\" (emitSelection)=\"changeItem(item)\" (click)=\"item.action ? item.action() : null\"></s-radio>\n <s-checkbox-old *ngIf=\"item.inputType == 'checkbox'\" [model]=\"item.value\" (emitSelection)=\"changeItem(item)\" (click)=\"item.action ? item.action() : null\"></s-checkbox-old>\n <s-icon-mat size=\"sm\" *ngIf=\"item.icon && item.iconName\" class=\"s-sub-menu__option__left__icon\">{{item.iconName}}</s-icon-mat>\n <span class=\"s-sub-menu__option__left__title cursor-normal\">{{item.title}}</span>\n </div>\n </div>\n </ng-container>\n\n <!-- Action -->\n <ng-container *ngIf=\"item.action && !item.inputType\">\n <button class=\"s-sub-menu--button\">\n <div class=\"s-sub-menu__option cursor\" (click)=\"item.action()\">\n <div *ngIf=\"item.action\" class=\"s-sub-menu__option__left\">\n <s-icon-mat size=\"sm\" *ngIf=\"item.icon && item.iconName\" class=\"s-sub-menu__option__left__icon\">{{item.iconName}}</s-icon-mat>\n <span class=\"s-sub-menu__option__left__title\">{{item.title}}</span>\n </div>\n </div>\n </button>\n </ng-container>\n\n <!-- Solo Label -->\n <ng-container *ngIf=\"!item.action && !item.inputType && !item.link && !item.separate\">\n <button class=\"s-sub-menu--button\" (click)=\"selectItem(item)\">\n <div class=\"s-sub-menu__option cursor\">\n <div class=\"s-sub-menu__option__left\">\n <s-icon-mat size=\"sm\" *ngIf=\"item.icon && item.iconName\" class=\"s-sub-menu__option__left__icon\">{{item.iconName}}</s-icon-mat>\n <span class=\"s-sub-menu__option__left__title\">{{item.title}}</span>\n </div>\n </div>\n </button>\n </ng-container>\n\n <!-- Espaciado -->\n <ng-container *ngIf=\"item.separate\"> \n <div class=\"s-sub-menu__separate\"></div>\n </ng-container>\n\n </li>\n\n </ng-container>\n </ul>\n", styles: [".s-sub-menu{box-sizing:border-box;padding:0;background:var(--neutrals-1200);border:.0625rem solid var(--neutrals-1000);box-shadow:var(--E500);border-radius:.5rem}.s-sub-menu__header-title{font-size:.875rem;font-weight:700;color:var(--secondary-600);padding:.8125rem;margin-left:.4375rem;cursor:default}.s-sub-menu__header-user{margin:.75rem 1rem}.s-sub-menu__separate{height:.0625rem;background-color:var(--secondary-100)}.s-sub-menu--button{width:100%;border:none;padding:0;background-color:inherit}.s-sub-menu__option{display:flex;justify-content:space-between;height:2.75rem;padding:0 1rem;font-size:1rem;color:var(--secondary-600);text-decoration:none}.s-sub-menu__option__left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem}.s-sub-menu__option__left__title{font-size:.875rem;color:var(--secondary-600)}.s-sub-menu__option__left__title.cursor-normal{cursor:default}.s-sub-menu__option__left__icon{margin:0 .325rem}.s-sub-menu__option__left__icon span{color:var(--primary-600)}.s-sub-menu__option__left s-checkbox-old{line-height:.75rem;margin:0 .525rem}.s-sub-menu__option__left s-checkbox-old input[type=checkbox]{cursor:pointer}.s-sub-menu__option__left s-radio .radio-c-pointer{padding:0}.s-sub-menu__option__left s-radio input[type=radio]{margin-right:.625rem;margin-left:.3125rem;cursor:pointer}.s-sub-menu__option__right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-sub-menu__option__right .sub-menu66-item-help{font-size:.75rem;color:var(--secondary-500)}.s-sub-menu__option:hover{background-color:var(--neutrals-1100)}li:last-child .s-sub-menu__option:last-child:hover{border-bottom-left-radius:.625rem;border-bottom-right-radius:.625rem}.s-sub-menu li a.active .sub-menu66-title{color:var(--primary-600)}\n"] }]
42
42
  }], propDecorators: { menu: [{
43
43
  type: Input
44
44
  }], changeMenuEvent: [{
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
52
52
  type: HostListener,
53
53
  args: ["document:click"]
54
54
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicy1zdWItbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlc3lzLWdlbmVyaWMtdWkvc3JjL2xpYi9zdWItbWVudS9zLXN1Yi1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL3N1Yi1tZW51L3Mtc3ViLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBVXhHLE1BQU0sT0FBTyxpQkFBaUI7SUFQOUI7UUFXWSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzNDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7S0EwQnRDO0lBdkJDLE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFrQjtRQUMzQixJQUFJLENBQUMsU0FBUyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQWtCO1FBQzNCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxlQUFlO1FBQ2IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7K0dBaENVLGlCQUFpQjttR0FBakIsaUJBQWlCLGdQQ1Y5Qiw2NElBMkVBOzs0RkRqRWEsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSTs4QkFNNUIsSUFBSTtzQkFBWixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFLUCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFLckIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTU3ViTWVudSwgU1N1Yk1lbnVJdGVtIH0gZnJvbSAnLi9zLXN1Yi1tZW51LW1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncy1zdWItbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zLXN1Yi1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcy1zdWItbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcblxuZXhwb3J0IGNsYXNzIFNTdWJNZW51Q29tcG9uZW50IHtcblxuICBcbiAgQElucHV0KCkgbWVudSE6IFNTdWJNZW51O1xuICBAT3V0cHV0KCkgY2hhbmdlTWVudUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjbG9zZU1lbnVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBwcml2YXRlIG1lbnVPcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBjbGlja0luc2lkZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiKVxuICBjbGlja2VkKCkge1xuICAgIHRoaXMuY2xpY2tJbnNpZGUgPSB0cnVlO1xuICB9XG4gIEBIb3N0TGlzdGVuZXIoXCJkb2N1bWVudDpjbGlja1wiKVxuICBjbGlja2VkT3V0KCkge1xuICAgIGlmKHRoaXMubWVudU9wZW5lZCAmJiAhdGhpcy5jbGlja0luc2lkZSkgdGhpcy5jbG9zZU1lbnVFdmVudC5lbWl0KCdjbG9zZScpO1xuICAgIHRoaXMuY2xpY2tJbnNpZGUgPSBmYWxzZTtcbiAgfVxuXG4gIGNoYW5nZUl0ZW0oaXRlbTogU1N1Yk1lbnVJdGVtKSB7XG4gICAgaXRlbS5pbnB1dFR5cGUgPT09ICdjaGVja2JveCcgPyAoaXRlbS52YWx1ZSA9ICFpdGVtLnZhbHVlKSA6IHRoaXMubWVudS5pdGVtcy5mb3JFYWNoKG1lbnVJdGVtID0+IG1lbnVJdGVtLnZhbHVlID0gKG1lbnVJdGVtID09PSBpdGVtKSk7XG4gICAgdGhpcy5jaGFuZ2VNZW51RXZlbnQuZW1pdCh0aGlzLm1lbnUuaXRlbXMpO1xuICB9XG5cbiAgc2VsZWN0SXRlbShpdGVtOiBTU3ViTWVudUl0ZW0pIHtcbiAgICB0aGlzLmNoYW5nZU1lbnVFdmVudC5lbWl0KGl0ZW0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5tZW51T3BlbmVkID0gdHJ1ZTtcbiAgICB9LCAyNTApO1xuICB9XG59IiwiICAgPHVsIGNsYXNzPVwicy1zdWItbWVudVwiPlxuXG4gICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51Lml0ZW1zIDsgaW5kZXggYXMgaVwiPlxuICAgICAgICAgICA8bGkgKm5nSWY9XCIhaXRlbS5oaWRkZW5cIiB0aXRsZT1cInt7aXRlbS50aXRsZX19XCI+XG5cbiAgICAgICAgICAgICAgICAgIDwhLS0gSGVhZGVyIC0tPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnUuaGVhZGVyICYmIGkgPT0gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1lbnUuaGVhZGVyLnR5cGUgPT0gJ3RpdGxlJ1wiIGNsYXNzPVwicy1zdWItbWVudV9faGVhZGVyLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e21lbnUuaGVhZGVyLnRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1lbnUuaGVhZGVyLnR5cGUgPT0gJ3VzZXInXCIgY2xhc3M9XCJzLXN1Yi1tZW51X19oZWFkZXItdXNlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHMtcHJvZmlsZS1ncm91cCBzaXplPVwibVwiIFt1c2VyXT1cIm1lbnUuaGVhZGVyLnVzZXJcIj48L3MtcHJvZmlsZS1ncm91cD5cbiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInMtc3ViLW1lbnVfX3NlcGFyYXRlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgPCEtLSBDb24gTGluayAtLT5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmxpbmtcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxhIHJvdXRlckxpbms9XCJ7e2l0ZW0ubGluaz8gaXRlbS5saW5rIDogbnVsbH19XCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiIGNsYXNzPVwicy1zdWItbWVudV9fb3B0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicy1zdWItbWVudV9fb3B0aW9uX19sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCAqbmdJZj1cIml0ZW0uaWNvbiAmJiBpdGVtLmljb25OYW1lXCIgY2xhc3M9XCJzLXN1Yi1tZW51X19vcHRpb25fX2xlZnRfX2ljb25cIj57e2l0ZW0uaWNvbk5hbWV9fTwvcy1pY29uLW1hdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicy1zdWItbWVudV9fb3B0aW9uX19sZWZ0X190aXRsZVwiPnt7aXRlbS50aXRsZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5oZWxwXCIgY2xhc3M9XCJzLXN1Yi1tZW51X19vcHRpb25fX3JpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJzdWItbWVudTY2LWl0ZW0taGVscFwiPnt7aXRlbS5oZWxwfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgPCEtLSBDb24gaW5wdXRUeXBlIENoZWNrYm94IG8gUmFkaW8gLS0+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGl0ZW0uaW5wdXRUeXBlICYmIGl0ZW0uYWN0aW9uKSB8fCBpdGVtLmlucHV0VHlwZVwiPlxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicy1zdWItbWVudV9fb3B0aW9uIGN1cnNvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInMtc3ViLW1lbnVfX29wdGlvbl9fbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMtcmFkaW8gKm5nSWY9XCJpdGVtLmlucHV0VHlwZSA9PSAncmFkaW8nXCIgbW9kZWw9XCInc3ViLW1lbnUtZ3JvdXAnXCIgKGVtaXRTZWxlY3Rpb24pPVwiY2hhbmdlSXRlbShpdGVtKVwiIChjbGljayk9XCJpdGVtLmFjdGlvbiA/IGl0ZW0uYWN0aW9uKCkgOiBudWxsXCI+PC9zLXJhZGlvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMtY2hlY2tib3gtb2xkICpuZ0lmPVwiaXRlbS5pbnB1dFR5cGUgPT0gJ2NoZWNrYm94J1wiIFttb2RlbF09XCJpdGVtLnZhbHVlXCIgKGVtaXRTZWxlY3Rpb24pPVwiY2hhbmdlSXRlbShpdGVtKVwiIChjbGljayk9XCJpdGVtLmFjdGlvbiA/IGl0ZW0uYWN0aW9uKCkgOiBudWxsXCI+PC9zLWNoZWNrYm94LW9sZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzLWljb24tbWF0ICpuZ0lmPVwiaXRlbS5pY29uICYmIGl0ZW0uaWNvbk5hbWVcIiBjbGFzcz1cInMtc3ViLW1lbnVfX29wdGlvbl9fbGVmdF9faWNvblwiPnt7aXRlbS5pY29uTmFtZX19PC9zLWljb24tbWF0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzLXN1Yi1tZW51X19vcHRpb25fX2xlZnRfX3RpdGxlIGN1cnNvci1ub3JtYWxcIj57e2l0ZW0udGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgPCEtLSBBY3Rpb24gLS0+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5hY3Rpb24gJiYgIWl0ZW0uaW5wdXRUeXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicy1zdWItbWVudS0tYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicy1zdWItbWVudV9fb3B0aW9uIGN1cnNvclwiIChjbGljayk9XCJpdGVtLmFjdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5hY3Rpb25cIiBjbGFzcz1cInMtc3ViLW1lbnVfX29wdGlvbl9fbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgKm5nSWY9XCJpdGVtLmljb24gJiYgaXRlbS5pY29uTmFtZVwiIGNsYXNzPVwicy1zdWItbWVudV9fb3B0aW9uX19sZWZ0X19pY29uXCI+e3tpdGVtLmljb25OYW1lfX08L3MtaWNvbi1tYXQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInMtc3ViLW1lbnVfX29wdGlvbl9fbGVmdF9fdGl0bGVcIj57e2l0ZW0udGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICA8IS0tIFNvbG8gTGFiZWwgLS0+XG4gICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmFjdGlvbiAmJiAhaXRlbS5pbnB1dFR5cGUgJiYgIWl0ZW0ubGluayAmJiAhaXRlbS5zZXBhcmF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInMtc3ViLW1lbnUtLWJ1dHRvblwiIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicy1zdWItbWVudV9fb3B0aW9uIGN1cnNvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInMtc3ViLW1lbnVfX29wdGlvbl9fbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgKm5nSWY9XCJpdGVtLmljb24gJiYgaXRlbS5pY29uTmFtZVwiIGNsYXNzPVwicy1zdWItbWVudV9fb3B0aW9uX19sZWZ0X19pY29uXCI+e3tpdGVtLmljb25OYW1lfX08L3MtaWNvbi1tYXQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInMtc3ViLW1lbnVfX29wdGlvbl9fbGVmdF9fdGl0bGVcIj57e2l0ZW0udGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICA8IS0tIEVzcGFjaWFkbyAtLT5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnNlcGFyYXRlXCI+IFxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInMtc3ViLW1lbnVfX3NlcGFyYXRlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgPC9saT5cblxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICA8L3VsPlxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicy1zdWItbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlc3lzLWdlbmVyaWMtdWkvc3JjL2xpYi9zdWItbWVudS9zLXN1Yi1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL3N1Yi1tZW51L3Mtc3ViLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBVXhHLE1BQU0sT0FBTyxpQkFBaUI7SUFQOUI7UUFXWSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzNDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7S0EwQnRDO0lBdkJDLE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFrQjtRQUMzQixJQUFJLENBQUMsU0FBUyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQWtCO1FBQzNCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxlQUFlO1FBQ2IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7K0dBaENVLGlCQUFpQjttR0FBakIsaUJBQWlCLGdQQ1Y5Qiw2N0lBMkVBOzs0RkRqRWEsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSTs4QkFNNUIsSUFBSTtzQkFBWixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFLUCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFLckIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTU3ViTWVudSwgU1N1Yk1lbnVJdGVtIH0gZnJvbSAnLi9zLXN1Yi1tZW51LW1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncy1zdWItbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zLXN1Yi1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcy1zdWItbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcblxuZXhwb3J0IGNsYXNzIFNTdWJNZW51Q29tcG9uZW50IHtcblxuICBcbiAgQElucHV0KCkgbWVudSE6IFNTdWJNZW51O1xuICBAT3V0cHV0KCkgY2hhbmdlTWVudUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjbG9zZU1lbnVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBwcml2YXRlIG1lbnVPcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBjbGlja0luc2lkZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiKVxuICBjbGlja2VkKCkge1xuICAgIHRoaXMuY2xpY2tJbnNpZGUgPSB0cnVlO1xuICB9XG4gIEBIb3N0TGlzdGVuZXIoXCJkb2N1bWVudDpjbGlja1wiKVxuICBjbGlja2VkT3V0KCkge1xuICAgIGlmKHRoaXMubWVudU9wZW5lZCAmJiAhdGhpcy5jbGlja0luc2lkZSkgdGhpcy5jbG9zZU1lbnVFdmVudC5lbWl0KCdjbG9zZScpO1xuICAgIHRoaXMuY2xpY2tJbnNpZGUgPSBmYWxzZTtcbiAgfVxuXG4gIGNoYW5nZUl0ZW0oaXRlbTogU1N1Yk1lbnVJdGVtKSB7XG4gICAgaXRlbS5pbnB1dFR5cGUgPT09ICdjaGVja2JveCcgPyAoaXRlbS52YWx1ZSA9ICFpdGVtLnZhbHVlKSA6IHRoaXMubWVudS5pdGVtcy5mb3JFYWNoKG1lbnVJdGVtID0+IG1lbnVJdGVtLnZhbHVlID0gKG1lbnVJdGVtID09PSBpdGVtKSk7XG4gICAgdGhpcy5jaGFuZ2VNZW51RXZlbnQuZW1pdCh0aGlzLm1lbnUuaXRlbXMpO1xuICB9XG5cbiAgc2VsZWN0SXRlbShpdGVtOiBTU3ViTWVudUl0ZW0pIHtcbiAgICB0aGlzLmNoYW5nZU1lbnVFdmVudC5lbWl0KGl0ZW0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5tZW51T3BlbmVkID0gdHJ1ZTtcbiAgICB9LCAyNTApO1xuICB9XG59IiwiICAgPHVsIGNsYXNzPVwicy1zdWItbWVudVwiPlxuXG4gICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51Lml0ZW1zIDsgaW5kZXggYXMgaVwiPlxuICAgICAgICAgICA8bGkgKm5nSWY9XCIhaXRlbS5oaWRkZW5cIiB0aXRsZT1cInt7aXRlbS50aXRsZX19XCI+XG5cbiAgICAgICAgICAgICAgICAgIDwhLS0gSGVhZGVyIC0tPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnUuaGVhZGVyICYmIGkgPT0gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1lbnUuaGVhZGVyLnR5cGUgPT0gJ3RpdGxlJ1wiIGNsYXNzPVwicy1zdWItbWVudV9faGVhZGVyLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e21lbnUuaGVhZGVyLnRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1lbnUuaGVhZGVyLnR5cGUgPT0gJ3VzZXInXCIgY2xhc3M9XCJzLXN1Yi1tZW51X19oZWFkZXItdXNlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHMtcHJvZmlsZS1ncm91cCBzaXplPVwibVwiIFt1c2VyXT1cIm1lbnUuaGVhZGVyLnVzZXJcIj48L3MtcHJvZmlsZS1ncm91cD5cbiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInMtc3ViLW1lbnVfX3NlcGFyYXRlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgPCEtLSBDb24gTGluayAtLT5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmxpbmtcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxhIHJvdXRlckxpbms9XCJ7e2l0ZW0ubGluaz8gaXRlbS5saW5rIDogbnVsbH19XCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiIGNsYXNzPVwicy1zdWItbWVudV9fb3B0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicy1zdWItbWVudV9fb3B0aW9uX19sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBzaXplPVwic21cIiAqbmdJZj1cIml0ZW0uaWNvbiAmJiBpdGVtLmljb25OYW1lXCIgY2xhc3M9XCJzLXN1Yi1tZW51X19vcHRpb25fX2xlZnRfX2ljb25cIj57e2l0ZW0uaWNvbk5hbWV9fTwvcy1pY29uLW1hdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicy1zdWItbWVudV9fb3B0aW9uX19sZWZ0X190aXRsZVwiPnt7aXRlbS50aXRsZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5oZWxwXCIgY2xhc3M9XCJzLXN1Yi1tZW51X19vcHRpb25fX3JpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJzdWItbWVudTY2LWl0ZW0taGVscFwiPnt7aXRlbS5oZWxwfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgPCEtLSBDb24gaW5wdXRUeXBlIENoZWNrYm94IG8gUmFkaW8gLS0+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGl0ZW0uaW5wdXRUeXBlICYmIGl0ZW0uYWN0aW9uKSB8fCBpdGVtLmlucHV0VHlwZVwiPlxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicy1zdWItbWVudV9fb3B0aW9uIGN1cnNvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInMtc3ViLW1lbnVfX29wdGlvbl9fbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMtcmFkaW8gKm5nSWY9XCJpdGVtLmlucHV0VHlwZSA9PSAncmFkaW8nXCIgbW9kZWw9XCInc3ViLW1lbnUtZ3JvdXAnXCIgKGVtaXRTZWxlY3Rpb24pPVwiY2hhbmdlSXRlbShpdGVtKVwiIChjbGljayk9XCJpdGVtLmFjdGlvbiA/IGl0ZW0uYWN0aW9uKCkgOiBudWxsXCI+PC9zLXJhZGlvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMtY2hlY2tib3gtb2xkICpuZ0lmPVwiaXRlbS5pbnB1dFR5cGUgPT0gJ2NoZWNrYm94J1wiIFttb2RlbF09XCJpdGVtLnZhbHVlXCIgKGVtaXRTZWxlY3Rpb24pPVwiY2hhbmdlSXRlbShpdGVtKVwiIChjbGljayk9XCJpdGVtLmFjdGlvbiA/IGl0ZW0uYWN0aW9uKCkgOiBudWxsXCI+PC9zLWNoZWNrYm94LW9sZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IHNpemU9XCJzbVwiICpuZ0lmPVwiaXRlbS5pY29uICYmIGl0ZW0uaWNvbk5hbWVcIiBjbGFzcz1cInMtc3ViLW1lbnVfX29wdGlvbl9fbGVmdF9faWNvblwiPnt7aXRlbS5pY29uTmFtZX19PC9zLWljb24tbWF0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzLXN1Yi1tZW51X19vcHRpb25fX2xlZnRfX3RpdGxlIGN1cnNvci1ub3JtYWxcIj57e2l0ZW0udGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgPCEtLSBBY3Rpb24gLS0+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5hY3Rpb24gJiYgIWl0ZW0uaW5wdXRUeXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicy1zdWItbWVudS0tYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicy1zdWItbWVudV9fb3B0aW9uIGN1cnNvclwiIChjbGljayk9XCJpdGVtLmFjdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5hY3Rpb25cIiBjbGFzcz1cInMtc3ViLW1lbnVfX29wdGlvbl9fbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgc2l6ZT1cInNtXCIgKm5nSWY9XCJpdGVtLmljb24gJiYgaXRlbS5pY29uTmFtZVwiIGNsYXNzPVwicy1zdWItbWVudV9fb3B0aW9uX19sZWZ0X19pY29uXCI+e3tpdGVtLmljb25OYW1lfX08L3MtaWNvbi1tYXQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInMtc3ViLW1lbnVfX29wdGlvbl9fbGVmdF9fdGl0bGVcIj57e2l0ZW0udGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICA8IS0tIFNvbG8gTGFiZWwgLS0+XG4gICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmFjdGlvbiAmJiAhaXRlbS5pbnB1dFR5cGUgJiYgIWl0ZW0ubGluayAmJiAhaXRlbS5zZXBhcmF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInMtc3ViLW1lbnUtLWJ1dHRvblwiIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicy1zdWItbWVudV9fb3B0aW9uIGN1cnNvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInMtc3ViLW1lbnVfX29wdGlvbl9fbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgc2l6ZT1cInNtXCIgKm5nSWY9XCJpdGVtLmljb24gJiYgaXRlbS5pY29uTmFtZVwiIGNsYXNzPVwicy1zdWItbWVudV9fb3B0aW9uX19sZWZ0X19pY29uXCI+e3tpdGVtLmljb25OYW1lfX08L3MtaWNvbi1tYXQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInMtc3ViLW1lbnVfX29wdGlvbl9fbGVmdF9fdGl0bGVcIj57e2l0ZW0udGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICA8IS0tIEVzcGFjaWFkbyAtLT5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnNlcGFyYXRlXCI+IFxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInMtc3ViLW1lbnVfX3NlcGFyYXRlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgPC9saT5cblxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICA8L3VsPlxuIl19
@@ -1,4 +1,5 @@
1
- import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
1
+ import { Component, EventEmitter, inject, Input, Output, ViewEncapsulation, } from '@angular/core';
2
+ import { STranslateService } from '../../public-api';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/common";
4
5
  import * as i2 from "../toolbar-top/toolbar-top.component";
@@ -22,6 +23,8 @@ export class TableCompleteComponent {
22
23
  this.searchEvent = new EventEmitter();
23
24
  this.bottomStatusBarEvent = new EventEmitter();
24
25
  this.scrollEvent = new EventEmitter();
26
+ this._sTranslateService = inject(STranslateService);
27
+ this.searchText = '';
25
28
  }
26
29
  ngOnChanges(changes) {
27
30
  if (changes['config']) {
@@ -30,12 +33,17 @@ export class TableCompleteComponent {
30
33
  }
31
34
  ngOnInit() {
32
35
  this.filtersDisabled();
36
+ this.emptyConfigSearch = {
37
+ image: 'assets/empty/empty-search.png',
38
+ title: this._sTranslateService.instant('ui.generic.emptySearch.title'),
39
+ detail: this._sTranslateService.instant('ui.generic.emptySearch.detail'),
40
+ };
33
41
  }
34
42
  filtersDisabled() {
35
43
  if (this.config.configToolbarTop) {
36
44
  this.config.configToolbarTop = {
37
45
  ...this.config.configToolbarTop,
38
- filtersDisabled: this.config.totalItems === 0,
46
+ filtersDisabled: this.config.totalItems === 0 && this.searchText === '',
39
47
  };
40
48
  }
41
49
  }
@@ -52,6 +60,7 @@ export class TableCompleteComponent {
52
60
  this.deleteEvent.emit();
53
61
  }
54
62
  search(text) {
63
+ this.searchText = text;
55
64
  this.searchEvent.emit(text);
56
65
  }
57
66
  select(value) {
@@ -87,11 +96,11 @@ export class TableCompleteComponent {
87
96
  this.scrollEvent.emit();
88
97
  }
89
98
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableCompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
90
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TableCompleteComponent, selector: "s-table-complete", inputs: { config: "config" }, outputs: { actionEvent: "actionEvent", checkAllEvent: "checkAllEvent", deleteEvent: "deleteEvent", emptyEvent: "emptyEvent", filterEvent: "filterEvent", orderByEvent: "orderByEvent", pageEvent: "pageEvent", paginationEvent: "paginationEvent", multiSelectEvent: "multiSelectEvent", pillButtonEvent: "pillButtonEvent", selectEvent: "selectEvent", searchEvent: "searchEvent", bottomStatusBarEvent: "bottomStatusBarEvent", scrollEvent: "scrollEvent" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"s-table-complete\">\n <s-toolbar-top\n *ngIf=\"config.configToolbarTop\"\n [config]=\"config.configToolbarTop\"\n (searchEvent)=\"search($event)\"\n (actionEvent)=\"action()\"\n (deleteEvent)=\"delete()\"\n (filterEvent)=\"filter($event)\"\n (multiSelectEvent)=\"multiSelect($event)\"\n (pillButtonEvent)=\"pillButton()\"\n (selectEvent)=\"select($event)\">\n </s-toolbar-top>\n <div class=\"s-table-complete__table\" *ngIf=\"config.columns\">\n <s-tablet\n [configColumn]=\"config.columns\"\n [loading]=\"config.totalItems === 0\"\n [loadingScroll]=\"config.loadingScroll ?? false\"\n (ordenByEvent)=\"ordenEvent($event)\"\n (checkAllEvent)=\"checkAll($event)\"\n (scrollEvent)=\"onScroll()\">\n <ng-template STemplate=\"body\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template STemplate=\"bodyloading\" #notItems>\n <s-empty *ngIf=\"config.emptyConfig\" [config]=\"config.emptyConfig\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n </ng-template>\n </s-tablet>\n </div>\n @if (config.configBottomStatusBar) {\n <s-bottom-status-bar\n [config]=\"config.configBottomStatusBar()\"\n (stateChangeEvent)=\"selectionControlChange($event)\" />\n }\n @if (!config.scroll) {\n @if (!config.hidePagination) {\n <div class=\"s-table-complete__pagination\">\n <section>\n <s-pagination\n *ngIf=\"config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [showing]=\"config.paginationText.showing\"\n [of]=\"config.paginationText.of\"\n [items]=\"config.paginationText.items\"\n [empty]=\"config.paginationText.empty\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n [totalItems]=\"config.totalItems ?? 0\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n <s-pagination\n *ngIf=\"!config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [totalItems]=\"config.totalItems ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n </section>\n </div>\n }\n }\n</section>\n", styles: [".s-table-complete{width:100%;box-shadow:var(--E000);border-radius:.5rem}.s-table-complete__table{background:var(--neutrals-1200)!important}.s-table-complete__pagination{background-color:var(--neutrals-1200);border-top:.031rem solid var(--secondary-300);border-radius:0 0 .5rem .5rem;padding:1rem}.s-table-complete .border-bottom{border-bottom:.031rem solid var(--secondary-300)}.s-table-complete s-tablet .pre-s-tablet{height:37rem;background-color:var(--primary-100)}.s-table-complete .s-scroll::-webkit-scrollbar-track{background-color:var(--neutrals-1200)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SToolbarTopComponent, selector: "s-toolbar-top", inputs: ["config"], outputs: ["actionEvent", "deleteEvent", "filterEvent", "multiSelectEvent", "pillButtonEvent", "selectEvent", "searchEvent"] }, { kind: "component", type: i3.EmptyComponent, selector: "s-empty", inputs: ["config"], outputs: ["buttonEvent"] }, { kind: "component", type: i4.STabletComponent, selector: "s-tablet", inputs: ["data", "loading", "caption", "header", "bodyloading", "body", "configColumn", "loadingScroll"], outputs: ["updateDataEvent", "ordenByEvent", "checkAllEvent", "scrollEvent"] }, { kind: "directive", type: i4.STemplate, selector: "[STemplate]", inputs: ["STemplate"] }, { kind: "component", type: i5.SPaginationComponent, selector: "s-pagination", inputs: ["showing", "to", "of", "items", "empty", "disabled", "pageNumber", "totalItems", "pageSize", "pageSizes"], outputs: ["pageEmitter", "paginationEmitter"] }, { kind: "component", type: i6.SBottomStatusBarComponent, selector: "s-bottom-status-bar", inputs: ["config"], outputs: ["stateChange", "stateChangeEvent"] }], encapsulation: i0.ViewEncapsulation.None }); }
99
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TableCompleteComponent, selector: "s-table-complete", inputs: { config: "config" }, outputs: { actionEvent: "actionEvent", checkAllEvent: "checkAllEvent", deleteEvent: "deleteEvent", emptyEvent: "emptyEvent", filterEvent: "filterEvent", orderByEvent: "orderByEvent", pageEvent: "pageEvent", paginationEvent: "paginationEvent", multiSelectEvent: "multiSelectEvent", pillButtonEvent: "pillButtonEvent", selectEvent: "selectEvent", searchEvent: "searchEvent", bottomStatusBarEvent: "bottomStatusBarEvent", scrollEvent: "scrollEvent" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"s-table-complete\">\n <s-toolbar-top\n *ngIf=\"config.configToolbarTop\"\n [config]=\"config.configToolbarTop\"\n (searchEvent)=\"search($event)\"\n (actionEvent)=\"action()\"\n (deleteEvent)=\"delete()\"\n (filterEvent)=\"filter($event)\"\n (multiSelectEvent)=\"multiSelect($event)\"\n (pillButtonEvent)=\"pillButton()\"\n (selectEvent)=\"select($event)\">\n </s-toolbar-top>\n <div class=\"s-table-complete__table\" *ngIf=\"config.columns\">\n <s-tablet\n [configColumn]=\"config.columns\"\n [loading]=\"config.totalItems === 0\"\n [loadingScroll]=\"config.loadingScroll ?? false\"\n [isTreeMode]=\"config.isTreeMode ?? false\"\n (ordenByEvent)=\"ordenEvent($event)\"\n (checkAllEvent)=\"checkAll($event)\"\n (scrollEvent)=\"onScroll()\">\n <ng-template STemplate=\"body\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template STemplate=\"bodyloading\" #notItems>\n @if (searchText) {\n <s-empty [config]=\"emptyConfigSearch\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n } @else {\n <s-empty *ngIf=\"config.emptyConfig\" [config]=\"config.emptyConfig\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n }\n </ng-template>\n </s-tablet>\n </div>\n @if (config.configBottomStatusBar) {\n <s-bottom-status-bar\n [config]=\"config.configBottomStatusBar()\"\n (stateChangeEvent)=\"selectionControlChange($event)\" />\n }\n @if (!config.scroll) {\n @if (!config.hidePagination) {\n <div class=\"s-table-complete__pagination\">\n <section>\n <s-pagination\n *ngIf=\"config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [showing]=\"config.paginationText.showing\"\n [of]=\"config.paginationText.of\"\n [items]=\"config.paginationText.items\"\n [empty]=\"config.paginationText.empty\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n [totalItems]=\"config.totalItems ?? 0\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n <s-pagination\n *ngIf=\"!config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [totalItems]=\"config.totalItems ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n </section>\n </div>\n }\n }\n</section>\n", styles: [".s-table-complete{width:100%;box-shadow:var(--E000);border-radius:.5rem}.s-table-complete__table{background:var(--neutrals-1200)!important}.s-table-complete__pagination{background-color:var(--neutrals-1200);border-top:.031rem solid var(--secondary-300);border-radius:0 0 .5rem .5rem;padding:1rem}.s-table-complete .border-bottom{border-bottom:.031rem solid var(--secondary-300)}.s-table-complete s-tablet .pre-s-tablet{height:37rem;background-color:var(--primary-100)}.s-table-complete .s-scroll::-webkit-scrollbar-track{background-color:var(--neutrals-1200)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SToolbarTopComponent, selector: "s-toolbar-top", inputs: ["config"], outputs: ["actionEvent", "deleteEvent", "filterEvent", "multiSelectEvent", "pillButtonEvent", "selectEvent", "searchEvent"] }, { kind: "component", type: i3.EmptyComponent, selector: "s-empty", inputs: ["config"], outputs: ["buttonEvent"] }, { kind: "component", type: i4.STabletComponent, selector: "s-tablet", inputs: ["data", "loading", "caption", "header", "bodyloading", "body", "configColumn", "isTreeMode", "loadingScroll"], outputs: ["updateDataEvent", "ordenByEvent", "checkAllEvent", "scrollEvent"] }, { kind: "directive", type: i4.STemplate, selector: "[STemplate]", inputs: ["STemplate"] }, { kind: "component", type: i5.SPaginationComponent, selector: "s-pagination", inputs: ["showing", "to", "of", "items", "empty", "disabled", "pageNumber", "totalItems", "pageSize", "pageSizes"], outputs: ["pageEmitter", "paginationEmitter"] }, { kind: "component", type: i6.SBottomStatusBarComponent, selector: "s-bottom-status-bar", inputs: ["config"], outputs: ["stateChange", "stateChangeEvent"] }], encapsulation: i0.ViewEncapsulation.None }); }
91
100
  }
92
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableCompleteComponent, decorators: [{
93
102
  type: Component,
94
- args: [{ selector: 's-table-complete', encapsulation: ViewEncapsulation.None, template: "<section class=\"s-table-complete\">\n <s-toolbar-top\n *ngIf=\"config.configToolbarTop\"\n [config]=\"config.configToolbarTop\"\n (searchEvent)=\"search($event)\"\n (actionEvent)=\"action()\"\n (deleteEvent)=\"delete()\"\n (filterEvent)=\"filter($event)\"\n (multiSelectEvent)=\"multiSelect($event)\"\n (pillButtonEvent)=\"pillButton()\"\n (selectEvent)=\"select($event)\">\n </s-toolbar-top>\n <div class=\"s-table-complete__table\" *ngIf=\"config.columns\">\n <s-tablet\n [configColumn]=\"config.columns\"\n [loading]=\"config.totalItems === 0\"\n [loadingScroll]=\"config.loadingScroll ?? false\"\n (ordenByEvent)=\"ordenEvent($event)\"\n (checkAllEvent)=\"checkAll($event)\"\n (scrollEvent)=\"onScroll()\">\n <ng-template STemplate=\"body\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template STemplate=\"bodyloading\" #notItems>\n <s-empty *ngIf=\"config.emptyConfig\" [config]=\"config.emptyConfig\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n </ng-template>\n </s-tablet>\n </div>\n @if (config.configBottomStatusBar) {\n <s-bottom-status-bar\n [config]=\"config.configBottomStatusBar()\"\n (stateChangeEvent)=\"selectionControlChange($event)\" />\n }\n @if (!config.scroll) {\n @if (!config.hidePagination) {\n <div class=\"s-table-complete__pagination\">\n <section>\n <s-pagination\n *ngIf=\"config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [showing]=\"config.paginationText.showing\"\n [of]=\"config.paginationText.of\"\n [items]=\"config.paginationText.items\"\n [empty]=\"config.paginationText.empty\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n [totalItems]=\"config.totalItems ?? 0\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n <s-pagination\n *ngIf=\"!config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [totalItems]=\"config.totalItems ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n </section>\n </div>\n }\n }\n</section>\n", styles: [".s-table-complete{width:100%;box-shadow:var(--E000);border-radius:.5rem}.s-table-complete__table{background:var(--neutrals-1200)!important}.s-table-complete__pagination{background-color:var(--neutrals-1200);border-top:.031rem solid var(--secondary-300);border-radius:0 0 .5rem .5rem;padding:1rem}.s-table-complete .border-bottom{border-bottom:.031rem solid var(--secondary-300)}.s-table-complete s-tablet .pre-s-tablet{height:37rem;background-color:var(--primary-100)}.s-table-complete .s-scroll::-webkit-scrollbar-track{background-color:var(--neutrals-1200)}\n"] }]
103
+ args: [{ selector: 's-table-complete', encapsulation: ViewEncapsulation.None, template: "<section class=\"s-table-complete\">\n <s-toolbar-top\n *ngIf=\"config.configToolbarTop\"\n [config]=\"config.configToolbarTop\"\n (searchEvent)=\"search($event)\"\n (actionEvent)=\"action()\"\n (deleteEvent)=\"delete()\"\n (filterEvent)=\"filter($event)\"\n (multiSelectEvent)=\"multiSelect($event)\"\n (pillButtonEvent)=\"pillButton()\"\n (selectEvent)=\"select($event)\">\n </s-toolbar-top>\n <div class=\"s-table-complete__table\" *ngIf=\"config.columns\">\n <s-tablet\n [configColumn]=\"config.columns\"\n [loading]=\"config.totalItems === 0\"\n [loadingScroll]=\"config.loadingScroll ?? false\"\n [isTreeMode]=\"config.isTreeMode ?? false\"\n (ordenByEvent)=\"ordenEvent($event)\"\n (checkAllEvent)=\"checkAll($event)\"\n (scrollEvent)=\"onScroll()\">\n <ng-template STemplate=\"body\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template STemplate=\"bodyloading\" #notItems>\n @if (searchText) {\n <s-empty [config]=\"emptyConfigSearch\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n } @else {\n <s-empty *ngIf=\"config.emptyConfig\" [config]=\"config.emptyConfig\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n }\n </ng-template>\n </s-tablet>\n </div>\n @if (config.configBottomStatusBar) {\n <s-bottom-status-bar\n [config]=\"config.configBottomStatusBar()\"\n (stateChangeEvent)=\"selectionControlChange($event)\" />\n }\n @if (!config.scroll) {\n @if (!config.hidePagination) {\n <div class=\"s-table-complete__pagination\">\n <section>\n <s-pagination\n *ngIf=\"config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [showing]=\"config.paginationText.showing\"\n [of]=\"config.paginationText.of\"\n [items]=\"config.paginationText.items\"\n [empty]=\"config.paginationText.empty\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n [totalItems]=\"config.totalItems ?? 0\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n <s-pagination\n *ngIf=\"!config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [totalItems]=\"config.totalItems ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n </section>\n </div>\n }\n }\n</section>\n", styles: [".s-table-complete{width:100%;box-shadow:var(--E000);border-radius:.5rem}.s-table-complete__table{background:var(--neutrals-1200)!important}.s-table-complete__pagination{background-color:var(--neutrals-1200);border-top:.031rem solid var(--secondary-300);border-radius:0 0 .5rem .5rem;padding:1rem}.s-table-complete .border-bottom{border-bottom:.031rem solid var(--secondary-300)}.s-table-complete s-tablet .pre-s-tablet{height:37rem;background-color:var(--primary-100)}.s-table-complete .s-scroll::-webkit-scrollbar-track{background-color:var(--neutrals-1200)}\n"] }]
95
104
  }], propDecorators: { config: [{
96
105
  type: Input
97
106
  }], actionEvent: [{
@@ -123,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
123
132
  }], scrollEvent: [{
124
133
  type: Output
125
134
  }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29tcGxldGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdGFibGUtY29tcGxldGUvdGFibGUtY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdGFibGUtY29tcGxldGUvdGFibGUtY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixpQkFBaUIsR0FFbEIsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBa0N2QixNQUFNLE9BQU8sc0JBQXNCO0lBTm5DO1FBUVksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3ZDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM1QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBQzNDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUM3QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN2QyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDN0MscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUNoRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDM0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN6Qyx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ25ELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQWlGbEQ7SUEvRUMsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEdBQUc7Z0JBQzdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0I7Z0JBQy9CLGVBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxDQUFDO2FBQzlDLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBWTtRQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFlO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFnQjtRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRLENBQUMsVUFBa0I7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxVQUFVLENBQUMsVUFBa0I7UUFDM0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQWM7UUFDbkMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQzsrR0EvRlUsc0JBQXNCO21HQUF0QixzQkFBc0IsNGlCQzVDbkMsdW1GQWtFQTs7NEZEdEJhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxrQkFBa0IsaUJBR2IsaUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTVG9vbGJhclRvcCB9IGZyb20gJy4uL3Rvb2xiYXItdG9wJztcbmltcG9ydCB7IFNFbXB0eSB9IGZyb20gJy4uL2VtcHR5L2VtcHR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maWdDb2x1bW4sIFNvcnRUYWJsZSB9IGZyb20gJy4uL3RhYmxlLXQnO1xuaW1wb3J0IHsgSVBhZ2VTaXplcyB9IGZyb20gJy4uL3BhZ2luYXRpb24nO1xuaW1wb3J0IHsgU0JvdHRvbVN0YXR1c0JhciB9IGZyb20gJy4uL2JvdHRvbS1zdGF0dXMtYmFyJztcblxuZXhwb3J0IGludGVyZmFjZSBTVGFibGVDb21wbGV0ZSB7XG4gIGNvbHVtbnM6IENvbmZpZ0NvbHVtbltdO1xuICBwYWdlTnVtYmVyPzogbnVtYmVyO1xuICB0b3RhbEl0ZW1zPzogbnVtYmVyO1xuICBjb25maWdCb3R0b21TdGF0dXNCYXI/OiBXcml0YWJsZVNpZ25hbDxTQm90dG9tU3RhdHVzQmFyPjtcbiAgY29uZmlnVG9vbGJhclRvcD86IFNUb29sYmFyVG9wO1xuICBlbXB0eUNvbmZpZz86IFNFbXB0eTtcbiAgaGlkZVBhZ2luYXRpb24/OiBib29sZWFuO1xuICBzY3JvbGw/OiBib29sZWFuO1xuICBsb2FkaW5nU2Nyb2xsPzogYm9vbGVhbjtcbiAgcGFnZVNpemU/OiBudW1iZXI7XG4gIHBhZ2VTaXplcz86IElQYWdlU2l6ZXNbXTtcbiAgcGFnaW5hdGlvblRleHQ/OiB7XG4gICAgc2hvd2luZzogc3RyaW5nO1xuICAgIHRvOiBzdHJpbmc7XG4gICAgb2Y6IHN0cmluZztcbiAgICBpdGVtczogc3RyaW5nO1xuICAgIGVtcHR5OiBzdHJpbmc7XG4gIH07XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3MtdGFibGUtY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBjb25maWchOiBTVGFibGVDb21wbGV0ZTtcbiAgQE91dHB1dCgpIGFjdGlvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgY2hlY2tBbGxFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGRlbGV0ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgZW1wdHlFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcbiAgQE91dHB1dCgpIG9yZGVyQnlFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8U29ydFRhYmxlPigpO1xuICBAT3V0cHV0KCkgcGFnZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBwYWdpbmF0aW9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIG11bHRpU2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuICBAT3V0cHV0KCkgcGlsbEJ1dHRvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHNlYXJjaEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBib3R0b21TdGF0dXNCYXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHNjcm9sbEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snY29uZmlnJ10pIHtcbiAgICAgIHRoaXMuZmlsdGVyc0Rpc2FibGVkKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJzRGlzYWJsZWQoKTtcbiAgfVxuXG4gIGZpbHRlcnNEaXNhYmxlZCgpIHtcbiAgICBpZiAodGhpcy5jb25maWcuY29uZmlnVG9vbGJhclRvcCkge1xuICAgICAgdGhpcy5jb25maWcuY29uZmlnVG9vbGJhclRvcCA9IHtcbiAgICAgICAgLi4udGhpcy5jb25maWcuY29uZmlnVG9vbGJhclRvcCxcbiAgICAgICAgZmlsdGVyc0Rpc2FibGVkOiB0aGlzLmNvbmZpZy50b3RhbEl0ZW1zID09PSAwLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBjaGVja0FsbChldmVudDogYW55KSB7XG4gICAgdGhpcy5jaGVja0FsbEV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb3JkZW5FdmVudChldmVudDogYW55KSB7XG4gICAgdGhpcy5vcmRlckJ5RXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBhY3Rpb24oKSB7XG4gICAgdGhpcy5hY3Rpb25FdmVudC5lbWl0KCk7XG4gIH1cblxuICBkZWxldGUoKSB7XG4gICAgdGhpcy5kZWxldGVFdmVudC5lbWl0KCk7XG4gIH1cblxuICBzZWFyY2godGV4dDogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hFdmVudC5lbWl0KHRleHQpO1xuICB9XG5cbiAgc2VsZWN0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdEV2ZW50LmVtaXQodmFsdWUpO1xuICB9XG5cbiAgbXVsdGlTZWxlY3QodmFsdWU6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5tdWx0aVNlbGVjdEV2ZW50LmVtaXQodmFsdWUpO1xuICB9XG5cbiAgZmlsdGVyKHZhbHVlczogc3RyaW5nW10pIHtcbiAgICB0aGlzLmZpbHRlckV2ZW50LmVtaXQodmFsdWVzKTtcbiAgfVxuXG4gIHBpbGxCdXR0b24oKSB7XG4gICAgdGhpcy5waWxsQnV0dG9uRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgYnV0dG9uRW1wdHkoKSB7XG4gICAgdGhpcy5lbXB0eUV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIGdvVG9QYWdlKHBhZ2VOdW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMuY29uZmlnLnBhZ2VOdW1iZXIgPSBwYWdlTnVtYmVyO1xuICAgIHRoaXMucGFnZUV2ZW50LmVtaXQocGFnZU51bWJlcik7XG4gIH1cblxuICBwYWdpbmF0aW9uKHBhZ2luYXRpb246IG51bWJlcikge1xuICAgIHRoaXMucGFnaW5hdGlvbkV2ZW50LmVtaXQocGFnaW5hdGlvbik7XG4gIH1cblxuICBzZWxlY3Rpb25Db250cm9sQ2hhbmdlKHN0YXRlOiBib29sZWFuKSB7XG4gICAgdGhpcy5ib3R0b21TdGF0dXNCYXJFdmVudC5lbWl0KHN0YXRlKTtcbiAgfVxuXG4gIG9uU2Nyb2xsKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb25maWcuc2Nyb2xsIHx8IHRoaXMuY29uZmlnLmxvYWRpbmdTY3JvbGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jb25maWcubG9hZGluZ1Njcm9sbCA9IHRydWU7XG4gICAgdGhpcy5zY3JvbGxFdmVudC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwicy10YWJsZS1jb21wbGV0ZVwiPlxuICA8cy10b29sYmFyLXRvcFxuICAgICpuZ0lmPVwiY29uZmlnLmNvbmZpZ1Rvb2xiYXJUb3BcIlxuICAgIFtjb25maWddPVwiY29uZmlnLmNvbmZpZ1Rvb2xiYXJUb3BcIlxuICAgIChzZWFyY2hFdmVudCk9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgKGFjdGlvbkV2ZW50KT1cImFjdGlvbigpXCJcbiAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlKClcIlxuICAgIChmaWx0ZXJFdmVudCk9XCJmaWx0ZXIoJGV2ZW50KVwiXG4gICAgKG11bHRpU2VsZWN0RXZlbnQpPVwibXVsdGlTZWxlY3QoJGV2ZW50KVwiXG4gICAgKHBpbGxCdXR0b25FdmVudCk9XCJwaWxsQnV0dG9uKClcIlxuICAgIChzZWxlY3RFdmVudCk9XCJzZWxlY3QoJGV2ZW50KVwiPlxuICA8L3MtdG9vbGJhci10b3A+XG4gIDxkaXYgY2xhc3M9XCJzLXRhYmxlLWNvbXBsZXRlX190YWJsZVwiICpuZ0lmPVwiY29uZmlnLmNvbHVtbnNcIj5cbiAgICA8cy10YWJsZXRcbiAgICAgIFtjb25maWdDb2x1bW5dPVwiY29uZmlnLmNvbHVtbnNcIlxuICAgICAgW2xvYWRpbmddPVwiY29uZmlnLnRvdGFsSXRlbXMgPT09IDBcIlxuICAgICAgW2xvYWRpbmdTY3JvbGxdPVwiY29uZmlnLmxvYWRpbmdTY3JvbGwgPz8gZmFsc2VcIlxuICAgICAgKG9yZGVuQnlFdmVudCk9XCJvcmRlbkV2ZW50KCRldmVudClcIlxuICAgICAgKGNoZWNrQWxsRXZlbnQpPVwiY2hlY2tBbGwoJGV2ZW50KVwiXG4gICAgICAoc2Nyb2xsRXZlbnQpPVwib25TY3JvbGwoKVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFNUZW1wbGF0ZT1cImJvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBTVGVtcGxhdGU9XCJib2R5bG9hZGluZ1wiICNub3RJdGVtcz5cbiAgICAgICAgPHMtZW1wdHkgKm5nSWY9XCJjb25maWcuZW1wdHlDb25maWdcIiBbY29uZmlnXT1cImNvbmZpZy5lbXB0eUNvbmZpZ1wiIChidXR0b25FdmVudCk9XCJidXR0b25FbXB0eSgpXCI+PC9zLWVtcHR5PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3MtdGFibGV0PlxuICA8L2Rpdj5cbiAgQGlmIChjb25maWcuY29uZmlnQm90dG9tU3RhdHVzQmFyKSB7XG4gICAgPHMtYm90dG9tLXN0YXR1cy1iYXJcbiAgICAgIFtjb25maWddPVwiY29uZmlnLmNvbmZpZ0JvdHRvbVN0YXR1c0JhcigpXCJcbiAgICAgIChzdGF0ZUNoYW5nZUV2ZW50KT1cInNlbGVjdGlvbkNvbnRyb2xDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gIH1cbiAgQGlmICghY29uZmlnLnNjcm9sbCkge1xuICAgIEBpZiAoIWNvbmZpZy5oaWRlUGFnaW5hdGlvbikge1xuICAgICAgPGRpdiBjbGFzcz1cInMtdGFibGUtY29tcGxldGVfX3BhZ2luYXRpb25cIj5cbiAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgPHMtcGFnaW5hdGlvblxuICAgICAgICAgICAgKm5nSWY9XCJjb25maWcucGFnaW5hdGlvblRleHRcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNvbmZpZy50b3RhbEl0ZW1zID09PSAwXCJcbiAgICAgICAgICAgIFtzaG93aW5nXT1cImNvbmZpZy5wYWdpbmF0aW9uVGV4dC5zaG93aW5nXCJcbiAgICAgICAgICAgIFtvZl09XCJjb25maWcucGFnaW5hdGlvblRleHQub2ZcIlxuICAgICAgICAgICAgW2l0ZW1zXT1cImNvbmZpZy5wYWdpbmF0aW9uVGV4dC5pdGVtc1wiXG4gICAgICAgICAgICBbZW1wdHldPVwiY29uZmlnLnBhZ2luYXRpb25UZXh0LmVtcHR5XCJcbiAgICAgICAgICAgIFtwYWdlTnVtYmVyXT1cImNvbmZpZy5wYWdlTnVtYmVyID8/IDBcIlxuICAgICAgICAgICAgW3BhZ2VTaXplXT1cImNvbmZpZy5wYWdlU2l6ZSA/PyAwXCJcbiAgICAgICAgICAgIFtwYWdlU2l6ZXNdPVwiY29uZmlnLnBhZ2VTaXplcyA/IGNvbmZpZy5wYWdlU2l6ZXMgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgW3RvdGFsSXRlbXNdPVwiY29uZmlnLnRvdGFsSXRlbXMgPz8gMFwiXG4gICAgICAgICAgICAocGFnZUVtaXR0ZXIpPVwiZ29Ub1BhZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAocGFnaW5hdGlvbkVtaXR0ZXIpPVwicGFnaW5hdGlvbigkZXZlbnQpXCI+XG4gICAgICAgICAgPC9zLXBhZ2luYXRpb24+XG4gICAgICAgICAgPHMtcGFnaW5hdGlvblxuICAgICAgICAgICAgKm5nSWY9XCIhY29uZmlnLnBhZ2luYXRpb25UZXh0XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjb25maWcudG90YWxJdGVtcyA9PT0gMFwiXG4gICAgICAgICAgICBbcGFnZU51bWJlcl09XCJjb25maWcucGFnZU51bWJlciA/PyAwXCJcbiAgICAgICAgICAgIFt0b3RhbEl0ZW1zXT1cImNvbmZpZy50b3RhbEl0ZW1zID8/IDBcIlxuICAgICAgICAgICAgW3BhZ2VTaXplXT1cImNvbmZpZy5wYWdlU2l6ZSA/PyAwXCJcbiAgICAgICAgICAgIFtwYWdlU2l6ZXNdPVwiY29uZmlnLnBhZ2VTaXplcyA/IGNvbmZpZy5wYWdlU2l6ZXMgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgKHBhZ2VFbWl0dGVyKT1cImdvVG9QYWdlKCRldmVudClcIlxuICAgICAgICAgICAgKHBhZ2luYXRpb25FbWl0dGVyKT1cInBhZ2luYXRpb24oJGV2ZW50KVwiPlxuICAgICAgICAgIDwvcy1wYWdpbmF0aW9uPlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIH1cbjwvc2VjdGlvbj5cbiJdfQ==
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29tcGxldGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdGFibGUtY29tcGxldGUvdGFibGUtY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdGFibGUtY29tcGxldGUvdGFibGUtY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBRU4saUJBQWlCLEdBRWxCLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7OztBQThCckQsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQVFZLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN2QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3ZDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3RDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUMzQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDN0MsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzdDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDaEQsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzNDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN6QyxnQkFBVyxHQUFHLElBQUksWUFB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LENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyRCxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7K0dBMUdVLHNCQUFzQjttR0FBdEIsc0JBQXNCLDRpQkMvQ25DLG96RkF1RUE7OzRGRHhCYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0Usa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUk7OEJBRzVCLE1BQU07c0JBQWQsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTVG9vbGJhclRvcCB9IGZyb20gJy4uL3Rvb2xiYXItdG9wJztcbmltcG9ydCB7IFNFbXB0eSB9IGZyb20gJy4uL2VtcHR5L2VtcHR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maWdDb2x1bW4sIFNvcnRUYWJsZSB9IGZyb20gJy4uL3RhYmxlLXQnO1xuaW1wb3J0IHsgSVBhZ2VTaXplcyB9IGZyb20gJy4uL3BhZ2luYXRpb24nO1xuaW1wb3J0IHsgU0JvdHRvbVN0YXR1c0JhciB9IGZyb20gJy4uL2JvdHRvbS1zdGF0dXMtYmFyJztcbmltcG9ydCB7IFNUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU1RhYmxlQ29tcGxldGUge1xuICBjb2x1bW5zOiBDb25maWdDb2x1bW5bXTtcbiAgcGFnZU51bWJlcj86IG51bWJlcjtcbiAgdG90YWxJdGVtcz86IG51bWJlcjtcbiAgY29uZmlnQm90dG9tU3RhdHVzQmFyPzogV3JpdGFibGVTaWduYWw8U0JvdHRvbVN0YXR1c0Jhcj47XG4gIGNvbmZpZ1Rvb2xiYXJUb3A/OiBTVG9vbGJhclRvcDtcbiAgZW1wdHlDb25maWc/OiBTRW1wdHk7XG4gIGhpZGVQYWdpbmF0aW9uPzogYm9vbGVhbjtcbiAgc2Nyb2xsPzogYm9vbGVhbjtcbiAgbG9hZGluZ1Njcm9sbD86IGJvb2xlYW47XG4gIHBhZ2VTaXplPzogbnVtYmVyO1xuICBwYWdlU2l6ZXM/OiBJUGFnZVNpemVzW107XG4gIGlzVHJlZU1vZGU/OiBib29sZWFuO1xuICBwYWdpbmF0aW9uVGV4dD86IHtcbiAgICBzaG93aW5nOiBzdHJpbmc7XG4gICAgdG86IHN0cmluZztcbiAgICBvZjogc3RyaW5nO1xuICAgIGl0ZW1zOiBzdHJpbmc7XG4gICAgZW1wdHk6IHN0cmluZztcbiAgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncy10YWJsZS1jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWNvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGNvbmZpZyE6IFNUYWJsZUNvbXBsZXRlO1xuICBAT3V0cHV0KCkgYWN0aW9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBjaGVja0FsbEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgZGVsZXRlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBlbXB0eUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgZmlsdGVyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuICBAT3V0cHV0KCkgb3JkZXJCeUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxTb3J0VGFibGU+KCk7XG4gIEBPdXRwdXQoKSBwYWdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHBhZ2luYXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgbXVsdGlTZWxlY3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG4gIEBPdXRwdXQoKSBwaWxsQnV0dG9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgc2VhcmNoRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGJvdHRvbVN0YXR1c0JhckV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgc2Nyb2xsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfc1RyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoU1RyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gIGVtcHR5Q29uZmlnU2VhcmNoITogU0VtcHR5O1xuICBzZWFyY2hUZXh0ID0gJyc7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydjb25maWcnXSkge1xuICAgICAgdGhpcy5maWx0ZXJzRGlzYWJsZWQoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlcnNEaXNhYmxlZCgpO1xuICAgIHRoaXMuZW1wdHlDb25maWdTZWFyY2ggPSB7XG4gICAgICBpbWFnZTogJ2Fzc2V0cy9lbXB0eS9lbXB0eS1zZWFyY2gucG5nJyxcbiAgICAgIHRpdGxlOiB0aGlzLl9zVHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd1aS5nZW5lcmljLmVtcHR5U2VhcmNoLnRpdGxlJyksXG4gICAgICBkZXRhaWw6IHRoaXMuX3NUcmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3VpLmdlbmVyaWMuZW1wdHlTZWFyY2guZGV0YWlsJyksXG4gICAgfTtcbiAgfVxuXG4gIGZpbHRlcnNEaXNhYmxlZCgpIHtcbiAgICBpZiAodGhpcy5jb25maWcuY29uZmlnVG9vbGJhclRvcCkge1xuICAgICAgdGhpcy5jb25maWcuY29uZmlnVG9vbGJhclRvcCA9IHtcbiAgICAgICAgLi4udGhpcy5jb25maWcuY29uZmlnVG9vbGJhclRvcCxcbiAgICAgICAgZmlsdGVyc0Rpc2FibGVkOiB0aGlzLmNvbmZpZy50b3RhbEl0ZW1zID09PSAwICYmIHRoaXMuc2VhcmNoVGV4dCA9PT0gJycsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrQWxsKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmNoZWNrQWxsRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBvcmRlbkV2ZW50KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9yZGVyQnlFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGFjdGlvbigpIHtcbiAgICB0aGlzLmFjdGlvbkV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIGRlbGV0ZSgpIHtcbiAgICB0aGlzLmRlbGV0ZUV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIHNlYXJjaCh0ZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSB0ZXh0O1xuICAgIHRoaXMuc2VhcmNoRXZlbnQuZW1pdCh0ZXh0KTtcbiAgfVxuXG4gIHNlbGVjdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWxlY3RFdmVudC5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIG11bHRpU2VsZWN0KHZhbHVlOiBzdHJpbmdbXSkge1xuICAgIHRoaXMubXVsdGlTZWxlY3RFdmVudC5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIGZpbHRlcih2YWx1ZXM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5maWx0ZXJFdmVudC5lbWl0KHZhbHVlcyk7XG4gIH1cblxuICBwaWxsQnV0dG9uKCkge1xuICAgIHRoaXMucGlsbEJ1dHRvbkV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIGJ1dHRvbkVtcHR5KCkge1xuICAgIHRoaXMuZW1wdHlFdmVudC5lbWl0KCk7XG4gIH1cblxuICBnb1RvUGFnZShwYWdlTnVtYmVyOiBudW1iZXIpIHtcbiAgICB0aGlzLmNvbmZpZy5wYWdlTnVtYmVyID0gcGFnZU51bWJlcjtcbiAgICB0aGlzLnBhZ2VFdmVudC5lbWl0KHBhZ2VOdW1iZXIpO1xuICB9XG5cbiAgcGFnaW5hdGlvbihwYWdpbmF0aW9uOiBudW1iZXIpIHtcbiAgICB0aGlzLnBhZ2luYXRpb25FdmVudC5lbWl0KHBhZ2luYXRpb24pO1xuICB9XG5cbiAgc2VsZWN0aW9uQ29udHJvbENoYW5nZShzdGF0ZTogYm9vbGVhbikge1xuICAgIHRoaXMuYm90dG9tU3RhdHVzQmFyRXZlbnQuZW1pdChzdGF0ZSk7XG4gIH1cblxuICBvblNjcm9sbCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnLnNjcm9sbCB8fCB0aGlzLmNvbmZpZy5sb2FkaW5nU2Nyb2xsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY29uZmlnLmxvYWRpbmdTY3JvbGwgPSB0cnVlO1xuICAgIHRoaXMuc2Nyb2xsRXZlbnQuZW1pdCgpO1xuICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cInMtdGFibGUtY29tcGxldGVcIj5cbiAgPHMtdG9vbGJhci10b3BcbiAgICAqbmdJZj1cImNvbmZpZy5jb25maWdUb29sYmFyVG9wXCJcbiAgICBbY29uZmlnXT1cImNvbmZpZy5jb25maWdUb29sYmFyVG9wXCJcbiAgICAoc2VhcmNoRXZlbnQpPVwic2VhcmNoKCRldmVudClcIlxuICAgIChhY3Rpb25FdmVudCk9XCJhY3Rpb24oKVwiXG4gICAgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZSgpXCJcbiAgICAoZmlsdGVyRXZlbnQpPVwiZmlsdGVyKCRldmVudClcIlxuICAgIChtdWx0aVNlbGVjdEV2ZW50KT1cIm11bHRpU2VsZWN0KCRldmVudClcIlxuICAgIChwaWxsQnV0dG9uRXZlbnQpPVwicGlsbEJ1dHRvbigpXCJcbiAgICAoc2VsZWN0RXZlbnQpPVwic2VsZWN0KCRldmVudClcIj5cbiAgPC9zLXRvb2xiYXItdG9wPlxuICA8ZGl2IGNsYXNzPVwicy10YWJsZS1jb21wbGV0ZV9fdGFibGVcIiAqbmdJZj1cImNvbmZpZy5jb2x1bW5zXCI+XG4gICAgPHMtdGFibGV0XG4gICAgICBbY29uZmlnQ29sdW1uXT1cImNvbmZpZy5jb2x1bW5zXCJcbiAgICAgIFtsb2FkaW5nXT1cImNvbmZpZy50b3RhbEl0ZW1zID09PSAwXCJcbiAgICAgIFtsb2FkaW5nU2Nyb2xsXT1cImNvbmZpZy5sb2FkaW5nU2Nyb2xsID8/IGZhbHNlXCJcbiAgICAgIFtpc1RyZWVNb2RlXT1cImNvbmZpZy5pc1RyZWVNb2RlID8/IGZhbHNlXCJcbiAgICAgIChvcmRlbkJ5RXZlbnQpPVwib3JkZW5FdmVudCgkZXZlbnQpXCJcbiAgICAgIChjaGVja0FsbEV2ZW50KT1cImNoZWNrQWxsKCRldmVudClcIlxuICAgICAgKHNjcm9sbEV2ZW50KT1cIm9uU2Nyb2xsKClcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBTVGVtcGxhdGU9XCJib2R5XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgU1RlbXBsYXRlPVwiYm9keWxvYWRpbmdcIiAjbm90SXRlbXM+XG4gICAgICAgIEBpZiAoc2VhcmNoVGV4dCkge1xuICAgICAgICAgIDxzLWVtcHR5IFtjb25maWddPVwiZW1wdHlDb25maWdTZWFyY2hcIiAoYnV0dG9uRXZlbnQpPVwiYnV0dG9uRW1wdHkoKVwiPjwvcy1lbXB0eT5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHMtZW1wdHkgKm5nSWY9XCJjb25maWcuZW1wdHlDb25maWdcIiBbY29uZmlnXT1cImNvbmZpZy5lbXB0eUNvbmZpZ1wiIChidXR0b25FdmVudCk9XCJidXR0b25FbXB0eSgpXCI+PC9zLWVtcHR5PlxuICAgICAgICB9XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvcy10YWJsZXQ+XG4gIDwvZGl2PlxuICBAaWYgKGNvbmZpZy5jb25maWdCb3R0b21TdGF0dXNCYXIpIHtcbiAgICA8cy1ib3R0b20tc3RhdHVzLWJhclxuICAgICAgW2NvbmZpZ109XCJjb25maWcuY29uZmlnQm90dG9tU3RhdHVzQmFyKClcIlxuICAgICAgKHN0YXRlQ2hhbmdlRXZlbnQpPVwic2VsZWN0aW9uQ29udHJvbENoYW5nZSgkZXZlbnQpXCIgLz5cbiAgfVxuICBAaWYgKCFjb25maWcuc2Nyb2xsKSB7XG4gICAgQGlmICghY29uZmlnLmhpZGVQYWdpbmF0aW9uKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwicy10YWJsZS1jb21wbGV0ZV9fcGFnaW5hdGlvblwiPlxuICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICA8cy1wYWdpbmF0aW9uXG4gICAgICAgICAgICAqbmdJZj1cImNvbmZpZy5wYWdpbmF0aW9uVGV4dFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiY29uZmlnLnRvdGFsSXRlbXMgPT09IDBcIlxuICAgICAgICAgICAgW3Nob3dpbmddPVwiY29uZmlnLnBhZ2luYXRpb25UZXh0LnNob3dpbmdcIlxuICAgICAgICAgICAgW29mXT1cImNvbmZpZy5wYWdpbmF0aW9uVGV4dC5vZlwiXG4gICAgICAgICAgICBbaXRlbXNdPVwiY29uZmlnLnBhZ2luYXRpb25UZXh0Lml0ZW1zXCJcbiAgICAgICAgICAgIFtlbXB0eV09XCJjb25maWcucGFnaW5hdGlvblRleHQuZW1wdHlcIlxuICAgICAgICAgICAgW3BhZ2VOdW1iZXJdPVwiY29uZmlnLnBhZ2VOdW1iZXIgPz8gMFwiXG4gICAgICAgICAgICBbcGFnZVNpemVdPVwiY29uZmlnLnBhZ2VTaXplID8/IDBcIlxuICAgICAgICAgICAgW3BhZ2VTaXplc109XCJjb25maWcucGFnZVNpemVzID8gY29uZmlnLnBhZ2VTaXplcyA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICBbdG90YWxJdGVtc109XCJjb25maWcudG90YWxJdGVtcyA/PyAwXCJcbiAgICAgICAgICAgIChwYWdlRW1pdHRlcik9XCJnb1RvUGFnZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChwYWdpbmF0aW9uRW1pdHRlcik9XCJwYWdpbmF0aW9uKCRldmVudClcIj5cbiAgICAgICAgICA8L3MtcGFnaW5hdGlvbj5cbiAgICAgICAgICA8cy1wYWdpbmF0aW9uXG4gICAgICAgICAgICAqbmdJZj1cIiFjb25maWcucGFnaW5hdGlvblRleHRcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNvbmZpZy50b3RhbEl0ZW1zID09PSAwXCJcbiAgICAgICAgICAgIFtwYWdlTnVtYmVyXT1cImNvbmZpZy5wYWdlTnVtYmVyID8/IDBcIlxuICAgICAgICAgICAgW3RvdGFsSXRlbXNdPVwiY29uZmlnLnRvdGFsSXRlbXMgPz8gMFwiXG4gICAgICAgICAgICBbcGFnZVNpemVdPVwiY29uZmlnLnBhZ2VTaXplID8/IDBcIlxuICAgICAgICAgICAgW3BhZ2VTaXplc109XCJjb25maWcucGFnZVNpemVzID8gY29uZmlnLnBhZ2VTaXplcyA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAocGFnZUVtaXR0ZXIpPVwiZ29Ub1BhZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAocGFnaW5hdGlvbkVtaXR0ZXIpPVwicGFnaW5hdGlvbigkZXZlbnQpXCI+XG4gICAgICAgICAgPC9zLXBhZ2luYXRpb24+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgfVxuPC9zZWN0aW9uPlxuIl19