@rangertechnologies/ngnxt 2.0.46 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/esm2022/lib/ar.i18n.mjs +29 -0
  2. package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +13 -9
  3. package/esm2022/lib/components/custom-input/custom-input.component.mjs +12 -8
  4. package/esm2022/lib/components/custom-table/custom-table.component.mjs +13 -8
  5. package/esm2022/lib/components/custom-text-area/custom-text-area.component.mjs +13 -8
  6. package/esm2022/lib/components/dropdown-with-flag/dropdown-with-flag.component.mjs +14 -9
  7. package/esm2022/lib/components/file-upload/file-upload.component.mjs +11 -7
  8. package/esm2022/lib/components/file-view/file-view.component.mjs +11 -7
  9. package/esm2022/lib/components/pick-location/pick-location.component.mjs +13 -9
  10. package/esm2022/lib/components/search-box/search-box.component.mjs +11 -8
  11. package/esm2022/lib/components/table-appendix/table-appendix.component.mjs +15 -10
  12. package/esm2022/lib/en.i18n.mjs +29 -0
  13. package/esm2022/lib/i18n-config.service.mjs +4 -0
  14. package/esm2022/lib/i18n.component.mjs +47 -0
  15. package/esm2022/lib/i18n.module.mjs +38 -0
  16. package/esm2022/lib/i18n.pipe.mjs +25 -0
  17. package/esm2022/lib/i18n.service.mjs +54 -0
  18. package/esm2022/lib/nxt-app.module.mjs +41 -8
  19. package/esm2022/lib/pages/booklet/booklet.component.mjs +32 -9
  20. package/esm2022/lib/pages/questionbook/questionbook.component.mjs +66 -24
  21. package/esm2022/lib/pages/questionnaire/questionnaire.component.mjs +20 -16
  22. package/esm2022/lib/pages/summary-page/summary-page.component.mjs +13 -8
  23. package/esm2022/lib/sample.mjs +137 -6
  24. package/esm2022/lib/tam.i18n.mjs +29 -0
  25. package/esm2022/lib/wrapper.mjs +5 -1
  26. package/esm2022/public-api.mjs +3 -1
  27. package/fesm2022/rangertechnologies-ngnxt.mjs +592 -97
  28. package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
  29. package/lib/ar.i18n.d.ts +24 -0
  30. package/lib/components/custom-dropdown/custom-dropdown.component.d.ts +3 -1
  31. package/lib/components/custom-input/custom-input.component.d.ts +3 -1
  32. package/lib/components/custom-table/custom-table.component.d.ts +3 -1
  33. package/lib/components/custom-text-area/custom-text-area.component.d.ts +3 -1
  34. package/lib/components/dropdown-with-flag/dropdown-with-flag.component.d.ts +3 -1
  35. package/lib/components/file-upload/file-upload.component.d.ts +3 -1
  36. package/lib/components/file-view/file-view.component.d.ts +3 -1
  37. package/lib/components/pick-location/pick-location.component.d.ts +3 -1
  38. package/lib/components/search-box/search-box.component.d.ts +3 -1
  39. package/lib/components/table-appendix/table-appendix.component.d.ts +3 -1
  40. package/lib/en.i18n.d.ts +24 -0
  41. package/lib/i18n-config.service.d.ts +2 -0
  42. package/lib/i18n.component.d.ts +11 -0
  43. package/lib/i18n.module.d.ts +9 -0
  44. package/lib/i18n.pipe.d.ts +10 -0
  45. package/lib/i18n.service.d.ts +14 -0
  46. package/lib/nxt-app.module.d.ts +13 -10
  47. package/lib/pages/booklet/booklet.component.d.ts +4 -1
  48. package/lib/pages/questionbook/questionbook.component.d.ts +7 -1
  49. package/lib/pages/questionnaire/questionnaire.component.d.ts +3 -1
  50. package/lib/pages/summary-page/summary-page.component.d.ts +3 -1
  51. package/lib/tam.i18n.d.ts +24 -0
  52. package/lib/wrapper.d.ts +30 -0
  53. package/package.json +1 -1
  54. package/public-api.d.ts +2 -0
  55. package/rangertechnologies-ngnxt-2.1.0.tgz +0 -0
  56. package/rangertechnologies-ngnxt-2.0.46.tgz +0 -0
@@ -1,10 +1,13 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/forms";
5
- import * as i3 from "../custom-dropdown/custom-dropdown.component";
6
- import * as i4 from "../file-upload/file-upload.component";
3
+ import * as i1 from "../../i18n.service";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/forms";
6
+ import * as i4 from "../custom-dropdown/custom-dropdown.component";
7
+ import * as i5 from "../file-upload/file-upload.component";
8
+ import * as i6 from "../../i18n.pipe";
7
9
  export class TableAppendixComponent {
10
+ i18nService;
8
11
  question;
9
12
  valueChange = new EventEmitter();
10
13
  tableInfo;
@@ -14,7 +17,9 @@ export class TableAppendixComponent {
14
17
  tableAppendix;
15
18
  dropDownApi;
16
19
  dropDownData;
17
- constructor() { }
20
+ constructor(i18nService) {
21
+ this.i18nService = i18nService;
22
+ }
18
23
  ngOnInit() {
19
24
  if (this.question.Sub_Text__c != undefined) {
20
25
  this.tableInfo = JSON.parse(this.question.Sub_Text__c);
@@ -103,15 +108,15 @@ export class TableAppendixComponent {
103
108
  }
104
109
  return null;
105
110
  }
106
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableAppendixComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
107
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TableAppendixComponent, selector: "app-table-appendix", inputs: { question: "question" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<table class=\"table table-striped table-bordered\">\n <thead class=\"none-border\" *ngIf=\"tableInfo.tableType === 'lockout' && tableInfo.tableHeader\">\n <th></th>\n <th>{{ tableInfo.tableHeader }}</th>\n <th></th>\n </thead>\n <thead>\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\n {{ header.label }}\n </th>\n </thead>\n <tbody id=\"safetyMeasuresTableBody\">\n <tr *ngFor=\"let item of tableData; let i = index\">\n <td *ngFor=\"let header of tableHeader; let j = index\">\n <div *ngIf=\"header.type === 'text'\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" [placeholder]=\"header.placeholder\" (ngModelChange)=\"tableInfo.tableType != 'lockout' ? updateLabel(i, header.fieldName, item[header.fieldName]) : updateNumber(item, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('number')\">\n <input type=\"number\" [(ngModel)]=\"item.value[header.fieldName]\" [disabled]=\"item.value[getPreviousTestKey(item, header.fieldName)] === null && tableInfo.tableType != 'lockout'\" (ngModelChange)=\"updateNumber(item, header.fieldName, item.value[header.fieldName])\" placeholder=\"Enter Value\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type === 'dropdown'\">\n <app-custom-dropdown [fromShengel]=\"true\" [options]=\"dropDownData\" \n [selectedValue]=\"item.value[header.fieldName]\" [placeholder]=\"header.placeholder\"\n (valueChange)=\"updateDropDown(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type === 'textcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <input type=\"text\" [(ngModel)]=\"item.value[header.fieldName][0]\" (ngModelChange)=\"updateCheckText(item, header.fieldName, item.value[header.fieldName][0])\" style=\"width: 85px; height: 27px; text-align: center; padding: 5px; border-bottom: none; border-top: 1px solid transparent; border-right: 1px solid transparent; border-left: 1px solid transparent; background: transparent;outline: none;\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName][1] == header.toggleValue[0]\"/>\n <span class=\"switch-label2\" data-on=\"Psi\" data-off=\"Bar\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n <div *ngIf=\"header.type === 'labelcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <span style=\"text-align:left;\">Calibrated</span>\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName] == header.toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Yes\" data-off=\"No\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType === 'lockout'\">\n <td colspan=\"1\">\n <b style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">Add More +</b>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType != 'lockout'\">\n <td colspan=\"3\">\n <b>Add More</b>\n </td>\n <td colspan=\"2\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\n +\n </td>\n </tr>\n <tr *ngFor=\"let item of tableAppendix | keyvalue; let k = index\">\n <td *ngFor=\"let header of tableHeader; let l = index\">\n <div *ngIf=\"header.type === 'text'\" >\n <input type=\"text\" [(ngModel)]=\"item.value[0][header.fieldName]\" (ngModelChange)=\"updateLabel(k, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('dropdown') && item.key == 'dropDownData'\" >\n <app-custom-dropdown [fromShengel]=\"true\" [apiMeta]=\"dropDownApi\" \n [selectedValue]=\"item.value[0].value[header.fieldName]\" [placeholder]=\"'---Select---'\"\n (valueChange)=\"updateTableAppendix(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type.includes('datetime') && item.key == 'dateData'\">\n <input [(ngModel)]=\"item.value[0].value[header.fieldName]\" type=\"datetime-local\"\n (ngModelChange)=\"updateTableAppendix(item,header.fieldName,$event)\"\n placeholder=\"DD/MM/YYYY HH:MM\">\n </div>\n <div *ngIf=\"header.type.includes('checkbox') && item.key == 'toggleData'\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateTableAppendix(item,header.fieldName,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[0].value[header.fieldName] == item.value[0].toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n <div *ngIf=\"header.type.includes('file') && item.key == 'fileData'\">\n <app-file-upload [limitFileUploading]=\"2\" [allFiles]=\"item.value[0].value[header.fieldName]\" [tableFile]=\"true\"\n (selectedFileData)=\"updateTableAppendix(item ,header.fieldName, $event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n </td>\n </tr>\n </tbody>\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}.none-border th{border:none}.switch2{position:relative;width:73px;height:23.5px;margin-left:5px;margin-top:3px;background:linear-gradient(to bottom,#eeeeee,#FFFFFF 25px);background-image:-webkit-linear-gradient(top,#eeeeee,#FFFFFF 25px);border-radius:5px;box-shadow:inset 0 -1px #fff,inset 0 1px 1px #0000000d;cursor:pointer}.switch-input2{position:absolute;top:0;left:0;opacity:0}.switch-label2{position:relative;display:block;height:inherit;font-size:12px;background:rgba(175,172,172,.5);color:#000;border-radius:inherit;box-shadow:inset 0 1px 2px #0000001f,inset 0 0 2px #00000026}.switch-label3{position:relative;display:block;height:inherit;font-size:12px;background:red;color:#fff;border-radius:inherit;box-shadow:inset 0 1px 2px #0000001f,inset 0 0 2px #00000026}.switch-label2:before,.switch-label2:after{position:absolute;top:50%;margin-top:-.5em;line-height:1;transition:inherit}.switch-label3:before,.switch-label2:after{position:absolute;top:50%;margin-top:-.5em;line-height:1;transition:inherit}.switch-label2:before{content:attr(data-off);right:11px;text-shadow:0 1px rgba(255,255,255,.5)}.switch-label3:before{content:attr(data-off);right:11px;text-shadow:0 1px rgba(255,255,255,.5)}.switch-label2:after{content:attr(data-on);left:11px;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.switch-label3:after{content:attr(data-on);left:11px;margin-left:10px;vertical-align:sub;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.switch-input2:checked~.switch-label2{background:#03a9f4;border-color:#03a9f4;box-shadow:inset 0 1px 2px #00000026,inset 0 0 3px #0003}.switch-input2:checked~.switch-label3{background:rgb(2,173,2);border-color:#02ad02;box-shadow:inset 0 1px 2px #00000026,inset 0 0 3px #0003}.switch-input2:checked~.switch-label2:before{opacity:0}.switch-input2:checked~.switch-label3:before{opacity:0}.switch-input2:checked~.switch-label2:after{opacity:1;margin-right:15px}.switch-input2:checked~.switch-label3:after{opacity:1;margin-right:15px}.switch-handle2{position:absolute;top:2px;left:2px;width:18px;height:18px;background:linear-gradient(to bottom,#FFFFFF 40%,#f0f0f0);background-image:-webkit-linear-gradient(top,#FFFFFF 40%,#f0f0f0);border-radius:20%;box-shadow:1px 1px 5px #0003}.switch-handle2:before{content:\"\";position:absolute;top:50%;left:50%;margin:-6px 0 0 -6px;width:12px;height:12px;background:linear-gradient(to bottom,#eeeeee,#FFFFFF);background-image:-webkit-linear-gradient(top,#eeeeee,#FFFFFF);border-radius:6px;box-shadow:inset 0 1px #00000005}.switch-input2:checked~.switch-handle2{left:51px;box-shadow:-1px 1px 5px #0003}.switch-label2,.switch-handle2,.switch-label3{transition:All .3s ease;-webkit-transition:All .3s ease;-moz-transition:All .3s ease;-o-transition:All .3s ease}\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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { 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.CustomDropdownComponent, selector: "app-custom-dropdown", inputs: ["options", "placeholder", "apiMeta", "selectedValue", "progressBar", "id", "errorMessage", "error", "fromShengel", "referenceField"], outputs: ["valueChange"] }, { kind: "component", type: i4.FileUploadComponent, selector: "app-file-upload", inputs: ["allFiles", "limitFileUploading", "isDeleteFileButtonVisible", "isShowNoFileIcon", "tableFile"], outputs: ["selectedFileData", "deletedFileData"] }, { kind: "pipe", type: i1.KeyValuePipe, name: "keyvalue" }] });
111
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableAppendixComponent, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Component });
112
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TableAppendixComponent, selector: "app-table-appendix", inputs: { question: "question" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<table class=\"table table-striped table-bordered\">\n <thead class=\"none-border\" *ngIf=\"tableInfo.tableType === 'lockout' && tableInfo.tableHeader\">\n <th></th>\n <th>{{ tableInfo.tableHeader }}</th>\n <th></th>\n </thead>\n <thead>\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\n {{ header.label }}\n </th>\n </thead>\n <tbody id=\"safetyMeasuresTableBody\">\n <tr *ngFor=\"let item of tableData; let i = index\">\n <td *ngFor=\"let header of tableHeader; let j = index\">\n <div *ngIf=\"header.type === 'text'\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" [placeholder]=\"header.placeholder\" (ngModelChange)=\"tableInfo.tableType != 'lockout' ? updateLabel(i, header.fieldName, item[header.fieldName]) : updateNumber(item, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('number')\">\n <!-- HA 19DEC23 For translation -->\n <input type=\"number\" [(ngModel)]=\"item.value[header.fieldName]\" [disabled]=\"item.value[getPreviousTestKey(item, header.fieldName)] === null && tableInfo.tableType != 'lockout'\" (ngModelChange)=\"updateNumber(item, header.fieldName, item.value[header.fieldName])\" placeholder=\"{{ 'enterValue' | i18n:i18nService.currentLanguage }}\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type === 'dropdown'\">\n <app-custom-dropdown [fromShengel]=\"true\" [options]=\"dropDownData\" \n [selectedValue]=\"item.value[header.fieldName]\" [placeholder]=\"header.placeholder\"\n (valueChange)=\"updateDropDown(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type === 'textcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <input type=\"text\" [(ngModel)]=\"item.value[header.fieldName][0]\" (ngModelChange)=\"updateCheckText(item, header.fieldName, item.value[header.fieldName][0])\" style=\"width: 85px; height: 27px; text-align: center; padding: 5px; border-bottom: none; border-top: 1px solid transparent; border-right: 1px solid transparent; border-left: 1px solid transparent; background: transparent;outline: none;\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName][1] == header.toggleValue[0]\"/>\n <span class=\"switch-label2\" data-on=\"Psi\" data-off=\"Bar\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n <div *ngIf=\"header.type === 'labelcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <!-- HA 19DEC23 For translation -->\n <span style=\"text-align:left;\">{{ 'calibrated' | i18n:i18nService.currentLanguage }}</span>\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName] == header.toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Yes\" data-off=\"No\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType === 'lockout'\">\n <td colspan=\"1\">\n <!-- HA 19DEC23 For translation -->\n <b style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">{{ 'addMore' | i18n:i18nService.currentLanguage }} +</b>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType != 'lockout'\">\n <td colspan=\"3\">\n <!-- HA 19DEC23 For translation -->\n <b>{{ 'addMore' | i18n:i18nService.currentLanguage }}</b>\n </td>\n <td colspan=\"2\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\n +\n </td>\n </tr>\n <tr *ngFor=\"let item of tableAppendix | keyvalue; let k = index\">\n <td *ngFor=\"let header of tableHeader; let l = index\">\n <div *ngIf=\"header.type === 'text'\" >\n <input type=\"text\" [(ngModel)]=\"item.value[0][header.fieldName]\" (ngModelChange)=\"updateLabel(k, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('dropdown') && item.key == 'dropDownData'\" >\n <!-- HA 19DEC23 For translation -->\n <app-custom-dropdown [fromShengel]=\"true\" [apiMeta]=\"dropDownApi\" \n [selectedValue]=\"item.value[0].value[header.fieldName]\" placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\n (valueChange)=\"updateTableAppendix(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type.includes('datetime') && item.key == 'dateData'\">\n <input [(ngModel)]=\"item.value[0].value[header.fieldName]\" type=\"datetime-local\"\n (ngModelChange)=\"updateTableAppendix(item,header.fieldName,$event)\"\n placeholder=\"DD/MM/YYYY HH:MM\">\n </div>\n <div *ngIf=\"header.type.includes('checkbox') && item.key == 'toggleData'\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateTableAppendix(item,header.fieldName,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[0].value[header.fieldName] == item.value[0].toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n <div *ngIf=\"header.type.includes('file') && item.key == 'fileData'\">\n <app-file-upload [limitFileUploading]=\"2\" [allFiles]=\"item.value[0].value[header.fieldName]\" [tableFile]=\"true\"\n (selectedFileData)=\"updateTableAppendix(item ,header.fieldName, $event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n </td>\n </tr>\n </tbody>\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}.none-border th{border:none}.switch2{position:relative;width:73px;height:23.5px;margin-left:5px;margin-top:3px;background:linear-gradient(to bottom,#eeeeee,#FFFFFF 25px);background-image:-webkit-linear-gradient(top,#eeeeee,#FFFFFF 25px);border-radius:5px;box-shadow:inset 0 -1px #fff,inset 0 1px 1px #0000000d;cursor:pointer}.switch-input2{position:absolute;top:0;left:0;opacity:0}.switch-label2{position:relative;display:block;height:inherit;font-size:12px;background:rgba(175,172,172,.5);color:#000;border-radius:inherit;box-shadow:inset 0 1px 2px #0000001f,inset 0 0 2px #00000026}.switch-label3{position:relative;display:block;height:inherit;font-size:12px;background:red;color:#fff;border-radius:inherit;box-shadow:inset 0 1px 2px #0000001f,inset 0 0 2px #00000026}.switch-label2:before,.switch-label2:after{position:absolute;top:50%;margin-top:-.5em;line-height:1;transition:inherit}.switch-label3:before,.switch-label2:after{position:absolute;top:50%;margin-top:-.5em;line-height:1;transition:inherit}.switch-label2:before{content:attr(data-off);right:11px;text-shadow:0 1px rgba(255,255,255,.5)}.switch-label3:before{content:attr(data-off);right:11px;text-shadow:0 1px rgba(255,255,255,.5)}.switch-label2:after{content:attr(data-on);left:11px;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.switch-label3:after{content:attr(data-on);left:11px;margin-left:10px;vertical-align:sub;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.switch-input2:checked~.switch-label2{background:#03a9f4;border-color:#03a9f4;box-shadow:inset 0 1px 2px #00000026,inset 0 0 3px #0003}.switch-input2:checked~.switch-label3{background:rgb(2,173,2);border-color:#02ad02;box-shadow:inset 0 1px 2px #00000026,inset 0 0 3px #0003}.switch-input2:checked~.switch-label2:before{opacity:0}.switch-input2:checked~.switch-label3:before{opacity:0}.switch-input2:checked~.switch-label2:after{opacity:1;margin-right:15px}.switch-input2:checked~.switch-label3:after{opacity:1;margin-right:15px}.switch-handle2{position:absolute;top:2px;left:2px;width:18px;height:18px;background:linear-gradient(to bottom,#FFFFFF 40%,#f0f0f0);background-image:-webkit-linear-gradient(top,#FFFFFF 40%,#f0f0f0);border-radius:20%;box-shadow:1px 1px 5px #0003}.switch-handle2:before{content:\"\";position:absolute;top:50%;left:50%;margin:-6px 0 0 -6px;width:12px;height:12px;background:linear-gradient(to bottom,#eeeeee,#FFFFFF);background-image:-webkit-linear-gradient(top,#eeeeee,#FFFFFF);border-radius:6px;box-shadow:inset 0 1px #00000005}.switch-input2:checked~.switch-handle2{left:51px;box-shadow:-1px 1px 5px #0003}.switch-label2,.switch-handle2,.switch-label3{transition:All .3s ease;-webkit-transition:All .3s ease;-moz-transition:All .3s ease;-o-transition:All .3s ease}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.CustomDropdownComponent, selector: "app-custom-dropdown", inputs: ["options", "placeholder", "apiMeta", "selectedValue", "progressBar", "id", "errorMessage", "error", "fromShengel", "referenceField"], outputs: ["valueChange"] }, { kind: "component", type: i5.FileUploadComponent, selector: "app-file-upload", inputs: ["allFiles", "limitFileUploading", "isDeleteFileButtonVisible", "isShowNoFileIcon", "tableFile"], outputs: ["selectedFileData", "deletedFileData"] }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i6.I18nPipe, name: "i18n" }] });
108
113
  }
109
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableAppendixComponent, decorators: [{
110
115
  type: Component,
111
- args: [{ selector: 'app-table-appendix', template: "<table class=\"table table-striped table-bordered\">\n <thead class=\"none-border\" *ngIf=\"tableInfo.tableType === 'lockout' && tableInfo.tableHeader\">\n <th></th>\n <th>{{ tableInfo.tableHeader }}</th>\n <th></th>\n </thead>\n <thead>\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\n {{ header.label }}\n </th>\n </thead>\n <tbody id=\"safetyMeasuresTableBody\">\n <tr *ngFor=\"let item of tableData; let i = index\">\n <td *ngFor=\"let header of tableHeader; let j = index\">\n <div *ngIf=\"header.type === 'text'\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" [placeholder]=\"header.placeholder\" (ngModelChange)=\"tableInfo.tableType != 'lockout' ? updateLabel(i, header.fieldName, item[header.fieldName]) : updateNumber(item, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('number')\">\n <input type=\"number\" [(ngModel)]=\"item.value[header.fieldName]\" [disabled]=\"item.value[getPreviousTestKey(item, header.fieldName)] === null && tableInfo.tableType != 'lockout'\" (ngModelChange)=\"updateNumber(item, header.fieldName, item.value[header.fieldName])\" placeholder=\"Enter Value\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type === 'dropdown'\">\n <app-custom-dropdown [fromShengel]=\"true\" [options]=\"dropDownData\" \n [selectedValue]=\"item.value[header.fieldName]\" [placeholder]=\"header.placeholder\"\n (valueChange)=\"updateDropDown(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type === 'textcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <input type=\"text\" [(ngModel)]=\"item.value[header.fieldName][0]\" (ngModelChange)=\"updateCheckText(item, header.fieldName, item.value[header.fieldName][0])\" style=\"width: 85px; height: 27px; text-align: center; padding: 5px; border-bottom: none; border-top: 1px solid transparent; border-right: 1px solid transparent; border-left: 1px solid transparent; background: transparent;outline: none;\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName][1] == header.toggleValue[0]\"/>\n <span class=\"switch-label2\" data-on=\"Psi\" data-off=\"Bar\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n <div *ngIf=\"header.type === 'labelcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <span style=\"text-align:left;\">Calibrated</span>\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName] == header.toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Yes\" data-off=\"No\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType === 'lockout'\">\n <td colspan=\"1\">\n <b style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">Add More +</b>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType != 'lockout'\">\n <td colspan=\"3\">\n <b>Add More</b>\n </td>\n <td colspan=\"2\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\n +\n </td>\n </tr>\n <tr *ngFor=\"let item of tableAppendix | keyvalue; let k = index\">\n <td *ngFor=\"let header of tableHeader; let l = index\">\n <div *ngIf=\"header.type === 'text'\" >\n <input type=\"text\" [(ngModel)]=\"item.value[0][header.fieldName]\" (ngModelChange)=\"updateLabel(k, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('dropdown') && item.key == 'dropDownData'\" >\n <app-custom-dropdown [fromShengel]=\"true\" [apiMeta]=\"dropDownApi\" \n [selectedValue]=\"item.value[0].value[header.fieldName]\" [placeholder]=\"'---Select---'\"\n (valueChange)=\"updateTableAppendix(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type.includes('datetime') && item.key == 'dateData'\">\n <input [(ngModel)]=\"item.value[0].value[header.fieldName]\" type=\"datetime-local\"\n (ngModelChange)=\"updateTableAppendix(item,header.fieldName,$event)\"\n placeholder=\"DD/MM/YYYY HH:MM\">\n </div>\n <div *ngIf=\"header.type.includes('checkbox') && item.key == 'toggleData'\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateTableAppendix(item,header.fieldName,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[0].value[header.fieldName] == item.value[0].toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n <div *ngIf=\"header.type.includes('file') && item.key == 'fileData'\">\n <app-file-upload [limitFileUploading]=\"2\" [allFiles]=\"item.value[0].value[header.fieldName]\" [tableFile]=\"true\"\n (selectedFileData)=\"updateTableAppendix(item ,header.fieldName, $event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n </td>\n </tr>\n </tbody>\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}.none-border th{border:none}.switch2{position:relative;width:73px;height:23.5px;margin-left:5px;margin-top:3px;background:linear-gradient(to bottom,#eeeeee,#FFFFFF 25px);background-image:-webkit-linear-gradient(top,#eeeeee,#FFFFFF 25px);border-radius:5px;box-shadow:inset 0 -1px #fff,inset 0 1px 1px #0000000d;cursor:pointer}.switch-input2{position:absolute;top:0;left:0;opacity:0}.switch-label2{position:relative;display:block;height:inherit;font-size:12px;background:rgba(175,172,172,.5);color:#000;border-radius:inherit;box-shadow:inset 0 1px 2px #0000001f,inset 0 0 2px #00000026}.switch-label3{position:relative;display:block;height:inherit;font-size:12px;background:red;color:#fff;border-radius:inherit;box-shadow:inset 0 1px 2px #0000001f,inset 0 0 2px #00000026}.switch-label2:before,.switch-label2:after{position:absolute;top:50%;margin-top:-.5em;line-height:1;transition:inherit}.switch-label3:before,.switch-label2:after{position:absolute;top:50%;margin-top:-.5em;line-height:1;transition:inherit}.switch-label2:before{content:attr(data-off);right:11px;text-shadow:0 1px rgba(255,255,255,.5)}.switch-label3:before{content:attr(data-off);right:11px;text-shadow:0 1px rgba(255,255,255,.5)}.switch-label2:after{content:attr(data-on);left:11px;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.switch-label3:after{content:attr(data-on);left:11px;margin-left:10px;vertical-align:sub;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.switch-input2:checked~.switch-label2{background:#03a9f4;border-color:#03a9f4;box-shadow:inset 0 1px 2px #00000026,inset 0 0 3px #0003}.switch-input2:checked~.switch-label3{background:rgb(2,173,2);border-color:#02ad02;box-shadow:inset 0 1px 2px #00000026,inset 0 0 3px #0003}.switch-input2:checked~.switch-label2:before{opacity:0}.switch-input2:checked~.switch-label3:before{opacity:0}.switch-input2:checked~.switch-label2:after{opacity:1;margin-right:15px}.switch-input2:checked~.switch-label3:after{opacity:1;margin-right:15px}.switch-handle2{position:absolute;top:2px;left:2px;width:18px;height:18px;background:linear-gradient(to bottom,#FFFFFF 40%,#f0f0f0);background-image:-webkit-linear-gradient(top,#FFFFFF 40%,#f0f0f0);border-radius:20%;box-shadow:1px 1px 5px #0003}.switch-handle2:before{content:\"\";position:absolute;top:50%;left:50%;margin:-6px 0 0 -6px;width:12px;height:12px;background:linear-gradient(to bottom,#eeeeee,#FFFFFF);background-image:-webkit-linear-gradient(top,#eeeeee,#FFFFFF);border-radius:6px;box-shadow:inset 0 1px #00000005}.switch-input2:checked~.switch-handle2{left:51px;box-shadow:-1px 1px 5px #0003}.switch-label2,.switch-handle2,.switch-label3{transition:All .3s ease;-webkit-transition:All .3s ease;-moz-transition:All .3s ease;-o-transition:All .3s ease}\n"] }]
112
- }], ctorParameters: function () { return []; }, propDecorators: { question: [{
116
+ args: [{ selector: 'app-table-appendix', template: "<table class=\"table table-striped table-bordered\">\n <thead class=\"none-border\" *ngIf=\"tableInfo.tableType === 'lockout' && tableInfo.tableHeader\">\n <th></th>\n <th>{{ tableInfo.tableHeader }}</th>\n <th></th>\n </thead>\n <thead>\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\n {{ header.label }}\n </th>\n </thead>\n <tbody id=\"safetyMeasuresTableBody\">\n <tr *ngFor=\"let item of tableData; let i = index\">\n <td *ngFor=\"let header of tableHeader; let j = index\">\n <div *ngIf=\"header.type === 'text'\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" [placeholder]=\"header.placeholder\" (ngModelChange)=\"tableInfo.tableType != 'lockout' ? updateLabel(i, header.fieldName, item[header.fieldName]) : updateNumber(item, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('number')\">\n <!-- HA 19DEC23 For translation -->\n <input type=\"number\" [(ngModel)]=\"item.value[header.fieldName]\" [disabled]=\"item.value[getPreviousTestKey(item, header.fieldName)] === null && tableInfo.tableType != 'lockout'\" (ngModelChange)=\"updateNumber(item, header.fieldName, item.value[header.fieldName])\" placeholder=\"{{ 'enterValue' | i18n:i18nService.currentLanguage }}\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type === 'dropdown'\">\n <app-custom-dropdown [fromShengel]=\"true\" [options]=\"dropDownData\" \n [selectedValue]=\"item.value[header.fieldName]\" [placeholder]=\"header.placeholder\"\n (valueChange)=\"updateDropDown(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type === 'textcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <input type=\"text\" [(ngModel)]=\"item.value[header.fieldName][0]\" (ngModelChange)=\"updateCheckText(item, header.fieldName, item.value[header.fieldName][0])\" style=\"width: 85px; height: 27px; text-align: center; padding: 5px; border-bottom: none; border-top: 1px solid transparent; border-right: 1px solid transparent; border-left: 1px solid transparent; background: transparent;outline: none;\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName][1] == header.toggleValue[0]\"/>\n <span class=\"switch-label2\" data-on=\"Psi\" data-off=\"Bar\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n <div *ngIf=\"header.type === 'labelcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <!-- HA 19DEC23 For translation -->\n <span style=\"text-align:left;\">{{ 'calibrated' | i18n:i18nService.currentLanguage }}</span>\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName] == header.toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Yes\" data-off=\"No\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType === 'lockout'\">\n <td colspan=\"1\">\n <!-- HA 19DEC23 For translation -->\n <b style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">{{ 'addMore' | i18n:i18nService.currentLanguage }} +</b>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType != 'lockout'\">\n <td colspan=\"3\">\n <!-- HA 19DEC23 For translation -->\n <b>{{ 'addMore' | i18n:i18nService.currentLanguage }}</b>\n </td>\n <td colspan=\"2\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\n +\n </td>\n </tr>\n <tr *ngFor=\"let item of tableAppendix | keyvalue; let k = index\">\n <td *ngFor=\"let header of tableHeader; let l = index\">\n <div *ngIf=\"header.type === 'text'\" >\n <input type=\"text\" [(ngModel)]=\"item.value[0][header.fieldName]\" (ngModelChange)=\"updateLabel(k, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('dropdown') && item.key == 'dropDownData'\" >\n <!-- HA 19DEC23 For translation -->\n <app-custom-dropdown [fromShengel]=\"true\" [apiMeta]=\"dropDownApi\" \n [selectedValue]=\"item.value[0].value[header.fieldName]\" placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\n (valueChange)=\"updateTableAppendix(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type.includes('datetime') && item.key == 'dateData'\">\n <input [(ngModel)]=\"item.value[0].value[header.fieldName]\" type=\"datetime-local\"\n (ngModelChange)=\"updateTableAppendix(item,header.fieldName,$event)\"\n placeholder=\"DD/MM/YYYY HH:MM\">\n </div>\n <div *ngIf=\"header.type.includes('checkbox') && item.key == 'toggleData'\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateTableAppendix(item,header.fieldName,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[0].value[header.fieldName] == item.value[0].toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n <div *ngIf=\"header.type.includes('file') && item.key == 'fileData'\">\n <app-file-upload [limitFileUploading]=\"2\" [allFiles]=\"item.value[0].value[header.fieldName]\" [tableFile]=\"true\"\n (selectedFileData)=\"updateTableAppendix(item ,header.fieldName, $event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n </td>\n </tr>\n </tbody>\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}.none-border th{border:none}.switch2{position:relative;width:73px;height:23.5px;margin-left:5px;margin-top:3px;background:linear-gradient(to bottom,#eeeeee,#FFFFFF 25px);background-image:-webkit-linear-gradient(top,#eeeeee,#FFFFFF 25px);border-radius:5px;box-shadow:inset 0 -1px #fff,inset 0 1px 1px #0000000d;cursor:pointer}.switch-input2{position:absolute;top:0;left:0;opacity:0}.switch-label2{position:relative;display:block;height:inherit;font-size:12px;background:rgba(175,172,172,.5);color:#000;border-radius:inherit;box-shadow:inset 0 1px 2px #0000001f,inset 0 0 2px #00000026}.switch-label3{position:relative;display:block;height:inherit;font-size:12px;background:red;color:#fff;border-radius:inherit;box-shadow:inset 0 1px 2px #0000001f,inset 0 0 2px #00000026}.switch-label2:before,.switch-label2:after{position:absolute;top:50%;margin-top:-.5em;line-height:1;transition:inherit}.switch-label3:before,.switch-label2:after{position:absolute;top:50%;margin-top:-.5em;line-height:1;transition:inherit}.switch-label2:before{content:attr(data-off);right:11px;text-shadow:0 1px rgba(255,255,255,.5)}.switch-label3:before{content:attr(data-off);right:11px;text-shadow:0 1px rgba(255,255,255,.5)}.switch-label2:after{content:attr(data-on);left:11px;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.switch-label3:after{content:attr(data-on);left:11px;margin-left:10px;vertical-align:sub;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.switch-input2:checked~.switch-label2{background:#03a9f4;border-color:#03a9f4;box-shadow:inset 0 1px 2px #00000026,inset 0 0 3px #0003}.switch-input2:checked~.switch-label3{background:rgb(2,173,2);border-color:#02ad02;box-shadow:inset 0 1px 2px #00000026,inset 0 0 3px #0003}.switch-input2:checked~.switch-label2:before{opacity:0}.switch-input2:checked~.switch-label3:before{opacity:0}.switch-input2:checked~.switch-label2:after{opacity:1;margin-right:15px}.switch-input2:checked~.switch-label3:after{opacity:1;margin-right:15px}.switch-handle2{position:absolute;top:2px;left:2px;width:18px;height:18px;background:linear-gradient(to bottom,#FFFFFF 40%,#f0f0f0);background-image:-webkit-linear-gradient(top,#FFFFFF 40%,#f0f0f0);border-radius:20%;box-shadow:1px 1px 5px #0003}.switch-handle2:before{content:\"\";position:absolute;top:50%;left:50%;margin:-6px 0 0 -6px;width:12px;height:12px;background:linear-gradient(to bottom,#eeeeee,#FFFFFF);background-image:-webkit-linear-gradient(top,#eeeeee,#FFFFFF);border-radius:6px;box-shadow:inset 0 1px #00000005}.switch-input2:checked~.switch-handle2{left:51px;box-shadow:-1px 1px 5px #0003}.switch-label2,.switch-handle2,.switch-label3{transition:All .3s ease;-webkit-transition:All .3s ease;-moz-transition:All .3s ease;-o-transition:All .3s ease}\n"] }]
117
+ }], ctorParameters: function () { return [{ type: i1.I18nService }]; }, propDecorators: { question: [{
113
118
  type: Input
114
119
  }], valueChange: [{
115
120
  type: Output
116
121
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYXBwZW5kaXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtYXBwZW5kaXgvdGFibGUtYXBwZW5kaXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtYXBwZW5kaXgvdGFibGUtYXBwZW5kaXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUy9FLE1BQU0sT0FBTyxzQkFBc0I7SUFDeEIsUUFBUSxDQUFVO0lBQ2pCLFdBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUVuRSxTQUFTLENBQWU7SUFDeEIsV0FBVyxDQUFNO0lBQ2pCLFNBQVMsQ0FBTTtJQUNmLGFBQWEsQ0FBUztJQUN0QixhQUFhLENBQUs7SUFDbEIsV0FBVyxDQUFNO0lBQ2pCLFlBQVksQ0FBSztJQUVqQixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO1FBQ04sSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxTQUFTLEVBQUU7WUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7WUFDbEQsSUFB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Q0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxnQkFBdUIsRUFBQyxhQUFpQjtRQUMxRCxNQUFNLFlBQVksR0FBRztZQUNuQixTQUFTLEVBQUUsZ0JBQWdCO1lBQzNCLGFBQWEsRUFBRSxJQUFJO1NBQ3BCLENBQUM7UUFDRixJQUFHLGFBQWEsRUFBQztZQUNmLFlBQVksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUNqRDtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCx1SEFBdUg7SUFDdkgsc0ZBQXNGO0lBQ3RGLGtCQUFrQixDQUFDLElBQVMsRUFBRSxXQUFtQjtRQUMvQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRW5ELElBQUksWUFBWSxHQUFHLENBQUMsRUFBRTtZQUNwQixPQUFPLFFBQVEsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDbkM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7d0dBOUdVLHNCQUFzQjs0RkFBdEIsc0JBQXNCLHFJQ1RuQywybk1Ba0dVOzs0RkR6Rkcsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG9CQUFvQjswRUFLckIsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFibGVXcmFwcGVyIH0gZnJvbSAnLi4vLi4vbW9kZWwvdGFibGVXcmFwcGVyJztcbmltcG9ydCB7IFF1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vd3JhcHBlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10YWJsZS1hcHBlbmRpeCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1hcHBlbmRpeC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWFwcGVuZGl4LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUFwcGVuZGl4Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcXVlc3Rpb246IFF1ZXN0aW9uXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICB0YWJsZUluZm86IFRhYmxlV3JhcHBlcjtcbiAgdGFibGVIZWFkZXI6IGFueTtcbiAgdGFibGVEYXRhOiBhbnk7XG4gIGFkZFJvd0NvbFNwYW46IG51bWJlcjtcbiAgdGFibGVBcHBlbmRpeDphbnk7XG4gIGRyb3BEb3duQXBpIDphbnk7XG4gIGRyb3BEb3duRGF0YTphbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZih0aGlzLnF1ZXN0aW9uLlN1Yl9UZXh0X19jICE9IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy50YWJsZUluZm8gPSBKU09OLnBhcnNlKHRoaXMucXVlc3Rpb24uU3ViX1RleHRfX2MpO1xuXG4gICAgICB0aGlzLnRhYmxlSGVhZGVyID0gdGhpcy50YWJsZUluZm8uaGVhZGVyO1xuICAgICAgdGhpcy50YWJsZURhdGEgPSB0aGlzLnRhYmxlSW5mby5kYXRhO1xuICAgICAgdGhpcy50YWJsZUFwcGVuZGl4ID0gdGhpcy50YWJsZUluZm8udGFibGVBcHBlbmRpeDtcbiAgICAgIHRoaXMuZHJvcERvd25BcGkgPSBKU09OLnN0cmluZ2lmeSh0aGlzLnRhYmxlSW5mb1snZHJvcGRvd25BcGknXSk7XG4gICAgICB0aGlzLmRyb3BEb3duRGF0YSA9IHRoaXMudGFibGVJbmZvWydkcm9wZG93bkRhdGEnXTtcbiAgICAgIGNvbnN0IGNvbWJpbmVkRGF0YSA9IHtcbiAgICAgICAgdGFibGVEYXRhOiB0aGlzLnRhYmxlRGF0YSxcbiAgICAgICAgdGFibGVBcHBlbmRpeDogbnVsbFxuICAgICAgfTtcbiAgICAgIGlmICh0aGlzLnRhYmxlQXBwZW5kaXgpIHtcbiAgICAgICAgY29tYmluZWREYXRhLnRhYmxlQXBwZW5kaXggPSB0aGlzLnRhYmxlQXBwZW5kaXg7XG4gICAgICB9XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoY29tYmluZWREYXRhKTtcblxuICAgICAgaWYodGhpcy50YWJsZURhdGE/LmFkZFJvdykge1xuICAgICAgICB0aGlzLmFkZFJvd0NvbFNwYW4gPSB0aGlzLnRhYmxlSGVhZGVyLmxlbmd0aCAtIDI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWRkUm93KCk6IHZvaWQge1xuICAgIGxldCBuZXdJdGVtID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnRhYmxlSW5mby5uZXdSb3dEZWZhdWx0KSk7XG4gICAgY29uc3QgdXBkYXRlZFRhYmxlRGF0YSA9IFsuLi50aGlzLnRhYmxlRGF0YSwgbmV3SXRlbV07XG4gICAgdGhpcy50YWJsZURhdGEgPSB1cGRhdGVkVGFibGVEYXRhO1xuICAgIHRoaXMuZW1pdFRhYmxlRGF0YVZhbHVlKHVwZGF0ZWRUYWJsZURhdGEsdGhpcy50YWJsZUFwcGVuZGl4KTtcbiAgfVxuXG4gIHVwZGF0ZUxhYmVsKHJvd0luZGV4OiBudW1iZXIsIGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRhYmxlRGF0YVtyb3dJbmRleF1bbGFiZWxdID0gdmFsdWU7XG4gICAgdGhpcy50YWJsZURhdGFbcm93SW5kZXhdLm5hbWUgPSB2YWx1ZS5yZXBsYWNlKC9cXHMrL2csICcnKS50b0xvd2VyQ2FzZSgpO1xuICAgIHRoaXMuZW1pdFRhYmxlRGF0YVZhbHVlKHRoaXMudGFibGVEYXRhLHRoaXMudGFibGVBcHBlbmRpeCk7XG4gIH1cbiAgXG4gIHVwZGF0ZU51bWJlcihpdGVtOiBhbnksIGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpe1xuICAgIGl0ZW0udmFsdWVbbGFiZWxdID0gdmFsdWU7XG4gICAgdGhpcy5lbWl0VGFibGVEYXRhVmFsdWUodGhpcy50YWJsZURhdGEsdGhpcy50YWJsZUFwcGVuZGl4KTtcbiAgfVxuXG4gIHVwZGF0ZVRvZ2dsZShpdGVtOiBhbnksIGhlYWRlcjogc3RyaW5nLCB2YWx1ZTogYW55KXtcbiAgICBsZXQgbGFiZWwgPSBoZWFkZXJbJ2ZpZWxkTmFtZSddO1xuICAgIGxldCB0b2dnbGVWYWx1ZSA9IGhlYWRlclsndG9nZ2xlVmFsdWUnXTtcbiAgICBpZihsYWJlbCA9PSAndGVzdDEnKXtcbiAgICAgIGl0ZW0udmFsdWVbbGFiZWxdWzFdID0gdmFsdWUgPyB0b2dnbGVWYWx1ZVswXSA6IHRvZ2dsZVZhbHVlWzFdO1xuICAgIH1lbHNle1xuICAgICAgaXRlbS52YWx1ZVtsYWJlbF0gPSB2YWx1ZSA/IHRvZ2dsZVZhbHVlWzBdIDogdG9nZ2xlVmFsdWVbMV07XG4gICAgfVxuICAgIHRoaXMuZW1pdFRhYmxlRGF0YVZhbHVlKHRoaXMudGFibGVEYXRhLHRoaXMudGFibGVBcHBlbmRpeCk7XG4gIH1cbiAgdXBkYXRlRHJvcERvd24oaXRlbTogYW55LCBsYWJlbDogc3RyaW5nLCB2YWx1ZTogYW55KXtcbiAgICBpdGVtLnZhbHVlW2xhYmVsXSA9IHZhbHVlLnZhbHVlT2JqWydWYWx1ZV9fYyddO1xuICAgIHRoaXMuZW1pdFRhYmxlRGF0YVZhbHVlKHRoaXMudGFibGVEYXRhLHRoaXMudGFibGVBcHBlbmRpeCk7XG4gIH1cblxuICB1cGRhdGVDaGVja1RleHQoaXRlbTogYW55LCBsYWJlbDogc3RyaW5nLCB2YWx1ZTogYW55KXtcbiAgICBpdGVtLnZhbHVlW2xhYmVsXVswXSA9IHZhbHVlO1xuICAgIHRoaXMuZW1pdFRhYmxlRGF0YVZhbHVlKHRoaXMudGFibGVEYXRhLHRoaXMudGFibGVBcHBlbmRpeCk7XG4gIH1cblxuICB1cGRhdGVUYWJsZUFwcGVuZGl4KGl0ZW06IGFueSwgbGFiZWw6IHN0cmluZywgdmFsdWU6IGFueSl7XG4gICAgbGV0IHRvZ2dsZVZhbHVlID0gaXRlbS52YWx1ZVswXS50b2dnbGVWYWx1ZTtcbiAgICBpZihpdGVtLmtleSA9PSAnZHJvcERvd25EYXRhJyl7XG4gICAgICBpdGVtLnZhbHVlWzBdLnZhbHVlW2xhYmVsXSA9IHZhbHVlLnZhbHVlT2JqWydlbXBJZE5hbWUnXTtcbiAgICB9ZWxzZSBpZihpdGVtLmtleSA9PSAndG9nZ2xlRGF0YScpe1xuICAgICAgaXRlbS52YWx1ZVswXS52YWx1ZVtsYWJlbF0gPSB2YWx1ZSA/IHRvZ2dsZVZhbHVlWzBdIDogdG9nZ2xlVmFsdWVbMV07XG4gICAgfWVsc2V7XG4gICAgICBpdGVtLnZhbHVlWzBdLnZhbHVlW2xhYmVsXSA9IHZhbHVlO1xuICAgIH1cbiAgICB0aGlzLmVtaXRUYWJsZURhdGFWYWx1ZSh0aGlzLnRhYmxlRGF0YSx0aGlzLnRhYmxlQXBwZW5kaXgpO1xuICB9XG5cbiAgZW1pdFRhYmxlRGF0YVZhbHVlKHVwZGF0ZWRUYWJsZURhdGE6IGFueVtdLHRhYmxlQXBwZW5kaXg6YW55KTogdm9pZCB7XG4gICAgY29uc3QgY29tYmluZWREYXRhID0ge1xuICAgICAgdGFibGVEYXRhOiB1cGRhdGVkVGFibGVEYXRhLFxuICAgICAgdGFibGVBcHBlbmRpeDogbnVsbFxuICAgIH07XG4gICAgaWYodGFibGVBcHBlbmRpeCl7XG4gICAgICBjb21iaW5lZERhdGEudGFibGVBcHBlbmRpeCA9IHRoaXMudGFibGVBcHBlbmRpeDtcbiAgICB9XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGNvbWJpbmVkRGF0YSk7XG4gIH1cblxuICAvL1RoaXMgZnVuY3Rpb24gZmluZHMgdGhlIGluZGV4IG9mIHRoZSBjdXJyZW50IHRlc3QgaW4gdGhlIGxpc3Qgb2YgdGVzdCBrZXlzIGFuZCByZXR1cm5zIHRoZSBrZXkgb2YgdGhlIHByZXZpb3VzIHRlc3QuIFxuICAvLyBJZiB0aGUgY3VycmVudCB0ZXN0IGlzIHRoZSBmaXJzdCBvbmUsIGl0IHJldHVybnMgbnVsbCwgYXMgdGhlcmUgaXMgbm8gcHJldmlvdXMgdGVzdFxuICBnZXRQcmV2aW91c1Rlc3RLZXkoaXRlbTogYW55LCBjdXJyZW50VGVzdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0ZXN0S2V5cyA9IE9iamVjdC5rZXlzKGl0ZW0udmFsdWUpO1xuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRlc3RLZXlzLmluZGV4T2YoY3VycmVudFRlc3QpO1xuICBcbiAgICBpZiAoY3VycmVudEluZGV4ID4gMCkge1xuICAgICAgcmV0dXJuIHRlc3RLZXlzW2N1cnJlbnRJbmRleCAtIDFdO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbn1cbiIsIjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtYm9yZGVyZWRcIj5cbiAgICA8dGhlYWQgY2xhc3M9XCJub25lLWJvcmRlclwiICpuZ0lmPVwidGFibGVJbmZvLnRhYmxlVHlwZSA9PT0gJ2xvY2tvdXQnICYmIHRhYmxlSW5mby50YWJsZUhlYWRlclwiPlxuICAgICAgPHRoPjwvdGg+XG4gICAgICA8dGg+e3sgdGFibGVJbmZvLnRhYmxlSGVhZGVyIH19PC90aD5cbiAgICAgIDx0aD48L3RoPlxuICAgIDwvdGhlYWQ+XG4gICAgPHRoZWFkPlxuICAgICAgPHRoICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgdGFibGVIZWFkZXI7IGxldCBoaSA9IGluZGV4XCIgW2NsYXNzXT1cIidjb2wtbWQtJyArIGhlYWRlci5zaXplXCI+XG4gICAgICAgIHt7IGhlYWRlci5sYWJlbCB9fVxuICAgICAgPC90aD5cbiAgICA8L3RoZWFkPlxuICAgIDx0Ym9keSBpZD1cInNhZmV0eU1lYXN1cmVzVGFibGVCb2R5XCI+XG4gICAgICA8dHIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdGFibGVEYXRhOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIHRhYmxlSGVhZGVyOyBsZXQgaiA9IGluZGV4XCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlci50eXBlID09PSAndGV4dCdcIj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwiaXRlbVtoZWFkZXIuZmllbGROYW1lXVwiIFtwbGFjZWhvbGRlcl09XCJoZWFkZXIucGxhY2Vob2xkZXJcIiAobmdNb2RlbENoYW5nZSk9XCJ0YWJsZUluZm8udGFibGVUeXBlICE9ICdsb2Nrb3V0JyA/IHVwZGF0ZUxhYmVsKGksIGhlYWRlci5maWVsZE5hbWUsIGl0ZW1baGVhZGVyLmZpZWxkTmFtZV0pIDogdXBkYXRlTnVtYmVyKGl0ZW0sIGhlYWRlci5maWVsZE5hbWUsIGl0ZW1baGVhZGVyLmZpZWxkTmFtZV0pXCIgY2xhc3M9XCJzaGUtbGluZS1pbnB1dCB0YWJsZS1pbnB1dFwiPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXIudHlwZS5pbmNsdWRlcygnbnVtYmVyJylcIj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgWyhuZ01vZGVsKV09XCJpdGVtLnZhbHVlW2hlYWRlci5maWVsZE5hbWVdXCIgW2Rpc2FibGVkXT1cIml0ZW0udmFsdWVbZ2V0UHJldmlvdXNUZXN0S2V5KGl0ZW0sIGhlYWRlci5maWVsZE5hbWUpXSA9PT0gbnVsbCAmJiB0YWJsZUluZm8udGFibGVUeXBlICE9ICdsb2Nrb3V0J1wiIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZU51bWJlcihpdGVtLCBoZWFkZXIuZmllbGROYW1lLCBpdGVtLnZhbHVlW2hlYWRlci5maWVsZE5hbWVdKVwiIHBsYWNlaG9sZGVyPVwiRW50ZXIgVmFsdWVcIiBjbGFzcz1cInNoZS1saW5lLWlucHV0IHRhYmxlLWlucHV0XCI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlci50eXBlID09PSAnZHJvcGRvd24nXCI+XG4gICAgICAgICAgICA8YXBwLWN1c3RvbS1kcm9wZG93biBbZnJvbVNoZW5nZWxdPVwidHJ1ZVwiIFtvcHRpb25zXT1cImRyb3BEb3duRGF0YVwiIFxuICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwiaXRlbS52YWx1ZVtoZWFkZXIuZmllbGROYW1lXVwiIFtwbGFjZWhvbGRlcl09XCJoZWFkZXIucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInVwZGF0ZURyb3BEb3duKGl0ZW0saGVhZGVyLmZpZWxkTmFtZSwkZXZlbnQpXCI+XG4gICAgICAgICAgICA8L2FwcC1jdXN0b20tZHJvcGRvd24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlci50eXBlID09PSAndGV4dGNoZWNrYm94J1wiPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyO2FsaWduLWl0ZW1zOiBjZW50ZXI7XCI+XG4gICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwiaXRlbS52YWx1ZVtoZWFkZXIuZmllbGROYW1lXVswXVwiIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUNoZWNrVGV4dChpdGVtLCBoZWFkZXIuZmllbGROYW1lLCBpdGVtLnZhbHVlW2hlYWRlci5maWVsZE5hbWVdWzBdKVwiICBzdHlsZT1cIndpZHRoOiA4NXB4OyBoZWlnaHQ6IDI3cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogNXB4OyBib3JkZXItYm90dG9tOiBub25lOyBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtvdXRsaW5lOiBub25lO1wiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJzd2l0Y2gyXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0ICBjbGFzcz1cInN3aXRjaC1pbnB1dDJcIiAoY2hhbmdlKT1cInVwZGF0ZVRvZ2dsZShpdGVtLGhlYWRlciwkZXZlbnQudGFyZ2V0LmNoZWNrZWQpXCIgXG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpdGVtLnZhbHVlW2hlYWRlci5maWVsZE5hbWVdWzFdID09IGhlYWRlci50b2dnbGVWYWx1ZVswXVwiLz5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN3aXRjaC1sYWJlbDJcIiBkYXRhLW9uPVwiUHNpXCIgZGF0YS1vZmY9XCJCYXJcIj48L3NwYW4+IFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3dpdGNoLWhhbmRsZTJcIj48L3NwYW4+IFxuICAgICAgICAgICAgICA8L2xhYmVsPiBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXIudHlwZSA9PT0gJ2xhYmVsY2hlY2tib3gnXCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7YWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJ0ZXh0LWFsaWduOmxlZnQ7XCI+Q2FsaWJyYXRlZDwvc3Bhbj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwic3dpdGNoMlwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCAgY2xhc3M9XCJzd2l0Y2gtaW5wdXQyXCIgKGNoYW5nZSk9XCJ1cGRhdGVUb2dnbGUoaXRlbSxoZWFkZXIsJGV2ZW50LnRhcmdldC5jaGVja2VkKVwiIFxuICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXRlbS52YWx1ZVtoZWFkZXIuZmllbGROYW1lXSA9PSBoZWFkZXIudG9nZ2xlVmFsdWVbMF1cIi8+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzd2l0Y2gtbGFiZWwzXCIgZGF0YS1vbj1cIlllc1wiIGRhdGEtb2ZmPVwiTm9cIj48L3NwYW4+IFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3dpdGNoLWhhbmRsZTJcIj48L3NwYW4+IFxuICAgICAgICAgICAgICA8L2xhYmVsPiBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciAqbmdJZj1cInRhYmxlSW5mby5hZGRSb3cgJiYgdGFibGVJbmZvLnRhYmxlVHlwZSA9PT0gJ2xvY2tvdXQnXCI+XG4gICAgICAgIDx0ZCBjb2xzcGFuPVwiMVwiPlxuICAgICAgICAgIDxiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBjdXJzb3I6IHBvaW50ZXI7XCIgaWQ9XCJhZGRTYWZldHlcIiAgKGNsaWNrKT1cImFkZFJvdygpXCI+QWRkIE1vcmUgKzwvYj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgKm5nSWY9XCJ0YWJsZUluZm8uYWRkUm93ICYmIHRhYmxlSW5mby50YWJsZVR5cGUgIT0gJ2xvY2tvdXQnXCI+XG4gICAgICAgIDx0ZCBjb2xzcGFuPVwiM1wiPlxuICAgICAgICAgIDxiPkFkZCBNb3JlPC9iPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY29sc3Bhbj1cIjJcIiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgY3Vyc29yOiBwb2ludGVyO1wiIGlkPVwiYWRkU2FmZXR5XCIgIChjbGljayk9XCJhZGRSb3coKVwiPlxuICAgICAgICAgICtcbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHRhYmxlQXBwZW5kaXggfCBrZXl2YWx1ZTsgbGV0IGsgPSBpbmRleFwiPlxuICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGhlYWRlciBvZiB0YWJsZUhlYWRlcjsgbGV0IGwgPSBpbmRleFwiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXIudHlwZSA9PT0gJ3RleHQnXCIgPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJpdGVtLnZhbHVlWzBdW2hlYWRlci5maWVsZE5hbWVdXCIgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlTGFiZWwoaywgaGVhZGVyLmZpZWxkTmFtZSwgaXRlbVtoZWFkZXIuZmllbGROYW1lXSlcIiBjbGFzcz1cInNoZS1saW5lLWlucHV0IHRhYmxlLWlucHV0XCI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlci50eXBlLmluY2x1ZGVzKCdkcm9wZG93bicpICYmIGl0ZW0ua2V5ID09ICdkcm9wRG93bkRhdGEnXCIgPlxuICAgICAgICAgICAgPGFwcC1jdXN0b20tZHJvcGRvd24gW2Zyb21TaGVuZ2VsXT1cInRydWVcIiBbYXBpTWV0YV09XCJkcm9wRG93bkFwaVwiIFxuICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwiaXRlbS52YWx1ZVswXS52YWx1ZVtoZWFkZXIuZmllbGROYW1lXVwiIFtwbGFjZWhvbGRlcl09XCInLS0tU2VsZWN0LS0tJ1wiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwidXBkYXRlVGFibGVBcHBlbmRpeChpdGVtLGhlYWRlci5maWVsZE5hbWUsJGV2ZW50KVwiPlxuICAgICAgICAgICAgPC9hcHAtY3VzdG9tLWRyb3Bkb3duPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXIudHlwZS5pbmNsdWRlcygnZGF0ZXRpbWUnKSAmJiBpdGVtLmtleSA9PSAnZGF0ZURhdGEnXCI+XG4gICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJpdGVtLnZhbHVlWzBdLnZhbHVlW2hlYWRlci5maWVsZE5hbWVdXCIgdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVRhYmxlQXBwZW5kaXgoaXRlbSxoZWFkZXIuZmllbGROYW1lLCRldmVudClcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJERC9NTS9ZWVlZIEhIOk1NXCI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlci50eXBlLmluY2x1ZGVzKCdjaGVja2JveCcpICYmIGl0ZW0ua2V5ID09ICd0b2dnbGVEYXRhJ1wiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwic3dpdGNoMlwiPlxuICAgICAgICAgICAgICA8aW5wdXQgIGNsYXNzPVwic3dpdGNoLWlucHV0MlwiIChjaGFuZ2UpPVwidXBkYXRlVGFibGVBcHBlbmRpeChpdGVtLGhlYWRlci5maWVsZE5hbWUsJGV2ZW50LnRhcmdldC5jaGVja2VkKVwiIFxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpdGVtLnZhbHVlWzBdLnZhbHVlW2hlYWRlci5maWVsZE5hbWVdID09IGl0ZW0udmFsdWVbMF0udG9nZ2xlVmFsdWVbMF1cIi8+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3dpdGNoLWxhYmVsM1wiIGRhdGEtb249XCJTYWZlXCIgZGF0YS1vZmY9XCJVbnNhZmVcIj48L3NwYW4+IFxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN3aXRjaC1oYW5kbGUyXCI+PC9zcGFuPiBcbiAgICAgICAgICAgIDwvbGFiZWw+IFxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXIudHlwZS5pbmNsdWRlcygnZmlsZScpICYmIGl0ZW0ua2V5ID09ICdmaWxlRGF0YSdcIj5cbiAgICAgICAgICAgIDxhcHAtZmlsZS11cGxvYWQgW2xpbWl0RmlsZVVwbG9hZGluZ109XCIyXCIgW2FsbEZpbGVzXT1cIml0ZW0udmFsdWVbMF0udmFsdWVbaGVhZGVyLmZpZWxkTmFtZV1cIiBbdGFibGVGaWxlXT1cInRydWVcIlxuICAgICAgICAgICAgKHNlbGVjdGVkRmlsZURhdGEpPVwidXBkYXRlVGFibGVBcHBlbmRpeChpdGVtICxoZWFkZXIuZmllbGROYW1lLCAkZXZlbnQpXCJcbiAgICAgICAgICAgIFtpc0RlbGV0ZUZpbGVCdXR0b25WaXNpYmxlXT1cInRydWVcIj48L2FwcC1maWxlLXVwbG9hZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT4iXX0=
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYXBwZW5kaXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtYXBwZW5kaXgvdGFibGUtYXBwZW5kaXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtYXBwZW5kaXgvdGFibGUtYXBwZW5kaXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFXL0UsTUFBTSxPQUFPLHNCQUFzQjtJQVlkO0lBWFYsUUFBUSxDQUFVO0lBQ2pCLFdBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUVuRSxTQUFTLENBQWU7SUFDeEIsV0FBVyxDQUFNO0lBQ2pCLFNBQVMsQ0FBTTtJQUNmLGFBQWEsQ0FBUztJQUN0QixhQUFhLENBQUs7SUFDbEIsV0FBVyxDQUFNO0lBQ2pCLFlBQVksQ0FBSztJQUVqQixZQUFtQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFJLENBQUM7SUFFaEQsUUFBUTtRQUNOLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksU0FBUyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRXZELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNyQyxJQUFJLENBQUMsYUFBYSxH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S0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUNwQztRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsZ0JBQXVCLEVBQUMsYUFBaUI7UUFDMUQsTUFBTSxZQUFZLEdBQUc7WUFDbkIsU0FBUyxFQUFFLGdCQUFnQjtZQUMzQixhQUFhLEVBQUUsSUFBSTtTQUNwQixDQUFDO1FBQ0YsSUFBRyxhQUFhLEVBQUM7WUFDZixZQUFZLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDakQ7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsdUhBQXVIO0lBQ3ZILHNGQUFzRjtJQUN0RixrQkFBa0IsQ0FBQyxJQUFTLEVBQUUsV0FBbUI7UUFDL0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVuRCxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxRQUFRLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ25DO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO3dHQTlHVSxzQkFBc0I7NEZBQXRCLHNCQUFzQixxSUNYbkMsNGpOQXVHVTs7NEZENUZHLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7a0dBS3JCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8vIEhBIDE5REVDMjMgaW1wb3J0ZWQgdHJhbnNsYXRpb24gc2VydmljZVxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFibGVXcmFwcGVyIH0gZnJvbSAnLi4vLi4vbW9kZWwvdGFibGVXcmFwcGVyJztcbmltcG9ydCB7IFF1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vd3JhcHBlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10YWJsZS1hcHBlbmRpeCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1hcHBlbmRpeC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWFwcGVuZGl4LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUFwcGVuZGl4Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcXVlc3Rpb246IFF1ZXN0aW9uXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICB0YWJsZUluZm86IFRhYmxlV3JhcHBlcjtcbiAgdGFibGVIZWFkZXI6IGFueTtcbiAgdGFibGVEYXRhOiBhbnk7XG4gIGFkZFJvd0NvbFNwYW46IG51bWJlcjtcbiAgdGFibGVBcHBlbmRpeDphbnk7XG4gIGRyb3BEb3duQXBpIDphbnk7XG4gIGRyb3BEb3duRGF0YTphbnk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYodGhpcy5xdWVzdGlvbi5TdWJfVGV4dF9fYyAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudGFibGVJbmZvID0gSlNPTi5wYXJzZSh0aGlzLnF1ZXN0aW9uLlN1Yl9UZXh0X19jKTtcblxuICAgICAgdGhpcy50YWJsZUhlYWRlciA9IHRoaXMudGFibGVJbmZvLmhlYWRlcjtcbiAgICAgIHRoaXMudGFibGVEYXRhID0gdGhpcy50YWJsZUluZm8uZGF0YTtcbiAgICAgIHRoaXMudGFibGVBcHBlbmRpeCA9IHRoaXMudGFibGVJbmZvLnRhYmxlQXBwZW5kaXg7XG4gICAgICB0aGlzLmRyb3BEb3duQXBpID0gSlNPTi5zdHJpbmdpZnkodGhpcy50YWJsZUluZm9bJ2Ryb3Bkb3duQXBpJ10pO1xuICAgICAgdGhpcy5kcm9wRG93bkRhdGEgPSB0aGlzLnRhYmxlSW5mb1snZHJvcGRvd25EYXRhJ107XG4gICAgICBjb25zdCBjb21iaW5lZERhdGEgPSB7XG4gICAgICAgIHRhYmxlRGF0YTogdGhpcy50YWJsZURhdGEsXG4gICAgICAgIHRhYmxlQXBwZW5kaXg6IG51bGxcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy50YWJsZUFwcGVuZGl4KSB7XG4gICAgICAgIGNvbWJpbmVkRGF0YS50YWJsZUFwcGVuZGl4ID0gdGhpcy50YWJsZUFwcGVuZGl4O1xuICAgICAgfVxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGNvbWJpbmVkRGF0YSk7XG5cbiAgICAgIGlmKHRoaXMudGFibGVEYXRhPy5hZGRSb3cpIHtcbiAgICAgICAgdGhpcy5hZGRSb3dDb2xTcGFuID0gdGhpcy50YWJsZUhlYWRlci5sZW5ndGggLSAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFkZFJvdygpOiB2b2lkIHtcbiAgICBsZXQgbmV3SXRlbSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy50YWJsZUluZm8ubmV3Um93RGVmYXVsdCkpO1xuICAgIGNvbnN0IHVwZGF0ZWRUYWJsZURhdGEgPSBbLi4udGhpcy50YWJsZURhdGEsIG5ld0l0ZW1dO1xuICAgIHRoaXMudGFibGVEYXRhID0gdXBkYXRlZFRhYmxlRGF0YTtcbiAgICB0aGlzLmVtaXRUYWJsZURhdGFWYWx1ZSh1cGRhdGVkVGFibGVEYXRhLHRoaXMudGFibGVBcHBlbmRpeCk7XG4gIH1cblxuICB1cGRhdGVMYWJlbChyb3dJbmRleDogbnVtYmVyLCBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZURhdGFbcm93SW5kZXhdW2xhYmVsXSA9IHZhbHVlO1xuICAgIHRoaXMudGFibGVEYXRhW3Jvd0luZGV4XS5uYW1lID0gdmFsdWUucmVwbGFjZSgvXFxzKy9nLCAnJykudG9Mb3dlckNhc2UoKTtcbiAgICB0aGlzLmVtaXRUYWJsZURhdGFWYWx1ZSh0aGlzLnRhYmxlRGF0YSx0aGlzLnRhYmxlQXBwZW5kaXgpO1xuICB9XG4gIFxuICB1cGRhdGVOdW1iZXIoaXRlbTogYW55LCBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKXtcbiAgICBpdGVtLnZhbHVlW2xhYmVsXSA9IHZhbHVlO1xuICAgIHRoaXMuZW1pdFRhYmxlRGF0YVZhbHVlKHRoaXMudGFibGVEYXRhLHRoaXMudGFibGVBcHBlbmRpeCk7XG4gIH1cblxuICB1cGRhdGVUb2dnbGUoaXRlbTogYW55LCBoZWFkZXI6IHN0cmluZywgdmFsdWU6IGFueSl7XG4gICAgbGV0IGxhYmVsID0gaGVhZGVyWydmaWVsZE5hbWUnXTtcbiAgICBsZXQgdG9nZ2xlVmFsdWUgPSBoZWFkZXJbJ3RvZ2dsZVZhbHVlJ107XG4gICAgaWYobGFiZWwgPT0gJ3Rlc3QxJyl7XG4gICAgICBpdGVtLnZhbHVlW2xhYmVsXVsxXSA9IHZhbHVlID8gdG9nZ2xlVmFsdWVbMF0gOiB0b2dnbGVWYWx1ZVsxXTtcbiAgICB9ZWxzZXtcbiAgICAgIGl0ZW0udmFsdWVbbGFiZWxdID0gdmFsdWUgPyB0b2dnbGVWYWx1ZVswXSA6IHRvZ2dsZVZhbHVlWzFdO1xuICAgIH1cbiAgICB0aGlzLmVtaXRUYWJsZURhdGFWYWx1ZSh0aGlzLnRhYmxlRGF0YSx0aGlzLnRhYmxlQXBwZW5kaXgpO1xuICB9XG4gIHVwZGF0ZURyb3BEb3duKGl0ZW06IGFueSwgbGFiZWw6IHN0cmluZywgdmFsdWU6IGFueSl7XG4gICAgaXRlbS52YWx1ZVtsYWJlbF0gPSB2YWx1ZS52YWx1ZU9ialsnVmFsdWVfX2MnXTtcbiAgICB0aGlzLmVtaXRUYWJsZURhdGFWYWx1ZSh0aGlzLnRhYmxlRGF0YSx0aGlzLnRhYmxlQXBwZW5kaXgpO1xuICB9XG5cbiAgdXBkYXRlQ2hlY2tUZXh0KGl0ZW06IGFueSwgbGFiZWw6IHN0cmluZywgdmFsdWU6IGFueSl7XG4gICAgaXRlbS52YWx1ZVtsYWJlbF1bMF0gPSB2YWx1ZTtcbiAgICB0aGlzLmVtaXRUYWJsZURhdGFWYWx1ZSh0aGlzLnRhYmxlRGF0YSx0aGlzLnRhYmxlQXBwZW5kaXgpO1xuICB9XG5cbiAgdXBkYXRlVGFibGVBcHBlbmRpeChpdGVtOiBhbnksIGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBhbnkpe1xuICAgIGxldCB0b2dnbGVWYWx1ZSA9IGl0ZW0udmFsdWVbMF0udG9nZ2xlVmFsdWU7XG4gICAgaWYoaXRlbS5rZXkgPT0gJ2Ryb3BEb3duRGF0YScpe1xuICAgICAgaXRlbS52YWx1ZVswXS52YWx1ZVtsYWJlbF0gPSB2YWx1ZS52YWx1ZU9ialsnZW1wSWROYW1lJ107XG4gICAgfWVsc2UgaWYoaXRlbS5rZXkgPT0gJ3RvZ2dsZURhdGEnKXtcbiAgICAgIGl0ZW0udmFsdWVbMF0udmFsdWVbbGFiZWxdID0gdmFsdWUgPyB0b2dnbGVWYWx1ZVswXSA6IHRvZ2dsZVZhbHVlWzFdO1xuICAgIH1lbHNle1xuICAgICAgaXRlbS52YWx1ZVswXS52YWx1ZVtsYWJlbF0gPSB2YWx1ZTtcbiAgICB9XG4gICAgdGhpcy5lbWl0VGFibGVEYXRhVmFsdWUodGhpcy50YWJsZURhdGEsdGhpcy50YWJsZUFwcGVuZGl4KTtcbiAgfVxuXG4gIGVtaXRUYWJsZURhdGFWYWx1ZSh1cGRhdGVkVGFibGVEYXRhOiBhbnlbXSx0YWJsZUFwcGVuZGl4OmFueSk6IHZvaWQge1xuICAgIGNvbnN0IGNvbWJpbmVkRGF0YSA9IHtcbiAgICAgIHRhYmxlRGF0YTogdXBkYXRlZFRhYmxlRGF0YSxcbiAgICAgIHRhYmxlQXBwZW5kaXg6IG51bGxcbiAgICB9O1xuICAgIGlmKHRhYmxlQXBwZW5kaXgpe1xuICAgICAgY29tYmluZWREYXRhLnRhYmxlQXBwZW5kaXggPSB0aGlzLnRhYmxlQXBwZW5kaXg7XG4gICAgfVxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChjb21iaW5lZERhdGEpO1xuICB9XG5cbiAgLy9UaGlzIGZ1bmN0aW9uIGZpbmRzIHRoZSBpbmRleCBvZiB0aGUgY3VycmVudCB0ZXN0IGluIHRoZSBsaXN0IG9mIHRlc3Qga2V5cyBhbmQgcmV0dXJucyB0aGUga2V5IG9mIHRoZSBwcmV2aW91cyB0ZXN0LiBcbiAgLy8gSWYgdGhlIGN1cnJlbnQgdGVzdCBpcyB0aGUgZmlyc3Qgb25lLCBpdCByZXR1cm5zIG51bGwsIGFzIHRoZXJlIGlzIG5vIHByZXZpb3VzIHRlc3RcbiAgZ2V0UHJldmlvdXNUZXN0S2V5KGl0ZW06IGFueSwgY3VycmVudFRlc3Q6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdGVzdEtleXMgPSBPYmplY3Qua2V5cyhpdGVtLnZhbHVlKTtcbiAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0ZXN0S2V5cy5pbmRleE9mKGN1cnJlbnRUZXN0KTtcbiAgXG4gICAgaWYgKGN1cnJlbnRJbmRleCA+IDApIHtcbiAgICAgIHJldHVybiB0ZXN0S2V5c1tjdXJyZW50SW5kZXggLSAxXTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG59XG4iLCI8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zdHJpcGVkIHRhYmxlLWJvcmRlcmVkXCI+XG4gICAgPHRoZWFkIGNsYXNzPVwibm9uZS1ib3JkZXJcIiAqbmdJZj1cInRhYmxlSW5mby50YWJsZVR5cGUgPT09ICdsb2Nrb3V0JyAmJiB0YWJsZUluZm8udGFibGVIZWFkZXJcIj5cbiAgICAgIDx0aD48L3RoPlxuICAgICAgPHRoPnt7IHRhYmxlSW5mby50YWJsZUhlYWRlciB9fTwvdGg+XG4gICAgICA8dGg+PC90aD5cbiAgICA8L3RoZWFkPlxuICAgIDx0aGVhZD5cbiAgICAgIDx0aCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIHRhYmxlSGVhZGVyOyBsZXQgaGkgPSBpbmRleFwiIFtjbGFzc109XCInY29sLW1kLScgKyBoZWFkZXIuc2l6ZVwiPlxuICAgICAgICB7eyBoZWFkZXIubGFiZWwgfX1cbiAgICAgIDwvdGg+XG4gICAgPC90aGVhZD5cbiAgICA8dGJvZHkgaWQ9XCJzYWZldHlNZWFzdXJlc1RhYmxlQm9keVwiPlxuICAgICAgPHRyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHRhYmxlRGF0YTsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGhlYWRlciBvZiB0YWJsZUhlYWRlcjsgbGV0IGogPSBpbmRleFwiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXIudHlwZSA9PT0gJ3RleHQnXCI+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cIml0ZW1baGVhZGVyLmZpZWxkTmFtZV1cIiBbcGxhY2Vob2xkZXJdPVwiaGVhZGVyLnBsYWNlaG9sZGVyXCIgKG5nTW9kZWxDaGFuZ2UpPVwidGFibGVJbmZvLnRhYmxlVHlwZSAhPSAnbG9ja291dCcgPyB1cGRhdGVMYWJlbChpLCBoZWFkZXIuZmllbGROYW1lLCBpdGVtW2hlYWRlci5maWVsZE5hbWVdKSA6IHVwZGF0ZU51bWJlcihpdGVtLCBoZWFkZXIuZmllbGROYW1lLCBpdGVtW2hlYWRlci5maWVsZE5hbWVdKVwiIGNsYXNzPVwic2hlLWxpbmUtaW5wdXQgdGFibGUtaW5wdXRcIj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyLnR5cGUuaW5jbHVkZXMoJ251bWJlcicpXCI+XG4gICAgICAgICAgICA8IS0tIEhBIDE5REVDMjMgRm9yIHRyYW5zbGF0aW9uIC0tPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBbKG5nTW9kZWwpXT1cIml0ZW0udmFsdWVbaGVhZGVyLmZpZWxkTmFtZV1cIiBbZGlzYWJsZWRdPVwiaXRlbS52YWx1ZVtnZXRQcmV2aW91c1Rlc3RLZXkoaXRlbSwgaGVhZGVyLmZpZWxkTmFtZSldID09PSBudWxsICYmIHRhYmxlSW5mby50YWJsZVR5cGUgIT0gJ2xvY2tvdXQnXCIgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlTnVtYmVyKGl0ZW0sIGhlYWRlci5maWVsZE5hbWUsIGl0ZW0udmFsdWVbaGVhZGVyLmZpZWxkTmFtZV0pXCIgcGxhY2Vob2xkZXI9XCJ7eyAnZW50ZXJWYWx1ZScgfCBpMThuOmkxOG5TZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSB9fVwiIGNsYXNzPVwic2hlLWxpbmUtaW5wdXQgdGFibGUtaW5wdXRcIj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyLnR5cGUgPT09ICdkcm9wZG93bidcIj5cbiAgICAgICAgICAgIDxhcHAtY3VzdG9tLWRyb3Bkb3duIFtmcm9tU2hlbmdlbF09XCJ0cnVlXCIgW29wdGlvbnNdPVwiZHJvcERvd25EYXRhXCIgXG4gICAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZV09XCJpdGVtLnZhbHVlW2hlYWRlci5maWVsZE5hbWVdXCIgW3BsYWNlaG9sZGVyXT1cImhlYWRlci5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwidXBkYXRlRHJvcERvd24oaXRlbSxoZWFkZXIuZmllbGROYW1lLCRldmVudClcIj5cbiAgICAgICAgICAgIDwvYXBwLWN1c3RvbS1kcm9wZG93bj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyLnR5cGUgPT09ICd0ZXh0Y2hlY2tib3gnXCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7YWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJpdGVtLnZhbHVlW2hlYWRlci5maWVsZE5hbWVdWzBdXCIgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlQ2hlY2tUZXh0KGl0ZW0sIGhlYWRlci5maWVsZE5hbWUsIGl0ZW0udmFsdWVbaGVhZGVyLmZpZWxkTmFtZV1bMF0pXCIgIHN0eWxlPVwid2lkdGg6IDg1cHg7IGhlaWdodDogMjdweDsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiA1cHg7IGJvcmRlci1ib3R0b206IG5vbmU7IGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O291dGxpbmU6IG5vbmU7XCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInN3aXRjaDJcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgIGNsYXNzPVwic3dpdGNoLWlucHV0MlwiIChjaGFuZ2UpPVwidXBkYXRlVG9nZ2xlKGl0ZW0saGVhZGVyLCRldmVudC50YXJnZXQuY2hlY2tlZClcIiBcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cIml0ZW0udmFsdWVbaGVhZGVyLmZpZWxkTmFtZV1bMV0gPT0gaGVhZGVyLnRvZ2dsZVZhbHVlWzBdXCIvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3dpdGNoLWxhYmVsMlwiIGRhdGEtb249XCJQc2lcIiBkYXRhLW9mZj1cIkJhclwiPjwvc3Bhbj4gXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzd2l0Y2gtaGFuZGxlMlwiPjwvc3Bhbj4gXG4gICAgICAgICAgICAgIDwvbGFiZWw+IFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlci50eXBlID09PSAnbGFiZWxjaGVja2JveCdcIj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjthbGlnbi1pdGVtczogY2VudGVyO1wiPlxuICAgICAgICAgICAgICA8IS0tIEhBIDE5REVDMjMgRm9yIHRyYW5zbGF0aW9uIC0tPlxuICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cInRleHQtYWxpZ246bGVmdDtcIj57eyAnY2FsaWJyYXRlZCcgfCBpMThuOmkxOG5TZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwic3dpdGNoMlwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCAgY2xhc3M9XCJzd2l0Y2gtaW5wdXQyXCIgKGNoYW5nZSk9XCJ1cGRhdGVUb2dnbGUoaXRlbSxoZWFkZXIsJGV2ZW50LnRhcmdldC5jaGVja2VkKVwiIFxuICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXRlbS52YWx1ZVtoZWFkZXIuZmllbGROYW1lXSA9PSBoZWFkZXIudG9nZ2xlVmFsdWVbMF1cIi8+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzd2l0Y2gtbGFiZWwzXCIgZGF0YS1vbj1cIlllc1wiIGRhdGEtb2ZmPVwiTm9cIj48L3NwYW4+IFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3dpdGNoLWhhbmRsZTJcIj48L3NwYW4+IFxuICAgICAgICAgICAgICA8L2xhYmVsPiBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciAqbmdJZj1cInRhYmxlSW5mby5hZGRSb3cgJiYgdGFibGVJbmZvLnRhYmxlVHlwZSA9PT0gJ2xvY2tvdXQnXCI+XG4gICAgICAgIDx0ZCBjb2xzcGFuPVwiMVwiPlxuICAgICAgICAgIDwhLS0gSEEgMTlERUMyMyBGb3IgdHJhbnNsYXRpb24gLS0+XG4gICAgICAgICAgPGIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IGN1cnNvcjogcG9pbnRlcjtcIiBpZD1cImFkZFNhZmV0eVwiICAoY2xpY2spPVwiYWRkUm93KClcIj57eyAnYWRkTW9yZScgfCBpMThuOmkxOG5TZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSB9fSArPC9iPlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciAqbmdJZj1cInRhYmxlSW5mby5hZGRSb3cgJiYgdGFibGVJbmZvLnRhYmxlVHlwZSAhPSAnbG9ja291dCdcIj5cbiAgICAgICAgPHRkIGNvbHNwYW49XCIzXCI+XG4gICAgICAgICAgPCEtLSBIQSAxOURFQzIzIEZvciB0cmFuc2xhdGlvbiAtLT5cbiAgICAgICAgICA8Yj57eyAnYWRkTW9yZScgfCBpMThuOmkxOG5TZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSB9fTwvYj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNvbHNwYW49XCIyXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IGN1cnNvcjogcG9pbnRlcjtcIiBpZD1cImFkZFNhZmV0eVwiICAoY2xpY2spPVwiYWRkUm93KClcIj5cbiAgICAgICAgICArXG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyICAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0YWJsZUFwcGVuZGl4IHwga2V5dmFsdWU7IGxldCBrID0gaW5kZXhcIj5cbiAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgdGFibGVIZWFkZXI7IGxldCBsID0gaW5kZXhcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyLnR5cGUgPT09ICd0ZXh0J1wiID5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwiaXRlbS52YWx1ZVswXVtoZWFkZXIuZmllbGROYW1lXVwiIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUxhYmVsKGssIGhlYWRlci5maWVsZE5hbWUsIGl0ZW1baGVhZGVyLmZpZWxkTmFtZV0pXCIgY2xhc3M9XCJzaGUtbGluZS1pbnB1dCB0YWJsZS1pbnB1dFwiPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXIudHlwZS5pbmNsdWRlcygnZHJvcGRvd24nKSAmJiBpdGVtLmtleSA9PSAnZHJvcERvd25EYXRhJ1wiID5cbiAgICAgICAgICAgIDwhLS0gSEEgMTlERUMyMyBGb3IgdHJhbnNsYXRpb24gLS0+XG4gICAgICAgICAgICA8YXBwLWN1c3RvbS1kcm9wZG93biBbZnJvbVNoZW5nZWxdPVwidHJ1ZVwiIFthcGlNZXRhXT1cImRyb3BEb3duQXBpXCIgXG4gICAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZV09XCJpdGVtLnZhbHVlWzBdLnZhbHVlW2hlYWRlci5maWVsZE5hbWVdXCIgcGxhY2Vob2xkZXI9XCItLS17eydzZWxlY3QnIHwgaTE4bjppMThuU2VydmljZS5jdXJyZW50TGFuZ3VhZ2V9fS0tLVwiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwidXBkYXRlVGFibGVBcHBlbmRpeChpdGVtLGhlYWRlci5maWVsZE5hbWUsJGV2ZW50KVwiPlxuICAgICAgICAgICAgPC9hcHAtY3VzdG9tLWRyb3Bkb3duPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXIudHlwZS5pbmNsdWRlcygnZGF0ZXRpbWUnKSAmJiBpdGVtLmtleSA9PSAnZGF0ZURhdGEnXCI+XG4gICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJpdGVtLnZhbHVlWzBdLnZhbHVlW2hlYWRlci5maWVsZE5hbWVdXCIgdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVRhYmxlQXBwZW5kaXgoaXRlbSxoZWFkZXIuZmllbGROYW1lLCRldmVudClcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJERC9NTS9ZWVlZIEhIOk1NXCI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlci50eXBlLmluY2x1ZGVzKCdjaGVja2JveCcpICYmIGl0ZW0ua2V5ID09ICd0b2dnbGVEYXRhJ1wiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwic3dpdGNoMlwiPlxuICAgICAgICAgICAgICA8aW5wdXQgIGNsYXNzPVwic3dpdGNoLWlucHV0MlwiIChjaGFuZ2UpPVwidXBkYXRlVGFibGVBcHBlbmRpeChpdGVtLGhlYWRlci5maWVsZE5hbWUsJGV2ZW50LnRhcmdldC5jaGVja2VkKVwiIFxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpdGVtLnZhbHVlWzBdLnZhbHVlW2hlYWRlci5maWVsZE5hbWVdID09IGl0ZW0udmFsdWVbMF0udG9nZ2xlVmFsdWVbMF1cIi8+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3dpdGNoLWxhYmVsM1wiIGRhdGEtb249XCJTYWZlXCIgZGF0YS1vZmY9XCJVbnNhZmVcIj48L3NwYW4+IFxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN3aXRjaC1oYW5kbGUyXCI+PC9zcGFuPiBcbiAgICAgICAgICAgIDwvbGFiZWw+IFxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXIudHlwZS5pbmNsdWRlcygnZmlsZScpICYmIGl0ZW0ua2V5ID09ICdmaWxlRGF0YSdcIj5cbiAgICAgICAgICAgIDxhcHAtZmlsZS11cGxvYWQgW2xpbWl0RmlsZVVwbG9hZGluZ109XCIyXCIgW2FsbEZpbGVzXT1cIml0ZW0udmFsdWVbMF0udmFsdWVbaGVhZGVyLmZpZWxkTmFtZV1cIiBbdGFibGVGaWxlXT1cInRydWVcIlxuICAgICAgICAgICAgKHNlbGVjdGVkRmlsZURhdGEpPVwidXBkYXRlVGFibGVBcHBlbmRpeChpdGVtICxoZWFkZXIuZmllbGROYW1lLCAkZXZlbnQpXCJcbiAgICAgICAgICAgIFtpc0RlbGV0ZUZpbGVCdXR0b25WaXNpYmxlXT1cInRydWVcIj48L2FwcC1maWxlLXVwbG9hZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT4iXX0=
@@ -0,0 +1,29 @@
1
+ const enI18n = {
2
+ required: "Required",
3
+ addMore: "Add More",
4
+ select: "Select",
5
+ attachment: "Attachment",
6
+ chooseFiles: "Choose files",
7
+ uploadFile: "Upload File",
8
+ thisFieldIsRequired: "This field is required.",
9
+ pickYourLocation: "Pick Your Location",
10
+ // firstName: "First Name",
11
+ // lastName: "Last Name",
12
+ // division: "Division",
13
+ // numberPlate: "Number Plate",
14
+ calibrated: "Calibrated",
15
+ enterValue: "Enter Value",
16
+ ptwDetails: "PTW Details",
17
+ pleaseMakeChoice: "Please make a choice",
18
+ attach: "Attach",
19
+ add: "Add",
20
+ zeroOfZero: "0 of 0",
21
+ selectDate: "Select date",
22
+ toBuyTicket: "to buy a ticket",
23
+ pickLocation: "Pick Location",
24
+ enterLocation: "Enter Location",
25
+ searchNearestLocation: "Search Nearest Location",
26
+ currentTheme: "ltr",
27
+ };
28
+ export default enI18n;
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9lbi5pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sTUFBTSxHQUFHO0lBQ1gsUUFBUSxFQUFFLFVBQVU7SUFDcEIsT0FBTyxFQUFFLFVBQVU7SUFDbkIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsV0FBVyxFQUFFLGNBQWM7SUFDM0IsVUFBVSxFQUFFLGFBQWE7SUFDekIsbUJBQW1CLEVBQUUseUJBQXlCO0lBQzlDLGdCQUFnQixFQUFFLG9CQUFvQjtJQUN0QywyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLHdCQUF3QjtJQUN4QiwrQkFBK0I7SUFDL0IsVUFBVSxFQUFFLFlBQVk7SUFDeEIsVUFBVSxFQUFFLGFBQWE7SUFDekIsVUFBVSxFQUFFLGFBQWE7SUFDekIsZ0JBQWdCLEVBQUUsc0JBQXNCO0lBQ3hDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsVUFBVSxFQUFFLFFBQVE7SUFDcEIsVUFBVSxFQUFFLGFBQWE7SUFDekIsV0FBVyxFQUFFLGlCQUFpQjtJQUM5QixZQUFZLEVBQUUsZUFBZTtJQUM3QixhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLHFCQUFxQixFQUFFLHlCQUF5QjtJQUNoRCxZQUFZLEVBQUUsS0FBSztDQUN0QixDQUFBO0FBRUQsZUFBZSxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBlbkkxOG4gPSB7XG4gICAgcmVxdWlyZWQ6IFwiUmVxdWlyZWRcIixcbiAgICBhZGRNb3JlOiBcIkFkZCBNb3JlXCIsXG4gICAgc2VsZWN0OiBcIlNlbGVjdFwiLFxuICAgIGF0dGFjaG1lbnQ6IFwiQXR0YWNobWVudFwiLFxuICAgIGNob29zZUZpbGVzOiBcIkNob29zZSBmaWxlc1wiLFxuICAgIHVwbG9hZEZpbGU6IFwiVXBsb2FkIEZpbGVcIixcbiAgICB0aGlzRmllbGRJc1JlcXVpcmVkOiBcIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuXCIsXG4gICAgcGlja1lvdXJMb2NhdGlvbjogXCJQaWNrIFlvdXIgTG9jYXRpb25cIixcbiAgICAvLyBmaXJzdE5hbWU6IFwiRmlyc3QgTmFtZVwiLFxuICAgIC8vIGxhc3ROYW1lOiBcIkxhc3QgTmFtZVwiLFxuICAgIC8vIGRpdmlzaW9uOiBcIkRpdmlzaW9uXCIsXG4gICAgLy8gbnVtYmVyUGxhdGU6IFwiTnVtYmVyIFBsYXRlXCIsXG4gICAgY2FsaWJyYXRlZDogXCJDYWxpYnJhdGVkXCIsXG4gICAgZW50ZXJWYWx1ZTogXCJFbnRlciBWYWx1ZVwiLFxuICAgIHB0d0RldGFpbHM6IFwiUFRXIERldGFpbHNcIixcbiAgICBwbGVhc2VNYWtlQ2hvaWNlOiBcIlBsZWFzZSBtYWtlIGEgY2hvaWNlXCIsXG4gICAgYXR0YWNoOiBcIkF0dGFjaFwiLFxuICAgIGFkZDogXCJBZGRcIixcbiAgICB6ZXJvT2ZaZXJvOiBcIjAgb2YgMFwiLFxuICAgIHNlbGVjdERhdGU6IFwiU2VsZWN0IGRhdGVcIixcbiAgICB0b0J1eVRpY2tldDogXCJ0byBidXkgYSB0aWNrZXRcIixcbiAgICBwaWNrTG9jYXRpb246IFwiUGljayBMb2NhdGlvblwiLFxuICAgIGVudGVyTG9jYXRpb246IFwiRW50ZXIgTG9jYXRpb25cIixcbiAgICBzZWFyY2hOZWFyZXN0TG9jYXRpb246IFwiU2VhcmNoIE5lYXJlc3QgTG9jYXRpb25cIixcbiAgICBjdXJyZW50VGhlbWU6IFwibHRyXCIsXG59XG5cbmV4cG9ydCBkZWZhdWx0IGVuSTE4bjsiXX0=
@@ -0,0 +1,4 @@
1
+ // HA 19DEC23 File created for translation
2
+ import { InjectionToken } from '@angular/core';
3
+ export const i18nConfigService = new InjectionToken('i18nConfig');
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9pMThuLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBDQUEwQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFNLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSEEgMTlERUMyMyBGaWxlIGNyZWF0ZWQgZm9yIHRyYW5zbGF0aW9uXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgaTE4bkNvbmZpZ1NlcnZpY2UgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignaTE4bkNvbmZpZycpO1xuIl19
@@ -0,0 +1,47 @@
1
+ // HA 19DEC23 File created for translation
2
+ import { Component } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./i18n.service";
5
+ import * as i2 from "@angular/common";
6
+ export class I18nComponent {
7
+ i18nService;
8
+ // @Output() handleEve:EventEmitter<any> = new EventEmitter();
9
+ constructor(i18nService) {
10
+ this.i18nService = i18nService;
11
+ }
12
+ ngOnInit() {
13
+ console.log('ngOnInit component.ts');
14
+ // this.handleEve.emit();
15
+ }
16
+ firstClick(event) {
17
+ console.log('first ', event);
18
+ this.i18nService.languageChange(event);
19
+ // this.handleEve.emit();
20
+ window.location.reload();
21
+ }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: I18nComponent, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: I18nComponent, selector: "app-i18n", ngImport: i0, template: `
24
+ <a *ngFor="let lang of i18nService.langList" href="javascript:void(0);" class="not-selected-language" [ngClass]="{'selected-language': i18nService.currentLanguage === lang.lang}"
25
+
26
+ (click)="firstClick(lang.lang)">
27
+ <span class="mr-3">
28
+ {{lang.lang}}
29
+ </span>
30
+ </a>
31
+
32
+ `, isInline: true, styles: [".selected-language{color:green!important;font-weight:700;font-size:24px!important}\n", ".not-selected-language{color:#555;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: I18nComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'app-i18n', template: `
37
+ <a *ngFor="let lang of i18nService.langList" href="javascript:void(0);" class="not-selected-language" [ngClass]="{'selected-language': i18nService.currentLanguage === lang.lang}"
38
+
39
+ (click)="firstClick(lang.lang)">
40
+ <span class="mr-3">
41
+ {{lang.lang}}
42
+ </span>
43
+ </a>
44
+
45
+ `, styles: [".selected-language{color:green!important;font-weight:700;font-size:24px!important}\n", ".not-selected-language{color:#555;font-weight:700}\n"] }]
46
+ }], ctorParameters: function () { return [{ type: i1.I18nService }]; } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvaTE4bi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQWdDLE1BQU0sZUFBZSxDQUFDOzs7O0FBMEJ4RSxNQUFNLE9BQU8sYUFBYTtJQUdmO0lBRlQsOERBQThEO0lBQzlELFlBQ1MsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFDOUIsQ0FBQztJQUNKLFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUE7UUFDcEMseUJBQXlCO0lBQzNCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBSztRQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLHlCQUF5QjtRQUN6QixNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7d0dBZlUsYUFBYTs0RkFBYixhQUFhLGdEQVhkOzs7Ozs7Ozs7R0FTVDs7NEZBRVUsYUFBYTtrQkF4QnpCLFNBQVM7K0JBQ0UsVUFBVSxZQVlWOzs7Ozs7Ozs7R0FTVCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEhBIDE5REVDMjMgRmlsZSBjcmVhdGVkIGZvciB0cmFuc2xhdGlvblxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4vaTE4bi5zZXJ2aWNlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1pMThuJyxcbiAgc3R5bGVzOiBbXG4gICAgYC5zZWxlY3RlZC1sYW5ndWFnZSB7XG4gIGNvbG9yOiBncmVlbiAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAyNHB4ICFpbXBvcnRhbnQ7XG59YCxcbiAgICBgLm5vdC1zZWxlY3RlZC1sYW5ndWFnZSB7XG4gIGNvbG9yOiAjNTU1NTU1O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1gLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgPGEgICpuZ0Zvcj1cImxldCBsYW5nIG9mIGkxOG5TZXJ2aWNlLmxhbmdMaXN0XCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIiBjbGFzcz1cIm5vdC1zZWxlY3RlZC1sYW5ndWFnZVwiIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQtbGFuZ3VhZ2UnOiBpMThuU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UgPT09IGxhbmcubGFuZ31cIlxuXG4gICAgICAgICAgICAoY2xpY2spPVwiZmlyc3RDbGljayhsYW5nLmxhbmcpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yLTNcIj5cbiAgICAgICAgICAgICAgICB7e2xhbmcubGFuZ319XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9hPlxuXG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEkxOG5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyBAT3V0cHV0KCkgaGFuZGxlRXZlOkV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlXG4gICkge31cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc29sZS5sb2coJ25nT25Jbml0IGNvbXBvbmVudC50cycpXG4gICAgLy8gdGhpcy5oYW5kbGVFdmUuZW1pdCgpO1xuICB9XG5cbiAgZmlyc3RDbGljayhldmVudCl7XG4gICAgY29uc29sZS5sb2coJ2ZpcnN0ICcsIGV2ZW50KTtcbiAgICB0aGlzLmkxOG5TZXJ2aWNlLmxhbmd1YWdlQ2hhbmdlKGV2ZW50KTtcbiAgICAvLyB0aGlzLmhhbmRsZUV2ZS5lbWl0KCk7XG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,38 @@
1
+ // HA 19DEC23 File created for translation
2
+ import { NgModule } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ // import { I18nPipe } from './i18n.pipe';
5
+ // import { I18nComponent } from './i18n.component';
6
+ import { I18nService } from './i18n.service';
7
+ import { i18nConfigService } from './i18n-config.service';
8
+ import * as i0 from "@angular/core";
9
+ export class I18nModule {
10
+ static forRoot(config) {
11
+ return {
12
+ ngModule: I18nModule,
13
+ providers: [
14
+ I18nService,
15
+ {
16
+ provide: i18nConfigService,
17
+ useValue: config
18
+ }
19
+ ]
20
+ };
21
+ }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: I18nModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
23
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: I18nModule, imports: [CommonModule] });
24
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: I18nModule, imports: [CommonModule] });
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: I18nModule, decorators: [{
27
+ type: NgModule,
28
+ args: [{
29
+ declarations: [
30
+ // I18nPipe,
31
+ // I18nComponent
32
+ ],
33
+ imports: [
34
+ CommonModule
35
+ ]
36
+ }]
37
+ }] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvaTE4bi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQywwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFhMUQsTUFBTSxPQUFPLFVBQVU7SUFFckIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1FBQ25CLE9BQU87WUFDTCxRQUFRLEVBQUUsVUFBVTtZQUNwQixTQUFTLEVBQUU7Z0JBQ1QsV0FBVztnQkFDWDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixRQUFRLEVBQUUsTUFBTTtpQkFDakI7YUFDRjtTQUNGLENBQUE7SUFDSCxDQUFDO3dHQWJVLFVBQVU7eUdBQVYsVUFBVSxZQUhuQixZQUFZO3lHQUdILFVBQVUsWUFIbkIsWUFBWTs7NEZBR0gsVUFBVTtrQkFUdEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7b0JBQ1osWUFBWTtvQkFDWixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSEEgMTlERUMyMyBGaWxlIGNyZWF0ZWQgZm9yIHRyYW5zbGF0aW9uXG5pbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbi8vIGltcG9ydCB7IEkxOG5QaXBlIH0gZnJvbSAnLi9pMThuLnBpcGUnO1xuLy8gaW1wb3J0IHsgSTE4bkNvbXBvbmVudCB9IGZyb20gJy4vaTE4bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBpMThuQ29uZmlnU2VydmljZSB9IGZyb20gJy4vaTE4bi1jb25maWcuc2VydmljZSc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICAvLyBJMThuUGlwZSxcbiAgICAvLyBJMThuQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBJMThuTW9kdWxlIHtcblxuICBzdGF0aWMgZm9yUm9vdChjb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEkxOG5Nb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEkxOG5Nb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgSTE4blNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBpMThuQ29uZmlnU2VydmljZSxcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,25 @@
1
+ // HA 19DEC23 File created for translation
2
+ import { Pipe } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./i18n.service";
5
+ export class I18nPipe {
6
+ i18nService;
7
+ constructor(i18nService) {
8
+ this.i18nService = i18nService;
9
+ }
10
+ transform(value, ...args) {
11
+ if (value) {
12
+ return this.i18nService.getString(value);
13
+ }
14
+ return value;
15
+ }
16
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: I18nPipe, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Pipe });
17
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: I18nPipe, name: "i18n" });
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: I18nPipe, decorators: [{
20
+ type: Pipe,
21
+ args: [{
22
+ name: 'i18n'
23
+ }]
24
+ }], ctorParameters: function () { return [{ type: i1.I18nService }]; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2kxOG4ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQU1wRCxNQUFNLE9BQU8sUUFBUTtJQUNDO0lBQXBCLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUksQ0FBQztJQUNqRCxTQUFTLENBQUMsS0FBVSxFQUFFLEdBQUcsSUFBVztRQUNsQyxJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7d0dBUFUsUUFBUTtzR0FBUixRQUFROzs0RkFBUixRQUFRO2tCQUhwQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxNQUFNO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSEEgMTlERUMyMyBGaWxlIGNyZWF0ZWQgZm9yIHRyYW5zbGF0aW9uXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4vaTE4bi5zZXJ2aWNlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnaTE4bidcbn0pXG5leHBvcnQgY2xhc3MgSTE4blBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpMThuU2VydmljZTogSTE4blNlcnZpY2UpIHsgfVxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgLi4uYXJnczogYW55W10pOiBhbnkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuaTE4blNlcnZpY2UuZ2V0U3RyaW5nKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,54 @@
1
+ // HA 19DEC23 File created for translation
2
+ import { Injectable, Inject, EventEmitter, Output } from '@angular/core';
3
+ // import arI18n from '../../assets/i18n/fr.i18n';
4
+ // import enI18n from '../../assets/i18n/en.i18n';
5
+ import { i18nConfigService } from './i18n-config.service';
6
+ import { DOCUMENT } from '@angular/common';
7
+ import * as i0 from "@angular/core";
8
+ export class I18nService {
9
+ langList;
10
+ document;
11
+ dropdownChanged = new EventEmitter();
12
+ currentLanguage = '';
13
+ constructor(langList, document) {
14
+ this.langList = langList;
15
+ this.document = document;
16
+ this.initLang();
17
+ }
18
+ initLang() {
19
+ if (localStorage.getItem('lang')) {
20
+ this.currentLanguage = localStorage.getItem('lang');
21
+ if (this.currentLanguage === 'rtl') {
22
+ this.languageChange(this.currentLanguage);
23
+ }
24
+ }
25
+ else {
26
+ localStorage.setItem('lang', 'EN');
27
+ this.currentLanguage = 'ltr';
28
+ }
29
+ }
30
+ getString(key) {
31
+ return this.langList[this.langList.map((e, i) => e.lang === this.currentLanguage ? i : null).filter(e => e !== null)[0]].file.default[key];
32
+ }
33
+ languageChange(lang) {
34
+ this.currentLanguage = lang;
35
+ let htmlTag = this.document.getElementsByTagName('html')[0];
36
+ htmlTag.dir = this.currentLanguage === 'rtl' ? 'rtl' : 'ltr';
37
+ localStorage.setItem('lang', lang);
38
+ this.dropdownChanged.emit(this.currentLanguage);
39
+ }
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: I18nService, deps: [{ token: i18nConfigService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: I18nService });
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: I18nService, decorators: [{
44
+ type: Injectable
45
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
46
+ type: Inject,
47
+ args: [i18nConfigService]
48
+ }] }, { type: Document, decorators: [{
49
+ type: Inject,
50
+ args: [DOCUMENT]
51
+ }] }]; }, propDecorators: { dropdownChanged: [{
52
+ type: Output
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2kxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxrREFBa0Q7QUFDbEQsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJM0MsTUFBTSxPQUFPLFdBQVc7SUFJd0I7SUFBb0M7SUFIeEUsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDdkQsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUVyQixZQUE4QyxRQUFRLEVBQTRCLFFBQWtCO1FBQXRELGFBQVEsR0FBUixRQUFRLENBQUE7UUFBNEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BELElBQUcsSUFBSSxDQUFDLGVBQWUsS0FBSyxLQUFLLEVBQUM7Z0JBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQzNDO1NBQ0Y7YUFBTTtZQUNMLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFHO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0ksQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFvQixDQUFDO1FBQy9FLE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzdELFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNsRCxDQUFDO3dHQTlCVSxXQUFXLGtCQUlGLGlCQUFpQixhQUEyQixRQUFROzRHQUo3RCxXQUFXOzs0RkFBWCxXQUFXO2tCQUh2QixVQUFVOzswQkFPSSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQW9CLE1BQU07MkJBQUMsUUFBUTs0Q0FIOUQsZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEhBIDE5REVDMjMgRmlsZSBjcmVhdGVkIGZvciB0cmFuc2xhdGlvblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gaW1wb3J0IGFySTE4biBmcm9tICcuLi8uLi9hc3NldHMvaTE4bi9mci5pMThuJztcbi8vIGltcG9ydCBlbkkxOG4gZnJvbSAnLi4vLi4vYXNzZXRzL2kxOG4vZW4uaTE4bic7XG5pbXBvcnQgeyBpMThuQ29uZmlnU2VydmljZSB9IGZyb20gJy4vaTE4bi1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuQEluamVjdGFibGUoXG4gIC8vIHtwcm92aWRlZEluOiAncm9vdCd9XG4pXG5leHBvcnQgY2xhc3MgSTE4blNlcnZpY2Uge1xuICBAT3V0cHV0KCkgZHJvcGRvd25DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIGN1cnJlbnRMYW5ndWFnZSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoaTE4bkNvbmZpZ1NlcnZpY2UpIHB1YmxpYyBsYW5nTGlzdCwgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQpIHtcbiAgICB0aGlzLmluaXRMYW5nKCk7XG4gIH1cblxuICBpbml0TGFuZygpIHtcbiAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhbmcnKSkge1xuICAgICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZycpO1xuICAgICAgaWYodGhpcy5jdXJyZW50TGFuZ3VhZ2UgPT09ICdydGwnKXtcbiAgICAgICAgdGhpcy5sYW5ndWFnZUNoYW5nZSh0aGlzLmN1cnJlbnRMYW5ndWFnZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdsYW5nJywgJ0VOJyk7XG4gICAgICB0aGlzLmN1cnJlbnRMYW5ndWFnZSA9ICdsdHInO1xuICAgIH1cbiAgfVxuXG4gIGdldFN0cmluZyhrZXkpIHtcbiAgICByZXR1cm4gdGhpcy5sYW5nTGlzdFt0aGlzLmxhbmdMaXN0Lm1hcCgoZSwgaSkgPT4gZS5sYW5nID09PSB0aGlzLmN1cnJlbnRMYW5ndWFnZSA/IGkgOiBudWxsKS5maWx0ZXIoZSA9PiBlICE9PSBudWxsKVswXV0uZmlsZS5kZWZhdWx0W2tleV07XG4gIH1cblxuICBsYW5ndWFnZUNoYW5nZShsYW5nKSB7XG4gICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UgPSBsYW5nO1xuICAgIGxldCBodG1sVGFnID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdIGFzIEhUTUxIdG1sRWxlbWVudDtcbiAgICBodG1sVGFnLmRpciA9IHRoaXMuY3VycmVudExhbmd1YWdlID09PSAncnRsJyA/ICdydGwnIDogJ2x0cic7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2xhbmcnLCBsYW5nKTtcbiAgICB0aGlzLmRyb3Bkb3duQ2hhbmdlZC5lbWl0KHRoaXMuY3VycmVudExhbmd1YWdlKTtcbiAgfVxufVxuIl19