@rangertechnologies/ngnxt 2.0.28 → 2.0.30
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/README.md +1 -23
- package/esm2022/lib/components/custom-table/custom-table.component.mjs +23 -22
- package/esm2022/lib/components/pick-location/pick-location.component.mjs +21 -19
- package/esm2022/lib/model/errorWrapper.mjs +6 -0
- package/esm2022/lib/model/tableWrapper.mjs +16 -0
- package/esm2022/lib/nxt-app.module.mjs +6 -3
- package/esm2022/lib/pages/booklet/booklet.component.mjs +41 -7
- package/esm2022/lib/pages/questionbook/questionbook.component.mjs +65 -0
- package/esm2022/lib/pages/questionnaire/questionnaire.component.mjs +5 -78
- package/esm2022/lib/wrapper.mjs +1 -6
- package/fesm2022/rangertechnologies-ngnxt.mjs +156 -138
- package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
- package/lib/components/custom-table/custom-table.component.d.ts +11 -7
- package/lib/components/pick-location/pick-location.component.d.ts +2 -5
- package/lib/model/errorWrapper.d.ts +5 -0
- package/lib/model/tableWrapper.d.ts +15 -0
- package/lib/nxt-app.module.d.ts +11 -10
- package/lib/pages/booklet/booklet.component.d.ts +5 -1
- package/lib/pages/questionbook/questionbook.component.d.ts +22 -0
- package/lib/pages/questionnaire/questionnaire.component.d.ts +0 -3
- package/lib/wrapper.d.ts +1 -5
- package/package.json +1 -1
- package/rangertechnologies-ngnxt-2.0.30.tgz +0 -0
- package/rangertechnologies-ngnxt-2.0.28.tgz +0 -0
package/README.md
CHANGED
|
@@ -1,24 +1,2 @@
|
|
|
1
1
|
# NxtApp
|
|
2
|
-
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.2.14.
|
|
4
|
-
|
|
5
|
-
## Code scaffolding
|
|
6
|
-
|
|
7
|
-
Run `ng generate component component-name --project nxt-app` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project nxt-app`.
|
|
8
|
-
> Note: Don't forget to add `--project nxt-app` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
-
|
|
10
|
-
## Build
|
|
11
|
-
|
|
12
|
-
Run `ng build nxt-app` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
-
|
|
14
|
-
## Publishing
|
|
15
|
-
|
|
16
|
-
After building your library with `ng build nxt-app`, go to the dist folder `cd dist/nxt-app` and run `npm publish`.
|
|
17
|
-
|
|
18
|
-
## Running unit tests
|
|
19
|
-
|
|
20
|
-
Run `ng test nxt-app` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
-
|
|
22
|
-
## Further help
|
|
23
|
-
|
|
24
|
-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
|
|
2
|
+
This need to be updated for better impact.
|
|
@@ -3,21 +3,25 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
4
|
import * as i2 from "@angular/forms";
|
|
5
5
|
export class CustomTableComponent {
|
|
6
|
-
|
|
6
|
+
question;
|
|
7
|
+
valueChange = new EventEmitter();
|
|
8
|
+
tableInfo;
|
|
9
|
+
tableHeader;
|
|
7
10
|
tableData;
|
|
8
|
-
|
|
9
|
-
tableIndex;
|
|
11
|
+
addRowColSpan;
|
|
10
12
|
constructor() { }
|
|
11
13
|
ngOnInit() {
|
|
14
|
+
if (this.question.Sub_Text__c != undefined) {
|
|
15
|
+
this.tableInfo = JSON.parse(this.question.Sub_Text__c);
|
|
16
|
+
this.tableHeader = this.tableInfo.header;
|
|
17
|
+
this.tableData = this.tableInfo.data;
|
|
18
|
+
if (this.tableData.addRow) {
|
|
19
|
+
this.addRowColSpan = this.tableHeader.length - 2;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
12
22
|
}
|
|
13
23
|
addRow() {
|
|
14
|
-
|
|
15
|
-
label: '',
|
|
16
|
-
imageSrc: 'https://media.istockphoto.com/id/943776434/vector/fire-extinguisher-icon-vector.jpg?s=612x612&w=0&k=20&c=KVaDxuV2TV7fdwn09Tg9HeF3MNyoJC5k2YqSAzpStDY=',
|
|
17
|
-
altText: '',
|
|
18
|
-
name: '',
|
|
19
|
-
value: 'YES'
|
|
20
|
-
};
|
|
24
|
+
let newItem = JSON.parse(JSON.stringify(this.tableInfo.newRowDefault));
|
|
21
25
|
const updatedTableData = [...this.tableData, newItem];
|
|
22
26
|
this.tableData = updatedTableData;
|
|
23
27
|
this.emitTableDataValue(updatedTableData);
|
|
@@ -26,26 +30,23 @@ export class CustomTableComponent {
|
|
|
26
30
|
item.value = value;
|
|
27
31
|
this.emitTableDataValue(this.tableData);
|
|
28
32
|
}
|
|
29
|
-
updateLabel(rowIndex, label) {
|
|
30
|
-
this.tableData[rowIndex]
|
|
33
|
+
updateLabel(rowIndex, label, value) {
|
|
34
|
+
this.tableData[rowIndex][label] = value;
|
|
35
|
+
this.tableData[rowIndex].name = value.replace(/\s+/g, '').toLowerCase();
|
|
31
36
|
this.emitTableDataValue(this.tableData);
|
|
32
37
|
}
|
|
33
38
|
emitTableDataValue(updatedTableData) {
|
|
34
|
-
this.
|
|
39
|
+
this.valueChange.emit(updatedTableData);
|
|
35
40
|
}
|
|
36
41
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomTableComponent, selector: "app-custom-table", inputs: { tableHeader: "tableHeader", tableData: "tableData", tableIndex: "tableIndex" }, outputs: { tableDataChange: "tableDataChange" }, ngImport: i0, template: "<table class=\"table table-striped table-bordered\">\r\n <thead>\r\n <tr>\r\n <th>\r\n {{ tableHeader }}\r\n </th>\r\n <th class=\"permission\">\r\n YES\r\n </th>\r\n <th class=\"permission\">\r\n NO\r\n </th>\r\n <th class=\"permission\">\r\n NA\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"safetyMeasuresTableBody\">\r\n <tr *ngFor=\"let item of tableData; let i = index\">\r\n <td>\r\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\r\n <input type=\"text\" [(ngModel)]=\"item.label\" (ngModelChange)=\"updateLabel(i, item.label)\" class=\"she-line-input table-input\">\r\n </td>\r\n <td class=\"permission_yes\">\r\n <input type=\"radio\" [name]=\"'tableRadio_' + i + '_' + tableIndex \" [ngModel]=\"item.value\" value=\"YES\" (change)=\"updateRadio(item, 'YES')\">\r\n </td>\r\n <td class=\"permission_no\">\r\n <input type=\"radio\" [name]=\"'tableRadio_' + i + '_' + tableIndex \" [ngModel]=\"item.value\" value=\"NO\" (change)=\"updateRadio(item, 'NO')\">\r\n </td>\r\n <td class=\"permission_na\">\r\n <input type=\"radio\" [name]=\"'tableRadio_' + i + '_' + tableIndex \" [ngModel]=\"item.value\" value=\"NA\" (change)=\"updateRadio(item, 'NA')\">\r\n </td>\r\n </tr>\r\n <tr>\r\n <td>\r\n <b>Add More</b>\r\n </td>\r\n <td colspan=\"3\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\r\n +\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n\r\n\r\n\r\n <!-- <div class=\"row\">\r\n <div class=\"col-lg-12 m-t-20\">\r\n <table class=\"table table-striped table-bordered\" style=\"text-align:center\">\r\n <thead>\r\n <tr>\r\n <th style=\"text-align:left\">\r\n Atmospheric Condition\r\n </th>\r\n <th style=\"text-align:center\">\r\n Test 1\r\n </th>\r\n <th style=\"text-align:center\">\r\n Test 2\r\n </th>\r\n <th style=\"text-align:center\">\r\n Test 3\r\n </th>\r\n <th style=\"text-align:center\">\r\n Test 4\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"atmosphericCondition\">\r\n <tr *ngFor=\"let item1 of tableData\">\r\n <td class=\"permission_yes\">\r\n <p style=\"text-align:left; margin-top: 9px;\">Oxygen (19.5-23.5%) {{ item.label }}</p>\r\n </td>\r\n <td class=\"permission_no\">\r\n <input type=\"number\" id=\"test1_oxygen\" style=\"width: 181px; height: 27px; text-align: center; border: none; background: transparent;\" placeholder=\"item.placeholder\" >\r\n </td>\r\n <td class=\"permission_na\">\r\n <input type=\"number\" id=\"test2_oxygen\" style=\"width: 181px; height: 27px; text-align: center; border: none; background: transparent;\" placeholder=\"item.placeholder\">\r\n </td>\r\n <td class=\"permission_no\">\r\n <input type=\"number\" id=\"test3_oxygen\" style=\"width: 181px; height: 27px; text-align: center; border: none; background: transparent;\" placeholder=\"item.placeholder\" >\r\n </td>\r\n <td class=\"permission_na\">\r\n <input type=\"number\" id=\"test4_oxygen\" style=\"width: 181px; height: 27px; text-align: center; border: none; background: transparent;\" placeholder=\"item.placeholder\">\r\n </td>\r\n </tr>\r\n <tr id=\"atmosphericAddmore\">\r\n <td style=\"text-align: left; padding: 13px 11px; cursor: pointer; margin-right: 32px;\" #add id=\"atmos\" (click)=\"add_atmospheriCondition_row(add)\">\r\n <b>Add More +</b>\r\n </td>\r\n <td>\r\n\r\n </td>\r\n <td>\r\n\r\n </td>\r\n <td>\r\n\r\n </td>\r\n <td>\r\n\r\n </td>\r\n </tr> \r\n \r\n <tr *ngFor=\"let item2 of tableData\">\r\n <td class=\"permission_yes\">\r\n <p style=\"text-align:left; margin-top: 9px;\">Tested By</p>\r\n </td>\r\n <td class=\"permission_na\">\r\n <ng-select style=\"width: 175px\" id=\"test1_tested_by\" (change)=\"onTested1Change($event)\" [items]=\"item.dropDownItems\"\r\n formControlName=\"test1_tested_by\" placeholder=\"---Select---\"\r\n >\r\n </ng-select>\r\n </td>\r\n <td class=\"permission_no\">\r\n <ng-select style=\"width: 175px\" id=\"test2_tested_by\" (change)=\"onTested2Change($event)\" [items]=\"item.dropDownItems\"\r\n formControlName=\"test2_tested_by\" placeholder=\"---Select---\"\r\n >\r\n </ng-select>\r\n </td>\r\n <td class=\"permission_na\">\r\n <ng-select style=\"width: 175px\" id=\"test3_tested_by\" (change)=\"onTested3Change($event)\" [items]=\"item.dropDownItems\"\r\n formControlName=\"test3_tested_by\" placeholder=\"---Select---\"\r\n >\r\n </ng-select>\r\n </td>\r\n <td class=\"permission_no\">\r\n <ng-select style=\"width: 175px\" id=\"test4_tested_by\" (change)=\"onTested4Change($event)\" [items]=\"item.dropDownItems\"\r\n formControlName=\"test4_tested_by\" placeholder=\"---Select---\"\r\n >\r\n </ng-select>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td class=\"permission_yes\">\r\n <p style=\"text-align:left; margin-top: 9px;\">Date & Time</p>\r\n </td>\r\n <td class=\"permission_no\">\r\n <input [(ngModel)]=\"test1_time\" id=\"test1_time\" formControlName=\"test1_time\"\r\n type=\"datetime-local\"\r\n placeholder=\"DD/MM/YYYY HH:MM\" style=\"width: 75%;\r\n height: 35px;\r\n border:none;\r\n box-shadow: none;\r\n border-bottom: 1px solid #ccc;\">\r\n \r\n </td>\r\n <td class=\"permission_na\">\r\n <input [(ngModel)]=\"test2_time\" id=\"test2_time\" type=\"datetime-local\" formControlName=\"test2_time\"\r\n \r\n placeholder=\"DD/MM/YYYY HH:MM\" style=\"width: 75%;\r\n height: 35px;\r\n border:none;\r\n box-shadow: none;\r\n border-bottom: 1px solid #ccc;\">\r\n \r\n </td>\r\n <td class=\"permission_no\">\r\n\r\n <input [(ngModel)]=\"test3_time\" id=\"test3_time\" type=\"datetime-local\" formControlName=\"test3_time\"\r\n \r\n placeholder=\"DD/MM/YYYY HH:MM\" style=\"width: 75%;\r\n height: 35px;\r\n border:none;\r\n box-shadow: none;\r\n border-bottom: 1px solid #ccc;\">\r\n \r\n </td>\r\n <td class=\"permission_na\">\r\n\r\n <input [(ngModel)]=\"test4MinDate\" id=\"test4_time\" formControlName=\"test4_time\"\r\n type=\"datetime-local\"\r\n placeholder=\"DD/MM/YYYY HH:MM\" style=\"width: 75%;\r\n height: 35px;\r\n border:none;\r\n box-shadow: none;\r\n border-bottom: 1px solid #ccc;\">\r\n \r\n </td>\r\n </tr>\r\n <tr>\r\n <td class=\"permission_yes\">\r\n <p style=\"text-align:left; margin-top: 9px;\">Atmospheric conditions are measured periodically</p>\r\n </td>\r\n <td class=\"permission_no\">\r\n <label class=\"switch2\">\r\n <input id=\"switch-input31\" class=\"switch-input2\" (change)=\"onTestAssesment1Change($event.target.checked)\" type=\"checkbox\" [checked]=\"Certified3\" />\r\n <span class=\"switch-label2\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \r\n <span class=\"switch-handle2\"></span> \r\n </label> \r\n </td>\r\n <td class=\"permission_na\">\r\n <label class=\"switch2\">\r\n <input id=\"switch-input4\" class=\"switch-input2\" (change)=\"onTestAssesment2Change($event.target.checked)\" type=\"checkbox\" [checked]=\"Certified4\" />\r\n <span class=\"switch-label2\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \r\n <span class=\"switch-handle2\"></span> \r\n </label> \r\n </td>\r\n <td class=\"permission_no\">\r\n <label class=\"switch2\">\r\n <input id=\"switch-input5\" class=\"switch-input2\" (change)=\"onTestAssesment3Change($event.target.checked)\" type=\"checkbox\" [checked]=\"Certified5\" />\r\n <span class=\"switch-label2\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \r\n <span class=\"switch-handle2\"></span> \r\n </label> \r\n </td>\r\n <td class=\"permission_na\">\r\n <label class=\"switch2\">\r\n <input id=\"switch-input6\" class=\"switch-input2\" (change)=\"onTestAssesment4Change($event.target.checked)\" type=\"checkbox\" [checked]=\"Certified6\" />\r\n <span class=\"switch-label2\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \r\n <span class=\"switch-handle2\"></span> \r\n </label> \r\n </td>\r\n </tr>\r\n <tr class=\"docs\">\r\n <td>\r\n <p style=\"text-align:left; margin-top: 12px;\">Attachment</p>\r\n </td>\r\n <td style=\"width:130px;\">\r\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of test1File;let i = index;\" style=\"width:130px; margin-left: 25px; margin-bottom: 10px;\">\r\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\r\n {{file?.name}}\r\n </div>\r\n </div>\r\n </div>\r\n <br>\r\n <label class=\"btn btn-primary\">\r\n Upload File\r\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)=\"Test1File($event)\">\r\n </label>\r\n </td>\r\n <td style=\"width:130px;\">\r\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of test2File;let i = index;\" style=\"width:130px; margin-left: 25px; margin-bottom: 10px;\">\r\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\r\n {{file?.name}}\r\n </div>\r\n </div>\r\n </div>\r\n <br>\r\n <label class=\"btn btn-primary\">\r\n Upload File\r\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)=\"Test2File($event)\">\r\n </label>\r\n </td>\r\n <td style=\"width:130px;\">\r\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of test3File;let i = index;\" style=\"width:130px; margin-left: 25px; margin-bottom: 10px;\">\r\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\r\n {{file?.name}}\r\n </div>\r\n </div>\r\n </div>\r\n <br>\r\n <label class=\"btn btn-primary\">\r\n Upload File\r\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)=\"Test3File($event)\">\r\n </label>\r\n </td>\r\n <td style=\"width:130px;\">\r\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of test4File;let i = index;\" style=\"width:130px; margin-left: 25px; margin-bottom: 10px;\">\r\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\r\n {{file?.name}}\r\n </div>\r\n </div>\r\n </div>\r\n <br>\r\n <label class=\"btn btn-primary\">\r\n Upload File\r\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)=\"Test4File($event)\">\r\n </label>\r\n </td>\r\n </tr>\r\n \r\n </tbody>\r\n </table>\r\n </div>\r\n </div> -->\r\n \r\n\r\n\r\n\r\n", styles: [".table{width:100%;max-width:100%;margin-bottom:20px;border-collapse:collapse;border-spacing:0}.table-bordered{border:1px solid #ddd}thead{background-color:#03a9f4}thead th{color:#fff;font-size:14px}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}th{text-align:left}thead .permission{text-align:center}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}tbody{color:#797979}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}tbody td{font-size:13px}.permission_yes,.permission_no,.permission_na{text-align:center}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.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: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
42
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomTableComponent, selector: "app-custom-table", inputs: { question: "question" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<table class=\"table table-striped table-bordered\">\r\n <thead>\r\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\r\n {{ header.label }}\r\n </th>\r\n </thead>\r\n <tbody id=\"safetyMeasuresTableBody\">\r\n <tr *ngFor=\"let item of tableData; let i = index\">\r\n <td *ngFor=\"let header of tableHeader; let j = index\">\r\n <div *ngIf=\"header.type === 'imagetext'\" [class]=\"'col-md-' + header.size\" style=\"display: flex;\">\r\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\r\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.type === 'image'\" [class]=\"'col-md-' + header.size\">\r\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item[header.fieldName]\" [alt]=\"item.altText\">\r\n </div>\r\n <div *ngIf=\"header.type === 'text'\" [class]=\"'col-md-' + header.size\">\r\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.type === 'radio'\" [class]=\"'col-md-' + header.size\">\r\n <input type=\"radio\" [name]=\"item.name\" [checked]=\"item.value == header.fieldName\" (click)=\"updateRadio(item, header.fieldName)\">\r\n </div>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"tableInfo.addRow\">\r\n <td colspan=\"3\">\r\n <b>Add More</b>\r\n </td>\r\n <td colspan=\"2\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\r\n +\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>", styles: [".table{width:100%;max-width:100%;margin-bottom:20px;border-collapse:collapse;border-spacing:0}.table-bordered{border:1px solid #ddd}thead{background-color:#03a9f4}thead th{color:#fff;font-size:14px}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}th{text-align:left}thead .permission{text-align:center}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}tbody{color:#797979}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}tbody td{font-size:13px}.permission_yes,.permission_no,.permission_na{text-align:center}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
38
43
|
}
|
|
39
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomTableComponent, decorators: [{
|
|
40
45
|
type: Component,
|
|
41
|
-
args: [{ selector: 'app-custom-table', template: "<table class=\"table table-striped table-bordered\">\r\n <thead>\r\n <tr>\r\n <th>\r\n {{ tableHeader }}\r\n </th>\r\n <th class=\"permission\">\r\n YES\r\n </th>\r\n <th class=\"permission\">\r\n NO\r\n </th>\r\n <th class=\"permission\">\r\n NA\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"safetyMeasuresTableBody\">\r\n <tr *ngFor=\"let item of tableData; let i = index\">\r\n <td>\r\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\r\n <input type=\"text\" [(ngModel)]=\"item.label\" (ngModelChange)=\"updateLabel(i, item.label)\" class=\"she-line-input table-input\">\r\n </td>\r\n <td class=\"permission_yes\">\r\n <input type=\"radio\" [name]=\"'tableRadio_' + i + '_' + tableIndex \" [ngModel]=\"item.value\" value=\"YES\" (change)=\"updateRadio(item, 'YES')\">\r\n </td>\r\n <td class=\"permission_no\">\r\n <input type=\"radio\" [name]=\"'tableRadio_' + i + '_' + tableIndex \" [ngModel]=\"item.value\" value=\"NO\" (change)=\"updateRadio(item, 'NO')\">\r\n </td>\r\n <td class=\"permission_na\">\r\n <input type=\"radio\" [name]=\"'tableRadio_' + i + '_' + tableIndex \" [ngModel]=\"item.value\" value=\"NA\" (change)=\"updateRadio(item, 'NA')\">\r\n </td>\r\n </tr>\r\n <tr>\r\n <td>\r\n <b>Add More</b>\r\n </td>\r\n <td colspan=\"3\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\r\n +\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n\r\n\r\n\r\n <!-- <div class=\"row\">\r\n <div class=\"col-lg-12 m-t-20\">\r\n <table class=\"table table-striped table-bordered\" style=\"text-align:center\">\r\n <thead>\r\n <tr>\r\n <th style=\"text-align:left\">\r\n Atmospheric Condition\r\n </th>\r\n <th style=\"text-align:center\">\r\n Test 1\r\n </th>\r\n <th style=\"text-align:center\">\r\n Test 2\r\n </th>\r\n <th style=\"text-align:center\">\r\n Test 3\r\n </th>\r\n <th style=\"text-align:center\">\r\n Test 4\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"atmosphericCondition\">\r\n <tr *ngFor=\"let item1 of tableData\">\r\n <td class=\"permission_yes\">\r\n <p style=\"text-align:left; margin-top: 9px;\">Oxygen (19.5-23.5%) {{ item.label }}</p>\r\n </td>\r\n <td class=\"permission_no\">\r\n <input type=\"number\" id=\"test1_oxygen\" style=\"width: 181px; height: 27px; text-align: center; border: none; background: transparent;\" placeholder=\"item.placeholder\" >\r\n </td>\r\n <td class=\"permission_na\">\r\n <input type=\"number\" id=\"test2_oxygen\" style=\"width: 181px; height: 27px; text-align: center; border: none; background: transparent;\" placeholder=\"item.placeholder\">\r\n </td>\r\n <td class=\"permission_no\">\r\n <input type=\"number\" id=\"test3_oxygen\" style=\"width: 181px; height: 27px; text-align: center; border: none; background: transparent;\" placeholder=\"item.placeholder\" >\r\n </td>\r\n <td class=\"permission_na\">\r\n <input type=\"number\" id=\"test4_oxygen\" style=\"width: 181px; height: 27px; text-align: center; border: none; background: transparent;\" placeholder=\"item.placeholder\">\r\n </td>\r\n </tr>\r\n <tr id=\"atmosphericAddmore\">\r\n <td style=\"text-align: left; padding: 13px 11px; cursor: pointer; margin-right: 32px;\" #add id=\"atmos\" (click)=\"add_atmospheriCondition_row(add)\">\r\n <b>Add More +</b>\r\n </td>\r\n <td>\r\n\r\n </td>\r\n <td>\r\n\r\n </td>\r\n <td>\r\n\r\n </td>\r\n <td>\r\n\r\n </td>\r\n </tr> \r\n \r\n <tr *ngFor=\"let item2 of tableData\">\r\n <td class=\"permission_yes\">\r\n <p style=\"text-align:left; margin-top: 9px;\">Tested By</p>\r\n </td>\r\n <td class=\"permission_na\">\r\n <ng-select style=\"width: 175px\" id=\"test1_tested_by\" (change)=\"onTested1Change($event)\" [items]=\"item.dropDownItems\"\r\n formControlName=\"test1_tested_by\" placeholder=\"---Select---\"\r\n >\r\n </ng-select>\r\n </td>\r\n <td class=\"permission_no\">\r\n <ng-select style=\"width: 175px\" id=\"test2_tested_by\" (change)=\"onTested2Change($event)\" [items]=\"item.dropDownItems\"\r\n formControlName=\"test2_tested_by\" placeholder=\"---Select---\"\r\n >\r\n </ng-select>\r\n </td>\r\n <td class=\"permission_na\">\r\n <ng-select style=\"width: 175px\" id=\"test3_tested_by\" (change)=\"onTested3Change($event)\" [items]=\"item.dropDownItems\"\r\n formControlName=\"test3_tested_by\" placeholder=\"---Select---\"\r\n >\r\n </ng-select>\r\n </td>\r\n <td class=\"permission_no\">\r\n <ng-select style=\"width: 175px\" id=\"test4_tested_by\" (change)=\"onTested4Change($event)\" [items]=\"item.dropDownItems\"\r\n formControlName=\"test4_tested_by\" placeholder=\"---Select---\"\r\n >\r\n </ng-select>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td class=\"permission_yes\">\r\n <p style=\"text-align:left; margin-top: 9px;\">Date & Time</p>\r\n </td>\r\n <td class=\"permission_no\">\r\n <input [(ngModel)]=\"test1_time\" id=\"test1_time\" formControlName=\"test1_time\"\r\n type=\"datetime-local\"\r\n placeholder=\"DD/MM/YYYY HH:MM\" style=\"width: 75%;\r\n height: 35px;\r\n border:none;\r\n box-shadow: none;\r\n border-bottom: 1px solid #ccc;\">\r\n \r\n </td>\r\n <td class=\"permission_na\">\r\n <input [(ngModel)]=\"test2_time\" id=\"test2_time\" type=\"datetime-local\" formControlName=\"test2_time\"\r\n \r\n placeholder=\"DD/MM/YYYY HH:MM\" style=\"width: 75%;\r\n height: 35px;\r\n border:none;\r\n box-shadow: none;\r\n border-bottom: 1px solid #ccc;\">\r\n \r\n </td>\r\n <td class=\"permission_no\">\r\n\r\n <input [(ngModel)]=\"test3_time\" id=\"test3_time\" type=\"datetime-local\" formControlName=\"test3_time\"\r\n \r\n placeholder=\"DD/MM/YYYY HH:MM\" style=\"width: 75%;\r\n height: 35px;\r\n border:none;\r\n box-shadow: none;\r\n border-bottom: 1px solid #ccc;\">\r\n \r\n </td>\r\n <td class=\"permission_na\">\r\n\r\n <input [(ngModel)]=\"test4MinDate\" id=\"test4_time\" formControlName=\"test4_time\"\r\n type=\"datetime-local\"\r\n placeholder=\"DD/MM/YYYY HH:MM\" style=\"width: 75%;\r\n height: 35px;\r\n border:none;\r\n box-shadow: none;\r\n border-bottom: 1px solid #ccc;\">\r\n \r\n </td>\r\n </tr>\r\n <tr>\r\n <td class=\"permission_yes\">\r\n <p style=\"text-align:left; margin-top: 9px;\">Atmospheric conditions are measured periodically</p>\r\n </td>\r\n <td class=\"permission_no\">\r\n <label class=\"switch2\">\r\n <input id=\"switch-input31\" class=\"switch-input2\" (change)=\"onTestAssesment1Change($event.target.checked)\" type=\"checkbox\" [checked]=\"Certified3\" />\r\n <span class=\"switch-label2\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \r\n <span class=\"switch-handle2\"></span> \r\n </label> \r\n </td>\r\n <td class=\"permission_na\">\r\n <label class=\"switch2\">\r\n <input id=\"switch-input4\" class=\"switch-input2\" (change)=\"onTestAssesment2Change($event.target.checked)\" type=\"checkbox\" [checked]=\"Certified4\" />\r\n <span class=\"switch-label2\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \r\n <span class=\"switch-handle2\"></span> \r\n </label> \r\n </td>\r\n <td class=\"permission_no\">\r\n <label class=\"switch2\">\r\n <input id=\"switch-input5\" class=\"switch-input2\" (change)=\"onTestAssesment3Change($event.target.checked)\" type=\"checkbox\" [checked]=\"Certified5\" />\r\n <span class=\"switch-label2\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \r\n <span class=\"switch-handle2\"></span> \r\n </label> \r\n </td>\r\n <td class=\"permission_na\">\r\n <label class=\"switch2\">\r\n <input id=\"switch-input6\" class=\"switch-input2\" (change)=\"onTestAssesment4Change($event.target.checked)\" type=\"checkbox\" [checked]=\"Certified6\" />\r\n <span class=\"switch-label2\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \r\n <span class=\"switch-handle2\"></span> \r\n </label> \r\n </td>\r\n </tr>\r\n <tr class=\"docs\">\r\n <td>\r\n <p style=\"text-align:left; margin-top: 12px;\">Attachment</p>\r\n </td>\r\n <td style=\"width:130px;\">\r\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of test1File;let i = index;\" style=\"width:130px; margin-left: 25px; margin-bottom: 10px;\">\r\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\r\n {{file?.name}}\r\n </div>\r\n </div>\r\n </div>\r\n <br>\r\n <label class=\"btn btn-primary\">\r\n Upload File\r\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)=\"Test1File($event)\">\r\n </label>\r\n </td>\r\n <td style=\"width:130px;\">\r\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of test2File;let i = index;\" style=\"width:130px; margin-left: 25px; margin-bottom: 10px;\">\r\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\r\n {{file?.name}}\r\n </div>\r\n </div>\r\n </div>\r\n <br>\r\n <label class=\"btn btn-primary\">\r\n Upload File\r\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)=\"Test2File($event)\">\r\n </label>\r\n </td>\r\n <td style=\"width:130px;\">\r\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of test3File;let i = index;\" style=\"width:130px; margin-left: 25px; margin-bottom: 10px;\">\r\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\r\n {{file?.name}}\r\n </div>\r\n </div>\r\n </div>\r\n <br>\r\n <label class=\"btn btn-primary\">\r\n Upload File\r\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)=\"Test3File($event)\">\r\n </label>\r\n </td>\r\n <td style=\"width:130px;\">\r\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of test4File;let i = index;\" style=\"width:130px; margin-left: 25px; margin-bottom: 10px;\">\r\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\r\n {{file?.name}}\r\n </div>\r\n </div>\r\n </div>\r\n <br>\r\n <label class=\"btn btn-primary\">\r\n Upload File\r\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)=\"Test4File($event)\">\r\n </label>\r\n </td>\r\n </tr>\r\n \r\n </tbody>\r\n </table>\r\n </div>\r\n </div> -->\r\n \r\n\r\n\r\n\r\n", styles: [".table{width:100%;max-width:100%;margin-bottom:20px;border-collapse:collapse;border-spacing:0}.table-bordered{border:1px solid #ddd}thead{background-color:#03a9f4}thead th{color:#fff;font-size:14px}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}th{text-align:left}thead .permission{text-align:center}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}tbody{color:#797979}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}tbody td{font-size:13px}.permission_yes,.permission_no,.permission_na{text-align:center}\n"] }]
|
|
42
|
-
}], ctorParameters: function () { return []; }, propDecorators: {
|
|
46
|
+
args: [{ selector: 'app-custom-table', template: "<table class=\"table table-striped table-bordered\">\r\n <thead>\r\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\r\n {{ header.label }}\r\n </th>\r\n </thead>\r\n <tbody id=\"safetyMeasuresTableBody\">\r\n <tr *ngFor=\"let item of tableData; let i = index\">\r\n <td *ngFor=\"let header of tableHeader; let j = index\">\r\n <div *ngIf=\"header.type === 'imagetext'\" [class]=\"'col-md-' + header.size\" style=\"display: flex;\">\r\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\r\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.type === 'image'\" [class]=\"'col-md-' + header.size\">\r\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item[header.fieldName]\" [alt]=\"item.altText\">\r\n </div>\r\n <div *ngIf=\"header.type === 'text'\" [class]=\"'col-md-' + header.size\">\r\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.type === 'radio'\" [class]=\"'col-md-' + header.size\">\r\n <input type=\"radio\" [name]=\"item.name\" [checked]=\"item.value == header.fieldName\" (click)=\"updateRadio(item, header.fieldName)\">\r\n </div>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"tableInfo.addRow\">\r\n <td colspan=\"3\">\r\n <b>Add More</b>\r\n </td>\r\n <td colspan=\"2\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\r\n +\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>", styles: [".table{width:100%;max-width:100%;margin-bottom:20px;border-collapse:collapse;border-spacing:0}.table-bordered{border:1px solid #ddd}thead{background-color:#03a9f4}thead th{color:#fff;font-size:14px}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}th{text-align:left}thead .permission{text-align:center}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}tbody{color:#797979}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}tbody td{font-size:13px}.permission_yes,.permission_no,.permission_na{text-align:center}\n"] }]
|
|
47
|
+
}], ctorParameters: function () { return []; }, propDecorators: { question: [{
|
|
43
48
|
type: Input
|
|
44
|
-
}],
|
|
45
|
-
type: Input
|
|
46
|
-
}], tableDataChange: [{
|
|
49
|
+
}], valueChange: [{
|
|
47
50
|
type: Output
|
|
48
|
-
}], tableIndex: [{
|
|
49
|
-
type: Input
|
|
50
51
|
}] } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS10YWJsZS9jdXN0b20tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXRhYmxlL2N1c3RvbS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUS9FLE1BQU0sT0FBTyxvQkFBb0I7SUFDdEIsV0FBVyxHQUFTLEVBQUUsQ0FBQztJQUN2QixTQUFTLENBQWU7SUFDdkIsZUFBZSxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO0lBQ2xFLFVBQVUsQ0FBUztJQUU1QixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQztJQUdELE1BQU07UUFDSixNQUFNLE9BQU8sR0FBZTtZQUMxQixLQUFLLEVBQUUsRUFBRTtZQUNULFFBQVEsRUFBRSx1SkFBdUo7WUFDakssT0FBTyxFQUFFLEVBQUU7WUFDWCxJQUFJLEVBQUUsRUFBRTtZQUNSLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQztRQUNGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztRQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVMsRUFBRSxLQUFhO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFnQixFQUFFLEtBQWE7UUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGtCQUFrQixDQUFDLGdCQUF1QjtRQUN4QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzlDLENBQUM7d0dBckNVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLG1NQ1JqQyxtemNBdVNBOzs0RkQvUmEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjswRUFLbkIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0UsVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY3VzdG9tLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20tdGFibGUuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21UYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgdGFibGVIZWFkZXI6IHN0cmluZz0nJztcclxuICBASW5wdXQoKSB0YWJsZURhdGE6IHRhYmxlSXRlbSBbXTtcclxuICBAT3V0cHV0KCkgdGFibGVEYXRhQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcclxuICBASW5wdXQoKSB0YWJsZUluZGV4OiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcblxyXG4gIGFkZFJvdygpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5ld0l0ZW06IHRhYmxlSXRlbSAgPSB7XHJcbiAgICAgIGxhYmVsOiAnJyxcclxuICAgICAgaW1hZ2VTcmM6ICdodHRwczovL21lZGlhLmlzdG9ja3Bob3RvLmNvbS9pZC85NDM3NzY0MzQvdmVjdG9yL2ZpcmUtZXh0aW5ndWlzaGVyLWljb24tdmVjdG9yLmpwZz9zPTYxMng2MTImdz0wJms9MjAmYz1LVmFEeHVWMlRWN2Zkd24wOVRnOUhlRjNNTnlvSkM1azJZcVNBenBTdERZPScsXHJcbiAgICAgIGFsdFRleHQ6ICcnLFxyXG4gICAgICBuYW1lOiAnJyxcclxuICAgICAgdmFsdWU6ICdZRVMnXHJcbiAgICB9O1xyXG4gICAgY29uc3QgdXBkYXRlZFRhYmxlRGF0YSA9IFsuLi50aGlzLnRhYmxlRGF0YSwgbmV3SXRlbV07XHJcbiAgICB0aGlzLnRhYmxlRGF0YSA9IHVwZGF0ZWRUYWJsZURhdGE7XHJcbiAgICB0aGlzLmVtaXRUYWJsZURhdGFWYWx1ZSh1cGRhdGVkVGFibGVEYXRhKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVJhZGlvKGl0ZW06IGFueSwgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaXRlbS52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5lbWl0VGFibGVEYXRhVmFsdWUodGhpcy50YWJsZURhdGEpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlTGFiZWwocm93SW5kZXg6IG51bWJlciwgbGFiZWw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy50YWJsZURhdGFbcm93SW5kZXhdLmxhYmVsID0gbGFiZWw7XHJcbiAgICB0aGlzLmVtaXRUYWJsZURhdGFWYWx1ZSh0aGlzLnRhYmxlRGF0YSk7XHJcbiAgfVxyXG5cclxuICBlbWl0VGFibGVEYXRhVmFsdWUodXBkYXRlZFRhYmxlRGF0YTogYW55W10pOiB2b2lkIHtcclxuICAgIHRoaXMudGFibGVEYXRhQ2hhbmdlLmVtaXQodXBkYXRlZFRhYmxlRGF0YSk7XHJcbiAgfVxyXG4gIFxyXG5cclxuIFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIHRhYmxlSXRlbSB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBpbWFnZVNyYzpzdHJpbmdcclxuICBhbHRUZXh0OnN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZ1xyXG59XHJcblxyXG4iLCI8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zdHJpcGVkIHRhYmxlLWJvcmRlcmVkXCI+XHJcbiAgPHRoZWFkPlxyXG4gICAgPHRyPlxyXG4gICAgICA8dGg+XHJcbiAgICAgICAge3sgdGFibGVIZWFkZXIgfX1cclxuICAgICAgPC90aD5cclxuICAgICAgPHRoIGNsYXNzPVwicGVybWlzc2lvblwiPlxyXG4gICAgICAgIFlFU1xyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGggY2xhc3M9XCJwZXJtaXNzaW9uXCI+XHJcbiAgICAgICAgTk9cclxuICAgICAgPC90aD5cclxuICAgICAgPHRoIGNsYXNzPVwicGVybWlzc2lvblwiPlxyXG4gICAgICAgIE5BXHJcbiAgICAgIDwvdGg+XHJcbiAgICA8L3RyPlxyXG4gIDwvdGhlYWQ+XHJcbiAgPHRib2R5IGlkPVwic2FmZXR5TWVhc3VyZXNUYWJsZUJvZHlcIj5cclxuICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0YWJsZURhdGE7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgPHRkPlxyXG4gICAgICAgIDxpbWcgc3R5bGU9XCJ3aWR0aDogMzVweDsgaGVpZ2h0OiAzMnB4OyBtYXJnaW4tcmlnaHQ6IDVweDtcIiBbc3JjXT1cIml0ZW0uaW1hZ2VTcmNcIiBbYWx0XT1cIml0ZW0uYWx0VGV4dFwiPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwiaXRlbS5sYWJlbFwiIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUxhYmVsKGksIGl0ZW0ubGFiZWwpXCIgY2xhc3M9XCJzaGUtbGluZS1pbnB1dCB0YWJsZS1pbnB1dFwiPlxyXG4gICAgICA8L3RkPlxyXG4gICAgICA8dGQgY2xhc3M9XCJwZXJtaXNzaW9uX3llc1wiPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiAgW25hbWVdPVwiJ3RhYmxlUmFkaW9fJyArIGkgKyAnXycgKyB0YWJsZUluZGV4IFwiIFtuZ01vZGVsXT1cIml0ZW0udmFsdWVcIiB2YWx1ZT1cIllFU1wiIChjaGFuZ2UpPVwidXBkYXRlUmFkaW8oaXRlbSwgJ1lFUycpXCI+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDx0ZCBjbGFzcz1cInBlcm1pc3Npb25fbm9cIj5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgIFtuYW1lXT1cIid0YWJsZVJhZGlvXycgKyBpICsgJ18nICsgdGFibGVJbmRleCBcIiBbbmdNb2RlbF09XCJpdGVtLnZhbHVlXCIgdmFsdWU9XCJOT1wiIChjaGFuZ2UpPVwidXBkYXRlUmFkaW8oaXRlbSwgJ05PJylcIj5cclxuICAgICAgPC90ZD5cclxuICAgICAgPHRkIGNsYXNzPVwicGVybWlzc2lvbl9uYVwiPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiAgW25hbWVdPVwiJ3RhYmxlUmFkaW9fJyArIGkgKyAnXycgKyB0YWJsZUluZGV4IFwiIFtuZ01vZGVsXT1cIml0ZW0udmFsdWVcIiB2YWx1ZT1cIk5BXCIgKGNoYW5nZSk9XCJ1cGRhdGVSYWRpbyhpdGVtLCAnTkEnKVwiPlxyXG4gICAgICA8L3RkPlxyXG4gICAgPC90cj5cclxuICAgIDx0cj5cclxuICAgICAgPHRkPlxyXG4gICAgICAgIDxiPkFkZCBNb3JlPC9iPlxyXG4gICAgICA8L3RkPlxyXG4gICAgICA8dGQgY29sc3Bhbj1cIjNcIiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgY3Vyc29yOiBwb2ludGVyO1wiIGlkPVwiYWRkU2FmZXR5XCIgIChjbGljayk9XCJhZGRSb3coKVwiPlxyXG4gICAgICAgICtcclxuICAgICAgPC90ZD5cclxuICAgIDwvdHI+XHJcbiAgPC90Ym9keT5cclxuPC90YWJsZT5cclxuXHJcblxyXG5cclxuICA8IS0tIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbS10LTIwXCI+XHJcbiAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1ib3JkZXJlZFwiIHN0eWxlPVwidGV4dC1hbGlnbjpjZW50ZXJcIj5cclxuICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgIDx0aCBzdHlsZT1cInRleHQtYWxpZ246bGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgQXRtb3NwaGVyaWMgQ29uZGl0aW9uXHJcbiAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICA8dGggc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICBUZXN0IDFcclxuICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgIDx0aCBzdHlsZT1cInRleHQtYWxpZ246Y2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgIFRlc3QgMlxyXG4gICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgPHRoIHN0eWxlPVwidGV4dC1hbGlnbjpjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIFRlc3QgM1xyXG4gICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgPHRoIHN0eWxlPVwidGV4dC1hbGlnbjpjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIFRlc3QgNFxyXG4gICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgPHRib2R5IGlkPVwiYXRtb3NwaGVyaWNDb25kaXRpb25cIj5cclxuICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBpdGVtMSBvZiB0YWJsZURhdGFcIj5cclxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJwZXJtaXNzaW9uX3llc1wiPlxyXG4gICAgICAgICAgICAgICAgPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOmxlZnQ7IG1hcmdpbi10b3A6IDlweDtcIj5PeHlnZW4gKDE5LjUtMjMuNSUpICB7eyBpdGVtLmxhYmVsIH19PC9wPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicGVybWlzc2lvbl9ub1wiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBpZD1cInRlc3QxX294eWdlblwiICAgc3R5bGU9XCJ3aWR0aDogMTgxcHg7IGhlaWdodDogMjdweDsgdGV4dC1hbGlnbjogY2VudGVyOyBib3JkZXI6IG5vbmU7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1wiIHBsYWNlaG9sZGVyPVwiaXRlbS5wbGFjZWhvbGRlclwiID5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInBlcm1pc3Npb25fbmFcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgaWQ9XCJ0ZXN0Ml9veHlnZW5cIiAgc3R5bGU9XCJ3aWR0aDogMTgxcHg7IGhlaWdodDogMjdweDsgdGV4dC1hbGlnbjogY2VudGVyOyBib3JkZXI6IG5vbmU7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1wiIHBsYWNlaG9sZGVyPVwiaXRlbS5wbGFjZWhvbGRlclwiPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicGVybWlzc2lvbl9ub1wiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBpZD1cInRlc3QzX294eWdlblwiICBzdHlsZT1cIndpZHRoOiAxODFweDsgaGVpZ2h0OiAyN3B4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJvcmRlcjogbm9uZTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XCIgcGxhY2Vob2xkZXI9XCJpdGVtLnBsYWNlaG9sZGVyXCIgPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicGVybWlzc2lvbl9uYVwiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBpZD1cInRlc3Q0X294eWdlblwiICBzdHlsZT1cIndpZHRoOiAxODFweDsgaGVpZ2h0OiAyN3B4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJvcmRlcjogbm9uZTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XCIgcGxhY2Vob2xkZXI9XCJpdGVtLnBsYWNlaG9sZGVyXCI+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgIDx0ciBpZD1cImF0bW9zcGhlcmljQWRkbW9yZVwiPlxyXG4gICAgICAgICAgICAgIDx0ZCBzdHlsZT1cInRleHQtYWxpZ246IGxlZnQ7IHBhZGRpbmc6IDEzcHggMTFweDsgY3Vyc29yOiBwb2ludGVyOyBtYXJnaW4tcmlnaHQ6IDMycHg7XCIgI2FkZCBpZD1cImF0bW9zXCIgKGNsaWNrKT1cImFkZF9hdG1vc3BoZXJpQ29uZGl0aW9uX3JvdyhhZGQpXCI+XHJcbiAgICAgICAgICAgICAgICA8Yj5BZGQgTW9yZSAgICs8L2I+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+XHJcblxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPlxyXG5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuXHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+XHJcblxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+IFxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbTIgb2YgdGFibGVEYXRhXCI+XHJcbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicGVybWlzc2lvbl95ZXNcIj5cclxuICAgICAgICAgICAgICAgIDxwIHN0eWxlPVwidGV4dC1hbGlnbjpsZWZ0OyBtYXJnaW4tdG9wOiA5cHg7XCI+VGVzdGVkIEJ5PC9wPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicGVybWlzc2lvbl9uYVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLXNlbGVjdCBzdHlsZT1cIndpZHRoOiAxNzVweFwiIGlkPVwidGVzdDFfdGVzdGVkX2J5XCIgIChjaGFuZ2UpPVwib25UZXN0ZWQxQ2hhbmdlKCRldmVudClcIiBbaXRlbXNdPVwiaXRlbS5kcm9wRG93bkl0ZW1zXCJcclxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGVzdDFfdGVzdGVkX2J5XCIgcGxhY2Vob2xkZXI9XCItLS1TZWxlY3QtLS1cIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L25nLXNlbGVjdD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInBlcm1pc3Npb25fbm9cIj5cclxuICAgICAgICAgICAgICAgIDxuZy1zZWxlY3Qgc3R5bGU9XCJ3aWR0aDogMTc1cHhcIiBpZD1cInRlc3QyX3Rlc3RlZF9ieVwiICAoY2hhbmdlKT1cIm9uVGVzdGVkMkNoYW5nZSgkZXZlbnQpXCIgW2l0ZW1zXT1cIml0ZW0uZHJvcERvd25JdGVtc1wiXHJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRlc3QyX3Rlc3RlZF9ieVwiIHBsYWNlaG9sZGVyPVwiLS0tU2VsZWN0LS0tXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJwZXJtaXNzaW9uX25hXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctc2VsZWN0IHN0eWxlPVwid2lkdGg6IDE3NXB4XCIgaWQ9XCJ0ZXN0M190ZXN0ZWRfYnlcIiAgKGNoYW5nZSk9XCJvblRlc3RlZDNDaGFuZ2UoJGV2ZW50KVwiIFtpdGVtc109XCJpdGVtLmRyb3BEb3duSXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0ZXN0M190ZXN0ZWRfYnlcIiBwbGFjZWhvbGRlcj1cIi0tLVNlbGVjdC0tLVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPC9uZy1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJwZXJtaXNzaW9uX25vXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctc2VsZWN0IHN0eWxlPVwid2lkdGg6IDE3NXB4XCIgaWQ9XCJ0ZXN0NF90ZXN0ZWRfYnlcIiAgKGNoYW5nZSk9XCJvblRlc3RlZDRDaGFuZ2UoJGV2ZW50KVwiIFtpdGVtc109XCJpdGVtLmRyb3BEb3duSXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0ZXN0NF90ZXN0ZWRfYnlcIiBwbGFjZWhvbGRlcj1cIi0tLVNlbGVjdC0tLVwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDwvbmctc2VsZWN0PlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJwZXJtaXNzaW9uX3llc1wiPlxyXG4gICAgICAgICAgICAgICAgPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOmxlZnQ7IG1hcmdpbi10b3A6IDlweDtcIj5EYXRlICYgVGltZTwvcD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInBlcm1pc3Npb25fbm9cIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cInRlc3QxX3RpbWVcIiBpZD1cInRlc3QxX3RpbWVcIiAgZm9ybUNvbnRyb2xOYW1lPVwidGVzdDFfdGltZVwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkREL01NL1lZWVkgSEg6TU1cIiBzdHlsZT1cIndpZHRoOiA3NSU7XHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMzVweDtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XHJcbiAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1wiPlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicGVybWlzc2lvbl9uYVwiPlxyXG4gICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJ0ZXN0Ml90aW1lXCIgaWQ9XCJ0ZXN0Ml90aW1lXCIgIHR5cGU9XCJkYXRldGltZS1sb2NhbFwiIGZvcm1Db250cm9sTmFtZT1cInRlc3QyX3RpbWVcIlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiREQvTU0vWVlZWSBISDpNTVwiIHN0eWxlPVwid2lkdGg6IDc1JTtcclxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcclxuICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XCI+XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicGVybWlzc2lvbl9ub1wiPlxyXG5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cInRlc3QzX3RpbWVcIiBpZD1cInRlc3QzX3RpbWVcIiAgdHlwZT1cImRhdGV0aW1lLWxvY2FsXCIgZm9ybUNvbnRyb2xOYW1lPVwidGVzdDNfdGltZVwiXHJcbiAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiREQvTU0vWVlZWSBISDpNTVwiIHN0eWxlPVwid2lkdGg6IDc1JTtcclxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcclxuICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XCI+XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicGVybWlzc2lvbl9uYVwiPlxyXG5cclxuICAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwidGVzdDRNaW5EYXRlXCIgaWQ9XCJ0ZXN0NF90aW1lXCIgIGZvcm1Db250cm9sTmFtZT1cInRlc3Q0X3RpbWVcIlxyXG4gICAgICAgICAgICAgICB0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkREL01NL1lZWVkgSEg6TU1cIiBzdHlsZT1cIndpZHRoOiA3NSU7XHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMzVweDtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XHJcbiAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1wiPlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJwZXJtaXNzaW9uX3llc1wiPlxyXG4gICAgICAgICAgICAgICAgPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOmxlZnQ7IG1hcmdpbi10b3A6IDlweDtcIj5BdG1vc3BoZXJpYyBjb25kaXRpb25zIGFyZSBtZWFzdXJlZCBwZXJpb2RpY2FsbHk8L3A+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJwZXJtaXNzaW9uX25vXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJzd2l0Y2gyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cInN3aXRjaC1pbnB1dDMxXCIgY2xhc3M9XCJzd2l0Y2gtaW5wdXQyXCIgKGNoYW5nZSk9XCJvblRlc3RBc3Nlc21lbnQxQ2hhbmdlKCRldmVudC50YXJnZXQuY2hlY2tlZClcIiB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJDZXJ0aWZpZWQzXCIgIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3dpdGNoLWxhYmVsMlwiIGRhdGEtb249XCJTYWZlXCIgZGF0YS1vZmY9XCJVbnNhZmVcIj48L3NwYW4+IFxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN3aXRjaC1oYW5kbGUyXCI+PC9zcGFuPiBcclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+IFxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicGVybWlzc2lvbl9uYVwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwic3dpdGNoMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJzd2l0Y2gtaW5wdXQ0XCIgY2xhc3M9XCJzd2l0Y2gtaW5wdXQyXCIgKGNoYW5nZSk9XCJvblRlc3RBc3Nlc21lbnQyQ2hhbmdlKCRldmVudC50YXJnZXQuY2hlY2tlZClcIiB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJDZXJ0aWZpZWQ0XCIgIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3dpdGNoLWxhYmVsMlwiIGRhdGEtb249XCJTYWZlXCIgZGF0YS1vZmY9XCJVbnNhZmVcIj48L3NwYW4+IFxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN3aXRjaC1oYW5kbGUyXCI+PC9zcGFuPiBcclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+IFxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicGVybWlzc2lvbl9ub1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwic3dpdGNoMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJzd2l0Y2gtaW5wdXQ1XCIgY2xhc3M9XCJzd2l0Y2gtaW5wdXQyXCIgKGNoYW5nZSk9XCJvblRlc3RBc3Nlc21lbnQzQ2hhbmdlKCRldmVudC50YXJnZXQuY2hlY2tlZClcIiB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJDZXJ0aWZpZWQ1XCIgIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3dpdGNoLWxhYmVsMlwiIGRhdGEtb249XCJTYWZlXCIgZGF0YS1vZmY9XCJVbnNhZmVcIj48L3NwYW4+IFxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN3aXRjaC1oYW5kbGUyXCI+PC9zcGFuPiBcclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+IFxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicGVybWlzc2lvbl9uYVwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwic3dpdGNoMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJzd2l0Y2gtaW5wdXQ2XCIgY2xhc3M9XCJzd2l0Y2gtaW5wdXQyXCIgKGNoYW5nZSk9XCJvblRlc3RBc3Nlc21lbnQ0Q2hhbmdlKCRldmVudC50YXJnZXQuY2hlY2tlZClcIiB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJDZXJ0aWZpZWQ2XCIgIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3dpdGNoLWxhYmVsMlwiIGRhdGEtb249XCJTYWZlXCIgZGF0YS1vZmY9XCJVbnNhZmVcIj48L3NwYW4+IFxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN3aXRjaC1oYW5kbGUyXCI+PC9zcGFuPiBcclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+IFxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImRvY3NcIj5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8cCBzdHlsZT1cInRleHQtYWxpZ246bGVmdDsgbWFyZ2luLXRvcDogMTJweDtcIj5BdHRhY2htZW50PC9wPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6MTMwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTMgZG9jdW1lbnQtY250XCIgKm5nRm9yPVwibGV0IGZpbGUgb2YgdGVzdDFGaWxlO2xldCBpID0gaW5kZXg7XCIgIHN0eWxlPVwid2lkdGg6MTMwcHg7IG1hcmdpbi1sZWZ0OiAyNXB4OyBtYXJnaW4tYm90dG9tOiAxMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKGNsaWNrKT1cInZpZXdEb2MoZmlsZT8uZG9jKVwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGRvY3VtZW50X2ltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImdldERvY0ljb24oZmlsZT8uZG9jKVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4O2hlaWdodDogNDBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy05IGRvY3VtZW50X25hbWVcIiBzdHlsZT1cIm92ZXJmbG93OmhpZGRlbjtoZWlnaHQ6MzVweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB7e2ZpbGU/Lm5hbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgIFVwbG9hZCBGaWxlXHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImZpbGVcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgdHlwZT1cImZpbGVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIChjaGFuZ2UpPVwiVGVzdDFGaWxlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDoxMzBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBkb2N1bWVudC1jbnRcIiAqbmdGb3I9XCJsZXQgZmlsZSBvZiB0ZXN0MkZpbGU7bGV0IGkgPSBpbmRleDtcIiBzdHlsZT1cIndpZHRoOjEzMHB4OyBtYXJnaW4tbGVmdDogMjVweDsgbWFyZ2luLWJvdHRvbTogMTBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIChjbGljayk9XCJ2aWV3RG9jKGZpbGU/LmRvYylcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBkb2N1bWVudF9pbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJnZXREb2NJY29uKGZpbGU/LmRvYylcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTBweDtoZWlnaHQ6IDQwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctOSBkb2N1bWVudF9uYW1lXCIgc3R5bGU9XCJvdmVyZmxvdzpoaWRkZW47aGVpZ2h0OjM1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3tmaWxlPy5uYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgIFVwbG9hZCBGaWxlXHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImZpbGVcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgdHlwZT1cImZpbGVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIChjaGFuZ2UpPVwiVGVzdDJGaWxlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDoxMzBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBkb2N1bWVudC1jbnRcIiAqbmdGb3I9XCJsZXQgZmlsZSBvZiB0ZXN0M0ZpbGU7bGV0IGkgPSBpbmRleDtcIiBzdHlsZT1cIndpZHRoOjEzMHB4OyBtYXJnaW4tbGVmdDogMjVweDsgbWFyZ2luLWJvdHRvbTogMTBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIChjbGljayk9XCJ2aWV3RG9jKGZpbGU/LmRvYylcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBkb2N1bWVudF9pbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJnZXREb2NJY29uKGZpbGU/LmRvYylcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTBweDtoZWlnaHQ6IDQwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctOSBkb2N1bWVudF9uYW1lXCIgc3R5bGU9XCJvdmVyZmxvdzpoaWRkZW47aGVpZ2h0OjM1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3tmaWxlPy5uYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgIFVwbG9hZCBGaWxlXHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImZpbGVcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgdHlwZT1cImZpbGVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIChjaGFuZ2UpPVwiVGVzdDNGaWxlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDoxMzBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBkb2N1bWVudC1jbnRcIiAqbmdGb3I9XCJsZXQgZmlsZSBvZiB0ZXN0NEZpbGU7bGV0IGkgPSBpbmRleDtcIiBzdHlsZT1cIndpZHRoOjEzMHB4OyBtYXJnaW4tbGVmdDogMjVweDsgbWFyZ2luLWJvdHRvbTogMTBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIChjbGljayk9XCJ2aWV3RG9jKGZpbGU/LmRvYylcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBkb2N1bWVudF9pbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJnZXREb2NJY29uKGZpbGU/LmRvYylcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTBweDtoZWlnaHQ6IDQwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctOSBkb2N1bWVudF9uYW1lXCIgc3R5bGU9XCJvdmVyZmxvdzpoaWRkZW47aGVpZ2h0OjM1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3tmaWxlPy5uYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgIFVwbG9hZCBGaWxlXHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImZpbGVcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgdHlwZT1cImZpbGVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIChjaGFuZ2UpPVwiVGVzdDRGaWxlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICBcclxuICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgPC90YWJsZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PiAtLT5cclxuICBcclxuXHJcblxyXG5cclxuIl19
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS10YWJsZS9jdXN0b20tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXRhYmxlL2N1c3RvbS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBWS9FLE1BQU0sT0FBTyxvQkFBb0I7SUFDdEIsUUFBUSxDQUFVO0lBQ2pCLFdBQVcsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztJQUV2RSxTQUFTLENBQWU7SUFDeEIsV0FBVyxDQUFNO0lBQ2pCLFNBQVMsQ0FBTTtJQUNmLGFBQWEsQ0FBUztJQUV0QixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO1FBQ04sSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxTQUFTLEVBQUU7WUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBRXJDLElBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2FBQ2xEO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDdkUsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBUyxFQUFFLEtBQWE7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWdCLEVBQUUsS0FBYSxFQUFFLEtBQWE7UUFDeEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDeEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDeEUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsZ0JBQXVCO1FBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDMUMsQ0FBQzt3R0E1Q1Usb0JBQW9COzRGQUFwQixvQkFBb0IsbUlDWmpDLGs1REFpQ1E7OzRGRHJCSyxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usa0JBQWtCOzBFQU1uQixRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRhYmxlV3JhcHBlciB9IGZyb20gJy4uLy4uL21vZGVsL3RhYmxlV3JhcHBlcic7XHJcbmltcG9ydCB7IFF1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vd3JhcHBlcic7XHJcblxyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jdXN0b20tdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbS10YWJsZS5jb21wb25lbnQuY3NzJ11cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21UYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgcXVlc3Rpb246IFF1ZXN0aW9uXHJcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcclxuXHJcbiAgdGFibGVJbmZvOiBUYWJsZVdyYXBwZXI7XHJcbiAgdGFibGVIZWFkZXI6IGFueTtcclxuICB0YWJsZURhdGE6IGFueTtcclxuICBhZGRSb3dDb2xTcGFuOiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYodGhpcy5xdWVzdGlvbi5TdWJfVGV4dF9fYyAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy50YWJsZUluZm8gPSBKU09OLnBhcnNlKHRoaXMucXVlc3Rpb24uU3ViX1RleHRfX2MpO1xyXG5cclxuICAgICAgdGhpcy50YWJsZUhlYWRlciA9IHRoaXMudGFibGVJbmZvLmhlYWRlcjtcclxuICAgICAgdGhpcy50YWJsZURhdGEgPSB0aGlzLnRhYmxlSW5mby5kYXRhO1xyXG5cclxuICAgICAgaWYodGhpcy50YWJsZURhdGEuYWRkUm93KSB7XHJcbiAgICAgICAgdGhpcy5hZGRSb3dDb2xTcGFuID0gdGhpcy50YWJsZUhlYWRlci5sZW5ndGggLSAyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRSb3coKTogdm9pZCB7XHJcbiAgICBsZXQgbmV3SXRlbSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy50YWJsZUluZm8ubmV3Um93RGVmYXVsdCkpO1xyXG4gICAgY29uc3QgdXBkYXRlZFRhYmxlRGF0YSA9IFsuLi50aGlzLnRhYmxlRGF0YSwgbmV3SXRlbV07XHJcbiAgICB0aGlzLnRhYmxlRGF0YSA9IHVwZGF0ZWRUYWJsZURhdGE7XHJcbiAgICB0aGlzLmVtaXRUYWJsZURhdGFWYWx1ZSh1cGRhdGVkVGFibGVEYXRhKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVJhZGlvKGl0ZW06IGFueSwgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaXRlbS52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5lbWl0VGFibGVEYXRhVmFsdWUodGhpcy50YWJsZURhdGEpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlTGFiZWwocm93SW5kZXg6IG51bWJlciwgbGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy50YWJsZURhdGFbcm93SW5kZXhdW2xhYmVsXSA9IHZhbHVlO1xyXG4gICAgdGhpcy50YWJsZURhdGFbcm93SW5kZXhdLm5hbWUgPSB2YWx1ZS5yZXBsYWNlKC9cXHMrL2csICcnKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgdGhpcy5lbWl0VGFibGVEYXRhVmFsdWUodGhpcy50YWJsZURhdGEpO1xyXG4gIH1cclxuXHJcbiAgZW1pdFRhYmxlRGF0YVZhbHVlKHVwZGF0ZWRUYWJsZURhdGE6IGFueVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodXBkYXRlZFRhYmxlRGF0YSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIHRhYmxlSXRlbSB7XHJcbiAgc2FmZXR5X3ByZWNhdXRpb246IHN0cmluZztcclxuICBpbWFnZVNyYzpzdHJpbmdcclxuICBhbHRUZXh0OnN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZ1xyXG59XHJcblxyXG4iLCI8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zdHJpcGVkIHRhYmxlLWJvcmRlcmVkXCI+XHJcbiAgPHRoZWFkPlxyXG4gICAgPHRoICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgdGFibGVIZWFkZXI7IGxldCBoaSA9IGluZGV4XCIgW2NsYXNzXT1cIidjb2wtbWQtJyArIGhlYWRlci5zaXplXCI+XHJcbiAgICAgIHt7IGhlYWRlci5sYWJlbCB9fVxyXG4gICAgPC90aD5cclxuICA8L3RoZWFkPlxyXG4gIDx0Ym9keSBpZD1cInNhZmV0eU1lYXN1cmVzVGFibGVCb2R5XCI+XHJcbiAgICA8dHIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdGFibGVEYXRhOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIHRhYmxlSGVhZGVyOyBsZXQgaiA9IGluZGV4XCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlci50eXBlID09PSAnaW1hZ2V0ZXh0J1wiIFtjbGFzc109XCInY29sLW1kLScgKyBoZWFkZXIuc2l6ZVwiIHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cclxuICAgICAgICAgIDxpbWcgc3R5bGU9XCJ3aWR0aDogMzVweDsgaGVpZ2h0OiAzMnB4OyBtYXJnaW4tcmlnaHQ6IDVweDtcIiBbc3JjXT1cIml0ZW0uaW1hZ2VTcmNcIiBbYWx0XT1cIml0ZW0uYWx0VGV4dFwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJpdGVtW2hlYWRlci5maWVsZE5hbWVdXCIgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlTGFiZWwoaSwgaGVhZGVyLmZpZWxkTmFtZSwgaXRlbVtoZWFkZXIuZmllbGROYW1lXSlcIiBjbGFzcz1cInNoZS1saW5lLWlucHV0IHRhYmxlLWlucHV0XCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlci50eXBlID09PSAnaW1hZ2UnXCIgW2NsYXNzXT1cIidjb2wtbWQtJyArIGhlYWRlci5zaXplXCI+XHJcbiAgICAgICAgICA8aW1nIHN0eWxlPVwid2lkdGg6IDM1cHg7IGhlaWdodDogMzJweDsgbWFyZ2luLXJpZ2h0OiA1cHg7XCIgW3NyY109XCJpdGVtW2hlYWRlci5maWVsZE5hbWVdXCIgW2FsdF09XCJpdGVtLmFsdFRleHRcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyLnR5cGUgPT09ICd0ZXh0J1wiIFtjbGFzc109XCInY29sLW1kLScgKyBoZWFkZXIuc2l6ZVwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJpdGVtW2hlYWRlci5maWVsZE5hbWVdXCIgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlTGFiZWwoaSwgaGVhZGVyLmZpZWxkTmFtZSwgaXRlbVtoZWFkZXIuZmllbGROYW1lXSlcIiBjbGFzcz1cInNoZS1saW5lLWlucHV0IHRhYmxlLWlucHV0XCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlci50eXBlID09PSAncmFkaW8nXCIgW2NsYXNzXT1cIidjb2wtbWQtJyArIGhlYWRlci5zaXplXCI+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgW25hbWVdPVwiaXRlbS5uYW1lXCIgW2NoZWNrZWRdPVwiaXRlbS52YWx1ZSA9PSBoZWFkZXIuZmllbGROYW1lXCIgKGNsaWNrKT1cInVwZGF0ZVJhZGlvKGl0ZW0sIGhlYWRlci5maWVsZE5hbWUpXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L3RyPlxyXG4gICAgPHRyICpuZ0lmPVwidGFibGVJbmZvLmFkZFJvd1wiPlxyXG4gICAgICA8dGQgY29sc3Bhbj1cIjNcIj5cclxuICAgICAgICA8Yj5BZGQgTW9yZTwvYj5cclxuICAgICAgPC90ZD5cclxuICAgICAgPHRkIGNvbHNwYW49XCIyXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IGN1cnNvcjogcG9pbnRlcjtcIiBpZD1cImFkZFNhZmV0eVwiICAoY2xpY2spPVwiYWRkUm93KClcIj5cclxuICAgICAgICArXHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L3RyPlxyXG4gIDwvdGJvZHk+XHJcbjwvdGFibGU+Il19
|
|
@@ -18,18 +18,22 @@ export class PickLocationComponent {
|
|
|
18
18
|
markerPosition;
|
|
19
19
|
center;
|
|
20
20
|
markerOptions;
|
|
21
|
-
// center: google.maps.LatLngLiteral = { lat: 37.7749, lng: -122.4194 };
|
|
22
21
|
constructor(
|
|
23
22
|
// private mapsAPILoader: MapsAPILoader,
|
|
24
23
|
ngZone) {
|
|
25
24
|
this.ngZone = ngZone;
|
|
26
25
|
this.geoCoder = new google.maps.Geocoder();
|
|
26
|
+
this.markerOptions = new google.maps.Marker({
|
|
27
|
+
draggable: true,
|
|
28
|
+
animation: google.maps.Animation.DROP
|
|
29
|
+
});
|
|
27
30
|
// this.formGroup = this.formBuilder.group({
|
|
28
31
|
// location: [''] // Add any initial value or leave it empty
|
|
29
32
|
// });
|
|
30
33
|
}
|
|
31
34
|
ngOnInit() {
|
|
32
35
|
this.initAutocomplete();
|
|
36
|
+
this.onMarkerDragEnd();
|
|
33
37
|
}
|
|
34
38
|
initAutocomplete() {
|
|
35
39
|
if (this.geoCoder) {
|
|
@@ -51,11 +55,13 @@ export class PickLocationComponent {
|
|
|
51
55
|
});
|
|
52
56
|
}
|
|
53
57
|
}
|
|
54
|
-
onMarkerDragEnd(
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
onMarkerDragEnd() {
|
|
59
|
+
google.maps.event.addListener(this.markerOptions, 'dragend', (event) => {
|
|
60
|
+
console.log('dragable working', event);
|
|
61
|
+
this.latitude = event.latLng.lat();
|
|
62
|
+
this.longitude = event.latLng.lng();
|
|
63
|
+
this.getAddress(this.latitude, this.longitude);
|
|
64
|
+
});
|
|
59
65
|
}
|
|
60
66
|
onMapClick(event) {
|
|
61
67
|
console.log('onMapClick', event);
|
|
@@ -68,13 +74,9 @@ export class PickLocationComponent {
|
|
|
68
74
|
navigator.geolocation.getCurrentPosition((position) => {
|
|
69
75
|
this.latitude = position.coords.latitude;
|
|
70
76
|
this.longitude = position.coords.longitude;
|
|
71
|
-
this.markerOptions = {
|
|
72
|
-
draggable: true,
|
|
73
|
-
animation: google.maps.Animation.DROP
|
|
74
|
-
};
|
|
75
77
|
this.markerPosition = { lat: this.latitude, lng: this.longitude };
|
|
76
78
|
this.center = { lat: this.latitude, lng: this.longitude };
|
|
77
|
-
this.zoom =
|
|
79
|
+
this.zoom = 8;
|
|
78
80
|
this.getAddress(this.latitude, this.longitude);
|
|
79
81
|
});
|
|
80
82
|
}
|
|
@@ -108,21 +110,21 @@ export class PickLocationComponent {
|
|
|
108
110
|
if (!(this.latitude && this.longitude)) {
|
|
109
111
|
this.setCurrentLocation();
|
|
110
112
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
else {
|
|
114
|
+
this.markerPosition = { lat: this.latitude, lng: this.longitude };
|
|
115
|
+
this.center = { lat: this.latitude, lng: this.longitude };
|
|
116
|
+
this.zoom = 8;
|
|
117
|
+
}
|
|
116
118
|
}
|
|
117
119
|
closeModal() {
|
|
118
120
|
this.showModal = false;
|
|
119
121
|
}
|
|
120
122
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PickLocationComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
121
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: PickLocationComponent, selector: "app-pick-location", inputs: { address: "address" }, outputs: { locationSelected: "locationSelected" }, viewQueries: [{ propertyName: "searchElementRef", first: true, predicate: ["search"], descendants: true, static: true }], ngImport: i0, template: "<div>\r\n <!-- <label class=\"she-label\">Location</label> -->\r\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"Enter Location\"\r\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"Search Nearest Location\" autocorrect=\"off\"\r\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\r\n >\r\n <a (click)=\"openMap()\"\r\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\r\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\r\n </i> Pick Location</a>\r\n</div>\r\n\r\n<div class=\"map-overlay\" *ngIf=\"showModal\">\r\n <div class=\"map-modal\">\r\n <div class=\"map-modal-content\">\r\n <div class=\"map-modal-header\">\r\n <h4>Pick Your Location</h4>\r\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\r\n </div>\r\n <!-- Modal content goes here -->\r\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\r\n [fullscreenControl]=\"true\">\r\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\r\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\r\n </agm-map> -->\r\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"onMapClick($event)\">\r\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\"
|
|
123
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: PickLocationComponent, selector: "app-pick-location", inputs: { address: "address" }, outputs: { locationSelected: "locationSelected" }, viewQueries: [{ propertyName: "searchElementRef", first: true, predicate: ["search"], descendants: true, static: true }], ngImport: i0, template: "<div>\r\n <!-- <label class=\"she-label\">Location</label> -->\r\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"Enter Location\"\r\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"Search Nearest Location\" autocorrect=\"off\"\r\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\r\n >\r\n <a (click)=\"openMap()\"\r\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\r\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\r\n </i> Pick Location</a>\r\n</div>\r\n\r\n<div class=\"map-overlay\" *ngIf=\"showModal\">\r\n <div class=\"map-modal\">\r\n <div class=\"map-modal-content\">\r\n <div class=\"map-modal-header\">\r\n <h4>Pick Your Location</h4>\r\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\r\n </div>\r\n <!-- Modal content goes here -->\r\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\r\n [fullscreenControl]=\"true\">\r\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\r\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\r\n </agm-map> -->\r\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" [center]=\"center\" (mapClick)=\"onMapClick($event)\">\r\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\"></map-marker>\r\n </google-map>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n", styles: [".she-label{font-weight:400;color:#9a9a9a;padding-bottom:5px;padding-top:5px;padding-right:15px;font-size:14px}.she-line-input{border:none;background:#fff;border-bottom:1px solid #eeeeee;border-radius:0}.fa-location-arrow:before{content:\"\\f124\"}google-map .map-container{width:auto!important}.map-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1}.map-modal{width:600px;background-color:#fff;border-radius:5px;box-shadow:0 2px 4px #0003}.map-modal-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;background-color:#fff;border-bottom:2px solid #e5e5e5}.map-modal-header h3{margin:0}.map-modal-content{padding:20px}.close-button{border:none;cursor:pointer;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.GoogleMap, selector: "google-map", inputs: ["height", "width", "mapTypeId", "center", "zoom", "options"], outputs: ["mapInitialized", "authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }, { kind: "directive", type: i3.MapMarker, selector: "map-marker", inputs: ["title", "position", "label", "clickable", "options", "icon", "visible"], outputs: ["animationChanged", "mapClick", "clickableChanged", "cursorChanged", "mapDblclick", "mapDrag", "mapDragend", "draggableChanged", "mapDragstart", "flatChanged", "iconChanged", "mapMousedown", "mapMouseout", "mapMouseover", "mapMouseup", "positionChanged", "mapRightclick", "shapeChanged", "titleChanged", "visibleChanged", "zindexChanged"], exportAs: ["mapMarker"] }] });
|
|
122
124
|
}
|
|
123
125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PickLocationComponent, decorators: [{
|
|
124
126
|
type: Component,
|
|
125
|
-
args: [{ selector: 'app-pick-location', template: "<div>\r\n <!-- <label class=\"she-label\">Location</label> -->\r\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"Enter Location\"\r\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"Search Nearest Location\" autocorrect=\"off\"\r\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\r\n >\r\n <a (click)=\"openMap()\"\r\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\r\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\r\n </i> Pick Location</a>\r\n</div>\r\n\r\n<div class=\"map-overlay\" *ngIf=\"showModal\">\r\n <div class=\"map-modal\">\r\n <div class=\"map-modal-content\">\r\n <div class=\"map-modal-header\">\r\n <h4>Pick Your Location</h4>\r\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\r\n </div>\r\n <!-- Modal content goes here -->\r\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\r\n [fullscreenControl]=\"true\">\r\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\r\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\r\n </agm-map> -->\r\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"onMapClick($event)\">\r\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\"
|
|
127
|
+
args: [{ selector: 'app-pick-location', template: "<div>\r\n <!-- <label class=\"she-label\">Location</label> -->\r\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"Enter Location\"\r\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"Search Nearest Location\" autocorrect=\"off\"\r\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\r\n >\r\n <a (click)=\"openMap()\"\r\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\r\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\r\n </i> Pick Location</a>\r\n</div>\r\n\r\n<div class=\"map-overlay\" *ngIf=\"showModal\">\r\n <div class=\"map-modal\">\r\n <div class=\"map-modal-content\">\r\n <div class=\"map-modal-header\">\r\n <h4>Pick Your Location</h4>\r\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\r\n </div>\r\n <!-- Modal content goes here -->\r\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\r\n [fullscreenControl]=\"true\">\r\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\r\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\r\n </agm-map> -->\r\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" [center]=\"center\" (mapClick)=\"onMapClick($event)\">\r\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\"></map-marker>\r\n </google-map>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n", styles: [".she-label{font-weight:400;color:#9a9a9a;padding-bottom:5px;padding-top:5px;padding-right:15px;font-size:14px}.she-line-input{border:none;background:#fff;border-bottom:1px solid #eeeeee;border-radius:0}.fa-location-arrow:before{content:\"\\f124\"}google-map .map-container{width:auto!important}.map-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1}.map-modal{width:600px;background-color:#fff;border-radius:5px;box-shadow:0 2px 4px #0003}.map-modal-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;background-color:#fff;border-bottom:2px solid #e5e5e5}.map-modal-header h3{margin:0}.map-modal-content{padding:20px}.close-button{border:none;cursor:pointer;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}\n"] }]
|
|
126
128
|
}], ctorParameters: function () { return [{ type: i0.NgZone }]; }, propDecorators: { searchElementRef: [{
|
|
127
129
|
type: ViewChild,
|
|
128
130
|
args: ['search', { static: true }]
|
|
@@ -131,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
131
133
|
}], locationSelected: [{
|
|
132
134
|
type: Output
|
|
133
135
|
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljay1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9waWNrLWxvY2F0aW9uL3BpY2stbG9jYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvcGljay1sb2NhdGlvbi9waWNrLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBNEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFVeEgsTUFBTSxPQUFPLHFCQUFxQjtJQW1CdEI7SUFsQlYsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ2pCLElBQUksR0FBVyxFQUFFLENBQUM7SUFDVixRQUFRLENBQUM7SUFDbEIsK0JBQStCO0lBRXZCLGdCQUFnQixDQUErQjtJQUN0RCxTQUFTLEdBQVksS0FBSyxDQUFDO0lBQ2xCLE9BQU8sQ0FBUTtJQUNkLGdCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3hFLG9CQUFvQixDQUFNO0lBQzFCLGNBQWMsQ0FBMEI7SUFDeEMsTUFBTSxDQUEwQjtJQUNoQyxhQUFhLENBQTREO0lBQzFFLHdFQUF3RTtJQUV2RTtJQUNDLHdDQUF3QztJQUMvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3Qyw0Q0FBNEM7UUFDNUMsOERBQThEO1FBQzlELE1BQU07SUFFUixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsRUFB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U0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBQztZQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDdkM7UUFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUMzQjtRQUNGLDJCQUEyQjtRQUM1Qix3RUFBd0U7UUFDdEUsNENBQTRDO1FBQzVDLCtCQUErQjtRQUMvQixJQUFJO0lBQ04sQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO3dHQTVIVSxxQkFBcUI7NEZBQXJCLHFCQUFxQixzUUNWbEMsc21EQXFDQTs7NEZEM0JhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7NkZBV3RCLGdCQUFnQjtzQkFEdEIsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUc1QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBOZ01vZHVsZSwgTmdab25lLCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbi8vaW1wb3J0IHsgTWFwc0FQSUxvYWRlciB9IGZyb20gJ0BhZ20vY29yZSc7XHJcbmltcG9ydCB7IEdvb2dsZU1hcCB9IGZyb20gJ0Bhbmd1bGFyL2dvb2dsZS1tYXBzJztcclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcGljay1sb2NhdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY2stbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BpY2stbG9jYXRpb24uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaWNrTG9jYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGxhdGl0dWRlID0gbnVsbDtcclxuICBsb25naXR1ZGUgPSBudWxsO1xyXG4gIHpvb206IG51bWJlciA9IDEwO1xyXG4gIHByaXZhdGUgZ2VvQ29kZXI7XHJcbiAvLyBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XHJcbiAgQFZpZXdDaGlsZCgnc2VhcmNoJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwdWJsaWMgc2VhcmNoRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuICBzaG93TW9kYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBhZGRyZXNzOnN0cmluZztcclxuICBAT3V0cHV0KCkgbG9jYXRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBuYXZpZ2F0b3JHZW9sb2NhdGlvbjogYW55O1xyXG4gIG1hcmtlclBvc2l0aW9uOiB7IGxhdDogYW55OyBsbmc6IGFueTsgfTtcclxuICBjZW50ZXI6IHsgbGF0OiBhbnk7IGxuZzogYW55OyB9O1xyXG4gIG1hcmtlck9wdGlvbnM6IHsgZHJhZ2dhYmxlOiBib29sZWFuOyBhbmltYXRpb246IGdvb2dsZS5tYXBzLkFuaW1hdGlvbjsgfTtcclxuIC8vIGNlbnRlcjogZ29vZ2xlLm1hcHMuTGF0TG5nTGl0ZXJhbCA9IHsgbGF0OiAzNy43NzQ5LCBsbmc6IC0xMjIuNDE5NCB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgLy8gcHJpdmF0ZSBtYXBzQVBJTG9hZGVyOiBNYXBzQVBJTG9hZGVyLFxyXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkgeyBcclxuICAgICAgdGhpcy5nZW9Db2RlciA9IG5ldyBnb29nbGUubWFwcy5HZW9jb2RlcigpO1xyXG4gICAgLy8gdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgIC8vICAgbG9jYXRpb246IFsnJ10gLy8gQWRkIGFueSBpbml0aWFsIHZhbHVlIG9yIGxlYXZlIGl0IGVtcHR5XHJcbiAgICAvLyB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgdGhpcy5pbml0QXV0b2NvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBpbml0QXV0b2NvbXBsZXRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZ2VvQ29kZXIpIHtcclxuICAgICAgY29uc3QgYXV0b2NvbXBsZXRlID0gbmV3IGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGUodGhpcy5zZWFyY2hFbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50LCB7XHJcbiAgICAgICAgdHlwZXM6IFtdXHJcbiAgICAgIH0pO1xyXG4gICAgICBhdXRvY29tcGxldGUuYWRkTGlzdGVuZXIoJ3BsYWNlX2NoYW5nZWQnLCAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHBsYWNlOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHQgPSBhdXRvY29tcGxldGUuZ2V0UGxhY2UoKTtcclxuXHJcbiAgICAgICAgICBpZiAocGxhY2UuZ2VvbWV0cnkgPT09IHVuZGVmaW5lZCB8fCBwbGFjZS5nZW9tZXRyeSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhpcy5sYXRpdHVkZSA9IHBsYWNlLmdlb21ldHJ5LmxvY2F0aW9uLmxhdCgpO1xyXG4gICAgICAgICAgdGhpcy5sb25naXR1ZGUgPSBwbGFjZS5nZW9tZXRyeS5sb2NhdGlvbi5sbmcoKTtcclxuICAgICAgICAgIHRoaXMuem9vbSA9IDE4O1xyXG4gICAgICAgICAgdGhpcy5hZGRyZXNzID0gcGxhY2UuZm9ybWF0dGVkX2FkZHJlc3M7XHJcbiAgICAgICAgICB0aGlzLmxvY2F0aW9uU2VsZWN0ZWQuZW1pdCh0aGlzLmFkZHJlc3MpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTWFya2VyRHJhZ0VuZChldmVudDogZ29vZ2xlLm1hcHMuTWFwTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coJ29uTWFya2VyRHJhZ0VuZCcsZXZlbnQpO1xyXG4gICAgdGhpcy5sYXRpdHVkZSA9IGV2ZW50LmxhdExuZy5sYXQoKTtcclxuICAgIHRoaXMubG9uZ2l0dWRlID0gZXZlbnQubGF0TG5nLmxuZygpO1xyXG4gICAgdGhpcy5nZXRBZGRyZXNzKHRoaXMubGF0aXR1ZGUsIHRoaXMubG9uZ2l0dWRlKTtcclxuICB9XHJcblxyXG4gIG9uTWFwQ2xpY2soZXZlbnQ6IGdvb2dsZS5tYXBzLk1hcE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKCdvbk1hcENsaWNrJyxldmVudCk7XHJcbiAgICB0aGlzLmxhdGl0dWRlID0gZXZlbnQubGF0TG5nLmxhdCgpO1xyXG4gICAgdGhpcy5sb25naXR1ZGUgPSBldmVudC5sYXRMbmcubG5nKCk7XHJcbiAgICB0aGlzLmdldEFkZHJlc3ModGhpcy5sYXRpdHVkZSwgdGhpcy5sb25naXR1ZGUpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudExvY2F0aW9uKCkge1xyXG4gICAgaWYgKCdnZW9sb2NhdGlvbicgaW4gbmF2aWdhdG9yKSB7XHJcbiAgICAgIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oKHBvc2l0aW9uKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sYXRpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZTtcclxuICAgICAgICB0aGlzLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7XHJcbiAgICAgIHRoaXMubWFya2VyT3B0aW9ucyA9IHtcclxuICAgICAgICAgIGRyYWdnYWJsZTogdHJ1ZSxcclxuICAgICAgICAgIGFuaW1hdGlvbjogZ29vZ2xlLm1hcHMuQW5pbWF0aW9uLkRST1BcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMubWFya2VyUG9zaXRpb24gPSB7IGxhdDogdGhpcy5sYXRpdHVkZSwgbG5nOiB0aGlzLmxvbmdpdHVkZSB9O1xyXG4gICAgICAgIHRoaXMuY2VudGVyID0geyBsYXQ6IHRoaXMubGF0aXR1ZGUsIGxuZzogdGhpcy5sb25naXR1ZGUgfTtcclxuICAgICAgICB0aGlzLnpvb20gPSAwO1xyXG4gICAgICAgIHRoaXMuZ2V0QWRkcmVzcyh0aGlzLmxhdGl0dWRlLCB0aGlzLmxvbmdpdHVkZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGdldEFkZHJlc3MobGF0aXR1ZGU6IG51bWJlciwgbG9uZ2l0dWRlOiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmdlb0NvZGVyKSB7XHJcbiAgICAgIHRoaXMuZ2VvQ29kZXIuZ2VvY29kZSh7IGxvY2F0aW9uOiB7IGxhdDogbGF0aXR1ZGUsIGxuZzogbG9uZ2l0dWRlIH0gfSwgKHJlc3VsdHMsIHN0YXR1cykgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdyZXN1bHRzJyxyZXN1bHRzKTtcclxuICAgICAgICBjb25zb2xlLmxvZygnc3RhdHVzJyxzdGF0dXMpO1xyXG4gICAgICAgIGlmIChzdGF0dXMgPT09ICdPSycpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHRzWzBdKSB7XHJcbiAgICAgICAgICAgLy8gdGhpcy56b29tID0gMTg7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkcmVzcyA9IHJlc3VsdHNbMF0uZm9ybWF0dGVkX2FkZHJlc3M7XHJcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb25TZWxlY3RlZC5lbWl0KHRoaXMuYWRkcmVzcyk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnTm8gcmVzdWx0cyBmb3VuZCcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnR2VvY29kZXIgZmFpbGVkIGR1ZSB0bzogJyArIHN0YXR1cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5NYXAoKSB7XHJcbiAgICB0aGlzLnNob3dNb2RhbCA9IHRydWU7XHJcbiAgICBpZighdGhpcy5hZGRyZXNzKXtcclxuICAgICAgdGhpcy5sYXRpdHVkZSA9IHRoaXMubG9uZ2l0dWRlID0gbnVsbDtcclxuICAgIH1cclxuICAgIGlmICghKHRoaXMubGF0aXR1ZGUgJiYgdGhpcy5sb25naXR1ZGUpKSB7XHJcbiAgICAgIHRoaXMuc2V0Q3VycmVudExvY2F0aW9uKCk7XHJcbiAgICB9XHJcbiAgIC8vICQoXCIjbWFwXCIpLm1vZGFsKCdzaG93Jyk7XHJcbiAgLy8gIGNvbnNvbGUubG9nKCdsYXQtbGFuJywgdHlwZW9mIHRoaXMubGF0aXR1ZGUsIHR5cGVvZiB0aGlzLmxvbmdpdHVkZSk7XHJcbiAgICAvLyBpZiAoISh0aGlzLmxhdGl0dWRlICYmIHRoaXMubG9uZ2l0dWRlKSkge1xyXG4gICAgLy8gICB0aGlzLnNldEN1cnJlbnRMb2NhdGlvbigpO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VNb2RhbCgpIHtcclxuICAgIHRoaXMuc2hvd01vZGFsID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdj5cclxuICAgICA8IS0tIDxsYWJlbCBjbGFzcz1cInNoZS1sYWJlbFwiPkxvY2F0aW9uPC9sYWJlbD4gLS0+XHJcbiAgICA8aW5wdXQgI3NlYXJjaCBjbGFzcz1cInNoZS1saW5lLWlucHV0IGZvcm0tY29udHJvbFwiIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJFbnRlciBMb2NhdGlvblwiXHJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBOZWFyZXN0IExvY2F0aW9uXCIgYXV0b2NvcnJlY3Q9XCJvZmZcIlxyXG4gICAgICAgIGF1dG9jYXBpdGFsaXplPVwib2ZmXCIgc3BlbGxjaGVjaz1cIm9mZlwiIHR5cGU9XCJ0ZXh0XCIgIFsobmdNb2RlbCldPVwiYWRkcmVzc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxhIChjbGljayk9XCJvcGVuTWFwKClcIlxyXG4gICAgICAgIHN0eWxlPVwiY29sb3I6IzQ4QjdGRjtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NXB4O2N1cnNvcjogcG9pbnRlcjtcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWxvY2F0aW9uLWFycm93XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9pPiBQaWNrIExvY2F0aW9uPC9hPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJtYXAtb3ZlcmxheVwiICpuZ0lmPVwic2hvd01vZGFsXCI+XHJcbiAgPGRpdiBjbGFzcz1cIm1hcC1tb2RhbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1hcC1tb2RhbC1jb250ZW50XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYXAtbW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgICAgPGg0PlBpY2sgWW91ciBMb2NhdGlvbjwvaDQ+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiIChjbGljayk9XCJjbG9zZU1vZGFsKClcIj5YPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8IS0tIE1vZGFsIGNvbnRlbnQgZ29lcyBoZXJlIC0tPlxyXG4gICAgPCEtLSA8YWdtLW1hcCBbbGF0aXR1ZGVdPVwibGF0aXR1ZGVcIiBbbG9uZ2l0dWRlXT1cImxvbmdpdHVkZVwiIFt6b29tXT1cInpvb21cIiAobWFwQ2xpY2spPVwibWFya2VyRHJhZ0VuZCgkZXZlbnQpXCJcclxuICAgIFtmdWxsc2NyZWVuQ29udHJvbF09XCJ0cnVlXCI+XHJcbiAgICA8YWdtLW1hcmtlciBbbGF0aXR1ZGVdPVwibGF0aXR1ZGVcIiBbbG9uZ2l0dWRlXT1cImxvbmdpdHVkZVwiIFttYXJrZXJEcmFnZ2FibGVdPVwidHJ1ZVwiXHJcbiAgICAgIChkcmFnRW5kKT1cIm1hcmtlckRyYWdFbmQoJGV2ZW50KVwiPjwvYWdtLW1hcmtlcj5cclxuICAgIDwvYWdtLW1hcD4gLS0+XHJcbiAgICA8Z29vZ2xlLW1hcCBbbGF0aXR1ZGVdPVwibGF0aXR1ZGVcIiAgW2xvbmdpdHVkZV09XCJsb25naXR1ZGVcIiBbem9vbV09XCJ6b29tXCIgKG1hcENsaWNrKT1cIm9uTWFwQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICA8bWFwLW1hcmtlciBbcG9zaXRpb25dPVwibWFya2VyUG9zaXRpb25cIiBbb3B0aW9uc109XCJtYXJrZXJPcHRpb25zXCIgKGRyYWdFbmQpPVwib25NYXJrZXJEcmFnRW5kKCRldmVudClcIj48L21hcC1tYXJrZXI+XHJcbiAgICA8L2dvb2dsZS1tYXA+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiJdfQ==
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljay1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9waWNrLWxvY2F0aW9uL3BpY2stbG9jYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvcGljay1sb2NhdGlvbi9waWNrLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBNEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFReEgsTUFBTSxPQUFPLHFCQUFxQjtJQWtCdEI7SUFqQlYsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ2pCLElBQUksR0FBVyxFQUFFLENBQUM7SUFDVixRQUFRLENBQUM7SUFDbEIsK0JBQStCO0lBRXZCLGdCQUFnQixDQUErQjtJQUN0RCxTQUFTLEdBQVksS0FBSyxDQUFDO0lBQ2xCLE9BQU8sQ0FBUTtJQUNkLGdCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3hFLG9CQUFvQixDQUFNO0lBQzFCLGNBQWMsQ0FBMEI7SUFDeEMsTUFBTSxDQUEwQjtJQUNoQyxhQUFhLENBQUs7SUFFbEI7SUFDQyx3Q0FBd0M7SUFDL0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFFO1lBQzNDLFNBQVMsRUFBRSxJQUFJO1lBQ2YsU0FBUyxFQUFF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bXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nTW9kdWxlLCBOZ1pvbmUsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcGljay1sb2NhdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY2stbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BpY2stbG9jYXRpb24uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaWNrTG9jYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGxhdGl0dWRlID0gbnVsbDtcclxuICBsb25naXR1ZGUgPSBudWxsO1xyXG4gIHpvb206IG51bWJlciA9IDEwO1xyXG4gIHByaXZhdGUgZ2VvQ29kZXI7XHJcbiAvLyBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XHJcbiAgQFZpZXdDaGlsZCgnc2VhcmNoJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwdWJsaWMgc2VhcmNoRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuICBzaG93TW9kYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBhZGRyZXNzOnN0cmluZztcclxuICBAT3V0cHV0KCkgbG9jYXRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBuYXZpZ2F0b3JHZW9sb2NhdGlvbjogYW55O1xyXG4gIG1hcmtlclBvc2l0aW9uOiB7IGxhdDogYW55OyBsbmc6IGFueTsgfTtcclxuICBjZW50ZXI6IHsgbGF0OiBhbnk7IGxuZzogYW55OyB9O1xyXG4gIG1hcmtlck9wdGlvbnM6YW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgLy8gcHJpdmF0ZSBtYXBzQVBJTG9hZGVyOiBNYXBzQVBJTG9hZGVyLFxyXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkgeyBcclxuICAgICAgdGhpcy5nZW9Db2RlciA9IG5ldyBnb29nbGUubWFwcy5HZW9jb2RlcigpO1xyXG4gICAgICB0aGlzLm1hcmtlck9wdGlvbnMgPSBuZXcgZ29vZ2xlLm1hcHMuTWFya2VyICh7XHJcbiAgICAgICAgZHJhZ2dhYmxlOiB0cnVlLFxyXG4gICAgICAgIGFuaW1hdGlvbjogZ29vZ2xlLm1hcHMuQW5pbWF0aW9uLkRST1BcclxuICAgICAgfSk7XHJcbiAgICAvLyB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgLy8gICBsb2NhdGlvbjogWycnXSAvLyBBZGQgYW55IGluaXRpYWwgdmFsdWUgb3IgbGVhdmUgaXQgZW1wdHlcclxuICAgIC8vIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0QXV0b2NvbXBsZXRlKCk7XHJcbiAgICB0aGlzLm9uTWFya2VyRHJhZ0VuZCgpO1xyXG4gIH1cclxuICBcclxuICBpbml0QXV0b2NvbXBsZXRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZ2VvQ29kZXIpIHtcclxuICAgICAgY29uc3QgYXV0b2NvbXBsZXRlID0gbmV3IGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGUodGhpcy5zZWFyY2hFbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50LCB7XHJcbiAgICAgICAgdHlwZXM6IFtdXHJcbiAgICAgIH0pO1xyXG4gICAgICBhdXRvY29tcGxldGUuYWRkTGlzdGVuZXIoJ3BsYWNlX2NoYW5nZWQnLCAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHBsYWNlOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHQgPSBhdXRvY29tcGxldGUuZ2V0UGxhY2UoKTtcclxuXHJcbiAgICAgICAgICBpZiAocGxhY2UuZ2VvbWV0cnkgPT09IHVuZGVmaW5lZCB8fCBwbGFjZS5nZW9tZXRyeSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmxhdGl0dWRlID0gcGxhY2UuZ2VvbWV0cnkubG9jYXRpb24ubGF0KCk7XHJcbiAgICAgICAgICB0aGlzLmxvbmdpdHVkZSA9IHBsYWNlLmdlb21ldHJ5LmxvY2F0aW9uLmxuZygpO1xyXG4gICAgICAgICAgdGhpcy56b29tID0gMTg7XHJcbiAgICAgICAgICB0aGlzLmFkZHJlc3MgPSBwbGFjZS5mb3JtYXR0ZWRfYWRkcmVzcztcclxuICAgICAgICAgIHRoaXMubG9jYXRpb25TZWxlY3RlZC5lbWl0KHRoaXMuYWRkcmVzcyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25NYXJrZXJEcmFnRW5kKCk6IHZvaWQge1xyXG4gICAgZ29vZ2xlLm1hcHMuZXZlbnQuYWRkTGlzdGVuZXIodGhpcy5tYXJrZXJPcHRpb25zLCAnZHJhZ2VuZCcsIChldmVudCkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZygnZHJhZ2FibGUgd29ya2luZycsZXZlbnQpO1xyXG4gICAgICB0aGlzLmxhdGl0dWRlID0gZXZlbnQubGF0TG5nLmxhdCgpO1xyXG4gICAgICB0aGlzLmxvbmdpdHVkZSA9IGV2ZW50LmxhdExuZy5sbmcoKTtcclxuICAgICAgdGhpcy5nZXRBZGRyZXNzKHRoaXMubGF0aXR1ZGUsIHRoaXMubG9uZ2l0dWRlKTtcclxuICB9KTtcclxuICB9XHJcblxyXG4gIG9uTWFwQ2xpY2soZXZlbnQ6IGdvb2dsZS5tYXBzLk1hcE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKCdvbk1hcENsaWNrJyxldmVudCk7XHJcbiAgICB0aGlzLmxhdGl0dWRlID0gZXZlbnQubGF0TG5nLmxhdCgpO1xyXG4gICAgdGhpcy5sb25naXR1ZGUgPSBldmVudC5sYXRMbmcubG5nKCk7XHJcbiAgICB0aGlzLmdldEFkZHJlc3ModGhpcy5sYXRpdHVkZSwgdGhpcy5sb25naXR1ZGUpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudExvY2F0aW9uKCkge1xyXG4gICAgaWYgKCdnZW9sb2NhdGlvbicgaW4gbmF2aWdhdG9yKSB7XHJcbiAgICAgIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oKHBvc2l0aW9uKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sYXRpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZTtcclxuICAgICAgICB0aGlzLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7XHJcbiAgICAgICAgdGhpcy5tYXJrZXJQb3NpdGlvbiA9IHsgbGF0OiB0aGlzLmxhdGl0dWRlLCBsbmc6IHRoaXMubG9uZ2l0dWRlIH07XHJcbiAgICAgICAgdGhpcy5jZW50ZXIgPSB7IGxhdDogdGhpcy5sYXRpdHVkZSwgbG5nOiB0aGlzLmxvbmdpdHVkZSB9O1xyXG4gICAgICAgIHRoaXMuem9vbSA9IDg7XHJcbiAgICAgICAgdGhpcy5nZXRBZGRyZXNzKHRoaXMubGF0aXR1ZGUsIHRoaXMubG9uZ2l0dWRlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0QWRkcmVzcyhsYXRpdHVkZTogbnVtYmVyLCBsb25naXR1ZGU6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuZ2VvQ29kZXIpIHtcclxuICAgICAgdGhpcy5nZW9Db2Rlci5nZW9jb2RlKHsgbG9jYXRpb246IHsgbGF0OiBsYXRpdHVkZSwgbG5nOiBsb25naXR1ZGUgfSB9LCAocmVzdWx0cywgc3RhdHVzKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ3Jlc3VsdHMnLHJlc3VsdHMpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdzdGF0dXMnLHN0YXR1cyk7XHJcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gJ09LJykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdHNbMF0pIHtcclxuICAgICAgICAgICAvLyB0aGlzLnpvb20gPSAxODtcclxuICAgICAgICAgICAgdGhpcy5hZGRyZXNzID0gcmVzdWx0c1swXS5mb3JtYXR0ZWRfYWRkcmVzcztcclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvblNlbGVjdGVkLmVtaXQodGhpcy5hZGRyZXNzKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdObyByZXN1bHRzIGZvdW5kJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdHZW9jb2RlciBmYWlsZWQgZHVlIHRvOiAnICsgc3RhdHVzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbk1hcCgpIHtcclxuICAgIHRoaXMuc2hvd01vZGFsID0gdHJ1ZTtcclxuICAgIGlmKCF0aGlzLmFkZHJlc3Mpe1xyXG4gICAgICB0aGlzLmxhdGl0dWRlID0gdGhpcy5sb25naXR1ZGUgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKCEodGhpcy5sYXRpdHVkZSAmJiB0aGlzLmxvbmdpdHVkZSkpIHtcclxuICAgICAgdGhpcy5zZXRDdXJyZW50TG9jYXRpb24oKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLm1hcmtlclBvc2l0aW9uID0geyBsYXQ6IHRoaXMubGF0aXR1ZGUsIGxuZzogdGhpcy5sb25naXR1ZGUgfTtcclxuICAgICAgdGhpcy5jZW50ZXIgPSB7IGxhdDogdGhpcy5sYXRpdHVkZSwgbG5nOiB0aGlzLmxvbmdpdHVkZSB9O1xyXG4gICAgICB0aGlzLnpvb20gPSA4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VNb2RhbCgpIHtcclxuICAgIHRoaXMuc2hvd01vZGFsID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdj5cclxuICAgICA8IS0tIDxsYWJlbCBjbGFzcz1cInNoZS1sYWJlbFwiPkxvY2F0aW9uPC9sYWJlbD4gLS0+XHJcbiAgICA8aW5wdXQgI3NlYXJjaCBjbGFzcz1cInNoZS1saW5lLWlucHV0IGZvcm0tY29udHJvbFwiIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJFbnRlciBMb2NhdGlvblwiXHJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBOZWFyZXN0IExvY2F0aW9uXCIgYXV0b2NvcnJlY3Q9XCJvZmZcIlxyXG4gICAgICAgIGF1dG9jYXBpdGFsaXplPVwib2ZmXCIgc3BlbGxjaGVjaz1cIm9mZlwiIHR5cGU9XCJ0ZXh0XCIgIFsobmdNb2RlbCldPVwiYWRkcmVzc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxhIChjbGljayk9XCJvcGVuTWFwKClcIlxyXG4gICAgICAgIHN0eWxlPVwiY29sb3I6IzQ4QjdGRjtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NXB4O2N1cnNvcjogcG9pbnRlcjtcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWxvY2F0aW9uLWFycm93XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9pPiBQaWNrIExvY2F0aW9uPC9hPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJtYXAtb3ZlcmxheVwiICpuZ0lmPVwic2hvd01vZGFsXCI+XHJcbiAgPGRpdiBjbGFzcz1cIm1hcC1tb2RhbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1hcC1tb2RhbC1jb250ZW50XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYXAtbW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgICAgPGg0PlBpY2sgWW91ciBMb2NhdGlvbjwvaDQ+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiIChjbGljayk9XCJjbG9zZU1vZGFsKClcIj5YPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8IS0tIE1vZGFsIGNvbnRlbnQgZ29lcyBoZXJlIC0tPlxyXG4gICAgPCEtLSA8YWdtLW1hcCBbbGF0aXR1ZGVdPVwibGF0aXR1ZGVcIiBbbG9uZ2l0dWRlXT1cImxvbmdpdHVkZVwiIFt6b29tXT1cInpvb21cIiAobWFwQ2xpY2spPVwibWFya2VyRHJhZ0VuZCgkZXZlbnQpXCJcclxuICAgIFtmdWxsc2NyZWVuQ29udHJvbF09XCJ0cnVlXCI+XHJcbiAgICA8YWdtLW1hcmtlciBbbGF0aXR1ZGVdPVwibGF0aXR1ZGVcIiBbbG9uZ2l0dWRlXT1cImxvbmdpdHVkZVwiIFttYXJrZXJEcmFnZ2FibGVdPVwidHJ1ZVwiXHJcbiAgICAgIChkcmFnRW5kKT1cIm1hcmtlckRyYWdFbmQoJGV2ZW50KVwiPjwvYWdtLW1hcmtlcj5cclxuICAgIDwvYWdtLW1hcD4gLS0+XHJcbiAgICA8Z29vZ2xlLW1hcCBbbGF0aXR1ZGVdPVwibGF0aXR1ZGVcIiAgW2xvbmdpdHVkZV09XCJsb25naXR1ZGVcIiBbem9vbV09XCJ6b29tXCIgW2NlbnRlcl09XCJjZW50ZXJcIiAobWFwQ2xpY2spPVwib25NYXBDbGljaygkZXZlbnQpXCI+XHJcbiAgICAgIDxtYXAtbWFya2VyIFtwb3NpdGlvbl09XCJtYXJrZXJQb3NpdGlvblwiIFtvcHRpb25zXT1cIm1hcmtlck9wdGlvbnNcIj48L21hcC1tYXJrZXI+XHJcbiAgICA8L2dvb2dsZS1tYXA+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export class ErrorWrapper {
|
|
2
|
+
errorCode;
|
|
3
|
+
errorMsg;
|
|
4
|
+
errorDetails;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JXcmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL21vZGVsL2Vycm9yV3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sWUFBWTtJQUNyQixTQUFTLENBQVM7SUFDbEIsUUFBUSxDQUFTO0lBQ2pCLFlBQVksQ0FBUztDQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFcnJvcldyYXBwZXIge1xyXG4gICAgZXJyb3JDb2RlOiBzdHJpbmc7XHJcbiAgICBlcnJvck1zZzogc3RyaW5nO1xyXG4gICAgZXJyb3JEZXRhaWxzOiBzdHJpbmc7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export class TableHeader {
|
|
2
|
+
label;
|
|
3
|
+
fieldName;
|
|
4
|
+
fieldId;
|
|
5
|
+
type;
|
|
6
|
+
isReadOnly;
|
|
7
|
+
}
|
|
8
|
+
export class TableWrapper {
|
|
9
|
+
header;
|
|
10
|
+
data;
|
|
11
|
+
keyValueField;
|
|
12
|
+
rowFunction;
|
|
13
|
+
addRow;
|
|
14
|
+
newRowDefault;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVXcmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL21vZGVsL3RhYmxlV3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sV0FBVztJQUNwQixLQUFLLENBQVM7SUFDZCxTQUFTLENBQVM7SUFDbEIsT0FBTyxDQUFTO0lBQ2hCLElBQUksQ0FBUztJQUNiLFVBQVUsQ0FBVTtDQUN2QjtBQUVELE1BQU0sT0FBTyxZQUFZO0lBQ3JCLE1BQU0sQ0FBZ0I7SUFDdEIsSUFBSSxDQUFTO0lBQ2IsYUFBYSxDQUFTO0lBQ3RCLFdBQVcsQ0FBTTtJQUNqQixNQUFNLENBQVU7SUFDaEIsYUFBYSxDQUFNO0NBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRhYmxlSGVhZGVyIHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBmaWVsZE5hbWU6IHN0cmluZztcclxuICAgIGZpZWxkSWQ6IHN0cmluZztcclxuICAgIHR5cGU6IHN0cmluZztcclxuICAgIGlzUmVhZE9ubHk6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVdyYXBwZXIge1xyXG4gICAgaGVhZGVyOiBUYWJsZUhlYWRlcltdO1xyXG4gICAgZGF0YTogYW55IFtdO1xyXG4gICAga2V5VmFsdWVGaWVsZDogc3RyaW5nO1xyXG4gICAgcm93RnVuY3Rpb246IGFueTtcclxuICAgIGFkZFJvdzogYm9vbGVhbjtcclxuICAgIG5ld1Jvd0RlZmF1bHQ6IGFueTtcclxufVxyXG4iXX0=
|
|
@@ -20,6 +20,7 @@ import { HttpClientModule } from '@angular/common/http';
|
|
|
20
20
|
import { BookletComponent } from './pages/booklet/booklet.component';
|
|
21
21
|
import { GoogleMapsModule } from '@angular/google-maps';
|
|
22
22
|
import { SearchBoxComponent } from './components/search-box/search-box.component';
|
|
23
|
+
import { QuestionbookComponent } from './pages/questionbook/questionbook.component';
|
|
23
24
|
import * as i0 from "@angular/core";
|
|
24
25
|
import * as i1 from "ng-circle-progress";
|
|
25
26
|
// export const MY_CUSTOM_FORMATS = {
|
|
@@ -38,7 +39,8 @@ export class NxtAppModule {
|
|
|
38
39
|
DropdownWithFlagComponent,
|
|
39
40
|
CustomDropdownComponent,
|
|
40
41
|
BookletComponent,
|
|
41
|
-
SearchBoxComponent
|
|
42
|
+
SearchBoxComponent,
|
|
43
|
+
QuestionbookComponent], imports: [CommonModule, FormsModule,
|
|
42
44
|
MyDatePickerModule,
|
|
43
45
|
OwlDateTimeModule,
|
|
44
46
|
OwlNativeDateTimeModule,
|
|
@@ -155,7 +157,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
155
157
|
DropdownWithFlagComponent,
|
|
156
158
|
CustomDropdownComponent,
|
|
157
159
|
BookletComponent,
|
|
158
|
-
SearchBoxComponent
|
|
160
|
+
SearchBoxComponent,
|
|
161
|
+
QuestionbookComponent
|
|
159
162
|
],
|
|
160
163
|
imports: [
|
|
161
164
|
CommonModule, FormsModule,
|
|
@@ -259,4 +262,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
259
262
|
// ]
|
|
260
263
|
}]
|
|
261
264
|
}] });
|
|
262
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnh0LWFwcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvbnh0LWFwcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUMsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUMsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RSwwSUFBMEk7QUFDMUksT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7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d0JBQ0wsbUJBQW1CLEVBQUUsZ0JBQWdCO3dCQUNyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBDQXNEa0I7d0JBRWhCLHNCQUFzQixDQUFDLE9BQU8sQ0FBQzs0QkFDN0Isb0JBQW9CLEVBQUUsSUFBSTs0QkFDMUIsaUJBQWlCLEVBQUUsU0FBUzs0QkFDNUIsNkJBQTZCLEVBQUUsU0FBUzs0QkFDeEMsa0JBQWtCLEVBQUUsU0FBUzs0QkFDN0IsdUJBQXVCLEVBQUUsQ0FBQzs0QkFDMUIsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFOzRCQUN4QixRQUFRLEVBQUUsRUFBRTs0QkFDWixPQUFPLEVBQUUsQ0FBQzs0QkFDVixZQUFZLEVBQUUsR0FBRzs0QkFDakIsZUFBZSxFQUFFLElBQUk7NEJBQ3JCLFlBQVksRUFBRSxTQUFTOzRCQUN2QixxQkFBcUIsRUFBRSxJQUFJOzRCQUMzQixrQkFBa0IsRUFBRSxFQUFFOzRCQUN0QixrQkFBa0IsRUFBRSxTQUFTOzRCQUM3Qiw4QkFBOEIsRUFBRSxTQUFTOzRCQUN6QyxrQkFBa0IsRUFBRSxDQUFDOzRCQUNyQixZQUFZLEVBQUUsU0FBUzs0QkFDdkIsZUFBZSxFQUFFLElBQUk7NEJBQ3JCLGVBQWUsRUFBRSxTQUFTOzRCQUMxQixjQUFjLEVBQUUsS0FBSzt5QkFBQyxDQUFDO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsT0FBTyxFQUFFLENBQUMsZUFBZTt3QkFDdkIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7cUJBQ2pCO29CQUNELGVBQWU7b0JBQ2Ysb0ZBQW9GO29CQUNwRixxRUFBcUU7b0JBQ3JFLElBQUk7aUJBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOeHRBcHBDb21wb25lbnQgfSBmcm9tICcuL254dC1hcHAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZUNvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvcXVlc3Rpb25uYWlyZS9xdWVzdGlvbm5haXJlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTXlEYXRlUGlja2VyTW9kdWxlIH0gZnJvbSAnbXlkYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTmdDaXJjbGVQcm9ncmVzc01vZHVsZSB9IGZyb20gJ25nLWNpcmNsZS1wcm9ncmVzcyc7XHJcbmltcG9ydCB7IE5neFNwaW5uZXJNb2R1bGUgfSBmcm9tIFwibmd4LXNwaW5uZXJcIjtcclxuLy9pbXBvcnQgeyBBZ21Db3JlTW9kdWxlIH0gZnJvbSAnQGFnbS9jb3JlJztcclxuaW1wb3J0IHsgR09PR0xFX01BUF9BUElfS0VZIH0gZnJvbSAnLi4vbGliL3NhbXBsZSc7XHJcbmltcG9ydCB7IFBpY2tMb2NhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9waWNrLWxvY2F0aW9uL3BpY2stbG9jYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcbmltcG9ydCB7IEN1c3RvbUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tLXRleHQtYXJlYS9jdXN0b20tdGV4dC1hcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS10YWJsZS9jdXN0b20tdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHJvcGRvd25XaXRoRmxhZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi13aXRoLWZsYWcvZHJvcGRvd24td2l0aC1mbGFnLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE93bERhdGVUaW1lTW9kdWxlLE93bE5hdGl2ZURhdGVUaW1lTW9kdWxlIH0gZnJvbSAnbmctcGljay1kYXRldGltZSc7XHJcblxyXG4vL2ltcG9ydCB7IE9XTF9NT01FTlRfREFURV9USU1FX0FEQVBURVJfT1BUSU9OUyB9IGZyb20gJ25nLXBpY2stZGF0ZXRpbWUvZGF0ZS10aW1lL2FkYXB0ZXIvbW9tZW50LWFkYXB0ZXIvbW9tZW50LWRhdGUtdGltZS1hZGFwdGVyLmNsYXNzJztcclxuaW1wb3J0IHsgQ3VzdG9tRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tZGF0ZS1waWNrZXIvY3VzdG9tLWRhdGUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1kcm9wZG93bi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQm9va2xldENvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvYm9va2xldC9ib29rbGV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdvb2dsZU1hcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9nb29nbGUtbWFwcyc7XHJcbmltcG9ydCB7IFNlYXJjaEJveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gtYm94L3NlYXJjaC1ib3guY29tcG9uZW50JztcclxuXHJcbi8vIGV4cG9ydCBjb25zdCBNWV9DVVNUT01fRk9STUFUUyA9IHtcclxuLy8gICBmdWxsUGlja2VySW5wdXQ6ICdERC9NTS9ZWVlZIEhIOm1tOnNzJyxcclxuLy8gICB1c2VVdGM6IHRydWUsXHJcbi8vIH07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW054dEFwcENvbXBvbmVudCwgXHJcbiAgICBRdWVzdGlvbm5haXJlQ29tcG9uZW50LFxyXG4gICAgUGlja0xvY2F0aW9uQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tSW5wdXRDb21wb25lbnQsXHJcbiAgICBDdXN0b21UZXh0QXJlYUNvbXBvbmVudCxcclxuICAgIEN1c3RvbVRhYmxlQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tRGF0ZVBpY2tlckNvbXBvbmVudCxcclxuICAgIERyb3Bkb3duV2l0aEZsYWdDb21wb25lbnQsXHJcbiAgICBDdXN0b21Ecm9wZG93bkNvbXBvbmVudCxcclxuICAgIEJvb2tsZXRDb21wb25lbnQsXHJcbiAgICBTZWFyY2hCb3hDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsXHJcbiAgICBNeURhdGVQaWNrZXJNb2R1bGUsXHJcbiAgICBPd2xEYXRlVGltZU1vZHVsZSxcclxuICAgIE93bE5hdGl2ZURhdGVUaW1lTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIE5nU2VsZWN0TW9kdWxlLFxyXG4gICAgR29vZ2xlTWFwc01vZHVsZSxcclxuICAgIC8vQWdtQ29yZU1vZHVsZS5mb3JSb290KHtcclxuICAgIC8vICBhcGlLZXk6IEdPT0dMRV9NQVBfQVBJX0tFWSxcclxuICAgIC8vICBsaWJyYXJpZXM6IFsnZ2VvbWV0cnknLCAncGxhY2VzJywgJ3Zpc3VhbGl6YXRpb24nLCAnZHJhd2luZyddXHJcbiAgLy8gIH0pLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTmd4U3Bpbm5lck1vZHVsZSxcclxuICAgIC8qTmdDaXJjbGVQcm9ncmVzc01vZHVsZS5mb3JSb290KHtcclxuICAgICAgXCJiYWNrZ3JvdW5kUGFkZGluZ1wiOiAtMTAsXHJcbiAgICAgIFwicmFkaXVzXCI6IDYwLFxyXG4gICAgICBcInNwYWNlXCI6IC02LFxyXG4gICAgICBcImlubmVyU3Ryb2tlQ29sb3JcIjogXCIjOTE5MTkxXCIsXHJcbiAgICAgIFwib3V0ZXJTdHJva2VDb2xvclwiOiBcIiNkYjk1OTRcIixcclxuICAgICAgXCJvdXRlclN0cm9rZUdyYWRpZW50U3RvcENvbG9yXCI6IFwiI2UwYjFiMFwiLFxyXG4gICAgICBcImlubmVyU3Ryb2tlV2lkdGhcIjogMixcclxuICAgICAgXCJiYWNrZ3JvdW5kR3JhZGllbnRcIjogdHJ1ZSxcclxuICAgICAgXCJiYWNrZ3JvdW5kQ29sb3JcIjogXCIjZGQyZTEzXCIsXHJcbiAgICAgIFwiYmFja2dyb3VuZEdyYWRpZW50U3RvcENvbG9yXCI6IFwiI2RkMmUxM1wiLFxyXG4gICAgICBcImJhY2tncm91bmRTdHJva2VcIjogXCIjZDNjZmNmXCIsXHJcbiAgICAgIFwidGl0bGVcIjogW1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBcIiVcIlxyXG4gICAgICBdLFxyXG4gICAgICAvLyB0aXRsZUZvbnRTaXplOiAxMixcclxuICAgICAgLy8gXCJzdWJ0aXRsZUZvbnRTaXplXCI6IDIwLFxyXG4gICAgICBcImFuaW1hdGVUaXRsZVwiOiBmYWxzZSxcclxuICAgICAgXCJhbmltYXRpb25EdXJhdGlvblwiOiAxMDAwLFxyXG4gICAgICBcInNob3dVbml0c1wiOiBmYWxzZSxcclxuICAgICAgXCJjbG9ja3dpc2VcIjp0cnVlXHJcblxyXG4gICAgICAvL1wiYmFja2dyb3VuZFN0cm9rZVdpZHRoXCI6IFwiMFwiLFxyXG5cImJhY2tncm91bmRHcmFkaWVudFwiOiB0cnVlLFxyXG4gICAgICAvL1wiYmFja2dyb3VuZENvbG9yXCI6IFwiI2RkMmUxM1wiLFxyXG4gICAgICBcImJhY2tncm91bmRHcmFkaWVudFN0b3BDb2xvclwiOiBcIiNkZDJlMTNcIixcclxuICAgICAgXCJiYWNrZ3JvdW5kU3Ryb2tlXCI6IFwiIzAwMDAwMFwiLFxyXG4gICAgICBcImJhY2tncm91bmRQYWRkaW5nXCI6IC0xMCxcclxuICAgICAgXCJyYWRpdXNcIjogNjAsXHJcbiAgICAgIFwidW5pdHNGb250V2VpZ2h0XCI6IFwiNjAwXCIsXHJcbiAgICAgIFwidW5pdHNDb2xvclwiOiBcIiNmMmYyZjJcIixcclxuICAgICAgXCJvdXRlclN0cm9rZUdyYWRpZW50XCI6IHRydWUsXHJcbiAgICAgIFwib3V0ZXJTdHJva2VDb2xvclwiOiBcIiNlMGIxYjBcIixcclxuICAgICAgXCJvdXRlclN0cm9rZUdyYWRpZW50U3RvcENvbG9yXCI6IFwiI2UwYjFiMFwiLFxyXG4gICAgICBcIm91dGVyU3Ryb2tlTGluZWNhcFwiOiBcImluaGVyaXRcIixcclxuICAgICAgXCJpbm5lclN0cm9rZUNvbG9yXCI6IFwiI2Y2ZGZkZlwiLFxyXG4gICAgICBcInRpdGxlXCI6IFtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIFwiJVwiXHJcbl0sXHJcbiAgICAgIFwidGl0bGVDb2xvclwiOiBcIiNlN2Q5ZDlcIixcclxuICAgICAgXCJ0aXRsZUZvbnRTaXplXCI6IFwiMzFcIixcclxuICAgICAgXCJ0aXRsZUZvbnRXZWlnaHRcIjogXCIxMDBcIixcclxuICAgICAgXCJzdWJ0aXRsZUNvbG9yXCI6IFwiI2Y3ZjdmN1wiLFxyXG4gICAgICBcInN1YnRpdGxlRm9udFNpemVcIjogXCIzNlwiLFxyXG4gICAgICBcInN1YnRpdGxlRm9udFdlaWdodFwiOiBcIjkwMFwiLFxyXG4gICAgICBcImFuaW1hdGVUaXRsZVwiOiBmYWxzZSxcclxuICAgICAgXCJhbmltYXRpb25EdXJhdGlvblwiOiAxMDAwLFxyXG4gICAgICBcInNob3dUaXRsZVwiOiB0cnVlLFxyXG4gICAgICBcInNob3dVbml0c1wiOiB0cnVlLFxyXG4gICAgICBcImNsb2Nrd2lzZVwiOiBmYWxzZSxcclxuICAgICAgXCJzdGFydEZyb21aZXJvXCI6IHRydWUsXHJcbiAgICAgIFwic2hvd1plcm9PdXRlclN0cm9rZVwiOiBmYWxzZSxcclxuICAgICAgXCJsYXp5XCI6IHRydWV9KSovXHJcblxyXG4gICAgICBOZ0NpcmNsZVByb2dyZXNzTW9kdWxlLmZvclJvb3Qoe1xyXG4gICAgICAgIFwiYmFja2dyb3VuZEdyYWRpZW50XCI6IHRydWUsXHJcbiAgICAgICAgXCJiYWNrZ3JvdW5kQ29sb3JcIjogXCIjZTI5ZDk4XCIsXHJcbiAgICAgICAgXCJiYWNrZ3JvdW5kR3JhZGllbnRTdG9wQ29sb3JcIjogXCIjYzUyODFjXCIsXHJcbiAgICAgICAgXCJiYWNrZ3JvdW5kU3Ryb2tlXCI6IFwiI2VjZTRlNFwiLFxyXG4gICAgICAgIFwiYmFja2dyb3VuZFN0cm9rZVdpZHRoXCI6IDAsXHJcbiAgICAgICAgXCJiYWNrZ3JvdW5kUGFkZGluZ1wiOiAtMTAsXHJcbiAgICAgICAgXCJyYWRpdXNcIjogNjAsXHJcbiAgICAgICAgXCJzcGFjZVwiOiA0LFxyXG4gICAgICAgIFwibWF4UGVyY2VudFwiOiAxMDAsXHJcbiAgICAgICAgXCJ1bml0c0ZvbnRTaXplXCI6IFwiMzVcIixcclxuICAgICAgICBcInVuaXRzQ29sb3JcIjogXCIjZjBlYmViXCIsXHJcbiAgICAgICAgXCJvdXRlclN0cm9rZUdyYWRpZW50XCI6IHRydWUsXHJcbiAgICAgICAgXCJvdXRlclN0cm9rZVdpZHRoXCI6IDEwLFxyXG4gICAgICAgIFwib3V0ZXJTdHJva2VDb2xvclwiOiBcIiNmN2MwYmZcIixcclxuICAgICAgICBcIm91dGVyU3Ryb2tlR3JhZGllbnRTdG9wQ29sb3JcIjogXCIjZjljOWM4XCIsXHJcbiAgICAgICAgXCJpbm5lclN0cm9rZVdpZHRoXCI6IDAsXHJcbiAgICAgICAgXCJ0aXRsZUNvbG9yXCI6IFwiI2YzZWRlZFwiLFxyXG4gICAgICAgIFwidGl0bGVGb250U2l6ZVwiOiBcIjQwXCIsXHJcbiAgICAgICAgXCJzdWJ0aXRsZUNvbG9yXCI6IFwiIzQ0NDQ0NFwiLFxyXG4gICAgICAgIFwic2hvd1N1YnRpdGxlXCI6IGZhbHNlfSlcclxuICBdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBleHBvcnRzOiBbTnh0QXBwQ29tcG9uZW50LCBcclxuICAgIFF1ZXN0aW9ubmFpcmVDb21wb25lbnQsXHJcbiAgICBCb29rbGV0Q29tcG9uZW50XHJcbiAgXVxyXG4gIC8vIHByb3ZpZGVyczogW1xyXG4gIC8vICAgeyBwcm92aWRlOiBPV0xfTU9NRU5UX0RBVEVfVElNRV9BREFQVEVSX09QVElPTlMsIHVzZVZhbHVlOiB7IHVzZVV0YzogZmFsc2UgfSB9LFxyXG4gIC8vICAgeyBwcm92aWRlOiBPV0xfREFURV9USU1FX0ZPUk1BVFMsIHVzZVZhbHVlOiBNWV9DVVNUT01fRk9STUFUUyB9LFxyXG4gIC8vIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE54dEFwcE1vZHVsZSB7IH1cclxuIl19
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnh0LWFwcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvbnh0LWFwcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUMsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUMsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RSwwSUFBMEk7QUFDMUksT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7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Y0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLHlCQUF5Qjt3QkFDekIsK0JBQStCO3dCQUMvQixpRUFBaUU7d0JBQ25FLE9BQU87d0JBQ0wsbUJBQW1CLEVBQUUsZ0JBQWdCO3dCQUNyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBDQXNEa0I7d0JBRWhCLHNCQUFzQixDQUFDLE9BQU8sQ0FBQzs0QkFDN0Isb0JBQW9CLEVBQUUsSUFBSTs0QkFDMUIsaUJBQWlCLEVBQUUsU0FBUzs0QkFDNUIsNkJBQTZCLEVBQUUsU0FBUzs0QkFDeEMsa0JBQWtCLEVBQUUsU0FBUzs0QkFDN0IsdUJBQXVCLEVBQUUsQ0FBQzs0QkFDMUIsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFOzRCQUN4QixRQUFRLEVBQUUsRUFBRTs0QkFDWixPQUFPLEVBQUUsQ0FBQzs0QkFDVixZQUFZLEVBQUUsR0FBRzs0QkFDakIsZUFBZSxFQUFFLElBQUk7NEJBQ3JCLFlBQVksRUFBRSxTQUFTOzRCQUN2QixxQkFBcUIsRUFBRSxJQUFJOzRCQUMzQixrQkFBa0IsRUFBRSxFQUFFOzRCQUN0QixrQkFBa0IsRUFBRSxTQUFTOzRCQUM3Qiw4QkFBOEIsRUFBRSxTQUFTOzRCQUN6QyxrQkFBa0IsRUFBRSxDQUFDOzRCQUNyQixZQUFZLEVBQUUsU0FBUzs0QkFDdkIsZUFBZSxFQUFFLElBQUk7NEJBQ3JCLGVBQWUsRUFBRSxTQUFTOzRCQUMxQixjQUFjLEVBQUUsS0FBSzt5QkFBQyxDQUFDO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsT0FBTyxFQUFFLENBQUMsZUFBZTt3QkFDdkIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7cUJBQ2pCO29CQUNELGVBQWU7b0JBQ2Ysb0ZBQW9GO29CQUNwRixxRUFBcUU7b0JBQ3JFLElBQUk7aUJBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOeHRBcHBDb21wb25lbnQgfSBmcm9tICcuL254dC1hcHAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZUNvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvcXVlc3Rpb25uYWlyZS9xdWVzdGlvbm5haXJlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTXlEYXRlUGlja2VyTW9kdWxlIH0gZnJvbSAnbXlkYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTmdDaXJjbGVQcm9ncmVzc01vZHVsZSB9IGZyb20gJ25nLWNpcmNsZS1wcm9ncmVzcyc7XHJcbmltcG9ydCB7IE5neFNwaW5uZXJNb2R1bGUgfSBmcm9tIFwibmd4LXNwaW5uZXJcIjtcclxuLy9pbXBvcnQgeyBBZ21Db3JlTW9kdWxlIH0gZnJvbSAnQGFnbS9jb3JlJztcclxuaW1wb3J0IHsgR09PR0xFX01BUF9BUElfS0VZIH0gZnJvbSAnLi4vbGliL3NhbXBsZSc7XHJcbmltcG9ydCB7IFBpY2tMb2NhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9waWNrLWxvY2F0aW9uL3BpY2stbG9jYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcbmltcG9ydCB7IEN1c3RvbUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tLXRleHQtYXJlYS9jdXN0b20tdGV4dC1hcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS10YWJsZS9jdXN0b20tdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHJvcGRvd25XaXRoRmxhZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi13aXRoLWZsYWcvZHJvcGRvd24td2l0aC1mbGFnLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE93bERhdGVUaW1lTW9kdWxlLE93bE5hdGl2ZURhdGVUaW1lTW9kdWxlIH0gZnJvbSAnbmctcGljay1kYXRldGltZSc7XHJcblxyXG4vL2ltcG9ydCB7IE9XTF9NT01FTlRfREFURV9USU1FX0FEQVBURVJfT1BUSU9OUyB9IGZyb20gJ25nLXBpY2stZGF0ZXRpbWUvZGF0ZS10aW1lL2FkYXB0ZXIvbW9tZW50LWFkYXB0ZXIvbW9tZW50LWRhdGUtdGltZS1hZGFwdGVyLmNsYXNzJztcclxuaW1wb3J0IHsgQ3VzdG9tRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tZGF0ZS1waWNrZXIvY3VzdG9tLWRhdGUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1kcm9wZG93bi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQm9va2xldENvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvYm9va2xldC9ib29rbGV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdvb2dsZU1hcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9nb29nbGUtbWFwcyc7XHJcbmltcG9ydCB7IFNlYXJjaEJveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gtYm94L3NlYXJjaC1ib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgUXVlc3Rpb25ib29rQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcy9xdWVzdGlvbmJvb2svcXVlc3Rpb25ib29rLmNvbXBvbmVudCc7XHJcblxyXG4vLyBleHBvcnQgY29uc3QgTVlfQ1VTVE9NX0ZPUk1BVFMgPSB7XHJcbi8vICAgZnVsbFBpY2tlcklucHV0OiAnREQvTU0vWVlZWSBISDptbTpzcycsXHJcbi8vICAgdXNlVXRjOiB0cnVlLFxyXG4vLyB9O1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtOeHRBcHBDb21wb25lbnQsIFxyXG4gICAgUXVlc3Rpb25uYWlyZUNvbXBvbmVudCxcclxuICAgIFBpY2tMb2NhdGlvbkNvbXBvbmVudCxcclxuICAgIEN1c3RvbUlucHV0Q29tcG9uZW50LFxyXG4gICAgQ3VzdG9tVGV4dEFyZWFDb21wb25lbnQsXHJcbiAgICBDdXN0b21UYWJsZUNvbXBvbmVudCxcclxuICAgIEN1c3RvbURhdGVQaWNrZXJDb21wb25lbnQsXHJcbiAgICBEcm9wZG93bldpdGhGbGFnQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tRHJvcGRvd25Db21wb25lbnQsXHJcbiAgICBCb29rbGV0Q29tcG9uZW50LFxyXG4gICAgU2VhcmNoQm94Q29tcG9uZW50LFxyXG4gICAgUXVlc3Rpb25ib29rQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLFxyXG4gICAgTXlEYXRlUGlja2VyTW9kdWxlLFxyXG4gICAgT3dsRGF0ZVRpbWVNb2R1bGUsXHJcbiAgICBPd2xOYXRpdmVEYXRlVGltZU1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBOZ1NlbGVjdE1vZHVsZSxcclxuICAgIEdvb2dsZU1hcHNNb2R1bGUsXHJcbiAgICAvL0FnbUNvcmVNb2R1bGUuZm9yUm9vdCh7XHJcbiAgICAvLyAgYXBpS2V5OiBHT09HTEVfTUFQX0FQSV9LRVksXHJcbiAgICAvLyAgbGlicmFyaWVzOiBbJ2dlb21ldHJ5JywgJ3BsYWNlcycsICd2aXN1YWxpemF0aW9uJywgJ2RyYXdpbmcnXVxyXG4gIC8vICB9KSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE5neFNwaW5uZXJNb2R1bGUsXHJcbiAgICAvKk5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGUuZm9yUm9vdCh7XHJcbiAgICAgIFwiYmFja2dyb3VuZFBhZGRpbmdcIjogLTEwLFxyXG4gICAgICBcInJhZGl1c1wiOiA2MCxcclxuICAgICAgXCJzcGFjZVwiOiAtNixcclxuICAgICAgXCJpbm5lclN0cm9rZUNvbG9yXCI6IFwiIzkxOTE5MVwiLFxyXG4gICAgICBcIm91dGVyU3Ryb2tlQ29sb3JcIjogXCIjZGI5NTk0XCIsXHJcbiAgICAgIFwib3V0ZXJTdHJva2VHcmFkaWVudFN0b3BDb2xvclwiOiBcIiNlMGIxYjBcIixcclxuICAgICAgXCJpbm5lclN0cm9rZVdpZHRoXCI6IDIsXHJcbiAgICAgIFwiYmFja2dyb3VuZEdyYWRpZW50XCI6IHRydWUsXHJcbiAgICAgIFwiYmFja2dyb3VuZENvbG9yXCI6IFwiI2RkMmUxM1wiLFxyXG4gICAgICBcImJhY2tncm91bmRHcmFkaWVudFN0b3BDb2xvclwiOiBcIiNkZDJlMTNcIixcclxuICAgICAgXCJiYWNrZ3JvdW5kU3Ryb2tlXCI6IFwiI2QzY2ZjZlwiLFxyXG4gICAgICBcInRpdGxlXCI6IFtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgXCIlXCJcclxuICAgICAgXSxcclxuICAgICAgLy8gdGl0bGVGb250U2l6ZTogMTIsXHJcbiAgICAgIC8vIFwic3VidGl0bGVGb250U2l6ZVwiOiAyMCxcclxuICAgICAgXCJhbmltYXRlVGl0bGVcIjogZmFsc2UsXHJcbiAgICAgIFwiYW5pbWF0aW9uRHVyYXRpb25cIjogMTAwMCxcclxuICAgICAgXCJzaG93VW5pdHNcIjogZmFsc2UsXHJcbiAgICAgIFwiY2xvY2t3aXNlXCI6dHJ1ZVxyXG5cclxuICAgICAgLy9cImJhY2tncm91bmRTdHJva2VXaWR0aFwiOiBcIjBcIixcclxuXCJiYWNrZ3JvdW5kR3JhZGllbnRcIjogdHJ1ZSxcclxuICAgICAgLy9cImJhY2tncm91bmRDb2xvclwiOiBcIiNkZDJlMTNcIixcclxuICAgICAgXCJiYWNrZ3JvdW5kR3JhZGllbnRTdG9wQ29sb3JcIjogXCIjZGQyZTEzXCIsXHJcbiAgICAgIFwiYmFja2dyb3VuZFN0cm9rZVwiOiBcIiMwMDAwMDBcIixcclxuICAgICAgXCJiYWNrZ3JvdW5kUGFkZGluZ1wiOiAtMTAsXHJcbiAgICAgIFwicmFkaXVzXCI6IDYwLFxyXG4gICAgICBcInVuaXRzRm9udFdlaWdodFwiOiBcIjYwMFwiLFxyXG4gICAgICBcInVuaXRzQ29sb3JcIjogXCIjZjJmMmYyXCIsXHJcbiAgICAgIFwib3V0ZXJTdHJva2VHcmFkaWVudFwiOiB0cnVlLFxyXG4gICAgICBcIm91dGVyU3Ryb2tlQ29sb3JcIjogXCIjZTBiMWIwXCIsXHJcbiAgICAgIFwib3V0ZXJTdHJva2VHcmFkaWVudFN0b3BDb2xvclwiOiBcIiNlMGIxYjBcIixcclxuICAgICAgXCJvdXRlclN0cm9rZUxpbmVjYXBcIjogXCJpbmhlcml0XCIsXHJcbiAgICAgIFwiaW5uZXJTdHJva2VDb2xvclwiOiBcIiNmNmRmZGZcIixcclxuICAgICAgXCJ0aXRsZVwiOiBbXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICBcIiVcIlxyXG5dLFxyXG4gICAgICBcInRpdGxlQ29sb3JcIjogXCIjZTdkOWQ5XCIsXHJcbiAgICAgIFwidGl0bGVGb250U2l6ZVwiOiBcIjMxXCIsXHJcbiAgICAgIFwidGl0bGVGb250V2VpZ2h0XCI6IFwiMTAwXCIsXHJcbiAgICAgIFwic3VidGl0bGVDb2xvclwiOiBcIiNmN2Y3ZjdcIixcclxuICAgICAgXCJzdWJ0aXRsZUZvbnRTaXplXCI6IFwiMzZcIixcclxuICAgICAgXCJzdWJ0aXRsZUZvbnRXZWlnaHRcIjogXCI5MDBcIixcclxuICAgICAgXCJhbmltYXRlVGl0bGVcIjogZmFsc2UsXHJcbiAgICAgIFwiYW5pbWF0aW9uRHVyYXRpb25cIjogMTAwMCxcclxuICAgICAgXCJzaG93VGl0bGVcIjogdHJ1ZSxcclxuICAgICAgXCJzaG93VW5pdHNcIjogdHJ1ZSxcclxuICAgICAgXCJjbG9ja3dpc2VcIjogZmFsc2UsXHJcbiAgICAgIFwic3RhcnRGcm9tWmVyb1wiOiB0cnVlLFxyXG4gICAgICBcInNob3daZXJvT3V0ZXJTdHJva2VcIjogZmFsc2UsXHJcbiAgICAgIFwibGF6eVwiOiB0cnVlfSkqL1xyXG5cclxuICAgICAgTmdDaXJjbGVQcm9ncmVzc01vZHVsZS5mb3JSb290KHtcclxuICAgICAgICBcImJhY2tncm91bmRHcmFkaWVudFwiOiB0cnVlLFxyXG4gICAgICAgIFwiYmFja2dyb3VuZENvbG9yXCI6IFwiI2UyOWQ5OFwiLFxyXG4gICAgICAgIFwiYmFja2dyb3VuZEdyYWRpZW50U3RvcENvbG9yXCI6IFwiI2M1MjgxY1wiLFxyXG4gICAgICAgIFwiYmFja2dyb3VuZFN0cm9rZVwiOiBcIiNlY2U0ZTRcIixcclxuICAgICAgICBcImJhY2tncm91bmRTdHJva2VXaWR0aFwiOiAwLFxyXG4gICAgICAgIFwiYmFja2dyb3VuZFBhZGRpbmdcIjogLTEwLFxyXG4gICAgICAgIFwicmFkaXVzXCI6IDYwLFxyXG4gICAgICAgIFwic3BhY2VcIjogNCxcclxuICAgICAgICBcIm1heFBlcmNlbnRcIjogMTAwLFxyXG4gICAgICAgIFwidW5pdHNGb250U2l6ZVwiOiBcIjM1XCIsXHJcbiAgICAgICAgXCJ1bml0c0NvbG9yXCI6IFwiI2YwZWJlYlwiLFxyXG4gICAgICAgIFwib3V0ZXJTdHJva2VHcmFkaWVudFwiOiB0cnVlLFxyXG4gICAgICAgIFwib3V0ZXJTdHJva2VXaWR0aFwiOiAxMCxcclxuICAgICAgICBcIm91dGVyU3Ryb2tlQ29sb3JcIjogXCIjZjdjMGJmXCIsXHJcbiAgICAgICAgXCJvdXRlclN0cm9rZUdyYWRpZW50U3RvcENvbG9yXCI6IFwiI2Y5YzljOFwiLFxyXG4gICAgICAgIFwiaW5uZXJTdHJva2VXaWR0aFwiOiAwLFxyXG4gICAgICAgIFwidGl0bGVDb2xvclwiOiBcIiNmM2VkZWRcIixcclxuICAgICAgICBcInRpdGxlRm9udFNpemVcIjogXCI0MFwiLFxyXG4gICAgICAgIFwic3VidGl0bGVDb2xvclwiOiBcIiM0NDQ0NDRcIixcclxuICAgICAgICBcInNob3dTdWJ0aXRsZVwiOiBmYWxzZX0pXHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgZXhwb3J0czogW054dEFwcENvbXBvbmVudCwgXHJcbiAgICBRdWVzdGlvbm5haXJlQ29tcG9uZW50LFxyXG4gICAgQm9va2xldENvbXBvbmVudFxyXG4gIF1cclxuICAvLyBwcm92aWRlcnM6IFtcclxuICAvLyAgIHsgcHJvdmlkZTogT1dMX01PTUVOVF9EQVRFX1RJTUVfQURBUFRFUl9PUFRJT05TLCB1c2VWYWx1ZTogeyB1c2VVdGM6IGZhbHNlIH0gfSxcclxuICAvLyAgIHsgcHJvdmlkZTogT1dMX0RBVEVfVElNRV9GT1JNQVRTLCB1c2VWYWx1ZTogTVlfQ1VTVE9NX0ZPUk1BVFMgfSxcclxuICAvLyBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOeHRBcHBNb2R1bGUgeyB9XHJcbiJdfQ==
|