@rangertechnologies/ngnxt 2.1.252 → 2.1.254
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/environments/version.mjs +2 -2
- package/esm2022/lib/components/button/nxt-button.component.mjs +4 -4
- package/esm2022/lib/components/custom-calendar/custom-calendar.component.mjs +8 -5
- package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +13 -14
- package/esm2022/lib/components/custom-model/custom-model.component.mjs +5 -3
- package/esm2022/lib/components/custom-radio/custom-radio.component.mjs +11 -12
- package/esm2022/lib/components/datatable/datatable.component.mjs +7 -21
- package/esm2022/lib/components/file-upload/file-upload.component.mjs +13 -16
- package/esm2022/lib/components/icon-selector/icon-selector.component.mjs +5 -3
- package/esm2022/lib/components/list-view-filter/list-view-filter.component.mjs +9 -9
- package/esm2022/lib/components/nxt-input/nxt-input.component.mjs +24 -12
- package/esm2022/lib/components/pagination/pagination.component.mjs +3 -3
- package/esm2022/lib/components/pick-location/pick-location.component.mjs +10 -13
- package/esm2022/lib/components/search-box/search-box.component.mjs +14 -15
- package/esm2022/lib/model/bookletWrapper.mjs +1 -3
- package/esm2022/lib/nxt-app.module.mjs +9 -33
- package/esm2022/lib/pages/booklet/booklet.component.mjs +33 -100
- package/esm2022/lib/pages/builder/element/element.component.mjs +68 -61
- package/esm2022/lib/pages/builder/form/form.component.mjs +6 -3
- package/esm2022/lib/pages/builder/properties/common-fields.constants.mjs +11 -11
- package/esm2022/lib/pages/builder/properties/properties.component.mjs +235 -78
- package/esm2022/lib/pages/builder/templates/templates.component.mjs +5 -4
- package/esm2022/lib/pages/pdfDesigner/pdf-designer/pdf-designer.component.mjs +5 -46
- package/esm2022/lib/pages/pdfDesigner/pdf-properties/pdf-properties.component.mjs +50 -57
- package/esm2022/lib/pages/questionbook/questionbook.component.mjs +20 -59
- package/esm2022/lib/pages/questionnaire/questionnaire.component.mjs +17 -30
- package/esm2022/lib/pipe/custom-translate.pipe.mjs +21 -14
- package/esm2022/lib/pipe/svg/svg.pipe.mjs +26 -0
- package/esm2022/lib/services/change/change.service.mjs +46 -0
- package/esm2022/lib/services/country/country.service.mjs +135 -0
- package/esm2022/lib/services/data/data.service.mjs +100 -0
- package/esm2022/lib/services/form-builder/form-builder.service.mjs +474 -0
- package/esm2022/lib/services/pdf-designer/pdf-designer.service.mjs +395 -0
- package/esm2022/lib/services/salesforce/salesforce.service.mjs +41 -0
- package/esm2022/lib/services/shared/shared.service.mjs +100 -0
- package/esm2022/lib/services/storage/storage.service.mjs +59 -0
- package/esm2022/lib/services/template/template.service.mjs +335 -0
- package/esm2022/lib/services/translation/translation.service.mjs +121 -0
- package/esm2022/public-api.mjs +2 -5
- package/fesm2022/rangertechnologies-ngnxt.mjs +1147 -1285
- package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
- package/lib/components/button/nxt-button.component.d.ts +1 -1
- package/lib/components/custom-calendar/custom-calendar.component.d.ts +1 -1
- package/lib/components/custom-dropdown/custom-dropdown.component.d.ts +3 -5
- package/lib/components/custom-radio/custom-radio.component.d.ts +3 -5
- package/lib/components/datatable/datatable.component.d.ts +3 -4
- package/lib/components/file-upload/file-upload.component.d.ts +3 -5
- package/lib/components/image-cropper/component/image-cropper.component.d.ts +1 -1
- package/lib/components/nxt-input/nxt-input.component.d.ts +2 -2
- package/lib/components/pick-location/pick-location.component.d.ts +1 -3
- package/lib/components/search-box/search-box.component.d.ts +5 -7
- package/lib/model/bookletWrapper.d.ts +0 -1
- package/lib/nxt-app.module.d.ts +15 -17
- package/lib/pages/booklet/booklet.component.d.ts +9 -11
- package/lib/pages/builder/element/element.component.d.ts +10 -7
- package/lib/pages/builder/form/form.component.d.ts +2 -1
- package/lib/pages/builder/properties/properties.component.d.ts +39 -7
- package/lib/pages/builder/templates/templates.component.d.ts +1 -1
- package/lib/pages/pdfDesigner/pdf-designer/pdf-designer.component.d.ts +1 -4
- package/lib/pages/pdfDesigner/pdf-properties/pdf-properties.component.d.ts +19 -2
- package/lib/pages/questionbook/questionbook.component.d.ts +7 -12
- package/lib/pages/questionnaire/questionnaire.component.d.ts +7 -9
- package/lib/pipe/custom-translate.pipe.d.ts +3 -4
- package/lib/pipe/svg/svg.pipe.d.ts +10 -0
- package/lib/services/{form-builder.service.d.ts → form-builder/form-builder.service.d.ts} +3 -2
- package/lib/services/{pdf-designer.service.d.ts → pdf-designer/pdf-designer.service.d.ts} +1 -1
- package/lib/services/{storage.service.d.ts → storage/storage.service.d.ts} +2 -2
- package/lib/services/{translation.service.d.ts → translation/translation.service.d.ts} +12 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -3
- package/rangertechnologies-ngnxt-2.1.254.tgz +0 -0
- package/esm2022/lib/ar.i18n.mjs +0 -29
- package/esm2022/lib/en.i18n.mjs +0 -29
- package/esm2022/lib/i18n-config.service.mjs +0 -4
- package/esm2022/lib/i18n.component.mjs +0 -45
- package/esm2022/lib/i18n.module.mjs +0 -38
- package/esm2022/lib/i18n.pipe.mjs +0 -26
- package/esm2022/lib/i18n.service.mjs +0 -56
- package/esm2022/lib/interfaces/apimeta.mjs +0 -2
- package/esm2022/lib/services/change.service.mjs +0 -46
- package/esm2022/lib/services/country.service.mjs +0 -135
- package/esm2022/lib/services/data.service.mjs +0 -100
- package/esm2022/lib/services/form-builder.service.mjs +0 -402
- package/esm2022/lib/services/pdf-designer.service.mjs +0 -398
- package/esm2022/lib/services/salesforce.service.mjs +0 -41
- package/esm2022/lib/services/shared.service.mjs +0 -100
- package/esm2022/lib/services/storage.service.mjs +0 -59
- package/esm2022/lib/services/template.service.mjs +0 -351
- package/esm2022/lib/services/translation.service.mjs +0 -61
- package/esm2022/lib/tam.i18n.mjs +0 -29
- package/lib/ar.i18n.d.ts +0 -24
- package/lib/en.i18n.d.ts +0 -24
- package/lib/i18n-config.service.d.ts +0 -2
- package/lib/i18n.component.d.ts +0 -11
- package/lib/i18n.module.d.ts +0 -9
- package/lib/i18n.pipe.d.ts +0 -10
- package/lib/i18n.service.d.ts +0 -14
- package/lib/interfaces/apimeta.d.ts +0 -15
- package/lib/tam.i18n.d.ts +0 -24
- package/rangertechnologies-ngnxt-2.1.252.tgz +0 -0
- /package/lib/services/{change.service.d.ts → change/change.service.d.ts} +0 -0
- /package/lib/services/{country.service.d.ts → country/country.service.d.ts} +0 -0
- /package/lib/services/{data.service.d.ts → data/data.service.d.ts} +0 -0
- /package/lib/services/{salesforce.service.d.ts → salesforce/salesforce.service.d.ts} +0 -0
- /package/lib/services/{shared.service.d.ts → shared/shared.service.d.ts} +0 -0
- /package/lib/services/{template.service.d.ts → template/template.service.d.ts} +0 -0
|
@@ -3,6 +3,8 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { FormsModule } from '@angular/forms';
|
|
5
5
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
6
|
+
import { NxtCustomTranslatePipe } from "../../pipe/custom-translate.pipe";
|
|
7
|
+
import { SvgPipe } from '../../pipe/svg/svg.pipe';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
import * as i1 from "@angular/platform-browser";
|
|
8
10
|
import * as i2 from "@angular/common";
|
|
@@ -59,11 +61,11 @@ export class IconSelectorComponent {
|
|
|
59
61
|
return this.sanitizer.bypassSecurityTrustHtml(icon);
|
|
60
62
|
}
|
|
61
63
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IconSelectorComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IconSelectorComponent, isStandalone: true, selector: "nxt-icon-selector", inputs: { allIcons: "allIcons", themeColor: "themeColor", height: "height", tooltipPosition: "tooltipPosition", selectedIcon: "selectedIcon", cdnIconURL: "cdnIconURL", label: "label", labelFont: "labelFont", labelWeight: "labelWeight", inputWeight: "inputWeight", labelSize: "labelSize", labelColor: "labelColor", showLabel: "showLabel", required: "required", mode: "mode", question: "question", options: "options" }, outputs: { iconSelected: "iconSelected" }, ngImport: i0, template: "<!-- MSM10JUL25 for icon selector UI -->\n<div class=\"icon-selector\">\n <div class=\"selected-icon\" (click)=\"toggleDropdown()\">\n <span *ngIf=\"!selectedIcon\">Choose Icon</span>\n <div *ngIf=\"selectedIcon\" [innerHTML]=\"selectedIcon\" class=\"svg-container\"></div><span\n class=\"material-icons\">arrow_drop_down</span>\n </div>\n\n <div class=\"icon-selector-container\" [style.height]=\"height\" *ngIf=\"showDropdown\">\n <div class=\"search-container\">\n <div class=\"search-box\">\n <input type=\"text\" [(ngModel)]=\"searchQuery\" (input)=\"filterIcons()\" placeholder=\"Search icons
|
|
64
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IconSelectorComponent, isStandalone: true, selector: "nxt-icon-selector", inputs: { allIcons: "allIcons", themeColor: "themeColor", height: "height", tooltipPosition: "tooltipPosition", selectedIcon: "selectedIcon", cdnIconURL: "cdnIconURL", label: "label", labelFont: "labelFont", labelWeight: "labelWeight", inputWeight: "inputWeight", labelSize: "labelSize", labelColor: "labelColor", showLabel: "showLabel", required: "required", mode: "mode", question: "question", options: "options" }, outputs: { iconSelected: "iconSelected" }, ngImport: i0, template: "<!-- MSM10JUL25 for icon selector UI -->\n<div class=\"icon-selector\">\n <div class=\"selected-icon\" (click)=\"toggleDropdown()\">\n <span *ngIf=\"!selectedIcon\">{{ 'CHOOSE_ICON' | nxtCustomTranslate : 'Choose Icon' }}</span>\n <div *ngIf=\"selectedIcon\" [innerHTML]=\"selectedIcon\" class=\"svg-container\"></div><span\n class=\"material-icons\">arrow_drop_down</span>\n </div>\n\n <div class=\"icon-selector-container\" [style.height]=\"height\" *ngIf=\"showDropdown\">\n <div class=\"search-container\">\n <div class=\"search-box\">\n <input type=\"text\" [(ngModel)]=\"searchQuery\" (input)=\"filterIcons()\" [placeholder]=\"('SEARCH_ICONS' | nxtCustomTranslate : 'Search icons...')\"\n class=\"search-input\">\n </div>\n </div>\n\n <div class=\"icon-grid-container\" [style.max-height]=\"'calc(' + height + ' - 120px)'\">\n <div *ngIf=\"filteredIcons.length === 0\" class=\"no-results\">\n {{ 'NO_ICONS_FOUND' | nxtCustomTranslate : 'No icons found matching' }} \"{{searchQuery}}\"\n </div>\n\n <div class=\"icon-grid\">\n <div *ngFor=\"let icon of filteredIcons\" class=\"icon-option\" [matTooltip]=icon.name\n [matTooltipPosition]=tooltipPosition>\n <div class=\"icon-option\">\n <div class=\"click-overlay\" (click)=\"selectIcon(icon); toggleDropdown()\"></div>\n <div [innerHTML]=\"icon.svg | svg\" class=\"svg-container\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [".icon-item svg{color:red}.icon-selector-container{padding:16px;max-width:400px;margin:0 auto;display:flex;flex-direction:column;border-radius:8px;box-shadow:0 2px 10px #0000001a;background-color:#fff;overflow:hidden}.search-container{margin:8px 0 16px}.icon-grid-container{overflow-y:scroll!important;padding-right:4px}.icon-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.icon-option{display:flex;align-items:center;justify-content:center;padding:6px;border-radius:8px;cursor:pointer;transition:all .2s ease;background-color:#f5f5f5;aspect-ratio:1/1}.icon-option:hover{background-color:#e0e0e0;transform:scale(1.05)}.icon-option.selected{background-color:#e3f2fd;border:2px solid #2196f3}.no-results{text-align:center;padding:20px;color:#757575;font-style:italic}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#888;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}.icon-selector{position:relative;display:inline-block}.selected-icon{display:flex;align-items:center;gap:4px;cursor:pointer;padding:3px;border:1px solid #ccc;border-radius:4px}.icon-dropdown{position:absolute;top:100%;left:0;z-index:1000;background:#fff;border:1px solid #ccc;border-radius:4px;max-height:200px;overflow-y:auto;display:grid;grid-template-columns:repeat(8,1fr);gap:5px;padding:3px}.icon-option{padding:3px;cursor:pointer;border-radius:4px;display:flex;justify-content:center}.icon-option:hover{background-color:#f0f0f0}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1}svg{width:20px!important;height:20px!important}.click-overlay{position:absolute;inset:0;z-index:1}.icon-option{position:relative;cursor:pointer}.svg-container{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { 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: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: NxtCustomTranslatePipe, name: "nxtCustomTranslate" }, { kind: "pipe", type: SvgPipe, name: "svg" }] });
|
|
63
65
|
}
|
|
64
66
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IconSelectorComponent, decorators: [{
|
|
65
67
|
type: Component,
|
|
66
|
-
args: [{ selector: 'nxt-icon-selector', imports: [CommonModule, FormsModule, MatTooltipModule], standalone: true, template: "<!-- MSM10JUL25 for icon selector UI -->\n<div class=\"icon-selector\">\n <div class=\"selected-icon\" (click)=\"toggleDropdown()\">\n <span *ngIf=\"!selectedIcon\">Choose Icon</span>\n <div *ngIf=\"selectedIcon\" [innerHTML]=\"selectedIcon\" class=\"svg-container\"></div><span\n class=\"material-icons\">arrow_drop_down</span>\n </div>\n\n <div class=\"icon-selector-container\" [style.height]=\"height\" *ngIf=\"showDropdown\">\n <div class=\"search-container\">\n <div class=\"search-box\">\n <input type=\"text\" [(ngModel)]=\"searchQuery\" (input)=\"filterIcons()\" placeholder=\"Search icons
|
|
68
|
+
args: [{ selector: 'nxt-icon-selector', imports: [CommonModule, FormsModule, MatTooltipModule, NxtCustomTranslatePipe, SvgPipe], standalone: true, template: "<!-- MSM10JUL25 for icon selector UI -->\n<div class=\"icon-selector\">\n <div class=\"selected-icon\" (click)=\"toggleDropdown()\">\n <span *ngIf=\"!selectedIcon\">{{ 'CHOOSE_ICON' | nxtCustomTranslate : 'Choose Icon' }}</span>\n <div *ngIf=\"selectedIcon\" [innerHTML]=\"selectedIcon\" class=\"svg-container\"></div><span\n class=\"material-icons\">arrow_drop_down</span>\n </div>\n\n <div class=\"icon-selector-container\" [style.height]=\"height\" *ngIf=\"showDropdown\">\n <div class=\"search-container\">\n <div class=\"search-box\">\n <input type=\"text\" [(ngModel)]=\"searchQuery\" (input)=\"filterIcons()\" [placeholder]=\"('SEARCH_ICONS' | nxtCustomTranslate : 'Search icons...')\"\n class=\"search-input\">\n </div>\n </div>\n\n <div class=\"icon-grid-container\" [style.max-height]=\"'calc(' + height + ' - 120px)'\">\n <div *ngIf=\"filteredIcons.length === 0\" class=\"no-results\">\n {{ 'NO_ICONS_FOUND' | nxtCustomTranslate : 'No icons found matching' }} \"{{searchQuery}}\"\n </div>\n\n <div class=\"icon-grid\">\n <div *ngFor=\"let icon of filteredIcons\" class=\"icon-option\" [matTooltip]=icon.name\n [matTooltipPosition]=tooltipPosition>\n <div class=\"icon-option\">\n <div class=\"click-overlay\" (click)=\"selectIcon(icon); toggleDropdown()\"></div>\n <div [innerHTML]=\"icon.svg | svg\" class=\"svg-container\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [".icon-item svg{color:red}.icon-selector-container{padding:16px;max-width:400px;margin:0 auto;display:flex;flex-direction:column;border-radius:8px;box-shadow:0 2px 10px #0000001a;background-color:#fff;overflow:hidden}.search-container{margin:8px 0 16px}.icon-grid-container{overflow-y:scroll!important;padding-right:4px}.icon-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.icon-option{display:flex;align-items:center;justify-content:center;padding:6px;border-radius:8px;cursor:pointer;transition:all .2s ease;background-color:#f5f5f5;aspect-ratio:1/1}.icon-option:hover{background-color:#e0e0e0;transform:scale(1.05)}.icon-option.selected{background-color:#e3f2fd;border:2px solid #2196f3}.no-results{text-align:center;padding:20px;color:#757575;font-style:italic}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#888;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}.icon-selector{position:relative;display:inline-block}.selected-icon{display:flex;align-items:center;gap:4px;cursor:pointer;padding:3px;border:1px solid #ccc;border-radius:4px}.icon-dropdown{position:absolute;top:100%;left:0;z-index:1000;background:#fff;border:1px solid #ccc;border-radius:4px;max-height:200px;overflow-y:auto;display:grid;grid-template-columns:repeat(8,1fr);gap:5px;padding:3px}.icon-option{padding:3px;cursor:pointer;border-radius:4px;display:flex;justify-content:center}.icon-option:hover{background-color:#f0f0f0}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1}svg{width:20px!important;height:20px!important}.click-overlay{position:absolute;inset:0;z-index:1}.icon-option{position:relative;cursor:pointer}.svg-container{display:flex;align-items:center;justify-content:center}\n"] }]
|
|
67
69
|
}], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { allIcons: [{
|
|
68
70
|
type: Input
|
|
69
71
|
}], themeColor: [{
|
|
@@ -101,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
101
103
|
}], iconSelected: [{
|
|
102
104
|
type: Output
|
|
103
105
|
}] } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9pY29uLXNlbGVjdG9yL2ljb24tc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi1zZWxlY3Rvci9pY29uLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFDWixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7OztBQVU3RCxNQUFNLE9BQU8scUJBQXFCO0lBeUJ0QjtJQXhCRCxRQUFRLENBQUs7SUFDYixVQUFVLEdBQVcsU0FBUyxDQUFDLENBQUMsc0JBQXNCO0lBQ3RELE1BQU0sR0FBVyxPQUFPLENBQUMsQ0FBQyxpQkFBaUI7SUFDM0MsZUFBZSxHQUFXLE9BQU8sQ0FBQyxDQUFDLDJDQUEyQztJQUM5RSxZQUFZLENBQU0sQ0FBQyxxQkFBcUI7SUFDeEMsVUFBVSxHQUFXLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQjtJQUU3QyxLQUFLLEdBQVcsRUFBRSxDQUFDLENBQUUsY0FBYztJQUNuQyxTQUFTLEdBQVcsRUFBRSxDQUFDLENBQUUsbUJBQW1CO0lBQzVDLFdBQVcsR0FBVyxFQUFFLENBQUMsQ0FBRSxxQkFBcUI7SUFDaEQsV0FBVyxHQUFXLEVBQUUsQ0FBQyxDQUFFLGVBQWU7SUFDMUMsU0FBUyxHQUFX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QUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvL01TTTEwSlVMMjVcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnh0LWljb24tc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlXSxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi1zZWxlY3Rvci5jb21wb25lbnQuY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEljb25TZWxlY3RvckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGFsbEljb25zOiBbXTtcbiAgQElucHV0KCkgdGhlbWVDb2xvcjogc3RyaW5nID0gJyNmZjAwMDAnOyAvLyBEZWZhdWx0IHRoZW1lIGNvbG9yXG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gJzMwMHB4JzsgLy8gRGVmYXVsdCBoZWlnaHRcbiAgQElucHV0KCkgdG9vbHRpcFBvc2l0aW9uOiBzdHJpbmcgPSBcImFib3ZlXCI7IC8vIGFib3ZlLCBiZWxvdywgbGVmdCwgcmlnaHQsIGJlZm9yZSwgYWZ0ZXJcbiAgQElucHV0KCkgc2VsZWN0ZWRJY29uOiBhbnk7IC8vIFNlbGVjdGVkIGljb24gbmFtZVxuICBASW5wdXQoKSBjZG5JY29uVVJMOiBzdHJpbmcgPSBcIlwiOyAvLyBDRE4gVVJMIGZvciBpY29uc1xuXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJzsgIC8vIElucHV0IGxhYmVsXG4gIEBJbnB1dCgpIGxhYmVsRm9udDogc3RyaW5nID0gJyc7ICAvLyBJbnB1dCBsYWJlbCBmb250XG4gIEBJbnB1dCgpIGxhYmVsV2VpZ2h0OiBzdHJpbmcgPSAnJzsgIC8vIElucHV0IGxhYmVsIFdlaWdodFxuICBASW5wdXQoKSBpbnB1dFdlaWdodDogc3RyaW5nID0gJyc7ICAvLyBJbnB1dCBXZWlnaHRcbiAgQElucHV0KCkgbGFiZWxTaXplOiBzdHJpbmcgPSAnJzsgIC8vIElucHV0IGxhYmVsIFNpemVcbiAgQElucHV0KCkgbGFiZWxDb2xvcjogc3RyaW5nID0gJyc7ICAvLyBJbnB1dCBsYWJlbCBDb2xvclxuICBASW5wdXQoKSBzaG93TGFiZWw6IHN0cmluZyA9ICcnOyAgLy8gSW5wdXQgbGFiZWwgQ29sb3JcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTsgIC8vIFJlcXVpcmVkIHZhbGlkYXRpb25cbiAgQElucHV0KCkgbW9kZTogJ3ZpZXcnIHwgJ2VkaXQnIHwgJ3ByaW50JyA9ICdlZGl0JzsgLy8gTmV3IG1vZGUgaW5wdXRcbiAgQElucHV0KCkgcXVlc3Rpb246IGFueSA9IHt9XG4gIEBJbnB1dCgpIG9wdGlvbnM6IGFueVtdID0gW107IC8vIEZvciByYWRpbyBidXR0b25zXG5cbiAgQE91dHB1dCgpIGljb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpOyAvLyBFdmVudCBlbWl0dGVyIGZvciBzZWxlY3RlZCBpY29uXG4gIGZpbHRlcmVkSWNvbnM6IGFueVtdID0gW107XG4gIHNlYXJjaFF1ZXJ5ID0gJyc7XG4gIHNob3dEcm9wZG93biA9IGZhbHNlO1xuICAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICApIHt9XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZmlsdGVyZWRJY29ucyA9IHRoaXMuYWxsSWNvbnMgIT0gbnVsbCAmJiB0aGlzLmFsbEljb25zLmxlbmd0aCA+IDAgPyBbLi4udGhpcy5hbGxJY29uc10gOiBbXTtcbiAgfVxuICBmaWx0ZXJJY29ucygpIHtcbiAgICBpZiAoIXRoaXMuc2VhcmNoUXVlcnkpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRJY29ucyA9IHRoaXMuYWxsSWNvbnMgIT0gbnVsbCAmJiB0aGlzLmFsbEljb25zLmxlbmd0aCA+IDAgPyBbLi4udGhpcy5hbGxJY29uc10gOiBbXTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5maWx0ZXJlZEljb25zID0gdGhpcy5hbGxJY29ucz8uZmlsdGVyKChpY29uOiBhbnkpID0+XG4gICAgICBpY29uPy5uYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VhcmNoUXVlcnk/LnRvTG93ZXJDYXNlKCkpXG4gICAgKTtcbiAgfVxuXG4gIHNlbGVjdEljb24oaWNvbjogYW55KSB7XG4gICAgY29uc3QgaWNvblNWRyA9IHRoaXMuZ2V0U1ZHKGljb24uc3ZnKTtcbiAgICB0aGlzLnNlbGVjdGVkSWNvbiA9IGljb25TVkc7XG4gICAgdGhpcy5pY29uU2VsZWN0ZWQuZW1pdChpY29uKTtcbiAgfVxuXG4gIHRvZ2dsZURyb3Bkb3duKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gIXRoaXMuc2hvd0Ryb3Bkb3duO1xuICB9XG5cbiAgZ2V0U1ZHKGljb246IGFueSkge1xuICAgICAgaWYgKHR5cGVvZiBpY29uID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFxuICAgICAgICBpY29uLmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHkgfHwgJydcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChpY29uKTtcbiAgfVxufVxuIiwiPCEtLSBNU00xMEpVTDI1IGZvciBpY29uIHNlbGVjdG9yIFVJIC0tPlxuPGRpdiBjbGFzcz1cImljb24tc2VsZWN0b3JcIj5cbiAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWljb25cIiAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oKVwiPlxuICAgIDxzcGFuICpuZ0lmPVwiIXNlbGVjdGVkSWNvblwiPkNob29zZSBJY29uPC9zcGFuPlxuICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZEljb25cIiBbaW5uZXJIVE1MXT1cInNlbGVjdGVkSWNvblwiIGNsYXNzPVwic3ZnLWNvbnRhaW5lclwiPjwvZGl2PjxzcGFuXG4gICAgICBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+YXJyb3dfZHJvcF9kb3duPC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiaWNvbi1zZWxlY3Rvci1jb250YWluZXJcIiBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodFwiICpuZ0lmPVwic2hvd0Ryb3Bkb3duXCI+XG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaC1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYm94XCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwic2VhcmNoUXVlcnlcIiAoaW5wdXQpPVwiZmlsdGVySWNvbnMoKVwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIGljb25zLi4uXCJcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dFwiPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaWNvbi1ncmlkLWNvbnRhaW5lclwiIFtzdHlsZS5tYXgtaGVpZ2h0XT1cIidjYWxjKCcgKyBoZWlnaHQgKyAnIC0gMTIwcHgpJ1wiPlxuICAgICAgPGRpdiAqbmdJZj1cImZpbHRlcmVkSWNvbnMubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJuby1yZXN1bHRzXCI+XG4gICAgICAgIE5vIGljb25zIGZvdW5kIG1hdGNoaW5nIFwie3tzZWFyY2hRdWVyeX19XCJcbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1ncmlkXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGljb24gb2YgZmlsdGVyZWRJY29uc1wiIGNsYXNzPVwiaWNvbi1vcHRpb25cIiBbbWF0VG9vbHRpcF09aWNvbi5uYW1lXG4gICAgICAgICAgW21hdFRvb2x0aXBQb3NpdGlvbl09dG9vbHRpcFBvc2l0aW9uPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLW9wdGlvblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNsaWNrLW92ZXJsYXlcIiAoY2xpY2spPVwic2VsZWN0SWNvbihpY29uKTsgdG9nZ2xlRHJvcGRvd24oKVwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImdldFNWRyhpY29uLnN2ZylcIiBjbGFzcz1cInN2Zy1jb250YWluZXJcIj48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9pY29uLXNlbGVjdG9yL2ljb24tc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi1zZWxlY3Rvci9pY29uLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFDWixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDMUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFTbEQsTUFBTSxPQUFPLHFCQUFxQjtJQXlCdEI7SUF4QkQsUUFBUSxDQUFLO0lBQ2IsVUFBVSxHQUFXLFNBQVMsQ0FBQyxDQUFDLHNCQUFzQjtJQUN0RCxNQUFNLEdBQVcsT0FBTyxDQUFDLENBQUMsaUJBQWlCO0lBQzNDLGVBQWUsR0FBVyxPQUFPLENBQUMsQ0FBQywyQ0FBMkM7SUFDOUUsWUFBWSxDQUFNLENBQUMscUJBQXFCO0lBQ3hDLFVBQVUsR0FBVyxFQUFFLENBQUMsQ0FBQyxvQkFBb0I7SUFFN0MsS0FBSyxHQUFXLEVBQUUsQ0FBQyxDQUFFLGNBQWM7SUFDbkMsU0FBUyxHQUFXLEVBQUUsQ0FBQyxDQUFFLG1CQUFtQjtJ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O2lGQUdQLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvL01TTTEwSlVMMjVcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE54dEN1c3RvbVRyYW5zbGF0ZVBpcGUgfSBmcm9tIFwiLi4vLi4vcGlwZS9jdXN0b20tdHJhbnNsYXRlLnBpcGVcIjtcbmltcG9ydCB7IFN2Z1BpcGUgfSBmcm9tICcuLi8uLi9waXBlL3N2Zy9zdmcucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ254dC1pY29uLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24tc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSwgTnh0Q3VzdG9tVHJhbnNsYXRlUGlwZSwgU3ZnUGlwZV0sXG4gIHN0eWxlVXJsczogWycuL2ljb24tc2VsZWN0b3IuY29tcG9uZW50LmNzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBJY29uU2VsZWN0b3JDb21wb25lbnQge1xuICBASW5wdXQoKSBhbGxJY29uczogW107XG4gIEBJbnB1dCgpIHRoZW1lQ29sb3I6IHN0cmluZyA9ICcjZmYwMDAwJzsgLy8gRGVmYXVsdCB0aGVtZSBjb2xvclxuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9ICczMDBweCc7IC8vIERlZmF1bHQgaGVpZ2h0XG4gIEBJbnB1dCgpIHRvb2x0aXBQb3NpdGlvbjogc3RyaW5nID0gXCJhYm92ZVwiOyAvLyBhYm92ZSwgYmVsb3csIGxlZnQsIHJpZ2h0LCBiZWZvcmUsIGFmdGVyXG4gIEBJbnB1dCgpIHNlbGVjdGVkSWNvbjogYW55OyAvLyBTZWxlY3RlZCBpY29uIG5hbWVcbiAgQElucHV0KCkgY2RuSWNvblVSTDogc3RyaW5nID0gXCJcIjsgLy8gQ0ROIFVSTCBmb3IgaWNvbnNcblxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7ICAvLyBJbnB1dCBsYWJlbFxuICBASW5wdXQoKSBsYWJlbEZvbnQ6IHN0cmluZyA9ICcnOyAgLy8gSW5wdXQgbGFiZWwgZm9udFxuICBASW5wdXQoKSBsYWJlbFdlaWdodDogc3RyaW5nID0gJyc7ICAvLyBJbnB1dCBsYWJlbCBXZWlnaHRcbiAgQElucHV0KCkgaW5wdXRXZWlnaHQ6IHN0cmluZyA9ICcnOyAgLy8gSW5wdXQgV2VpZ2h0XG4gIEBJbnB1dCgpIGxhYmVsU2l6ZTogc3RyaW5nID0gJyc7ICAvLyBJbnB1dCBsYWJlbCBTaXplXG4gIEBJbnB1dCgpIGxhYmVsQ29sb3I6IHN0cmluZyA9ICcnOyAgLy8gSW5wdXQgbGFiZWwgQ29sb3JcbiAgQElucHV0KCkgc2hvd0xhYmVsOiBzdHJpbmcgPSAnJzsgIC8vIElucHV0IGxhYmVsIENvbG9yXG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7ICAvLyBSZXF1aXJlZCB2YWxpZGF0aW9uXG4gIEBJbnB1dCgpIG1vZGU6ICd2aWV3JyB8ICdlZGl0JyB8ICdwcmludCcgPSAnZWRpdCc7IC8vIE5ldyBtb2RlIGlucHV0XG4gIEBJbnB1dCgpIHF1ZXN0aW9uOiBhbnkgPSB7fVxuICBASW5wdXQoKSBvcHRpb25zOiBhbnlbXSA9IFtdOyAvLyBGb3IgcmFkaW8gYnV0dG9uc1xuXG4gIEBPdXRwdXQoKSBpY29uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTsgLy8gRXZlbnQgZW1pdHRlciBmb3Igc2VsZWN0ZWQgaWNvblxuICBmaWx0ZXJlZEljb25zOiBhbnlbXSA9IFtdO1xuICBzZWFyY2hRdWVyeSA9ICcnO1xuICBzaG93RHJvcGRvd24gPSBmYWxzZTtcbiAgIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcbiAgKSB7fVxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZpbHRlcmVkSWNvbnMgPSB0aGlzLmFsbEljb25zICE9IG51bGwgJiYgdGhpcy5hbGxJY29ucy5sZW5ndGggPiAwID8gWy4uLnRoaXMuYWxsSWNvbnNdIDogW107XG4gIH1cbiAgZmlsdGVySWNvbnMoKSB7XG4gICAgaWYgKCF0aGlzLnNlYXJjaFF1ZXJ5KSB7XG4gICAgICB0aGlzLmZpbHRlcmVkSWNvbnMgPSB0aGlzLmFsbEljb25zICE9IG51bGwgJiYgdGhpcy5hbGxJY29ucy5sZW5ndGggPiAwID8gWy4uLnRoaXMuYWxsSWNvbnNdIDogW107XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZmlsdGVyZWRJY29ucyA9IHRoaXMuYWxsSWNvbnM/LmZpbHRlcigoaWNvbjogYW55KSA9PlxuICAgICAgaWNvbj8ubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaFF1ZXJ5Py50b0xvd2VyQ2FzZSgpKVxuICAgICk7XG4gIH1cblxuICBzZWxlY3RJY29uKGljb246IGFueSkge1xuICAgIGNvbnN0IGljb25TVkcgPSB0aGlzLmdldFNWRyhpY29uLnN2Zyk7XG4gICAgdGhpcy5zZWxlY3RlZEljb24gPSBpY29uU1ZHO1xuICAgIHRoaXMuaWNvblNlbGVjdGVkLmVtaXQoaWNvbik7XG4gIH1cblxuICB0b2dnbGVEcm9wZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dEcm9wZG93biA9ICF0aGlzLnNob3dEcm9wZG93bjtcbiAgfVxuXG4gIGdldFNWRyhpY29uOiBhbnkpIHtcbiAgICAgIGlmICh0eXBlb2YgaWNvbiA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcbiAgICAgICAgaWNvbi5jaGFuZ2luZ1RoaXNCcmVha3NBcHBsaWNhdGlvblNlY3VyaXR5IHx8ICcnXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoaWNvbik7XG4gIH1cbn1cbiIsIjwhLS0gTVNNMTBKVUwyNSBmb3IgaWNvbiBzZWxlY3RvciBVSSAtLT5cbjxkaXYgY2xhc3M9XCJpY29uLXNlbGVjdG9yXCI+XG4gIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1pY29uXCIgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKClcIj5cbiAgICA8c3BhbiAqbmdJZj1cIiFzZWxlY3RlZEljb25cIj57eyAnQ0hPT1NFX0lDT04nIHwgbnh0Q3VzdG9tVHJhbnNsYXRlIDogJ0Nob29zZSBJY29uJyB9fTwvc3Bhbj5cbiAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRJY29uXCIgW2lubmVySFRNTF09XCJzZWxlY3RlZEljb25cIiBjbGFzcz1cInN2Zy1jb250YWluZXJcIj48L2Rpdj48c3BhblxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPmFycm93X2Ryb3BfZG93bjwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImljb24tc2VsZWN0b3ItY29udGFpbmVyXCIgW3N0eWxlLmhlaWdodF09XCJoZWlnaHRcIiAqbmdJZj1cInNob3dEcm9wZG93blwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJveFwiPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFF1ZXJ5XCIgKGlucHV0KT1cImZpbHRlckljb25zKClcIiBbcGxhY2Vob2xkZXJdPVwiKCdTRUFSQ0hfSUNPTlMnIHwgbnh0Q3VzdG9tVHJhbnNsYXRlIDogJ1NlYXJjaCBpY29ucy4uLicpXCJcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dFwiPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaWNvbi1ncmlkLWNvbnRhaW5lclwiIFtzdHlsZS5tYXgtaGVpZ2h0XT1cIidjYWxjKCcgKyBoZWlnaHQgKyAnIC0gMTIwcHgpJ1wiPlxuICAgICAgPGRpdiAqbmdJZj1cImZpbHRlcmVkSWNvbnMubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJuby1yZXN1bHRzXCI+XG4gICAgICAgIHt7ICdOT19JQ09OU19GT1VORCcgfCBueHRDdXN0b21UcmFuc2xhdGUgOiAnTm8gaWNvbnMgZm91bmQgbWF0Y2hpbmcnIH19IFwie3tzZWFyY2hRdWVyeX19XCJcbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1ncmlkXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGljb24gb2YgZmlsdGVyZWRJY29uc1wiIGNsYXNzPVwiaWNvbi1vcHRpb25cIiBbbWF0VG9vbHRpcF09aWNvbi5uYW1lXG4gICAgICAgICAgW21hdFRvb2x0aXBQb3NpdGlvbl09dG9vbHRpcFBvc2l0aW9uPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLW9wdGlvblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNsaWNrLW92ZXJsYXlcIiAoY2xpY2spPVwic2VsZWN0SWNvbihpY29uKTsgdG9nZ2xlRHJvcGRvd24oKVwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImljb24uc3ZnIHwgc3ZnXCIgY2xhc3M9XCJzdmctY29udGFpbmVyXCI+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+Il19
|