tango-app-ui-shared 3.0.2 → 3.0.4

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 (42) hide show
  1. package/esm2022/lib/modules/common/common-shared.module.mjs +30 -0
  2. package/esm2022/lib/modules/common/custom-select/custom-select.component.mjs +134 -0
  3. package/esm2022/lib/modules/common/filters/filters.component.mjs +154 -0
  4. package/esm2022/lib/modules/common/pagination/pagination.component.mjs +48 -0
  5. package/esm2022/lib/modules/layout/header/header-menu/header-menu.component.mjs +3 -3
  6. package/esm2022/lib/modules/layout/header/header.component.mjs +3 -3
  7. package/esm2022/lib/modules/layout/header/page-title/page-title.component.mjs +3 -3
  8. package/esm2022/lib/modules/layout/layout/layout.component.mjs +3 -3
  9. package/esm2022/lib/modules/layout/layout.module.mjs +22 -5
  10. package/esm2022/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.mjs +11 -5
  11. package/esm2022/lib/modules/layout/sidebar/sidebar.component.mjs +3 -3
  12. package/esm2022/lib/modules/layout/toolbar/accounting/accounting.component.mjs +4 -3
  13. package/esm2022/lib/modules/layout/toolbar/classic/classic.component.mjs +252 -48
  14. package/esm2022/lib/modules/layout/toolbar/client-settings/client-settings.component.mjs +38 -0
  15. package/esm2022/lib/modules/layout/toolbar/extended/extended.component.mjs +4 -3
  16. package/esm2022/lib/modules/layout/toolbar/reports/reports.component.mjs +4 -3
  17. package/esm2022/lib/modules/layout/toolbar/saas/saas.component.mjs +4 -3
  18. package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +4 -8
  19. package/esm2022/lib/routes/route-wraper-modules/ticket-wrapper.module.mjs +18 -0
  20. package/esm2022/lib/routes/routing.mjs +5 -1
  21. package/esm2022/lib/services/auth.service.mjs +24 -4
  22. package/esm2022/lib/services/global-state.service.mjs +3 -1
  23. package/esm2022/lib/services/toast.service.mjs +66 -0
  24. package/esm2022/public-api.mjs +7 -1
  25. package/fesm2022/tango-app-ui-shared-ticket-wrapper.module-BLrWsK0B.mjs +21 -0
  26. package/fesm2022/tango-app-ui-shared-ticket-wrapper.module-BLrWsK0B.mjs.map +1 -0
  27. package/fesm2022/tango-app-ui-shared.mjs +834 -143
  28. package/fesm2022/tango-app-ui-shared.mjs.map +1 -1
  29. package/lib/modules/common/common-shared.module.d.ts +12 -0
  30. package/lib/modules/common/custom-select/custom-select.component.d.ts +29 -0
  31. package/lib/modules/common/filters/filters.component.d.ts +32 -0
  32. package/lib/modules/common/pagination/pagination.component.d.ts +17 -0
  33. package/lib/modules/layout/layout.module.d.ts +11 -7
  34. package/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.d.ts +2 -0
  35. package/lib/modules/layout/toolbar/classic/classic.component.d.ts +36 -17
  36. package/lib/modules/layout/toolbar/client-settings/client-settings.component.d.ts +15 -0
  37. package/lib/routes/route-wraper-modules/ticket-wrapper.module.d.ts +7 -0
  38. package/lib/services/auth.service.d.ts +8 -1
  39. package/lib/services/global-state.service.d.ts +2 -0
  40. package/lib/services/toast.service.d.ts +9 -0
  41. package/package.json +1 -1
  42. package/public-api.d.ts +6 -0
@@ -91,10 +91,10 @@ export class HeaderComponent {
91
91
  this.unsubscribe.forEach((sb) => sb.unsubscribe());
92
92
  }
93
93
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HeaderComponent, deps: [{ token: i1.LayoutService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
94
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: HeaderComponent, selector: "lib-header", ngImport: i0, template: "<!--begin::Header container-->\r\n<div class=\"app-container header-style\" id=\"kt_app_header_container\" [ngClass]=\"headerContainerCssClass\">\r\n <ng-container *ngIf=\"appSidebarDefaultCollapseDesktopEnabled\">\r\n <div class=\"app-sidebar-collapse-d-flex align-items-center me-3\">\r\n <!--begin::sidebar toggle-->\r\n <div class=\"btn btn-icon w-auto px-0 btn-color-muted btn-active-icon-primary\" data-kt-toggle=\"true\"\r\n data-kt-toggle-target=\"body\" data-kt-toggle-mode=\"on\" data-kt-toggle-name=\"app-sidebar-collapse\">\r\n <lib-keenicon name=\"double-right\" class=\"fs-1\"></lib-keenicon>\r\n </div>\r\n <!--end::sidebar toggle-->\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar mobile toggle-->\r\n <div class=\"d-flex align-items-center d-lg-none ms-n2 me-2\" title=\"Show sidebar menu\">\r\n <div class=\"btn btn-icon btn-active-color-primary w-35px h-35px\" id=\"kt_app_sidebar_mobile_toggle\">\r\n <lib-keenicon name=\"abstract-14\" class=\"fs-1\"></lib-keenicon>\r\n </div>\r\n </div>\r\n <!--end::sidebar mobile toggle-->\r\n <!--begin::Mobile logo-->\r\n <div class=\"d-flex align-items-center flex-grow-1 flex-lg-grow-0\">\r\n <a routerLink=\"/dashboard\" class=\"d-lg-none\">\r\n <img alt=\"Logo\" src=\"./assets/media/logos/default-small.svg\" class=\"h-30px\" />\r\n </a>\r\n </div>\r\n <!--end::Mobile logo-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!appSidebarDisplay\">\r\n <!--begin::Logo-->\r\n <div class=\"d-flex align-items-center flex-grow-1 flex-lg-grow-0 me-lg-15\">\r\n <a routerLink=\"/dashboard\">\r\n <ng-container *ngIf=\"currentLayoutType === 'dark-header'\">\r\n <img alt=\"Logo\" src=\"./assets/media/logos/default-dark.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"currentLayoutType !== 'dark-header'\">\r\n <img alt=\"Logo\" src=\"./assets/media/logos/default.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default theme-light-show\" />\r\n <img alt=\"Logo\" src=\"./assets/media/logos/default-dark.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default theme-dark-show\" />\r\n </ng-container>\r\n </a>\r\n </div>\r\n <!--end::Logo-->\r\n </ng-container>\r\n\r\n <!--begin::Header wrapper-->\r\n <div class=\"d-flex align-items-stretch justify-content-between flex-lg-grow-1\" id=\"kt_app_header_wrapper\">\r\n <ng-container *ngIf=\"appHeaderDefaultContent === 'menu' && appHeaderDefaulMenuDisplay\">\r\n <!--begin::Menu wrapper-->\r\n <div class=\"\r\n app-header-menu\r\n app-header-mobile-drawer\r\n align-items-stretch\r\n\" data-kt-drawer=\"true\" data-kt-drawer-name=\"app-header-menu\" data-kt-drawer-activate=\"{default: true, lg: false}\"\r\n data-kt-drawer-overlay=\"true\" data-kt-drawer-width=\"225px\" data-kt-drawer-direction=\"end\"\r\n data-kt-drawer-toggle=\"#kt_app_header_menu_toggle\" data-kt-swapper=\"true\"\r\n data-kt-swapper-mode=\"{default: 'append', lg: 'prepend'}\"\r\n data-kt-swapper-parent=\"{default: '#kt_app_body', lg: '#kt_app_header_wrapper'}\">\r\n <!--begin::Menu-->\r\n <lib-header-menu\r\n appPageTitleDirection = ''\r\n [appPageTitleDescription] = true\r\n class=\"\r\n menu\r\n menu-rounded\r\n menu-column\r\n menu-lg-row\r\n my-5\r\n my-lg-0\r\n align-items-stretch\r\n fw-semibold\r\n px-2 px-lg-0\r\n \" id=\"kt_app_header_menu\" data-kt-menu=\"true\"></lib-header-menu>\r\n <!--end::Menu-->\r\n </div>\r\n <!--end::Menu wrapper-->\r\n </ng-container>\r\n <!-- <ng-container *ngIf=\"appHeaderDefaultContent === 'page-title' && appPageTitleDisplay\">\r\n <app-page-title #ktPageTitle class=\"page-title d-flex\"></app-page-title>\r\n </ng-container> -->\r\n <lib-navbar class=\"app-navbar flex-shrink-0\" [appHeaderDefaulMenuDisplay]=\"appHeaderDefaulMenuDisplay\"\r\n [isRtl]=\"false\"></lib-navbar>\r\n </div>\r\n <!--end::Header wrapper-->\r\n</div>\r\n<!--end::Header container-->\r\n", styles: [".header-style{background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.HeaderMenuComponent, selector: "lib-header-menu", inputs: ["appPageTitleDirection", "appPageTitleDescription"] }, { kind: "component", type: i5.NavbarComponent, selector: "lib-navbar", inputs: ["appHeaderDefaulMenuDisplay", "isRtl"] }, { kind: "component", type: i6.KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
94
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: HeaderComponent, selector: "lib-header", ngImport: i0, template: "<!--begin::Header container-->\r\n<div class=\"app-container header-style\" id=\"kt_app_header_container\" [ngClass]=\"headerContainerCssClass\">\r\n <ng-container *ngIf=\"appSidebarDefaultCollapseDesktopEnabled\">\r\n <div class=\"app-sidebar-collapse-d-flex align-items-center me-3\">\r\n <!--begin::sidebar toggle-->\r\n <div class=\"btn btn-icon w-auto px-0 btn-color-muted btn-active-icon-primary\" data-kt-toggle=\"true\"\r\n data-kt-toggle-target=\"body\" data-kt-toggle-mode=\"on\" data-kt-toggle-name=\"app-sidebar-collapse\">\r\n <lib-keenicon name=\"double-right\" class=\"fs-1\"></lib-keenicon>\r\n </div>\r\n <!--end::sidebar toggle-->\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar mobile toggle-->\r\n <div class=\"d-flex align-items-center d-lg-none ms-n2 me-2\" title=\"Show sidebar menu\">\r\n <div class=\"btn btn-icon btn-active-color-primary w-35px h-35px\" id=\"kt_app_sidebar_mobile_toggle\">\r\n <lib-keenicon name=\"abstract-14\" class=\"fs-1\"></lib-keenicon>\r\n </div>\r\n </div>\r\n <!--end::sidebar mobile toggle-->\r\n <!--begin::Mobile logo-->\r\n <div class=\"d-flex align-items-center flex-grow-1 flex-lg-grow-0\">\r\n <a class=\"d-lg-none\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\" class=\"h-30px\" />\r\n </a>\r\n </div>\r\n <!--end::Mobile logo-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!appSidebarDisplay\">\r\n <!--begin::Logo-->\r\n <div class=\"d-flex align-items-center flex-grow-1 flex-lg-grow-0 me-lg-15\">\r\n <a >\r\n <ng-container *ngIf=\"currentLayoutType === 'dark-header'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"currentLayoutType !== 'dark-header'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default theme-light-show\" />\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default theme-dark-show\" />\r\n </ng-container>\r\n </a>\r\n </div>\r\n <!--end::Logo-->\r\n </ng-container>\r\n\r\n <!--begin::Header wrapper-->\r\n <div class=\"d-flex align-items-stretch justify-content-between flex-lg-grow-1 header-border\" id=\"kt_app_header_wrapper\">\r\n <ng-container *ngIf=\"appHeaderDefaultContent === 'menu' && appHeaderDefaulMenuDisplay\">\r\n <!--begin::Menu wrapper-->\r\n <div class=\"\r\n app-header-menu\r\n app-header-mobile-drawer\r\n align-items-stretch\r\n\" data-kt-drawer=\"true\" data-kt-drawer-name=\"app-header-menu\" data-kt-drawer-activate=\"{default: true, lg: false}\"\r\n data-kt-drawer-overlay=\"true\" data-kt-drawer-width=\"225px\" data-kt-drawer-direction=\"end\"\r\n data-kt-drawer-toggle=\"#kt_app_header_menu_toggle\" data-kt-swapper=\"true\"\r\n data-kt-swapper-mode=\"{default: 'append', lg: 'prepend'}\"\r\n data-kt-swapper-parent=\"{default: '#kt_app_body', lg: '#kt_app_header_wrapper'}\">\r\n <!--begin::Menu-->\r\n <lib-header-menu\r\n appPageTitleDirection = ''\r\n [appPageTitleDescription] = true\r\n class=\"\r\n menu\r\n menu-rounded\r\n menu-column\r\n menu-lg-row\r\n my-5\r\n my-lg-0\r\n align-items-stretch\r\n fw-semibold\r\n px-2 px-lg-0\r\n \" id=\"kt_app_header_menu\" data-kt-menu=\"true\"></lib-header-menu>\r\n <!--end::Menu-->\r\n </div>\r\n <!--end::Menu wrapper-->\r\n </ng-container>\r\n <!-- <ng-container *ngIf=\"appHeaderDefaultContent === 'page-title' && appPageTitleDisplay\">\r\n <app-page-title #ktPageTitle class=\"page-title d-flex\"></app-page-title>\r\n </ng-container> -->\r\n <lib-navbar class=\"app-navbar flex-shrink-0\" [appHeaderDefaulMenuDisplay]=\"appHeaderDefaulMenuDisplay\"\r\n [isRtl]=\"false\"></lib-navbar>\r\n </div>\r\n <!--end::Header wrapper-->\r\n</div>\r\n<!--end::Header container-->\r\n", styles: [".header-style{background-color:#fff}.header-border{border-bottom:1px solid #EAECF0}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.HeaderMenuComponent, selector: "lib-header-menu", inputs: ["appPageTitleDirection", "appPageTitleDescription"] }, { kind: "component", type: i5.NavbarComponent, selector: "lib-navbar", inputs: ["appHeaderDefaulMenuDisplay", "isRtl"] }, { kind: "component", type: i6.KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
95
95
  }
96
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HeaderComponent, decorators: [{
97
97
  type: Component,
98
- args: [{ selector: 'lib-header', template: "<!--begin::Header container-->\r\n<div class=\"app-container header-style\" id=\"kt_app_header_container\" [ngClass]=\"headerContainerCssClass\">\r\n <ng-container *ngIf=\"appSidebarDefaultCollapseDesktopEnabled\">\r\n <div class=\"app-sidebar-collapse-d-flex align-items-center me-3\">\r\n <!--begin::sidebar toggle-->\r\n <div class=\"btn btn-icon w-auto px-0 btn-color-muted btn-active-icon-primary\" data-kt-toggle=\"true\"\r\n data-kt-toggle-target=\"body\" data-kt-toggle-mode=\"on\" data-kt-toggle-name=\"app-sidebar-collapse\">\r\n <lib-keenicon name=\"double-right\" class=\"fs-1\"></lib-keenicon>\r\n </div>\r\n <!--end::sidebar toggle-->\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar mobile toggle-->\r\n <div class=\"d-flex align-items-center d-lg-none ms-n2 me-2\" title=\"Show sidebar menu\">\r\n <div class=\"btn btn-icon btn-active-color-primary w-35px h-35px\" id=\"kt_app_sidebar_mobile_toggle\">\r\n <lib-keenicon name=\"abstract-14\" class=\"fs-1\"></lib-keenicon>\r\n </div>\r\n </div>\r\n <!--end::sidebar mobile toggle-->\r\n <!--begin::Mobile logo-->\r\n <div class=\"d-flex align-items-center flex-grow-1 flex-lg-grow-0\">\r\n <a routerLink=\"/dashboard\" class=\"d-lg-none\">\r\n <img alt=\"Logo\" src=\"./assets/media/logos/default-small.svg\" class=\"h-30px\" />\r\n </a>\r\n </div>\r\n <!--end::Mobile logo-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!appSidebarDisplay\">\r\n <!--begin::Logo-->\r\n <div class=\"d-flex align-items-center flex-grow-1 flex-lg-grow-0 me-lg-15\">\r\n <a routerLink=\"/dashboard\">\r\n <ng-container *ngIf=\"currentLayoutType === 'dark-header'\">\r\n <img alt=\"Logo\" src=\"./assets/media/logos/default-dark.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"currentLayoutType !== 'dark-header'\">\r\n <img alt=\"Logo\" src=\"./assets/media/logos/default.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default theme-light-show\" />\r\n <img alt=\"Logo\" src=\"./assets/media/logos/default-dark.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default theme-dark-show\" />\r\n </ng-container>\r\n </a>\r\n </div>\r\n <!--end::Logo-->\r\n </ng-container>\r\n\r\n <!--begin::Header wrapper-->\r\n <div class=\"d-flex align-items-stretch justify-content-between flex-lg-grow-1\" id=\"kt_app_header_wrapper\">\r\n <ng-container *ngIf=\"appHeaderDefaultContent === 'menu' && appHeaderDefaulMenuDisplay\">\r\n <!--begin::Menu wrapper-->\r\n <div class=\"\r\n app-header-menu\r\n app-header-mobile-drawer\r\n align-items-stretch\r\n\" data-kt-drawer=\"true\" data-kt-drawer-name=\"app-header-menu\" data-kt-drawer-activate=\"{default: true, lg: false}\"\r\n data-kt-drawer-overlay=\"true\" data-kt-drawer-width=\"225px\" data-kt-drawer-direction=\"end\"\r\n data-kt-drawer-toggle=\"#kt_app_header_menu_toggle\" data-kt-swapper=\"true\"\r\n data-kt-swapper-mode=\"{default: 'append', lg: 'prepend'}\"\r\n data-kt-swapper-parent=\"{default: '#kt_app_body', lg: '#kt_app_header_wrapper'}\">\r\n <!--begin::Menu-->\r\n <lib-header-menu\r\n appPageTitleDirection = ''\r\n [appPageTitleDescription] = true\r\n class=\"\r\n menu\r\n menu-rounded\r\n menu-column\r\n menu-lg-row\r\n my-5\r\n my-lg-0\r\n align-items-stretch\r\n fw-semibold\r\n px-2 px-lg-0\r\n \" id=\"kt_app_header_menu\" data-kt-menu=\"true\"></lib-header-menu>\r\n <!--end::Menu-->\r\n </div>\r\n <!--end::Menu wrapper-->\r\n </ng-container>\r\n <!-- <ng-container *ngIf=\"appHeaderDefaultContent === 'page-title' && appPageTitleDisplay\">\r\n <app-page-title #ktPageTitle class=\"page-title d-flex\"></app-page-title>\r\n </ng-container> -->\r\n <lib-navbar class=\"app-navbar flex-shrink-0\" [appHeaderDefaulMenuDisplay]=\"appHeaderDefaulMenuDisplay\"\r\n [isRtl]=\"false\"></lib-navbar>\r\n </div>\r\n <!--end::Header wrapper-->\r\n</div>\r\n<!--end::Header container-->\r\n", styles: [".header-style{background-color:#fff}\n"] }]
98
+ args: [{ selector: 'lib-header', template: "<!--begin::Header container-->\r\n<div class=\"app-container header-style\" id=\"kt_app_header_container\" [ngClass]=\"headerContainerCssClass\">\r\n <ng-container *ngIf=\"appSidebarDefaultCollapseDesktopEnabled\">\r\n <div class=\"app-sidebar-collapse-d-flex align-items-center me-3\">\r\n <!--begin::sidebar toggle-->\r\n <div class=\"btn btn-icon w-auto px-0 btn-color-muted btn-active-icon-primary\" data-kt-toggle=\"true\"\r\n data-kt-toggle-target=\"body\" data-kt-toggle-mode=\"on\" data-kt-toggle-name=\"app-sidebar-collapse\">\r\n <lib-keenicon name=\"double-right\" class=\"fs-1\"></lib-keenicon>\r\n </div>\r\n <!--end::sidebar toggle-->\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar mobile toggle-->\r\n <div class=\"d-flex align-items-center d-lg-none ms-n2 me-2\" title=\"Show sidebar menu\">\r\n <div class=\"btn btn-icon btn-active-color-primary w-35px h-35px\" id=\"kt_app_sidebar_mobile_toggle\">\r\n <lib-keenicon name=\"abstract-14\" class=\"fs-1\"></lib-keenicon>\r\n </div>\r\n </div>\r\n <!--end::sidebar mobile toggle-->\r\n <!--begin::Mobile logo-->\r\n <div class=\"d-flex align-items-center flex-grow-1 flex-lg-grow-0\">\r\n <a class=\"d-lg-none\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\" class=\"h-30px\" />\r\n </a>\r\n </div>\r\n <!--end::Mobile logo-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!appSidebarDisplay\">\r\n <!--begin::Logo-->\r\n <div class=\"d-flex align-items-center flex-grow-1 flex-lg-grow-0 me-lg-15\">\r\n <a >\r\n <ng-container *ngIf=\"currentLayoutType === 'dark-header'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"currentLayoutType !== 'dark-header'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default theme-light-show\" />\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default theme-dark-show\" />\r\n </ng-container>\r\n </a>\r\n </div>\r\n <!--end::Logo-->\r\n </ng-container>\r\n\r\n <!--begin::Header wrapper-->\r\n <div class=\"d-flex align-items-stretch justify-content-between flex-lg-grow-1 header-border\" id=\"kt_app_header_wrapper\">\r\n <ng-container *ngIf=\"appHeaderDefaultContent === 'menu' && appHeaderDefaulMenuDisplay\">\r\n <!--begin::Menu wrapper-->\r\n <div class=\"\r\n app-header-menu\r\n app-header-mobile-drawer\r\n align-items-stretch\r\n\" data-kt-drawer=\"true\" data-kt-drawer-name=\"app-header-menu\" data-kt-drawer-activate=\"{default: true, lg: false}\"\r\n data-kt-drawer-overlay=\"true\" data-kt-drawer-width=\"225px\" data-kt-drawer-direction=\"end\"\r\n data-kt-drawer-toggle=\"#kt_app_header_menu_toggle\" data-kt-swapper=\"true\"\r\n data-kt-swapper-mode=\"{default: 'append', lg: 'prepend'}\"\r\n data-kt-swapper-parent=\"{default: '#kt_app_body', lg: '#kt_app_header_wrapper'}\">\r\n <!--begin::Menu-->\r\n <lib-header-menu\r\n appPageTitleDirection = ''\r\n [appPageTitleDescription] = true\r\n class=\"\r\n menu\r\n menu-rounded\r\n menu-column\r\n menu-lg-row\r\n my-5\r\n my-lg-0\r\n align-items-stretch\r\n fw-semibold\r\n px-2 px-lg-0\r\n \" id=\"kt_app_header_menu\" data-kt-menu=\"true\"></lib-header-menu>\r\n <!--end::Menu-->\r\n </div>\r\n <!--end::Menu wrapper-->\r\n </ng-container>\r\n <!-- <ng-container *ngIf=\"appHeaderDefaultContent === 'page-title' && appPageTitleDisplay\">\r\n <app-page-title #ktPageTitle class=\"page-title d-flex\"></app-page-title>\r\n </ng-container> -->\r\n <lib-navbar class=\"app-navbar flex-shrink-0\" [appHeaderDefaulMenuDisplay]=\"appHeaderDefaulMenuDisplay\"\r\n [isRtl]=\"false\"></lib-navbar>\r\n </div>\r\n <!--end::Header wrapper-->\r\n</div>\r\n<!--end::Header container-->\r\n", styles: [".header-style{background-color:#fff}.header-border{border-bottom:1px solid #EAECF0}\n"] }]
99
99
  }], ctorParameters: () => [{ type: i1.LayoutService }, { type: i2.Router }] });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUkxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBT3ZELE1BQU0sT0FBTyxlQUFlO0lBc0JOO0lBQStCO0lBckIzQyxXQUFXLEdBQW1CLEVBQUUsQ0FBQztJQUN6QyxlQUFlO0lBQ2YsaUJBQWlCLENBQW9CO0lBRXJDLGdCQUFnQixDQUFVO0lBQzFCLDRCQUE0QixDQUFVO0lBQ3RDLDJCQUEyQixDQUFVO0lBRXJDLHlCQUF5QixDQUFvQjtJQUM3Qyx1QkFBdUIsR0FBVyxFQUFFLENBQUM7SUFDckMsOEJBQThCLEdBQVcsRUFBRSxDQUFDO0lBRTVDLHVCQUF1QixDQUFVO0lBRWpDLE9BQU87SUFDUCx1Q0FBdUMsQ0FBVTtJQUNqRCxpQkFBaUIsQ0FBVTtJQUMzQix1QkFBdUIsR0FBVyxFQUFFLENBQUM7SUFDckMsMEJBQTBCLENBQVU7SUFDcEMsbUJBQW1CLENBQVU7SUFFN0IsWUFBb0IsTUFBcUIsRUFBVSxNQUFjO1FBQTdDLFdBQU0sR0FBTixNQUFNLENBQWU7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQy9ELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4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QUMsd0JBQXdCO2FBQ3RELFlBQVksRUFBRTthQUNkLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDaEUsSUFBSSxLQUFLLFlBQVksYUFBYSxJQUFJLEtBQUssWUFBWSxnQkFBZ0IsRUFBRTtnQkFDdkUsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDbEM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQzt1R0E3SFUsZUFBZTsyRkFBZixlQUFlLGtEQ1o1QixpdklBMEZBOzsyRkQ5RWEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSUxheW91dCwgTGF5b3V0VHlwZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1tZXRyb25pY3MnO1xyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLW1ldHJvbmljcyc7XHJcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICd0YW5nby1hcHAtdWktbWV0cm9uaWNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWhlYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICAvLyBQdWJsaWMgcHJvcHNcclxuICBjdXJyZW50TGF5b3V0VHlwZTogTGF5b3V0VHlwZSB8IG51bGw7XHJcblxyXG4gIGFwcEhlYWRlckRpc3BsYXk6IGJvb2xlYW47XHJcbiAgYXBwSGVhZGVyRGVmYXVsdEZpeGVkRGVza3RvcDogYm9vbGVhbjtcclxuICBhcHBIZWFkZXJEZWZhdWx0Rml4ZWRNb2JpbGU6IGJvb2xlYW47XHJcblxyXG4gIGFwcEhlYWRlckRlZmF1bHRDb250YWluZXI6ICdmaXhlZCcgfCAnZmx1aWQnO1xyXG4gIGhlYWRlckNvbnRhaW5lckNzc0NsYXNzOiBzdHJpbmcgPSAnJztcclxuICBhcHBIZWFkZXJEZWZhdWx0Q29udGFpbmVyQ2xhc3M6IHN0cmluZyA9ICcnO1xyXG5cclxuICBhcHBIZWFkZXJEZWZhdWx0U3RhY2tlZDogYm9vbGVhbjtcclxuXHJcbiAgLy8gdmlld1xyXG4gIGFwcFNpZGViYXJEZWZhdWx0Q29sbGFwc2VEZXNrdG9wRW5hYmxlZDogYm9vbGVhbjtcclxuICBhcHBTaWRlYmFyRGlzcGxheTogYm9vbGVhbjtcclxuICBhcHBIZWFkZXJEZWZhdWx0Q29udGVudDogc3RyaW5nID0gJyc7XHJcbiAgYXBwSGVhZGVyRGVmYXVsTWVudURpc3BsYXk6IGJvb2xlYW47XHJcbiAgYXBwUGFnZVRpdGxlRGlzcGxheTogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYXlvdXQ6IExheW91dFNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcclxuICAgIHRoaXMucm91dGluZ0NoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVByb3BzKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5hcHBIZWFkZXJEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5oZWFkZXIuZGlzcGxheScsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgLy8gdmlld1xyXG4gICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdENvbGxhcHNlRGVza3RvcEVuYWJsZWQgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnNpZGViYXIuZGVmYXVsdC5jb2xsYXBzZS5kZXNrdG9wLmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwU2lkZWJhckRpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnNpZGViYXIuZGlzcGxheScsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0Q29udGVudCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQuY29udGVudCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBzdHJpbmc7XHJcbiAgICB0aGlzLmFwcEhlYWRlckRlZmF1bE1lbnVEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5oZWFkZXIuZGVmYXVsdC5tZW51LmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwUGFnZVRpdGxlRGlzcGxheSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAucGFnZVRpdGxlLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuXHJcbiAgICAvLyBib2R5IGF0dHJzIGFuZCBjb250YWluZXIgY3NzIGNsYXNzZXNcclxuICAgIHRoaXMuYXBwSGVhZGVyRGVmYXVsdEZpeGVkRGVza3RvcCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQuZml4ZWQuZGVza3RvcCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdEZpeGVkRGVza3RvcCkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnZGF0YS1rdC1hcHAtaGVhZGVyLWZpeGVkJywgJ3RydWUnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRGaXhlZE1vYmlsZSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQuZml4ZWQubW9iaWxlJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0Rml4ZWRNb2JpbGUpIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ2RhdGEta3QtYXBwLWhlYWRlci1maXhlZC1tb2JpbGUnLCAndHJ1ZScpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwSGVhZGVyRGVmYXVsdENvbnRhaW5lciA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHBIZWFkZXJEZWZhdWx0Q29udGFpbmVyJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzICdmaXhlZCcgfCAnZmx1aWQnO1xyXG4gICAgdGhpcy5oZWFkZXJDb250YWluZXJDc3NDbGFzcyA9XHJcbiAgICAgIHRoaXMuYXBwSGVhZGVyRGVmYXVsdENvbnRhaW5lciA9PT0gJ2ZpeGVkJ1xyXG4gICAgICAgID8gJ2NvbnRhaW5lci14eGwnXHJcbiAgICAgICAgOiAnY29udGFpbmVyLWZsdWlkJztcclxuXHJcbiAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRDb250YWluZXJDbGFzcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQuY29udGFpbmVyQ2xhc3MnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdENvbnRhaW5lckNsYXNzKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVyQ29udGFpbmVyQ3NzQ2xhc3MgKz0gYCAke3RoaXMuYXBwSGVhZGVyRGVmYXVsdENvbnRhaW5lckNsYXNzfWA7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RhY2tlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQuc3RhY2tlZCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdFN0YWNrZWQpIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ2RhdGEta3QtYXBwLWhlYWRlci1zdGFja2VkJywgJ3RydWUnKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQcmltYXJ5IGhlYWRlclxyXG4gICAgLy8gU2Vjb25kYXJ5IGhlYWRlclxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdWJzY3IgPSB0aGlzLmxheW91dC5sYXlvdXRDb25maWdTdWJqZWN0XHJcbiAgICAgIC5hc09ic2VydmFibGUoKVxyXG4gICAgICAuc3Vic2NyaWJlKChjb25maWc6IElMYXlvdXQpID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVByb3BzKGNvbmZpZyk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5wdXNoKHN1YnNjcik7XHJcbiAgICBjb25zdCBsYXlvdXRTdWJzY3IgPSB0aGlzLmxheW91dC5jdXJyZW50TGF5b3V0VHlwZVN1YmplY3RcclxuICAgICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxheW91dCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY3VycmVudExheW91dFR5cGUgPSBsYXlvdXQ7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5wdXNoKGxheW91dFN1YnNjcik7XHJcbiAgfVxyXG5cclxuICByb3V0aW5nQ2hhbmdlcygpIHtcclxuICAgIGNvbnN0IHJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgfHwgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2FuY2VsKSB7XHJcbiAgICAgICAgTWVudUNvbXBvbmVudC5yZWluaXRpYWxpemF0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5wdXNoKHJvdXRlclN1YnNjcmlwdGlvbik7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUuZm9yRWFjaCgoc2IpID0+IHNiLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxufVxyXG4iLCI8IS0tYmVnaW46OkhlYWRlciBjb250YWluZXItLT5cclxuPGRpdiBjbGFzcz1cImFwcC1jb250YWluZXIgaGVhZGVyLXN0eWxlXCIgaWQ9XCJrdF9hcHBfaGVhZGVyX2NvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImhlYWRlckNvbnRhaW5lckNzc0NsYXNzXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcFNpZGViYXJEZWZhdWx0Q29sbGFwc2VEZXNrdG9wRW5hYmxlZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImFwcC1zaWRlYmFyLWNvbGxhcHNlLWQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtM1wiPlxyXG4gICAgICA8IS0tYmVnaW46OnNpZGViYXIgdG9nZ2xlLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJidG4gYnRuLWljb24gdy1hdXRvIHB4LTAgYnRuLWNvbG9yLW11dGVkIGJ0bi1hY3RpdmUtaWNvbi1wcmltYXJ5XCIgZGF0YS1rdC10b2dnbGU9XCJ0cnVlXCJcclxuICAgICAgICBkYXRhLWt0LXRvZ2dsZS10YXJnZXQ9XCJib2R5XCIgZGF0YS1rdC10b2dnbGUtbW9kZT1cIm9uXCIgZGF0YS1rdC10b2dnbGUtbmFtZT1cImFwcC1zaWRlYmFyLWNvbGxhcHNlXCI+XHJcbiAgICAgICAgPGxpYi1rZWVuaWNvbiBuYW1lPVwiZG91YmxlLXJpZ2h0XCIgY2xhc3M9XCJmcy0xXCI+PC9saWIta2Vlbmljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8IS0tZW5kOjpzaWRlYmFyIHRvZ2dsZS0tPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBTaWRlYmFyRGlzcGxheVwiPlxyXG4gICAgPCEtLWJlZ2luOjpzaWRlYmFyIG1vYmlsZSB0b2dnbGUtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGQtbGctbm9uZSBtcy1uMiBtZS0yXCIgdGl0bGU9XCJTaG93IHNpZGViYXIgbWVudVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYnRuIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeSB3LTM1cHggaC0zNXB4XCIgaWQ9XCJrdF9hcHBfc2lkZWJhcl9tb2JpbGVfdG9nZ2xlXCI+XHJcbiAgICAgICAgPGxpYi1rZWVuaWNvbiBuYW1lPVwiYWJzdHJhY3QtMTRcIiBjbGFzcz1cImZzLTFcIj48L2xpYi1rZWVuaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS1lbmQ6OnNpZGViYXIgbW9iaWxlIHRvZ2dsZS0tPlxyXG4gICAgPCEtLWJlZ2luOjpNb2JpbGUgbG9nby0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1ncm93LTEgZmxleC1sZy1ncm93LTBcIj5cclxuICAgICAgPGEgcm91dGVyTGluaz1cIi9kYXNoYm9hcmRcIiBjbGFzcz1cImQtbGctbm9uZVwiPlxyXG4gICAgICAgIDxpbWcgYWx0PVwiTG9nb1wiIHNyYz1cIi4vYXNzZXRzL21lZGlhL2xvZ29zL2RlZmF1bHQtc21hbGwuc3ZnXCIgY2xhc3M9XCJoLTMwcHhcIiAvPlxyXG4gICAgICA8L2E+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS1lbmQ6Ok1vYmlsZSBsb2dvLS0+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYXBwU2lkZWJhckRpc3BsYXlcIj5cclxuICAgIDwhLS1iZWdpbjo6TG9nby0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1ncm93LTEgZmxleC1sZy1ncm93LTAgbWUtbGctMTVcIj5cclxuICAgICAgPGEgcm91dGVyTGluaz1cIi9kYXNoYm9hcmRcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudExheW91dFR5cGUgPT09ICdkYXJrLWhlYWRlcidcIj5cclxuICAgICAgICAgIDxpbWcgYWx0PVwiTG9nb1wiIHNyYz1cIi4vYXNzZXRzL21lZGlhL2xvZ29zL2RlZmF1bHQtZGFyay5zdmdcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImgtMjBweCBoLWxnLTMwcHggYXBwLXNpZGViYXItbG9nby1kZWZhdWx0XCIgLz5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudExheW91dFR5cGUgIT09ICdkYXJrLWhlYWRlcidcIj5cclxuICAgICAgICAgIDxpbWcgYWx0PVwiTG9nb1wiIHNyYz1cIi4vYXNzZXRzL21lZGlhL2xvZ29zL2RlZmF1bHQuc3ZnXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJoLTIwcHggaC1sZy0zMHB4IGFwcC1zaWRlYmFyLWxvZ28tZGVmYXVsdCB0aGVtZS1saWdodC1zaG93XCIgLz5cclxuICAgICAgICAgIDxpbWcgYWx0PVwiTG9nb1wiIHNyYz1cIi4vYXNzZXRzL21lZGlhL2xvZ29zL2RlZmF1bHQtZGFyay5zdmdcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImgtMjBweCBoLWxnLTMwcHggYXBwLXNpZGViYXItbG9nby1kZWZhdWx0IHRoZW1lLWRhcmstc2hvd1wiIC8+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvYT5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLWVuZDo6TG9nby0tPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8IS0tYmVnaW46OkhlYWRlciB3cmFwcGVyLS0+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdHJldGNoIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGZsZXgtbGctZ3Jvdy0xXCIgaWQ9XCJrdF9hcHBfaGVhZGVyX3dyYXBwZXJcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBIZWFkZXJEZWZhdWx0Q29udGVudCA9PT0gJ21lbnUnICYmIGFwcEhlYWRlckRlZmF1bE1lbnVEaXNwbGF5XCI+XHJcbiAgICAgIDwhLS1iZWdpbjo6TWVudSB3cmFwcGVyLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJcclxuICAgIGFwcC1oZWFkZXItbWVudVxyXG4gICAgYXBwLWhlYWRlci1tb2JpbGUtZHJhd2VyXHJcbiAgICBhbGlnbi1pdGVtcy1zdHJldGNoXHJcblwiIGRhdGEta3QtZHJhd2VyPVwidHJ1ZVwiIGRhdGEta3QtZHJhd2VyLW5hbWU9XCJhcHAtaGVhZGVyLW1lbnVcIiBkYXRhLWt0LWRyYXdlci1hY3RpdmF0ZT1cIntkZWZhdWx0OiB0cnVlLCBsZzogZmFsc2V9XCJcclxuICAgICAgICBkYXRhLWt0LWRyYXdlci1vdmVybGF5PVwidHJ1ZVwiIGRhdGEta3QtZHJhd2VyLXdpZHRoPVwiMjI1cHhcIiBkYXRhLWt0LWRyYXdlci1kaXJlY3Rpb249XCJlbmRcIlxyXG4gICAgICAgIGRhdGEta3QtZHJhd2VyLXRvZ2dsZT1cIiNrdF9hcHBfaGVhZGVyX21lbnVfdG9nZ2xlXCIgZGF0YS1rdC1zd2FwcGVyPVwidHJ1ZVwiXHJcbiAgICAgICAgZGF0YS1rdC1zd2FwcGVyLW1vZGU9XCJ7ZGVmYXVsdDogJ2FwcGVuZCcsIGxnOiAncHJlcGVuZCd9XCJcclxuICAgICAgICBkYXRhLWt0LXN3YXBwZXItcGFyZW50PVwie2RlZmF1bHQ6ICcja3RfYXBwX2JvZHknLCBsZzogJyNrdF9hcHBfaGVhZGVyX3dyYXBwZXInfVwiPlxyXG4gICAgICAgIDwhLS1iZWdpbjo6TWVudS0tPlxyXG4gICAgICAgIDxsaWItaGVhZGVyLW1lbnVcclxuICAgICAgICBhcHBQYWdlVGl0bGVEaXJlY3Rpb24gPSAnJ1xyXG4gICAgICAgIFthcHBQYWdlVGl0bGVEZXNjcmlwdGlvbl0gPSB0cnVlXHJcbiAgICAgICAgY2xhc3M9XCJcclxuICAgICAgICBtZW51XHJcbiAgICAgICAgbWVudS1yb3VuZGVkXHJcbiAgICAgICAgbWVudS1jb2x1bW5cclxuICAgICAgICBtZW51LWxnLXJvd1xyXG4gICAgICAgIG15LTVcclxuICAgICAgICBteS1sZy0wXHJcbiAgICAgICAgYWxpZ24taXRlbXMtc3RyZXRjaFxyXG4gICAgICAgIGZ3LXNlbWlib2xkXHJcbiAgICAgICAgcHgtMiBweC1sZy0wXHJcbiAgICBcIiBpZD1cImt0X2FwcF9oZWFkZXJfbWVudVwiIGRhdGEta3QtbWVudT1cInRydWVcIj48L2xpYi1oZWFkZXItbWVudT5cclxuICAgICAgICA8IS0tZW5kOjpNZW51LS0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8IS0tZW5kOjpNZW51IHdyYXBwZXItLT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwSGVhZGVyRGVmYXVsdENvbnRlbnQgPT09ICdwYWdlLXRpdGxlJyAmJiBhcHBQYWdlVGl0bGVEaXNwbGF5XCI+XHJcbiAgICAgIDxhcHAtcGFnZS10aXRsZSAja3RQYWdlVGl0bGUgY2xhc3M9XCJwYWdlLXRpdGxlIGQtZmxleFwiPjwvYXBwLXBhZ2UtdGl0bGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICA8bGliLW5hdmJhciBjbGFzcz1cImFwcC1uYXZiYXIgZmxleC1zaHJpbmstMFwiIFthcHBIZWFkZXJEZWZhdWxNZW51RGlzcGxheV09XCJhcHBIZWFkZXJEZWZhdWxNZW51RGlzcGxheVwiXHJcbiAgICAgIFtpc1J0bF09XCJmYWxzZVwiPjwvbGliLW5hdmJhcj5cclxuICA8L2Rpdj5cclxuICA8IS0tZW5kOjpIZWFkZXIgd3JhcHBlci0tPlxyXG48L2Rpdj5cclxuPCEtLWVuZDo6SGVhZGVyIGNvbnRhaW5lci0tPlxyXG4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUkxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBT3ZELE1BQU0sT0FBTyxlQUFlO0lBc0JOO0lBQStCO0lBckIzQyxXQUFXLEdBQW1CLEVBQUUsQ0FBQztJQUN6QyxlQUFlO0lBQ2YsaUJBQWlCLENBQW9CO0lBRXJDLGdCQUFnQixDQUFVO0lBQzFCLDRCQUE0QixDQUFVO0lBQ3RDLDJCQUEyQixDQUFVO0lBRXJDLHlCQUF5QixDQUFvQjtJQUM3Qyx1QkFBdUIsR0FBVyxFQUFFLENBQUM7SUFDckMsOEJBQThCLEdBQVcsRUFBRSxDQUFDO0lBRTVDLHVCQUF1QixDQUFVO0lBRWpDLE9BQU87SUFDUCx1Q0FBdUMsQ0FBVTtJQUNqRCxpQkFBaUIsQ0FBVTtJQUMzQix1QkFBdUIsR0FBVyxFQUFFLENBQUM7SUFDckMsMEJBQTBCLENBQVU7SUFDcEMsbUJBQW1CLENBQVU7SUFFN0IsWUFBb0IsTUFBcUIsRUFBVSxNQUFjO1FBQTdDLFdBQU0sR0FBTixNQUFNLENBQWU7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQy9ELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWU7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUN6QyxvQkFBb0IsRUFDcEIsTUFBTSxDQUNJLENBQUM7UUFDYixPQUFPO1FBQ1AsSUFBSSxDQUFDLHVDQUF1QyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUNoRSw4Q0FBOEMsRUFDOUMsTUFBTSxDQUNJLENBQUM7UUFDYixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQzFDLHFCQUFxQixFQUNyQixNQUFNLENBQ0ksQ0FBQztRQUNiLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDaEQsNEJBQTRCLEVBQzVCLE1BQU0sQ0FDRyxDQUFDO1FBQ1osSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUNuRCxpQ0FBaUMsRUFDakMsTUFBTSxDQUNJLENBQUM7UUFDYixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQzVDLHVCQUF1QixFQUN2QixNQUFNLENBQ0ksQ0FBQztRQUViLHVDQUF1QztRQUN2QyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ3JELGtDQUFrQyxFQUNsQyxNQUFNLENBQ0ksQ0FBQztRQUNiLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ3JDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ2hFO1FBRUQsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUNwRCxpQ0FBaUMsRUFDakMsTUFBTSxDQUNJLENBQUM7UUFDYixJQUFJLElBQUksQ0FBQywyQkFBMkIsRUFBRTtZQUNwQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQ0FBaUMsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUN2RTtRQUVELElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDbEQsMkJBQTJCLEVBQzNCLE1BQU0sQ0FDYyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyx1QkFBdUI7WUFDMUIsSUFBSSxDQUFDLHlCQUF5QixLQUFLLE9BQU87Z0JBQ3hDLENBQUMsQ0FBQyxlQUFlO2dCQUNqQixDQUFDLENBQUMsaUJBQWlCLENBQUM7UUFFeEIsSUFBSSxDQUFDLDhCQUE4QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUN2RCxtQ0FBbUMsRUFDbkMsTUFBTSxDQUNHLENBQUM7UUFDWixJQUFJLElBQUksQ0FBQyw4QkFBOEIsRUFBRTtZQUN2QyxJQUFJLENBQUMsdUJBQXVCLElBQUksSUFBSSxJQUFJLENBQUMsOEJBQThCLEVBQUUsQ0FBQztTQUMzRTtRQUVELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDaEQsNEJBQTRCLEVBQzVCLE1BQU0sQ0FDSSxDQUFDO1FBQ2IsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDaEMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsNEJBQTRCLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDbEU7UUFFRCxpQkFBaUI7UUFDakIsbUJBQW1CO0lBQ3JCLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUI7YUFDM0MsWUFBWSxFQUFFO2FBQ2QsU0FBUyxDQUFDLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCO2FBQ3RELFlBQVksRUFBRTthQUNkLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDaEUsSUFBSSxLQUFLLFlBQVksYUFBYSxJQUFJLEtBQUssWUFBWSxnQkFBZ0IsRUFBRTtnQkFDdkUsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDbEM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQzt1R0E3SFUsZUFBZTsyRkFBZixlQUFlLGtEQ1o1Qiw2dUlBMEZBOzsyRkQ5RWEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSUxheW91dCwgTGF5b3V0VHlwZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1tZXRyb25pY3MnO1xyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLW1ldHJvbmljcyc7XHJcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICd0YW5nby1hcHAtdWktbWV0cm9uaWNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWhlYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICAvLyBQdWJsaWMgcHJvcHNcclxuICBjdXJyZW50TGF5b3V0VHlwZTogTGF5b3V0VHlwZSB8IG51bGw7XHJcblxyXG4gIGFwcEhlYWRlckRpc3BsYXk6IGJvb2xlYW47XHJcbiAgYXBwSGVhZGVyRGVmYXVsdEZpeGVkRGVza3RvcDogYm9vbGVhbjtcclxuICBhcHBIZWFkZXJEZWZhdWx0Rml4ZWRNb2JpbGU6IGJvb2xlYW47XHJcblxyXG4gIGFwcEhlYWRlckRlZmF1bHRDb250YWluZXI6ICdmaXhlZCcgfCAnZmx1aWQnO1xyXG4gIGhlYWRlckNvbnRhaW5lckNzc0NsYXNzOiBzdHJpbmcgPSAnJztcclxuICBhcHBIZWFkZXJEZWZhdWx0Q29udGFpbmVyQ2xhc3M6IHN0cmluZyA9ICcnO1xyXG5cclxuICBhcHBIZWFkZXJEZWZhdWx0U3RhY2tlZDogYm9vbGVhbjtcclxuXHJcbiAgLy8gdmlld1xyXG4gIGFwcFNpZGViYXJEZWZhdWx0Q29sbGFwc2VEZXNrdG9wRW5hYmxlZDogYm9vbGVhbjtcclxuICBhcHBTaWRlYmFyRGlzcGxheTogYm9vbGVhbjtcclxuICBhcHBIZWFkZXJEZWZhdWx0Q29udGVudDogc3RyaW5nID0gJyc7XHJcbiAgYXBwSGVhZGVyRGVmYXVsTWVudURpc3BsYXk6IGJvb2xlYW47XHJcbiAgYXBwUGFnZVRpdGxlRGlzcGxheTogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYXlvdXQ6IExheW91dFNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcclxuICAgIHRoaXMucm91dGluZ0NoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVByb3BzKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5hcHBIZWFkZXJEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5oZWFkZXIuZGlzcGxheScsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgLy8gdmlld1xyXG4gICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdENvbGxhcHNlRGVza3RvcEVuYWJsZWQgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnNpZGViYXIuZGVmYXVsdC5jb2xsYXBzZS5kZXNrdG9wLmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwU2lkZWJhckRpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnNpZGViYXIuZGlzcGxheScsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0Q29udGVudCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQuY29udGVudCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBzdHJpbmc7XHJcbiAgICB0aGlzLmFwcEhlYWRlckRlZmF1bE1lbnVEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5oZWFkZXIuZGVmYXVsdC5tZW51LmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwUGFnZVRpdGxlRGlzcGxheSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAucGFnZVRpdGxlLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuXHJcbiAgICAvLyBib2R5IGF0dHJzIGFuZCBjb250YWluZXIgY3NzIGNsYXNzZXNcclxuICAgIHRoaXMuYXBwSGVhZGVyRGVmYXVsdEZpeGVkRGVza3RvcCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQuZml4ZWQuZGVza3RvcCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdEZpeGVkRGVza3RvcCkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnZGF0YS1rdC1hcHAtaGVhZGVyLWZpeGVkJywgJ3RydWUnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRGaXhlZE1vYmlsZSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQuZml4ZWQubW9iaWxlJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0Rml4ZWRNb2JpbGUpIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ2RhdGEta3QtYXBwLWhlYWRlci1maXhlZC1tb2JpbGUnLCAndHJ1ZScpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwSGVhZGVyRGVmYXVsdENvbnRhaW5lciA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHBIZWFkZXJEZWZhdWx0Q29udGFpbmVyJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzICdmaXhlZCcgfCAnZmx1aWQnO1xyXG4gICAgdGhpcy5oZWFkZXJDb250YWluZXJDc3NDbGFzcyA9XHJcbiAgICAgIHRoaXMuYXBwSGVhZGVyRGVmYXVsdENvbnRhaW5lciA9PT0gJ2ZpeGVkJ1xyXG4gICAgICAgID8gJ2NvbnRhaW5lci14eGwnXHJcbiAgICAgICAgOiAnY29udGFpbmVyLWZsdWlkJztcclxuXHJcbiAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRDb250YWluZXJDbGFzcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQuY29udGFpbmVyQ2xhc3MnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdENvbnRhaW5lckNsYXNzKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVyQ29udGFpbmVyQ3NzQ2xhc3MgKz0gYCAke3RoaXMuYXBwSGVhZGVyRGVmYXVsdENvbnRhaW5lckNsYXNzfWA7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RhY2tlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQuc3RhY2tlZCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdFN0YWNrZWQpIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ2RhdGEta3QtYXBwLWhlYWRlci1zdGFja2VkJywgJ3RydWUnKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQcmltYXJ5IGhlYWRlclxyXG4gICAgLy8gU2Vjb25kYXJ5IGhlYWRlclxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdWJzY3IgPSB0aGlzLmxheW91dC5sYXlvdXRDb25maWdTdWJqZWN0XHJcbiAgICAgIC5hc09ic2VydmFibGUoKVxyXG4gICAgICAuc3Vic2NyaWJlKChjb25maWc6IElMYXlvdXQpID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVByb3BzKGNvbmZpZyk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5wdXNoKHN1YnNjcik7XHJcbiAgICBjb25zdCBsYXlvdXRTdWJzY3IgPSB0aGlzLmxheW91dC5jdXJyZW50TGF5b3V0VHlwZVN1YmplY3RcclxuICAgICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxheW91dCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY3VycmVudExheW91dFR5cGUgPSBsYXlvdXQ7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5wdXNoKGxheW91dFN1YnNjcik7XHJcbiAgfVxyXG5cclxuICByb3V0aW5nQ2hhbmdlcygpIHtcclxuICAgIGNvbnN0IHJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgfHwgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2FuY2VsKSB7XHJcbiAgICAgICAgTWVudUNvbXBvbmVudC5yZWluaXRpYWxpemF0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5wdXNoKHJvdXRlclN1YnNjcmlwdGlvbik7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUuZm9yRWFjaCgoc2IpID0+IHNiLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxufVxyXG4iLCI8IS0tYmVnaW46OkhlYWRlciBjb250YWluZXItLT5cclxuPGRpdiBjbGFzcz1cImFwcC1jb250YWluZXIgaGVhZGVyLXN0eWxlXCIgaWQ9XCJrdF9hcHBfaGVhZGVyX2NvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImhlYWRlckNvbnRhaW5lckNzc0NsYXNzXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcFNpZGViYXJEZWZhdWx0Q29sbGFwc2VEZXNrdG9wRW5hYmxlZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImFwcC1zaWRlYmFyLWNvbGxhcHNlLWQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtM1wiPlxyXG4gICAgICA8IS0tYmVnaW46OnNpZGViYXIgdG9nZ2xlLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJidG4gYnRuLWljb24gdy1hdXRvIHB4LTAgYnRuLWNvbG9yLW11dGVkIGJ0bi1hY3RpdmUtaWNvbi1wcmltYXJ5XCIgZGF0YS1rdC10b2dnbGU9XCJ0cnVlXCJcclxuICAgICAgICBkYXRhLWt0LXRvZ2dsZS10YXJnZXQ9XCJib2R5XCIgZGF0YS1rdC10b2dnbGUtbW9kZT1cIm9uXCIgZGF0YS1rdC10b2dnbGUtbmFtZT1cImFwcC1zaWRlYmFyLWNvbGxhcHNlXCI+XHJcbiAgICAgICAgPGxpYi1rZWVuaWNvbiBuYW1lPVwiZG91YmxlLXJpZ2h0XCIgY2xhc3M9XCJmcy0xXCI+PC9saWIta2Vlbmljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8IS0tZW5kOjpzaWRlYmFyIHRvZ2dsZS0tPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBTaWRlYmFyRGlzcGxheVwiPlxyXG4gICAgPCEtLWJlZ2luOjpzaWRlYmFyIG1vYmlsZSB0b2dnbGUtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGQtbGctbm9uZSBtcy1uMiBtZS0yXCIgdGl0bGU9XCJTaG93IHNpZGViYXIgbWVudVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYnRuIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeSB3LTM1cHggaC0zNXB4XCIgaWQ9XCJrdF9hcHBfc2lkZWJhcl9tb2JpbGVfdG9nZ2xlXCI+XHJcbiAgICAgICAgPGxpYi1rZWVuaWNvbiBuYW1lPVwiYWJzdHJhY3QtMTRcIiBjbGFzcz1cImZzLTFcIj48L2xpYi1rZWVuaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS1lbmQ6OnNpZGViYXIgbW9iaWxlIHRvZ2dsZS0tPlxyXG4gICAgPCEtLWJlZ2luOjpNb2JpbGUgbG9nby0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1ncm93LTEgZmxleC1sZy1ncm93LTBcIj5cclxuICAgICAgPGEgIGNsYXNzPVwiZC1sZy1ub25lXCI+XHJcbiAgICAgICAgPGltZyBhbHQ9XCJMb2dvXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vc2lkZW1lbnUtaWNvbnMvdGFuZ29fbG9nby5zdmdcIiBjbGFzcz1cImgtMzBweFwiIC8+XHJcbiAgICAgIDwvYT5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLWVuZDo6TW9iaWxlIGxvZ28tLT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhcHBTaWRlYmFyRGlzcGxheVwiPlxyXG4gICAgPCEtLWJlZ2luOjpMb2dvLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWdyb3ctMSBmbGV4LWxnLWdyb3ctMCBtZS1sZy0xNVwiPlxyXG4gICAgICA8YSA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRMYXlvdXRUeXBlID09PSAnZGFyay1oZWFkZXInXCI+XHJcbiAgICAgICAgICA8aW1nIGFsdD1cIkxvZ29cIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9zaWRlbWVudS1pY29ucy90YW5nb19sb2dvLnN2Z1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaC0yMHB4IGgtbGctMzBweCBhcHAtc2lkZWJhci1sb2dvLWRlZmF1bHRcIiAvPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50TGF5b3V0VHlwZSAhPT0gJ2RhcmstaGVhZGVyJ1wiPlxyXG4gICAgICAgICAgPGltZyBhbHQ9XCJMb2dvXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vc2lkZW1lbnUtaWNvbnMvdGFuZ29fbG9nby5zdmdcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImgtMjBweCBoLWxnLTMwcHggYXBwLXNpZGViYXItbG9nby1kZWZhdWx0IHRoZW1lLWxpZ2h0LXNob3dcIiAvPlxyXG4gICAgICAgICAgPGltZyBhbHQ9XCJMb2dvXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vc2lkZW1lbnUtaWNvbnMvdGFuZ29fbG9nby5zdmdcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImgtMjBweCBoLWxnLTMwcHggYXBwLXNpZGViYXItbG9nby1kZWZhdWx0IHRoZW1lLWRhcmstc2hvd1wiIC8+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvYT5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLWVuZDo6TG9nby0tPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8IS0tYmVnaW46OkhlYWRlciB3cmFwcGVyLS0+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdHJldGNoIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGZsZXgtbGctZ3Jvdy0xIGhlYWRlci1ib3JkZXJcIiBpZD1cImt0X2FwcF9oZWFkZXJfd3JhcHBlclwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcEhlYWRlckRlZmF1bHRDb250ZW50ID09PSAnbWVudScgJiYgYXBwSGVhZGVyRGVmYXVsTWVudURpc3BsYXlcIj5cclxuICAgICAgPCEtLWJlZ2luOjpNZW51IHdyYXBwZXItLT5cclxuICAgICAgPGRpdiBjbGFzcz1cIlxyXG4gICAgYXBwLWhlYWRlci1tZW51XHJcbiAgICBhcHAtaGVhZGVyLW1vYmlsZS1kcmF3ZXJcclxuICAgIGFsaWduLWl0ZW1zLXN0cmV0Y2hcclxuXCIgZGF0YS1rdC1kcmF3ZXI9XCJ0cnVlXCIgZGF0YS1rdC1kcmF3ZXItbmFtZT1cImFwcC1oZWFkZXItbWVudVwiIGRhdGEta3QtZHJhd2VyLWFjdGl2YXRlPVwie2RlZmF1bHQ6IHRydWUsIGxnOiBmYWxzZX1cIlxyXG4gICAgICAgIGRhdGEta3QtZHJhd2VyLW92ZXJsYXk9XCJ0cnVlXCIgZGF0YS1rdC1kcmF3ZXItd2lkdGg9XCIyMjVweFwiIGRhdGEta3QtZHJhd2VyLWRpcmVjdGlvbj1cImVuZFwiXHJcbiAgICAgICAgZGF0YS1rdC1kcmF3ZXItdG9nZ2xlPVwiI2t0X2FwcF9oZWFkZXJfbWVudV90b2dnbGVcIiBkYXRhLWt0LXN3YXBwZXI9XCJ0cnVlXCJcclxuICAgICAgICBkYXRhLWt0LXN3YXBwZXItbW9kZT1cIntkZWZhdWx0OiAnYXBwZW5kJywgbGc6ICdwcmVwZW5kJ31cIlxyXG4gICAgICAgIGRhdGEta3Qtc3dhcHBlci1wYXJlbnQ9XCJ7ZGVmYXVsdDogJyNrdF9hcHBfYm9keScsIGxnOiAnI2t0X2FwcF9oZWFkZXJfd3JhcHBlcid9XCI+XHJcbiAgICAgICAgPCEtLWJlZ2luOjpNZW51LS0+XHJcbiAgICAgICAgPGxpYi1oZWFkZXItbWVudVxyXG4gICAgICAgIGFwcFBhZ2VUaXRsZURpcmVjdGlvbiA9ICcnXHJcbiAgICAgICAgW2FwcFBhZ2VUaXRsZURlc2NyaXB0aW9uXSA9IHRydWVcclxuICAgICAgICBjbGFzcz1cIlxyXG4gICAgICAgIG1lbnVcclxuICAgICAgICBtZW51LXJvdW5kZWRcclxuICAgICAgICBtZW51LWNvbHVtblxyXG4gICAgICAgIG1lbnUtbGctcm93XHJcbiAgICAgICAgbXktNVxyXG4gICAgICAgIG15LWxnLTBcclxuICAgICAgICBhbGlnbi1pdGVtcy1zdHJldGNoXHJcbiAgICAgICAgZnctc2VtaWJvbGRcclxuICAgICAgICBweC0yIHB4LWxnLTBcclxuICAgIFwiIGlkPVwia3RfYXBwX2hlYWRlcl9tZW51XCIgZGF0YS1rdC1tZW51PVwidHJ1ZVwiPjwvbGliLWhlYWRlci1tZW51PlxyXG4gICAgICAgIDwhLS1lbmQ6Ok1lbnUtLT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDwhLS1lbmQ6Ok1lbnUgd3JhcHBlci0tPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBIZWFkZXJEZWZhdWx0Q29udGVudCA9PT0gJ3BhZ2UtdGl0bGUnICYmIGFwcFBhZ2VUaXRsZURpc3BsYXlcIj5cclxuICAgICAgPGFwcC1wYWdlLXRpdGxlICNrdFBhZ2VUaXRsZSBjbGFzcz1cInBhZ2UtdGl0bGUgZC1mbGV4XCI+PC9hcHAtcGFnZS10aXRsZT5cclxuICAgIDwvbmctY29udGFpbmVyPiAtLT5cclxuICAgIDxsaWItbmF2YmFyIGNsYXNzPVwiYXBwLW5hdmJhciBmbGV4LXNocmluay0wXCIgW2FwcEhlYWRlckRlZmF1bE1lbnVEaXNwbGF5XT1cImFwcEhlYWRlckRlZmF1bE1lbnVEaXNwbGF5XCJcclxuICAgICAgW2lzUnRsXT1cImZhbHNlXCI+PC9saWItbmF2YmFyPlxyXG4gIDwvZGl2PlxyXG4gIDwhLS1lbmQ6OkhlYWRlciB3cmFwcGVyLS0+XHJcbjwvZGl2PlxyXG48IS0tZW5kOjpIZWFkZXIgY29udGFpbmVyLS0+XHJcbiJdfQ==
@@ -35,11 +35,11 @@ export class PageTitleComponent {
35
35
  this.unsubscribe.forEach((sb) => sb.unsubscribe());
36
36
  }
37
37
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PageTitleComponent, deps: [{ token: i1.PageInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
38
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: PageTitleComponent, selector: "lib-page-title", inputs: { appPageTitleDirection: "appPageTitleDirection", appPageTitleBreadcrumb: "appPageTitleBreadcrumb", appPageTitleDescription: "appPageTitleDescription" }, ngImport: i0, template: "<ng-container *ngIf=\"title$ | async as title\">\r\n\r\n <ng-container *ngIf=\"appPageTitleBreadcrumb\">\r\n <ng-container *ngIf=\"bc$ | async as _bc\">\r\n <!-- <ng-container *ngIf=\"_bc.length > 0\"> -->\r\n <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <span class=\"h-20px border-gray-300 border-start mx-4\"></span>\r\n </ng-container>\r\n <!--begin::Breadcrumb-->\r\n\r\n <ul class=\"breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0\"\r\n [ngClass]=\"{'pt-1': appPageTitleDirection === 'column'}\">\r\n <li *ngFor=\"let bc of _bc\" class=\"breadcrumb-item\"\r\n [ngClass]=\"!bc.isSeparator && bc.isActive ? 'text-gray-900' : ''\"\r\n [ngClass]=\"!bc.isSeparator && !bc.isActive ? 'text-muted' : ''\">\r\n <ng-container *ngIf=\"!bc.isSeparator\">\r\n <a class=\"inactive-bc text-hover-primary\" [routerLink]=\"bc.path\">\r\n {{ bc.title }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"bc.isSeparator\">\r\n <img src=\"/assets/tango/layout/bc-seperator.svg\" alt=\"\">\r\n </ng-container>\r\n </li>\r\n <li class=\"breadcrumb-item active-bc\">{{ title }}</li>\r\n </ul>\r\n <!--end::Breadcrumb-->\r\n\r\n <!-- </ng-container> -->\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".active-bc{color:#00a3ff}.inactive-bc{color:#98a2b3}\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: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: PageTitleComponent, selector: "lib-page-title", inputs: { appPageTitleDirection: "appPageTitleDirection", appPageTitleBreadcrumb: "appPageTitleBreadcrumb", appPageTitleDescription: "appPageTitleDescription" }, ngImport: i0, template: "<ng-container *ngIf=\"title$ | async as title\">\r\n\r\n <ng-container *ngIf=\"appPageTitleBreadcrumb\">\r\n <ng-container *ngIf=\"bc$ | async as _bc\">\r\n <ng-container *ngIf=\"_bc.length > 0\">\r\n <!-- <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <span class=\"h-20px border-gray-300 border-start mx-4\"></span>\r\n </ng-container> -->\r\n <!--begin::Breadcrumb-->\r\n\r\n <ul class=\"breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0\"\r\n [ngClass]=\"{'pt-1': appPageTitleDirection === 'column'}\">\r\n <li *ngFor=\"let bc of _bc\" class=\"breadcrumb-item\"\r\n [ngClass]=\"!bc.isSeparator && bc.isActive ? 'text-gray-900' : ''\"\r\n [ngClass]=\"!bc.isSeparator && !bc.isActive ? 'text-muted' : ''\">\r\n <ng-container *ngIf=\"!bc.isSeparator\">\r\n <a class=\"inactive-bc text-hover-primary\" [routerLink]=\"bc.path\">\r\n {{ bc.title }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"bc.isSeparator\">\r\n <img src=\"/assets/tango/layout/bc-seperator.svg\" alt=\"\">\r\n </ng-container>\r\n </li>\r\n <li class=\"breadcrumb-item active-bc\">{{ title }}</li>\r\n </ul>\r\n <!--end::Breadcrumb-->\r\n\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".active-bc{color:var(--Primary-600, #00A3FF);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}.inactive-bc{color:#98a2b3}\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: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
39
39
  }
40
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PageTitleComponent, decorators: [{
41
41
  type: Component,
42
- args: [{ selector: 'lib-page-title', template: "<ng-container *ngIf=\"title$ | async as title\">\r\n\r\n <ng-container *ngIf=\"appPageTitleBreadcrumb\">\r\n <ng-container *ngIf=\"bc$ | async as _bc\">\r\n <!-- <ng-container *ngIf=\"_bc.length > 0\"> -->\r\n <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <span class=\"h-20px border-gray-300 border-start mx-4\"></span>\r\n </ng-container>\r\n <!--begin::Breadcrumb-->\r\n\r\n <ul class=\"breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0\"\r\n [ngClass]=\"{'pt-1': appPageTitleDirection === 'column'}\">\r\n <li *ngFor=\"let bc of _bc\" class=\"breadcrumb-item\"\r\n [ngClass]=\"!bc.isSeparator && bc.isActive ? 'text-gray-900' : ''\"\r\n [ngClass]=\"!bc.isSeparator && !bc.isActive ? 'text-muted' : ''\">\r\n <ng-container *ngIf=\"!bc.isSeparator\">\r\n <a class=\"inactive-bc text-hover-primary\" [routerLink]=\"bc.path\">\r\n {{ bc.title }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"bc.isSeparator\">\r\n <img src=\"/assets/tango/layout/bc-seperator.svg\" alt=\"\">\r\n </ng-container>\r\n </li>\r\n <li class=\"breadcrumb-item active-bc\">{{ title }}</li>\r\n </ul>\r\n <!--end::Breadcrumb-->\r\n\r\n <!-- </ng-container> -->\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".active-bc{color:#00a3ff}.inactive-bc{color:#98a2b3}\n"] }]
42
+ args: [{ selector: 'lib-page-title', template: "<ng-container *ngIf=\"title$ | async as title\">\r\n\r\n <ng-container *ngIf=\"appPageTitleBreadcrumb\">\r\n <ng-container *ngIf=\"bc$ | async as _bc\">\r\n <ng-container *ngIf=\"_bc.length > 0\">\r\n <!-- <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <span class=\"h-20px border-gray-300 border-start mx-4\"></span>\r\n </ng-container> -->\r\n <!--begin::Breadcrumb-->\r\n\r\n <ul class=\"breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0\"\r\n [ngClass]=\"{'pt-1': appPageTitleDirection === 'column'}\">\r\n <li *ngFor=\"let bc of _bc\" class=\"breadcrumb-item\"\r\n [ngClass]=\"!bc.isSeparator && bc.isActive ? 'text-gray-900' : ''\"\r\n [ngClass]=\"!bc.isSeparator && !bc.isActive ? 'text-muted' : ''\">\r\n <ng-container *ngIf=\"!bc.isSeparator\">\r\n <a class=\"inactive-bc text-hover-primary\" [routerLink]=\"bc.path\">\r\n {{ bc.title }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"bc.isSeparator\">\r\n <img src=\"/assets/tango/layout/bc-seperator.svg\" alt=\"\">\r\n </ng-container>\r\n </li>\r\n <li class=\"breadcrumb-item active-bc\">{{ title }}</li>\r\n </ul>\r\n <!--end::Breadcrumb-->\r\n\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".active-bc{color:var(--Primary-600, #00A3FF);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}.inactive-bc{color:#98a2b3}\n"] }]
43
43
  }], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i0.ChangeDetectorRef }], propDecorators: { appPageTitleDirection: [{
44
44
  type: Input
45
45
  }], appPageTitleBreadcrumb: [{
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
47
47
  }], appPageTitleDescription: [{
48
48
  type: Input
49
49
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvaGVhZGVyL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvaGVhZGVyL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7OztBQVN2RixNQUFNLE9BQU8sa0JBQWtCO0lBV1Q7SUFBbUM7SUFWL0MsV0FBVyxHQUFtQixFQUFFLENBQUM7SUFFaEMscUJBQXFCLEdBQVcsRUFBRSxDQUFDO0lBQ25DLHNCQUFzQixDQUFVO0lBQ2hDLHVCQUF1QixDQUFVO0lBRTFDLE1BQU0sQ0FBcUI7SUFDM0IsWUFBWSxDQUFxQjtJQUNqQyxHQUFHLENBQThCO0lBRWpDLFlBQW9CLFFBQXlCLEVBQVUsRUFBb0I7UUFBdkQsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFrQjtJQUFHLENBQUM7SUFFL0UsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN6QixDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN6QixDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN6QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7dUdBOUJVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLHdOQ1QvQixpN0NBZ0NBOzsyRkR2QmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjtvSEFPakIscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSwgUGFnZUxpbmsgfSBmcm9tICd0YW5nby1hcHAtdWktbWV0cm9uaWNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXBhZ2UtdGl0bGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlLXRpdGxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wYWdlLXRpdGxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlVGl0bGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgYXBwUGFnZVRpdGxlRGlyZWN0aW9uOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBhcHBQYWdlVGl0bGVCcmVhZGNydW1iOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGFwcFBhZ2VUaXRsZURlc2NyaXB0aW9uOiBib29sZWFuO1xyXG5cclxuICB0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICBkZXNjcmlwdGlvbiQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICBiYyQ6IE9ic2VydmFibGU8QXJyYXk8UGFnZUxpbms+PjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYWdlSW5mbzogUGFnZUluZm9TZXJ2aWNlLCBwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGl0bGUkID0gdGhpcy5wYWdlSW5mby50aXRsZS5hc09ic2VydmFibGUoKTtcclxuICAgIHRoaXMuZGVzY3JpcHRpb24kID0gdGhpcy5wYWdlSW5mby5kZXNjcmlwdGlvbi5hc09ic2VydmFibGUoKTtcclxuICAgIHRoaXMuYmMkID0gdGhpcy5wYWdlSW5mby5icmVhZGNydW1icy5hc09ic2VydmFibGUoKTtcclxuICAgIHRoaXMudGl0bGUkLnN1YnNjcmliZSgoZSk9PntcclxuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgIH0pXHJcbiAgICB0aGlzLmRlc2NyaXB0aW9uJC5zdWJzY3JpYmUoKGUpPT57XHJcbiAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICB9KVxyXG4gICAgdGhpcy5iYyQuc3Vic2NyaWJlKChlKT0+e1xyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5mb3JFYWNoKChzYikgPT4gc2IudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0aXRsZSQgfCBhc3luYyBhcyB0aXRsZVwiPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwUGFnZVRpdGxlQnJlYWRjcnVtYlwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJjJCB8IGFzeW5jIGFzIF9iY1wiPlxyXG4gICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJfYmMubGVuZ3RoID4gMFwiPiAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwUGFnZVRpdGxlRGlyZWN0aW9uID09PSAncm93J1wiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJoLTIwcHggYm9yZGVyLWdyYXktMzAwIGJvcmRlci1zdGFydCBteC00XCI+PC9zcGFuPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwhLS1iZWdpbjo6QnJlYWRjcnVtYi0tPlxyXG5cclxuICAgICAgICA8dWwgY2xhc3M9XCJicmVhZGNydW1iIGJyZWFkY3J1bWItc2VwYXJhdG9ybGVzcyBmdy1zZW1pYm9sZCBmcy03IG15LTBcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydwdC0xJzogYXBwUGFnZVRpdGxlRGlyZWN0aW9uID09PSAnY29sdW1uJ31cIj5cclxuICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgYmMgb2YgX2JjXCIgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW1cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCIhYmMuaXNTZXBhcmF0b3IgJiYgYmMuaXNBY3RpdmUgPyAndGV4dC1ncmF5LTkwMCcgOiAnJ1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIiFiYy5pc1NlcGFyYXRvciAmJiAhYmMuaXNBY3RpdmUgPyAndGV4dC1tdXRlZCcgOiAnJ1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWJjLmlzU2VwYXJhdG9yXCI+XHJcbiAgICAgICAgICAgICAgPGEgY2xhc3M9XCJpbmFjdGl2ZS1iYyB0ZXh0LWhvdmVyLXByaW1hcnlcIiBbcm91dGVyTGlua109XCJiYy5wYXRoXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBiYy50aXRsZSB9fVxyXG4gICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJiYy5pc1NlcGFyYXRvclwiPlxyXG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwiL2Fzc2V0cy90YW5nby9sYXlvdXQvYmMtc2VwZXJhdG9yLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8bGkgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW0gYWN0aXZlLWJjXCI+e3sgdGl0bGUgfX08L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICAgICAgPCEtLWVuZDo6QnJlYWRjcnVtYi0tPlxyXG5cclxuICAgICAgPCEtLSA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvaGVhZGVyL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvaGVhZGVyL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7OztBQVN2RixNQUFNLE9BQU8sa0JBQWtCO0lBV1Q7SUFBbUM7SUFWL0MsV0FBVyxHQUFtQixFQUFFLENBQUM7SUFFaEMscUJBQXFCLEdBQVcsRUFBRSxDQUFDO0lBQ25DLHNCQUFzQixDQUFVO0lBQ2hDLHVCQUF1QixDQUFVO0lBRTFDLE1BQU0sQ0FBcUI7SUFDM0IsWUFBWSxDQUFxQjtJQUNqQyxHQUFHLENBQThCO0lBRWpDLFlBQW9CLFFBQXlCLEVBQVUsRUFBb0I7UUFBdkQsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFrQjtJQUFHLENBQUM7SUFFL0UsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN6QixDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN6QixDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN6QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7dUdBOUJVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLHdOQ1QvQix3NkNBZ0NBOzsyRkR2QmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjtvSEFPakIscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSwgUGFnZUxpbmsgfSBmcm9tICd0YW5nby1hcHAtdWktbWV0cm9uaWNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXBhZ2UtdGl0bGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlLXRpdGxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wYWdlLXRpdGxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlVGl0bGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgYXBwUGFnZVRpdGxlRGlyZWN0aW9uOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBhcHBQYWdlVGl0bGVCcmVhZGNydW1iOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGFwcFBhZ2VUaXRsZURlc2NyaXB0aW9uOiBib29sZWFuO1xyXG5cclxuICB0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICBkZXNjcmlwdGlvbiQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICBiYyQ6IE9ic2VydmFibGU8QXJyYXk8UGFnZUxpbms+PjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYWdlSW5mbzogUGFnZUluZm9TZXJ2aWNlLCBwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGl0bGUkID0gdGhpcy5wYWdlSW5mby50aXRsZS5hc09ic2VydmFibGUoKTtcclxuICAgIHRoaXMuZGVzY3JpcHRpb24kID0gdGhpcy5wYWdlSW5mby5kZXNjcmlwdGlvbi5hc09ic2VydmFibGUoKTtcclxuICAgIHRoaXMuYmMkID0gdGhpcy5wYWdlSW5mby5icmVhZGNydW1icy5hc09ic2VydmFibGUoKTtcclxuICAgIHRoaXMudGl0bGUkLnN1YnNjcmliZSgoZSk9PntcclxuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgIH0pXHJcbiAgICB0aGlzLmRlc2NyaXB0aW9uJC5zdWJzY3JpYmUoKGUpPT57XHJcbiAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICB9KVxyXG4gICAgdGhpcy5iYyQuc3Vic2NyaWJlKChlKT0+e1xyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5mb3JFYWNoKChzYikgPT4gc2IudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0aXRsZSQgfCBhc3luYyBhcyB0aXRsZVwiPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwUGFnZVRpdGxlQnJlYWRjcnVtYlwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJjJCB8IGFzeW5jIGFzIF9iY1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2JjLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBQYWdlVGl0bGVEaXJlY3Rpb24gPT09ICdyb3cnXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImgtMjBweCBib3JkZXItZ3JheS0zMDAgYm9yZGVyLXN0YXJ0IG14LTRcIj48L3NwYW4+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgIDwhLS1iZWdpbjo6QnJlYWRjcnVtYi0tPlxyXG5cclxuICAgICAgICA8dWwgY2xhc3M9XCJicmVhZGNydW1iIGJyZWFkY3J1bWItc2VwYXJhdG9ybGVzcyBmdy1zZW1pYm9sZCBmcy03IG15LTBcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydwdC0xJzogYXBwUGFnZVRpdGxlRGlyZWN0aW9uID09PSAnY29sdW1uJ31cIj5cclxuICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgYmMgb2YgX2JjXCIgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW1cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCIhYmMuaXNTZXBhcmF0b3IgJiYgYmMuaXNBY3RpdmUgPyAndGV4dC1ncmF5LTkwMCcgOiAnJ1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIiFiYy5pc1NlcGFyYXRvciAmJiAhYmMuaXNBY3RpdmUgPyAndGV4dC1tdXRlZCcgOiAnJ1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWJjLmlzU2VwYXJhdG9yXCI+XHJcbiAgICAgICAgICAgICAgPGEgY2xhc3M9XCJpbmFjdGl2ZS1iYyB0ZXh0LWhvdmVyLXByaW1hcnlcIiBbcm91dGVyTGlua109XCJiYy5wYXRoXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBiYy50aXRsZSB9fVxyXG4gICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJiYy5pc1NlcGFyYXRvclwiPlxyXG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwiL2Fzc2V0cy90YW5nby9sYXlvdXQvYmMtc2VwZXJhdG9yLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8bGkgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW0gYWN0aXZlLWJjXCI+e3sgdGl0bGUgfX08L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICAgICAgPCEtLWVuZDo6QnJlYWRjcnVtYi0tPlxyXG5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
@@ -264,11 +264,11 @@ export class LayoutComponent {
264
264
  this.unsubscribe.forEach((sb) => sb.unsubscribe());
265
265
  }
266
266
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutComponent, deps: [{ token: i1.LayoutInitService }, { token: i1.LayoutService }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
267
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: LayoutComponent, selector: "lib-layout", viewQueries: [{ propertyName: "ktSidebar", first: true, predicate: ["ktSidebar"], descendants: true, static: true }, { propertyName: "ktAside", first: true, predicate: ["ktAside"], descendants: true, static: true }, { propertyName: "ktHeaderMobile", first: true, predicate: ["ktHeaderMobile"], descendants: true, static: true }, { propertyName: "ktHeader", first: true, predicate: ["ktHeader"], descendants: true, static: true }], ngImport: i0, template: "<!--begin::App-->\r\n<div class=\"d-flex flex-column flex-root app-root\" id=\"kt_app_root\">\r\n <!--begin::Page-->\r\n <div class=\"app-page flex-column flex-column-fluid\" id=\"kt_app_page\">\r\n <ng-container *ngIf=\"appHeaderDisplay\">\r\n <!--begin::Header-->\r\n <lib-header [ngClass]=\"appHeaderDefaultClass\" id=\"kt_app_header\" class=\"app-header\" data-kt-sticky=\"true\" data-kt-sticky-activate=\"{default: true, lg: true}\" data-kt-sticky-name=\"app-header-minimize\" data-kt-sticky-offset=\"{default: '200px', lg: '0'}\" data-kt-sticky-animation=\"false\">\r\n </lib-header>\r\n <!--end::Header-->\r\n </ng-container>\r\n\r\n <!--begin::Wrapper-->\r\n <div class=\"app-wrapper flex-column flex-row-fluid\" id=\"kt_app_wrapper\">\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar-->\r\n <lib-sidebar #ktSidebar id=\"kt_app_sidebar\" class=\"app-sidebar flex-column\" [ngClass]=\"appSidebarDefaultClass\">\r\n </lib-sidebar>\r\n <!--end::sidebar-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarPanelDisplay\">\r\n <!-- TODO: app sidebar panel -->\r\n </ng-container>\r\n <!--begin::Main-->\r\n <div class=\"app-main flex-column flex-row-fluid\" id=\"kt_app_main\">\r\n <!--begin::Content wrapper-->\r\n <div class=\"d-flex flex-column flex-column-fluid\">\r\n <ng-container *ngIf=\"appToolbarDisplay\">\r\n <lib-toolbar class=\"app-toolbar\" [ngClass]=\"appToolbarCSSClass\" id=\"kt_app_toolbar\"\r\n [appToolbarLayout]=\"appToolbarLayout\"></lib-toolbar>\r\n </ng-container>\r\n <lib-content id=\" kt_app_content\" class=\"app-content\" [ngClass]=\"contentCSSClasses\"\r\n [contentContainerCSSClass]=\"contentContainerCSSClass\" [appContentContiner]=\"appContentContiner\"\r\n [appContentContainerClass]=\"appContentContainerClass\">\r\n </lib-content>\r\n </div>\r\n <!--end::Content wrapper-->\r\n <!-- <ng-container *ngIf=\"appFooterDisplay\">\r\n <lib-footer class=\"app-footer\" [ngClass]=\"appFooterCSSClass\" id=\"kt_app_footer\"\r\n [appFooterContainerCSSClass]=\"appFooterContainerCSSClass\"></lib-footer>\r\n </ng-container> -->\r\n </div>\r\n <!--end:::Main-->\r\n </div>\r\n <!--end::Wrapper-->\r\n\r\n </div>\r\n <!--end::Page-->\r\n</div>\r\n<!--end::App-->\r\n\r\n<lib-scripts-init></lib-scripts-init>\r\n<ng-container>\r\n <lib-scroll-top id=\"kt_scrolltop\" class=\"scrolltop\" data-kt-scrolltop=\"true\"></lib-scroll-top>\r\n</ng-container>\r\n<!-- begin:: Drawers -->\r\n<!-- <lib-activity-drawer></lib-activity-drawer> -->\r\n<!-- <lib-messenger-drawer></lib-messenger-drawer> -->\r\n<!-- end:: Drawers -->\r\n\r\n<!-- end:: Engage -->\r\n<!-- <lib-engages></lib-engages> -->\r\n<!-- end:: Engage -->\r\n\r\n<!-- begin:: Modals -->\r\n<!-- <lib-main-modal></lib-main-modal> -->\r\n<!-- <lib-invite-users-modal></lib-invite-users-modal> -->\r\n<!-- <lib-upgrade-plan-modal></lib-upgrade-plan-modal> -->\r\n<!-- end:: Modals -->\r\n", styles: [":host{height:100%;margin:0}:host .flex-root{height:100%}.page-loaded app-layout{opacity:1;transition:opacity 1s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.HeaderComponent, selector: "lib-header" }, { kind: "component", type: i5.ContentComponent, selector: "lib-content", inputs: ["contentContainerCSSClass", "appContentContiner", "appContentContainerClass"] }, { kind: "component", type: i6.ScriptsInitComponent, selector: "lib-scripts-init" }, { kind: "component", type: i7.ToolbarComponent, selector: "lib-toolbar", inputs: ["currentLayoutType", "appToolbarLayout"] }, { kind: "component", type: i8.SidebarComponent, selector: "lib-sidebar" }, { kind: "component", type: i9.LayoutScrollTopComponent, selector: "lib-scroll-top" }] });
267
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: LayoutComponent, selector: "lib-layout", viewQueries: [{ propertyName: "ktSidebar", first: true, predicate: ["ktSidebar"], descendants: true, static: true }, { propertyName: "ktAside", first: true, predicate: ["ktAside"], descendants: true, static: true }, { propertyName: "ktHeaderMobile", first: true, predicate: ["ktHeaderMobile"], descendants: true, static: true }, { propertyName: "ktHeader", first: true, predicate: ["ktHeader"], descendants: true, static: true }], ngImport: i0, template: "<!--begin::App-->\r\n<div class=\"d-flex flex-column flex-root app-root\" id=\"kt_app_root\">\r\n <!--begin::Page-->\r\n <div class=\"app-page flex-column flex-column-fluid\" id=\"kt_app_page\">\r\n <ng-container *ngIf=\"appHeaderDisplay\">\r\n <!--begin::Header-->\r\n <lib-header [ngClass]=\"appHeaderDefaultClass\" id=\"kt_app_header\" class=\"app-header\" data-kt-sticky=\"true\" data-kt-sticky-activate=\"{default: true, lg: true}\" data-kt-sticky-name=\"app-header-minimize\" data-kt-sticky-offset=\"{default: '200px', lg: '0'}\" data-kt-sticky-animation=\"false\">\r\n </lib-header>\r\n <!--end::Header-->\r\n </ng-container>\r\n\r\n <!--begin::Wrapper-->\r\n <div class=\"app-wrapper flex-column flex-row-fluid\" id=\"kt_app_wrapper\">\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar-->\r\n <lib-sidebar #ktSidebar id=\"kt_app_sidebar\" class=\"app-sidebar flex-column\" [ngClass]=\"appSidebarDefaultClass\">\r\n </lib-sidebar>\r\n <!--end::sidebar-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarPanelDisplay\">\r\n <!-- TODO: app sidebar panel -->\r\n </ng-container>\r\n <!--begin::Main-->\r\n <div class=\"app-main content flex-column flex-row-fluid\" id=\"kt_app_main\">\r\n <!--begin::Content wrapper-->\r\n <ng-container *ngIf=\"appToolbarDisplay\">\r\n <lib-toolbar class=\"app-toolbar\" [ngClass]=\"appToolbarCSSClass\" id=\"kt_app_toolbar\"\r\n [appToolbarLayout]=\"appToolbarLayout\"></lib-toolbar>\r\n </ng-container>\r\n <div class=\"d-flex flex-column flex-column-fluid mt-15\">\r\n \r\n <lib-content id=\" kt_app_content\" class=\"app-content mt-15\" [ngClass]=\"contentCSSClasses\"\r\n [contentContainerCSSClass]=\"contentContainerCSSClass\" [appContentContiner]=\"appContentContiner\"\r\n [appContentContainerClass]=\"appContentContainerClass\">\r\n </lib-content>\r\n </div>\r\n <!--end::Content wrapper-->\r\n <!-- <ng-container *ngIf=\"appFooterDisplay\">\r\n <lib-footer class=\"app-footer\" [ngClass]=\"appFooterCSSClass\" id=\"kt_app_footer\"\r\n [appFooterContainerCSSClass]=\"appFooterContainerCSSClass\"></lib-footer>\r\n </ng-container> -->\r\n </div>\r\n <!--end:::Main-->\r\n </div>\r\n <!--end::Wrapper-->\r\n\r\n </div>\r\n <!--end::Page-->\r\n</div>\r\n<!--end::App-->\r\n\r\n<lib-scripts-init></lib-scripts-init>\r\n<ng-container>\r\n <lib-scroll-top id=\"kt_scrolltop\" class=\"scrolltop\" data-kt-scrolltop=\"true\"></lib-scroll-top>\r\n</ng-container>\r\n<!-- begin:: Drawers -->\r\n<!-- <lib-activity-drawer></lib-activity-drawer> -->\r\n<!-- <lib-messenger-drawer></lib-messenger-drawer> -->\r\n<!-- end:: Drawers -->\r\n\r\n<!-- end:: Engage -->\r\n<!-- <lib-engages></lib-engages> -->\r\n<!-- end:: Engage -->\r\n\r\n<!-- begin:: Modals -->\r\n<!-- <lib-main-modal></lib-main-modal> -->\r\n<!-- <lib-invite-users-modal></lib-invite-users-modal> -->\r\n<!-- <lib-upgrade-plan-modal></lib-upgrade-plan-modal> -->\r\n<!-- end:: Modals -->\r\n", styles: [":host{height:100%;margin:0}:host .flex-root{height:100%}.page-loaded app-layout{opacity:1;transition:opacity 1s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.HeaderComponent, selector: "lib-header" }, { kind: "component", type: i5.ContentComponent, selector: "lib-content", inputs: ["contentContainerCSSClass", "appContentContiner", "appContentContainerClass"] }, { kind: "component", type: i6.ScriptsInitComponent, selector: "lib-scripts-init" }, { kind: "component", type: i7.ToolbarComponent, selector: "lib-toolbar", inputs: ["currentLayoutType", "appToolbarLayout"] }, { kind: "component", type: i8.SidebarComponent, selector: "lib-sidebar" }, { kind: "component", type: i9.LayoutScrollTopComponent, selector: "lib-scroll-top" }] });
268
268
  }
269
269
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutComponent, decorators: [{
270
270
  type: Component,
271
- args: [{ selector: 'lib-layout', template: "<!--begin::App-->\r\n<div class=\"d-flex flex-column flex-root app-root\" id=\"kt_app_root\">\r\n <!--begin::Page-->\r\n <div class=\"app-page flex-column flex-column-fluid\" id=\"kt_app_page\">\r\n <ng-container *ngIf=\"appHeaderDisplay\">\r\n <!--begin::Header-->\r\n <lib-header [ngClass]=\"appHeaderDefaultClass\" id=\"kt_app_header\" class=\"app-header\" data-kt-sticky=\"true\" data-kt-sticky-activate=\"{default: true, lg: true}\" data-kt-sticky-name=\"app-header-minimize\" data-kt-sticky-offset=\"{default: '200px', lg: '0'}\" data-kt-sticky-animation=\"false\">\r\n </lib-header>\r\n <!--end::Header-->\r\n </ng-container>\r\n\r\n <!--begin::Wrapper-->\r\n <div class=\"app-wrapper flex-column flex-row-fluid\" id=\"kt_app_wrapper\">\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar-->\r\n <lib-sidebar #ktSidebar id=\"kt_app_sidebar\" class=\"app-sidebar flex-column\" [ngClass]=\"appSidebarDefaultClass\">\r\n </lib-sidebar>\r\n <!--end::sidebar-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarPanelDisplay\">\r\n <!-- TODO: app sidebar panel -->\r\n </ng-container>\r\n <!--begin::Main-->\r\n <div class=\"app-main flex-column flex-row-fluid\" id=\"kt_app_main\">\r\n <!--begin::Content wrapper-->\r\n <div class=\"d-flex flex-column flex-column-fluid\">\r\n <ng-container *ngIf=\"appToolbarDisplay\">\r\n <lib-toolbar class=\"app-toolbar\" [ngClass]=\"appToolbarCSSClass\" id=\"kt_app_toolbar\"\r\n [appToolbarLayout]=\"appToolbarLayout\"></lib-toolbar>\r\n </ng-container>\r\n <lib-content id=\" kt_app_content\" class=\"app-content\" [ngClass]=\"contentCSSClasses\"\r\n [contentContainerCSSClass]=\"contentContainerCSSClass\" [appContentContiner]=\"appContentContiner\"\r\n [appContentContainerClass]=\"appContentContainerClass\">\r\n </lib-content>\r\n </div>\r\n <!--end::Content wrapper-->\r\n <!-- <ng-container *ngIf=\"appFooterDisplay\">\r\n <lib-footer class=\"app-footer\" [ngClass]=\"appFooterCSSClass\" id=\"kt_app_footer\"\r\n [appFooterContainerCSSClass]=\"appFooterContainerCSSClass\"></lib-footer>\r\n </ng-container> -->\r\n </div>\r\n <!--end:::Main-->\r\n </div>\r\n <!--end::Wrapper-->\r\n\r\n </div>\r\n <!--end::Page-->\r\n</div>\r\n<!--end::App-->\r\n\r\n<lib-scripts-init></lib-scripts-init>\r\n<ng-container>\r\n <lib-scroll-top id=\"kt_scrolltop\" class=\"scrolltop\" data-kt-scrolltop=\"true\"></lib-scroll-top>\r\n</ng-container>\r\n<!-- begin:: Drawers -->\r\n<!-- <lib-activity-drawer></lib-activity-drawer> -->\r\n<!-- <lib-messenger-drawer></lib-messenger-drawer> -->\r\n<!-- end:: Drawers -->\r\n\r\n<!-- end:: Engage -->\r\n<!-- <lib-engages></lib-engages> -->\r\n<!-- end:: Engage -->\r\n\r\n<!-- begin:: Modals -->\r\n<!-- <lib-main-modal></lib-main-modal> -->\r\n<!-- <lib-invite-users-modal></lib-invite-users-modal> -->\r\n<!-- <lib-upgrade-plan-modal></lib-upgrade-plan-modal> -->\r\n<!-- end:: Modals -->\r\n", styles: [":host{height:100%;margin:0}:host .flex-root{height:100%}.page-loaded app-layout{opacity:1;transition:opacity 1s ease-in-out}\n"] }]
271
+ args: [{ selector: 'lib-layout', template: "<!--begin::App-->\r\n<div class=\"d-flex flex-column flex-root app-root\" id=\"kt_app_root\">\r\n <!--begin::Page-->\r\n <div class=\"app-page flex-column flex-column-fluid\" id=\"kt_app_page\">\r\n <ng-container *ngIf=\"appHeaderDisplay\">\r\n <!--begin::Header-->\r\n <lib-header [ngClass]=\"appHeaderDefaultClass\" id=\"kt_app_header\" class=\"app-header\" data-kt-sticky=\"true\" data-kt-sticky-activate=\"{default: true, lg: true}\" data-kt-sticky-name=\"app-header-minimize\" data-kt-sticky-offset=\"{default: '200px', lg: '0'}\" data-kt-sticky-animation=\"false\">\r\n </lib-header>\r\n <!--end::Header-->\r\n </ng-container>\r\n\r\n <!--begin::Wrapper-->\r\n <div class=\"app-wrapper flex-column flex-row-fluid\" id=\"kt_app_wrapper\">\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar-->\r\n <lib-sidebar #ktSidebar id=\"kt_app_sidebar\" class=\"app-sidebar flex-column\" [ngClass]=\"appSidebarDefaultClass\">\r\n </lib-sidebar>\r\n <!--end::sidebar-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarPanelDisplay\">\r\n <!-- TODO: app sidebar panel -->\r\n </ng-container>\r\n <!--begin::Main-->\r\n <div class=\"app-main content flex-column flex-row-fluid\" id=\"kt_app_main\">\r\n <!--begin::Content wrapper-->\r\n <ng-container *ngIf=\"appToolbarDisplay\">\r\n <lib-toolbar class=\"app-toolbar\" [ngClass]=\"appToolbarCSSClass\" id=\"kt_app_toolbar\"\r\n [appToolbarLayout]=\"appToolbarLayout\"></lib-toolbar>\r\n </ng-container>\r\n <div class=\"d-flex flex-column flex-column-fluid mt-15\">\r\n \r\n <lib-content id=\" kt_app_content\" class=\"app-content mt-15\" [ngClass]=\"contentCSSClasses\"\r\n [contentContainerCSSClass]=\"contentContainerCSSClass\" [appContentContiner]=\"appContentContiner\"\r\n [appContentContainerClass]=\"appContentContainerClass\">\r\n </lib-content>\r\n </div>\r\n <!--end::Content wrapper-->\r\n <!-- <ng-container *ngIf=\"appFooterDisplay\">\r\n <lib-footer class=\"app-footer\" [ngClass]=\"appFooterCSSClass\" id=\"kt_app_footer\"\r\n [appFooterContainerCSSClass]=\"appFooterContainerCSSClass\"></lib-footer>\r\n </ng-container> -->\r\n </div>\r\n <!--end:::Main-->\r\n </div>\r\n <!--end::Wrapper-->\r\n\r\n </div>\r\n <!--end::Page-->\r\n</div>\r\n<!--end::App-->\r\n\r\n<lib-scripts-init></lib-scripts-init>\r\n<ng-container>\r\n <lib-scroll-top id=\"kt_scrolltop\" class=\"scrolltop\" data-kt-scrolltop=\"true\"></lib-scroll-top>\r\n</ng-container>\r\n<!-- begin:: Drawers -->\r\n<!-- <lib-activity-drawer></lib-activity-drawer> -->\r\n<!-- <lib-messenger-drawer></lib-messenger-drawer> -->\r\n<!-- end:: Drawers -->\r\n\r\n<!-- end:: Engage -->\r\n<!-- <lib-engages></lib-engages> -->\r\n<!-- end:: Engage -->\r\n\r\n<!-- begin:: Modals -->\r\n<!-- <lib-main-modal></lib-main-modal> -->\r\n<!-- <lib-invite-users-modal></lib-invite-users-modal> -->\r\n<!-- <lib-upgrade-plan-modal></lib-upgrade-plan-modal> -->\r\n<!-- end:: Modals -->\r\n", styles: [":host{height:100%;margin:0}:host .flex-root{height:100%}.page-loaded app-layout{opacity:1;transition:opacity 1s ease-in-out}\n"] }]
272
272
  }], ctorParameters: () => [{ type: i1.LayoutInitService }, { type: i1.LayoutService }, { type: i2.Router }, { type: i2.ActivatedRoute }], propDecorators: { ktSidebar: [{
273
273
  type: ViewChild,
274
274
  args: ['ktSidebar', { static: true }]
@@ -282,4 +282,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
282
282
  type: ViewChild,
283
283
  args: ['ktHeader', { static: true }]
284
284
  }] } });
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBa0IsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7O0FBVXhFLE1BQU0sT0FBTyxlQUFlO0lBdURoQjtJQUNBO0lBQ0E7SUFDQTtJQXpERixXQUFXLEdBQW1CLEVBQUUsQ0FBQztJQUV6QyxtQkFBbUI7SUFDbkIsT0FBTztJQUNQLHVCQUF1QixDQUFTO0lBQ2hDLFNBQVM7SUFDVCxxQkFBcUIsR0FBVyxFQUFFLENBQUM7SUFDbkMsZ0JBQWdCLENBQVU7SUFDMUIsNkJBQTZCLENBQVU7SUFDdkMsZ0NBQWdDLEdBQW1DLEVBQUUsQ0FBQztJQUN0RSwrQkFBK0IsQ0FBVTtJQUN6QyxrQ0FBa0MsR0FBbUMsRUFBRSxDQUFDO0lBQ3hFLFVBQVU7SUFDVixpQkFBaUIsQ0FBVTtJQUMzQixnQkFBZ0IsQ0FBNkQ7SUFDN0Usa0JBQWtCLEdBQVcsRUFBRSxDQUFDO0lBQ2hDLHFCQUFxQixDQUFVO0lBQy9CLHdCQUF3QixHQUFtQyxFQUFFLENBQUM7SUFDOUQsdUJBQXVCLENBQVU7SUFDakMsMEJBQTBCLEdBQW1DLEVBQUUsQ0FBQztJQUNoRSx5QkFBeUIsQ0FBVTtJQUNuQyw0QkFBNEIsR0FBbUMsRUFBRSxDQUFDO0lBRWxFLFVBQVU7SUFDVixrQkFBa0IsQ0FB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Z0JBRUQsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUU7b0JBQ2xDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFO3dCQUNuRCxJQUFJLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7NEJBQ3pELGNBQWMsQ0FBQyxZQUFZLENBQ3pCLEdBQUcsRUFDSCxJQUFJLENBQUMsNEJBQTRCLENBQUMsR0FBRyxDQUFDLENBQ3ZDLENBQUM7eUJBQ0g7cUJBQ0Y7aUJBQ0Y7YUFDRjtRQUNILENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7dUdBNVhVLGVBQWU7MkZBQWYsZUFBZSxpZUNqQjVCLCtsR0FzRUE7OzJGRHJEYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVk7b0tBd0NvQixTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBY0EsT0FBTztzQkFBOUMsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNTLGNBQWM7c0JBQTVELFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNKLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBPbkRlc3Ryb3ksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSUxheW91dCwgTGF5b3V0VHlwZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1tZXRyb25pY3MnO1xyXG5pbXBvcnQgeyBMYXlvdXRJbml0U2VydmljZSwgTGF5b3V0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1tZXRyb25pY3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItbGF5b3V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAvLyBQdWJsaWMgdmFyaWFibGVzXHJcbiAgLy8gcGFnZVxyXG4gIHBhZ2VDb250YWluZXJDU1NDbGFzc2VzOiBzdHJpbmc7XHJcbiAgLy8gaGVhZGVyXHJcbiAgYXBwSGVhZGVyRGVmYXVsdENsYXNzOiBzdHJpbmcgPSAnJztcclxuICBhcHBIZWFkZXJEaXNwbGF5OiBib29sZWFuO1xyXG4gIGFwcEhlYWRlckRlZmF1bHRTdGlja3lFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcEhlYWRlckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzOiB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICBhcHBIZWFkZXJEZWZhdWx0TWluaW1pemVFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXM6IHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIC8vIHRvb2xiYXJcclxuICBhcHBUb29sYmFyRGlzcGxheTogYm9vbGVhbjtcclxuICBhcHBUb29sYmFyTGF5b3V0OiAnY2xhc3NpYycgfCAnYWNjb3VudGluZycgfCAnZXh0ZW5kZWQnIHwgJ3JlcG9ydHMnIHwgJ3NhYXMnO1xyXG4gIGFwcFRvb2xiYXJDU1NDbGFzczogc3RyaW5nID0gJyc7XHJcbiAgYXBwVG9vbGJhclN3YXBFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcFRvb2xiYXJTd2FwQXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgYXBwVG9vbGJhclN0aWNreUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXM6IHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIGFwcFRvb2xiYXJNaW5pbWl6ZUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYXBwVG9vbGJhck1pbmltaXplQXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcblxyXG4gIC8vIGNvbnRlbnRcclxuICBhcHBDb250ZW50Q29udGluZXI/OiAnZml4ZWQnIHwgJ2ZsdWlkJztcclxuICBhcHBDb250ZW50Q29udGFpbmVyQ2xhc3M6IHN0cmluZztcclxuICBjb250ZW50Q1NTQ2xhc3Nlczogc3RyaW5nO1xyXG4gIGNvbnRlbnRDb250YWluZXJDU1NDbGFzczogc3RyaW5nO1xyXG4gIC8vIHNpZGViYXJcclxuICBhcHBTaWRlYmFyRGVmYXVsdENsYXNzOiBzdHJpbmc7XHJcbiAgYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcFNpZGViYXJEZWZhdWx0RHJhd2VyQXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgYXBwU2lkZWJhckRpc3BsYXk6IGJvb2xlYW47XHJcbiAgYXBwU2lkZWJhckRlZmF1bHRTdGlja3lFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcFNpZGViYXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgQFZpZXdDaGlsZCgna3RTaWRlYmFyJywgeyBzdGF0aWM6IHRydWUgfSkga3RTaWRlYmFyOiBFbGVtZW50UmVmO1xyXG4gIC8vLyBzaWRlYmFyIHBhbmVsXHJcbiAgYXBwU2lkZWJhclBhbmVsRGlzcGxheTogYm9vbGVhbjtcclxuICAvLyBmb290ZXJcclxuICBhcHBGb290ZXJEaXNwbGF5OiBib29sZWFuO1xyXG4gIGFwcEZvb3RlckNTU0NsYXNzOiBzdHJpbmcgPSAnJztcclxuICBhcHBGb290ZXJDb250YWluZXI6IHN0cmluZyA9ICcnO1xyXG4gIGFwcEZvb3RlckNvbnRhaW5lckNTU0NsYXNzOiBzdHJpbmcgPSAnJztcclxuICBhcHBGb290ZXJGaXhlZERlc2t0b3A6IGJvb2xlYW47XHJcbiAgYXBwRm9vdGVyRml4ZWRNb2JpbGU6IGJvb2xlYW47XHJcblxyXG4gIC8vIHNjcm9sbHRvcFxyXG4gIHNjcm9sbHRvcERpc3BsYXk6IGJvb2xlYW47XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2t0QXNpZGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBrdEFzaWRlOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2t0SGVhZGVyTW9iaWxlJywgeyBzdGF0aWM6IHRydWUgfSkga3RIZWFkZXJNb2JpbGU6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgna3RIZWFkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBrdEhlYWRlcjogRWxlbWVudFJlZjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGluaXRTZXJ2aWNlOiBMYXlvdXRJbml0U2VydmljZSxcclxuICAgIHByaXZhdGUgbGF5b3V0OiBMYXlvdXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlXHJcbiAgKSB7XHJcbiAgICAvLyBkZWZpbmUgbGF5b3V0IHR5cGUgYW5kIGxvYWQgbGF5b3V0XHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudExheW91dFR5cGUgPSB0aGlzLmxheW91dC5jdXJyZW50TGF5b3V0VHlwZVN1YmplY3QudmFsdWU7XHJcblxyXG4gICAgICAgIGNvbnN0IG5leHRMYXlvdXRUeXBlOiBMYXlvdXRUeXBlID1cclxuICAgICAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGU/LmZpcnN0Q2hpbGQ/LnNuYXBzaG90LmRhdGEubGF5b3V0IHx8XHJcbiAgICAgICAgICB0aGlzLmxheW91dC5nZXRCYXNlTGF5b3V0VHlwZUZyb21Mb2NhbFN0b3JhZ2UoKTtcclxuXHJcbiAgICAgICAgaWYgKGN1cnJlbnRMYXlvdXRUeXBlICE9PSBuZXh0TGF5b3V0VHlwZSB8fCAhY3VycmVudExheW91dFR5cGUpIHtcclxuICAgICAgICAgIHRoaXMubGF5b3V0LmN1cnJlbnRMYXlvdXRUeXBlU3ViamVjdC5uZXh0KG5leHRMYXlvdXRUeXBlKTtcclxuICAgICAgICAgIHRoaXMuaW5pdFNlcnZpY2UucmVJbml0UHJvcHMobmV4dExheW91dFR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IHN1YnNjciA9IHRoaXMubGF5b3V0LmxheW91dENvbmZpZ1N1YmplY3RcclxuICAgICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xyXG4gICAgICAgIHRoaXMudXBkYXRlUHJvcHMoY29uZmlnKTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLnB1c2goc3Vic2NyKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVByb3BzKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5zY3JvbGx0b3BEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ3Njcm9sbHRvcC5kaXNwbGF5JyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICB0aGlzLnBhZ2VDb250YWluZXJDU1NDbGFzc2VzID1cclxuICAgICAgdGhpcy5sYXlvdXQuZ2V0U3RyaW5nQ1NTQ2xhc3NlcygncGFnZUNvbnRhaW5lcicpO1xyXG4gICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0Q2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmhlYWRlci5kZWZhdWx0LmNsYXNzJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIHN0cmluZztcclxuICAgIHRoaXMuYXBwSGVhZGVyRGlzcGxheSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwRm9vdGVyRGlzcGxheSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuZm9vdGVyLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwU2lkZWJhckRpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnNpZGViYXIuZGlzcGxheScsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgdGhpcy5hcHBTaWRlYmFyUGFuZWxEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5zaWRlYmFyLXBhbmVsLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwVG9vbGJhckRpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnRvb2xiYXIuZGlzcGxheScsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgdGhpcy5jb250ZW50Q1NTQ2xhc3NlcyA9IHRoaXMubGF5b3V0LmdldFN0cmluZ0NTU0NsYXNzZXMoJ2NvbnRlbnQnKTtcclxuICAgIHRoaXMuY29udGVudENvbnRhaW5lckNTU0NsYXNzID1cclxuICAgICAgdGhpcy5sYXlvdXQuZ2V0U3RyaW5nQ1NTQ2xhc3NlcygnY29udGVudENvbnRhaW5lcicpO1xyXG4gICAgdGhpcy5hcHBDb250ZW50Q29udGluZXIgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmNvbnRlbnQuY29udGFpbmVyJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzICdmaXhlZCcgfCAnZmx1aWQnO1xyXG4gICAgdGhpcy5hcHBDb250ZW50Q29udGFpbmVyQ2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmNvbnRlbnQuY29udGFpbmVyQ2xhc3MnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG4gICAgLy8gZm9vdGVyXHJcbiAgICBpZiAodGhpcy5hcHBGb290ZXJEaXNwbGF5KSB7XHJcbiAgICAgIHRoaXMudXBkYXRlRm9vdGVyKGNvbmZpZyk7XHJcbiAgICB9XHJcbiAgICAvLyBzaWRlYmFyXHJcbiAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGlzcGxheSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZVNpZGViYXIoY29uZmlnKTtcclxuICAgIH1cclxuICAgIC8vIGhlYWRlclxyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGlzcGxheSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZUhlYWRlcihjb25maWcpO1xyXG4gICAgfVxyXG4gICAgLy8gdG9vbGJhclxyXG4gICAgaWYgKHRoaXMuYXBwVG9vbGJhckRpc3BsYXkpIHtcclxuICAgICAgdGhpcy51cGRhdGVUb29sYmFyKGNvbmZpZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVTaWRlYmFyKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdENsYXNzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5zaWRlYmFyLmRlZmF1bHQuY2xhc3MnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG5cclxuICAgIHRoaXMuYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJFbmFibGVkID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5zaWRlYmFyLmRlZmF1bHQuZHJhd2VyLmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyQXR0cmlidXRlcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICAgJ2FwcC5zaWRlYmFyLmRlZmF1bHQuZHJhd2VyLmF0dHJpYnV0ZXMnLFxyXG4gICAgICAgIGNvbmZpZ1xyXG4gICAgICApIGFzIHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcFNpZGViYXJEZWZhdWx0U3RpY2t5RW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuc2lkZWJhci5kZWZhdWx0LnN0aWNreS5lbmFibGVkJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAuc2lkZWJhci5kZWZhdWx0LnN0aWNreS5hdHRyaWJ1dGVzJyxcclxuICAgICAgICBjb25maWdcclxuICAgICAgKSBhcyB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHNpZGViYXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2t0X2FwcF9zaWRlYmFyJyk7XHJcbiAgICAgIC8vIHNpZGViYXJcclxuICAgICAgaWYgKHRoaXMuYXBwU2lkZWJhckRpc3BsYXkgJiYgc2lkZWJhckVsZW1lbnQpIHtcclxuICAgICAgICBjb25zdCBzaWRlYmFyQXR0cmlidXRlcyA9IHNpZGViYXJFbGVtZW50XHJcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlTmFtZXMoKVxyXG4gICAgICAgICAgLmZpbHRlcigodCkgPT4gdC5pbmRleE9mKCdkYXRhLScpID4gLTEpO1xyXG4gICAgICAgIHNpZGViYXJBdHRyaWJ1dGVzLmZvckVhY2goKGF0dHIpID0+XHJcbiAgICAgICAgICBzaWRlYmFyRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0cilcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGVmYXVsdERyYXdlckVuYWJsZWQpIHtcclxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJBdHRyaWJ1dGVzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyQXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgc2lkZWJhckVsZW1lbnQuc2V0QXR0cmlidXRlKFxyXG4gICAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdERyYXdlckF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwcFNpZGViYXJEZWZhdWx0U3RpY2t5RW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwU2lkZWJhckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICBzaWRlYmFyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcFNpZGViYXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlc1trZXldXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVIZWFkZXIoY29uZmlnOiBJTGF5b3V0KSB7XHJcbiAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRTdGlja3lFbmFibGVkID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5oZWFkZXIuZGVmYXVsdC5zdGlja3kuZW5hYmxlZCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdFN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICAgJ2FwcC5oZWFkZXIuZGVmYXVsdC5zdGlja3kuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplRW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQubWluaW1pemUuZW5hYmxlZCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQubWluaW1pemUuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBoZWFkZXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2t0X2FwcF9oZWFkZXInKTtcclxuICAgICAgLy8gaGVhZGVyXHJcbiAgICAgIGlmICh0aGlzLmFwcEhlYWRlckRpc3BsYXkgJiYgaGVhZGVyRWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IGhlYWRlckF0dHJpYnV0ZXMgPSBoZWFkZXJFbGVtZW50XHJcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlTmFtZXMoKVxyXG4gICAgICAgICAgLmZpbHRlcigodCkgPT4gdC5pbmRleE9mKCdkYXRhLScpID4gLTEpO1xyXG4gICAgICAgIGhlYWRlckF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cikgPT4gaGVhZGVyRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0cikpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5RW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlcykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgaGVhZGVyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzW2tleV1cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0TWluaW1pemVFbmFibGVkKSB7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplQXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgaGVhZGVyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlRm9vdGVyKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5hcHBGb290ZXJDU1NDbGFzcyA9IHRoaXMubGF5b3V0LmdldFByb3AoJ2FwcC5mb290ZXIuY2xhc3MnLCBjb25maWcpIGFzIHN0cmluZztcclxuICAgIHRoaXMuYXBwRm9vdGVyQ29udGFpbmVyID0gdGhpcy5sYXlvdXQuZ2V0UHJvcCgnYXBwLmZvb3Rlci5jb250YWluZXInLCBjb25maWcpIGFzIHN0cmluZztcclxuICAgIHRoaXMuYXBwRm9vdGVyQ29udGFpbmVyQ1NTQ2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKCdhcHAuZm9vdGVyLmNvbnRhaW5lckNsYXNzJywgY29uZmlnKSBhcyBzdHJpbmc7XHJcbiAgICBpZiAodGhpcy5hcHBGb290ZXJDb250YWluZXIgPT09ICdmaXhlZCcpIHtcclxuICAgICAgdGhpcy5hcHBGb290ZXJDb250YWluZXJDU1NDbGFzcyArPSAnIGNvbnRhaW5lci14eGwnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuYXBwRm9vdGVyQ29udGFpbmVyID09PSAnZmx1aWQnKSB7XHJcbiAgICAgICAgdGhpcy5hcHBGb290ZXJDb250YWluZXJDU1NDbGFzcyArPSAnIGNvbnRhaW5lci1mbHVpZCc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcEZvb3RlckZpeGVkRGVza3RvcCA9IHRoaXMubGF5b3V0LmdldFByb3AoJ2FwcC5mb290ZXIuZml4ZWQuZGVza3RvcCcsIGNvbmZpZykgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcEZvb3RlckZpeGVkRGVza3RvcCkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnZGF0YS1rdC1hcHAtZm9vdGVyLWZpeGVkJywgJ3RydWUnKVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwRm9vdGVyRml4ZWRNb2JpbGUgPSB0aGlzLmxheW91dC5nZXRQcm9wKCdhcHAuZm9vdGVyLmZpeGVkLm1vYmlsZScpIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBGb290ZXJGaXhlZE1vYmlsZSkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnZGF0YS1rdC1hcHAtZm9vdGVyLWZpeGVkLW1vYmlsZScsICd0cnVlJylcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZVRvb2xiYXIoY29uZmlnOiBJTGF5b3V0KSB7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJMYXlvdXQgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnRvb2xiYXIubGF5b3V0JyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzICdjbGFzc2ljJyB8ICdhY2NvdW50aW5nJyB8ICdleHRlbmRlZCcgfCAncmVwb3J0cycgfCAnc2Fhcyc7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJTd2FwRW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAudG9vbGJhci5zd2FwLmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFRvb2xiYXJTd2FwRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmFwcFRvb2xiYXJTd2FwQXR0cmlidXRlcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICAgJ2FwcC50b29sYmFyLnN3YXAuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwVG9vbGJhclN0aWNreUVuYWJsZWQgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnRvb2xiYXIuc3RpY2t5LmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFRvb2xiYXJTdGlja3lFbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAudG9vbGJhci5zdGlja3kuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwVG9vbGJhckNTU0NsYXNzID1cclxuICAgICAgKHRoaXMubGF5b3V0LmdldFByb3AoJ2FwcC50b29sYmFyLmNsYXNzJywgY29uZmlnKSBhcyBzdHJpbmcpIHx8ICcnO1xyXG4gICAgdGhpcy5hcHBUb29sYmFyTWluaW1pemVFbmFibGVkID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC50b29sYmFyLm1pbmltaXplLmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFRvb2xiYXJNaW5pbWl6ZUVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBUb29sYmFyTWluaW1pemVBdHRyaWJ1dGVzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgICAnYXBwLnRvb2xiYXIubWluaW1pemUuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgICB0aGlzLmFwcFRvb2xiYXJDU1NDbGFzcyArPSAnIGFwcC10b29sYmFyLW1pbmltaXplJztcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgdG9vbGJhckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna3RfYXBwX3Rvb2xiYXInKTtcclxuICAgICAgLy8gdG9vbGJhclxyXG4gICAgICBpZiAodGhpcy5hcHBUb29sYmFyRGlzcGxheSAmJiB0b29sYmFyRWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IHRvb2xiYXJBdHRyaWJ1dGVzID0gdG9vbGJhckVsZW1lbnRcclxuICAgICAgICAgIC5nZXRBdHRyaWJ1dGVOYW1lcygpXHJcbiAgICAgICAgICAuZmlsdGVyKCh0KSA9PiB0LmluZGV4T2YoJ2RhdGEtJykgPiAtMSk7XHJcbiAgICAgICAgdG9vbGJhckF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cikgPT5cclxuICAgICAgICAgIHRvb2xiYXJFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShhdHRyKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwcFRvb2xiYXJTd2FwRW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBUb29sYmFyU3dhcEF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwVG9vbGJhclN3YXBBdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICB0b29sYmFyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcFRvb2xiYXJTd2FwQXR0cmlidXRlc1trZXldXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYXBwVG9vbGJhclN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgIHRvb2xiYXJFbGVtZW50LnNldEF0dHJpYnV0ZShcclxuICAgICAgICAgICAgICAgIGtleSxcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwcFRvb2xiYXJNaW5pbWl6ZUVuYWJsZWQpIHtcclxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuYXBwVG9vbGJhck1pbmltaXplQXR0cmlidXRlcykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hcHBUb29sYmFyTWluaW1pemVBdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICB0b29sYmFyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcFRvb2xiYXJNaW5pbWl6ZUF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLmZvckVhY2goKHNiKSA9PiBzYi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcbn1cclxuIiwiPCEtLWJlZ2luOjpBcHAtLT5cclxuPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LXJvb3QgYXBwLXJvb3RcIiBpZD1cImt0X2FwcF9yb290XCI+XHJcbiAgPCEtLWJlZ2luOjpQYWdlLS0+XHJcbiAgPGRpdiBjbGFzcz1cImFwcC1wYWdlIGZsZXgtY29sdW1uIGZsZXgtY29sdW1uLWZsdWlkXCIgaWQ9XCJrdF9hcHBfcGFnZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcEhlYWRlckRpc3BsYXlcIj5cclxuICAgICAgPCEtLWJlZ2luOjpIZWFkZXItLT5cclxuICAgICAgPGxpYi1oZWFkZXIgW25nQ2xhc3NdPVwiYXBwSGVhZGVyRGVmYXVsdENsYXNzXCIgaWQ9XCJrdF9hcHBfaGVhZGVyXCIgY2xhc3M9XCJhcHAtaGVhZGVyXCIgZGF0YS1rdC1zdGlja3k9XCJ0cnVlXCIgZGF0YS1rdC1zdGlja3ktYWN0aXZhdGU9XCJ7ZGVmYXVsdDogdHJ1ZSwgbGc6IHRydWV9XCIgZGF0YS1rdC1zdGlja3ktbmFtZT1cImFwcC1oZWFkZXItbWluaW1pemVcIiBkYXRhLWt0LXN0aWNreS1vZmZzZXQ9XCJ7ZGVmYXVsdDogJzIwMHB4JywgbGc6ICcwJ31cIiBkYXRhLWt0LXN0aWNreS1hbmltYXRpb249XCJmYWxzZVwiPlxyXG4gICAgICA8L2xpYi1oZWFkZXI+XHJcbiAgICAgIDwhLS1lbmQ6OkhlYWRlci0tPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLWJlZ2luOjpXcmFwcGVyLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXBwLXdyYXBwZXIgZmxleC1jb2x1bW4gZmxleC1yb3ctZmx1aWRcIiBpZD1cImt0X2FwcF93cmFwcGVyXCI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwU2lkZWJhckRpc3BsYXlcIj5cclxuICAgICAgICA8IS0tYmVnaW46OnNpZGViYXItLT5cclxuICAgICAgICA8bGliLXNpZGViYXIgI2t0U2lkZWJhciBpZD1cImt0X2FwcF9zaWRlYmFyXCIgY2xhc3M9XCJhcHAtc2lkZWJhciBmbGV4LWNvbHVtblwiIFtuZ0NsYXNzXT1cImFwcFNpZGViYXJEZWZhdWx0Q2xhc3NcIj5cclxuICAgICAgICA8L2xpYi1zaWRlYmFyPlxyXG4gICAgICAgIDwhLS1lbmQ6OnNpZGViYXItLT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwU2lkZWJhclBhbmVsRGlzcGxheVwiPlxyXG4gICAgICAgIDwhLS0gVE9ETzogYXBwIHNpZGViYXIgcGFuZWwgLS0+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8IS0tYmVnaW46Ok1haW4tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1tYWluIGZsZXgtY29sdW1uIGZsZXgtcm93LWZsdWlkXCIgaWQ9XCJrdF9hcHBfbWFpblwiPlxyXG4gICAgICAgIDwhLS1iZWdpbjo6Q29udGVudCB3cmFwcGVyLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWNvbHVtbi1mbHVpZFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcFRvb2xiYXJEaXNwbGF5XCI+XHJcbiAgICAgICAgICAgIDxsaWItdG9vbGJhciBjbGFzcz1cImFwcC10b29sYmFyXCIgW25nQ2xhc3NdPVwiYXBwVG9vbGJhckNTU0NsYXNzXCIgaWQ9XCJrdF9hcHBfdG9vbGJhclwiXHJcbiAgICAgICAgICAgICAgW2FwcFRvb2xiYXJMYXlvdXRdPVwiYXBwVG9vbGJhckxheW91dFwiPjwvbGliLXRvb2xiYXI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxsaWItY29udGVudCBpZD1cIiBrdF9hcHBfY29udGVudFwiIGNsYXNzPVwiYXBwLWNvbnRlbnRcIiBbbmdDbGFzc109XCJjb250ZW50Q1NTQ2xhc3Nlc1wiXHJcbiAgICAgICAgICAgIFtjb250ZW50Q29udGFpbmVyQ1NTQ2xhc3NdPVwiY29udGVudENvbnRhaW5lckNTU0NsYXNzXCIgW2FwcENvbnRlbnRDb250aW5lcl09XCJhcHBDb250ZW50Q29udGluZXJcIlxyXG4gICAgICAgICAgICBbYXBwQ29udGVudENvbnRhaW5lckNsYXNzXT1cImFwcENvbnRlbnRDb250YWluZXJDbGFzc1wiPlxyXG4gICAgICAgICAgPC9saWItY29udGVudD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tZW5kOjpDb250ZW50IHdyYXBwZXItLT5cclxuICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBGb290ZXJEaXNwbGF5XCI+XHJcbiAgICAgICAgICA8bGliLWZvb3RlciBjbGFzcz1cImFwcC1mb290ZXJcIiBbbmdDbGFzc109XCJhcHBGb290ZXJDU1NDbGFzc1wiIGlkPVwia3RfYXBwX2Zvb3RlclwiXHJcbiAgICAgICAgICAgIFthcHBGb290ZXJDb250YWluZXJDU1NDbGFzc109XCJhcHBGb290ZXJDb250YWluZXJDU1NDbGFzc1wiPjwvbGliLWZvb3Rlcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8IS0tZW5kOjo6TWFpbi0tPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tZW5kOjpXcmFwcGVyLS0+XHJcblxyXG4gIDwvZGl2PlxyXG4gIDwhLS1lbmQ6OlBhZ2UtLT5cclxuPC9kaXY+XHJcbjwhLS1lbmQ6OkFwcC0tPlxyXG5cclxuPGxpYi1zY3JpcHRzLWluaXQ+PC9saWItc2NyaXB0cy1pbml0PlxyXG48bmctY29udGFpbmVyPlxyXG4gIDxsaWItc2Nyb2xsLXRvcCBpZD1cImt0X3Njcm9sbHRvcFwiIGNsYXNzPVwic2Nyb2xsdG9wXCIgZGF0YS1rdC1zY3JvbGx0b3A9XCJ0cnVlXCI+PC9saWItc2Nyb2xsLXRvcD5cclxuPC9uZy1jb250YWluZXI+XHJcbjwhLS0gYmVnaW46OiBEcmF3ZXJzIC0tPlxyXG48IS0tIDxsaWItYWN0aXZpdHktZHJhd2VyPjwvbGliLWFjdGl2aXR5LWRyYXdlcj4gLS0+XHJcbjwhLS0gPGxpYi1tZXNzZW5nZXItZHJhd2VyPjwvbGliLW1lc3Nlbmdlci1kcmF3ZXI+IC0tPlxyXG48IS0tIGVuZDo6IERyYXdlcnMgLS0+XHJcblxyXG48IS0tIGVuZDo6IEVuZ2FnZSAtLT5cclxuPCEtLSA8bGliLWVuZ2FnZXM+PC9saWItZW5nYWdlcz4gLS0+XHJcbjwhLS0gZW5kOjogRW5nYWdlIC0tPlxyXG5cclxuPCEtLSBiZWdpbjo6IE1vZGFscyAtLT5cclxuPCEtLSA8bGliLW1haW4tbW9kYWw+PC9saWItbWFpbi1tb2RhbD4gLS0+XHJcbjwhLS0gPGxpYi1pbnZpdGUtdXNlcnMtbW9kYWw+PC9saWItaW52aXRlLXVzZXJzLW1vZGFsPiAtLT5cclxuPCEtLSA8bGliLXVwZ3JhZGUtcGxhbi1tb2RhbD48L2xpYi11cGdyYWRlLXBsYW4tbW9kYWw+IC0tPlxyXG48IS0tIGVuZDo6IE1vZGFscyAtLT5cclxuIl19
285
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBa0IsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7O0FBVXhFLE1BQU0sT0FBTyxlQUFlO0lBdURoQjtJQUNBO0lBQ0E7SUFDQTtJQXpERixXQUFXLEdBQW1CLEVBQUUsQ0FBQztJQUV6QyxtQkFBbUI7SUFDbkIsT0FBTztJQUNQLHVCQUF1QixDQUFTO0lBQ2hDLFNBQVM7SUFDVCxxQkFBcUIsR0FBVyxFQUFFLENBQUM7SUFDbkMsZ0JBQWdCLENBQVU7SUFDMUIsNkJBQTZCLENBQVU7SUFDdkMsZ0NBQWdDLEdBQW1DLEVBQUUsQ0FBQztJQUN0RSwrQkFBK0IsQ0FBVTtJQUN6QyxrQ0FBa0MsR0FBbUMsRUFBRSxDQUFDO0lBQ3hFLFVBQVU7SUFDVixpQkFBaUIsQ0FBVTtJQUMzQixnQkFBZ0IsQ0FBNkQ7SUFDN0Usa0JBQWtCLEdBQVcsRUFBRSxDQUFDO0lBQ2hDLHFCQUFxQixDQUFVO0lBQy9CLHdCQUF3QixHQUFtQyxFQUFFLENBQUM7SUFDOUQsdUJBQXVCLENBQVU7SUFDakMsMEJBQTBCLEdBQW1DLEVBQUUsQ0FBQztJQUNoRSx5QkFBeUIsQ0FBVTtJQUNuQyw0QkFBNEIsR0FBbUMsRUFBRSxDQUFDO0lBRWxFLFVBQVU7SUFDVixrQkFBa0IsQ0FBcUI7SUFDdkMsd0JBQXdCLENBQVM7SUFDakMsaUJBQWlCLENBQVM7SUFDMUIsd0JBQXdCLENBQVM7SUFDakMsVUFBVTtJQUNWLHNCQUFzQixDQUFTO0lBQy9CLDhCQUE4QixDQUFVO0lBQ3hDLGlDQUFpQyxHQUFtQyxFQUFFLENBQUM7SUFDdkUsaUJBQWlCLENBQVU7SUFDM0IsOEJBQThCLENBQVU7SUFDeEMsaUNBQWlDLEdBQW1DLEVBQUUsQ0FBQztJQUM3QixTQUFTLENBQWE7SUFDaEUsaUJBQWlCO0lBQ2pCLHNCQUFzQixDQUFVO0lBQ2hDLFNBQVM7SUFDVCxnQkFBZ0IsQ0FBVTtJQUMxQixpQkFBaUIsR0FBVyxFQUFFLENBQUM7SUFDL0Isa0JBQWtCLEdBQVcsRUFBRSxDQUFDO0lBQ2hDLDBCQUEwQixHQUFXLEVBQUUsQ0FBQztJQUN4QyxxQkFBcUIsQ0FBVTtJQUMvQixvQkFBb0IsQ0FBVTtJQUU5QixZQUFZO0lBQ1osZ0JBQWdCLENBQVU7SUFFYyxPQUFPLENBQWE7SUFDYixjQUFjLENBQWE7SUFDakMsUUFBUSxDQUFhO0lBRTlELFlBQ1UsV0FBOEIsRUFDOUIsTUFBcUIsRUFDckIsTUFBYyxFQUNkLGNBQThCO1FBSDlCLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFFdEMscUNBQXFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3JDLElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtnQkFDbEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQztnQkFFckUsTUFBTSxjQUFjLEdBQ2xCLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTTtvQkFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQ0FBaUMsRUFBRSxDQUFDO2dCQUVsRCxJQUFJLGlCQUFpQixLQUFLLGNBQWMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO29CQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDMUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7aUJBQzlDO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUI7YUFDM0MsWUFBWSxFQUFFO2FBQ2QsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBZTtRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ3pDLG1CQUFtQixFQUNuQixNQUFNLENBQ0ksQ0FBQztRQUNiLElBQUksQ0FBQyx1QkFBdUI7WUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQzlDLDBCQUEwQixFQUMxQixNQUFNLENBQ0csQ0FBQztRQUNaLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDekMsb0JBQW9CLEVBQ3BCLE1BQU0sQ0FDSSxDQUFDO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUN6QyxvQkFBb0IsRUFDcEIsTUFBTSxDQUNJLENBQUM7UUFDYixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQzFDLHFCQUFxQixFQUNyQixNQUFNLENBQ0ksQ0FBQztRQUNiLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDL0MsMkJBQTJCLEVBQzNCLE1BQU0sQ0FDSSxDQUFDO1FBQ2IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUMxQyxxQkFBcUIsRUFDckIsTUFBTSxDQUNJLENBQUM7UUFDYixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsd0JBQXdCO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQzNDLHVCQUF1QixFQUN2QixNQUFNLENBQ2MsQ0FBQztRQUN2QixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ2pELDRCQUE0QixFQUM1QixNQUFNLENBQ0csQ0FBQztRQUNaLFNBQVM7UUFDVCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsVUFBVTtRQUNWLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDNUI7UUFDRCxTQUFTO1FBQ1QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMzQjtRQUNELFVBQVU7UUFDVixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFlO1FBQzNCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDL0MsMkJBQTJCLEVBQzNCLE1BQU0sQ0FDRyxDQUFDO1FBRVosSUFBSSxDQUFDLDhCQUE4QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUN2RCxvQ0FBb0MsRUFDcEMsTUFBTSxDQUNJLENBQUM7UUFDYixJQUFJLElBQUksQ0FBQyw4QkFBOEIsRUFBRTtZQUN2QyxJQUFJLENBQUMsaUNBQWlDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQzFELHVDQUF1QyxFQUN2QyxNQUFNLENBQzJCLENBQUM7U0FDckM7UUFFRCxJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ3ZELG9DQUFvQyxFQUNwQyxNQUFNLENBQ0ksQ0FBQztRQUNiLElBQUksSUFBSSxDQUFDLDhCQUE4QixFQUFFO1lBQ3ZDLElBQUksQ0FBQyxpQ0FBaUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDMUQsdUNBQXVDLEVBQ3ZDLE1BQU0sQ0FDMkIsQ0FBQztTQUNyQztRQUVELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDakUsVUFBVTtZQUNWLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLGNBQWMsRUFBRTtnQkFDNUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjO3FCQUNyQyxpQkFBaUIsRUFBRTtxQkFDbkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ2pDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQ3JDLENBQUM7Z0JBRUYsSUFBSSxJQUFJLENBQUMsOEJBQThCLEVBQUU7b0JBQ3ZDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLGlDQUFpQyxFQUFFO3dCQUN4RCxJQUFJLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7NEJBQzlELGNBQWMsQ0FBQyxZQUFZLENBQ3pCLEdBQUcsRUFDSCxJQUFJLENBQUMsaUNBQWlDLENBQUMsR0FBRyxDQUFDLENBQzVDLENBQUM7eUJBQ0g7cUJBQ0Y7aUJBQ0Y7Z0JBRUQsSUFBSSxJQUFJLENBQUMsOEJBQThCLEVBQUU7b0JBQ3ZDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLGlDQUFpQyxFQUFFO3dCQUN4RCxJQUFJLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7NEJBQzlELGNBQWMsQ0FBQyxZQUFZLENBQ3pCLEdBQUcsRUFDSCxJQUFJLENBQUMsaUNBQWlDLENBQUMsR0FBRyxDQUFDLENBQzVDLENBQUM7eUJBQ0g7cUJBQ0Y7aUJBQ0Y7YUFDRjtRQUNILENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBZTtRQUMxQixJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ3RELG1DQUFtQyxFQUNuQyxNQUFNLENBQ0ksQ0FBQztRQUNiLElBQUksSUFBSSxDQUFDLDZCQUE2QixFQUFFO1lBQ3RDLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDekQsc0NBQXNDLEVBQ3RDLE1BQU0sQ0FDMkIsQ0FBQztTQUNyQztRQUVELElBQUksQ0FBQywrQkFBK0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDeEQscUNBQXFDLEVBQ3JDLE1BQU0sQ0FDSSxDQUFDO1FBQ2IsSUFBSSxJQUFJLENBQUMsK0JBQStCLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUMzRCx3Q0FBd0MsRUFDeEMsTUFBTSxDQUMyQixDQUFDO1NBQ3JDO1FBRUQsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDL0QsU0FBUztZQUNULElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLGFBQWEsRUFBRTtnQkFDMUMsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhO3FCQUNuQyxpQkFBaUIsRUFBRTtxQkFDbkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUV4RSxJQUFJLElBQUksQ0FBQyw2QkFBNkIsRUFBRTtvQkFDdEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsZ0NBQWdDLEVBQUU7d0JBQ3ZELElBQUksSUFBSSxDQUFDLGdDQUFnQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTs0QkFDN0QsYUFBYSxDQUFDLFlBQVksQ0FDeEIsR0FBRyxFQUNILElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxHQUFHLENBQUMsQ0FDM0MsQ0FBQzt5QkFDSDtxQkFDRjtpQkFDRjtnQkFFRCxJQUFJLElBQUksQ0FBQywrQkFBK0IsRUFBRTtvQkFDeEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsa0NBQWtDLEVBQUU7d0JBQ3pELElBQUksSUFBSSxDQUFDLGtDQUFrQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTs0QkFDL0QsYUFBYSxDQUFDLFlBQVksQ0FDeEIsR0FBRyxFQUNILElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLENBQUMsQ0FDN0MsQ0FBQzt5QkFDSDtxQkFDRjtpQkFDRjthQUNGO1FBQ0gsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFlO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQVcsQ0FBQztRQUNuRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsTUFBTSxDQUFXLENBQUM7UUFDeEYsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLDJCQUEyQixFQUFFLE1BQU0sQ0FBVyxDQUFDO1FBQ3JHLElBQUksSUFBSSxDQUFDLGtCQUFrQixLQUFLLE9BQU8sRUFBRTtZQUN2QyxJQUFJLENBQUMsMEJBQTBCLElBQUksZ0JBQWdCLENBQUM7U0FDckQ7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLGtCQUFrQixLQUFLLE9BQU8sRUFBRTtnQkFDdkMsSUFBSSxDQUFDLDBCQUEwQixJQUFJLGtCQUFrQixDQUFDO2FBQ3ZEO1NBQ0Y7UUFFRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsMEJBQTBCLEVBQUUsTUFBTSxDQUFZLENBQUM7UUFDaEcsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDOUIsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsMEJBQTBCLEVBQUUsTUFBTSxDQUFDLENBQUE7U0FDL0Q7UUFFRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQVksQ0FBQztRQUN0RixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM3QixRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQ0FBaUMsRUFBRSxNQUFNLENBQUMsQ0FBQTtTQUN0RTtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsTUFBZTtRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ3pDLG9CQUFvQixFQUNwQixNQUFNLENBQ3VELENBQUM7UUFDaEUsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUM5QywwQkFBMEIsRUFDMUIsTUFBTSxDQUNJLENBQUM7UUFDYixJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ2pELDZCQUE2QixFQUM3QixNQUFNLENBQzJCLENBQUM7U0FDckM7UUFFRCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ2hELDRCQUE0QixFQUM1QixNQUFNLENBQ0ksQ0FBQztRQUNiLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQ2hDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDbkQsK0JBQStCLEVBQy9CLE1BQU0sQ0FDMkIsQ0FBQztTQUNyQztRQUVELElBQUksQ0FBQyxrQkFBa0I7WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFZLElBQUksRUFBRSxDQUFDO1FBQ3JFLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDbEQsOEJBQThCLEVBQzlCLE1BQU0sQ0FDSSxDQUFDO1FBQ2IsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUU7WUFDbEMsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUNyRCxpQ0FBaUMsRUFDakMsTUFBTSxDQUMyQixDQUFDO1lBQ3BDLElBQUksQ0FBQyxrQkFBa0IsSUFBSSx1QkFBdUIsQ0FBQztTQUNwRDtRQUVELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDakUsVUFBVTtZQUNWLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLGNBQWMsRUFBRTtnQkFDNUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjO3FCQUNyQyxpQkFBaUIsRUFBRTtxQkFDbkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ2pDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQ3JDLENBQUM7Z0JBRUYsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUU7b0JBQzlCLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFO3dCQUMvQyxJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7NEJBQ3JELGNBQWMsQ0FBQyxZQUFZLENBQ3pCLEdBQUcsRUFDSCxJQUFJLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLENBQ25DLENBQUM7eUJBQ0g7cUJBQ0Y7aUJBQ0Y7Z0JBRUQsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEVBQUU7b0JBQ2hDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFO3dCQUNqRCxJQUFJLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7NEJBQ3ZELGNBQWMsQ0FBQyxZQUFZLENBQ3pCLEdBQUcsRUFDSCxJQUFJLENBQUMsMEJBQTBCLENBQUMsR0FBRyxDQUFDLENBQ3JDLENBQUM7eUJBQ0g7cUJBQ0Y7aUJBQ0Y7Z0JBRUQsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUU7b0JBQ2xDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFO3dCQUNuRCxJQUFJLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7NEJBQ3pELGNBQWMsQ0FBQyxZQUFZLENBQ3pCLEdBQUcsRUFDSCxJQUFJLENBQUMsNEJBQTRCLENBQUMsR0FBRyxDQUFDLENBQ3ZDLENBQUM7eUJBQ0g7cUJBQ0Y7aUJBQ0Y7YUFDRjtRQUNILENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7dUdBNVhVLGVBQWU7MkZBQWYsZUFBZSxpZUNqQjVCLHVuR0F1RUE7OzJGRHREYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVk7b0tBd0NvQixTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBY0EsT0FBTztzQkFBOUMsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNTLGNBQWM7c0JBQTVELFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNKLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBPbkRlc3Ryb3ksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSUxheW91dCwgTGF5b3V0VHlwZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1tZXRyb25pY3MnO1xyXG5pbXBvcnQgeyBMYXlvdXRJbml0U2VydmljZSwgTGF5b3V0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1tZXRyb25pY3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItbGF5b3V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAvLyBQdWJsaWMgdmFyaWFibGVzXHJcbiAgLy8gcGFnZVxyXG4gIHBhZ2VDb250YWluZXJDU1NDbGFzc2VzOiBzdHJpbmc7XHJcbiAgLy8gaGVhZGVyXHJcbiAgYXBwSGVhZGVyRGVmYXVsdENsYXNzOiBzdHJpbmcgPSAnJztcclxuICBhcHBIZWFkZXJEaXNwbGF5OiBib29sZWFuO1xyXG4gIGFwcEhlYWRlckRlZmF1bHRTdGlja3lFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcEhlYWRlckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzOiB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICBhcHBIZWFkZXJEZWZhdWx0TWluaW1pemVFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXM6IHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIC8vIHRvb2xiYXJcclxuICBhcHBUb29sYmFyRGlzcGxheTogYm9vbGVhbjtcclxuICBhcHBUb29sYmFyTGF5b3V0OiAnY2xhc3NpYycgfCAnYWNjb3VudGluZycgfCAnZXh0ZW5kZWQnIHwgJ3JlcG9ydHMnIHwgJ3NhYXMnO1xyXG4gIGFwcFRvb2xiYXJDU1NDbGFzczogc3RyaW5nID0gJyc7XHJcbiAgYXBwVG9vbGJhclN3YXBFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcFRvb2xiYXJTd2FwQXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgYXBwVG9vbGJhclN0aWNreUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXM6IHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIGFwcFRvb2xiYXJNaW5pbWl6ZUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYXBwVG9vbGJhck1pbmltaXplQXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcblxyXG4gIC8vIGNvbnRlbnRcclxuICBhcHBDb250ZW50Q29udGluZXI/OiAnZml4ZWQnIHwgJ2ZsdWlkJztcclxuICBhcHBDb250ZW50Q29udGFpbmVyQ2xhc3M6IHN0cmluZztcclxuICBjb250ZW50Q1NTQ2xhc3Nlczogc3RyaW5nO1xyXG4gIGNvbnRlbnRDb250YWluZXJDU1NDbGFzczogc3RyaW5nO1xyXG4gIC8vIHNpZGViYXJcclxuICBhcHBTaWRlYmFyRGVmYXVsdENsYXNzOiBzdHJpbmc7XHJcbiAgYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcFNpZGViYXJEZWZhdWx0RHJhd2VyQXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgYXBwU2lkZWJhckRpc3BsYXk6IGJvb2xlYW47XHJcbiAgYXBwU2lkZWJhckRlZmF1bHRTdGlja3lFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcFNpZGViYXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgQFZpZXdDaGlsZCgna3RTaWRlYmFyJywgeyBzdGF0aWM6IHRydWUgfSkga3RTaWRlYmFyOiBFbGVtZW50UmVmO1xyXG4gIC8vLyBzaWRlYmFyIHBhbmVsXHJcbiAgYXBwU2lkZWJhclBhbmVsRGlzcGxheTogYm9vbGVhbjtcclxuICAvLyBmb290ZXJcclxuICBhcHBGb290ZXJEaXNwbGF5OiBib29sZWFuO1xyXG4gIGFwcEZvb3RlckNTU0NsYXNzOiBzdHJpbmcgPSAnJztcclxuICBhcHBGb290ZXJDb250YWluZXI6IHN0cmluZyA9ICcnO1xyXG4gIGFwcEZvb3RlckNvbnRhaW5lckNTU0NsYXNzOiBzdHJpbmcgPSAnJztcclxuICBhcHBGb290ZXJGaXhlZERlc2t0b3A6IGJvb2xlYW47XHJcbiAgYXBwRm9vdGVyRml4ZWRNb2JpbGU6IGJvb2xlYW47XHJcblxyXG4gIC8vIHNjcm9sbHRvcFxyXG4gIHNjcm9sbHRvcERpc3BsYXk6IGJvb2xlYW47XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2t0QXNpZGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBrdEFzaWRlOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2t0SGVhZGVyTW9iaWxlJywgeyBzdGF0aWM6IHRydWUgfSkga3RIZWFkZXJNb2JpbGU6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgna3RIZWFkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBrdEhlYWRlcjogRWxlbWVudFJlZjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGluaXRTZXJ2aWNlOiBMYXlvdXRJbml0U2VydmljZSxcclxuICAgIHByaXZhdGUgbGF5b3V0OiBMYXlvdXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlXHJcbiAgKSB7XHJcbiAgICAvLyBkZWZpbmUgbGF5b3V0IHR5cGUgYW5kIGxvYWQgbGF5b3V0XHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudExheW91dFR5cGUgPSB0aGlzLmxheW91dC5jdXJyZW50TGF5b3V0VHlwZVN1YmplY3QudmFsdWU7XHJcblxyXG4gICAgICAgIGNvbnN0IG5leHRMYXlvdXRUeXBlOiBMYXlvdXRUeXBlID1cclxuICAgICAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGU/LmZpcnN0Q2hpbGQ/LnNuYXBzaG90LmRhdGEubGF5b3V0IHx8XHJcbiAgICAgICAgICB0aGlzLmxheW91dC5nZXRCYXNlTGF5b3V0VHlwZUZyb21Mb2NhbFN0b3JhZ2UoKTtcclxuXHJcbiAgICAgICAgaWYgKGN1cnJlbnRMYXlvdXRUeXBlICE9PSBuZXh0TGF5b3V0VHlwZSB8fCAhY3VycmVudExheW91dFR5cGUpIHtcclxuICAgICAgICAgIHRoaXMubGF5b3V0LmN1cnJlbnRMYXlvdXRUeXBlU3ViamVjdC5uZXh0KG5leHRMYXlvdXRUeXBlKTtcclxuICAgICAgICAgIHRoaXMuaW5pdFNlcnZpY2UucmVJbml0UHJvcHMobmV4dExheW91dFR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IHN1YnNjciA9IHRoaXMubGF5b3V0LmxheW91dENvbmZpZ1N1YmplY3RcclxuICAgICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xyXG4gICAgICAgIHRoaXMudXBkYXRlUHJvcHMoY29uZmlnKTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLnB1c2goc3Vic2NyKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVByb3BzKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5zY3JvbGx0b3BEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ3Njcm9sbHRvcC5kaXNwbGF5JyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICB0aGlzLnBhZ2VDb250YWluZXJDU1NDbGFzc2VzID1cclxuICAgICAgdGhpcy5sYXlvdXQuZ2V0U3RyaW5nQ1NTQ2xhc3NlcygncGFnZUNvbnRhaW5lcicpO1xyXG4gICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0Q2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmhlYWRlci5kZWZhdWx0LmNsYXNzJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIHN0cmluZztcclxuICAgIHRoaXMuYXBwSGVhZGVyRGlzcGxheSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwRm9vdGVyRGlzcGxheSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuZm9vdGVyLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwU2lkZWJhckRpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnNpZGViYXIuZGlzcGxheScsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgdGhpcy5hcHBTaWRlYmFyUGFuZWxEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5zaWRlYmFyLXBhbmVsLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwVG9vbGJhckRpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnRvb2xiYXIuZGlzcGxheScsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgdGhpcy5jb250ZW50Q1NTQ2xhc3NlcyA9IHRoaXMubGF5b3V0LmdldFN0cmluZ0NTU0NsYXNzZXMoJ2NvbnRlbnQnKTtcclxuICAgIHRoaXMuY29udGVudENvbnRhaW5lckNTU0NsYXNzID1cclxuICAgICAgdGhpcy5sYXlvdXQuZ2V0U3RyaW5nQ1NTQ2xhc3NlcygnY29udGVudENvbnRhaW5lcicpO1xyXG4gICAgdGhpcy5hcHBDb250ZW50Q29udGluZXIgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmNvbnRlbnQuY29udGFpbmVyJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzICdmaXhlZCcgfCAnZmx1aWQnO1xyXG4gICAgdGhpcy5hcHBDb250ZW50Q29udGFpbmVyQ2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmNvbnRlbnQuY29udGFpbmVyQ2xhc3MnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG4gICAgLy8gZm9vdGVyXHJcbiAgICBpZiAodGhpcy5hcHBGb290ZXJEaXNwbGF5KSB7XHJcbiAgICAgIHRoaXMudXBkYXRlRm9vdGVyKGNvbmZpZyk7XHJcbiAgICB9XHJcbiAgICAvLyBzaWRlYmFyXHJcbiAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGlzcGxheSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZVNpZGViYXIoY29uZmlnKTtcclxuICAgIH1cclxuICAgIC8vIGhlYWRlclxyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGlzcGxheSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZUhlYWRlcihjb25maWcpO1xyXG4gICAgfVxyXG4gICAgLy8gdG9vbGJhclxyXG4gICAgaWYgKHRoaXMuYXBwVG9vbGJhckRpc3BsYXkpIHtcclxuICAgICAgdGhpcy51cGRhdGVUb29sYmFyKGNvbmZpZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVTaWRlYmFyKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdENsYXNzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5zaWRlYmFyLmRlZmF1bHQuY2xhc3MnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG5cclxuICAgIHRoaXMuYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJFbmFibGVkID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5zaWRlYmFyLmRlZmF1bHQuZHJhd2VyLmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyQXR0cmlidXRlcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICAgJ2FwcC5zaWRlYmFyLmRlZmF1bHQuZHJhd2VyLmF0dHJpYnV0ZXMnLFxyXG4gICAgICAgIGNvbmZpZ1xyXG4gICAgICApIGFzIHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcFNpZGViYXJEZWZhdWx0U3RpY2t5RW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuc2lkZWJhci5kZWZhdWx0LnN0aWNreS5lbmFibGVkJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAuc2lkZWJhci5kZWZhdWx0LnN0aWNreS5hdHRyaWJ1dGVzJyxcclxuICAgICAgICBjb25maWdcclxuICAgICAgKSBhcyB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHNpZGViYXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2t0X2FwcF9zaWRlYmFyJyk7XHJcbiAgICAgIC8vIHNpZGViYXJcclxuICAgICAgaWYgKHRoaXMuYXBwU2lkZWJhckRpc3BsYXkgJiYgc2lkZWJhckVsZW1lbnQpIHtcclxuICAgICAgICBjb25zdCBzaWRlYmFyQXR0cmlidXRlcyA9IHNpZGViYXJFbGVtZW50XHJcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlTmFtZXMoKVxyXG4gICAgICAgICAgLmZpbHRlcigodCkgPT4gdC5pbmRleE9mKCdkYXRhLScpID4gLTEpO1xyXG4gICAgICAgIHNpZGViYXJBdHRyaWJ1dGVzLmZvckVhY2goKGF0dHIpID0+XHJcbiAgICAgICAgICBzaWRlYmFyRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0cilcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGVmYXVsdERyYXdlckVuYWJsZWQpIHtcclxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJBdHRyaWJ1dGVzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyQXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgc2lkZWJhckVsZW1lbnQuc2V0QXR0cmlidXRlKFxyXG4gICAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdERyYXdlckF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwcFNpZGViYXJEZWZhdWx0U3RpY2t5RW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwU2lkZWJhckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICBzaWRlYmFyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcFNpZGViYXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlc1trZXldXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVIZWFkZXIoY29uZmlnOiBJTGF5b3V0KSB7XHJcbiAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRTdGlja3lFbmFibGVkID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5oZWFkZXIuZGVmYXVsdC5zdGlja3kuZW5hYmxlZCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdFN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICAgJ2FwcC5oZWFkZXIuZGVmYXVsdC5zdGlja3kuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplRW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQubWluaW1pemUuZW5hYmxlZCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQubWluaW1pemUuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBoZWFkZXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2t0X2FwcF9oZWFkZXInKTtcclxuICAgICAgLy8gaGVhZGVyXHJcbiAgICAgIGlmICh0aGlzLmFwcEhlYWRlckRpc3BsYXkgJiYgaGVhZGVyRWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IGhlYWRlckF0dHJpYnV0ZXMgPSBoZWFkZXJFbGVtZW50XHJcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlTmFtZXMoKVxyXG4gICAgICAgICAgLmZpbHRlcigodCkgPT4gdC5pbmRleE9mKCdkYXRhLScpID4gLTEpO1xyXG4gICAgICAgIGhlYWRlckF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cikgPT4gaGVhZGVyRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0cikpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5RW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlcykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgaGVhZGVyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzW2tleV1cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0TWluaW1pemVFbmFibGVkKSB7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplQXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgaGVhZGVyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlRm9vdGVyKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5hcHBGb290ZXJDU1NDbGFzcyA9IHRoaXMubGF5b3V0LmdldFByb3AoJ2FwcC5mb290ZXIuY2xhc3MnLCBjb25maWcpIGFzIHN0cmluZztcclxuICAgIHRoaXMuYXBwRm9vdGVyQ29udGFpbmVyID0gdGhpcy5sYXlvdXQuZ2V0UHJvcCgnYXBwLmZvb3Rlci5jb250YWluZXInLCBjb25maWcpIGFzIHN0cmluZztcclxuICAgIHRoaXMuYXBwRm9vdGVyQ29udGFpbmVyQ1NTQ2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKCdhcHAuZm9vdGVyLmNvbnRhaW5lckNsYXNzJywgY29uZmlnKSBhcyBzdHJpbmc7XHJcbiAgICBpZiAodGhpcy5hcHBGb290ZXJDb250YWluZXIgPT09ICdmaXhlZCcpIHtcclxuICAgICAgdGhpcy5hcHBGb290ZXJDb250YWluZXJDU1NDbGFzcyArPSAnIGNvbnRhaW5lci14eGwnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuYXBwRm9vdGVyQ29udGFpbmVyID09PSAnZmx1aWQnKSB7XHJcbiAgICAgICAgdGhpcy5hcHBGb290ZXJDb250YWluZXJDU1NDbGFzcyArPSAnIGNvbnRhaW5lci1mbHVpZCc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcEZvb3RlckZpeGVkRGVza3RvcCA9IHRoaXMubGF5b3V0LmdldFByb3AoJ2FwcC5mb290ZXIuZml4ZWQuZGVza3RvcCcsIGNvbmZpZykgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcEZvb3RlckZpeGVkRGVza3RvcCkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnZGF0YS1rdC1hcHAtZm9vdGVyLWZpeGVkJywgJ3RydWUnKVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwRm9vdGVyRml4ZWRNb2JpbGUgPSB0aGlzLmxheW91dC5nZXRQcm9wKCdhcHAuZm9vdGVyLmZpeGVkLm1vYmlsZScpIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBGb290ZXJGaXhlZE1vYmlsZSkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnZGF0YS1rdC1hcHAtZm9vdGVyLWZpeGVkLW1vYmlsZScsICd0cnVlJylcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZVRvb2xiYXIoY29uZmlnOiBJTGF5b3V0KSB7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJMYXlvdXQgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnRvb2xiYXIubGF5b3V0JyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzICdjbGFzc2ljJyB8ICdhY2NvdW50aW5nJyB8ICdleHRlbmRlZCcgfCAncmVwb3J0cycgfCAnc2Fhcyc7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJTd2FwRW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAudG9vbGJhci5zd2FwLmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFRvb2xiYXJTd2FwRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmFwcFRvb2xiYXJTd2FwQXR0cmlidXRlcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICAgJ2FwcC50b29sYmFyLnN3YXAuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwVG9vbGJhclN0aWNreUVuYWJsZWQgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnRvb2xiYXIuc3RpY2t5LmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFRvb2xiYXJTdGlja3lFbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAudG9vbGJhci5zdGlja3kuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwVG9vbGJhckNTU0NsYXNzID1cclxuICAgICAgKHRoaXMubGF5b3V0LmdldFByb3AoJ2FwcC50b29sYmFyLmNsYXNzJywgY29uZmlnKSBhcyBzdHJpbmcpIHx8ICcnO1xyXG4gICAgdGhpcy5hcHBUb29sYmFyTWluaW1pemVFbmFibGVkID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC50b29sYmFyLm1pbmltaXplLmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFRvb2xiYXJNaW5pbWl6ZUVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBUb29sYmFyTWluaW1pemVBdHRyaWJ1dGVzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgICAnYXBwLnRvb2xiYXIubWluaW1pemUuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgICB0aGlzLmFwcFRvb2xiYXJDU1NDbGFzcyArPSAnIGFwcC10b29sYmFyLW1pbmltaXplJztcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgdG9vbGJhckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna3RfYXBwX3Rvb2xiYXInKTtcclxuICAgICAgLy8gdG9vbGJhclxyXG4gICAgICBpZiAodGhpcy5hcHBUb29sYmFyRGlzcGxheSAmJiB0b29sYmFyRWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IHRvb2xiYXJBdHRyaWJ1dGVzID0gdG9vbGJhckVsZW1lbnRcclxuICAgICAgICAgIC5nZXRBdHRyaWJ1dGVOYW1lcygpXHJcbiAgICAgICAgICAuZmlsdGVyKCh0KSA9PiB0LmluZGV4T2YoJ2RhdGEtJykgPiAtMSk7XHJcbiAgICAgICAgdG9vbGJhckF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cikgPT5cclxuICAgICAgICAgIHRvb2xiYXJFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShhdHRyKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwcFRvb2xiYXJTd2FwRW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBUb29sYmFyU3dhcEF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwVG9vbGJhclN3YXBBdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICB0b29sYmFyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcFRvb2xiYXJTd2FwQXR0cmlidXRlc1trZXldXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYXBwVG9vbGJhclN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgIHRvb2xiYXJFbGVtZW50LnNldEF0dHJpYnV0ZShcclxuICAgICAgICAgICAgICAgIGtleSxcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwcFRvb2xiYXJNaW5pbWl6ZUVuYWJsZWQpIHtcclxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuYXBwVG9vbGJhck1pbmltaXplQXR0cmlidXRlcykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hcHBUb29sYmFyTWluaW1pemVBdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICB0b29sYmFyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcFRvb2xiYXJNaW5pbWl6ZUF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLmZvckVhY2goKHNiKSA9PiBzYi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcbn1cclxuIiwiPCEtLWJlZ2luOjpBcHAtLT5cclxuPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LXJvb3QgYXBwLXJvb3RcIiBpZD1cImt0X2FwcF9yb290XCI+XHJcbiAgPCEtLWJlZ2luOjpQYWdlLS0+XHJcbiAgPGRpdiBjbGFzcz1cImFwcC1wYWdlIGZsZXgtY29sdW1uIGZsZXgtY29sdW1uLWZsdWlkXCIgaWQ9XCJrdF9hcHBfcGFnZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcEhlYWRlckRpc3BsYXlcIj5cclxuICAgICAgPCEtLWJlZ2luOjpIZWFkZXItLT5cclxuICAgICAgPGxpYi1oZWFkZXIgW25nQ2xhc3NdPVwiYXBwSGVhZGVyRGVmYXVsdENsYXNzXCIgaWQ9XCJrdF9hcHBfaGVhZGVyXCIgY2xhc3M9XCJhcHAtaGVhZGVyXCIgZGF0YS1rdC1zdGlja3k9XCJ0cnVlXCIgZGF0YS1rdC1zdGlja3ktYWN0aXZhdGU9XCJ7ZGVmYXVsdDogdHJ1ZSwgbGc6IHRydWV9XCIgZGF0YS1rdC1zdGlja3ktbmFtZT1cImFwcC1oZWFkZXItbWluaW1pemVcIiBkYXRhLWt0LXN0aWNreS1vZmZzZXQ9XCJ7ZGVmYXVsdDogJzIwMHB4JywgbGc6ICcwJ31cIiBkYXRhLWt0LXN0aWNreS1hbmltYXRpb249XCJmYWxzZVwiPlxyXG4gICAgICA8L2xpYi1oZWFkZXI+XHJcbiAgICAgIDwhLS1lbmQ6OkhlYWRlci0tPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLWJlZ2luOjpXcmFwcGVyLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXBwLXdyYXBwZXIgZmxleC1jb2x1bW4gZmxleC1yb3ctZmx1aWRcIiBpZD1cImt0X2FwcF93cmFwcGVyXCI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwU2lkZWJhckRpc3BsYXlcIj5cclxuICAgICAgICA8IS0tYmVnaW46OnNpZGViYXItLT5cclxuICAgICAgICA8bGliLXNpZGViYXIgI2t0U2lkZWJhciBpZD1cImt0X2FwcF9zaWRlYmFyXCIgY2xhc3M9XCJhcHAtc2lkZWJhciBmbGV4LWNvbHVtblwiIFtuZ0NsYXNzXT1cImFwcFNpZGViYXJEZWZhdWx0Q2xhc3NcIj5cclxuICAgICAgICA8L2xpYi1zaWRlYmFyPlxyXG4gICAgICAgIDwhLS1lbmQ6OnNpZGViYXItLT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwU2lkZWJhclBhbmVsRGlzcGxheVwiPlxyXG4gICAgICAgIDwhLS0gVE9ETzogYXBwIHNpZGViYXIgcGFuZWwgLS0+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8IS0tYmVnaW46Ok1haW4tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1tYWluIGNvbnRlbnQgZmxleC1jb2x1bW4gZmxleC1yb3ctZmx1aWRcIiBpZD1cImt0X2FwcF9tYWluXCI+XHJcbiAgICAgICAgPCEtLWJlZ2luOjpDb250ZW50IHdyYXBwZXItLT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwVG9vbGJhckRpc3BsYXlcIj5cclxuICAgICAgICAgIDxsaWItdG9vbGJhciBjbGFzcz1cImFwcC10b29sYmFyXCIgW25nQ2xhc3NdPVwiYXBwVG9vbGJhckNTU0NsYXNzXCIgaWQ9XCJrdF9hcHBfdG9vbGJhclwiXHJcbiAgICAgICAgICAgIFthcHBUb29sYmFyTGF5b3V0XT1cImFwcFRvb2xiYXJMYXlvdXRcIj48L2xpYi10b29sYmFyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1jb2x1bW4tZmx1aWQgbXQtMTVcIj5cclxuICAgICAgICBcclxuICAgICAgICAgIDxsaWItY29udGVudCBpZD1cIiBrdF9hcHBfY29udGVudFwiIGNsYXNzPVwiYXBwLWNvbnRlbnQgbXQtMTVcIiBbbmdDbGFzc109XCJjb250ZW50Q1NTQ2xhc3Nlc1wiXHJcbiAgICAgICAgICAgIFtjb250ZW50Q29udGFpbmVyQ1NTQ2xhc3NdPVwiY29udGVudENvbnRhaW5lckNTU0NsYXNzXCIgW2FwcENvbnRlbnRDb250aW5lcl09XCJhcHBDb250ZW50Q29udGluZXJcIlxyXG4gICAgICAgICAgICBbYXBwQ29udGVudENvbnRhaW5lckNsYXNzXT1cImFwcENvbnRlbnRDb250YWluZXJDbGFzc1wiPlxyXG4gICAgICAgICAgPC9saWItY29udGVudD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tZW5kOjpDb250ZW50IHdyYXBwZXItLT5cclxuICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBGb290ZXJEaXNwbGF5XCI+XHJcbiAgICAgICAgICA8bGliLWZvb3RlciBjbGFzcz1cImFwcC1mb290ZXJcIiBbbmdDbGFzc109XCJhcHBGb290ZXJDU1NDbGFzc1wiIGlkPVwia3RfYXBwX2Zvb3RlclwiXHJcbiAgICAgICAgICAgIFthcHBGb290ZXJDb250YWluZXJDU1NDbGFzc109XCJhcHBGb290ZXJDb250YWluZXJDU1NDbGFzc1wiPjwvbGliLWZvb3Rlcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8IS0tZW5kOjo6TWFpbi0tPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tZW5kOjpXcmFwcGVyLS0+XHJcblxyXG4gIDwvZGl2PlxyXG4gIDwhLS1lbmQ6OlBhZ2UtLT5cclxuPC9kaXY+XHJcbjwhLS1lbmQ6OkFwcC0tPlxyXG5cclxuPGxpYi1zY3JpcHRzLWluaXQ+PC9saWItc2NyaXB0cy1pbml0PlxyXG48bmctY29udGFpbmVyPlxyXG4gIDxsaWItc2Nyb2xsLXRvcCBpZD1cImt0X3Njcm9sbHRvcFwiIGNsYXNzPVwic2Nyb2xsdG9wXCIgZGF0YS1rdC1zY3JvbGx0b3A9XCJ0cnVlXCI+PC9saWItc2Nyb2xsLXRvcD5cclxuPC9uZy1jb250YWluZXI+XHJcbjwhLS0gYmVnaW46OiBEcmF3ZXJzIC0tPlxyXG48IS0tIDxsaWItYWN0aXZpdHktZHJhd2VyPjwvbGliLWFjdGl2aXR5LWRyYXdlcj4gLS0+XHJcbjwhLS0gPGxpYi1tZXNzZW5nZXItZHJhd2VyPjwvbGliLW1lc3Nlbmdlci1kcmF3ZXI+IC0tPlxyXG48IS0tIGVuZDo6IERyYXdlcnMgLS0+XHJcblxyXG48IS0tIGVuZDo6IEVuZ2FnZSAtLT5cclxuPCEtLSA8bGliLWVuZ2FnZXM+PC9saWItZW5nYWdlcz4gLS0+XHJcbjwhLS0gZW5kOjogRW5nYWdlIC0tPlxyXG5cclxuPCEtLSBiZWdpbjo6IE1vZGFscyAtLT5cclxuPCEtLSA8bGliLW1haW4tbW9kYWw+PC9saWItbWFpbi1tb2RhbD4gLS0+XHJcbjwhLS0gPGxpYi1pbnZpdGUtdXNlcnMtbW9kYWw+PC9saWItaW52aXRlLXVzZXJzLW1vZGFsPiAtLT5cclxuPCEtLSA8bGliLXVwZ3JhZGUtcGxhbi1tb2RhbD48L2xpYi11cGdyYWRlLXBsYW4tbW9kYWw+IC0tPlxyXG48IS0tIGVuZDo6IE1vZGFscyAtLT5cclxuIl19
@@ -35,8 +35,13 @@ import { ReportsComponent } from './toolbar/reports/reports.component';
35
35
  import { SaasComponent } from './toolbar/saas/saas.component';
36
36
  import { Routing } from '../../routes/routing';
37
37
  import { LayoutScrollTopComponent } from './scroll-top/scroll-top.component';
38
+ import { CommonSharedModule } from '../common/common-shared.module';
39
+ import { FormsModule } from '@angular/forms';
40
+ import { NgxDaterangepickerMd } from 'ngx-daterangepicker-material';
41
+ import { ClientSettingsComponent } from './toolbar/client-settings/client-settings.component';
38
42
  import * as i0 from "@angular/core";
39
43
  import * as i1 from "@angular/router";
44
+ import * as i2 from "ngx-daterangepicker-material";
40
45
  const routes = [
41
46
  {
42
47
  path: '',
@@ -66,7 +71,8 @@ export class LayoutModule {
66
71
  ReportsComponent,
67
72
  SaasComponent,
68
73
  KeeniconComponent,
69
- LayoutScrollTopComponent], imports: [CommonModule, i1.RouterModule, TranslationModule,
74
+ LayoutScrollTopComponent,
75
+ ClientSettingsComponent], imports: [CommonModule, i1.RouterModule, TranslationModule,
70
76
  InlineSVGModule,
71
77
  NgbDropdownModule,
72
78
  NgbProgressbarModule,
@@ -76,7 +82,10 @@ export class LayoutModule {
76
82
  // EngagesModule,
77
83
  // DropdownMenusModule,
78
84
  NgbTooltipModule,
79
- TranslateModule], exports: [RouterModule] });
85
+ TranslateModule,
86
+ // ThemeModeModule,
87
+ CommonSharedModule,
88
+ FormsModule, i2.NgxDaterangepickerMd], exports: [RouterModule] });
80
89
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutModule, imports: [CommonModule,
81
90
  RouterModule.forChild(routes),
82
91
  TranslationModule,
@@ -89,7 +98,11 @@ export class LayoutModule {
89
98
  // EngagesModule,
90
99
  // DropdownMenusModule,
91
100
  NgbTooltipModule,
92
- TranslateModule, RouterModule] });
101
+ TranslateModule,
102
+ // ThemeModeModule,
103
+ CommonSharedModule,
104
+ FormsModule,
105
+ NgxDaterangepickerMd.forRoot(), RouterModule] });
93
106
  }
94
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutModule, decorators: [{
95
108
  type: NgModule,
@@ -115,7 +128,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
115
128
  ReportsComponent,
116
129
  SaasComponent,
117
130
  KeeniconComponent,
118
- LayoutScrollTopComponent
131
+ LayoutScrollTopComponent,
132
+ ClientSettingsComponent
119
133
  ],
120
134
  imports: [
121
135
  CommonModule,
@@ -132,8 +146,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
132
146
  NgbTooltipModule,
133
147
  TranslateModule,
134
148
  // ThemeModeModule,
149
+ CommonSharedModule,
150
+ FormsModule,
151
+ NgxDaterangepickerMd.forRoot()
135
152
  ],
136
153
  exports: [RouterModule],
137
154
  }]
138
155
  }] });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEdBQ2pCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELDBFQUEwRTtBQUMxRSxXQUFXO0FBQ1gsbUJBQW1CO0FBQ25CLHlCQUF5QjtBQUN6QixrQkFBa0I7QUFDbEIsbUJBQW1CO0FBQ25CLHdCQUF3QjtBQUN4QixtRkFBbUY7QUFDbkYsOEZBQThGO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JB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QUFRLENBQUMsTUFBTSxDQUFDO3dCQUM3QixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW5saW5lU1ZHTW9kdWxlIH0gZnJvbSAnbmctaW5saW5lLXN2Zy0yJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQge1xyXG4gIE5nYkRyb3Bkb3duTW9kdWxlLFxyXG4gIE5nYlByb2dyZXNzYmFyTW9kdWxlLFxyXG4gIE5nYlRvb2x0aXBNb2R1bGUsXHJcbn0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuLy8gaW1wb3J0IHsgRXh0cmFzTW9kdWxlIH0gZnJvbSAnLi4vcGFydGlhbHMvbGF5b3V0L2V4dHJhcy9leHRyYXMubW9kdWxlJztcclxuLy8gaW1wb3J0IHtcclxuLy8gICBEcmF3ZXJzTW9kdWxlLFxyXG4vLyAgIERyb3Bkb3duTWVudXNNb2R1bGUsXHJcbi8vICAgTW9kYWxzTW9kdWxlLFxyXG4vLyAgIEVuZ2FnZXNNb2R1bGUsXHJcbi8vIH0gZnJvbSAnLi4vcGFydGlhbHMnO1xyXG4vLyBpbXBvcnQgeyBFbmdhZ2VzQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFydGlhbHMvbGF5b3V0L2VuZ2FnZXMvZW5nYWdlcy5jb21wb25lbnQnO1xyXG4vLyBpbXBvcnQgeyBUaGVtZU1vZGVNb2R1bGUgfSBmcm9tICcuLi9wYXJ0aWFscy9sYXlvdXQvdGhlbWUtbW9kZS1zd2l0Y2hlci90aGVtZS1tb2RlLm1vZHVsZSc7XHJcbmltcG9ydCB7IEtlZW5pY29uQ29tcG9uZW50IH0gZnJvbSAnLi9rZWVuaWNvbi9rZWVuaWNvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uL2kxOG4nO1xyXG5pbXBvcnQgeyBMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC9sYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbnRlbnQvY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb290ZXJDb21wb25lbnQgfSBmcm9tICcuL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2NyaXB0c0luaXRDb21wb25lbnQgfSBmcm9tICcuL3NjcmlwdHMtaW5pdC9zY3JpcHRzLWluaXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhZ2VUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIZWFkZXJNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXIvaGVhZGVyLW1lbnUvaGVhZGVyLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpZGViYXJMb2dvQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyL3NpZGViYXItbG9nby9zaWRlYmFyLWxvZ28uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2lkZWJhck1lbnVDb21wb25lbnQgfSBmcm9tICcuL3NpZGViYXIvc2lkZWJhci1tZW51L3NpZGViYXItbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaWRlYmFyRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyL3NpZGViYXItZm9vdGVyL3NpZGViYXItZm9vdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5hdmJhckNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL25hdmJhci9uYXZiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWNjb3VudGluZ0NvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci9hY2NvdW50aW5nL2FjY291bnRpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2xhc3NpY0NvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci9jbGFzc2ljL2NsYXNzaWMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXh0ZW5kZWRDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvZXh0ZW5kZWQvZXh0ZW5kZWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVwb3J0c0NvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci9yZXBvcnRzL3JlcG9ydHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2Fhc0NvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci9zYWFzL3NhYXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm91dGluZyB9IGZyb20gJy4uLy4uL3JvdXRlcy9yb3V0aW5nJztcclxuaW1wb3J0IHsgTGF5b3V0U2Nyb2xsVG9wQ29tcG9uZW50IH0gZnJvbSAnLi9zY3JvbGwtdG9wL3Njcm9sbC10b3AuY29tcG9uZW50JztcclxuXHJcbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xyXG4gIHtcclxuICAgIHBhdGg6ICcnLFxyXG4gICAgY29tcG9uZW50OiBMYXlvdXRDb21wb25lbnQsXHJcbiAgICBjaGlsZHJlbjogUm91dGluZyxcclxuICB9LFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIExheW91dENvbXBvbmVudCxcclxuICAgIEhlYWRlckNvbXBvbmVudCxcclxuICAgIENvbnRlbnRDb21wb25lbnQsXHJcbiAgICBGb290ZXJDb21wb25lbnQsXHJcbiAgICBTY3JpcHRzSW5pdENvbXBvbmVudCxcclxuICAgIFRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBQYWdlVGl0bGVDb21wb25lbnQsXHJcbiAgICBIZWFkZXJNZW51Q29tcG9uZW50LFxyXG4gICAgLy8gRW5nYWdlc0NvbXBvbmVudCxcclxuICAgIFNpZGViYXJDb21wb25lbnQsXHJcbiAgICBTaWRlYmFyTG9nb0NvbXBvbmVudCxcclxuICAgIFNpZGViYXJNZW51Q29tcG9uZW50LFxyXG4gICAgU2lkZWJhckZvb3RlckNvbXBvbmVudCxcclxuICAgIE5hdmJhckNvbXBvbmVudCxcclxuICAgIEFjY291bnRpbmdDb21wb25lbnQsXHJcbiAgICBDbGFzc2ljQ29tcG9uZW50LFxyXG4gICAgRXh0ZW5kZWRDb21wb25lbnQsXHJcbiAgICBSZXBvcnRzQ29tcG9uZW50LFxyXG4gICAgU2Fhc0NvbXBvbmVudCxcclxuICAgIEtlZW5pY29uQ29tcG9uZW50LFxyXG4gICAgTGF5b3V0U2Nyb2xsVG9wQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKSxcclxuICAgIFRyYW5zbGF0aW9uTW9kdWxlLFxyXG4gICAgSW5saW5lU1ZHTW9kdWxlLFxyXG4gICAgTmdiRHJvcGRvd25Nb2R1bGUsXHJcbiAgICBOZ2JQcm9ncmVzc2Jhck1vZHVsZSxcclxuICAgIC8vIEV4dHJhc01vZHVsZSxcclxuICAgIC8vIE1vZGFsc01vZHVsZSxcclxuICAgIC8vIERyYXdlcnNNb2R1bGUsXHJcbiAgICAvLyBFbmdhZ2VzTW9kdWxlLFxyXG4gICAgLy8gRHJvcGRvd25NZW51c01vZHVsZSxcclxuICAgIE5nYlRvb2x0aXBNb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICAvLyBUaGVtZU1vZGVNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExheW91dE1vZHVsZSB7fVxyXG4iXX0=
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEdBQ2pCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELDBFQUEwRTtBQUMxRSxXQUFXO0FBQ1gsbUJBQW1CO0FBQ25CLHlCQUF5QjtBQUN6QixrQkFBa0I7QUFDbEIsbUJBQW1CO0FBQ25CLHdCQUF3QjtBQUN4QixtRkFBbUY7QUFDbkYsOEZBQThGO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JB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QkFDaEIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQzt3QkFDN0IsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLG9CQUFvQixDQUFDLE9BQU8sRUFBRTtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IElubGluZVNWR01vZHVsZSB9IGZyb20gJ25nLWlubGluZS1zdmctMic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtcclxuICBOZ2JEcm9wZG93bk1vZHVsZSxcclxuICBOZ2JQcm9ncmVzc2Jhck1vZHVsZSxcclxuICBOZ2JUb29sdGlwTW9kdWxlLFxyXG59IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbi8vIGltcG9ydCB7IEV4dHJhc01vZHVsZSB9IGZyb20gJy4uL3BhcnRpYWxzL2xheW91dC9leHRyYXMvZXh0cmFzLm1vZHVsZSc7XHJcbi8vIGltcG9ydCB7XHJcbi8vICAgRHJhd2Vyc01vZHVsZSxcclxuLy8gICBEcm9wZG93bk1lbnVzTW9kdWxlLFxyXG4vLyAgIE1vZGFsc01vZHVsZSxcclxuLy8gICBFbmdhZ2VzTW9kdWxlLFxyXG4vLyB9IGZyb20gJy4uL3BhcnRpYWxzJztcclxuLy8gaW1wb3J0IHsgRW5nYWdlc0NvbXBvbmVudCB9IGZyb20gJy4uL3BhcnRpYWxzL2xheW91dC9lbmdhZ2VzL2VuZ2FnZXMuY29tcG9uZW50JztcclxuLy8gaW1wb3J0IHsgVGhlbWVNb2RlTW9kdWxlIH0gZnJvbSAnLi4vcGFydGlhbHMvbGF5b3V0L3RoZW1lLW1vZGUtc3dpdGNoZXIvdGhlbWUtbW9kZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLZWVuaWNvbkNvbXBvbmVudCB9IGZyb20gJy4va2Vlbmljb24va2Vlbmljb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb290ZXIvZm9vdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNjcmlwdHNJbml0Q29tcG9uZW50IH0gZnJvbSAnLi9zY3JpcHRzLWluaXQvc2NyaXB0cy1pbml0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci9wYWdlLXRpdGxlL3BhZ2UtdGl0bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSGVhZGVyTWVudUNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci1tZW51L2hlYWRlci1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaWRlYmFyTG9nb0NvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci9zaWRlYmFyLWxvZ28vc2lkZWJhci1sb2dvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpZGViYXJNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyL3NpZGViYXItbWVudS9zaWRlYmFyLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2lkZWJhckZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci9zaWRlYmFyLWZvb3Rlci9zaWRlYmFyLWZvb3Rlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOYXZiYXJDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjY291bnRpbmdDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvYWNjb3VudGluZy9hY2NvdW50aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENsYXNzaWNDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvY2xhc3NpYy9jbGFzc2ljLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEV4dGVuZGVkQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFyL2V4dGVuZGVkL2V4dGVuZGVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydHNDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvcmVwb3J0cy9yZXBvcnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNhYXNDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvc2Fhcy9zYWFzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRpbmcgfSBmcm9tICcuLi8uLi9yb3V0ZXMvcm91dGluZyc7XHJcbmltcG9ydCB7IExheW91dFNjcm9sbFRvcENvbXBvbmVudCB9IGZyb20gJy4vc2Nyb2xsLXRvcC9zY3JvbGwtdG9wLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vblNoYXJlZE1vZHVsZSB9IGZyb20gJy4uL2NvbW1vbi9jb21tb24tc2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ3hEYXRlcmFuZ2VwaWNrZXJNZCB9IGZyb20gJ25neC1kYXRlcmFuZ2VwaWNrZXItbWF0ZXJpYWwnO1xyXG5pbXBvcnQgeyBDbGllbnRTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci9jbGllbnQtc2V0dGluZ3MvY2xpZW50LXNldHRpbmdzLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcclxuICB7XHJcbiAgICBwYXRoOiAnJyxcclxuICAgIGNvbXBvbmVudDogTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgY2hpbGRyZW46IFJvdXRpbmcsXHJcbiAgfSxcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBMYXlvdXRDb21wb25lbnQsXHJcbiAgICBIZWFkZXJDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q29tcG9uZW50LFxyXG4gICAgRm9vdGVyQ29tcG9uZW50LFxyXG4gICAgU2NyaXB0c0luaXRDb21wb25lbnQsXHJcbiAgICBUb29sYmFyQ29tcG9uZW50LFxyXG4gICAgUGFnZVRpdGxlQ29tcG9uZW50LFxyXG4gICAgSGVhZGVyTWVudUNvbXBvbmVudCxcclxuICAgIC8vIEVuZ2FnZXNDb21wb25lbnQsXHJcbiAgICBTaWRlYmFyQ29tcG9uZW50LFxyXG4gICAgU2lkZWJhckxvZ29Db21wb25lbnQsXHJcbiAgICBTaWRlYmFyTWVudUNvbXBvbmVudCxcclxuICAgIFNpZGViYXJGb290ZXJDb21wb25lbnQsXHJcbiAgICBOYXZiYXJDb21wb25lbnQsXHJcbiAgICBBY2NvdW50aW5nQ29tcG9uZW50LFxyXG4gICAgQ2xhc3NpY0NvbXBvbmVudCxcclxuICAgIEV4dGVuZGVkQ29tcG9uZW50LFxyXG4gICAgUmVwb3J0c0NvbXBvbmVudCxcclxuICAgIFNhYXNDb21wb25lbnQsXHJcbiAgICBLZWVuaWNvbkNvbXBvbmVudCxcclxuICAgIExheW91dFNjcm9sbFRvcENvbXBvbmVudCxcclxuICAgIENsaWVudFNldHRpbmdzQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKSxcclxuICAgIFRyYW5zbGF0aW9uTW9kdWxlLFxyXG4gICAgSW5saW5lU1ZHTW9kdWxlLFxyXG4gICAgTmdiRHJvcGRvd25Nb2R1bGUsXHJcbiAgICBOZ2JQcm9ncmVzc2Jhck1vZHVsZSxcclxuICAgIC8vIEV4dHJhc01vZHVsZSxcclxuICAgIC8vIE1vZGFsc01vZHVsZSxcclxuICAgIC8vIERyYXdlcnNNb2R1bGUsXHJcbiAgICAvLyBFbmdhZ2VzTW9kdWxlLFxyXG4gICAgLy8gRHJvcGRvd25NZW51c01vZHVsZSxcclxuICAgIE5nYlRvb2x0aXBNb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICAvLyBUaGVtZU1vZGVNb2R1bGUsXHJcbiAgICBDb21tb25TaGFyZWRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE5neERhdGVyYW5nZXBpY2tlck1kLmZvclJvb3QoKVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRNb2R1bGUge31cclxuIl19