@posiwise/shared-components 0.0.128 → 0.0.130
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.
- package/esm2022/lib/custom-uploader/custom-uploader.component.mjs +1 -1
- package/esm2022/lib/demo-cards/demo-cards.component.mjs +3 -3
- package/esm2022/lib/label-management/entity-group/entity-group.component.mjs +1 -1
- package/esm2022/lib/privacy-policy/privacy-policy.component.mjs +3 -3
- package/esm2022/lib/resource-header/resource-header.component.mjs +38 -4
- package/esm2022/lib/shared-components.module.mjs +16 -10
- package/fesm2022/posiwise-shared-components.mjs +58 -18
- package/fesm2022/posiwise-shared-components.mjs.map +1 -1
- package/lib/resource-header/resource-header.component.d.ts +4 -0
- package/lib/shared-components.module.d.ts +18 -18
- package/package.json +1 -1
|
@@ -52,7 +52,6 @@ export class ResourceHeaderComponent extends AppBaseComponent {
|
|
|
52
52
|
this.modalService.open(this.logoEditModal, { centered: true, size: 'md' });
|
|
53
53
|
}
|
|
54
54
|
onSaveLogo(event) {
|
|
55
|
-
console.log(this.isScrolled);
|
|
56
55
|
const formData = new FormData();
|
|
57
56
|
formData.append('subscription_id', this.id);
|
|
58
57
|
if (event.file instanceof File) {
|
|
@@ -95,9 +94,41 @@ export class ResourceHeaderComponent extends AppBaseComponent {
|
|
|
95
94
|
collapseElement.classList.remove('show');
|
|
96
95
|
}
|
|
97
96
|
}
|
|
97
|
+
// Close all dropdowns when scrolling
|
|
98
|
+
this.closeAllDropdowns();
|
|
98
99
|
});
|
|
99
100
|
}, 50);
|
|
100
101
|
}
|
|
102
|
+
onDocumentClick(event) {
|
|
103
|
+
console.log('In Bus');
|
|
104
|
+
// Close all dropdowns when clicking outside
|
|
105
|
+
const target = event.target;
|
|
106
|
+
if (!target.closest('.nav-item') && !target.closest('.popup')) {
|
|
107
|
+
this.closeAllDropdowns();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
closeAllDropdowns() {
|
|
111
|
+
console.log('In tluc');
|
|
112
|
+
if (this.navbarItems) {
|
|
113
|
+
this.navbarItems.forEach(item => {
|
|
114
|
+
if (item.open) {
|
|
115
|
+
item.open = false;
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
openDropdown(item) {
|
|
121
|
+
// Close other dropdowns first
|
|
122
|
+
this.navbarItems.forEach(navItem => {
|
|
123
|
+
if (navItem !== item) {
|
|
124
|
+
navItem.open = false;
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
item.open = true;
|
|
128
|
+
}
|
|
129
|
+
onDropdownItemClick(item) {
|
|
130
|
+
item.open = false;
|
|
131
|
+
}
|
|
101
132
|
openEditNavbarModal() {
|
|
102
133
|
const navbarConfig = this.appConfig.pages_config?.navbar || {};
|
|
103
134
|
navbarConfig.items = navbarConfig.items || [];
|
|
@@ -147,11 +178,11 @@ export class ResourceHeaderComponent extends AppBaseComponent {
|
|
|
147
178
|
moveItemInArray(this.editingNavbar.items[index].subtitles, event.previousIndex, event.currentIndex);
|
|
148
179
|
}
|
|
149
180
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceHeaderComponent, deps: [{ token: i0.Injector }, { token: DOCUMENT }, { token: i1.AdminService }, { token: i2.NgbModal }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
150
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceHeaderComponent, selector: "pw-resource-header", host: { listeners: { "window:scroll": "onScroll()" } }, viewQueries: [{ propertyName: "navbarCollapse", first: true, predicate: ["collapsibleNavbar"], descendants: true }, { propertyName: "editNavbarModal", first: true, predicate: ["editNavbarModal"], descendants: true }, { propertyName: "logoEditModal", first: true, predicate: ["logoEditModal"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<nav class=\"navbar navbar-expand-md navbar-dark fixed-top cloudolive-nav-bg-color resource-header\"\n id=\"banner\">\n <div class=\"container container-wrapper banner-section\">\n\n <!-- Toggler/collapsibe Button -->\n <button class=\"navbar-toggler header-menu-bar\"\n type=\"button\"\n aria-label=\"Toggle navigation\"\n data-bs-toggle=\"collapse\"\n data-bs-target=\"#collapsibleNavbar\">\n <img src=\"/assets/img/products/trial/navbar-toggle-icon.png\"\n class=\"img-fluid navbar-toggle-icon\"\n alt=\"\" />\n </button>\n\n <!-- Mobile Logo -->\n <div class=\"d-md-none mb-icon\">\n <div>\n <img [src]=\"logo\"\n routerLink=\"/\"\n alt=\"logo\"\n class=\"img-fluid logo_img\" />\n </div>\n </div>\n\n\n <i *ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\"\n class=\"fa fa-edit in-page-edit-icon cursor-pointer text-black me-3\"\n (click)=\"openLogoEditModal()\"\n title=\"Edit Logo\"></i>\n\n\n <!-- Navbar links -->\n <div class=\"collapse navbar-collapse mt-3 mt-md-0\"\n id=\"collapsibleNavbar\"\n #collapsibleNavbar>\n <div class=\"row align-items-center w-100\">\n\n <!-- Always occupy 3 columns for logo -->\n <div class=\"col-md-2 d-none d-md-flex align-items-center\">\n <div *ngIf=\"logo\">\n <img [src]=\"logo\"\n (load)=\"logoLoaded = true\"\n (error)=\"logoLoaded = false\"\n routerLink=\"/\"\n alt=\"logo\"\n class=\"img-fluid logo_img\" />\n </div>\n </div>\n\n\n <div class=\"col-md-7 d-flex justify-content-start\">\n <ul #anchorLinks\n class=\"navbar-nav flex gap-4 me-0 wow fadeInUp position-relative\"\n data-wow-duration=\"2s\">\n\n <i *ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\"\n class=\"fa fa-edit in-page-edit-icon cursor-pointer text-black me-3\"\n (click)=\"openEditNavbarModal()\"\n title=\"Edit Navbar Links\"></i>\n <li class=\"nav-item\" *ngFor=\"let item of navbarItems\">\n <a\n class=\"nav-link\"\n href=\"javascript:void(0)\"\n [ngClass]=\"{ 'scrolled-nav-link': isScrolled }\"\n (mouseenter)=\"item.open = true\"\n (click)=\"item.subtitles?.length ? (item.open = !item.open) : null\"\n [attr.href]=\"!(item.subtitles?.length) ? item.path : null\"\n >\n {{ item?.title }}\n <i *ngIf=\"item.subtitles.length > 0 && item.open\" class=\"fa-solid fa-caret-down\"></i>\n </a>\n <div class=\"popup position-absolute\"\n *ngIf=\"item.subtitles.length > 0 && item.open\">\n <ul>\n <li\n *ngFor=\"let sub of item.subtitles\"\n [routerLink]=\"sub.path\"\n class=\"dropdownItem\"\n >\n {{ sub.title }}\n </li>\n </ul>\n </div>\n </li>\n\n <li class=\"nav-item ms-2 mb-3 d-flex d-md-none\">\n <button class=\"sign-btn sign-header-btn\"\n routerLink=\"/login\">Log In</button>\n </li>\n </ul>\n </div>\n\n <!-- Always 3 columns for login -->\n <div class=\"col-md-3 d-none d-md-flex justify-content-end\">\n <button class=\"sign-btn sign-header-btn\"\n routerLink=\"/login\">Log In</button>\n </div>\n\n </div>\n </div>\n </div>\n</nav>\n\n\n\n<ng-template #editNavbarModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Navbar Links</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <h4 class=\"mb-3\">Navbar Section</h4>\n <div cdkDropList (cdkDropListDropped)=\"dropNavbarItems($event)\">\n <div *ngFor=\"let item of editingNavbar.items; let i = index\" class=\"border p-3 mb-3\" cdkDrag>\n <div class=\"row\">\n <div class=\"col-md-5 mb-2\">\n <label class=\"form-label\">Title</label>\n <input class=\"form-control\" [(ngModel)]=\"item.title\" />\n </div>\n <div class=\"col-md-5 mb-2\">\n <label class=\"form-label\">Path</label>\n <input class=\"form-control\" [(ngModel)]=\"item.path\" />\n </div>\n <div class=\"col-md-2 d-flex justify-content-between align-items-center mt-4\">\n <i class=\"fa fa-trash in-page-trash-icon text-danger cursor-pointer\" (click)=\"removeNavbarItem(i)\"></i>\n <i class=\"fa fa-bars in-page-bars-icon cursor-pointer\" cdkDragHandle></i>\n </div>\n </div>\n\n <div cdkDropList (cdkDropListDropped)=\"dropNavbarSubtitles(i, $event)\">\n <div *ngFor=\"let sub of item.subtitles; let j = index\" class=\"row border p-3 mb-2 align-items-center\" cdkDrag>\n <div class=\"col-md-5\">\n <label class=\"form-label\">Subtitle Title</label>\n <input class=\"form-control\" [(ngModel)]=\"sub.title\" />\n </div>\n <div class=\"col-md-5\">\n <label class=\"form-label\">Subtitle Path</label>\n <input class=\"form-control\" [(ngModel)]=\"sub.path\" />\n </div>\n <div class=\"col-md-2 d-flex justify-content-between align-items-center mt-4\">\n <i class=\"fa fa-trash in-page-trash-icon text-danger cursor-pointer\" (click)=\"removeNavbarSubtitle(i, j)\"></i>\n <i class=\"fa fa-bars in-page-bars-icon cursor-pointer\" cdkDragHandle></i>\n </div>\n </div>\n </div>\n\n <button class=\"btn btn-outline-primary btn-sm mt-2\" (click)=\"addNavbarSubtitle(i)\">\n + Add Subtitle\n </button>\n </div>\n </div>\n\n <button class=\"btn btn-primary mt-3\" (click)=\"addNavbarItem()\">\n + Add Navbar Item\n </button>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" (click)=\"saveNavbarLinks(modal)\">Save</button>\n </div>\n</ng-template>\n\n\n\n\n<ng-template #logoEditModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Logo</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <pw-custom-uploader\n [title]=\"'Main Logo'\"\n [controlName]=\"'logo_main'\"\n [aspectRatio]=\"'fullLogo'\"\n [previewData]=\"{ url: logo, name: 'logo_main.png' }\"\n (saveEvent)=\"onSaveLogo($event)\">\n </pw-custom-uploader>\n </div>\n</ng-template>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap\";:root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}*{font-family:Montserrat,sans-serif}h2{font-size:32px;font-weight:700;letter-spacing:.03em;line-height:1.1em;text-transform:uppercase}@media (max-width: 1200px){.container-wrapper{padding:0 20px!important}}.navbar-custom-background{background-color:#00000080;box-shadow:2px 2px 15px 2px #0000001f;transition:width 2s,height 2s,-webkit-transform 2s;transition:width 2s,height 2s,transform 2s background-color .5s ease;z-index:9999}.fixed-top{position:fixed!important}.primary-button{background-color:#000;border-radius:50px;color:#fff;font: 600 16.3px Montserrat-Regular,sans-serif;padding:5px 16px!important;width:auto;display:flex;gap:15px;align-items:center;justify-content:space-between}.logo_img{width:60%!important;min-width:159px!important}.navbar-toggle-icon{width:25px}@media (min-width: 500px){.navbar-nav .nav-item button{margin-top:10px}}@media (max-width: 1200px){.navbar-nav .nav-item .nav-link{font-size:15px!important}}.navbar-nav .nav-link{display:inline-flex!important;white-space:nowrap;gap:4px}.fa-caret-down{font-family:\"Font Awesome 6 Pro\",sans-serif;font-weight:900}@media (min-width: 1200px){.navbar-nav .nav-item .nav-link{padding-bottom:0!important;padding-top:0!important}.popup{top:3.4rem!important;background-color:var(--first)!important;background-color:transparent;padding:10px;z-index:1000;transition:opacity .3s ease-in-out}.popup ul li{color:#fff;font: 500 14px Montserrat-Regular,sans-serif;cursor:pointer;border-bottom:1px solid #eee}.popup ul li:last-child{border-bottom:none}.router-link-active{color:#000!important}}@media (max-width: 1200px){.popup ul li{color:#fff;font: 500 14px Montserrat-Regular,sans-serif;cursor:pointer;border-bottom:1px solid #eee}.popup ul li:last-child{border-bottom:none}.popup ul li:hover{background-color:#f1f1f1}.mb-icon{width:200px}.container-wrapper{padding:10px 20px!important}.popup{top:0%!important;background-color:var(--first)!important;left:10rem;padding:10px;z-index:1000;transition:opacity .3s ease-in-out}}@media (max-width: 500px){.navbar-nav{background-color:var(--first);border-top:3px solid rgb(254,209,54);color:#fff;margin-top:5px;z-index:1}.navbar-nav .nav-item .nav-link{font-size:100%;font-weight:500;padding:.7em 1em!important}}.popup{top:90%;background-color:transparent;padding:10px;z-index:1000}.popup ul{list-style-type:none;padding:0;margin:0}.popup ul li{padding:5px 10px;font: 500 14px Montserrat-Regular,sans-serif}.resource-header .nav-link.scrolled-nav-link{color:#fff!important}.dropdownItem{cursor:pointer}.rotate{transform:rotate(180deg)}@media (max-width: 500px){.logo_img{width:60%!important;margin-left:auto;margin-right:0;display:block;transition:margin .5s ease,width .5s ease}.navbar-nav{background-color:var(--first);border-top:3px solid rgb(254,209,54);color:#fff;margin-top:5px;z-index:1}.navbar-nav .nav-item .nav-link{font-size:100%;font-weight:500;padding:.7em 1em!important}.popup{top:0%!important;background-color:var(--first)!important;left:10rem;padding:10px;z-index:1000;transition:opacity .3s ease-in-out}.popup ul{list-style-type:none;padding:0;margin:0}.dropdownItem{cursor:pointer}.rotate{transform:rotate(180deg)}.popup.ngIf{opacity:1}}.navbar-nav{visibility:visible!important;display:flex!important}.nav-link{text-transform:uppercase}\n"], dependencies: [{ kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.LazyImgDirective, selector: "img" }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.CustomUploaderComponent, selector: "pw-custom-uploader", inputs: ["controlName", "previewData", "aspectRatio", "title"], outputs: ["saveEvent"] }] }); }
|
|
181
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceHeaderComponent, selector: "pw-resource-header", host: { listeners: { "window:scroll": "onScroll()", "document:click": "onDocumentClick($event)" } }, viewQueries: [{ propertyName: "navbarCollapse", first: true, predicate: ["collapsibleNavbar"], descendants: true }, { propertyName: "editNavbarModal", first: true, predicate: ["editNavbarModal"], descendants: true }, { propertyName: "logoEditModal", first: true, predicate: ["logoEditModal"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<nav class=\"navbar navbar-expand-md navbar-dark fixed-top cloudolive-nav-bg-color resource-header\"\n id=\"banner\">\n <div class=\"container container-wrapper banner-section\">\n\n <!-- Toggler/collapsibe Button -->\n <button class=\"navbar-toggler header-menu-bar\"\n type=\"button\"\n aria-label=\"Toggle navigation\"\n data-bs-toggle=\"collapse\"\n data-bs-target=\"#collapsibleNavbar\">\n <img src=\"/assets/img/products/trial/navbar-toggle-icon.png\"\n class=\"img-fluid navbar-toggle-icon\"\n alt=\"\" />\n </button>\n\n <!-- Mobile Logo -->\n <div class=\"d-md-none mb-icon\">\n <div>\n <img [src]=\"logo\"\n routerLink=\"/\"\n alt=\"logo\"\n class=\"img-fluid logo_img\" />\n </div>\n </div>\n\n\n <i *ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\"\n class=\"fa fa-edit in-page-edit-icon cursor-pointer text-black me-3\"\n (click)=\"openLogoEditModal()\"\n title=\"Edit Logo\"></i>\n\n\n <!-- Navbar links -->\n <div class=\"collapse navbar-collapse mt-3 mt-md-0\"\n id=\"collapsibleNavbar\"\n #collapsibleNavbar>\n <div class=\"row align-items-center w-100\">\n\n <!-- Always occupy 3 columns for logo -->\n <div class=\"col-md-2 d-none d-md-flex align-items-center\">\n <div *ngIf=\"logo\">\n <img [src]=\"logo\"\n (load)=\"logoLoaded = true\"\n (error)=\"logoLoaded = false\"\n routerLink=\"/\"\n alt=\"logo\"\n class=\"img-fluid logo_img\" />\n </div>\n </div>\n\n\n <div class=\"col-md-7 d-flex justify-content-start\">\n <ul #anchorLinks\n class=\"navbar-nav flex gap-4 me-0 wow fadeInUp position-relative\"\n data-wow-duration=\"2s\">\n\n <i *ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\"\n class=\"fa fa-edit in-page-edit-icon cursor-pointer text-black me-3\"\n (click)=\"openEditNavbarModal()\"\n title=\"Edit Navbar Links\"></i>\n <li class=\"nav-item\" *ngFor=\"let item of navbarItems\">\n <div class=\"dropdown-container\"\n (mouseenter)=\"openDropdown(item)\">\n <a\n class=\"nav-link\"\n href=\"javascript:void(0)\"\n [ngClass]=\"{ 'scrolled-nav-link': isScrolled }\"\n (click)=\"item.subtitles?.length ? (item.open = !item.open) : null\"\n [attr.href]=\"!(item.subtitles?.length) ? item.path : null\"\n >\n {{ item?.title }}\n <i *ngIf=\"item.subtitles.length > 0 && item.open\" class=\"fa-solid fa-caret-down\"></i>\n </a>\n <div class=\"popup position-absolute\"\n *ngIf=\"item.subtitles.length > 0 && item.open\">\n <ul>\n <li\n *ngFor=\"let sub of item.subtitles\"\n [routerLink]=\"sub.path\"\n class=\"dropdownItem\"\n (click)=\"onDropdownItemClick(item)\"\n >\n {{ sub.title }}\n </li>\n </ul>\n </div>\n </div>\n </li>\n\n <li class=\"nav-item ms-2 mb-3 d-flex d-md-none\">\n <button class=\"sign-btn sign-header-btn\"\n routerLink=\"/login\">Log In</button>\n </li>\n </ul>\n </div>\n\n <!-- Always 3 columns for login -->\n <div class=\"col-md-3 d-none d-md-flex justify-content-end\">\n <button class=\"sign-btn sign-header-btn\"\n routerLink=\"/login\">Log In</button>\n </div>\n\n </div>\n </div>\n </div>\n</nav>\n\n\n\n<ng-template #editNavbarModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Navbar Links</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <h4 class=\"mb-3\">Navbar Section</h4>\n <div cdkDropList (cdkDropListDropped)=\"dropNavbarItems($event)\">\n <div *ngFor=\"let item of editingNavbar.items; let i = index\" class=\"border p-3 mb-3\" cdkDrag>\n <div class=\"row\">\n <div class=\"col-md-5 mb-2\">\n <label class=\"form-label\">Title</label>\n <input class=\"form-control\" [(ngModel)]=\"item.title\" />\n </div>\n <div class=\"col-md-5 mb-2\">\n <label class=\"form-label\">Path</label>\n <input class=\"form-control\" [(ngModel)]=\"item.path\" />\n </div>\n <div class=\"col-md-2 d-flex justify-content-between align-items-center mt-4\">\n <i class=\"fa fa-trash in-page-trash-icon text-danger cursor-pointer\" (click)=\"removeNavbarItem(i)\"></i>\n <i class=\"fa fa-bars in-page-bars-icon cursor-pointer\" cdkDragHandle></i>\n </div>\n </div>\n\n <div cdkDropList (cdkDropListDropped)=\"dropNavbarSubtitles(i, $event)\">\n <div *ngFor=\"let sub of item.subtitles; let j = index\" class=\"row border p-3 mb-2 align-items-center\" cdkDrag>\n <div class=\"col-md-5\">\n <label class=\"form-label\">Subtitle Title</label>\n <input class=\"form-control\" [(ngModel)]=\"sub.title\" />\n </div>\n <div class=\"col-md-5\">\n <label class=\"form-label\">Subtitle Path</label>\n <input class=\"form-control\" [(ngModel)]=\"sub.path\" />\n </div>\n <div class=\"col-md-2 d-flex justify-content-between align-items-center mt-4\">\n <i class=\"fa fa-trash in-page-trash-icon text-danger cursor-pointer\" (click)=\"removeNavbarSubtitle(i, j)\"></i>\n <i class=\"fa fa-bars in-page-bars-icon cursor-pointer\" cdkDragHandle></i>\n </div>\n </div>\n </div>\n\n <button class=\"btn btn-outline-primary btn-sm mt-2\" (click)=\"addNavbarSubtitle(i)\">\n + Add Subtitle\n </button>\n </div>\n </div>\n\n <button class=\"btn btn-primary mt-3\" (click)=\"addNavbarItem()\">\n + Add Navbar Item\n </button>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" (click)=\"saveNavbarLinks(modal)\">Save</button>\n </div>\n</ng-template>\n\n\n\n\n<ng-template #logoEditModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Logo</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <pw-custom-uploader\n [title]=\"'Main Logo'\"\n [controlName]=\"'logo_main'\"\n [aspectRatio]=\"'fullLogo'\"\n [previewData]=\"{ url: logo, name: 'logo_main.png' }\"\n (saveEvent)=\"onSaveLogo($event)\">\n </pw-custom-uploader>\n </div>\n</ng-template>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap\";:root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}*{font-family:Montserrat,sans-serif}h2{font-size:32px;font-weight:700;letter-spacing:.03em;line-height:1.1em;text-transform:uppercase}@media (max-width: 1200px){.container-wrapper{padding:0 20px!important}}.navbar-custom-background{background-color:#00000080;box-shadow:2px 2px 15px 2px #0000001f;transition:width 2s,height 2s,-webkit-transform 2s;transition:width 2s,height 2s,transform 2s background-color .5s ease;z-index:9999}.fixed-top{position:fixed!important}.primary-button{background-color:#000;border-radius:50px;color:#fff;font: 600 16.3px Montserrat-Regular,sans-serif;padding:5px 16px!important;width:auto;display:flex;gap:15px;align-items:center;justify-content:space-between}.logo_img{width:60%!important;min-width:159px!important}.navbar-toggle-icon{width:25px}@media (min-width: 500px){.navbar-nav .nav-item button{margin-top:10px}}@media (max-width: 1200px){.navbar-nav .nav-item .nav-link{font-size:15px!important}}.navbar-nav .nav-link{display:inline-flex!important;white-space:nowrap;gap:4px}.fa-caret-down{font-family:\"Font Awesome 6 Pro\",sans-serif;font-weight:900}@media (min-width: 1200px){.navbar-nav .nav-item .nav-link{padding-bottom:0!important;padding-top:0!important}.popup{top:3.4rem!important;background-color:var(--first)!important;background-color:transparent;padding:10px;z-index:1000;transition:opacity .3s ease-in-out}.popup ul li{color:#fff;font: 500 14px Montserrat-Regular,sans-serif;cursor:pointer;border-bottom:1px solid #eee}.popup ul li:last-child{border-bottom:none}.router-link-active{color:#000!important}}@media (max-width: 1200px){.popup ul li{color:#fff;font: 500 14px Montserrat-Regular,sans-serif;cursor:pointer;border-bottom:1px solid #eee}.popup ul li:last-child{border-bottom:none}.popup ul li:hover{background-color:#f1f1f1}.mb-icon{width:200px}.container-wrapper{padding:10px 20px!important}.dropdown-container{position:relative;display:inline-block}.popup{top:0%!important;background-color:var(--first)!important;left:10rem;padding:10px;z-index:1000;transition:opacity .3s ease-in-out}}@media (max-width: 500px){.navbar-nav{background-color:var(--first);border-top:3px solid rgb(254,209,54);color:#fff;margin-top:5px;z-index:1}.navbar-nav .nav-item .nav-link{font-size:100%;font-weight:500;padding:.7em 1em!important}}.popup{top:90%;background-color:transparent;padding:10px;z-index:1000}.popup ul{list-style-type:none;padding:0;margin:0}.popup ul li{padding:5px 10px;font: 500 14px Montserrat-Regular,sans-serif}.resource-header .nav-link.scrolled-nav-link{color:#fff!important}.dropdownItem{cursor:pointer}.rotate{transform:rotate(180deg)}@media (max-width: 500px){.logo_img{width:60%!important;margin-left:auto;margin-right:0;display:block;transition:margin .5s ease,width .5s ease}.navbar-nav{background-color:var(--first);border-top:3px solid rgb(254,209,54);color:#fff;margin-top:5px;z-index:1}.navbar-nav .nav-item .nav-link{font-size:100%;font-weight:500;padding:.7em 1em!important}.popup{top:0%!important;background-color:var(--first)!important;left:10rem;padding:10px;z-index:1000;transition:opacity .3s ease-in-out}.popup ul{list-style-type:none;padding:0;margin:0}.dropdownItem{cursor:pointer}.rotate{transform:rotate(180deg)}.dropdown-container{position:relative;display:inline-block}}.navbar-nav{visibility:visible!important;display:flex!important}.nav-link{text-transform:uppercase}.dropdown-container{position:relative;display:inline-block}\n"], dependencies: [{ kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.LazyImgDirective, selector: "img" }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.CustomUploaderComponent, selector: "pw-custom-uploader", inputs: ["controlName", "previewData", "aspectRatio", "title"], outputs: ["saveEvent"] }] }); }
|
|
151
182
|
}
|
|
152
183
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceHeaderComponent, decorators: [{
|
|
153
184
|
type: Component,
|
|
154
|
-
args: [{ selector: 'pw-resource-header', template: "<nav class=\"navbar navbar-expand-md navbar-dark fixed-top cloudolive-nav-bg-color resource-header\"\n id=\"banner\">\n <div class=\"container container-wrapper banner-section\">\n\n <!-- Toggler/collapsibe Button -->\n <button class=\"navbar-toggler header-menu-bar\"\n type=\"button\"\n aria-label=\"Toggle navigation\"\n data-bs-toggle=\"collapse\"\n data-bs-target=\"#collapsibleNavbar\">\n <img src=\"/assets/img/products/trial/navbar-toggle-icon.png\"\n class=\"img-fluid navbar-toggle-icon\"\n alt=\"\" />\n </button>\n\n <!-- Mobile Logo -->\n <div class=\"d-md-none mb-icon\">\n <div>\n <img [src]=\"logo\"\n routerLink=\"/\"\n alt=\"logo\"\n class=\"img-fluid logo_img\" />\n </div>\n </div>\n\n\n <i *ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\"\n class=\"fa fa-edit in-page-edit-icon cursor-pointer text-black me-3\"\n (click)=\"openLogoEditModal()\"\n title=\"Edit Logo\"></i>\n\n\n <!-- Navbar links -->\n <div class=\"collapse navbar-collapse mt-3 mt-md-0\"\n id=\"collapsibleNavbar\"\n #collapsibleNavbar>\n <div class=\"row align-items-center w-100\">\n\n <!-- Always occupy 3 columns for logo -->\n <div class=\"col-md-2 d-none d-md-flex align-items-center\">\n <div *ngIf=\"logo\">\n <img [src]=\"logo\"\n (load)=\"logoLoaded = true\"\n (error)=\"logoLoaded = false\"\n routerLink=\"/\"\n alt=\"logo\"\n class=\"img-fluid logo_img\" />\n </div>\n </div>\n\n\n <div class=\"col-md-7 d-flex justify-content-start\">\n <ul #anchorLinks\n class=\"navbar-nav flex gap-4 me-0 wow fadeInUp position-relative\"\n data-wow-duration=\"2s\">\n\n <i *ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\"\n class=\"fa fa-edit in-page-edit-icon cursor-pointer text-black me-3\"\n (click)=\"openEditNavbarModal()\"\n title=\"Edit Navbar Links\"></i>\n <li class=\"nav-item\" *ngFor=\"let item of navbarItems\">\n <a\n class=\"nav-link\"\n href=\"javascript:void(0)\"\n [ngClass]=\"{ 'scrolled-nav-link': isScrolled }\"\n (mouseenter)=\"item.open = true\"\n (click)=\"item.subtitles?.length ? (item.open = !item.open) : null\"\n [attr.href]=\"!(item.subtitles?.length) ? item.path : null\"\n >\n {{ item?.title }}\n <i *ngIf=\"item.subtitles.length > 0 && item.open\" class=\"fa-solid fa-caret-down\"></i>\n </a>\n <div class=\"popup position-absolute\"\n *ngIf=\"item.subtitles.length > 0 && item.open\">\n <ul>\n <li\n *ngFor=\"let sub of item.subtitles\"\n [routerLink]=\"sub.path\"\n class=\"dropdownItem\"\n >\n {{ sub.title }}\n </li>\n </ul>\n </div>\n </li>\n\n <li class=\"nav-item ms-2 mb-3 d-flex d-md-none\">\n <button class=\"sign-btn sign-header-btn\"\n routerLink=\"/login\">Log In</button>\n </li>\n </ul>\n </div>\n\n <!-- Always 3 columns for login -->\n <div class=\"col-md-3 d-none d-md-flex justify-content-end\">\n <button class=\"sign-btn sign-header-btn\"\n routerLink=\"/login\">Log In</button>\n </div>\n\n </div>\n </div>\n </div>\n</nav>\n\n\n\n<ng-template #editNavbarModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Navbar Links</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <h4 class=\"mb-3\">Navbar Section</h4>\n <div cdkDropList (cdkDropListDropped)=\"dropNavbarItems($event)\">\n <div *ngFor=\"let item of editingNavbar.items; let i = index\" class=\"border p-3 mb-3\" cdkDrag>\n <div class=\"row\">\n <div class=\"col-md-5 mb-2\">\n <label class=\"form-label\">Title</label>\n <input class=\"form-control\" [(ngModel)]=\"item.title\" />\n </div>\n <div class=\"col-md-5 mb-2\">\n <label class=\"form-label\">Path</label>\n <input class=\"form-control\" [(ngModel)]=\"item.path\" />\n </div>\n <div class=\"col-md-2 d-flex justify-content-between align-items-center mt-4\">\n <i class=\"fa fa-trash in-page-trash-icon text-danger cursor-pointer\" (click)=\"removeNavbarItem(i)\"></i>\n <i class=\"fa fa-bars in-page-bars-icon cursor-pointer\" cdkDragHandle></i>\n </div>\n </div>\n\n <div cdkDropList (cdkDropListDropped)=\"dropNavbarSubtitles(i, $event)\">\n <div *ngFor=\"let sub of item.subtitles; let j = index\" class=\"row border p-3 mb-2 align-items-center\" cdkDrag>\n <div class=\"col-md-5\">\n <label class=\"form-label\">Subtitle Title</label>\n <input class=\"form-control\" [(ngModel)]=\"sub.title\" />\n </div>\n <div class=\"col-md-5\">\n <label class=\"form-label\">Subtitle Path</label>\n <input class=\"form-control\" [(ngModel)]=\"sub.path\" />\n </div>\n <div class=\"col-md-2 d-flex justify-content-between align-items-center mt-4\">\n <i class=\"fa fa-trash in-page-trash-icon text-danger cursor-pointer\" (click)=\"removeNavbarSubtitle(i, j)\"></i>\n <i class=\"fa fa-bars in-page-bars-icon cursor-pointer\" cdkDragHandle></i>\n </div>\n </div>\n </div>\n\n <button class=\"btn btn-outline-primary btn-sm mt-2\" (click)=\"addNavbarSubtitle(i)\">\n + Add Subtitle\n </button>\n </div>\n </div>\n\n <button class=\"btn btn-primary mt-3\" (click)=\"addNavbarItem()\">\n + Add Navbar Item\n </button>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" (click)=\"saveNavbarLinks(modal)\">Save</button>\n </div>\n</ng-template>\n\n\n\n\n<ng-template #logoEditModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Logo</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <pw-custom-uploader\n [title]=\"'Main Logo'\"\n [controlName]=\"'logo_main'\"\n [aspectRatio]=\"'fullLogo'\"\n [previewData]=\"{ url: logo, name: 'logo_main.png' }\"\n (saveEvent)=\"onSaveLogo($event)\">\n </pw-custom-uploader>\n </div>\n</ng-template>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap\";:root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}*{font-family:Montserrat,sans-serif}h2{font-size:32px;font-weight:700;letter-spacing:.03em;line-height:1.1em;text-transform:uppercase}@media (max-width: 1200px){.container-wrapper{padding:0 20px!important}}.navbar-custom-background{background-color:#00000080;box-shadow:2px 2px 15px 2px #0000001f;transition:width 2s,height 2s,-webkit-transform 2s;transition:width 2s,height 2s,transform 2s background-color .5s ease;z-index:9999}.fixed-top{position:fixed!important}.primary-button{background-color:#000;border-radius:50px;color:#fff;font: 600 16.3px Montserrat-Regular,sans-serif;padding:5px 16px!important;width:auto;display:flex;gap:15px;align-items:center;justify-content:space-between}.logo_img{width:60%!important;min-width:159px!important}.navbar-toggle-icon{width:25px}@media (min-width: 500px){.navbar-nav .nav-item button{margin-top:10px}}@media (max-width: 1200px){.navbar-nav .nav-item .nav-link{font-size:15px!important}}.navbar-nav .nav-link{display:inline-flex!important;white-space:nowrap;gap:4px}.fa-caret-down{font-family:\"Font Awesome 6 Pro\",sans-serif;font-weight:900}@media (min-width: 1200px){.navbar-nav .nav-item .nav-link{padding-bottom:0!important;padding-top:0!important}.popup{top:3.4rem!important;background-color:var(--first)!important;background-color:transparent;padding:10px;z-index:1000;transition:opacity .3s ease-in-out}.popup ul li{color:#fff;font: 500 14px Montserrat-Regular,sans-serif;cursor:pointer;border-bottom:1px solid #eee}.popup ul li:last-child{border-bottom:none}.router-link-active{color:#000!important}}@media (max-width: 1200px){.popup ul li{color:#fff;font: 500 14px Montserrat-Regular,sans-serif;cursor:pointer;border-bottom:1px solid #eee}.popup ul li:last-child{border-bottom:none}.popup ul li:hover{background-color:#f1f1f1}.mb-icon{width:200px}.container-wrapper{padding:10px 20px!important}.popup{top:0%!important;background-color:var(--first)!important;left:10rem;padding:10px;z-index:1000;transition:opacity .3s ease-in-out}}@media (max-width: 500px){.navbar-nav{background-color:var(--first);border-top:3px solid rgb(254,209,54);color:#fff;margin-top:5px;z-index:1}.navbar-nav .nav-item .nav-link{font-size:100%;font-weight:500;padding:.7em 1em!important}}.popup{top:90%;background-color:transparent;padding:10px;z-index:1000}.popup ul{list-style-type:none;padding:0;margin:0}.popup ul li{padding:5px 10px;font: 500 14px Montserrat-Regular,sans-serif}.resource-header .nav-link.scrolled-nav-link{color:#fff!important}.dropdownItem{cursor:pointer}.rotate{transform:rotate(180deg)}@media (max-width: 500px){.logo_img{width:60%!important;margin-left:auto;margin-right:0;display:block;transition:margin .5s ease,width .5s ease}.navbar-nav{background-color:var(--first);border-top:3px solid rgb(254,209,54);color:#fff;margin-top:5px;z-index:1}.navbar-nav .nav-item .nav-link{font-size:100%;font-weight:500;padding:.7em 1em!important}.popup{top:0%!important;background-color:var(--first)!important;left:10rem;padding:10px;z-index:1000;transition:opacity .3s ease-in-out}.popup ul{list-style-type:none;padding:0;margin:0}.dropdownItem{cursor:pointer}.rotate{transform:rotate(180deg)}.popup.ngIf{opacity:1}}.navbar-nav{visibility:visible!important;display:flex!important}.nav-link{text-transform:uppercase}\n"] }]
|
|
185
|
+
args: [{ selector: 'pw-resource-header', template: "<nav class=\"navbar navbar-expand-md navbar-dark fixed-top cloudolive-nav-bg-color resource-header\"\n id=\"banner\">\n <div class=\"container container-wrapper banner-section\">\n\n <!-- Toggler/collapsibe Button -->\n <button class=\"navbar-toggler header-menu-bar\"\n type=\"button\"\n aria-label=\"Toggle navigation\"\n data-bs-toggle=\"collapse\"\n data-bs-target=\"#collapsibleNavbar\">\n <img src=\"/assets/img/products/trial/navbar-toggle-icon.png\"\n class=\"img-fluid navbar-toggle-icon\"\n alt=\"\" />\n </button>\n\n <!-- Mobile Logo -->\n <div class=\"d-md-none mb-icon\">\n <div>\n <img [src]=\"logo\"\n routerLink=\"/\"\n alt=\"logo\"\n class=\"img-fluid logo_img\" />\n </div>\n </div>\n\n\n <i *ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\"\n class=\"fa fa-edit in-page-edit-icon cursor-pointer text-black me-3\"\n (click)=\"openLogoEditModal()\"\n title=\"Edit Logo\"></i>\n\n\n <!-- Navbar links -->\n <div class=\"collapse navbar-collapse mt-3 mt-md-0\"\n id=\"collapsibleNavbar\"\n #collapsibleNavbar>\n <div class=\"row align-items-center w-100\">\n\n <!-- Always occupy 3 columns for logo -->\n <div class=\"col-md-2 d-none d-md-flex align-items-center\">\n <div *ngIf=\"logo\">\n <img [src]=\"logo\"\n (load)=\"logoLoaded = true\"\n (error)=\"logoLoaded = false\"\n routerLink=\"/\"\n alt=\"logo\"\n class=\"img-fluid logo_img\" />\n </div>\n </div>\n\n\n <div class=\"col-md-7 d-flex justify-content-start\">\n <ul #anchorLinks\n class=\"navbar-nav flex gap-4 me-0 wow fadeInUp position-relative\"\n data-wow-duration=\"2s\">\n\n <i *ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\"\n class=\"fa fa-edit in-page-edit-icon cursor-pointer text-black me-3\"\n (click)=\"openEditNavbarModal()\"\n title=\"Edit Navbar Links\"></i>\n <li class=\"nav-item\" *ngFor=\"let item of navbarItems\">\n <div class=\"dropdown-container\"\n (mouseenter)=\"openDropdown(item)\">\n <a\n class=\"nav-link\"\n href=\"javascript:void(0)\"\n [ngClass]=\"{ 'scrolled-nav-link': isScrolled }\"\n (click)=\"item.subtitles?.length ? (item.open = !item.open) : null\"\n [attr.href]=\"!(item.subtitles?.length) ? item.path : null\"\n >\n {{ item?.title }}\n <i *ngIf=\"item.subtitles.length > 0 && item.open\" class=\"fa-solid fa-caret-down\"></i>\n </a>\n <div class=\"popup position-absolute\"\n *ngIf=\"item.subtitles.length > 0 && item.open\">\n <ul>\n <li\n *ngFor=\"let sub of item.subtitles\"\n [routerLink]=\"sub.path\"\n class=\"dropdownItem\"\n (click)=\"onDropdownItemClick(item)\"\n >\n {{ sub.title }}\n </li>\n </ul>\n </div>\n </div>\n </li>\n\n <li class=\"nav-item ms-2 mb-3 d-flex d-md-none\">\n <button class=\"sign-btn sign-header-btn\"\n routerLink=\"/login\">Log In</button>\n </li>\n </ul>\n </div>\n\n <!-- Always 3 columns for login -->\n <div class=\"col-md-3 d-none d-md-flex justify-content-end\">\n <button class=\"sign-btn sign-header-btn\"\n routerLink=\"/login\">Log In</button>\n </div>\n\n </div>\n </div>\n </div>\n</nav>\n\n\n\n<ng-template #editNavbarModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Navbar Links</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <h4 class=\"mb-3\">Navbar Section</h4>\n <div cdkDropList (cdkDropListDropped)=\"dropNavbarItems($event)\">\n <div *ngFor=\"let item of editingNavbar.items; let i = index\" class=\"border p-3 mb-3\" cdkDrag>\n <div class=\"row\">\n <div class=\"col-md-5 mb-2\">\n <label class=\"form-label\">Title</label>\n <input class=\"form-control\" [(ngModel)]=\"item.title\" />\n </div>\n <div class=\"col-md-5 mb-2\">\n <label class=\"form-label\">Path</label>\n <input class=\"form-control\" [(ngModel)]=\"item.path\" />\n </div>\n <div class=\"col-md-2 d-flex justify-content-between align-items-center mt-4\">\n <i class=\"fa fa-trash in-page-trash-icon text-danger cursor-pointer\" (click)=\"removeNavbarItem(i)\"></i>\n <i class=\"fa fa-bars in-page-bars-icon cursor-pointer\" cdkDragHandle></i>\n </div>\n </div>\n\n <div cdkDropList (cdkDropListDropped)=\"dropNavbarSubtitles(i, $event)\">\n <div *ngFor=\"let sub of item.subtitles; let j = index\" class=\"row border p-3 mb-2 align-items-center\" cdkDrag>\n <div class=\"col-md-5\">\n <label class=\"form-label\">Subtitle Title</label>\n <input class=\"form-control\" [(ngModel)]=\"sub.title\" />\n </div>\n <div class=\"col-md-5\">\n <label class=\"form-label\">Subtitle Path</label>\n <input class=\"form-control\" [(ngModel)]=\"sub.path\" />\n </div>\n <div class=\"col-md-2 d-flex justify-content-between align-items-center mt-4\">\n <i class=\"fa fa-trash in-page-trash-icon text-danger cursor-pointer\" (click)=\"removeNavbarSubtitle(i, j)\"></i>\n <i class=\"fa fa-bars in-page-bars-icon cursor-pointer\" cdkDragHandle></i>\n </div>\n </div>\n </div>\n\n <button class=\"btn btn-outline-primary btn-sm mt-2\" (click)=\"addNavbarSubtitle(i)\">\n + Add Subtitle\n </button>\n </div>\n </div>\n\n <button class=\"btn btn-primary mt-3\" (click)=\"addNavbarItem()\">\n + Add Navbar Item\n </button>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" (click)=\"saveNavbarLinks(modal)\">Save</button>\n </div>\n</ng-template>\n\n\n\n\n<ng-template #logoEditModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Logo</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <pw-custom-uploader\n [title]=\"'Main Logo'\"\n [controlName]=\"'logo_main'\"\n [aspectRatio]=\"'fullLogo'\"\n [previewData]=\"{ url: logo, name: 'logo_main.png' }\"\n (saveEvent)=\"onSaveLogo($event)\">\n </pw-custom-uploader>\n </div>\n</ng-template>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap\";:root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}*{font-family:Montserrat,sans-serif}h2{font-size:32px;font-weight:700;letter-spacing:.03em;line-height:1.1em;text-transform:uppercase}@media (max-width: 1200px){.container-wrapper{padding:0 20px!important}}.navbar-custom-background{background-color:#00000080;box-shadow:2px 2px 15px 2px #0000001f;transition:width 2s,height 2s,-webkit-transform 2s;transition:width 2s,height 2s,transform 2s background-color .5s ease;z-index:9999}.fixed-top{position:fixed!important}.primary-button{background-color:#000;border-radius:50px;color:#fff;font: 600 16.3px Montserrat-Regular,sans-serif;padding:5px 16px!important;width:auto;display:flex;gap:15px;align-items:center;justify-content:space-between}.logo_img{width:60%!important;min-width:159px!important}.navbar-toggle-icon{width:25px}@media (min-width: 500px){.navbar-nav .nav-item button{margin-top:10px}}@media (max-width: 1200px){.navbar-nav .nav-item .nav-link{font-size:15px!important}}.navbar-nav .nav-link{display:inline-flex!important;white-space:nowrap;gap:4px}.fa-caret-down{font-family:\"Font Awesome 6 Pro\",sans-serif;font-weight:900}@media (min-width: 1200px){.navbar-nav .nav-item .nav-link{padding-bottom:0!important;padding-top:0!important}.popup{top:3.4rem!important;background-color:var(--first)!important;background-color:transparent;padding:10px;z-index:1000;transition:opacity .3s ease-in-out}.popup ul li{color:#fff;font: 500 14px Montserrat-Regular,sans-serif;cursor:pointer;border-bottom:1px solid #eee}.popup ul li:last-child{border-bottom:none}.router-link-active{color:#000!important}}@media (max-width: 1200px){.popup ul li{color:#fff;font: 500 14px Montserrat-Regular,sans-serif;cursor:pointer;border-bottom:1px solid #eee}.popup ul li:last-child{border-bottom:none}.popup ul li:hover{background-color:#f1f1f1}.mb-icon{width:200px}.container-wrapper{padding:10px 20px!important}.dropdown-container{position:relative;display:inline-block}.popup{top:0%!important;background-color:var(--first)!important;left:10rem;padding:10px;z-index:1000;transition:opacity .3s ease-in-out}}@media (max-width: 500px){.navbar-nav{background-color:var(--first);border-top:3px solid rgb(254,209,54);color:#fff;margin-top:5px;z-index:1}.navbar-nav .nav-item .nav-link{font-size:100%;font-weight:500;padding:.7em 1em!important}}.popup{top:90%;background-color:transparent;padding:10px;z-index:1000}.popup ul{list-style-type:none;padding:0;margin:0}.popup ul li{padding:5px 10px;font: 500 14px Montserrat-Regular,sans-serif}.resource-header .nav-link.scrolled-nav-link{color:#fff!important}.dropdownItem{cursor:pointer}.rotate{transform:rotate(180deg)}@media (max-width: 500px){.logo_img{width:60%!important;margin-left:auto;margin-right:0;display:block;transition:margin .5s ease,width .5s ease}.navbar-nav{background-color:var(--first);border-top:3px solid rgb(254,209,54);color:#fff;margin-top:5px;z-index:1}.navbar-nav .nav-item .nav-link{font-size:100%;font-weight:500;padding:.7em 1em!important}.popup{top:0%!important;background-color:var(--first)!important;left:10rem;padding:10px;z-index:1000;transition:opacity .3s ease-in-out}.popup ul{list-style-type:none;padding:0;margin:0}.dropdownItem{cursor:pointer}.rotate{transform:rotate(180deg)}.dropdown-container{position:relative;display:inline-block}}.navbar-nav{visibility:visible!important;display:flex!important}.nav-link{text-transform:uppercase}.dropdown-container{position:relative;display:inline-block}\n"] }]
|
|
155
186
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: Document, decorators: [{
|
|
156
187
|
type: Inject,
|
|
157
188
|
args: [DOCUMENT]
|
|
@@ -167,5 +198,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
167
198
|
}], onScroll: [{
|
|
168
199
|
type: HostListener,
|
|
169
200
|
args: ['window:scroll', []]
|
|
201
|
+
}], onDocumentClick: [{
|
|
202
|
+
type: HostListener,
|
|
203
|
+
args: ['document:click', ['$event']]
|
|
170
204
|
}] } });
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9yZXNvdXJjZS1oZWFkZXIvcmVzb3VyY2UtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9yZXNvdXJjZS1oZWFkZXIvcmVzb3VyY2UtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBRVIsV0FBVyxFQUNYLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLDRCQUE0QixDQUFDO0FBRTdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7OztBQVN0RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZ0JBQWdCO0lBcUJ6RCxZQUNJLFFBQWtCLEVBQ2lCLFFBQWtCLEVBQ3BDLFlBQTBCLEVBQzFCLFlBQXNCO1FBRXZDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUptQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBcEIzQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFNB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TSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQUs7UUFDakIsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhLEVBQUUsS0FBSztRQUNwQyxlQUFlLENBQ1gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUN6QyxLQUFLLENBQUMsYUFBYSxFQUNuQixLQUFLLENBQUMsWUFBWSxDQUNyQixDQUFDO0lBQ04sQ0FBQzsrR0F4S1EsdUJBQXVCLDBDQXVCcEIsUUFBUTttR0F2QlgsdUJBQXVCLG9jQzFCcEMsdTNOQXNMYzs7NEZENUpELHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDSSxvQkFBb0I7OzBCQTJCekIsTUFBTTsyQkFBQyxRQUFROzJGQXRCWSxjQUFjO3NCQUE3QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFDQSxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDQSxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBK0UxQixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBPbkluaXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBZG1pblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvYWRtaW4tbW9kdWxlLXV0aWxzJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IFRPS0VOX0tFWSwgVXNlciB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcblxuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbmltcG9ydCB7IEN1c3RvbVVwbG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY3VzdG9tLXVwbG9hZGVyL2N1c3RvbS11cGxvYWRlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LXJlc291cmNlLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Jlc291cmNlLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcmVzb3VyY2UtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCdjb2xsYXBzaWJsZU5hdmJhcicpIG5hdmJhckNvbGxhcHNlOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ2VkaXROYXZiYXJNb2RhbCcpIGVkaXROYXZiYXJNb2RhbDogVGVtcGxhdGVSZWY8Q3VzdG9tVXBsb2FkZXJDb21wb25lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ2xvZ29FZGl0TW9kYWwnKSBsb2dvRWRpdE1vZGFsOiBUZW1wbGF0ZVJlZjxDdXN0b21VcGxvYWRlckNvbXBvbmVudD47XG5cbiAgICBpc1Njcm9sbGVkID0gZmFsc2U7XG4gICAgb3BlbiA9IGZhbHNlO1xuICAgIGxvZ287XG4gICAgbmF2YmFySXRlbXMgPSB0aGlzLmFwcENvbmZpZz8ucGFnZXNfY29uZmlnPy5uYXZiYXI/Lml0ZW1zO1xuICAgIGRvbWFpbklkID0gdGhpcy5hcHBDb25maWc/LmRvbWFpbl9pZDtcbiAgICBjb250cmFzdEltYWdlVXJsID0gdGhpcy5hcHBDb25maWc/LmNvbXBhbnk/LmxvZ29zPy5tYWluX2NvbnRyYXN0Py51cmw7XG4gICAgZGFya0ltYWdlVXJsID0gdGhpcy5hcHBDb25maWc/LmNvbXBhbnk/LmxvZ29zPy5tYWluX2Rhcms/LnVybDtcblxuICAgIGVkaXRpbmdOYXZiYXIgPSB7XG4gICAgICAgIGl0ZW1zOiBbXVxuICAgIH07XG4gICAgaWQ6IHN0cmluZztcbiAgICB1c2VyTG9nZ2VkSW46IGJvb2xlYW47XG4gICAgdXNlcjogVXNlcjtcbiAgICBzY3JvbGxUaW1lb3V0O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWRtaW5TZXJ2aWNlOiBBZG1pblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbFxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IGlzQWJvdXRVcyA9IHRoaXMucm91dGVyLnVybD8uaW5jbHVkZXMoJy9hYm91dC11cycpO1xuXG4gICAgICAgIHRoaXMubG9nbyA9IGlzQWJvdXRVc1xuICAgICAgICAgICAgPyB0aGlzLmFwcENvbmZpZz8uY29tcGFueT8ubG9nb3M/Lm1haW5fY29udHJhc3Q/LnVybFxuICAgICAgICAgICAgOiB0aGlzLmFwcENvbmZpZz8uY29tcGFueT8ubG9nb3M/Lm1haW5fZGFyaz8udXJsO1xuICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtJChUT0tFTl9LRVkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyTG9nZ2VkSW4gPSAhIXJlcztcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZXJMb2dnZWRJbikge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0kKCdwcm9kdWN0Jykuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSByZXMgPyBKU09OLnBhcnNlKHJlcykgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlkID0gZGF0YT8uc3Vic2NyaXB0aW9uSWQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS5nZXRVc2VySW5mbygpLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyID0gZGF0YTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb3BlbkxvZ29FZGl0TW9kYWwoKSB7XG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4odGhpcy5sb2dvRWRpdE1vZGFsLCB7IGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbWQnIH0pO1xuICAgIH1cblxuICAgIG9uU2F2ZUxvZ28oZXZlbnQpIHtcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5pc1Njcm9sbGVkKTtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdzdWJzY3JpcHRpb25faWQnLCB0aGlzLmlkKTtcbiAgICAgICAgaWYgKGV2ZW50LmZpbGUgaW5zdGFuY2VvZiBGaWxlKSB7XG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQodGhpcy5pc1Njcm9sbGVkID8gJ2xvZ29fbWFpbl9jb250cmFzdCcgOiAnbG9nb19tYWluX2RhcmsnLCBldmVudC5maWxlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChcbiAgICAgICAgICAgICAgICB0aGlzLmlzU2Nyb2xsZWQgPyAncmVtb3ZlX2xvZ29fbWFpbl9jb250cmFzdCcgOiAncmVtb3ZlX2xvZ29fbWFpbl9kYXJrJyxcbiAgICAgICAgICAgICAgICAndHJ1ZSdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFkbWluU2VydmljZS51cGRhdGVEb21haW5Db25maWcodGhpcy5kb21haW5JZCwgZm9ybURhdGEpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQuZmlsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nbyA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZXZlbnQuZmlsZSk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNTY3JvbGxlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyYXN0SW1hZ2VVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGV2ZW50LmZpbGUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGFya0ltYWdlVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChldmVudC5maWxlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuZGlzbWlzc0FsbCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKGV2ZW50LmZpbGUgPyAnTG9nbyB1cGRhdGVkJyA6ICdMb2dvIHJlbW92ZWQnKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcsIFtdKVxuICAgIG9uU2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5zY3JvbGxUaW1lb3V0KTtcbiAgICAgICAgdGhpcy5zY3JvbGxUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzQWJvdXRVcyA9IHRoaXMucm91dGVyPy51cmw/LmluY2x1ZGVzKCcvYWJvdXQtdXMnKTtcbiAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRTY3JvbGwgPSB3aW5kb3cuc2Nyb2xsWSA+IDE1MDtcbiAgICAgICAgICAgICAgICB0aGlzLmlzU2Nyb2xsZWQgPSBzaG91bGRTY3JvbGw7XG5cbiAgICAgICAgICAgICAgICBpZiAoIWlzQWJvdXRVcykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdMb2dvID0gc2hvdWxkU2Nyb2xsID8gdGhpcy5jb250cmFzdEltYWdlVXJsIDogdGhpcy5kYXJrSW1hZ2VVcmw7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvZ28gIT09IG5ld0xvZ28pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nbyA9IG5ld0xvZ287XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCA3NjgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbGxhcHNlRWxlbWVudCA9IHRoaXMubmF2YmFyQ29sbGFwc2U/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb2xsYXBzZUVsZW1lbnQ/LmNsYXNzTGlzdC5jb250YWlucygnc2hvdycpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xsYXBzZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sIDUwKTtcbiAgICB9XG5cbiAgICBvcGVuRWRpdE5hdmJhck1vZGFsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuYXZiYXJDb25maWcgPSB0aGlzLmFwcENvbmZpZy5wYWdlc19jb25maWc/Lm5hdmJhciB8fCB7fTtcbiAgICAgICAgbmF2YmFyQ29uZmlnLml0ZW1zID0gbmF2YmFyQ29uZmlnLml0ZW1zIHx8IFtdO1xuXG4gICAgICAgIHRoaXMuZWRpdGluZ05hdmJhciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobmF2YmFyQ29uZmlnKSk7XG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4odGhpcy5lZGl0TmF2YmFyTW9kYWwsIHtcbiAgICAgICAgICAgIHNpemU6ICdsZycsXG4gICAgICAgICAgICBjZW50ZXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIHdpbmRvd0NsYXNzOiAnbW9kYWwtaG9sZGVyJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzYXZlTmF2YmFyTGlua3MobW9kYWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdXBkYXRlZENvbmZpZyA9IHtcbiAgICAgICAgICAgIG5hdmJhcjogdGhpcy5lZGl0aW5nTmF2YmFyLFxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uX2lkOiB0aGlzLmlkXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2VcbiAgICAgICAgICAgIC51cGRhdGVEb21haW5Db25maWcodGhpcy5hcHBDb25maWc/LmRvbWFpbl9pZCwgdXBkYXRlZENvbmZpZylcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcygnTmF2YmFyIGxpbmtzIHVwZGF0ZWQnKTtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdmJhckl0ZW1zID0gWy4uLnRoaXMuZWRpdGluZ05hdmJhci5pdGVtc107XG4gICAgICAgICAgICAgICAgbW9kYWwuY2xvc2UoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFkZE5hdmJhckl0ZW0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdGluZ05hdmJhci5pdGVtcy5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgc3VidGl0bGVzOiBbXVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZW1vdmVOYXZiYXJJdGVtKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0aW5nTmF2YmFyLml0ZW1zLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuXG4gICAgYWRkTmF2YmFyU3VidGl0bGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRpbmdOYXZiYXIuaXRlbXNbaW5kZXhdLnN1YnRpdGxlcy5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgICAgIHBhdGg6ICcnXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbW92ZU5hdmJhclN1YnRpdGxlKG5hdkluZGV4OiBudW1iZXIsIHN1YkluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0aW5nTmF2YmFyLml0ZW1zW25hdkluZGV4XS5zdWJ0aXRsZXMuc3BsaWNlKHN1YkluZGV4LCAxKTtcbiAgICB9XG5cbiAgICBkcm9wTmF2YmFySXRlbXMoZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuZWRpdGluZ05hdmJhci5pdGVtcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICB9XG5cbiAgICBkcm9wTmF2YmFyU3VidGl0bGVzKGluZGV4OiBudW1iZXIsIGV2ZW50KTogdm9pZCB7XG4gICAgICAgIG1vdmVJdGVtSW5BcnJheShcbiAgICAgICAgICAgIHRoaXMuZWRpdGluZ05hdmJhci5pdGVtc1tpbmRleF0uc3VidGl0bGVzLFxuICAgICAgICAgICAgZXZlbnQucHJldmlvdXNJbmRleCxcbiAgICAgICAgICAgIGV2ZW50LmN1cnJlbnRJbmRleFxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxuYXYgY2xhc3M9XCJuYXZiYXIgbmF2YmFyLWV4cGFuZC1tZCBuYXZiYXItZGFyayBmaXhlZC10b3AgY2xvdWRvbGl2ZS1uYXYtYmctY29sb3IgcmVzb3VyY2UtaGVhZGVyXCJcbiAgaWQ9XCJiYW5uZXJcIj5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBjb250YWluZXItd3JhcHBlciBiYW5uZXItc2VjdGlvblwiPlxuXG4gICAgPCEtLSBUb2dnbGVyL2NvbGxhcHNpYmUgQnV0dG9uIC0tPlxuICAgIDxidXR0b24gY2xhc3M9XCJuYXZiYXItdG9nZ2xlciBoZWFkZXItbWVudS1iYXJcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBhcmlhLWxhYmVsPVwiVG9nZ2xlIG5hdmlnYXRpb25cIlxuICAgICAgZGF0YS1icy10b2dnbGU9XCJjb2xsYXBzZVwiXG4gICAgICBkYXRhLWJzLXRhcmdldD1cIiNjb2xsYXBzaWJsZU5hdmJhclwiPlxuICAgICAgPGltZyBzcmM9XCIvYXNzZXRzL2ltZy9wcm9kdWN0cy90cmlhbC9uYXZiYXItdG9nZ2xlLWljb24ucG5nXCJcbiAgICAgICAgY2xhc3M9XCJpbWctZmx1aWQgbmF2YmFyLXRvZ2dsZS1pY29uXCJcbiAgICAgICAgYWx0PVwiXCIgLz5cbiAgICA8L2J1dHRvbj5cblxuICAgIDwhLS0gTW9iaWxlIExvZ28gLS0+XG4gICAgPGRpdiBjbGFzcz1cImQtbWQtbm9uZSBtYi1pY29uXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8aW1nIFtzcmNdPVwibG9nb1wiXG4gICAgICAgICAgcm91dGVyTGluaz1cIi9cIlxuICAgICAgICAgIGFsdD1cImxvZ29cIlxuICAgICAgICAgIGNsYXNzPVwiaW1nLWZsdWlkIGxvZ29faW1nXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG5cbiAgICA8aSAqbmdJZj1cInVzZXJMb2dnZWRJbiAmJiB1c2VyPy5hdXRoPy5ncmFudGVkWydQYWdlcy5BZG1pbiddXCJcbiAgICBjbGFzcz1cImZhIGZhLWVkaXQgaW4tcGFnZS1lZGl0LWljb24gY3Vyc29yLXBvaW50ZXIgdGV4dC1ibGFjayBtZS0zXCJcbiAgICAoY2xpY2spPVwib3BlbkxvZ29FZGl0TW9kYWwoKVwiXG4gICAgdGl0bGU9XCJFZGl0IExvZ29cIj48L2k+XG5cblxuICAgIDwhLS0gTmF2YmFyIGxpbmtzIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjb2xsYXBzZSBuYXZiYXItY29sbGFwc2UgbXQtMyBtdC1tZC0wXCJcbiAgICAgIGlkPVwiY29sbGFwc2libGVOYXZiYXJcIlxuICAgICAgI2NvbGxhcHNpYmxlTmF2YmFyPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgdy0xMDBcIj5cblxuICAgICAgICA8IS0tIEFsd2F5cyBvY2N1cHkgMyBjb2x1bW5zIGZvciBsb2dvIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTIgZC1ub25lIGQtbWQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwibG9nb1wiPlxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImxvZ29cIlxuICAgICAgICAgICAgICAobG9hZCk9XCJsb2dvTG9hZGVkID0gdHJ1ZVwiXG4gICAgICAgICAgICAgIChlcnJvcik9XCJsb2dvTG9hZGVkID0gZmFsc2VcIlxuICAgICAgICAgICAgICByb3V0ZXJMaW5rPVwiL1wiXG4gICAgICAgICAgICAgIGFsdD1cImxvZ29cIlxuICAgICAgICAgICAgICBjbGFzcz1cImltZy1mbHVpZCBsb2dvX2ltZ1wiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC03IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnRcIj5cbiAgICAgICAgICA8dWwgI2FuY2hvckxpbmtzXG4gICAgICAgICAgICBjbGFzcz1cIm5hdmJhci1uYXYgZmxleCBnYXAtNCBtZS0wIHdvdyBmYWRlSW5VcCBwb3NpdGlvbi1yZWxhdGl2ZVwiXG4gICAgICAgICAgICBkYXRhLXdvdy1kdXJhdGlvbj1cIjJzXCI+XG5cbiAgICAgICAgICA8aSAqbmdJZj1cInVzZXJMb2dnZWRJbiAmJiB1c2VyPy5hdXRoPy5ncmFudGVkWydQYWdlcy5BZG1pbiddXCJcbiAgICAgICAgICBjbGFzcz1cImZhIGZhLWVkaXQgaW4tcGFnZS1lZGl0LWljb24gY3Vyc29yLXBvaW50ZXIgdGV4dC1ibGFjayBtZS0zXCJcbiAgICAgICAgICAoY2xpY2spPVwib3BlbkVkaXROYXZiYXJNb2RhbCgpXCJcbiAgICAgICAgICB0aXRsZT1cIkVkaXQgTmF2YmFyIExpbmtzXCI+PC9pPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBuYXZiYXJJdGVtc1wiPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGlua1wiXG4gICAgICAgICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3Njcm9sbGVkLW5hdi1saW5rJzogaXNTY3JvbGxlZCB9XCJcbiAgICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIml0ZW0ub3BlbiA9IHRydWVcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIml0ZW0uc3VidGl0bGVzPy5sZW5ndGggPyAoaXRlbS5vcGVuID0gIWl0ZW0ub3BlbikgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmhyZWZdPVwiIShpdGVtLnN1YnRpdGxlcz8ubGVuZ3RoKSA/IGl0ZW0ucGF0aCA6IG51bGxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IGl0ZW0/LnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIml0ZW0uc3VidGl0bGVzLmxlbmd0aCA+IDAgJiYgaXRlbS5vcGVuXCIgY2xhc3M9XCJmYS1zb2xpZCBmYS1jYXJldC1kb3duXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cCBwb3NpdGlvbi1hYnNvbHV0ZVwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5zdWJ0aXRsZXMubGVuZ3RoID4gMCAmJiBpdGVtLm9wZW5cIj5cbiAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3ViIG9mIGl0ZW0uc3VidGl0bGVzXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwic3ViLnBhdGhcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duSXRlbVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IHN1Yi50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9saT5cblxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gbXMtMiBtYi0zIGQtZmxleCBkLW1kLW5vbmVcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNpZ24tYnRuIHNpZ24taGVhZGVyLWJ0blwiXG4gICAgICAgICAgICAgICAgcm91dGVyTGluaz1cIi9sb2dpblwiPkxvZyBJbjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIEFsd2F5cyAzIGNvbHVtbnMgZm9yIGxvZ2luIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgZC1ub25lIGQtbWQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNpZ24tYnRuIHNpZ24taGVhZGVyLWJ0blwiXG4gICAgICAgICAgICByb3V0ZXJMaW5rPVwiL2xvZ2luXCI+TG9nIEluPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25hdj5cblxuXG5cbjxuZy10ZW1wbGF0ZSAjZWRpdE5hdmJhck1vZGFsIGxldC1tb2RhbD5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+RWRpdCBOYXZiYXIgTGlua3M8L2g1PlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPjwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgIDxoNCBjbGFzcz1cIm1iLTNcIj5OYXZiYXIgU2VjdGlvbjwvaDQ+XG4gICAgPGRpdiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BOYXZiYXJJdGVtcygkZXZlbnQpXCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGVkaXRpbmdOYXZiYXIuaXRlbXM7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cImJvcmRlciBwLTMgbWItM1wiIGNka0RyYWc+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTUgbWItMlwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlRpdGxlPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwiaXRlbS50aXRsZVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC01IG1iLTJcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5QYXRoPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwiaXRlbS5wYXRoXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBtdC00XCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRyYXNoIGluLXBhZ2UtdHJhc2gtaWNvbiB0ZXh0LWRhbmdlciBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJyZW1vdmVOYXZiYXJJdGVtKGkpXCI+PC9pPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1iYXJzIGluLXBhZ2UtYmFycy1pY29uIGN1cnNvci1wb2ludGVyXCIgY2RrRHJhZ0hhbmRsZT48L2k+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wTmF2YmFyU3VidGl0bGVzKGksICRldmVudClcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzdWIgb2YgaXRlbS5zdWJ0aXRsZXM7IGxldCBqID0gaW5kZXhcIiBjbGFzcz1cInJvdyBib3JkZXIgcC0zIG1iLTIgYWxpZ24taXRlbXMtY2VudGVyXCIgY2RrRHJhZz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNVwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+U3VidGl0bGUgVGl0bGU8L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInN1Yi50aXRsZVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNVwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+U3VidGl0bGUgUGF0aDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwic3ViLnBhdGhcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBtdC00XCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdHJhc2ggaW4tcGFnZS10cmFzaC1pY29uIHRleHQtZGFuZ2VyIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInJlbW92ZU5hdmJhclN1YnRpdGxlKGksIGopXCI+PC9pPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWJhcnMgaW4tcGFnZS1iYXJzLWljb24gY3Vyc29yLXBvaW50ZXJcIiBjZGtEcmFnSGFuZGxlPjwvaT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgYnRuLXNtIG10LTJcIiAoY2xpY2spPVwiYWRkTmF2YmFyU3VidGl0bGUoaSlcIj5cbiAgICAgICAgICArIEFkZCBTdWJ0aXRsZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtdC0zXCIgKGNsaWNrKT1cImFkZE5hdmJhckl0ZW0oKVwiPlxuICAgICAgKyBBZGQgTmF2YmFyIEl0ZW1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cInNhdmVOYXZiYXJMaW5rcyhtb2RhbClcIj5TYXZlPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuXG5cblxuPG5nLXRlbXBsYXRlICNsb2dvRWRpdE1vZGFsIGxldC1tb2RhbD5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+VXBsb2FkIExvZ288L2g1PlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPjwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICA8cHctY3VzdG9tLXVwbG9hZGVyXG4gICAgICBbdGl0bGVdPVwiJ01haW4gTG9nbydcIlxuICAgICAgW2NvbnRyb2xOYW1lXT1cIidsb2dvX21haW4nXCJcbiAgICAgIFthc3BlY3RSYXRpb109XCInZnVsbExvZ28nXCJcbiAgICAgIFtwcmV2aWV3RGF0YV09XCJ7IHVybDogbG9nbywgbmFtZTogJ2xvZ29fbWFpbi5wbmcnIH1cIlxuICAgICAgKHNhdmVFdmVudCk9XCJvblNhdmVMb2dvKCRldmVudClcIj5cbiAgICA8L3B3LWN1c3RvbS11cGxvYWRlcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9yZXNvdXJjZS1oZWFkZXIvcmVzb3VyY2UtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9yZXNvdXJjZS1oZWFkZXIvcmVzb3VyY2UtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBRVIsV0FBVyxFQUNYLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLDRCQUE0QixDQUFDO0FBRTdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7OztBQVN0RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZ0JBQWdCO0lBcUJ6RCxZQUNJLFFBQWtCLEVBQ2lCLFFBQWtCLEVBQ3BDLFlBQTBCLEVBQzFCLFlBQXNCO1FBRXZDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUptQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBcEIzQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFNB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QWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBYSxFQUFFLEtBQUs7UUFDcEMsZUFBZSxDQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFDekMsS0FBSyxDQUFDLGFBQWEsRUFDbkIsS0FBSyxDQUFDLFlBQVksQ0FDckIsQ0FBQztJQUNOLENBQUM7K0dBN01RLHVCQUF1QiwwQ0F1QnBCLFFBQVE7bUdBdkJYLHVCQUF1QixpZkMxQnBDLHFuT0F5TGM7OzRGRC9KRCx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksb0JBQW9COzswQkEyQnpCLE1BQU07MkJBQUMsUUFBUTsyRkF0QlksY0FBYztzQkFBN0MsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBQ0EsZUFBZTtzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBQ0EsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQThFMUIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxFQUFFO2dCQStCakMsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgT25Jbml0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWRtaW5TZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2FkbWluLW1vZHVsZS11dGlscyc7XG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBUT0tFTl9LRVksIFVzZXIgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5cbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuXG5pbXBvcnQgeyBDdXN0b21VcGxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2N1c3RvbS11cGxvYWRlci9jdXN0b20tdXBsb2FkZXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1yZXNvdXJjZS1oZWFkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yZXNvdXJjZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Jlc291cmNlLWhlYWRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlSGVhZGVyQ29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnY29sbGFwc2libGVOYXZiYXInKSBuYXZiYXJDb2xsYXBzZTogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdlZGl0TmF2YmFyTW9kYWwnKSBlZGl0TmF2YmFyTW9kYWw6IFRlbXBsYXRlUmVmPEN1c3RvbVVwbG9hZGVyQ29tcG9uZW50PjtcbiAgICBAVmlld0NoaWxkKCdsb2dvRWRpdE1vZGFsJykgbG9nb0VkaXRNb2RhbDogVGVtcGxhdGVSZWY8Q3VzdG9tVXBsb2FkZXJDb21wb25lbnQ+O1xuXG4gICAgaXNTY3JvbGxlZCA9IGZhbHNlO1xuICAgIG9wZW4gPSBmYWxzZTtcbiAgICBsb2dvO1xuICAgIG5hdmJhckl0ZW1zID0gdGhpcy5hcHBDb25maWc/LnBhZ2VzX2NvbmZpZz8ubmF2YmFyPy5pdGVtcztcbiAgICBkb21haW5JZCA9IHRoaXMuYXBwQ29uZmlnPy5kb21haW5faWQ7XG4gICAgY29udHJhc3RJbWFnZVVybCA9IHRoaXMuYXBwQ29uZmlnPy5jb21wYW55Py5sb2dvcz8ubWFpbl9jb250cmFzdD8udXJsO1xuICAgIGRhcmtJbWFnZVVybCA9IHRoaXMuYXBwQ29uZmlnPy5jb21wYW55Py5sb2dvcz8ubWFpbl9kYXJrPy51cmw7XG5cbiAgICBlZGl0aW5nTmF2YmFyID0ge1xuICAgICAgICBpdGVtczogW11cbiAgICB9O1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuICAgIHVzZXI6IFVzZXI7XG4gICAgc2Nyb2xsVGltZW91dDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFkbWluU2VydmljZTogQWRtaW5TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGFsU2VydmljZTogTmdiTW9kYWxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBpc0Fib3V0VXMgPSB0aGlzLnJvdXRlci51cmw/LmluY2x1ZGVzKCcvYWJvdXQtdXMnKTtcblxuICAgICAgICB0aGlzLmxvZ28gPSBpc0Fib3V0VXNcbiAgICAgICAgICAgID8gdGhpcy5hcHBDb25maWc/LmNvbXBhbnk/LmxvZ29zPy5tYWluX2NvbnRyYXN0Py51cmxcbiAgICAgICAgICAgIDogdGhpcy5hcHBDb25maWc/LmNvbXBhbnk/LmxvZ29zPy5tYWluX2Rhcms/LnVybDtcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSQoVE9LRU5fS0VZKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlckxvZ2dlZEluID0gISFyZXM7XG4gICAgICAgICAgICBpZiAodGhpcy51c2VyTG9nZ2VkSW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtJCgncHJvZHVjdCcpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gcmVzID8gSlNPTi5wYXJzZShyZXMpIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pZCA9IGRhdGE/LnN1YnNjcmlwdGlvbklkO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlckluZm8oKS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXNlciA9IGRhdGE7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9wZW5Mb2dvRWRpdE1vZGFsKCkge1xuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKHRoaXMubG9nb0VkaXRNb2RhbCwgeyBjZW50ZXJlZDogdHJ1ZSwgc2l6ZTogJ21kJyB9KTtcbiAgICB9XG5cbiAgICBvblNhdmVMb2dvKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnc3Vic2NyaXB0aW9uX2lkJywgdGhpcy5pZCk7XG4gICAgICAgIGlmIChldmVudC5maWxlIGluc3RhbmNlb2YgRmlsZSkge1xuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKHRoaXMuaXNTY3JvbGxlZCA/ICdsb2dvX21haW5fY29udHJhc3QnIDogJ2xvZ29fbWFpbl9kYXJrJywgZXZlbnQuZmlsZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoXG4gICAgICAgICAgICAgICAgdGhpcy5pc1Njcm9sbGVkID8gJ3JlbW92ZV9sb2dvX21haW5fY29udHJhc3QnIDogJ3JlbW92ZV9sb2dvX21haW5fZGFyaycsXG4gICAgICAgICAgICAgICAgJ3RydWUnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2UudXBkYXRlRG9tYWluQ29uZmlnKHRoaXMuZG9tYWluSWQsIGZvcm1EYXRhKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50LmZpbGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ28gPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGV2ZW50LmZpbGUpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzU2Nyb2xsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cmFzdEltYWdlVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChldmVudC5maWxlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhcmtJbWFnZVVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZXZlbnQuZmlsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLmRpc21pc3NBbGwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhldmVudC5maWxlID8gJ0xvZ28gdXBkYXRlZCcgOiAnTG9nbyByZW1vdmVkJyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnLCBbXSlcbiAgICBvblNjcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2Nyb2xsVGltZW91dCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0Fib3V0VXMgPSB0aGlzLnJvdXRlcj8udXJsPy5pbmNsdWRlcygnL2Fib3V0LXVzJyk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkU2Nyb2xsID0gd2luZG93LnNjcm9sbFkgPiAxNTA7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Njcm9sbGVkID0gc2hvdWxkU2Nyb2xsO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFpc0Fib3V0VXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3TG9nbyA9IHNob3VsZFNjcm9sbCA/IHRoaXMuY29udHJhc3RJbWFnZVVybCA6IHRoaXMuZGFya0ltYWdlVXJsO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2dvICE9PSBuZXdMb2dvKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ28gPSBuZXdMb2dvO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDwgNzY4KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2xsYXBzZUVsZW1lbnQgPSB0aGlzLm5hdmJhckNvbGxhcHNlPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29sbGFwc2VFbGVtZW50Py5jbGFzc0xpc3QuY29udGFpbnMoJ3Nob3cnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sbGFwc2VFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIENsb3NlIGFsbCBkcm9wZG93bnMgd2hlbiBzY3JvbGxpbmdcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlQWxsRHJvcGRvd25zKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgNTApO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbkRvY3VtZW50Q2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdJbiBCdXMnKTtcbiAgICAgICAgLy8gQ2xvc2UgYWxsIGRyb3Bkb3ducyB3aGVuIGNsaWNraW5nIG91dHNpZGVcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAoIXRhcmdldC5jbG9zZXN0KCcubmF2LWl0ZW0nKSAmJiAhdGFyZ2V0LmNsb3Nlc3QoJy5wb3B1cCcpKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlQWxsRHJvcGRvd25zKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZUFsbERyb3Bkb3ducygpOiB2b2lkIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0luIHRsdWMnKTtcbiAgICAgICAgaWYgKHRoaXMubmF2YmFySXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMubmF2YmFySXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5vcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlbkRyb3Bkb3duKGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgLy8gQ2xvc2Ugb3RoZXIgZHJvcGRvd25zIGZpcnN0XG4gICAgICAgIHRoaXMubmF2YmFySXRlbXMuZm9yRWFjaChuYXZJdGVtID0+IHtcbiAgICAgICAgICAgIGlmIChuYXZJdGVtICE9PSBpdGVtKSB7XG4gICAgICAgICAgICAgICAgbmF2SXRlbS5vcGVuID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpdGVtLm9wZW4gPSB0cnVlO1xuICAgIH1cblxuICAgIG9uRHJvcGRvd25JdGVtQ2xpY2soaXRlbSk6IHZvaWQge1xuICAgICAgICBpdGVtLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvcGVuRWRpdE5hdmJhck1vZGFsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuYXZiYXJDb25maWcgPSB0aGlzLmFwcENvbmZpZy5wYWdlc19jb25maWc/Lm5hdmJhciB8fCB7fTtcbiAgICAgICAgbmF2YmFyQ29uZmlnLml0ZW1zID0gbmF2YmFyQ29uZmlnLml0ZW1zIHx8IFtdO1xuXG4gICAgICAgIHRoaXMuZWRpdGluZ05hdmJhciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobmF2YmFyQ29uZmlnKSk7XG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4odGhpcy5lZGl0TmF2YmFyTW9kYWwsIHtcbiAgICAgICAgICAgIHNpemU6ICdsZycsXG4gICAgICAgICAgICBjZW50ZXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIHdpbmRvd0NsYXNzOiAnbW9kYWwtaG9sZGVyJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzYXZlTmF2YmFyTGlua3MobW9kYWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdXBkYXRlZENvbmZpZyA9IHtcbiAgICAgICAgICAgIG5hdmJhcjogdGhpcy5lZGl0aW5nTmF2YmFyLFxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uX2lkOiB0aGlzLmlkXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2VcbiAgICAgICAgICAgIC51cGRhdGVEb21haW5Db25maWcodGhpcy5hcHBDb25maWc/LmRvbWFpbl9pZCwgdXBkYXRlZENvbmZpZylcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcygnTmF2YmFyIGxpbmtzIHVwZGF0ZWQnKTtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdmJhckl0ZW1zID0gWy4uLnRoaXMuZWRpdGluZ05hdmJhci5pdGVtc107XG4gICAgICAgICAgICAgICAgbW9kYWwuY2xvc2UoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFkZE5hdmJhckl0ZW0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdGluZ05hdmJhci5pdGVtcy5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgc3VidGl0bGVzOiBbXVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZW1vdmVOYXZiYXJJdGVtKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0aW5nTmF2YmFyLml0ZW1zLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuXG4gICAgYWRkTmF2YmFyU3VidGl0bGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRpbmdOYXZiYXIuaXRlbXNbaW5kZXhdLnN1YnRpdGxlcy5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgICAgIHBhdGg6ICcnXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbW92ZU5hdmJhclN1YnRpdGxlKG5hdkluZGV4OiBudW1iZXIsIHN1YkluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0aW5nTmF2YmFyLml0ZW1zW25hdkluZGV4XS5zdWJ0aXRsZXMuc3BsaWNlKHN1YkluZGV4LCAxKTtcbiAgICB9XG5cbiAgICBkcm9wTmF2YmFySXRlbXMoZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuZWRpdGluZ05hdmJhci5pdGVtcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICB9XG5cbiAgICBkcm9wTmF2YmFyU3VidGl0bGVzKGluZGV4OiBudW1iZXIsIGV2ZW50KTogdm9pZCB7XG4gICAgICAgIG1vdmVJdGVtSW5BcnJheShcbiAgICAgICAgICAgIHRoaXMuZWRpdGluZ05hdmJhci5pdGVtc1tpbmRleF0uc3VidGl0bGVzLFxuICAgICAgICAgICAgZXZlbnQucHJldmlvdXNJbmRleCxcbiAgICAgICAgICAgIGV2ZW50LmN1cnJlbnRJbmRleFxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxuYXYgY2xhc3M9XCJuYXZiYXIgbmF2YmFyLWV4cGFuZC1tZCBuYXZiYXItZGFyayBmaXhlZC10b3AgY2xvdWRvbGl2ZS1uYXYtYmctY29sb3IgcmVzb3VyY2UtaGVhZGVyXCJcbiAgaWQ9XCJiYW5uZXJcIj5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBjb250YWluZXItd3JhcHBlciBiYW5uZXItc2VjdGlvblwiPlxuXG4gICAgPCEtLSBUb2dnbGVyL2NvbGxhcHNpYmUgQnV0dG9uIC0tPlxuICAgIDxidXR0b24gY2xhc3M9XCJuYXZiYXItdG9nZ2xlciBoZWFkZXItbWVudS1iYXJcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBhcmlhLWxhYmVsPVwiVG9nZ2xlIG5hdmlnYXRpb25cIlxuICAgICAgZGF0YS1icy10b2dnbGU9XCJjb2xsYXBzZVwiXG4gICAgICBkYXRhLWJzLXRhcmdldD1cIiNjb2xsYXBzaWJsZU5hdmJhclwiPlxuICAgICAgPGltZyBzcmM9XCIvYXNzZXRzL2ltZy9wcm9kdWN0cy90cmlhbC9uYXZiYXItdG9nZ2xlLWljb24ucG5nXCJcbiAgICAgICAgY2xhc3M9XCJpbWctZmx1aWQgbmF2YmFyLXRvZ2dsZS1pY29uXCJcbiAgICAgICAgYWx0PVwiXCIgLz5cbiAgICA8L2J1dHRvbj5cblxuICAgIDwhLS0gTW9iaWxlIExvZ28gLS0+XG4gICAgPGRpdiBjbGFzcz1cImQtbWQtbm9uZSBtYi1pY29uXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8aW1nIFtzcmNdPVwibG9nb1wiXG4gICAgICAgICAgcm91dGVyTGluaz1cIi9cIlxuICAgICAgICAgIGFsdD1cImxvZ29cIlxuICAgICAgICAgIGNsYXNzPVwiaW1nLWZsdWlkIGxvZ29faW1nXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG5cbiAgICA8aSAqbmdJZj1cInVzZXJMb2dnZWRJbiAmJiB1c2VyPy5hdXRoPy5ncmFudGVkWydQYWdlcy5BZG1pbiddXCJcbiAgICBjbGFzcz1cImZhIGZhLWVkaXQgaW4tcGFnZS1lZGl0LWljb24gY3Vyc29yLXBvaW50ZXIgdGV4dC1ibGFjayBtZS0zXCJcbiAgICAoY2xpY2spPVwib3BlbkxvZ29FZGl0TW9kYWwoKVwiXG4gICAgdGl0bGU9XCJFZGl0IExvZ29cIj48L2k+XG5cblxuICAgIDwhLS0gTmF2YmFyIGxpbmtzIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjb2xsYXBzZSBuYXZiYXItY29sbGFwc2UgbXQtMyBtdC1tZC0wXCJcbiAgICAgIGlkPVwiY29sbGFwc2libGVOYXZiYXJcIlxuICAgICAgI2NvbGxhcHNpYmxlTmF2YmFyPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgdy0xMDBcIj5cblxuICAgICAgICA8IS0tIEFsd2F5cyBvY2N1cHkgMyBjb2x1bW5zIGZvciBsb2dvIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTIgZC1ub25lIGQtbWQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwibG9nb1wiPlxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImxvZ29cIlxuICAgICAgICAgICAgICAobG9hZCk9XCJsb2dvTG9hZGVkID0gdHJ1ZVwiXG4gICAgICAgICAgICAgIChlcnJvcik9XCJsb2dvTG9hZGVkID0gZmFsc2VcIlxuICAgICAgICAgICAgICByb3V0ZXJMaW5rPVwiL1wiXG4gICAgICAgICAgICAgIGFsdD1cImxvZ29cIlxuICAgICAgICAgICAgICBjbGFzcz1cImltZy1mbHVpZCBsb2dvX2ltZ1wiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC03IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnRcIj5cbiAgICAgICAgICA8dWwgI2FuY2hvckxpbmtzXG4gICAgICAgICAgICBjbGFzcz1cIm5hdmJhci1uYXYgZmxleCBnYXAtNCBtZS0wIHdvdyBmYWRlSW5VcCBwb3NpdGlvbi1yZWxhdGl2ZVwiXG4gICAgICAgICAgICBkYXRhLXdvdy1kdXJhdGlvbj1cIjJzXCI+XG5cbiAgICAgICAgICA8aSAqbmdJZj1cInVzZXJMb2dnZWRJbiAmJiB1c2VyPy5hdXRoPy5ncmFudGVkWydQYWdlcy5BZG1pbiddXCJcbiAgICAgICAgICBjbGFzcz1cImZhIGZhLWVkaXQgaW4tcGFnZS1lZGl0LWljb24gY3Vyc29yLXBvaW50ZXIgdGV4dC1ibGFjayBtZS0zXCJcbiAgICAgICAgICAoY2xpY2spPVwib3BlbkVkaXROYXZiYXJNb2RhbCgpXCJcbiAgICAgICAgICB0aXRsZT1cIkVkaXQgTmF2YmFyIExpbmtzXCI+PC9pPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBuYXZiYXJJdGVtc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwib3BlbkRyb3Bkb3duKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3Njcm9sbGVkLW5hdi1saW5rJzogaXNTY3JvbGxlZCB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaXRlbS5zdWJ0aXRsZXM/Lmxlbmd0aCA/IChpdGVtLm9wZW4gPSAhaXRlbS5vcGVuKSA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmhyZWZdPVwiIShpdGVtLnN1YnRpdGxlcz8ubGVuZ3RoKSA/IGl0ZW0ucGF0aCA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3sgaXRlbT8udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIml0ZW0uc3VidGl0bGVzLmxlbmd0aCA+IDAgJiYgaXRlbS5vcGVuXCIgY2xhc3M9XCJmYS1zb2xpZCBmYS1jYXJldC1kb3duXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cCBwb3NpdGlvbi1hYnNvbHV0ZVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5zdWJ0aXRsZXMubGVuZ3RoID4gMCAmJiBpdGVtLm9wZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3ViIG9mIGl0ZW0uc3VidGl0bGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwic3ViLnBhdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duSXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRyb3Bkb3duSXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc3ViLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2xpPlxuXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBtcy0yIG1iLTMgZC1mbGV4IGQtbWQtbm9uZVwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwic2lnbi1idG4gc2lnbi1oZWFkZXItYnRuXCJcbiAgICAgICAgICAgICAgICByb3V0ZXJMaW5rPVwiL2xvZ2luXCI+TG9nIEluPC9idXR0b24+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gQWx3YXlzIDMgY29sdW1ucyBmb3IgbG9naW4gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBkLW5vbmUgZC1tZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwic2lnbi1idG4gc2lnbi1oZWFkZXItYnRuXCJcbiAgICAgICAgICAgIHJvdXRlckxpbms9XCIvbG9naW5cIj5Mb2cgSW48L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmF2PlxuXG5cblxuPG5nLXRlbXBsYXRlICNlZGl0TmF2YmFyTW9kYWwgbGV0LW1vZGFsPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5FZGl0IE5hdmJhciBMaW5rczwvaDU+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+PC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgPGg0IGNsYXNzPVwibWItM1wiPk5hdmJhciBTZWN0aW9uPC9oND5cbiAgICA8ZGl2IGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcE5hdmJhckl0ZW1zKCRldmVudClcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZWRpdGluZ05hdmJhci5pdGVtczsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwiYm9yZGVyIHAtMyBtYi0zXCIgY2RrRHJhZz5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNSBtYi0yXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+VGl0bGU8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJpdGVtLnRpdGxlXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTUgbWItMlwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlBhdGg8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJpdGVtLnBhdGhcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMiBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIG10LTRcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdHJhc2ggaW4tcGFnZS10cmFzaC1pY29uIHRleHQtZGFuZ2VyIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInJlbW92ZU5hdmJhckl0ZW0oaSlcIj48L2k+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWJhcnMgaW4tcGFnZS1iYXJzLWljb24gY3Vyc29yLXBvaW50ZXJcIiBjZGtEcmFnSGFuZGxlPjwvaT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BOYXZiYXJTdWJ0aXRsZXMoaSwgJGV2ZW50KVwiPlxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHN1YiBvZiBpdGVtLnN1YnRpdGxlczsgbGV0IGogPSBpbmRleFwiIGNsYXNzPVwicm93IGJvcmRlciBwLTMgbWItMiBhbGlnbi1pdGVtcy1jZW50ZXJcIiBjZGtEcmFnPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC01XCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5TdWJ0aXRsZSBUaXRsZTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwic3ViLnRpdGxlXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC01XCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5TdWJ0aXRsZSBQYXRoPC9sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJzdWIucGF0aFwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMiBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIG10LTRcIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10cmFzaCBpbi1wYWdlLXRyYXNoLWljb24gdGV4dC1kYW5nZXIgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwicmVtb3ZlTmF2YmFyU3VidGl0bGUoaSwgailcIj48L2k+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtYmFycyBpbi1wYWdlLWJhcnMtaWNvbiBjdXJzb3ItcG9pbnRlclwiIGNka0RyYWdIYW5kbGU+PC9pPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSBidG4tc20gbXQtMlwiIChjbGljayk9XCJhZGROYXZiYXJTdWJ0aXRsZShpKVwiPlxuICAgICAgICAgICsgQWRkIFN1YnRpdGxlXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG10LTNcIiAoY2xpY2spPVwiYWRkTmF2YmFySXRlbSgpXCI+XG4gICAgICArIEFkZCBOYXZiYXIgSXRlbVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPkNhbmNlbDwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwic2F2ZU5hdmJhckxpbmtzKG1vZGFsKVwiPlNhdmU8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG5cblxuXG48bmctdGVtcGxhdGUgI2xvZ29FZGl0TW9kYWwgbGV0LW1vZGFsPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5VcGxvYWQgTG9nbzwvaDU+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+PC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgIDxwdy1jdXN0b20tdXBsb2FkZXJcbiAgICAgIFt0aXRsZV09XCInTWFpbiBMb2dvJ1wiXG4gICAgICBbY29udHJvbE5hbWVdPVwiJ2xvZ29fbWFpbidcIlxuICAgICAgW2FzcGVjdFJhdGlvXT1cIidmdWxsTG9nbydcIlxuICAgICAgW3ByZXZpZXdEYXRhXT1cInsgdXJsOiBsb2dvLCBuYW1lOiAnbG9nb19tYWluLnBuZycgfVwiXG4gICAgICAoc2F2ZUV2ZW50KT1cIm9uU2F2ZUxvZ28oJGV2ZW50KVwiPlxuICAgIDwvcHctY3VzdG9tLXVwbG9hZGVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -16,7 +16,7 @@ import { MultiSelectModule } from 'primeng/multiselect';
|
|
|
16
16
|
import { ProgressSpinnerModule } from 'primeng/progressspinner';
|
|
17
17
|
import { TableModule } from 'primeng/table';
|
|
18
18
|
import { TabMenuModule } from 'primeng/tabmenu';
|
|
19
|
-
import {
|
|
19
|
+
import { NgbModalModule, NgbNavModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
|
|
20
20
|
import { AbAlternativeComponent } from './ab-test/ab-alternative/ab-alternative.component';
|
|
21
21
|
import { AbTestContainerComponent } from './ab-test/ab-test-container/ab-test-container.component';
|
|
22
22
|
import { AuthenticatorComponent } from './authenticator/authenticator.component';
|
|
@@ -82,9 +82,11 @@ export class SharedComponentsModule {
|
|
|
82
82
|
GroupDefinitionComponent,
|
|
83
83
|
NumberPickerComponent,
|
|
84
84
|
HeaderComponent,
|
|
85
|
-
LandingPageFooterBComponent], imports: [
|
|
85
|
+
LandingPageFooterBComponent], imports: [NgbTooltipModule,
|
|
86
|
+
FormsModule,
|
|
86
87
|
ButtonModule,
|
|
87
88
|
DropdownModule,
|
|
89
|
+
NgbModalModule,
|
|
88
90
|
AppLoaderModule,
|
|
89
91
|
ReactiveFormsModule,
|
|
90
92
|
DirectivesModule,
|
|
@@ -95,9 +97,9 @@ export class SharedComponentsModule {
|
|
|
95
97
|
AutoCompleteModule,
|
|
96
98
|
DragDropModule, PipesModule,
|
|
97
99
|
CommonModule,
|
|
98
|
-
NgbModule,
|
|
99
100
|
UiSwitchModule,
|
|
100
|
-
NgIf
|
|
101
|
+
NgIf,
|
|
102
|
+
NgbNavModule], exports: [AbTestContainerComponent,
|
|
101
103
|
AbAlternativeComponent,
|
|
102
104
|
PasswordValidationComponent,
|
|
103
105
|
CustomUploaderComponent,
|
|
@@ -129,9 +131,11 @@ export class SharedComponentsModule {
|
|
|
129
131
|
NumberPickerComponent,
|
|
130
132
|
HeaderComponent,
|
|
131
133
|
LandingPageFooterBComponent] }); }
|
|
132
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SharedComponentsModule, imports: [
|
|
134
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SharedComponentsModule, imports: [NgbTooltipModule,
|
|
135
|
+
FormsModule,
|
|
133
136
|
ButtonModule,
|
|
134
137
|
DropdownModule,
|
|
138
|
+
NgbModalModule,
|
|
135
139
|
AppLoaderModule,
|
|
136
140
|
ReactiveFormsModule,
|
|
137
141
|
DirectivesModule,
|
|
@@ -141,8 +145,8 @@ export class SharedComponentsModule {
|
|
|
141
145
|
primeNgModules,
|
|
142
146
|
PipesModule,
|
|
143
147
|
CommonModule,
|
|
144
|
-
|
|
145
|
-
|
|
148
|
+
UiSwitchModule,
|
|
149
|
+
NgbNavModule, ImageCropperModule, MultiSelectModule,
|
|
146
150
|
TabMenuModule,
|
|
147
151
|
ProgressSpinnerModule,
|
|
148
152
|
TableModule,
|
|
@@ -182,9 +186,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
182
186
|
LandingPageFooterBComponent
|
|
183
187
|
],
|
|
184
188
|
imports: [
|
|
189
|
+
NgbTooltipModule,
|
|
185
190
|
FormsModule,
|
|
186
191
|
ButtonModule,
|
|
187
192
|
DropdownModule,
|
|
193
|
+
NgbModalModule,
|
|
188
194
|
AppLoaderModule,
|
|
189
195
|
ReactiveFormsModule,
|
|
190
196
|
DirectivesModule,
|
|
@@ -194,9 +200,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
194
200
|
primeNgModules,
|
|
195
201
|
PipesModule,
|
|
196
202
|
CommonModule,
|
|
197
|
-
NgbModule,
|
|
198
203
|
UiSwitchModule,
|
|
199
|
-
NgIf
|
|
204
|
+
NgIf,
|
|
205
|
+
NgbNavModule
|
|
200
206
|
],
|
|
201
207
|
exports: [
|
|
202
208
|
AbTestContainerComponent,
|
|
@@ -231,4 +237,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
231
237
|
]
|
|
232
238
|
}]
|
|
233
239
|
}] });
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbXBvbmVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9zaGFyZWQtY29tcG9uZW50cy9zcmMvbGliL3NoYXJlZC1jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDbkcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDakYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzlGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDbEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7O0FBRXpGLE1BQU0sY0FBYyxHQUFHO0lBQ25CLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsY0FBYztDQUNqQixDQUFDO0FBaUZGLE1BQU0sT0FBTyxzQkFBc0I7K0dBQXRCLHNCQUFzQjtnSEFBdEIsc0JBQXNCLGlCQTdFM0Isd0JBQXdCO1lBQ3hCLHNCQUFzQjtZQUN0QiwyQkFBMkI7WUFDM0IsdUJBQXVCO1lBQ3ZCLDRCQUE0QjtZQUM1QixlQUFlO1lBQ2YsdUJBQXVCO1lBQ3ZCLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIsdUJBQXVCO1lBQ3ZCLDBCQUEwQjtZQUMxQixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLHNCQUFzQjtZQUN0Qix3QkFBd0I7WUFDeEIsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixzQkFBc0I7WUFDdEIscUJBQXFCO1lBQ3JCLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2Ysb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZix3QkFBd0I7WUFDeEIscUJBQXFCO1lBQ3JCLGVBQWU7WUFDZiwyQkFBMkIsYUFHM0IsV0FBVztZQUNYLFlBQVk7WUFDWixjQUFjO1lBQ2QsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsbUJBQW1CLDJCQUVuQixrQkFBa0IsRUEvQ3RCLGlCQUFpQjtZQUNqQixhQUFhO1lBQ2IscUJBQXFCO1lBQ3JCLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsY0FBYyxFQTRDVixXQUFXO1lBQ1gsWUFBWTtZQUNaLFNBQVM7WUFDVCxjQUFjO1lBQ2QsSUFBSSxhQUdKLHdCQUF3QjtZQUN4QixzQkFBc0I7WUFDdEIsMkJBQTJCO1lBQzNCLHVCQUF1QjtZQUN2Qiw0QkFBNEI7WUFDNUIsa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZix1QkFBdUI7WUFDdkIsd0JBQXdCLEVBaEU1QixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLHFCQUFxQjtZQUNyQixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLGNBQWMsRUE2RFYsdUJBQXVCO1lBQ3ZCLHVCQUF1QjtZQUN2QiwwQkFBMEI7WUFDMUIsa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0QixzQkFBc0I7WUFDdEIsd0JBQXdCO1lBQ3hCLGVBQWU7WUFDZixvQkFBb0I7WUFDcEIsc0JBQXNCO1lBQ3RCLHFCQUFxQjtZQUNyQixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixlQUFlO1lBQ2Ysd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQixlQUFlO1lBQ2YsMkJBQTJCO2dIQUd0QixzQkFBc0IsWUFoRDNCLFdBQVc7WUFDWCxZQUFZO1lBQ1osY0FBYztZQUNkLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixvQkFBb0IsQ0FBQyxPQUFPLEVBQUU7WUFDOUIsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxXQUFXO1lBQ1gsWUFBWTtZQUNaLFNBQVM7WUFDVCxjQUFjLEVBU2Qsa0JBQWtCLEVBN0R0QixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLHFCQUFxQjtZQUNyQixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLGNBQWM7OzRGQWtGTCxzQkFBc0I7a0JBL0VsQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQix1QkFBdUI7d0JBQ3ZCLDRCQUE0Qjt3QkFDNUIsZUFBZTt3QkFDZix1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLDBCQUEwQjt3QkFDMUIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4QixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2Ysd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsMkJBQTJCO3FCQUM5QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixvQkFBb0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlCLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxjQUFjO3dCQUNkLElBQUk7cUJBQ1A7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QiwyQkFBMkI7d0JBQzNCLHVCQUF1Qjt3QkFDdkIsNEJBQTRCO3dCQUM1QixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLGNBQWM7d0JBQ2QsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLDBCQUEwQjt3QkFDMUIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4QixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2Ysd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsMkJBQTJCO3FCQUM5QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBBcHBMb2FkZXJNb2R1bGUgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWxvYWRlcic7XG5pbXBvcnQgeyBDb3JlVHJhbnNsb2NvTW9kdWxlIH0gZnJvbSAnQHBvc2l3aXNlL2NvcmUtdHJhbnNsb2NvJztcbmltcG9ydCB7IERpcmVjdGl2ZXNNb2R1bGUgfSBmcm9tICdAcG9zaXdpc2UvZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJ0Bwb3Npd2lzZS9waXBlcyc7XG5cbmltcG9ydCB7IE5neERhdGVyYW5nZXBpY2tlck1kIH0gZnJvbSAnbmd4LWRhdGVyYW5nZXBpY2tlci1tYXRlcmlhbCc7XG5pbXBvcnQgeyBJbWFnZUNyb3BwZXJNb2R1bGUgfSBmcm9tICduZ3gtaW1hZ2UtY3JvcHBlcic7XG5pbXBvcnQgeyBVaVN3aXRjaE1vZHVsZSB9IGZyb20gJ25neC11aS1zd2l0Y2gnO1xuaW1wb3J0IHsgQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcbmltcG9ydCB7IE11bHRpU2VsZWN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tdWx0aXNlbGVjdCc7XG5pbXBvcnQgeyBQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Byb2dyZXNzc3Bpbm5lcic7XG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xuaW1wb3J0IHsgVGFiTWVudU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFibWVudSc7XG5cbmltcG9ydCB7IE5nYk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuaW1wb3J0IHsgQWJBbHRlcm5hdGl2ZUNvbXBvbmVudCB9IGZyb20gJy4vYWItdGVzdC9hYi1hbHRlcm5hdGl2ZS9hYi1hbHRlcm5hdGl2ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWJUZXN0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9hYi10ZXN0L2FiLXRlc3QtY29udGFpbmVyL2FiLXRlc3QtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRoZW50aWNhdG9yL2F1dGhlbnRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IENsZWFyQml0SWNvbkNvbXBvbmVudCB9IGZyb20gJy4vY2xlYXJiaXQtaWNvbi9jbGVhcmJpdC1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21pbmdTb29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21pbmctc29vbi9jb21pbmctc29vbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tVXBsb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS11cGxvYWRlci9jdXN0b20tdXBsb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERlbW9DYXJkc0NvbXBvbmVudCB9IGZyb20gJy4vZGVtby1jYXJkcy9kZW1vLWNhcmRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZEVycm9yRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4vZmllbGQtZXJyb3ItZGlzcGxheS9maWVsZC1lcnJvci1kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW9UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZ2VvLXRlbXBsYXRlL2dlby10ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9maWxlSW1hZ2VDcm9wcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS1jcm9wcGVyL2ltYWdlLWNyb3BwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC1jb250YWluZXIvaW5wdXQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbnRpdHlHcm91cENvbXBvbmVudCB9IGZyb20gJy4vbGFiZWwtbWFuYWdlbWVudC9lbnRpdHktZ3JvdXAvZW50aXR5LWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcm91cERlZmluaXRpb25Db21wb25lbnQgfSBmcm9tICcuL2xhYmVsLW1hbmFnZW1lbnQvZ3JvdXAtZGVmaW5pdGlvbi9ncm91cC1kZWZpbml0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcm91cHNDb21wb25lbnQgfSBmcm9tICcuL2xhYmVsLW1hbmFnZW1lbnQvZ3JvdXBzL2dyb3Vwcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFuZGluZ1BhZ2VGb290ZXJCQ29tcG9uZW50IH0gZnJvbSAnLi9sYW5kaW5nLXBhZ2UtZm9vdGVyLWIvbGFuZGluZy1wYWdlLWZvb3Rlci1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb0RhdGFDb21wb25lbnQgfSBmcm9tICcuL25vLWRhdGEvbm8tZGF0YS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnVtYmVyUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9udW1iZXItcGlja2VyL251bWJlci1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBhc3N3b3JkVmFsaWRhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcGFzc3dvcmQtdmFsaWRhdGlvbi9wYXNzd29yZC12YWxpZGF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uVHJlZUNvbXBvbmVudCB9IGZyb20gJy4vcGVybWlzc2lvbi10cmVlL3Blcm1pc3Npb24tdHJlZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJpdmFjeUFuZFRvc0NvbXBvbmVudCB9IGZyb20gJy4vcHJpdmFjeS1hbmQtdG9zL3ByaXZhY3ktYW5kLXRvcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJpdmFjeVBvbGljeUNvbXBvbmVudCB9IGZyb20gJy4vcHJpdmFjeS1wb2xpY3kvcHJpdmFjeS1wb2xpY3kuY29tcG9uZW50JztcbmltcG9ydCB7IFB3VGFic0NvbXBvbmVudCB9IGZyb20gJy4vcHctdGFicy9wdy10YWJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL3JhbmdlLWRhdGUtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXNvdXJjZUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vcmVzb3VyY2UtaGVhZGVyL3Jlc291cmNlLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3BsYXNoQ29tcG9uZW50IH0gZnJvbSAnLi9zcGxhc2gvc3BsYXNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXJtc0NvbmRpdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL3Rlcm1zLWNvbmRpdGlvbnMvdGVybXMtY29uZGl0aW9ucy5jb21wb25lbnQnO1xuXG5jb25zdCBwcmltZU5nTW9kdWxlcyA9IFtcbiAgICBNdWx0aVNlbGVjdE1vZHVsZSxcbiAgICBUYWJNZW51TW9kdWxlLFxuICAgIFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBUYWJsZU1vZHVsZSxcbiAgICBBdXRvQ29tcGxldGVNb2R1bGUsXG4gICAgRHJhZ0Ryb3BNb2R1bGVcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEFiVGVzdENvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgQWJBbHRlcm5hdGl2ZUNvbXBvbmVudCxcbiAgICAgICAgUGFzc3dvcmRWYWxpZGF0aW9uQ29tcG9uZW50LFxuICAgICAgICBDdXN0b21VcGxvYWRlckNvbXBvbmVudCxcbiAgICAgICAgUHJvZmlsZUltYWdlQ3JvcHBlckNvbXBvbmVudCxcbiAgICAgICAgUHdUYWJzQ29tcG9uZW50LFxuICAgICAgICBSZXNvdXJjZUhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LFxuICAgICAgICBQZXJtaXNzaW9uVHJlZUNvbXBvbmVudCxcbiAgICAgICAgSW5wdXRDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgIEZpZWxkRXJyb3JEaXNwbGF5Q29tcG9uZW50LFxuICAgICAgICBEZW1vQ2FyZHNDb21wb25lbnQsXG4gICAgICAgIFByaXZhY3lBbmRUb3NDb21wb25lbnQsXG4gICAgICAgIFByaXZhY3lQb2xpY3lDb21wb25lbnQsXG4gICAgICAgIFRlcm1zQ29uZGl0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgU3BsYXNoQ29tcG9uZW50LFxuICAgICAgICBHZW9UZW1wbGF0ZUNvbXBvbmVudCxcbiAgICAgICAgQXV0aGVudGljYXRvckNvbXBvbmVudCxcbiAgICAgICAgQ2xlYXJCaXRJY29uQ29tcG9uZW50LFxuICAgICAgICBDb21pbmdTb29uQ29tcG9uZW50LFxuICAgICAgICBOb0RhdGFDb21wb25lbnQsXG4gICAgICAgIEVudGl0eUdyb3VwQ29tcG9uZW50LFxuICAgICAgICBHcm91cHNDb21wb25lbnQsXG4gICAgICAgIEdyb3VwRGVmaW5pdGlvbkNvbXBvbmVudCxcbiAgICAgICAgTnVtYmVyUGlja2VyQ29tcG9uZW50LFxuICAgICAgICBIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlRm9vdGVyQkNvbXBvbmVudFxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxuICAgICAgICBEcm9wZG93bk1vZHVsZSxcbiAgICAgICAgQXBwTG9hZGVyTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBEaXJlY3RpdmVzTW9kdWxlLFxuICAgICAgICBDb3JlVHJhbnNsb2NvTW9kdWxlLFxuICAgICAgICBOZ3hEYXRlcmFuZ2VwaWNrZXJNZC5mb3JSb290KCksXG4gICAgICAgIEltYWdlQ3JvcHBlck1vZHVsZSxcbiAgICAgICAgcHJpbWVOZ01vZHVsZXMsXG4gICAgICAgIFBpcGVzTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE5nYk1vZHVsZSxcbiAgICAgICAgVWlTd2l0Y2hNb2R1bGUsXG4gICAgICAgIE5nSWZcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgQWJUZXN0Q29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBBYkFsdGVybmF0aXZlQ29tcG9uZW50LFxuICAgICAgICBQYXNzd29yZFZhbGlkYXRpb25Db21wb25lbnQsXG4gICAgICAgIEN1c3RvbVVwbG9hZGVyQ29tcG9uZW50LFxuICAgICAgICBQcm9maWxlSW1hZ2VDcm9wcGVyQ29tcG9uZW50LFxuICAgICAgICBJbWFnZUNyb3BwZXJNb2R1bGUsXG4gICAgICAgIFB3VGFic0NvbXBvbmVudCxcbiAgICAgICAgUmVzb3VyY2VIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIERhdGVSYW5nZVBpY2tlckNvbXBvbmVudCxcbiAgICAgICAgcHJpbWVOZ01vZHVsZXMsXG4gICAgICAgIFBlcm1pc3Npb25UcmVlQ29tcG9uZW50LFxuICAgICAgICBJbnB1dENvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgRmllbGRFcnJvckRpc3BsYXlDb21wb25lbnQsXG4gICAgICAgIERlbW9DYXJkc0NvbXBvbmVudCxcbiAgICAgICAgUHJpdmFjeUFuZFRvc0NvbXBvbmVudCxcbiAgICAgICAgUHJpdmFjeVBvbGljeUNvbXBvbmVudCxcbiAgICAgICAgVGVybXNDb25kaXRpb25zQ29tcG9uZW50LFxuICAgICAgICBTcGxhc2hDb21wb25lbnQsXG4gICAgICAgIEdlb1RlbXBsYXRlQ29tcG9uZW50LFxuICAgICAgICBBdXRoZW50aWNhdG9yQ29tcG9uZW50LFxuICAgICAgICBDbGVhckJpdEljb25Db21wb25lbnQsXG4gICAgICAgIENvbWluZ1Nvb25Db21wb25lbnQsXG4gICAgICAgIE5vRGF0YUNvbXBvbmVudCxcbiAgICAgICAgRW50aXR5R3JvdXBDb21wb25lbnQsXG4gICAgICAgIEdyb3Vwc0NvbXBvbmVudCxcbiAgICAgICAgR3JvdXBEZWZpbml0aW9uQ29tcG9uZW50LFxuICAgICAgICBOdW1iZXJQaWNrZXJDb21wb25lbnQsXG4gICAgICAgIEhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VGb290ZXJCQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRDb21wb25lbnRzTW9kdWxlIHt9XG4iXX0=
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbXBvbmVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9zaGFyZWQtY29tcG9uZW50cy9zcmMvbGliL3NoYXJlZC1jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNo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QWM7d0JBQ2QsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLDBCQUEwQjt3QkFDMUIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4QixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2Ysd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsMkJBQTJCO3FCQUM5QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBBcHBMb2FkZXJNb2R1bGUgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWxvYWRlcic7XG5pbXBvcnQgeyBDb3JlVHJhbnNsb2NvTW9kdWxlIH0gZnJvbSAnQHBvc2l3aXNlL2NvcmUtdHJhbnNsb2NvJztcbmltcG9ydCB7IERpcmVjdGl2ZXNNb2R1bGUgfSBmcm9tICdAcG9zaXdpc2UvZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJ0Bwb3Npd2lzZS9waXBlcyc7XG5cbmltcG9ydCB7IE5neERhdGVyYW5nZXBpY2tlck1kIH0gZnJvbSAnbmd4LWRhdGVyYW5nZXBpY2tlci1tYXRlcmlhbCc7XG5pbXBvcnQgeyBJbWFnZUNyb3BwZXJNb2R1bGUgfSBmcm9tICduZ3gtaW1hZ2UtY3JvcHBlcic7XG5pbXBvcnQgeyBVaVN3aXRjaE1vZHVsZSB9IGZyb20gJ25neC11aS1zd2l0Y2gnO1xuaW1wb3J0IHsgQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcbmltcG9ydCB7IE11bHRpU2VsZWN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tdWx0aXNlbGVjdCc7XG5pbXBvcnQgeyBQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Byb2dyZXNzc3Bpbm5lcic7XG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xuaW1wb3J0IHsgVGFiTWVudU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFibWVudSc7XG5cbmltcG9ydCB7IE5nYk1vZGFsTW9kdWxlLCBOZ2JOYXZNb2R1bGUsIE5nYlRvb2x0aXBNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbmltcG9ydCB7IEFiQWx0ZXJuYXRpdmVDb21wb25lbnQgfSBmcm9tICcuL2FiLXRlc3QvYWItYWx0ZXJuYXRpdmUvYWItYWx0ZXJuYXRpdmUuY29tcG9uZW50JztcbmltcG9ydCB7IEFiVGVzdENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vYWItdGVzdC9hYi10ZXN0LWNvbnRhaW5lci9hYi10ZXN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4vYXV0aGVudGljYXRvci9hdXRoZW50aWNhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDbGVhckJpdEljb25Db21wb25lbnQgfSBmcm9tICcuL2NsZWFyYml0LWljb24vY2xlYXJiaXQtaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29taW5nU29vbkNvbXBvbmVudCB9IGZyb20gJy4vY29taW5nLXNvb24vY29taW5nLXNvb24uY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbVVwbG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tdXBsb2FkZXIvY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZW1vQ2FyZHNDb21wb25lbnQgfSBmcm9tICcuL2RlbW8tY2FyZHMvZGVtby1jYXJkcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmllbGRFcnJvckRpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuL2ZpZWxkLWVycm9yLWRpc3BsYXkvZmllbGQtZXJyb3ItZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VvVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2dlby10ZW1wbGF0ZS9nZW8tdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZmlsZUltYWdlQ3JvcHBlckNvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtY3JvcHBlci9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtY29udGFpbmVyL2lucHV0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW50aXR5R3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2xhYmVsLW1hbmFnZW1lbnQvZW50aXR5LWdyb3VwL2VudGl0eS1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JvdXBEZWZpbml0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9sYWJlbC1tYW5hZ2VtZW50L2dyb3VwLWRlZmluaXRpb24vZ3JvdXAtZGVmaW5pdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JvdXBzQ29tcG9uZW50IH0gZnJvbSAnLi9sYWJlbC1tYW5hZ2VtZW50L2dyb3Vwcy9ncm91cHMuY29tcG9uZW50JztcbmltcG9ydCB7IExhbmRpbmdQYWdlRm9vdGVyQkNvbXBvbmVudCB9IGZyb20gJy4vbGFuZGluZy1wYWdlLWZvb3Rlci1iL2xhbmRpbmctcGFnZS1mb290ZXItYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9EYXRhQ29tcG9uZW50IH0gZnJvbSAnLi9uby1kYXRhL25vLWRhdGEuY29tcG9uZW50JztcbmltcG9ydCB7IE51bWJlclBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vbnVtYmVyLXBpY2tlci9udW1iZXItcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYXNzd29yZFZhbGlkYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3Bhc3N3b3JkLXZhbGlkYXRpb24vcGFzc3dvcmQtdmFsaWRhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVybWlzc2lvblRyZWVDb21wb25lbnQgfSBmcm9tICcuL3Blcm1pc3Npb24tdHJlZS9wZXJtaXNzaW9uLXRyZWUuY29tcG9uZW50JztcbmltcG9ydCB7IFByaXZhY3lBbmRUb3NDb21wb25lbnQgfSBmcm9tICcuL3ByaXZhY3ktYW5kLXRvcy9wcml2YWN5LWFuZC10b3MuY29tcG9uZW50JztcbmltcG9ydCB7IFByaXZhY3lQb2xpY3lDb21wb25lbnQgfSBmcm9tICcuL3ByaXZhY3ktcG9saWN5L3ByaXZhY3ktcG9saWN5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQd1RhYnNDb21wb25lbnQgfSBmcm9tICcuL3B3LXRhYnMvcHctdGFicy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9yYW5nZS1kYXRlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzb3VyY2VIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3Jlc291cmNlLWhlYWRlci9yZXNvdXJjZS1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNwbGFzaENvbXBvbmVudCB9IGZyb20gJy4vc3BsYXNoL3NwbGFzaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVybXNDb25kaXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi90ZXJtcy1jb25kaXRpb25zL3Rlcm1zLWNvbmRpdGlvbnMuY29tcG9uZW50JztcblxuY29uc3QgcHJpbWVOZ01vZHVsZXMgPSBbXG4gICAgTXVsdGlTZWxlY3RNb2R1bGUsXG4gICAgVGFiTWVudU1vZHVsZSxcbiAgICBQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgVGFibGVNb2R1bGUsXG4gICAgQXV0b0NvbXBsZXRlTW9kdWxlLFxuICAgIERyYWdEcm9wTW9kdWxlXG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBBYlRlc3RDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgIEFiQWx0ZXJuYXRpdmVDb21wb25lbnQsXG4gICAgICAgIFBhc3N3b3JkVmFsaWRhdGlvbkNvbXBvbmVudCxcbiAgICAgICAgQ3VzdG9tVXBsb2FkZXJDb21wb25lbnQsXG4gICAgICAgIFByb2ZpbGVJbWFnZUNyb3BwZXJDb21wb25lbnQsXG4gICAgICAgIFB3VGFic0NvbXBvbmVudCxcbiAgICAgICAgUmVzb3VyY2VIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIERhdGVSYW5nZVBpY2tlckNvbXBvbmVudCxcbiAgICAgICAgUGVybWlzc2lvblRyZWVDb21wb25lbnQsXG4gICAgICAgIElucHV0Q29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBGaWVsZEVycm9yRGlzcGxheUNvbXBvbmVudCxcbiAgICAgICAgRGVtb0NhcmRzQ29tcG9uZW50LFxuICAgICAgICBQcml2YWN5QW5kVG9zQ29tcG9uZW50LFxuICAgICAgICBQcml2YWN5UG9saWN5Q29tcG9uZW50LFxuICAgICAgICBUZXJtc0NvbmRpdGlvbnNDb21wb25lbnQsXG4gICAgICAgIFNwbGFzaENvbXBvbmVudCxcbiAgICAgICAgR2VvVGVtcGxhdGVDb21wb25lbnQsXG4gICAgICAgIEF1dGhlbnRpY2F0b3JDb21wb25lbnQsXG4gICAgICAgIENsZWFyQml0SWNvbkNvbXBvbmVudCxcbiAgICAgICAgQ29taW5nU29vbkNvbXBvbmVudCxcbiAgICAgICAgTm9EYXRhQ29tcG9uZW50LFxuICAgICAgICBFbnRpdHlHcm91cENvbXBvbmVudCxcbiAgICAgICAgR3JvdXBzQ29tcG9uZW50LFxuICAgICAgICBHcm91cERlZmluaXRpb25Db21wb25lbnQsXG4gICAgICAgIE51bWJlclBpY2tlckNvbXBvbmVudCxcbiAgICAgICAgSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZUZvb3RlckJDb21wb25lbnRcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdiVG9vbHRpcE1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIE5nYk1vZGFsTW9kdWxlLFxuICAgICAgICBBcHBMb2FkZXJNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIERpcmVjdGl2ZXNNb2R1bGUsXG4gICAgICAgIENvcmVUcmFuc2xvY29Nb2R1bGUsXG4gICAgICAgIE5neERhdGVyYW5nZXBpY2tlck1kLmZvclJvb3QoKSxcbiAgICAgICAgSW1hZ2VDcm9wcGVyTW9kdWxlLFxuICAgICAgICBwcmltZU5nTW9kdWxlcyxcbiAgICAgICAgUGlwZXNNb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVWlTd2l0Y2hNb2R1bGUsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIE5nYk5hdk1vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBBYlRlc3RDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgIEFiQWx0ZXJuYXRpdmVDb21wb25lbnQsXG4gICAgICAgIFBhc3N3b3JkVmFsaWRhdGlvbkNvbXBvbmVudCxcbiAgICAgICAgQ3VzdG9tVXBsb2FkZXJDb21wb25lbnQsXG4gICAgICAgIFByb2ZpbGVJbWFnZUNyb3BwZXJDb21wb25lbnQsXG4gICAgICAgIEltYWdlQ3JvcHBlck1vZHVsZSxcbiAgICAgICAgUHdUYWJzQ29tcG9uZW50LFxuICAgICAgICBSZXNvdXJjZUhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LFxuICAgICAgICBwcmltZU5nTW9kdWxlcyxcbiAgICAgICAgUGVybWlzc2lvblRyZWVDb21wb25lbnQsXG4gICAgICAgIElucHV0Q29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBGaWVsZEVycm9yRGlzcGxheUNvbXBvbmVudCxcbiAgICAgICAgRGVtb0NhcmRzQ29tcG9uZW50LFxuICAgICAgICBQcml2YWN5QW5kVG9zQ29tcG9uZW50LFxuICAgICAgICBQcml2YWN5UG9saWN5Q29tcG9uZW50LFxuICAgICAgICBUZXJtc0NvbmRpdGlvbnNDb21wb25lbnQsXG4gICAgICAgIFNwbGFzaENvbXBvbmVudCxcbiAgICAgICAgR2VvVGVtcGxhdGVDb21wb25lbnQsXG4gICAgICAgIEF1dGhlbnRpY2F0b3JDb21wb25lbnQsXG4gICAgICAgIENsZWFyQml0SWNvbkNvbXBvbmVudCxcbiAgICAgICAgQ29taW5nU29vbkNvbXBvbmVudCxcbiAgICAgICAgTm9EYXRhQ29tcG9uZW50LFxuICAgICAgICBFbnRpdHlHcm91cENvbXBvbmVudCxcbiAgICAgICAgR3JvdXBzQ29tcG9uZW50LFxuICAgICAgICBHcm91cERlZmluaXRpb25Db21wb25lbnQsXG4gICAgICAgIE51bWJlclBpY2tlckNvbXBvbmVudCxcbiAgICAgICAgSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZUZvb3RlckJDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZENvbXBvbmVudHNNb2R1bGUge31cbiJdfQ==
|