ngx-scandoc 0.0.1 → 1.0.2

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 (85) hide show
  1. package/core/app.worker.d.ts +1 -0
  2. package/core/components/base.component.d.ts +6 -0
  3. package/core/components/camera-switch/camera-switch.component.d.ts +11 -0
  4. package/core/components/components.module.d.ts +15 -0
  5. package/core/components/scan/scan.component.d.ts +120 -0
  6. package/core/components/scan-results/scan-results.component.d.ts +20 -0
  7. package/core/components/webcam/domain/webcam-image.d.ts +35 -0
  8. package/core/components/webcam/domain/webcam-init-error.d.ts +4 -0
  9. package/core/components/webcam/domain/webcam-mirror-properties.d.ts +3 -0
  10. package/core/components/webcam/util/webcam.util.d.ts +8 -0
  11. package/core/components/webcam/webcam/webcam.component.d.ts +205 -0
  12. package/core/components/webcam/webcam.module.d.ts +9 -0
  13. package/core/interfaces/config.d.ts +16 -0
  14. package/core/pipes/pipes.module.d.ts +7 -0
  15. package/core/pipes/safeResourceUrl.pipe.d.ts +10 -0
  16. package/core/shared/material.module.d.ts +28 -0
  17. package/dialogs/components/blank/blank.component.d.ts +16 -0
  18. package/dialogs/components/confirm/confirm.component.d.ts +30 -0
  19. package/dialogs/components/loading/loading.component.d.ts +5 -0
  20. package/dialogs/components/scan-profile/scan-profile.component.d.ts +18 -0
  21. package/dialogs/components/scan-selfie/scan-selfie.component.d.ts +83 -0
  22. package/dialogs/components/turn-document/turn-document.component.d.ts +12 -0
  23. package/dialogs/dialogs.core.provider.d.ts +18 -0
  24. package/dialogs/dialogs.module.d.ts +21 -0
  25. package/esm2020/core/app.worker.mjs +236 -0
  26. package/esm2020/core/components/base.component.mjs +15 -0
  27. package/esm2020/core/components/camera-switch/camera-switch.component.mjs +22 -0
  28. package/esm2020/core/components/components.module.mjs +46 -0
  29. package/esm2020/core/components/scan/scan.component.mjs +587 -0
  30. package/esm2020/core/components/scan-results/scan-results.component.mjs +38 -0
  31. package/esm2020/core/components/webcam/domain/webcam-image.mjs +58 -0
  32. package/esm2020/core/components/webcam/domain/webcam-init-error.mjs +3 -0
  33. package/esm2020/core/components/webcam/domain/webcam-mirror-properties.mjs +3 -0
  34. package/esm2020/core/components/webcam/util/webcam.util.mjs +48 -0
  35. package/esm2020/core/components/webcam/webcam/webcam.component.mjs +867 -0
  36. package/esm2020/core/components/webcam/webcam.module.mjs +22 -0
  37. package/esm2020/core/interfaces/config.mjs +2 -0
  38. package/esm2020/core/pipes/pipes.module.mjs +19 -0
  39. package/esm2020/core/pipes/safeResourceUrl.pipe.mjs +20 -0
  40. package/esm2020/core/shared/material.module.mjs +162 -0
  41. package/esm2020/dialogs/components/blank/blank.component.mjs +46 -0
  42. package/esm2020/dialogs/components/confirm/confirm.component.mjs +53 -0
  43. package/esm2020/dialogs/components/loading/loading.component.mjs +12 -0
  44. package/esm2020/dialogs/components/scan-profile/scan-profile.component.mjs +48 -0
  45. package/esm2020/dialogs/components/scan-selfie/scan-selfie.component.mjs +392 -0
  46. package/esm2020/dialogs/components/turn-document/turn-document.component.mjs +32 -0
  47. package/esm2020/dialogs/dialogs.core.provider.mjs +109 -0
  48. package/esm2020/dialogs/dialogs.module.mjs +89 -0
  49. package/esm2020/forms/form.module.mjs +87 -0
  50. package/esm2020/forms/types/avatar.type.mjs +53 -0
  51. package/esm2020/forms/types/profile.image.type.mjs +54 -0
  52. package/esm2020/forms/types/title.type.mjs +60 -0
  53. package/esm2020/lib/ngx-scandoc.module.mjs +28 -11
  54. package/esm2020/providers/auth.provider.mjs +58 -0
  55. package/esm2020/providers/camera.provider.mjs +40 -0
  56. package/esm2020/providers/interceptor.provider.mjs +61 -0
  57. package/esm2020/providers/layout.provider.mjs +28 -0
  58. package/esm2020/providers/scan.form.mjs +386 -0
  59. package/esm2020/providers/scan.provider.mjs +488 -0
  60. package/esm2020/providers/translation.provider.mjs +50 -0
  61. package/esm2020/providers/webrtc.provider.mjs +58 -0
  62. package/esm2020/public-api.mjs +24 -4
  63. package/fesm2015/ngx-scandoc.mjs +4190 -31
  64. package/fesm2015/ngx-scandoc.mjs.map +1 -1
  65. package/fesm2020/ngx-scandoc.mjs +4166 -31
  66. package/fesm2020/ngx-scandoc.mjs.map +1 -1
  67. package/forms/form.module.d.ts +18 -0
  68. package/forms/types/avatar.type.d.ts +14 -0
  69. package/forms/types/profile.image.type.d.ts +14 -0
  70. package/forms/types/title.type.d.ts +12 -0
  71. package/lib/ngx-scandoc.module.d.ts +6 -2
  72. package/package.json +6 -2
  73. package/providers/auth.provider.d.ts +21 -0
  74. package/providers/camera.provider.d.ts +17 -0
  75. package/providers/interceptor.provider.d.ts +13 -0
  76. package/providers/layout.provider.d.ts +11 -0
  77. package/providers/scan.form.d.ts +13 -0
  78. package/providers/scan.provider.d.ts +237 -0
  79. package/providers/translation.provider.d.ts +9 -0
  80. package/providers/webrtc.provider.d.ts +11 -0
  81. package/public-api.d.ts +23 -3
  82. package/esm2020/lib/ngx-scandoc.component.mjs +0 -22
  83. package/esm2020/lib/ngx-scandoc.service.mjs +0 -14
  84. package/lib/ngx-scandoc.component.d.ts +0 -8
  85. package/lib/ngx-scandoc.service.d.ts +0 -6
@@ -0,0 +1,40 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { WebcamUtil } from '../core/components/webcam/util/webcam.util';
4
+ import * as i0 from "@angular/core";
5
+ export class NgxScandocCameraProvider {
6
+ constructor() {
7
+ this.switchCamera = new Subject();
8
+ this.cameraReady = false;
9
+ this.cameraSwitched = new Subject();
10
+ this.multipleWebcamsAvailable = false;
11
+ this.setup();
12
+ }
13
+ setup() {
14
+ WebcamUtil.getAvailableVideoInputs().subscribe((mediaDevices) => {
15
+ console.log('[DEVICES]', mediaDevices.map((d) => d.label));
16
+ this.mediaDevices = mediaDevices;
17
+ this.multipleWebcamsAvailable = mediaDevices && mediaDevices.length > 1;
18
+ });
19
+ }
20
+ selectCamera(event) {
21
+ this.switchCamera.next(event.value);
22
+ }
23
+ cameraWasSwitched(deviceId) {
24
+ console.log('[active device]', deviceId);
25
+ this.deviceId = deviceId;
26
+ this.cameraReady = true;
27
+ }
28
+ get nextWebcamObservable() {
29
+ return this.switchCamera.asObservable();
30
+ }
31
+ }
32
+ NgxScandocCameraProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxScandocCameraProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
33
+ NgxScandocCameraProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxScandocCameraProvider, providedIn: 'root' });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxScandocCameraProvider, decorators: [{
35
+ type: Injectable,
36
+ args: [{
37
+ providedIn: 'root',
38
+ }]
39
+ }], ctorParameters: function () { return []; } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL3Byb3ZpZGVycy9jYW1lcmEucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsT0FBTyxFQUFRLE1BQU0sTUFBTSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFJeEUsTUFBTSxPQUFPLHdCQUF3QjtJQVluQztRQVBBLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUU3QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFL0IsNkJBQXdCLEdBQUcsS0FBSyxDQUFDO1FBRS9CLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLO1FBQ0gsVUFBVSxDQUFDLHVCQUF1QixFQUFFLENBQUMsU0FBUyxDQUM1QyxDQUFDLFlBQStCLEVBQUUsRUFBRTtZQUNsQyxPQUFPLENBQUMsR0FBRyxDQUNULFdBQVcsRUFDWCxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQ2pDLENBQUM7WUFDRixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztZQUNqQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0saUJBQWlCLENBQUMsUUFBZ0I7UUFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7O3FIQXhDVSx3QkFBd0I7eUhBQXhCLHdCQUF3QixjQUZ2QixNQUFNOzJGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB3ZWJTb2NrZXQgfSBmcm9tICdyeGpzL3dlYlNvY2tldCc7XG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFdlYmNhbVV0aWwgfSBmcm9tICcuLi9jb3JlL2NvbXBvbmVudHMvd2ViY2FtL3V0aWwvd2ViY2FtLnV0aWwnO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5neFNjYW5kb2NDYW1lcmFQcm92aWRlciB7XG4gIG1lZGlhRGV2aWNlczogYW55O1xuXG4gIGRldmljZUlkOiBhbnk7XG5cbiAgc3dpdGNoQ2FtZXJhID0gbmV3IFN1YmplY3QoKTtcblxuICBjYW1lcmFSZWFkeSA9IGZhbHNlO1xuXG4gIGNhbWVyYVN3aXRjaGVkID0gbmV3IFN1YmplY3QoKTtcblxuICBtdWx0aXBsZVdlYmNhbXNBdmFpbGFibGUgPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5zZXR1cCgpO1xuICB9XG5cbiAgc2V0dXAoKSB7XG4gICAgV2ViY2FtVXRpbC5nZXRBdmFpbGFibGVWaWRlb0lucHV0cygpLnN1YnNjcmliZShcbiAgICAgIChtZWRpYURldmljZXM6IE1lZGlhRGV2aWNlSW5mb1tdKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICdbREVWSUNFU10nLFxuICAgICAgICAgIG1lZGlhRGV2aWNlcy5tYXAoKGQpID0+IGQubGFiZWwpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubWVkaWFEZXZpY2VzID0gbWVkaWFEZXZpY2VzO1xuICAgICAgICB0aGlzLm11bHRpcGxlV2ViY2Ftc0F2YWlsYWJsZSA9IG1lZGlhRGV2aWNlcyAmJiBtZWRpYURldmljZXMubGVuZ3RoID4gMTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgc2VsZWN0Q2FtZXJhKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnN3aXRjaENhbWVyYS5uZXh0KGV2ZW50LnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW1lcmFXYXNTd2l0Y2hlZChkZXZpY2VJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ1thY3RpdmUgZGV2aWNlXScsIGRldmljZUlkKTtcbiAgICB0aGlzLmRldmljZUlkID0gZGV2aWNlSWQ7XG4gICAgdGhpcy5jYW1lcmFSZWFkeSA9IHRydWU7XG4gIH1cbiAgZ2V0IG5leHRXZWJjYW1PYnNlcnZhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnN3aXRjaENhbWVyYS5hc09ic2VydmFibGUoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,61 @@
1
+ import { HttpHeaders, } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import { throwError } from 'rxjs';
4
+ import { catchError, share, switchMap } from 'rxjs/operators';
5
+ import { AuthProvider } from './auth.provider';
6
+ import * as i0 from "@angular/core";
7
+ export class HttpErrorInterceptor {
8
+ constructor(injector) {
9
+ this.injector = injector;
10
+ }
11
+ intercept(req, next) {
12
+ //console.log(req.url);
13
+ if (req.url.indexOf('auth') >= 0 || req.url.indexOf('/assets/') >= 0) {
14
+ return next.handle(req);
15
+ }
16
+ const authProvider = this.injector.get(AuthProvider);
17
+ this.inflightAuthRequest = authProvider.accesToken;
18
+ return this.inflightAuthRequest.pipe(share(), switchMap((token) => {
19
+ // unset request inflight
20
+ this.inflightAuthRequest = null;
21
+ const transaction = req.headers.get('TransactionID');
22
+ const authReq = req.clone({
23
+ headers: this.getHeaders(token, transaction || ''),
24
+ });
25
+ return next.handle(authReq);
26
+ }), catchError((err) => {
27
+ let tokenExpired = false;
28
+ if (err.errors) {
29
+ const find = err.erros.find((es) => es.indexOf('Invalid token') > -1);
30
+ tokenExpired = find ? true : false;
31
+ }
32
+ console.log(err);
33
+ if (err.status === 401 || tokenExpired) {
34
+ authProvider.resetToken();
35
+ return this.intercept(req, next);
36
+ }
37
+ else {
38
+ return throwError(() => new Error('' + (err && err.status ? ':' + err.status : '')));
39
+ }
40
+ }));
41
+ }
42
+ getHeaders(token, TransactionID) {
43
+ if (TransactionID) {
44
+ return new HttpHeaders({
45
+ 'Content-Type': 'application/json',
46
+ Authorization: token,
47
+ TransactionID,
48
+ });
49
+ }
50
+ return new HttpHeaders({
51
+ 'Content-Type': 'application/json',
52
+ Authorization: token,
53
+ });
54
+ }
55
+ }
56
+ HttpErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HttpErrorInterceptor, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
57
+ HttpErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HttpErrorInterceptor });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HttpErrorInterceptor, decorators: [{
59
+ type: Injectable
60
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3IucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvcHJvdmlkZXJzL2ludGVyY2VwdG9yLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxXQUFXLEdBR1osTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUcvQyxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRTFDLFNBQVMsQ0FDUCxHQUFxQixFQUNyQixJQUFpQjtRQUVqQix1QkFBdUI7UUFDdkIsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6QjtRQUVELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO1FBRW5ELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDbEMsS0FBSyxFQUFFLEVBQ1AsU0FBUyxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDMUIseUJBQXlCO1lBQ3pCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7WUFFaEMsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDckQsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDeEIsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7YUFDbkQsQ0FBQyxDQUFDO1lBRUgsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBRXRCLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2QsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3pCLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNqRCxDQUFDO2dCQUNGLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2FBQ3BDO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUVoQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRyxJQUFJLFlBQVksRUFBRTtnQkFDdEMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMxQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ2xDO2lCQUFNO2dCQUNMLE9BQU8sVUFBVSxDQUNmLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDbEUsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxVQUFVLENBQUMsS0FBYSxFQUFFLGFBQXFCO1FBQ3JELElBQUksYUFBYSxFQUFFO1lBQ2pCLE9BQU8sSUFBSSxXQUFXLENBQUM7Z0JBQ3JCLGNBQWMsRUFBRSxrQkFBa0I7Z0JBQ2xDLGFBQWEsRUFBRSxLQUFLO2dCQUNwQixhQUFhO2FBQ2QsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLElBQUksV0FBVyxDQUFDO1lBQ3JCLGNBQWMsRUFBRSxrQkFBa0I7WUFDbEMsYUFBYSxFQUFFLEtBQUs7U0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7aUhBbEVVLG9CQUFvQjtxSEFBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBIdHRwRXZlbnQsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwSGVhZGVycyxcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwUmVxdWVzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHNoYXJlLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tICcuL2F1dGgucHJvdmlkZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSHR0cEVycm9ySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBpbmZsaWdodEF1dGhSZXF1ZXN0ITogT2JzZXJ2YWJsZTxhbnk+IHwgbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICBpbnRlcmNlcHQoXG4gICAgcmVxOiBIdHRwUmVxdWVzdDxhbnk+LFxuICAgIG5leHQ6IEh0dHBIYW5kbGVyXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAvL2NvbnNvbGUubG9nKHJlcS51cmwpO1xuICAgIGlmIChyZXEudXJsLmluZGV4T2YoJ2F1dGgnKSA+PSAwIHx8IHJlcS51cmwuaW5kZXhPZignL2Fzc2V0cy8nKSA+PSAwKSB7XG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICB9XG5cbiAgICBjb25zdCBhdXRoUHJvdmlkZXIgPSB0aGlzLmluamVjdG9yLmdldChBdXRoUHJvdmlkZXIpO1xuXG4gICAgdGhpcy5pbmZsaWdodEF1dGhSZXF1ZXN0ID0gYXV0aFByb3ZpZGVyLmFjY2VzVG9rZW47XG5cbiAgICByZXR1cm4gdGhpcy5pbmZsaWdodEF1dGhSZXF1ZXN0LnBpcGUoXG4gICAgICBzaGFyZSgpLFxuICAgICAgc3dpdGNoTWFwKCh0b2tlbjogc3RyaW5nKSA9PiB7XG4gICAgICAgIC8vIHVuc2V0IHJlcXVlc3QgaW5mbGlnaHRcbiAgICAgICAgdGhpcy5pbmZsaWdodEF1dGhSZXF1ZXN0ID0gbnVsbDtcblxuICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHJlcS5oZWFkZXJzLmdldCgnVHJhbnNhY3Rpb25JRCcpO1xuICAgICAgICBjb25zdCBhdXRoUmVxID0gcmVxLmNsb25lKHtcbiAgICAgICAgICBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnModG9rZW4sIHRyYW5zYWN0aW9uIHx8ICcnKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKGF1dGhSZXEpO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuXG4gICAgICAgIGxldCB0b2tlbkV4cGlyZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKGVyci5lcnJvcnMpIHtcbiAgICAgICAgICBjb25zdCBmaW5kID0gZXJyLmVycm9zLmZpbmQoXG4gICAgICAgICAgICAoZXM6IHN0cmluZykgPT4gZXMuaW5kZXhPZignSW52YWxpZCB0b2tlbicpID4gLTFcbiAgICAgICAgICApO1xuICAgICAgICAgIHRva2VuRXhwaXJlZCA9IGZpbmQgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2coZXJyKVxuXG4gICAgICAgIGlmIChlcnIuc3RhdHVzID09PSA0MDEgfHwgdG9rZW5FeHBpcmVkKSB7XG4gICAgICAgICAgYXV0aFByb3ZpZGVyLnJlc2V0VG9rZW4oKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmNlcHQocmVxLCBuZXh0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihcbiAgICAgICAgICAgICgpID0+IG5ldyBFcnJvcignJyArIChlcnIgJiYgZXJyLnN0YXR1cyA/ICc6JyArIGVyci5zdGF0dXMgOiAnJykpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKHRva2VuOiBzdHJpbmcsIFRyYW5zYWN0aW9uSUQ6IHN0cmluZykge1xuICAgIGlmIChUcmFuc2FjdGlvbklEKSB7XG4gICAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgQXV0aG9yaXphdGlvbjogdG9rZW4sXG4gICAgICAgIFRyYW5zYWN0aW9uSUQsXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgQXV0aG9yaXphdGlvbjogdG9rZW4sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { distinctUntilChanged, tap } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/cdk/layout";
5
+ export class LayoutProvider {
6
+ constructor(breakpointObserver) {
7
+ this.breakpointObserver = breakpointObserver;
8
+ this.isMobile = false;
9
+ this.breakpoint$ = this.breakpointObserver
10
+ .observe(['(min-width: 768px)'])
11
+ .pipe(tap((value) => console.log(value)), distinctUntilChanged());
12
+ }
13
+ init() {
14
+ this.breakpoint$.subscribe((v) => {
15
+ this.isMobile = !v.matches;
16
+ document.body.className = this.isMobile ? 'mobile' : 'desktop';
17
+ });
18
+ }
19
+ }
20
+ LayoutProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LayoutProvider, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable });
21
+ LayoutProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LayoutProvider, providedIn: 'root' });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LayoutProvider, decorators: [{
23
+ type: Injectable,
24
+ args: [{
25
+ providedIn: 'root',
26
+ }]
27
+ }], ctorParameters: function () { return [{ type: i1.BreakpointObserver }]; } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL3Byb3ZpZGVycy9sYXlvdXQucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFLakQsTUFBTSxPQUFPLGNBQWM7SUFRekIsWUFBb0Isa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFQMUQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNSLGdCQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQjthQUMzQyxPQUFPLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2FBQy9CLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDbEMsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztJQUN5RCxDQUFDO0lBRTlELElBQUk7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQzNCLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MkdBZlUsY0FBYzsrR0FBZCxjQUFjLGNBRmIsTUFBTTsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0UHJvdmlkZXIge1xuICBpc01vYmlsZSA9IGZhbHNlO1xuICByZWFkb25seSBicmVha3BvaW50JCA9IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyXG4gICAgLm9ic2VydmUoWycobWluLXdpZHRoOiA3NjhweCknXSlcbiAgICAucGlwZShcbiAgICAgIHRhcCgodmFsdWUpID0+IGNvbnNvbGUubG9nKHZhbHVlKSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcikge31cblxuICBpbml0KCkge1xuICAgIHRoaXMuYnJlYWtwb2ludCQuc3Vic2NyaWJlKCh2OiBhbnkpID0+IHtcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSAhdi5tYXRjaGVzO1xuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSB0aGlzLmlzTW9iaWxlID8gJ21vYmlsZScgOiAnZGVza3RvcCc7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,386 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./translation.provider";
4
+ import * as i2 from "./scan.provider";
5
+ export class ScanFieldsProvider {
6
+ constructor(translate, provider) {
7
+ this.translate = translate;
8
+ this.provider = provider;
9
+ }
10
+ update() {
11
+ return [
12
+ {
13
+ fieldGroupClassName: 'px-16',
14
+ fieldGroup: [
15
+ {
16
+ wrappers: [],
17
+ type: 'checkbox',
18
+ key: 'profile',
19
+ class: 'checkbox ',
20
+ defaultValue: true,
21
+ templateOptions: {
22
+ label: 'form.scan.document.update.profile',
23
+ },
24
+ },
25
+ {
26
+ wrappers: [],
27
+ type: 'checkbox',
28
+ class: 'checkbox ',
29
+ key: 'document',
30
+ defaultValue: true,
31
+ templateOptions: {
32
+ label: 'form.scan.document.update.document',
33
+ },
34
+ },
35
+ {
36
+ wrappers: [],
37
+ type: 'checkbox',
38
+ class: 'checkbox ',
39
+ key: 'attachment',
40
+ defaultValue: true,
41
+ templateOptions: {
42
+ label: 'form.scan.document.update.attachment',
43
+ },
44
+ },
45
+ ].map((item) => this.translate.forms(item)),
46
+ },
47
+ ];
48
+ }
49
+ document() {
50
+ return [
51
+ {
52
+ className: 'w-200-p',
53
+ fieldGroupClassName: 'form-flex-row border-card profile-details',
54
+ fieldGroup: [
55
+ {
56
+ className: 'card-group',
57
+ fieldGroupClassName: 'wraper',
58
+ fieldGroup: [
59
+ {
60
+ type: 'title',
61
+ templateOptions: {
62
+ label: 'form.scan.document.guestDetailsTitle',
63
+ },
64
+ },
65
+ // {
66
+ // type: 'profile-image',
67
+ // key: '_avatar',
68
+ // templateOptions: {
69
+ // label: 'form.scan.document.firstName',
70
+ // },
71
+ // },
72
+ {
73
+ type: 'input',
74
+ key: 'firstName',
75
+ className: 'small',
76
+ templateOptions: {
77
+ label: 'form.scan.document.firstName',
78
+ required: true,
79
+ },
80
+ },
81
+ {
82
+ type: 'input',
83
+ key: 'lastName',
84
+ className: 'small',
85
+ templateOptions: {
86
+ label: 'form.scan.document.lastName',
87
+ required: true,
88
+ },
89
+ },
90
+ {
91
+ className: 'small',
92
+ key: 'secondName',
93
+ type: 'input',
94
+ templateOptions: {
95
+ color: 'accent',
96
+ label: 'form.scan.document.secondLastName',
97
+ },
98
+ hideExpression: 'model.hideSecondLastName',
99
+ },
100
+ {
101
+ type: 'input',
102
+ key: 'middleName',
103
+ className: 'small',
104
+ templateOptions: {
105
+ label: 'form.scan.document.middleName',
106
+ },
107
+ },
108
+ {
109
+ className: '',
110
+ fieldGroupClassName: 'form-flex-row space-between',
111
+ fieldGroup: [
112
+ {
113
+ type: 'datepicker',
114
+ key: 'birthDate',
115
+ className: 'w-100-p small mr-8',
116
+ templateOptions: {
117
+ label: 'form.scan.document.birthDate',
118
+ },
119
+ },
120
+ {
121
+ type: 'select',
122
+ key: 'gender',
123
+ className: 'w-100-p small ml-8',
124
+ templateOptions: {
125
+ label: 'form.scan.document.gender',
126
+ options: [
127
+ { value: 'MALE', label: 'MALE' },
128
+ { value: 'FEMALE', label: 'FEMALE' },
129
+ { value: 'NA', label: 'N/A' },
130
+ ],
131
+ },
132
+ },
133
+ ],
134
+ },
135
+ {
136
+ type: 'input',
137
+ key: 'birthPlace',
138
+ className: 'small',
139
+ templateOptions: {
140
+ label: 'form.scan.document.birthPlace',
141
+ },
142
+ },
143
+ {
144
+ type: 'select',
145
+ key: 'birthCountry',
146
+ className: 'small',
147
+ templateOptions: {
148
+ label: 'form.scan.document.birthCountry',
149
+ options: this.provider.countries(),
150
+ },
151
+ },
152
+ {
153
+ className: 'small',
154
+ key: 'nationality',
155
+ type: 'select',
156
+ templateOptions: {
157
+ label: 'form.scan.document.nationality',
158
+ // appearance: 'outline',
159
+ // options: this.profileProvider.nationalities(),
160
+ options: this.provider.countries(),
161
+ },
162
+ },
163
+ ],
164
+ },
165
+ {
166
+ className: 'card-group',
167
+ fieldGroupClassName: 'wraper',
168
+ fieldGroup: [
169
+ {
170
+ type: 'title',
171
+ templateOptions: {
172
+ label: 'form.scan.document.documentTitle',
173
+ },
174
+ },
175
+ {
176
+ type: 'select',
177
+ key: 'documentType',
178
+ templateOptions: {
179
+ label: 'form.scan.document.documentType',
180
+ options: [
181
+ { value: 'ID', label: 'Identity Document' },
182
+ { value: 'PASS', label: 'Passport' },
183
+ { value: 'DL', label: 'Driver Licence' },
184
+ ],
185
+ // valueProp: 'id',
186
+ // labelProp: 'value',
187
+ required: true,
188
+ },
189
+ },
190
+ {
191
+ type: 'input',
192
+ key: 'documentNumber',
193
+ templateOptions: {
194
+ label: 'form.scan.document.documentNumber',
195
+ required: true,
196
+ },
197
+ },
198
+ {
199
+ className: '',
200
+ fieldGroupClassName: 'form-flex-row space-between',
201
+ fieldGroup: [
202
+ {
203
+ type: 'datepicker',
204
+ key: 'issueDate',
205
+ className: 'small mr-8',
206
+ templateOptions: {
207
+ label: 'form.scan.document.issueDate',
208
+ },
209
+ },
210
+ {
211
+ type: 'datepicker',
212
+ key: 'expirationDate',
213
+ className: 'small ml-8',
214
+ templateOptions: {
215
+ label: 'form.scan.document.expirationDate',
216
+ },
217
+ },
218
+ ],
219
+ },
220
+ {
221
+ type: 'select',
222
+ key: 'issueStateCode',
223
+ templateOptions: {
224
+ label: 'form.scan.document.issuingStateCode',
225
+ options: this.provider.countries(),
226
+ },
227
+ },
228
+ {
229
+ type: 'input',
230
+ key: 'issuingPlace',
231
+ templateOptions: {
232
+ label: 'form.scan.document.issuingPlace',
233
+ required: false,
234
+ },
235
+ },
236
+ {
237
+ className: '',
238
+ fieldGroupClassName: 'form-flex-row space-between',
239
+ fieldGroup: [
240
+ {
241
+ type: 'title',
242
+ templateOptions: {
243
+ label: 'form.scan.document.addressTitle',
244
+ badge: 'communications',
245
+ },
246
+ },
247
+ ].map((item) => this.translate.forms(item)),
248
+ },
249
+ // {
250
+ // className: 'small',
251
+ // key: 'typeID',
252
+ // type: 'select',
253
+ // templateOptions: {
254
+ // label: 'form.profile.address.type',
255
+ // required: true,
256
+ // // options: this.profileProvider.addressTypes(),
257
+ // expressionProperties: {
258
+ // 'templateOptions.disabled': (model: any) =>
259
+ // model.newAddress,
260
+ // },
261
+ // onClearValue: (field: FormlyFieldConfig) => {
262
+ // field.formControl?.setValue('');
263
+ // field.model.typeID = 0;
264
+ // },
265
+ // onSetNewValue: (field: FormlyFieldConfig, optObj: any) => {
266
+ // field.formControl?.setValue(optObj.value);
267
+ // field.model.typeID = optObj.value;
268
+ // },
269
+ // },
270
+ // expressionProperties: {
271
+ // 'templateOptions.disabled': (model: any) => !model.newAddress,
272
+ // },
273
+ // },
274
+ {
275
+ className: 'small',
276
+ key: 'country',
277
+ type: 'select',
278
+ templateOptions: {
279
+ required: true,
280
+ label: 'form.profile.address.country',
281
+ options: this.provider.countries(),
282
+ },
283
+ // expressionProperties: {
284
+ // 'templateOptions.disabled': (model: any) => !model.newAddress,
285
+ // },
286
+ hooks: {
287
+ onInit: (model) => {
288
+ console.log(model);
289
+ },
290
+ },
291
+ },
292
+ {
293
+ className: '',
294
+ fieldGroupClassName: 'form-flex-row space-between',
295
+ fieldGroup: [
296
+ {
297
+ className: 'mr-8 w-100-p',
298
+ key: 'zip',
299
+ type: 'input',
300
+ templateOptions: {
301
+ label: 'form.profile.address.zip',
302
+ labelProp: (item) => {
303
+ return `${item.zip} (${item.city})`;
304
+ },
305
+ set: (field, option) => {
306
+ // console.log(option, field);
307
+ field.formControl.setValue(option.value.zip);
308
+ // set CITY
309
+ field.form.get('city').setValue(option.value.city);
310
+ },
311
+ filter: (key, field) => {
312
+ // return this.profileProvider.zipCodes({
313
+ // countryCode: field.form.get('country').value,
314
+ // zip: key,
315
+ // });
316
+ },
317
+ },
318
+ // expressionProperties: {
319
+ // 'templateOptions.disabled': (model: any) =>
320
+ // !model.newAddress,
321
+ // },
322
+ },
323
+ {
324
+ className: 'small ml-8',
325
+ key: 'city',
326
+ type: 'input',
327
+ templateOptions: {
328
+ label: 'form.profile.address.city',
329
+ },
330
+ // expressionProperties: {
331
+ // 'templateOptions.disabled': (model: any) =>
332
+ // !model.newAddress,
333
+ // },
334
+ },
335
+ ].map((item) => this.translate.forms(item)),
336
+ },
337
+ // {
338
+ // className: 'small',
339
+ // key: 'state',
340
+ // type: 'input',
341
+ // templateOptions: {
342
+ // label: 'form.profile.address.state',
343
+ // },
344
+ // // expressionProperties: {
345
+ // // 'templateOptions.disabled': (model: any) => !model.newAddress,
346
+ // // },
347
+ // },
348
+ // {
349
+ // className: 'small',
350
+ // key: 'countryStateID',
351
+ // type: 'select',
352
+ // templateOptions: {
353
+ // label: 'form.profile.address.regionalStatistics',
354
+ // options: this.provider.countries(),
355
+ // },
356
+ // // expressionProperties: {
357
+ // // 'templateOptions.disabled': (model: any) => !model.newAddress,
358
+ // // },
359
+ // },
360
+ {
361
+ className: 'small w-100-p',
362
+ key: 'street1',
363
+ type: 'input',
364
+ templateOptions: {
365
+ label: 'form.profile.address.street',
366
+ },
367
+ // expressionProperties: {
368
+ // 'templateOptions.disabled': (model: any) => !model.newAddress,
369
+ // },
370
+ },
371
+ ],
372
+ },
373
+ ],
374
+ },
375
+ ].map((item) => this.translate.forms(item));
376
+ }
377
+ }
378
+ ScanFieldsProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScanFieldsProvider, deps: [{ token: i1.TranslationProvider }, { token: i2.ScanProvider }], target: i0.ɵɵFactoryTarget.Injectable });
379
+ ScanFieldsProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScanFieldsProvider, providedIn: 'root' });
380
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScanFieldsProvider, decorators: [{
381
+ type: Injectable,
382
+ args: [{
383
+ providedIn: 'root',
384
+ }]
385
+ }], ctorParameters: function () { return [{ type: i1.TranslationProvider }, { type: i2.ScanProvider }]; } });
386
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL3Byb3ZpZGVycy9zY2FuLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVUzQyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1UsU0FBOEIsRUFDOUIsUUFBc0I7UUFEdEIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBYztJQUM3QixDQUFDO0lBRUosTUFBTTtRQUNKLE9BQU87WUFDTDtnQkFDRSxtQkFBbUIsRUFBRSxPQUFPO2dCQUM1QixVQUFVLEVBQUU7b0JBQ1Y7d0JBQ0UsUUFBUSxFQUFFLEVBQUU7d0JBQ1osSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLEdBQUcsRUFBRSxTQUFTO3dCQUNkLEtBQUssRUFBRSxXQUFXO3dCQUNsQixZQUFZLEVBQUUsSUFBSTt3QkFDbEIsZUFBZSxFQUFFOzRCQUNmLEtBQUssRUFBRSxtQ0FBbUM7eUJBQzNDO3FCQUNGO29CQUNEO3dCQUNFLFFBQVEsRUFBRSxFQUFFO3dCQUNaLElBQUksRUFBRSxVQUFVO3dCQUNoQixLQUFLLEVBQUUsV0FBVzt3QkFDbEIsR0FBRyxFQUFFLFVBQVU7d0JBQ2YsWUFBWSxFQUFFLElBQUk7d0JBQ2xCLGVBQWUsRUFBRTs0QkFDZixLQUFLLEVBQUUsb0NBQW9DO3lCQUM1QztxQkFDRjtvQkFDRDt3QkFDRSxRQUFRLEVBQUUsRUFBRTt3QkFDWixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsS0FBSyxFQUFFLFdBQVc7d0JBQ2xCLEdBQUcsRUFBRSxZQUFZO3dCQUNqQixZQUFZLEVBQUUsSUFBSTt3QkFDbEIsZUFBZSxFQUFFOzRCQUNmLEtBQUssRUFBRSxzQ0FBc0M7eUJBQzlDO3FCQUNGO2lCQUNGLENBQUMsR0FBRyxDQUFDLENBQUMsSUFB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QkFDL0Isd0VBQXdFOzRCQUN4RSxVQUFVOzRCQUNWLEtBQUs7NEJBQ0w7Z0NBQ0UsU0FBUyxFQUFFLGVBQWU7Z0NBQzFCLEdBQUcsRUFBRSxTQUFTO2dDQUNkLElBQUksRUFBRSxPQUFPO2dDQUNiLGVBQWUsRUFBRTtvQ0FDZixLQUFLLEVBQUUsNkJBQTZCO2lDQUNyQztnQ0FDRCwwQkFBMEI7Z0NBQzFCLG1FQUFtRTtnQ0FDbkUsS0FBSzs2QkFDTjt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO1NBQ0YsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7K0dBMVhVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdE9wdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2NhblByb3ZpZGVyIH0gZnJvbSAnLi9zY2FuLnByb3ZpZGVyJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uUHJvdmlkZXIgfSBmcm9tICcuL3RyYW5zbGF0aW9uLnByb3ZpZGVyJztcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY2FuRmllbGRzUHJvdmlkZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRpb25Qcm92aWRlcixcbiAgICBwcml2YXRlIHByb3ZpZGVyOiBTY2FuUHJvdmlkZXJcbiAgKSB7fVxuXG4gIHVwZGF0ZSgpOiBGb3JtbHlGaWVsZENvbmZpZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBmaWVsZEdyb3VwQ2xhc3NOYW1lOiAncHgtMTYnLFxuICAgICAgICBmaWVsZEdyb3VwOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgd3JhcHBlcnM6IFtdLFxuICAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgICAgICAgIGtleTogJ3Byb2ZpbGUnLFxuICAgICAgICAgICAgY2xhc3M6ICdjaGVja2JveCAnLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnZm9ybS5zY2FuLmRvY3VtZW50LnVwZGF0ZS5wcm9maWxlJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB3cmFwcGVyczogW10sXG4gICAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgICAgY2xhc3M6ICdjaGVja2JveCAnLFxuICAgICAgICAgICAga2V5OiAnZG9jdW1lbnQnLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnZm9ybS5zY2FuLmRvY3VtZW50LnVwZGF0ZS5kb2N1bWVudCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgd3JhcHBlcnM6IFtdLFxuICAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgICAgICAgIGNsYXNzOiAnY2hlY2tib3ggJyxcbiAgICAgICAgICAgIGtleTogJ2F0dGFjaG1lbnQnLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnZm9ybS5zY2FuLmRvY3VtZW50LnVwZGF0ZS5hdHRhY2htZW50JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXS5tYXAoKGl0ZW0pID0+IHRoaXMudHJhbnNsYXRlLmZvcm1zKGl0ZW0pKSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuICBkb2N1bWVudCgpOiBGb3JtbHlGaWVsZENvbmZpZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICd3LTIwMC1wJyxcbiAgICAgICAgZmllbGRHcm91cENsYXNzTmFtZTogJ2Zvcm0tZmxleC1yb3cgYm9yZGVyLWNhcmQgcHJvZmlsZS1kZXRhaWxzJyxcbiAgICAgICAgZmllbGRHcm91cDogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZTogJ2NhcmQtZ3JvdXAnLFxuICAgICAgICAgICAgZmllbGRHcm91cENsYXNzTmFtZTogJ3dyYXBlcicsXG4gICAgICAgICAgICBmaWVsZEdyb3VwOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAndGl0bGUnLFxuICAgICAgICAgICAgICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdmb3JtLnNjYW4uZG9jdW1lbnQuZ3Vlc3REZXRhaWxzVGl0bGUnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIC8vIHtcbiAgICAgICAgICAgICAgLy8gICB0eXBlOiAncHJvZmlsZS1pbWFnZScsXG4gICAgICAgICAgICAgIC8vICAga2V5OiAnX2F2YXRhcicsXG4gICAgICAgICAgICAgIC8vICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICAgICAgICAgIC8vICAgICBsYWJlbDogJ2Zvcm0uc2Nhbi5kb2N1bWVudC5maXJzdE5hbWUnLFxuICAgICAgICAgICAgICAvLyAgIH0sXG4gICAgICAgICAgICAgIC8vIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW5wdXQnLFxuICAgICAgICAgICAgICAgIGtleTogJ2ZpcnN0TmFtZScsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAnc21hbGwnLFxuICAgICAgICAgICAgICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdmb3JtLnNjYW4uZG9jdW1lbnQuZmlyc3ROYW1lJyxcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW5wdXQnLFxuICAgICAgICAgICAgICAgIGtleTogJ2xhc3ROYW1lJyxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ2Zvcm0uc2Nhbi5kb2N1bWVudC5sYXN0TmFtZScsXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAnc21hbGwnLFxuICAgICAgICAgICAgICAgIGtleTogJ3NlY29uZE5hbWUnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ2FjY2VudCcsXG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ2Zvcm0uc2Nhbi5kb2N1bWVudC5zZWNvbmRMYXN0TmFtZScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBoaWRlRXhwcmVzc2lvbjogJ21vZGVsLmhpZGVTZWNvbmRMYXN0TmFtZScsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW5wdXQnLFxuICAgICAgICAgICAgICAgIGtleTogJ21pZGRsZU5hbWUnLFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnZm9ybS5zY2FuLmRvY3VtZW50Lm1pZGRsZU5hbWUnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICcnLFxuICAgICAgICAgICAgICAgIGZpZWxkR3JvdXBDbGFzc05hbWU6ICdmb3JtLWZsZXgtcm93IHNwYWNlLWJldHdlZW4nLFxuICAgICAgICAgICAgICAgIGZpZWxkR3JvdXA6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2RhdGVwaWNrZXInLFxuICAgICAgICAgICAgICAgICAgICBrZXk6ICdiaXJ0aERhdGUnLFxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICd3LTEwMC1wIHNtYWxsIG1yLTgnLFxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ2Zvcm0uc2Nhbi5kb2N1bWVudC5iaXJ0aERhdGUnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgICAgICAgICAgICAgICAgIGtleTogJ2dlbmRlcicsXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogJ3ctMTAwLXAgc21hbGwgbWwtOCcsXG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnZm9ybS5zY2FuLmRvY3VtZW50LmdlbmRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogJ01BTEUnLCBsYWJlbDogJ01BTEUnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiAnRkVNQUxFJywgbGFiZWw6ICdGRU1BTEUnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiAnTkEnLCBsYWJlbDogJ04vQScgfSxcbiAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW5wdXQnLFxuICAgICAgICAgICAgICAgIGtleTogJ2JpcnRoUGxhY2UnLFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnZm9ybS5zY2FuLmRvY3VtZW50LmJpcnRoUGxhY2UnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICAgICAgICAgICAgICBrZXk6ICdiaXJ0aENvdW50cnknLFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnZm9ybS5zY2FuLmRvY3VtZW50LmJpcnRoQ291bnRyeScsXG5cbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMucHJvdmlkZXIuY291bnRyaWVzKCksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICBrZXk6ICduYXRpb25hbGl0eScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ2Zvcm0uc2Nhbi5kb2N1bWVudC5uYXRpb25hbGl0eScsXG4gICAgICAgICAgICAgICAgICAvLyAgIGFwcGVhcmFuY2U6ICdvdXRsaW5lJyxcbiAgICAgICAgICAgICAgICAgIC8vICBvcHRpb25zOiB0aGlzLnByb2ZpbGVQcm92aWRlci5uYXRpb25hbGl0aWVzKCksXG4gICAgICAgICAgICAgICAgICBvcHRpb25zOiB0aGlzLnByb3ZpZGVyLmNvdW50cmllcygpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgY2xhc3NOYW1lOiAnY2FyZC1ncm91cCcsXG4gICAgICAgICAgICBmaWVsZEdyb3VwQ2xhc3NOYW1lOiAnd3JhcGVyJyxcbiAgICAgICAgICAgIGZpZWxkR3JvdXA6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHR5cGU6ICd0aXRsZScsXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ2Zvcm0uc2Nhbi5kb2N1bWVudC5kb2N1bWVudFRpdGxlJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgICAgICAgICAgICAga2V5OiAnZG9jdW1lbnRUeXBlJyxcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnZm9ybS5zY2FuLmRvY3VtZW50LmRvY3VtZW50VHlwZScsXG4gICAgICAgICAgICAgICAgICBvcHRpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdJRCcsIGxhYmVsOiAnSWRlbnRpdHkgRG9jdW1lbnQnIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdQQVNTJywgbGFiZWw6ICdQYXNzcG9ydCcgfSxcbiAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogJ0RMJywgbGFiZWw6ICdEcml2ZXIgTGljZW5jZScgfSxcbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgLy8gIHZhbHVlUHJvcDogJ2lkJyxcbiAgICAgICAgICAgICAgICAvLyAgbGFiZWxQcm9wOiAndmFsdWUnLFxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXG4gICAgICAgICAgICAgICAga2V5OiAnZG9jdW1lbnROdW1iZXInLFxuICAgICAgICAgICAgICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdmb3JtLnNjYW4uZG9jdW1lbnQuZG9jdW1lbnROdW1iZXInLFxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogJycsXG4gICAgICAgICAgICAgICAgZmllbGRHcm91cENsYXNzTmFtZTogJ2Zvcm0tZmxleC1yb3cgc3BhY2UtYmV0d2VlbicsXG4gICAgICAgICAgICAgICAgZmllbGRHcm91cDogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZGF0ZXBpY2tlcicsXG4gICAgICAgICAgICAgICAgICAgIGtleTogJ2lzc3VlRGF0ZScsXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogJ3NtYWxsIG1yLTgnLFxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ2Zvcm0uc2Nhbi5kb2N1bWVudC5pc3N1ZURhdGUnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2RhdGVwaWNrZXInLFxuICAgICAgICAgICAgICAgICAgICBrZXk6ICdleHBpcmF0aW9uRGF0ZScsXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogJ3NtYWxsIG1sLTgnLFxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ2Zvcm0uc2Nhbi5kb2N1bWVudC5leHBpcmF0aW9uRGF0ZScsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICAgICAgICAgICAgICBrZXk6ICdpc3N1ZVN0YXRlQ29kZScsXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ2Zvcm0uc2Nhbi5kb2N1bWVudC5pc3N1aW5nU3RhdGVDb2RlJyxcblxuICAgICAgICAgICAgICAgICAgb3B0aW9uczogdGhpcy5wcm92aWRlci5jb3VudHJpZXMoKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2lucHV0JyxcbiAgICAgICAgICAgICAgICBrZXk6ICdpc3N1aW5nUGxhY2UnLFxuICAgICAgICAgICAgICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdmb3JtLnNjYW4uZG9jdW1lbnQuaXNzdWluZ1BsYWNlJyxcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAnJyxcbiAgICAgICAgICAgICAgICBmaWVsZEdyb3VwQ2xhc3NOYW1lOiAnZm9ybS1mbGV4LXJvdyBzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgICAgICAgICBmaWVsZEdyb3VwOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd0aXRsZScsXG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnZm9ybS5zY2FuLmRvY3VtZW50LmFkZHJlc3NUaXRsZScsXG4gICAgICAgICAgICAgICAgICAgICAgYmFkZ2U6ICdjb21tdW5pY2F0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAgICAgXS5tYXAoKGl0ZW0pID0+IHRoaXMudHJhbnNsYXRlLmZvcm1zKGl0ZW0pKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgLy8ge1xuICAgICAgICAgICAgICAvLyAgIGNsYXNzTmFtZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgLy8gICBrZXk6ICd0eXBlSUQnLFxuICAgICAgICAgICAgICAvLyAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgICAgICAgICAvLyAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgICAgICAgICAvLyAgICAgbGFiZWw6ICdmb3JtLnByb2ZpbGUuYWRkcmVzcy50eXBlJyxcbiAgICAgICAgICAgICAgLy8gICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAvLyAgICAgLy8gIG9wdGlvbnM6IHRoaXMucHJvZmlsZVByb3ZpZGVyLmFkZHJlc3NUeXBlcygpLFxuICAgICAgICAgICAgICAvLyAgICAgZXhwcmVzc2lvblByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgLy8gICAgICAgJ3RlbXBsYXRlT3B0aW9ucy5kaXNhYmxlZCc6IChtb2RlbDogYW55KSA9PlxuICAgICAgICAgICAgICAvLyAgICAgICAgIG1vZGVsLm5ld0FkZHJlc3MsXG4gICAgICAgICAgICAgIC8vICAgICB9LFxuICAgICAgICAgICAgICAvLyAgICAgb25DbGVhclZhbHVlOiAoZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgICAgICAgICAgIC8vICAgICAgIGZpZWxkLmZvcm1Db250cm9sPy5zZXRWYWx1ZSgnJyk7XG4gICAgICAgICAgICAgIC8vICAgICAgIGZpZWxkLm1vZGVsLnR5cGVJRCA9IDA7XG4gICAgICAgICAgICAgIC8vICAgICB9LFxuICAgICAgICAgICAgICAvLyAgICAgb25TZXROZXdWYWx1ZTogKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZywgb3B0T2JqOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgLy8gICAgICAgZmllbGQuZm9ybUNvbnRyb2w/LnNldFZhbHVlKG9wdE9iai52YWx1ZSk7XG4gICAgICAgICAgICAgIC8vICAgICAgIGZpZWxkLm1vZGVsLnR5cGVJRCA9IG9wdE9iai52YWx1ZTtcbiAgICAgICAgICAgICAgLy8gICAgIH0sXG4gICAgICAgICAgICAgIC8vICAgfSxcbiAgICAgICAgICAgICAgLy8gICBleHByZXNzaW9uUHJvcGVydGllczoge1xuICAgICAgICAgICAgICAvLyAgICAgJ3RlbXBsYXRlT3B0aW9ucy5kaXNhYmxlZCc6IChtb2RlbDogYW55KSA9PiAhbW9kZWwubmV3QWRkcmVzcyxcbiAgICAgICAgICAgICAgLy8gICB9LFxuICAgICAgICAgICAgICAvLyB9LFxuXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgICAga2V5OiAnY291bnRyeScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnZm9ybS5wcm9maWxlLmFkZHJlc3MuY291bnRyeScsXG4gICAgICAgICAgICAgICAgICBvcHRpb25zOiB0aGlzLnByb3ZpZGVyLmNvdW50cmllcygpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgLy8gZXhwcmVzc2lvblByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAvLyAgICd0ZW1wbGF0ZU9wdGlvbnMuZGlzYWJsZWQnOiAobW9kZWw6IGFueSkgPT4gIW1vZGVsLm5ld0FkZHJlc3MsXG4gICAgICAgICAgICAgICAgLy8gfSxcbiAgICAgICAgICAgICAgICBob29rczoge1xuICAgICAgICAgICAgICAgICAgb25Jbml0OiAobW9kZWw6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhtb2RlbCk7XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICcnLFxuICAgICAgICAgICAgICAgIGZpZWxkR3JvdXBDbGFzc05hbWU6ICdmb3JtLWZsZXgtcm93IHNwYWNlLWJldHdlZW4nLFxuICAgICAgICAgICAgICAgIGZpZWxkR3JvdXA6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAnbXItOCB3LTEwMC1wJyxcbiAgICAgICAgICAgICAgICAgICAga2V5OiAnemlwJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2lucHV0JyxcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdmb3JtLnByb2ZpbGUuYWRkcmVzcy56aXAnLFxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsUHJvcDogKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2l0ZW0uemlwfSAoJHtpdGVtLmNpdHl9KWA7XG4gICAgICAgICAgICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgICAgICAgICAgIHNldDogKGZpZWxkOiBhbnksIG9wdGlvbjogTWF0T3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhvcHRpb24sIGZpZWxkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLmZvcm1Db250cm9sLnNldFZhbHVlKG9wdGlvbi52YWx1ZS56aXApO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2V0IENJVFlcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLmZvcm0uZ2V0KCdjaXR5Jykuc2V0VmFsdWUob3B0aW9uLnZhbHVlLmNpdHkpO1xuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiAoa2V5OiBzdHJpbmcsIGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJldHVybiB0aGlzLnByb2ZpbGVQcm92aWRlci56aXBDb2Rlcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgIGNvdW50cnlDb2RlOiBmaWVsZC5mb3JtLmdldCgnY291bnRyeScpLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gICB6aXA6IGtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIH0pO1xuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIC8vIGV4cHJlc3Npb25Qcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICAgIC8vICAgJ3RlbXBsYXRlT3B0aW9ucy5kaXNhYmxlZCc6IChtb2RlbDogYW55KSA9PlxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgIW1vZGVsLm5ld0FkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgIC8vIH0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICdzbWFsbCBtbC04JyxcbiAgICAgICAgICAgICAgICAgICAga2V5OiAnY2l0eScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnZm9ybS5wcm9maWxlLmFkZHJlc3MuY2l0eScsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIC8vIGV4cHJlc3Npb25Qcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICAgIC8vICAgJ3RlbXBsYXRlT3B0aW9ucy5kaXNhYmxlZCc6IChtb2RlbDogYW55KSA9PlxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgIW1vZGVsLm5ld0FkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgIC8vIH0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0ubWFwKChpdGVtKSA9PiB0aGlzLnRyYW5zbGF0ZS5mb3JtcyhpdGVtKSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIC8vIHtcbiAgICAgICAgICAgICAgLy8gICBjbGFzc05hbWU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgIC8vICAga2V5OiAnc3RhdGUnLFxuICAgICAgICAgICAgICAvLyAgIHR5cGU6ICdpbnB1dCcsXG4gICAgICAgICAgICAgIC8vICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICAgICAgICAgIC8vICAgICBsYWJlbDogJ2Zvcm0ucHJvZmlsZS5hZGRyZXNzLnN0YXRlJyxcbiAgICAgICAgICAgICAgLy8gICB9LFxuICAgICAgICAgICAgICAvLyAgIC8vIGV4cHJlc3Npb25Qcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIC8vICAgLy8gICAndGVtcGxhdGVPcHRpb25zLmRpc2FibGVkJzogKG1vZGVsOiBhbnkpID0+ICFtb2RlbC5uZXdBZGRyZXNzLFxuICAgICAgICAgICAgICAvLyAgIC8vIH0sXG4gICAgICAgICAgICAgIC8vIH0sXG4gICAgICAgICAgICAgIC8vIHtcbiAgICAgICAgICAgICAgLy8gICBjbGFzc05hbWU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgIC8vICAga2V5OiAnY291bnRyeVN0YXRlSUQnLFxuICAgICAgICAgICAgICAvLyAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgICAgICAgICAvLyAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgICAgICAgICAvLyAgICAgbGFiZWw6ICdmb3JtLnByb2ZpbGUuYWRkcmVzcy5yZWdpb25hbFN0YXRpc3RpY3MnLFxuICAgICAgICAgICAgICAvLyAgICAgb3B0aW9uczogdGhpcy5wcm92aWRlci5jb3VudHJpZXMoKSxcbiAgICAgICAgICAgICAgLy8gICB9LFxuICAgICAgICAgICAgICAvLyAgIC8vIGV4cHJlc3Npb25Qcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIC8vICAgLy8gICAndGVtcGxhdGVPcHRpb25zLmRpc2FibGVkJzogKG1vZGVsOiBhbnkpID0+ICFtb2RlbC5uZXdBZGRyZXNzLFxuICAgICAgICAgICAgICAvLyAgIC8vIH0sXG4gICAgICAgICAgICAgIC8vIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICdzbWFsbCB3LTEwMC1wJyxcbiAgICAgICAgICAgICAgICBrZXk6ICdzdHJlZXQxJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW5wdXQnLFxuICAgICAgICAgICAgICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdmb3JtLnByb2ZpbGUuYWRkcmVzcy5zdHJlZXQnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgLy8gZXhwcmVzc2lvblByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAvLyAgICd0ZW1wbGF0ZU9wdGlvbnMuZGlzYWJsZWQnOiAobW9kZWw6IGFueSkgPT4gIW1vZGVsLm5ld0FkZHJlc3MsXG4gICAgICAgICAgICAgICAgLy8gfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXS5tYXAoKGl0ZW0pID0+IHRoaXMudHJhbnNsYXRlLmZvcm1zKGl0ZW0pKTtcbiAgfVxufVxuIl19