special-forms 17.0.0 → 18.0.0-SNAPSHOT-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 (30) hide show
  1. package/esm2022/lib/components/special-autocomplete/special-autocomplete.component.mjs +5 -5
  2. package/esm2022/lib/components/special-checkbox/special-checkbox.component.mjs +7 -8
  3. package/esm2022/lib/components/special-datepicker/special-datepicker.component.mjs +6 -7
  4. package/esm2022/lib/components/special-dropdown/special-dropdown.component.mjs +5 -5
  5. package/esm2022/lib/components/special-form/special-form.component.mjs +14 -14
  6. package/esm2022/lib/components/special-form/special-form.module.mjs +4 -4
  7. package/esm2022/lib/components/special-input/special-input.component.mjs +10 -11
  8. package/esm2022/lib/components/special-label/special-label.component.mjs +5 -5
  9. package/esm2022/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.component.mjs +5 -5
  10. package/esm2022/lib/components/special-richtext/special-richtext.component.mjs +19 -16
  11. package/esm2022/lib/components/special-richtext/special-richtext.interface.mjs +1 -1
  12. package/esm2022/lib/components/special-text-area/special-text-area.component.mjs +10 -11
  13. package/esm2022/lib/components/special-upload/special-upload-viewer.pipe.mjs +93 -0
  14. package/esm2022/lib/components/special-upload/special-upload.component.mjs +35 -46
  15. package/esm2022/lib/components/special-upload/special-upload.interface.mjs +1 -1
  16. package/esm2022/lib/core/forms/special-forms.mjs +1 -1
  17. package/esm2022/lib/core/pipes/controls-list-pipe/controls-list.pipe.mjs +3 -3
  18. package/esm2022/lib/core/pipes/error-message-pipe/error.pipe.mjs +4 -4
  19. package/esm2022/lib/core/pipes/text-by-function/text-by-function.pipe.mjs +4 -4
  20. package/esm2022/lib/core/services/error-state-matcher/error-matcher.mjs +3 -3
  21. package/esm2022/lib/core/services/special-form-builder/special-form-builder.service.mjs +4 -4
  22. package/fesm2022/special-forms.mjs +205 -127
  23. package/fesm2022/special-forms.mjs.map +1 -1
  24. package/lib/components/special-richtext/special-richtext.component.d.ts +2 -4
  25. package/lib/components/special-richtext/special-richtext.interface.d.ts +2 -1
  26. package/lib/components/special-upload/special-upload-viewer.pipe.d.ts +25 -0
  27. package/lib/components/special-upload/special-upload.component.d.ts +6 -13
  28. package/lib/components/special-upload/special-upload.interface.d.ts +2 -1
  29. package/lib/styles/tailwind-final.scss +144 -7
  30. package/package.json +10 -9
@@ -0,0 +1,93 @@
1
+ import { inject, Pipe } from '@angular/core';
2
+ import { DomSanitizer } from '@angular/platform-browser';
3
+ import * as i0 from "@angular/core";
4
+ export class previewImageUrlPipe {
5
+ constructor() {
6
+ this.imageTypeFormats = [
7
+ 'jpeg',
8
+ 'jpg',
9
+ 'png',
10
+ 'gif',
11
+ 'bmp',
12
+ 'webp',
13
+ 'svg',
14
+ ];
15
+ this.docFormats = ['doc', 'docx'];
16
+ this.pdfIcon = `
17
+ <svg version="1.1" id="_x34_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" xml:space="preserve" width="800px" height="800px" fill="#000000">
18
+ <g id="SVGRepo_bgCarrier" stroke-width="0"/>
19
+ <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"/>
20
+ <g id="SVGRepo_iconCarrier"> <g> <polygon style="fill:#FFFEFE;" points="475.435,117.825 475.435,512 47.791,512 47.791,0.002 357.613,0.002 412.491,54.881 "/> <rect x="36.565" y="34.295" style="fill:#B43331;" width="205.097" height="91.768"/> <g> <g> <path style="fill:#FFFEFE;" d="M110.133,64.379c-0.905-2.186-2.111-4.146-3.769-5.804c-1.659-1.658-3.694-3.015-6.031-3.92 c-2.412-0.98-5.127-1.432-8.141-1.432H69.652v58.195h11.383V89.481h11.157c3.015,0,5.729-0.452,8.141-1.432 c2.337-0.905,4.371-2.261,6.031-3.92c1.658-1.658,2.865-3.543,3.769-5.804c0.828-2.186,1.281-4.523,1.281-6.935 C111.413,68.902,110.961,66.565,110.133,64.379z M97.845,77.118c-1.508,1.432-3.618,2.186-6.182,2.186H81.035V63.323h10.628 c2.564,0,4.674,0.754,6.182,2.261c1.432,1.432,2.185,3.392,2.185,5.804C100.031,73.726,99.277,75.686,97.845,77.118z"/> <path style="fill:#FFFEFE;" d="M164.558,75.761c-0.075-2.035-0.15-3.844-0.377-5.503c-0.225-1.659-0.603-3.166-1.131-4.598 c-0.527-1.357-1.206-2.714-2.111-3.92c-2.035-2.94-4.522-5.126-7.312-6.483c-2.864-1.357-6.256-2.035-10.252-2.035H122.42v58.195 h20.956c3.996,0,7.388-0.678,10.252-2.035c2.79-1.357,5.277-3.543,7.312-6.483c0.905-1.206,1.584-2.563,2.111-3.92 c0.528-1.432,0.905-2.94,1.131-4.598c0.227-1.658,0.301-3.468,0.377-5.503c0.075-1.96,0.075-4.146,0.075-6.558 C164.633,79.908,164.633,77.721,164.558,75.761z M153.175,88.2c0,1.734-0.15,3.091-0.302,4.297 c-0.151,1.131-0.376,2.186-0.678,2.94c-0.301,0.829-0.754,1.583-1.281,2.261c-1.885,2.412-4.749,3.543-8.518,3.543h-8.668V63.323 h8.668c3.769,0,6.634,1.206,8.518,3.618c0.528,0.678,0.98,1.357,1.281,2.186c0.302,0.829,0.528,1.809,0.678,3.015 c0.152,1.131,0.302,2.563,0.302,4.221c0.075,1.659,0.075,3.694,0.075,5.955C153.251,84.581,153.251,86.541,153.175,88.2z"/> <path style="fill:#FFFEFE;" d="M213.18,63.323V53.222h-38.37v58.195h11.383V87.823h22.992V77.646h-22.992V63.323H213.18z"/> </g> <g> <path style="fill:#FFFEFE;" d="M110.133,64.379c-0.905-2.186-2.111-4.146-3.769-5.804c-1.659-1.658-3.694-3.015-6.031-3.92 c-2.412-0.98-5.127-1.432-8.141-1.432H69.652v58.195h11.383V89.481h11.157c3.015,0,5.729-0.452,8.141-1.432 c2.337-0.905,4.371-2.261,6.031-3.92c1.658-1.658,2.865-3.543,3.769-5.804c0.828-2.186,1.281-4.523,1.281-6.935 C111.413,68.902,110.961,66.565,110.133,64.379z M97.845,77.118c-1.508,1.432-3.618,2.186-6.182,2.186H81.035V63.323h10.628 c2.564,0,4.674,0.754,6.182,2.261c1.432,1.432,2.185,3.392,2.185,5.804C100.031,73.726,99.277,75.686,97.845,77.118z"/> </g> </g> <polygon style="opacity:0.08;fill:#040000;" points="475.435,117.825 475.435,512 47.791,512 47.791,419.581 247.706,219.667 259.541,207.832 266.099,201.273 277.029,190.343 289.995,177.377 412.491,54.881 "/> <polygon style="fill:#BBBBBA;" points="475.435,117.836 357.6,117.836 357.6,0 "/> <g> <path style="fill:#B43331;" d="M414.376,370.658c-2.488-4.372-5.88-8.518-10.101-12.287c-3.467-3.166-7.538-6.106-12.137-8.82 c-18.543-10.93-45.003-16.207-80.961-16.207h-3.618c-1.96-1.809-3.996-3.618-6.106-5.503 c-13.644-12.287-24.499-25.63-32.942-40.48c16.583-36.561,24.499-69.126,23.519-96.867c-0.151-4.674-0.83-9.046-2.036-13.117 c-1.808-6.558-4.824-12.363-9.046-17.112c-0.075-0.075-0.075-0.075-0.15-0.151c-6.709-7.538-16.056-11.835-25.555-11.835 c-9.574,0-18.393,4.146-24.802,11.76c-6.331,7.538-9.724,17.866-9.875,30.002c-0.225,18.544,1.282,36.108,4.448,52.315 c0.301,1.282,0.528,2.563,0.829,3.844c3.166,14.7,7.84,28.645,13.871,41.611c-7.086,14.398-14.248,26.836-19.222,35.279 c-3.769,6.408-7.916,13.117-12.213,19.826c-19.373,3.468-35.807,7.689-50.129,12.966c-19.374,7.011-34.903,16.056-46.059,26.836 c-7.238,6.935-12.137,14.323-14.55,22.012c-2.563,7.915-2.411,15.83,0.453,22.916c2.638,6.558,7.387,12.061,13.719,15.83 c1.508,0.905,3.091,1.658,4.749,2.337c4.825,1.96,10.102,3.015,15.604,3.015c12.74,0,25.856-5.503,36.938-15.378 c20.654-18.469,41.988-48.169,54.576-66.94c10.327-1.583,21.559-2.94,34.224-4.297c14.927-1.508,28.118-2.412,40.104-2.865 c3.694,3.317,7.237,6.483,10.63,9.498c18.846,16.81,33.168,28.947,46.134,37.465c0,0.075,0.075,0.075,0.15,0.075 c5.127,3.392,10.026,6.181,14.926,8.443c5.502,2.563,11.081,3.92,16.81,3.92c7.237,0,14.021-2.186,19.675-6.181 c5.729-4.146,9.875-10.101,11.76-16.81C420.181,387.694,418.899,378.724,414.376,370.658z M247.706,219.667 c-1.056-9.348-1.508-19.072-1.357-29.324c0.15-9.724,3.694-16.283,8.895-16.283c3.919,0,8.066,3.543,9.951,10.327 c0.528,2.035,0.905,4.372,0.98,7.01c0.15,3.166,0.075,6.483-0.075,9.875c-0.452,9.574-2.112,19.75-4.976,30.681 c-1.734,7.011-3.995,14.323-6.784,21.936C251.173,243.186,248.911,231.803,247.706,219.667z M121.968,418.073 c-1.282-3.166,0.15-9.272,7.99-16.81c11.985-11.458,30.755-20.504,56.914-27.364c-4.976,6.784-9.875,12.966-14.625,18.619 c-7.237,8.744-14.172,16.132-20.429,21.71c-5.351,4.824-11.232,7.84-16.81,8.594c-0.98,0.151-1.96,0.226-2.94,0.226 C127.169,423.049,123.173,421.089,121.968,418.073z M242.428,337.942l0.528-0.829l-0.829,0.151 c0.15-0.377,0.377-0.754,0.602-1.055c3.167-5.352,7.161-12.212,11.458-20.127l0.377,0.829l0.98-2.035 c3.166,4.523,6.634,8.971,10.252,13.267c1.735,2.035,3.544,3.995,5.352,5.955l-1.205,0.075l1.055,0.98 c-3.09,0.226-6.331,0.528-9.573,0.829c-2.036,0.226-4.147,0.377-6.257,0.603C250.796,337.037,246.499,337.49,242.428,337.942z M369.298,384.98c-8.97-5.729-18.997-13.795-31.36-24.575c17.564,1.809,31.36,5.654,41.159,11.383 c4.297,2.488,7.538,5.051,9.724,7.538c3.619,3.844,4.901,7.312,4.221,9.649c-0.602,2.337-3.241,3.92-6.483,3.92 c-1.885,0-3.844-0.452-5.879-1.432c-3.468-1.658-7.086-3.694-10.931-6.181C369.598,385.282,369.448,385.131,369.298,384.98z"/> </g> </g> </g>
21
+ </svg>
22
+ `;
23
+ this.wordIcon = `
24
+ <svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill="#000000">
25
+ <g id="SVGRepo_bgCarrier" stroke-width="0"/>
26
+ <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"/>
27
+ <g id="SVGRepo_iconCarrier">
28
+ <title>file_type_word2</title>
29
+ <path d="M18.536,2.323V4.868c3.4.019,7.12-.035,10.521.019a.783.783,0,0,1,.912.861c.054,6.266-.013,12.89.032,19.157-.02.4.009,1.118-.053,1.517-.079.509-.306.607-.817.676-.286.039-.764.034-1.045.047-2.792-.014-5.582-.011-8.374-.01l-1.175,0v2.547L2,27.133Q2,16,2,4.873L18.536,2.322" style="fill:#283c82"/>
30
+ <path d="M18.536,5.822h10.5V26.18h-10.5V23.635h8.27V22.363h-8.27v-1.59h8.27V19.5h-8.27v-1.59h8.27V16.637h-8.27v-1.59h8.27V13.774h-8.27v-1.59h8.27V10.911h-8.27V9.321h8.27V8.048h-8.27V5.822" style="fill:#fff"/>
31
+ <path d="M8.573,11.443c.6-.035,1.209-.06,1.813-.092.423,2.147.856,4.291,1.314,6.429.359-2.208.757-4.409,1.142-6.613.636-.022,1.272-.057,1.905-.1-.719,3.082-1.349,6.19-2.134,9.254-.531.277-1.326-.013-1.956.032-.423-2.106-.916-4.2-1.295-6.314C8.99,16.1,8.506,18.133,8.08,20.175q-.916-.048-1.839-.111c-.528-2.8-1.148-5.579-1.641-8.385.544-.025,1.091-.048,1.635-.067.328,2.026.7,4.043.986,6.072.448-2.08.907-4.161,1.352-6.241" style="fill:#fff"/>
32
+ </g>
33
+ </svg>
34
+ `;
35
+ this.byDefectIcon = `
36
+ <svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill="#000000">
37
+ <g id="SVGRepo_bgCarrier" stroke-width="0"/>
38
+ <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"/>
39
+ <g id="SVGRepo_iconCarrier">
40
+ <title>file_type_word2</title>
41
+ <path d="M18.536,2.323V4.868c3.4.019,7.12-.035,10.521.019a.783.783,0,0,1,.912.861c.054,6.266-.013,12.89.032,19.157-.02.4.009,1.118-.053,1.517-.079.509-.306.607-.817.676-.286.039-.764.034-1.045.047-2.792-.014-5.582-.011-8.374-.01l-1.175,0v2.547L2,27.133Q2,16,2,4.873L18.536,2.322" style="fill:#283c82"/>
42
+ <path d="M18.536,5.822h10.5V26.18h-10.5V23.635h8.27V22.363h-8.27v-1.59h8.27V19.5h-8.27v-1.59h8.27V16.637h-8.27v-1.59h8.27V13.774h-8.27v-1.59h8.27V10.911h-8.27V9.321h8.27V8.048h-8.27V5.822" style="fill:#fff"/>
43
+ <path d="M8.573,11.443c.6-.035,1.209-.06,1.813-.092.423,2.147.856,4.291,1.314,6.429.359-2.208.757-4.409,1.142-6.613.636-.022,1.272-.057,1.905-.1-.719,3.082-1.349,6.19-2.134,9.254-.531.277-1.326-.013-1.956.032-.423-2.106-.916-4.2-1.295-6.314C8.99,16.1,8.506,18.133,8.08,20.175q-.916-.048-1.839-.111c-.528-2.8-1.148-5.579-1.641-8.385.544-.025,1.091-.048,1.635-.067.328,2.026.7,4.043.986,6.072.448-2.08.907-4.161,1.352-6.241" style="fill:#fff"/>
44
+ </g>
45
+ </svg>
46
+ `;
47
+ this.sanitizer = inject(DomSanitizer);
48
+ }
49
+ transform(file) {
50
+ if (this.imageTypeFormats.some((format) => file.type.includes(format))) {
51
+ return this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));
52
+ }
53
+ if (file.type.includes('pdf')) {
54
+ return this.svgConfiguration(this.pdfIcon);
55
+ }
56
+ if (this.docFormats.some((format) => file.type.includes(format))) {
57
+ return this.svgConfiguration(this.wordIcon);
58
+ }
59
+ return this.svgConfiguration(this.byDefectIcon);
60
+ }
61
+ svgConfiguration(svg) {
62
+ return this.sanitizer.bypassSecurityTrustUrl('data:image/svg+xml;base64,' + btoa(this.pdfIcon));
63
+ }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: previewImageUrlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
65
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: previewImageUrlPipe, isStandalone: true, name: "previewImageUrl" }); }
66
+ }
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: previewImageUrlPipe, decorators: [{
68
+ type: Pipe,
69
+ args: [{ name: 'previewImageUrl', standalone: true }]
70
+ }] });
71
+ export class TruncatePipe {
72
+ transform(text, lenght = 12, suffix = '...') {
73
+ return text.slice(0, lenght) + suffix;
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
76
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: TruncatePipe, isStandalone: true, name: "truncate" }); }
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TruncatePipe, decorators: [{
79
+ type: Pipe,
80
+ args: [{ name: 'truncate', standalone: true }]
81
+ }] });
82
+ export class IsArrayPipe {
83
+ transform(input) {
84
+ return Array.isArray(input);
85
+ }
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: IsArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
87
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: IsArrayPipe, isStandalone: true, name: "isArray" }); }
88
+ }
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: IsArrayPipe, decorators: [{
90
+ type: Pipe,
91
+ args: [{ name: 'isArray', standalone: true }]
92
+ }] });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC11cGxvYWQtdmlld2VyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVjaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9zcGVjaWFsLXVwbG9hZC9zcGVjaWFsLXVwbG9hZC12aWV3ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBVyxNQUFNLDJCQUEyQixDQUFDOztBQUdsRSxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRW1CLHFCQUFnQixHQUFHO1lBQ2xDLE1BQU07WUFDTixLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsTUFBTTtZQUNOLEtBQUs7U0FDTixDQUFDO1FBRWUsZUFBVSxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTdCLFlBQU8sR0FBRzs7Ozs7O0dBTTFCLENBQUM7UUFFZSxhQUFRLEdBQUc7Ozs7Ozs7Ozs7O0dBVzNCLENBQUM7UUFFZSxpQkFBWSxHQUFHOzs7Ozs7Ozs7OztHQVcvQixDQUFDO1FBRU0sY0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQW9CMUM7SUFsQkMsU0FBUyxDQUFDLElBQVU7UUFDbEIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzlCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFXO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FDMUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FDbEQsQ0FBQztJQUNKLENBQUM7OEdBbEVVLG1CQUFtQjs0R0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7O0FBdUVuRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixTQUFTLENBQUMsSUFBWSxFQUFFLE1BQU0sR0FBRyxFQUFFLEVBQUUsTUFBTSxHQUFHLEtBQUs7UUFDakQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDeEMsQ0FBQzs4R0FIVSxZQUFZOzRHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7O0FBUTVDLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFNBQVMsQ0FBQyxLQUFVO1FBQ2xCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOzhHQUhVLFdBQVc7NEdBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbkBQaXBlKHsgbmFtZTogJ3ByZXZpZXdJbWFnZVVybCcsIHN0YW5kYWxvbmU6IHRydWUgfSlcclxuZXhwb3J0IGNsYXNzIHByZXZpZXdJbWFnZVVybFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGltYWdlVHlwZUZvcm1hdHMgPSBbXHJcbiAgICAnanBlZycsXHJcbiAgICAnanBnJyxcclxuICAgICdwbmcnLFxyXG4gICAgJ2dpZicsXHJcbiAgICAnYm1wJyxcclxuICAgICd3ZWJwJyxcclxuICAgICdzdmcnLFxyXG4gIF07XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jRm9ybWF0cyA9IFsnZG9jJywgJ2RvY3gnXTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBwZGZJY29uID0gYFxyXG4gIDxzdmcgdmVyc2lvbj1cIjEuMVwiIGlkPVwiX3gzNF9cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCA1MTIgNTEyXCIgeG1sOnNwYWNlPVwicHJlc2VydmVcIiB3aWR0aD1cIjgwMHB4XCIgaGVpZ2h0PVwiODAwcHhcIiBmaWxsPVwiIzAwMDAwMFwiPlxyXG4gICAgPGcgaWQ9XCJTVkdSZXBvX2JnQ2FycmllclwiIHN0cm9rZS13aWR0aD1cIjBcIi8+XHJcbiAgICA8ZyBpZD1cIlNWR1JlcG9fdHJhY2VyQ2FycmllclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDxnIGlkPVwiU1ZHUmVwb19pY29uQ2FycmllclwiPiA8Zz4gPHBvbHlnb24gc3R5bGU9XCJmaWxsOiNGRkZFRkU7XCIgcG9pbnRzPVwiNDc1LjQzNSwxMTcuODI1IDQ3NS40MzUsNTEyIDQ3Ljc5MSw1MTIgNDcuNzkxLDAuMDAyIDM1Ny42MTMsMC4wMDIgNDEyLjQ5MSw1NC44ODEgXCIvPiA8cmVjdCB4PVwiMzYuNTY1XCIgeT1cIjM0LjI5NVwiIHN0eWxlPVwiZmlsbDojQjQzMzMxO1wiIHdpZHRoPVwiMjA1LjA5N1wiIGhlaWdodD1cIjkxLjc2OFwiLz4gPGc+IDxnPiA8cGF0aCBzdHlsZT1cImZpbGw6I0ZGRkVGRTtcIiBkPVwiTTExMC4xMzMsNjQuMzc5Yy0wLjkwNS0yLjE4Ni0yLjExMS00LjE0Ni0zLjc2OS01LjgwNGMtMS42NTktMS42NTgtMy42OTQtMy4wMTUtNi4wMzEtMy45MiBjLTIuNDEyLTAuOTgtNS4xMjctMS40MzItOC4xNDEtMS40MzJINjkuNjUydjU4LjE5NWgxMS4zODNWODkuNDgxaDExLjE1N2MzLjAxNSwwLDUuNzI5LTAuNDUyLDguMTQxLTEuNDMyIGMyLjMzNy0wLjkwNSw0LjM3MS0yLjI2MSw2LjAzMS0zLjkyYzEuNjU4LTEuNjU4LDIuODY1LTMuNTQzLDMuNzY5LTUuODA0YzAuODI4LTIuMTg2LDEuMjgxLTQuNTIzLDEuMjgxLTYuOTM1IEMxMTEuNDEzLDY4LjkwMiwxMTAuOTYxLDY2LjU2NSwxMTAuMTMzLDY0LjM3OXogTTk3Ljg0NSw3Ny4xMThjLTEuNTA4LDEuNDMyLTMuNjE4LDIuMTg2LTYuMTgyLDIuMTg2SDgxLjAzNVY2My4zMjNoMTAuNjI4IGMyLjU2NCwwLDQuNjc0LDAuNzU0LDYuMTgyLDIuMjYxYzEuNDMyLDEuNDMyLDIuMTg1LDMuMzkyLDIuMTg1LDUuODA0QzEwMC4wMzEsNzMuNzI2LDk5LjI3Nyw3NS42ODYsOTcuODQ1LDc3LjExOHpcIi8+IDxwYXRoIHN0eWxlPVwiZmlsbDojRkZGRUZFO1wiIGQ9XCJNMTY0LjU1OCw3NS43NjFjLTAuMDc1LTIuMDM1LTAuMTUtMy44NDQtMC4zNzctNS41MDNjLTAuMjI1LTEuNjU5LTAuNjAzLTMuMTY2LTEuMTMxLTQuNTk4IGMtMC41MjctMS4zNTctMS4yMDYtMi43MTQtMi4xMTEtMy45MmMtMi4wMzUtMi45NC00LjUyMi01LjEyNi03LjMxMi02LjQ4M2MtMi44NjQtMS4zNTctNi4yNTYtMi4wMzUtMTAuMjUyLTIuMDM1SDEyMi40MnY1OC4xOTUgaDIwLjk1NmMzLjk5NiwwLDcuMzg4LTAuNjc4LDEwLjI1Mi0yLjAzNWMyLjc5LTEuMzU3LDUuMjc3LTMuNTQzLDcuMzEyLTYuNDgzYzAuOTA1LTEuMjA2LDEuNTg0LTIuNTYzLDIuMTExLTMuOTIgYzAuNTI4LTEuNDMyLDAuOTA1LTIuOTQsMS4xMzEtNC41OThjMC4yMjctMS42NTgsMC4zMDEtMy40NjgsMC4zNzctNS41MDNjMC4wNzUtMS45NiwwLjA3NS00LjE0NiwwLjA3NS02LjU1OCBDMTY0LjYzMyw3OS45MDgsMTY0LjYzMyw3Ny43MjEsMTY0LjU1OCw3NS43NjF6IE0xNTMuMTc1LDg4LjJjMCwxLjczNC0wLjE1LDMuMDkxLTAuMzAyLDQuMjk3IGMtMC4xNTEsMS4xMzEtMC4zNzYsMi4xODYtMC42NzgsMi45NGMtMC4zMDEsMC44MjktMC43NTQsMS41ODMtMS4yODEsMi4yNjFjLTEuODg1LDIuNDEyLTQuNzQ5LDMuNTQzLTguNTE4LDMuNTQzaC04LjY2OFY2My4zMjMgaDguNjY4YzMuNzY5LDAsNi42MzQsMS4yMDYsOC41MTgsMy42MThjMC41MjgsMC42NzgsMC45OCwxLjM1NywxLjI4MSwyLjE4NmMwLjMwMiwwLjgyOSwwLjUyOCwxLjgwOSwwLjY3OCwzLjAxNSBjMC4xNTIsMS4xMzEsMC4zMDIsMi41NjMsMC4zMDIsNC4yMjFjMC4wNzUsMS42NTksMC4wNzUsMy42OTQsMC4wNzUsNS45NTVDMTUzLjI1MSw4NC41ODEsMTUzLjI1MSw4Ni41NDEsMTUzLjE3NSw4OC4yelwiLz4gPHBhdGggc3R5bGU9XCJmaWxsOiNGRkZFRkU7XCIgZD1cIk0yMTMuMTgsNjMuMzIzVjUzLjIyMmgtMzguMzd2NTguMTk1aDExLjM4M1Y4Ny44MjNoMjIuOTkyVjc3LjY0NmgtMjIuOTkyVjYzLjMyM0gyMTMuMTh6XCIvPiA8L2c+IDxnPiA8cGF0aCBzdHlsZT1cImZpbGw6I0ZGRkVGRTtcIiBkPVwiTTExMC4xMzMsNjQuMzc5Yy0wLjkwNS0yLjE4Ni0yLjExMS00LjE0Ni0zLjc2OS01LjgwNGMtMS42NTktMS42NTgtMy42OTQtMy4wMTUtNi4wMzEtMy45MiBjLTIuNDEyLTAuOTgtNS4xMjctMS40MzItOC4xNDEtMS40MzJINjkuNjUydjU4LjE5NWgxMS4zODNWODkuNDgxaDExLjE1N2MzLjAxNSwwLDUuNzI5LTAuNDUyLDguMTQxLTEuNDMyIGMyLjMzNy0wLjkwNSw0LjM3MS0yLjI2MSw2LjAzMS0zLjkyYzEuNjU4LTEuNjU4LDIuODY1LTMuNTQzLDMuNzY5LTUuODA0YzAuODI4LTIuMTg2LDEuMjgxLTQuNTIzLDEuMjgxLTYuOTM1IEMxMTEuNDEzLDY4LjkwMiwxMTAuOTYxLDY2LjU2NSwxMTAuMTMzLDY0LjM3OXogTTk3Ljg0NSw3Ny4xMThjLTEuNTA4LDEuNDMyLTMuNjE4LDIuMTg2LTYuMTgyLDIuMTg2SDgxLjAzNVY2My4zMjNoMTAuNjI4IGMyLjU2NCwwLDQuNjc0LDAuNzU0LDYuMTgyLDIuMjYxYzEuNDMyLDEuNDMyLDIuMTg1LDMuMzkyLDIuMTg1LDUuODA0QzEwMC4wMzEsNzMuNzI2LDk5LjI3Nyw3NS42ODYsOTcuODQ1LDc3LjExOHpcIi8+IDwvZz4gPC9nPiA8cG9seWdvbiBzdHlsZT1cIm9wYWNpdHk6MC4wODtmaWxsOiMwNDAwMDA7XCIgcG9pbnRzPVwiNDc1LjQzNSwxMTcuODI1IDQ3NS40MzUsNTEyIDQ3Ljc5MSw1MTIgNDcuNzkxLDQxOS41ODEgMjQ3LjcwNiwyMTkuNjY3IDI1OS41NDEsMjA3LjgzMiAyNjYuMDk5LDIwMS4yNzMgMjc3LjAyOSwxOTAuMzQzIDI4OS45OTUsMTc3LjM3NyA0MTIuNDkxLDU0Ljg4MSBcIi8+IDxwb2x5Z29uIHN0eWxlPVwiZmlsbDojQkJCQkJBO1wiIHBvaW50cz1cIjQ3NS40MzUsMTE3LjgzNiAzNTcuNiwxMTcuODM2IDM1Ny42LDAgXCIvPiA8Zz4gPHBhdGggc3R5bGU9XCJmaWxsOiNCNDMzMzE7XCIgZD1cIk00MTQuMzc2LDM3MC42NThjLTIuNDg4LTQuMzcyLTUuODgtOC41MTgtMTAuMTAxLTEyLjI4N2MtMy40NjctMy4xNjYtNy41MzgtNi4xMDYtMTIuMTM3LTguODIgYy0xOC41NDMtMTAuOTMtNDUuMDAzLTE2LjIwNy04MC45NjEtMTYuMjA3aC0zLjYxOGMtMS45Ni0xLjgwOS0zLjk5Ni0zLjYxOC02LjEwNi01LjUwMyBjLTEzLjY0NC0xMi4yODctMjQuNDk5LTI1LjYzLTMyLjk0Mi00MC40OGMxNi41ODMtMzYuNTYxLDI0LjQ5OS02OS4xMjYsMjMuNTE5LTk2Ljg2N2MtMC4xNTEtNC42NzQtMC44My05LjA0Ni0yLjAzNi0xMy4xMTcgYy0xLjgwOC02LjU1OC00LjgyNC0xMi4zNjMtOS4wNDYtMTcuMTEyYy0wLjA3NS0wLjA3NS0wLjA3NS0wLjA3NS0wLjE1LTAuMTUxYy02LjcwOS03LjUzOC0xNi4wNTYtMTEuODM1LTI1LjU1NS0xMS44MzUgYy05LjU3NCwwLTE4LjM5Myw0LjE0Ni0yNC44MDIsMTEuNzZjLTYuMzMxLDcuNTM4LTkuNzI0LDE3Ljg2Ni05Ljg3NSwzMC4wMDJjLTAuMjI1LDE4LjU0NCwxLjI4MiwzNi4xMDgsNC40NDgsNTIuMzE1IGMwLjMwMSwxLjI4MiwwLjUyOCwyLjU2MywwLjgyOSwzLjg0NGMzLjE2NiwxNC43LDcuODQsMjguNjQ1LDEzLjg3MSw0MS42MTFjLTcuMDg2LDE0LjM5OC0xNC4yNDgsMjYuODM2LTE5LjIyMiwzNS4yNzkgYy0zLjc2OSw2LjQwOC03LjkxNiwxMy4xMTctMTIuMjEzLDE5LjgyNmMtMTkuMzczLDMuNDY4LTM1LjgwNyw3LjY4OS01MC4xMjksMTIuOTY2Yy0xOS4zNzQsNy4wMTEtMzQuOTAzLDE2LjA1Ni00Ni4wNTksMjYuODM2IGMtNy4yMzgsNi45MzUtMTIuMTM3LDE0LjMyMy0xNC41NSwyMi4wMTJjLTIuNTYzLDcuOTE1LTIuNDExLDE1LjgzLDAuNDUzLDIyLjkxNmMyLjYzOCw2LjU1OCw3LjM4NywxMi4wNjEsMTMuNzE5LDE1LjgzIGMxLjUwOCwwLjkwNSwzLjA5MSwxLjY1OCw0Ljc0OSwyLjMzN2M0LjgyNSwxLjk2LDEwLjEwMiwzLjAxNSwxNS42MDQsMy4wMTVjMTIuNzQsMCwyNS44NTYtNS41MDMsMzYuOTM4LTE1LjM3OCBjMjAuNjU0LTE4LjQ2OSw0MS45ODgtNDguMTY5LDU0LjU3Ni02Ni45NGMxMC4zMjctMS41ODMsMjEuNTU5LTIuOTQsMzQuMjI0LTQuMjk3YzE0LjkyNy0xLjUwOCwyOC4xMTgtMi40MTIsNDAuMTA0LTIuODY1IGMzLjY5NCwzLjMxNyw3LjIzNyw2LjQ4MywxMC42Myw5LjQ5OGMxOC44NDYsMTYuODEsMzMuMTY4LDI4Ljk0Nyw0Ni4xMzQsMzcuNDY1YzAsMC4wNzUsMC4wNzUsMC4wNzUsMC4xNSwwLjA3NSBjNS4xMjcsMy4zOTIsMTAuMDI2LDYuMTgxLDE0LjkyNiw4LjQ0M2M1LjUwMiwyLjU2MywxMS4wODEsMy45MiwxNi44MSwzLjkyYzcuMjM3LDAsMTQuMDIxLTIuMTg2LDE5LjY3NS02LjE4MSBjNS43MjktNC4xNDYsOS44NzUtMTAuMTAxLDExLjc2LTE2LjgxQzQyMC4xODEsMzg3LjY5NCw0MTguODk5LDM3OC43MjQsNDE0LjM3NiwzNzAuNjU4eiBNMjQ3LjcwNiwyMTkuNjY3IGMtMS4wNTYtOS4zNDgtMS41MDgtMTkuMDcyLTEuMzU3LTI5LjMyNGMwLjE1LTkuNzI0LDMuNjk0LTE2LjI4Myw4Ljg5NS0xNi4yODNjMy45MTksMCw4LjA2NiwzLjU0Myw5Ljk1MSwxMC4zMjcgYzAuNTI4LDIuMDM1LDAuOTA1LDQuMzcyLDAuOTgsNy4wMWMwLjE1LDMuMTY2LDAuMDc1LDYuNDgzLTAuMDc1LDkuODc1Yy0wLjQ1Miw5LjU3NC0yLjExMiwxOS43NS00Ljk3NiwzMC42ODEgYy0xLjczNCw3LjAxMS0zLjk5NSwxNC4zMjMtNi43ODQsMjEuOTM2QzI1MS4xNzMsMjQzLjE4NiwyNDguOTExLDIzMS44MDMsMjQ3LjcwNiwyMTkuNjY3eiBNMTIxLjk2OCw0MTguMDczIGMtMS4yODItMy4xNjYsMC4xNS05LjI3Miw3Ljk5LTE2LjgxYzExLjk4NS0xMS40NTgsMzAuNzU1LTIwLjUwNCw1Ni45MTQtMjcuMzY0Yy00Ljk3Niw2Ljc4NC05Ljg3NSwxMi45NjYtMTQuNjI1LDE4LjYxOSBjLTcuMjM3LDguNzQ0LTE0LjE3MiwxNi4xMzItMjAuNDI5LDIxLjcxYy01LjM1MSw0LjgyNC0xMS4yMzIsNy44NC0xNi44MSw4LjU5NGMtMC45OCwwLjE1MS0xLjk2LDAuMjI2LTIuOTQsMC4yMjYgQzEyNy4xNjksNDIzLjA0OSwxMjMuMTczLDQyMS4wODksMTIxLjk2OCw0MTguMDczeiBNMjQyLjQyOCwzMzcuOTQybDAuNTI4LTAuODI5bC0wLjgyOSwwLjE1MSBjMC4xNS0wLjM3NywwLjM3Ny0wLjc1NCwwLjYwMi0xLjA1NWMzLjE2Ny01LjM1Miw3LjE2MS0xMi4yMTIsMTEuNDU4LTIwLjEyN2wwLjM3NywwLjgyOWwwLjk4LTIuMDM1IGMzLjE2Niw0LjUyMyw2LjYzNCw4Ljk3MSwxMC4yNTIsMTMuMjY3YzEuNzM1LDIuMDM1LDMuNTQ0LDMuOTk1LDUuMzUyLDUuOTU1bC0xLjIwNSwwLjA3NWwxLjA1NSwwLjk4IGMtMy4wOSwwLjIyNi02LjMzMSwwLjUyOC05LjU3MywwLjgyOWMtMi4wMzYsMC4yMjYtNC4xNDcsMC4zNzctNi4yNTcsMC42MDNDMjUwLjc5NiwzMzcuMDM3LDI0Ni40OTksMzM3LjQ5LDI0Mi40MjgsMzM3Ljk0MnogTTM2OS4yOTgsMzg0Ljk4Yy04Ljk3LTUuNzI5LTE4Ljk5Ny0xMy43OTUtMzEuMzYtMjQuNTc1YzE3LjU2NCwxLjgwOSwzMS4zNiw1LjY1NCw0MS4xNTksMTEuMzgzIGM0LjI5NywyLjQ4OCw3LjUzOCw1LjA1MSw5LjcyNCw3LjUzOGMzLjYxOSwzLjg0NCw0LjkwMSw3LjMxMiw0LjIyMSw5LjY0OWMtMC42MDIsMi4zMzctMy4yNDEsMy45Mi02LjQ4MywzLjkyIGMtMS44ODUsMC0zLjg0NC0wLjQ1Mi01Ljg3OS0xLjQzMmMtMy40NjgtMS42NTgtNy4wODYtMy42OTQtMTAuOTMxLTYuMTgxQzM2OS41OTgsMzg1LjI4MiwzNjkuNDQ4LDM4NS4xMzEsMzY5LjI5OCwzODQuOTh6XCIvPiA8L2c+IDwvZz4gPC9nPlxyXG4gIDwvc3ZnPlxyXG4gIGA7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgd29yZEljb24gPSBgXHJcbiAgPHN2ZyB3aWR0aD1cIjgwMHB4XCIgaGVpZ2h0PVwiODAwcHhcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCIjMDAwMDAwXCI+XHJcbiAgICA8ZyBpZD1cIlNWR1JlcG9fYmdDYXJyaWVyXCIgc3Ryb2tlLXdpZHRoPVwiMFwiLz5cclxuICAgIDxnIGlkPVwiU1ZHUmVwb190cmFjZXJDYXJyaWVyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPGcgaWQ9XCJTVkdSZXBvX2ljb25DYXJyaWVyXCI+XHJcbiAgICA8dGl0bGU+ZmlsZV90eXBlX3dvcmQyPC90aXRsZT5cclxuICAgIDxwYXRoIGQ9XCJNMTguNTM2LDIuMzIzVjQuODY4YzMuNC4wMTksNy4xMi0uMDM1LDEwLjUyMS4wMTlhLjc4My43ODMsMCwwLDEsLjkxMi44NjFjLjA1NCw2LjI2Ni0uMDEzLDEyLjg5LjAzMiwxOS4xNTctLjAyLjQuMDA5LDEuMTE4LS4wNTMsMS41MTctLjA3OS41MDktLjMwNi42MDctLjgxNy42NzYtLjI4Ni4wMzktLjc2NC4wMzQtMS4wNDUuMDQ3LTIuNzkyLS4wMTQtNS41ODItLjAxMS04LjM3NC0uMDFsLTEuMTc1LDB2Mi41NDdMMiwyNy4xMzNRMiwxNiwyLDQuODczTDE4LjUzNiwyLjMyMlwiIHN0eWxlPVwiZmlsbDojMjgzYzgyXCIvPlxyXG4gICAgPHBhdGggZD1cIk0xOC41MzYsNS44MjJoMTAuNVYyNi4xOGgtMTAuNVYyMy42MzVoOC4yN1YyMi4zNjNoLTguMjd2LTEuNTloOC4yN1YxOS41aC04LjI3di0xLjU5aDguMjdWMTYuNjM3aC04LjI3di0xLjU5aDguMjdWMTMuNzc0aC04LjI3di0xLjU5aDguMjdWMTAuOTExaC04LjI3VjkuMzIxaDguMjdWOC4wNDhoLTguMjdWNS44MjJcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz5cclxuICAgIDxwYXRoIGQ9XCJNOC41NzMsMTEuNDQzYy42LS4wMzUsMS4yMDktLjA2LDEuODEzLS4wOTIuNDIzLDIuMTQ3Ljg1Niw0LjI5MSwxLjMxNCw2LjQyOS4zNTktMi4yMDguNzU3LTQuNDA5LDEuMTQyLTYuNjEzLjYzNi0uMDIyLDEuMjcyLS4wNTcsMS45MDUtLjEtLjcxOSwzLjA4Mi0xLjM0OSw2LjE5LTIuMTM0LDkuMjU0LS41MzEuMjc3LTEuMzI2LS4wMTMtMS45NTYuMDMyLS40MjMtMi4xMDYtLjkxNi00LjItMS4yOTUtNi4zMTRDOC45OSwxNi4xLDguNTA2LDE4LjEzMyw4LjA4LDIwLjE3NXEtLjkxNi0uMDQ4LTEuODM5LS4xMTFjLS41MjgtMi44LTEuMTQ4LTUuNTc5LTEuNjQxLTguMzg1LjU0NC0uMDI1LDEuMDkxLS4wNDgsMS42MzUtLjA2Ny4zMjgsMi4wMjYuNyw0LjA0My45ODYsNi4wNzIuNDQ4LTIuMDguOTA3LTQuMTYxLDEuMzUyLTYuMjQxXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+XHJcbiAgICA8L2c+XHJcbiAgICA8L3N2Zz5cclxuICBgO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGJ5RGVmZWN0SWNvbiA9IGBcclxuIDxzdmcgd2lkdGg9XCI4MDBweFwiIGhlaWdodD1cIjgwMHB4XCIgdmlld0JveD1cIjAgMCAzMiAzMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwiIzAwMDAwMFwiPlxyXG48ZyBpZD1cIlNWR1JlcG9fYmdDYXJyaWVyXCIgc3Ryb2tlLXdpZHRoPVwiMFwiLz5cclxuPGcgaWQ9XCJTVkdSZXBvX3RyYWNlckNhcnJpZXJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbjxnIGlkPVwiU1ZHUmVwb19pY29uQ2FycmllclwiPlxyXG48dGl0bGU+ZmlsZV90eXBlX3dvcmQyPC90aXRsZT5cclxuPHBhdGggZD1cIk0xOC41MzYsMi4zMjNWNC44NjhjMy40LjAxOSw3LjEyLS4wMzUsMTAuNTIxLjAxOWEuNzgzLjc4MywwLDAsMSwuOTEyLjg2MWMuMDU0LDYuMjY2LS4wMTMsMTIuODkuMDMyLDE5LjE1Ny0uMDIuNC4wMDksMS4xMTgtLjA1MywxLjUxNy0uMDc5LjUwOS0uMzA2LjYwNy0uODE3LjY3Ni0uMjg2LjAzOS0uNzY0LjAzNC0xLjA0NS4wNDctMi43OTItLjAxNC01LjU4Mi0uMDExLTguMzc0LS4wMWwtMS4xNzUsMHYyLjU0N0wyLDI3LjEzM1EyLDE2LDIsNC44NzNMMTguNTM2LDIuMzIyXCIgc3R5bGU9XCJmaWxsOiMyODNjODJcIi8+XHJcbjxwYXRoIGQ9XCJNMTguNTM2LDUuODIyaDEwLjVWMjYuMThoLTEwLjVWMjMuNjM1aDguMjdWMjIuMzYzaC04LjI3di0xLjU5aDguMjdWMTkuNWgtOC4yN3YtMS41OWg4LjI3VjE2LjYzN2gtOC4yN3YtMS41OWg4LjI3VjEzLjc3NGgtOC4yN3YtMS41OWg4LjI3VjEwLjkxMWgtOC4yN1Y5LjMyMWg4LjI3VjguMDQ4aC04LjI3VjUuODIyXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+XHJcbjxwYXRoIGQ9XCJNOC41NzMsMTEuNDQzYy42LS4wMzUsMS4yMDktLjA2LDEuODEzLS4wOTIuNDIzLDIuMTQ3Ljg1Niw0LjI5MSwxLjMxNCw2LjQyOS4zNTktMi4yMDguNzU3LTQuNDA5LDEuMTQyLTYuNjEzLjYzNi0uMDIyLDEuMjcyLS4wNTcsMS45MDUtLjEtLjcxOSwzLjA4Mi0xLjM0OSw2LjE5LTIuMTM0LDkuMjU0LS41MzEuMjc3LTEuMzI2LS4wMTMtMS45NTYuMDMyLS40MjMtMi4xMDYtLjkxNi00LjItMS4yOTUtNi4zMTRDOC45OSwxNi4xLDguNTA2LDE4LjEzMyw4LjA4LDIwLjE3NXEtLjkxNi0uMDQ4LTEuODM5LS4xMTFjLS41MjgtMi44LTEuMTQ4LTUuNTc5LTEuNjQxLTguMzg1LjU0NC0uMDI1LDEuMDkxLS4wNDgsMS42MzUtLjA2Ny4zMjgsMi4wMjYuNyw0LjA0My45ODYsNi4wNzIuNDQ4LTIuMDguOTA3LTQuMTYxLDEuMzUyLTYuMjQxXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+XHJcbjwvZz5cclxuPC9zdmc+XHJcbiAgYDtcclxuXHJcbiAgcHJpdmF0ZSBzYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcclxuXHJcbiAgdHJhbnNmb3JtKGZpbGU6IEZpbGUpOiBTYWZlVXJsIHtcclxuICAgIGlmICh0aGlzLmltYWdlVHlwZUZvcm1hdHMuc29tZSgoZm9ybWF0KSA9PiBmaWxlLnR5cGUuaW5jbHVkZXMoZm9ybWF0KSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwoVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoZmlsZS50eXBlLmluY2x1ZGVzKCdwZGYnKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zdmdDb25maWd1cmF0aW9uKHRoaXMucGRmSWNvbik7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kb2NGb3JtYXRzLnNvbWUoKGZvcm1hdCkgPT4gZmlsZS50eXBlLmluY2x1ZGVzKGZvcm1hdCkpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnN2Z0NvbmZpZ3VyYXRpb24odGhpcy53b3JkSWNvbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5zdmdDb25maWd1cmF0aW9uKHRoaXMuYnlEZWZlY3RJY29uKTtcclxuICB9XHJcblxyXG4gIHN2Z0NvbmZpZ3VyYXRpb24oc3ZnOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFxyXG4gICAgICAnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCwnICsgYnRvYSh0aGlzLnBkZkljb24pLFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbkBQaXBlKHsgbmFtZTogJ3RydW5jYXRlJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxyXG5leHBvcnQgY2xhc3MgVHJ1bmNhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKHRleHQ6IHN0cmluZywgbGVuZ2h0ID0gMTIsIHN1ZmZpeCA9ICcuLi4nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0ZXh0LnNsaWNlKDAsIGxlbmdodCkgKyBzdWZmaXg7XHJcbiAgfVxyXG59XHJcblxyXG5AUGlwZSh7IG5hbWU6ICdpc0FycmF5Jywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxyXG5leHBvcnQgY2xhc3MgSXNBcnJheVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0oaW5wdXQ6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoaW5wdXQpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,51 +1,38 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import { ChangeDetectionStrategy } from '@angular/core';
3
3
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { NgxDropzoneModule } from 'ngx-dropzone';
5
4
  import { CommonModule } from '@angular/common';
6
5
  import { MatIconModule } from '@angular/material/icon';
7
6
  import { MatButtonModule } from '@angular/material/button';
8
7
  import { ErrorMessagePipe } from '../../core/pipes';
8
+ import { DropzoneCdkModule } from '@ngx-dropzone/cdk';
9
+ import { DropzoneMaterialModule } from '@ngx-dropzone/material';
10
+ import { MatInputModule } from '@angular/material/input';
11
+ import { MatChipsModule } from '@angular/material/chips';
12
+ import { IsArrayPipe, previewImageUrlPipe, TruncatePipe } from './special-upload-viewer.pipe';
13
+ import { MatCardModule } from '@angular/material/card';
9
14
  import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/platform-browser";
11
- import * as i2 from "ngx-dropzone";
12
- import * as i3 from "@angular/common";
13
- import * as i4 from "@angular/material/icon";
15
+ import * as i1 from "@angular/forms";
16
+ import * as i2 from "@ngx-dropzone/cdk";
17
+ import * as i3 from "@angular/material/form-field";
18
+ import * as i4 from "@ngx-dropzone/material";
19
+ import * as i5 from "@angular/material/icon";
20
+ import * as i6 from "@angular/material/button";
21
+ import * as i7 from "@angular/material/chips";
22
+ import * as i8 from "@angular/material/card";
14
23
  export class SpecialUploadComponent {
15
- set controlSetter(control) {
16
- this.control = control;
17
- this.previewImages = control.value;
24
+ constructor() {
25
+ this.DEFAULT_ACCEPTED_TYPES = 'image/png, .jpeg, .jpg, image/gif';
18
26
  }
19
- constructor(sanitizer) {
20
- this.sanitizer = sanitizer;
21
- this.previewImages = [];
22
- }
23
- ngOnInit() { }
24
- onSelectMultiple(event) {
25
- this.previewImages = [
26
- ...this.previewImages,
27
- ...event.addedFiles.map((file) => ({
28
- lastModified: file.lastModified,
29
- url: this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file)),
30
- })),
31
- ];
32
- this.control.setValue([
33
- ...(this.control.value || []),
34
- ...event.addedFiles.map(this.fixFileName),
35
- ]);
36
- this.onselectFile(this.control.value);
37
- this.control.markAsDirty();
27
+ get settings() {
28
+ return this.control.settings;
38
29
  }
39
30
  onSelectOne(event) {
40
- this.previewImages = event.addedFiles.map((file) => ({
41
- lastModified: file.lastModified,
42
- url: this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file)),
43
- }));
44
31
  this.control.setValue(event.addedFiles.map(this.fixFileName));
45
- this.onselectFile(this.control.value);
32
+ this.onSelectFile(this.control.value);
46
33
  this.control.markAsDirty();
47
34
  }
48
- onselectFile(value) {
35
+ onSelectFile(value) {
49
36
  if (this.control.settings?.onSelectFile) {
50
37
  this.control.settings.onSelectFile(value);
51
38
  }
@@ -56,29 +43,31 @@ export class SpecialUploadComponent {
56
43
  value: file.name.normalize('NFD').replace(/[\u0300-\u036f]/g, ''),
57
44
  });
58
45
  }
59
- clean() {
60
- this.previewImages = [];
61
- }
62
46
  onRemove(file) {
63
47
  this.control.setValue(this.control.value.filter((fl) => fl.lastModified !== file.lastModified));
64
- this.previewImages = this.previewImages.filter((fl) => fl.lastModified !== file.lastModified);
65
48
  }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SpecialUploadComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
67
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: SpecialUploadComponent, isStandalone: true, selector: "sp-upload", inputs: { controlSetter: ["control", "controlSetter"] }, ngImport: i0, template: "<div\r\n *ngIf=\"control && !control.hidden\"\r\n [id]=\"control.elementId\"\r\n class=\"special-upload w-full mb-3 {{ control.styleClasses }}\"\r\n>\r\n <ngx-dropzone\r\n class=\"special-upload__dropzone\"\r\n [ngClass]=\"{\r\n 'special-upload--error-dashed':\r\n !!control.errors && (control.dirty || control.touched)\r\n }\"\r\n [multiple]=\"control.settings?.multiple\"\r\n [accept]=\"\r\n control.settings?.accept\r\n ? control.settings?.accept\r\n : 'image/png, .jpeg, .jpg, image/gif'\r\n \"\r\n (change)=\"\r\n control.settings?.multiple\r\n ? onSelectMultiple($event)\r\n : onSelectOne($event)\r\n \"\r\n >\r\n <ngx-dropzone-label\r\n [ngClass]=\"{\r\n 'special-upload--error':\r\n !!control.errors && (control.dirty || control.touched)\r\n }\"\r\n >\r\n <mat-icon class=\"special-upload__icon\" *ngIf=\"control.icon\"\r\n >{{ control.icon }}\r\n </mat-icon>\r\n <h2 class=\"text-base font-bold\">\r\n {{ control.label }}\r\n </h2>\r\n <h3 class=\"text-base\">\r\n {{ control.placeholder }}\r\n </h3>\r\n </ngx-dropzone-label>\r\n <ngx-dropzone-preview\r\n *ngFor=\"let file of previewImages\"\r\n [removable]=\"true\"\r\n (removed)=\"onRemove(file)\"\r\n >\r\n <ngx-dropzone-label class=\"special-upload__card\">\r\n <img class=\"special-upload__card--image\" [src]=\"file?.url\" alt=\"\" />\r\n </ngx-dropzone-label>\r\n </ngx-dropzone-preview>\r\n </ngx-dropzone>\r\n <div\r\n class=\"special-upload--error mt-2\"\r\n *ngIf=\"!!control.errors && (control.dirty || control.touched)\"\r\n >\r\n {{ control.errors | errorMessage: control.errorMessages }}\r\n </div>\r\n</div>\r\n", styles: [":host{display:contents}:host .special-upload{margin-bottom:1rem}:host .special-upload__dropzone{min-height:180px;height:unset!important}:host .special-upload__icon{height:64px;width:64px;font-size:64px}:host .special-upload__card{width:100%;height:100%;margin:0;box-sizing:border-box;display:flex;align-items:center;flex-direction:column}:host .special-upload__card--image{width:100%;height:100%;object-fit:cover}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: NgxDropzoneModule }, { kind: "component", type: i2.NgxDropzoneComponent, selector: "ngx-dropzone, [ngx-dropzone]", inputs: ["accept", "disabled", "multiple", "maxFileSize", "expandable", "disableClick", "processDirectoryDrop", "id", "aria-label", "aria-labelledby", "aria-describedby"], outputs: ["change"] }, { kind: "directive", type: i2.NgxDropzoneLabelDirective, selector: "ngx-dropzone-label" }, { kind: "component", type: i2.NgxDropzonePreviewComponent, selector: "ngx-dropzone-preview", inputs: ["file", "removable"], outputs: ["removed"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpecialUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: SpecialUploadComponent, isStandalone: true, selector: "sp-upload", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\r\n <mat-form-field\r\n [id]=\"control.elementId\"\r\n class=\"special-input w-full mb-3 {{ control.styleClasses }}\"\r\n [appearance]=\"control.label ? 'outline' : 'fill'\"\r\n >\r\n @if (control.label) {\r\n <mat-label>\r\n {{ control.label }}\r\n </mat-label>\r\n }\r\n <ngx-mat-dropzone>\r\n <input\r\n [multiple]=\"settings.multiple\"\r\n type=\"file\"\r\n fileInput\r\n [mode]=\"settings.mode\"\r\n [accept]=\"\r\n control.settings?.accept\r\n ? control.settings?.accept\r\n : DEFAULT_ACCEPTED_TYPES\r\n \"\r\n [placeholder]=\"control.placeholder\"\r\n [formControl]=\"control\"\r\n [required]=\"control.required\"\r\n [readonly]=\"control.readOnly\"\r\n (ngModelChange)=\"onSelectFile($event)\"\r\n />\r\n </ngx-mat-dropzone>\r\n @if (control.value | isArray) {\r\n <mat-chip-set>\r\n @for (file of control.value; track file.lastModified) {\r\n <mat-chip-row>\r\n <img\r\n matChipAvatar\r\n [src]=\"file | previewImageUrl\"\r\n alt=\"Photo of a Shiba Inu\"\r\n />\r\n {{ file.name | truncate }}\r\n <button (click)=\"onRemove(file)\" matChipRemove>\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-set>\r\n } @else if (control.value) {\r\n <mat-card appearance=\"outlined\">\r\n <mat-card-header>\r\n <mat-card-title-group>\r\n <mat-card-title>{{ control.value.name }}</mat-card-title>\r\n <mat-card-subtitle>{{ control.value.type }}</mat-card-subtitle>\r\n <img mat-card-sm-image [src]=\"control.value | previewImageUrl\" />\r\n </mat-card-title-group>\r\n </mat-card-header>\r\n <mat-card-actions align=\"end\">\r\n <button\r\n mat-mini-fab\r\n color=\"warn\"\r\n (click)=\"control.reset(); $event.stopPropagation()\"\r\n >\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </mat-card-actions>\r\n </mat-card>\r\n }\r\n @if (control.icon) {\r\n <mat-icon matSuffix>{{ control.icon }}</mat-icon>\r\n }\r\n @if (control.tooltip) {\r\n <mat-hint>{{ control.tooltip }}</mat-hint>\r\n }\r\n <mat-error>\r\n {{ control.errors | errorMessage: control.errorMessages }}\r\n </mat-error>\r\n </mat-form-field>\r\n}\r\n", styles: [":host{display:contents}:host .special-upload{margin-bottom:1rem}:host .special-upload__dropzone{min-height:180px;height:unset!important}:host .special-upload__icon{height:64px;width:64px;font-size:64px}:host .special-upload__card{width:5rem;height:5rem;margin:0;box-sizing:border-box;display:flex;align-items:center;flex-direction:column}:host .special-upload__card--image{width:100%;height:100%;object-fit:cover}\n"], dependencies: [{ kind: "pipe", type: previewImageUrlPipe, name: "previewImageUrl" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: DropzoneCdkModule }, { kind: "directive", type: i2.FileInputDirective, selector: "input[fileInput]", inputs: ["value", "accept", "mode", "disabled"], outputs: ["selectionChange"], exportAs: ["fileInput"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: DropzoneMaterialModule }, { kind: "component", type: i4.MatDropzone, selector: "ngx-mat-dropzone", inputs: ["aria-describedby", "placeholder", "required"], exportAs: ["matDropzone"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }, { kind: "ngmodule", type: MatChipsModule }, { kind: "directive", type: i7.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: i7.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i7.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i7.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "pipe", type: TruncatePipe, name: "truncate" }, { kind: "pipe", type: IsArrayPipe, name: "isArray" }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i8.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i8.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "component", type: i8.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i8.MatCardSmImage, selector: "[mat-card-sm-image], [matCardImageSmall]" }, { kind: "directive", type: i8.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i8.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i8.MatCardTitleGroup, selector: "mat-card-title-group" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
68
51
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SpecialUploadComponent, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpecialUploadComponent, decorators: [{
70
53
  type: Component,
71
54
  args: [{ standalone: true, selector: 'sp-upload', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
55
+ previewImageUrlPipe,
72
56
  FormsModule,
73
- NgxDropzoneModule,
57
+ DropzoneCdkModule,
58
+ MatInputModule,
59
+ DropzoneMaterialModule,
74
60
  CommonModule,
75
61
  MatIconModule,
76
62
  ReactiveFormsModule,
77
63
  MatButtonModule,
78
64
  ErrorMessagePipe,
79
- ], template: "<div\r\n *ngIf=\"control && !control.hidden\"\r\n [id]=\"control.elementId\"\r\n class=\"special-upload w-full mb-3 {{ control.styleClasses }}\"\r\n>\r\n <ngx-dropzone\r\n class=\"special-upload__dropzone\"\r\n [ngClass]=\"{\r\n 'special-upload--error-dashed':\r\n !!control.errors && (control.dirty || control.touched)\r\n }\"\r\n [multiple]=\"control.settings?.multiple\"\r\n [accept]=\"\r\n control.settings?.accept\r\n ? control.settings?.accept\r\n : 'image/png, .jpeg, .jpg, image/gif'\r\n \"\r\n (change)=\"\r\n control.settings?.multiple\r\n ? onSelectMultiple($event)\r\n : onSelectOne($event)\r\n \"\r\n >\r\n <ngx-dropzone-label\r\n [ngClass]=\"{\r\n 'special-upload--error':\r\n !!control.errors && (control.dirty || control.touched)\r\n }\"\r\n >\r\n <mat-icon class=\"special-upload__icon\" *ngIf=\"control.icon\"\r\n >{{ control.icon }}\r\n </mat-icon>\r\n <h2 class=\"text-base font-bold\">\r\n {{ control.label }}\r\n </h2>\r\n <h3 class=\"text-base\">\r\n {{ control.placeholder }}\r\n </h3>\r\n </ngx-dropzone-label>\r\n <ngx-dropzone-preview\r\n *ngFor=\"let file of previewImages\"\r\n [removable]=\"true\"\r\n (removed)=\"onRemove(file)\"\r\n >\r\n <ngx-dropzone-label class=\"special-upload__card\">\r\n <img class=\"special-upload__card--image\" [src]=\"file?.url\" alt=\"\" />\r\n </ngx-dropzone-label>\r\n </ngx-dropzone-preview>\r\n </ngx-dropzone>\r\n <div\r\n class=\"special-upload--error mt-2\"\r\n *ngIf=\"!!control.errors && (control.dirty || control.touched)\"\r\n >\r\n {{ control.errors | errorMessage: control.errorMessages }}\r\n </div>\r\n</div>\r\n", styles: [":host{display:contents}:host .special-upload{margin-bottom:1rem}:host .special-upload__dropzone{min-height:180px;height:unset!important}:host .special-upload__icon{height:64px;width:64px;font-size:64px}:host .special-upload__card{width:100%;height:100%;margin:0;box-sizing:border-box;display:flex;align-items:center;flex-direction:column}:host .special-upload__card--image{width:100%;height:100%;object-fit:cover}\n"] }]
80
- }], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { controlSetter: [{
81
- type: Input,
82
- args: ['control']
65
+ MatChipsModule,
66
+ TruncatePipe,
67
+ IsArrayPipe,
68
+ MatCardModule
69
+ ], template: "@if (control && !control.hidden) {\r\n <mat-form-field\r\n [id]=\"control.elementId\"\r\n class=\"special-input w-full mb-3 {{ control.styleClasses }}\"\r\n [appearance]=\"control.label ? 'outline' : 'fill'\"\r\n >\r\n @if (control.label) {\r\n <mat-label>\r\n {{ control.label }}\r\n </mat-label>\r\n }\r\n <ngx-mat-dropzone>\r\n <input\r\n [multiple]=\"settings.multiple\"\r\n type=\"file\"\r\n fileInput\r\n [mode]=\"settings.mode\"\r\n [accept]=\"\r\n control.settings?.accept\r\n ? control.settings?.accept\r\n : DEFAULT_ACCEPTED_TYPES\r\n \"\r\n [placeholder]=\"control.placeholder\"\r\n [formControl]=\"control\"\r\n [required]=\"control.required\"\r\n [readonly]=\"control.readOnly\"\r\n (ngModelChange)=\"onSelectFile($event)\"\r\n />\r\n </ngx-mat-dropzone>\r\n @if (control.value | isArray) {\r\n <mat-chip-set>\r\n @for (file of control.value; track file.lastModified) {\r\n <mat-chip-row>\r\n <img\r\n matChipAvatar\r\n [src]=\"file | previewImageUrl\"\r\n alt=\"Photo of a Shiba Inu\"\r\n />\r\n {{ file.name | truncate }}\r\n <button (click)=\"onRemove(file)\" matChipRemove>\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-set>\r\n } @else if (control.value) {\r\n <mat-card appearance=\"outlined\">\r\n <mat-card-header>\r\n <mat-card-title-group>\r\n <mat-card-title>{{ control.value.name }}</mat-card-title>\r\n <mat-card-subtitle>{{ control.value.type }}</mat-card-subtitle>\r\n <img mat-card-sm-image [src]=\"control.value | previewImageUrl\" />\r\n </mat-card-title-group>\r\n </mat-card-header>\r\n <mat-card-actions align=\"end\">\r\n <button\r\n mat-mini-fab\r\n color=\"warn\"\r\n (click)=\"control.reset(); $event.stopPropagation()\"\r\n >\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </mat-card-actions>\r\n </mat-card>\r\n }\r\n @if (control.icon) {\r\n <mat-icon matSuffix>{{ control.icon }}</mat-icon>\r\n }\r\n @if (control.tooltip) {\r\n <mat-hint>{{ control.tooltip }}</mat-hint>\r\n }\r\n <mat-error>\r\n {{ control.errors | errorMessage: control.errorMessages }}\r\n </mat-error>\r\n </mat-form-field>\r\n}\r\n", styles: [":host{display:contents}:host .special-upload{margin-bottom:1rem}:host .special-upload__dropzone{min-height:180px;height:unset!important}:host .special-upload__icon{height:64px;width:64px;font-size:64px}:host .special-upload__card{width:5rem;height:5rem;margin:0;box-sizing:border-box;display:flex;align-items:center;flex-direction:column}:host .special-upload__card--image{width:100%;height:100%;object-fit:cover}\n"] }]
70
+ }], propDecorators: { control: [{
71
+ type: Input
83
72
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC11cGxvYWQvc3BlY2lhbC11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC11cGxvYWQvc3BlY2lhbC11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQWtCcEQsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxJQUFzQixhQUFhLENBQ2pDLE9BQXlDO1FBRXpDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBSUQsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUYzQyxrQkFBYSxHQUFVLEVBQUUsQ0FBQztJ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LDhIQzVCbkMsaXhEQXdEQSx3ZERyQ0ksV0FBVyw4QkFDWCxpQkFBaUIsOGlCQUNqQixZQUFZLDZWQUNaLGFBQWEsbUxBQ2IsbUJBQW1CLDhCQUNuQixlQUFlLDBCQUNmLGdCQUFnQjs7MkZBR1Asc0JBQXNCO2tCQWhCbEMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sV0FBVyxtQkFHSix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGdCQUFnQjtxQkFDakI7aUZBS3FCLGFBQWE7c0JBQWxDLEtBQUs7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTcGVjaWFsRm9ybUNvbnRyb2wgfSBmcm9tICcuLi8uLi9jb3JlL2Zvcm1zL3NwZWNpYWwtZm9ybXMnO1xyXG5pbXBvcnQgeyBJVXBsb2FkRmllbGQsIElVcGxvYWRTZXR0aW5ncyB9IGZyb20gJy4vc3BlY2lhbC11cGxvYWQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ3hEcm9wem9uZU1vZHVsZSB9IGZyb20gJ25neC1kcm9wem9uZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgRXJyb3JNZXNzYWdlUGlwZSB9IGZyb20gJy4uLy4uL2NvcmUvcGlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzZWxlY3RvcjogJ3NwLXVwbG9hZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NwZWNpYWwtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zcGVjaWFsLXVwbG9hZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTmd4RHJvcHpvbmVNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIEVycm9yTWVzc2FnZVBpcGUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwZWNpYWxVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnRyb2whOiBTcGVjaWFsRm9ybUNvbnRyb2w8SVVwbG9hZEZpZWxkPjtcclxuXHJcbiAgQElucHV0KCdjb250cm9sJykgc2V0IGNvbnRyb2xTZXR0ZXIoXHJcbiAgICBjb250cm9sOiBTcGVjaWFsRm9ybUNvbnRyb2w8SVVwbG9hZEZpZWxkPlxyXG4gICkge1xyXG4gICAgdGhpcy5jb250cm9sID0gY29udHJvbDtcclxuICAgIHRoaXMucHJldmlld0ltYWdlcyA9IGNvbnRyb2wudmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcmV2aWV3SW1hZ2VzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIG9uU2VsZWN0TXVsdGlwbGUoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5wcmV2aWV3SW1hZ2VzID0gW1xyXG4gICAgICAuLi50aGlzLnByZXZpZXdJbWFnZXMsXHJcbiAgICAgIC4uLmV2ZW50LmFkZGVkRmlsZXMubWFwKChmaWxlOiBGaWxlKSA9PiAoe1xyXG4gICAgICAgIGxhc3RNb2RpZmllZDogZmlsZS5sYXN0TW9kaWZpZWQsXHJcbiAgICAgICAgdXJsOiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSkpLFxyXG4gICAgICB9KSksXHJcbiAgICBdO1xyXG5cclxuICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShbXHJcbiAgICAgIC4uLih0aGlzLmNvbnRyb2wudmFsdWUgfHwgW10pLFxyXG4gICAgICAuLi5ldmVudC5hZGRlZEZpbGVzLm1hcCh0aGlzLmZpeEZpbGVOYW1lKSxcclxuICAgIF0pO1xyXG4gICAgdGhpcy5vbnNlbGVjdEZpbGUodGhpcy5jb250cm9sLnZhbHVlKTtcclxuICAgIHRoaXMuY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RPbmUoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5wcmV2aWV3SW1hZ2VzID0gZXZlbnQuYWRkZWRGaWxlcy5tYXAoKGZpbGU6IEZpbGUpID0+ICh7XHJcbiAgICAgIGxhc3RNb2RpZmllZDogZmlsZS5sYXN0TW9kaWZpZWQsXHJcbiAgICAgIHVybDogdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpKSxcclxuICAgIH0pKTtcclxuXHJcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoZXZlbnQuYWRkZWRGaWxlcy5tYXAodGhpcy5maXhGaWxlTmFtZSkpO1xyXG4gICAgdGhpcy5vbnNlbGVjdEZpbGUodGhpcy5jb250cm9sLnZhbHVlKTtcclxuICAgIHRoaXMuY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbnNlbGVjdEZpbGUodmFsdWUpIHtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wuc2V0dGluZ3M/Lm9uU2VsZWN0RmlsZSkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0dGluZ3Mub25TZWxlY3RGaWxlKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZpeEZpbGVOYW1lKGZpbGU6IEZpbGUpIHtcclxuICAgIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZmlsZSwgJ25hbWUnLCB7XHJcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxyXG4gICAgICB2YWx1ZTogZmlsZS5uYW1lLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjbGVhbigpIHtcclxuICAgIHRoaXMucHJldmlld0ltYWdlcyA9IFtdO1xyXG4gIH1cclxuICBvblJlbW92ZShmaWxlOiBGaWxlKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoXHJcbiAgICAgIHRoaXMuY29udHJvbC52YWx1ZS5maWx0ZXIoXHJcbiAgICAgICAgKGZsOiBhbnkpID0+IGZsLmxhc3RNb2RpZmllZCAhPT0gZmlsZS5sYXN0TW9kaWZpZWRcclxuICAgICAgKVxyXG4gICAgKTtcclxuICAgIHRoaXMucHJldmlld0ltYWdlcyA9IHRoaXMucHJldmlld0ltYWdlcy5maWx0ZXIoXHJcbiAgICAgIChmbCkgPT4gZmwubGFzdE1vZGlmaWVkICE9PSBmaWxlLmxhc3RNb2RpZmllZFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICpuZ0lmPVwiY29udHJvbCAmJiAhY29udHJvbC5oaWRkZW5cIlxyXG4gIFtpZF09XCJjb250cm9sLmVsZW1lbnRJZFwiXHJcbiAgY2xhc3M9XCJzcGVjaWFsLXVwbG9hZCB3LWZ1bGwgbWItMyB7eyBjb250cm9sLnN0eWxlQ2xhc3NlcyB9fVwiXHJcbj5cclxuICA8bmd4LWRyb3B6b25lXHJcbiAgICBjbGFzcz1cInNwZWNpYWwtdXBsb2FkX19kcm9wem9uZVwiXHJcbiAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdzcGVjaWFsLXVwbG9hZC0tZXJyb3ItZGFzaGVkJzpcclxuICAgICAgICAhIWNvbnRyb2wuZXJyb3JzICYmIChjb250cm9sLmRpcnR5IHx8IGNvbnRyb2wudG91Y2hlZClcclxuICAgIH1cIlxyXG4gICAgW211bHRpcGxlXT1cImNvbnRyb2wuc2V0dGluZ3M/Lm11bHRpcGxlXCJcclxuICAgIFthY2NlcHRdPVwiXHJcbiAgICAgIGNvbnRyb2wuc2V0dGluZ3M/LmFjY2VwdFxyXG4gICAgICAgID8gY29udHJvbC5zZXR0aW5ncz8uYWNjZXB0XHJcbiAgICAgICAgOiAnaW1hZ2UvcG5nLCAuanBlZywgLmpwZywgaW1hZ2UvZ2lmJ1xyXG4gICAgXCJcclxuICAgIChjaGFuZ2UpPVwiXHJcbiAgICAgIGNvbnRyb2wuc2V0dGluZ3M/Lm11bHRpcGxlXHJcbiAgICAgICAgPyBvblNlbGVjdE11bHRpcGxlKCRldmVudClcclxuICAgICAgICA6IG9uU2VsZWN0T25lKCRldmVudClcclxuICAgIFwiXHJcbiAgPlxyXG4gICAgPG5neC1kcm9wem9uZS1sYWJlbFxyXG4gICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ3NwZWNpYWwtdXBsb2FkLS1lcnJvcic6XHJcbiAgICAgICAgICAhIWNvbnRyb2wuZXJyb3JzICYmIChjb250cm9sLmRpcnR5IHx8IGNvbnRyb2wudG91Y2hlZClcclxuICAgICAgfVwiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInNwZWNpYWwtdXBsb2FkX19pY29uXCIgKm5nSWY9XCJjb250cm9sLmljb25cIlxyXG4gICAgICAgID57eyBjb250cm9sLmljb24gfX1cclxuICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgPGgyIGNsYXNzPVwidGV4dC1iYXNlIGZvbnQtYm9sZFwiPlxyXG4gICAgICAgIHt7IGNvbnRyb2wubGFiZWwgfX1cclxuICAgICAgPC9oMj5cclxuICAgICAgPGgzIGNsYXNzPVwidGV4dC1iYXNlXCI+XHJcbiAgICAgICAge3sgY29udHJvbC5wbGFjZWhvbGRlciB9fVxyXG4gICAgICA8L2gzPlxyXG4gICAgPC9uZ3gtZHJvcHpvbmUtbGFiZWw+XHJcbiAgICA8bmd4LWRyb3B6b25lLXByZXZpZXdcclxuICAgICAgKm5nRm9yPVwibGV0IGZpbGUgb2YgcHJldmlld0ltYWdlc1wiXHJcbiAgICAgIFtyZW1vdmFibGVdPVwidHJ1ZVwiXHJcbiAgICAgIChyZW1vdmVkKT1cIm9uUmVtb3ZlKGZpbGUpXCJcclxuICAgID5cclxuICAgICAgPG5neC1kcm9wem9uZS1sYWJlbCBjbGFzcz1cInNwZWNpYWwtdXBsb2FkX19jYXJkXCI+XHJcbiAgICAgICAgPGltZyBjbGFzcz1cInNwZWNpYWwtdXBsb2FkX19jYXJkLS1pbWFnZVwiIFtzcmNdPVwiZmlsZT8udXJsXCIgYWx0PVwiXCIgLz5cclxuICAgICAgPC9uZ3gtZHJvcHpvbmUtbGFiZWw+XHJcbiAgICA8L25neC1kcm9wem9uZS1wcmV2aWV3PlxyXG4gIDwvbmd4LWRyb3B6b25lPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwic3BlY2lhbC11cGxvYWQtLWVycm9yIG10LTJcIlxyXG4gICAgKm5nSWY9XCIhIWNvbnRyb2wuZXJyb3JzICYmIChjb250cm9sLmRpcnR5IHx8IGNvbnRyb2wudG91Y2hlZClcIlxyXG4gID5cclxuICAgIHt7IGNvbnRyb2wuZXJyb3JzIHwgZXJyb3JNZXNzYWdlOiBjb250cm9sLmVycm9yTWVzc2FnZXMgfX1cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC11cGxvYWQvc3BlY2lhbC11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC11cGxvYWQvc3BlY2lhbC11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7O0FBeUJyRCxNQUFNLE9BQU8sc0JBQXNCO0lBdkJuQztRQXlCVywyQkFBc0IsR0FBRyxtQ0FBbUMsQ0FBQztLQStCdkU7SUE5QkMsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFLO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVU7UUFDcEIsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDekMsUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQztTQUNsRSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVU7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDdkIsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FDbkQsQ0FDRixDQUFDO0lBQ0osQ0FBQzs4R0FoQ1Usc0JBQXNCO2tHQUF0QixzQkFBc0IscUdDeENuQywwaUZBNEVBLG9kRHBESSxtQkFBbUIsdURBQ25CLFdBQVcsbW5CQUNYLGlCQUFpQix3TkFDakIsY0FBYyxnbUJBQ2Qsc0JBQXNCLDZMQUN0QixZQUFZLDhCQUNaLGFBQWEsbUxBQ2IsbUJBQW1CLGlOQUNuQixlQUFlLHVJQUNmLGdCQUFnQixvREFDaEIsY0FBYyw4ZEFDZCxZQUFZLDRDQUNaLFdBQVcsK0NBQ1gsYUFBYTs7MkZBR0osc0JBQXNCO2tCQXZCbEMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sV0FBVyxtQkFHSix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2Qsc0JBQXNCO3dCQUN0QixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsYUFBYTtxQkFDZDs4QkFHUSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3BlY2lhbEZvcm1Db250cm9sIH0gZnJvbSAnLi4vLi4vY29yZS9mb3Jtcy9zcGVjaWFsLWZvcm1zJztcclxuaW1wb3J0IHsgSVVwbG9hZEZpZWxkLCBJVXBsb2FkU2V0dGluZ3MgfSBmcm9tICcuL3NwZWNpYWwtdXBsb2FkLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBFcnJvck1lc3NhZ2VQaXBlIH0gZnJvbSAnLi4vLi4vY29yZS9waXBlcyc7XHJcbmltcG9ydCB7IERyb3B6b25lQ2RrTW9kdWxlIH0gZnJvbSAnQG5neC1kcm9wem9uZS9jZGsnO1xyXG5pbXBvcnQgeyBEcm9wem9uZU1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnQG5neC1kcm9wem9uZS9tYXRlcmlhbCc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgSXNBcnJheVBpcGUsIHByZXZpZXdJbWFnZVVybFBpcGUsIFRydW5jYXRlUGlwZSB9IGZyb20gJy4vc3BlY2lhbC11cGxvYWQtdmlld2VyLnBpcGUnO1xyXG5pbXBvcnQge01hdENhcmRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzZWxlY3RvcjogJ3NwLXVwbG9hZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NwZWNpYWwtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zcGVjaWFsLXVwbG9hZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIHByZXZpZXdJbWFnZVVybFBpcGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIERyb3B6b25lQ2RrTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBEcm9wem9uZU1hdGVyaWFsTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBFcnJvck1lc3NhZ2VQaXBlLFxyXG4gICAgTWF0Q2hpcHNNb2R1bGUsXHJcbiAgICBUcnVuY2F0ZVBpcGUsXHJcbiAgICBJc0FycmF5UGlwZSxcclxuICAgIE1hdENhcmRNb2R1bGVcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BlY2lhbFVwbG9hZENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgY29udHJvbDogU3BlY2lhbEZvcm1Db250cm9sPElVcGxvYWRGaWVsZD47XHJcbiAgcmVhZG9ubHkgREVGQVVMVF9BQ0NFUFRFRF9UWVBFUyA9ICdpbWFnZS9wbmcsIC5qcGVnLCAuanBnLCBpbWFnZS9naWYnO1xyXG4gIGdldCBzZXR0aW5ncygpOiBJVXBsb2FkU2V0dGluZ3Mge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5zZXR0aW5ncztcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0T25lKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShldmVudC5hZGRlZEZpbGVzLm1hcCh0aGlzLmZpeEZpbGVOYW1lKSk7XHJcbiAgICB0aGlzLm9uU2VsZWN0RmlsZSh0aGlzLmNvbnRyb2wudmFsdWUpO1xyXG4gICAgdGhpcy5jb250cm9sLm1hcmtBc0RpcnR5KCk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdEZpbGUodmFsdWUpIHtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wuc2V0dGluZ3M/Lm9uU2VsZWN0RmlsZSkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0dGluZ3Mub25TZWxlY3RGaWxlKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZpeEZpbGVOYW1lKGZpbGU6IEZpbGUpIHtcclxuICAgIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZmlsZSwgJ25hbWUnLCB7XHJcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxyXG4gICAgICB2YWx1ZTogZmlsZS5uYW1lLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblJlbW92ZShmaWxlOiBGaWxlKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoXHJcbiAgICAgIHRoaXMuY29udHJvbC52YWx1ZS5maWx0ZXIoXHJcbiAgICAgICAgKGZsOiBhbnkpID0+IGZsLmxhc3RNb2RpZmllZCAhPT0gZmlsZS5sYXN0TW9kaWZpZWQsXHJcbiAgICAgICksXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKGNvbnRyb2wgJiYgIWNvbnRyb2wuaGlkZGVuKSB7XHJcbiAgPG1hdC1mb3JtLWZpZWxkXHJcbiAgICBbaWRdPVwiY29udHJvbC5lbGVtZW50SWRcIlxyXG4gICAgY2xhc3M9XCJzcGVjaWFsLWlucHV0IHctZnVsbCBtYi0zIHt7IGNvbnRyb2wuc3R5bGVDbGFzc2VzIH19XCJcclxuICAgIFthcHBlYXJhbmNlXT1cImNvbnRyb2wubGFiZWwgPyAnb3V0bGluZScgOiAnZmlsbCdcIlxyXG4gID5cclxuICAgIEBpZiAoY29udHJvbC5sYWJlbCkge1xyXG4gICAgICA8bWF0LWxhYmVsPlxyXG4gICAgICAgIHt7IGNvbnRyb2wubGFiZWwgfX1cclxuICAgICAgPC9tYXQtbGFiZWw+XHJcbiAgICB9XHJcbiAgICA8bmd4LW1hdC1kcm9wem9uZT5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgW211bHRpcGxlXT1cInNldHRpbmdzLm11bHRpcGxlXCJcclxuICAgICAgICB0eXBlPVwiZmlsZVwiXHJcbiAgICAgICAgZmlsZUlucHV0XHJcbiAgICAgICAgW21vZGVdPVwic2V0dGluZ3MubW9kZVwiXHJcbiAgICAgICAgW2FjY2VwdF09XCJcclxuICAgICAgICAgIGNvbnRyb2wuc2V0dGluZ3M/LmFjY2VwdFxyXG4gICAgICAgICAgICA/IGNvbnRyb2wuc2V0dGluZ3M/LmFjY2VwdFxyXG4gICAgICAgICAgICA6IERFRkFVTFRfQUNDRVBURURfVFlQRVNcclxuICAgICAgICBcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJjb250cm9sLnBsYWNlaG9sZGVyXCJcclxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cImNvbnRyb2wucmVxdWlyZWRcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJjb250cm9sLnJlYWRPbmx5XCJcclxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblNlbGVjdEZpbGUoJGV2ZW50KVwiXHJcbiAgICAgIC8+XHJcbiAgICA8L25neC1tYXQtZHJvcHpvbmU+XHJcbiAgICBAaWYgKGNvbnRyb2wudmFsdWUgfCBpc0FycmF5KSB7XHJcbiAgICAgIDxtYXQtY2hpcC1zZXQ+XHJcbiAgICAgICAgQGZvciAoZmlsZSBvZiBjb250cm9sLnZhbHVlOyB0cmFjayBmaWxlLmxhc3RNb2RpZmllZCkge1xyXG4gICAgICAgICAgPG1hdC1jaGlwLXJvdz5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgIG1hdENoaXBBdmF0YXJcclxuICAgICAgICAgICAgICBbc3JjXT1cImZpbGUgfCBwcmV2aWV3SW1hZ2VVcmxcIlxyXG4gICAgICAgICAgICAgIGFsdD1cIlBob3RvIG9mIGEgU2hpYmEgSW51XCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAge3sgZmlsZS5uYW1lIHwgdHJ1bmNhdGUgfX1cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwib25SZW1vdmUoZmlsZSlcIiBtYXRDaGlwUmVtb3ZlPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvbWF0LWNoaXAtcm93PlxyXG4gICAgICAgIH1cclxuICAgICAgPC9tYXQtY2hpcC1zZXQ+XHJcbiAgICB9IEBlbHNlIGlmIChjb250cm9sLnZhbHVlKSB7XHJcbiAgICAgIDxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIj5cclxuICAgICAgICA8bWF0LWNhcmQtaGVhZGVyPlxyXG4gICAgICAgICAgPG1hdC1jYXJkLXRpdGxlLWdyb3VwPlxyXG4gICAgICAgICAgICA8bWF0LWNhcmQtdGl0bGU+e3sgY29udHJvbC52YWx1ZS5uYW1lIH19PC9tYXQtY2FyZC10aXRsZT5cclxuICAgICAgICAgICAgPG1hdC1jYXJkLXN1YnRpdGxlPnt7IGNvbnRyb2wudmFsdWUudHlwZSB9fTwvbWF0LWNhcmQtc3VidGl0bGU+XHJcbiAgICAgICAgICAgIDxpbWcgbWF0LWNhcmQtc20taW1hZ2UgW3NyY109XCJjb250cm9sLnZhbHVlIHwgcHJldmlld0ltYWdlVXJsXCIgLz5cclxuICAgICAgICAgIDwvbWF0LWNhcmQtdGl0bGUtZ3JvdXA+XHJcbiAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICAgICAgPG1hdC1jYXJkLWFjdGlvbnMgYWxpZ249XCJlbmRcIj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0LW1pbmktZmFiXHJcbiAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjb250cm9sLnJlc2V0KCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxyXG4gICAgICA8L21hdC1jYXJkPlxyXG4gICAgfVxyXG4gICAgQGlmIChjb250cm9sLmljb24pIHtcclxuICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeD57eyBjb250cm9sLmljb24gfX08L21hdC1pY29uPlxyXG4gICAgfVxyXG4gICAgQGlmIChjb250cm9sLnRvb2x0aXApIHtcclxuICAgICAgPG1hdC1oaW50Pnt7IGNvbnRyb2wudG9vbHRpcCB9fTwvbWF0LWhpbnQ+XHJcbiAgICB9XHJcbiAgICA8bWF0LWVycm9yPlxyXG4gICAgICB7eyBjb250cm9sLmVycm9ycyB8IGVycm9yTWVzc2FnZTogY29udHJvbC5lcnJvck1lc3NhZ2VzIH19XHJcbiAgICA8L21hdC1lcnJvcj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC11cGxvYWQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC11cGxvYWQvc3BlY2lhbC11cGxvYWQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFQ29udHJvbFR5cGVzIH0gZnJvbSAnLi4vLi4vY29yZS9hdXgtZGF0YS9jb250cm9sLXR5cGVzLmVudW0nO1xyXG5pbXBvcnQgeyBJRmllbGREYXRhIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzL2ZpZWxkLWJhc2ljcy5pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCB0eXBlIElVcGxvYWRTZXR0aW5ncyA9IHtcclxuICBhY2NlcHQ/OiBzdHJpbmcsXHJcbiAgbXVsdGlwbGU/OiBib29sZWFuLFxyXG4gIG9uU2VsZWN0RmlsZT86ICh2YWx1ZTogYW55KSA9PiB2b2lkO1xyXG59O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVXBsb2FkRmllbGQgZXh0ZW5kcyBJRmllbGREYXRhIHtcclxuICBzZXR0aW5nczogSVVwbG9hZFNldHRpbmdzO1xyXG4gIHR5cGU6IEVDb250cm9sVHlwZXMudXBsb2FkO1xyXG4gIGRlZmF1bHRWYWx1ZTogYW55O1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC11cGxvYWQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC11cGxvYWQvc3BlY2lhbC11cGxvYWQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFQ29udHJvbFR5cGVzIH0gZnJvbSAnLi4vLi4vY29yZS9hdXgtZGF0YS9jb250cm9sLXR5cGVzLmVudW0nO1xyXG5pbXBvcnQgeyBJRmllbGREYXRhIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzL2ZpZWxkLWJhc2ljcy5pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCB0eXBlIElVcGxvYWRTZXR0aW5ncyA9IHtcclxuICBhY2NlcHQ/OiBzdHJpbmc7XHJcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIG1vZGU/OiAncmVwbGFjZScgfCAnYXBwZW5kJztcclxuICBvblNlbGVjdEZpbGU/OiAodmFsdWU6IEZpbGUpID0+IHZvaWQ7XHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElVcGxvYWRGaWVsZCBleHRlbmRzIElGaWVsZERhdGEge1xyXG4gIHNldHRpbmdzOiBJVXBsb2FkU2V0dGluZ3M7XHJcbiAgdHlwZTogRUNvbnRyb2xUeXBlcy51cGxvYWQ7XHJcbiAgZGVmYXVsdFZhbHVlOiBhbnk7XHJcbn1cclxuIl19
@@ -237,4 +237,4 @@ export class SpecialFormArray extends FormArray {
237
237
  return form;
238
238
  }
239
239
  }
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC1mb3Jtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWNpYWwtZm9ybXMvc3JjL2xpYi9jb3JlL2Zvcm1zL3NwZWNpYWwtZm9ybXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFZeEIsTUFBTSxPQUFPLGtCQUF5QyxTQUFRLFdBQVc7SUFnQnZFLFlBQVksRUFDVixJQUFJLEVBQ0osUUFBUSxFQUNSLElBQUksRUFDSixVQUFVLEVBQ1YsZUFBZSxFQUNmLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixJQUFJLEVBQ0osS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsUUFBUSxFQUNSLFFBQVEsRUFDUixPQUFPLEVBQ1AsYUFBYSxFQUNiLFFBQVEsR0FDTztRQUNmLEtBQUssQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRWpELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFB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QUFPLENBQUMsRUFBRSxFQUFFO1lBQ25ELElBQUksT0FBTyxZQUFZLFdBQVcsRUFBRTtnQkFDbEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUM3QjtpQkFBTSxJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7YUFDN0I7aUJBQU0sSUFBSSxPQUFPLFlBQVksU0FBUyxFQUFFO2dCQUN2QyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQzFCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIEZvcm1BcnJheSxcclxuICBGb3JtQ29udHJvbCxcclxuICBGb3JtR3JvdXAsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFQ29udHJvbFR5cGVzIH0gZnJvbSAnLi4vYXV4LWRhdGEvY29udHJvbC10eXBlcy5lbnVtJztcclxuaW1wb3J0IHsgSUZpZWxkQmFzaWNEYXRhIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9maWVsZC1iYXNpY3MuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgSUFycmF5U2V0dGluZ3MsXHJcbiAgSUZvcm1TZXR0aW5ncyxcclxuICBUU3BlY2lhbEZpZWxkcyxcclxuICBUU3BlY2lhbEZvcm0sXHJcbiAgVFNwZWNpYWxBcnJheSxcclxuICBUUmF3RmllbGRzLFxyXG59IGZyb20gJy4uL2ludGVyZmFjZXMvZm9ybS5pbnRlcmZhY2VzJztcclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5leHBvcnQgY2xhc3MgU3BlY2lhbEZvcm1Db250cm9sPFQgZXh0ZW5kcyBUUmF3RmllbGRzPiBleHRlbmRzIEZvcm1Db250cm9sIHtcclxuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogVFsncGxhY2Vob2xkZXInXTtcclxuICBwdWJsaWMgbGFiZWw6IFRbJ2xhYmVsJ107XHJcbiAgcHVibGljIHRvb2x0aXA6IFRbJ3Rvb2x0aXAnXTtcclxuICBwdWJsaWMgaWNvbjogVFsnaWNvbiddO1xyXG4gIHB1YmxpYyBlbGVtZW50SWQ6IFRbJ2VsZW1lbnRJZCddO1xyXG4gIHB1YmxpYyBzdHlsZUNsYXNzZXM6IFRbJ3N0eWxlQ2xhc3NlcyddO1xyXG4gIHB1YmxpYyBsZW5ndGg6IFRbJ2xlbmd0aCddO1xyXG4gIHB1YmxpYyByZXF1aXJlZDogVFsncmVxdWlyZWQnXTtcclxuICBwdWJsaWMgaGlkZGVuOiBUWydoaWRkZW4nXTtcclxuICBwdWJsaWMgcmVhZE9ubHk6IFRbJ3JlYWRPbmx5J107XHJcbiAgcHVibGljIHNldHRpbmdzOiBUWydzZXR0aW5ncyddO1xyXG4gIHB1YmxpYyB0eXBlOiBUWyd0eXBlJ107XHJcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IFRbJ2Vycm9yTWVzc2FnZXMnXTtcclxuXHJcbiAgY29uc3RydWN0b3Ioe1xyXG4gICAgbmFtZSxcclxuICAgIHNldHRpbmdzLFxyXG4gICAgdHlwZSxcclxuICAgIHZhbGlkYXRvcnMsXHJcbiAgICBhc3luY1ZhbGlkYXRvcnMsXHJcbiAgICBlbGVtZW50SWQsXHJcbiAgICBzdHlsZUNsYXNzZXMsXHJcbiAgICBkZWZhdWx0VmFsdWUsXHJcbiAgICBoaWRkZW4sXHJcbiAgICBpY29uLFxyXG4gICAgbGFiZWwsXHJcbiAgICBsZW5ndGgsXHJcbiAgICBwbGFjZWhvbGRlcixcclxuICAgIHJlYWRPbmx5LFxyXG4gICAgcmVxdWlyZWQsXHJcbiAgICB0b29sdGlwLFxyXG4gICAgZXJyb3JNZXNzYWdlcyxcclxuICAgIGRpc2FibGVkLFxyXG4gIH06IFRTcGVjaWFsRmllbGRzKSB7XHJcbiAgICBzdXBlcihkZWZhdWx0VmFsdWUsIHZhbGlkYXRvcnMsIGFzeW5jVmFsaWRhdG9ycyk7XHJcblxyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcclxuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcclxuICAgIHRoaXMudG9vbHRpcCA9IHRvb2x0aXA7XHJcbiAgICB0aGlzLmljb24gPSBpY29uO1xyXG4gICAgdGhpcy5lbGVtZW50SWQgPSBlbGVtZW50SWQ7XHJcbiAgICB0aGlzLnNldHRpbmdzID0gc2V0dGluZ3M7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5zdHlsZUNsYXNzZXMgPSBzdHlsZUNsYXNzZXM7XHJcbiAgICB0aGlzLmhpZGRlbiA9IGhpZGRlbjtcclxuICAgIHRoaXMubGVuZ3RoID0gbGVuZ3RoO1xyXG4gICAgdGhpcy5yZWFkT25seSA9IHJlYWRPbmx5O1xyXG4gICAgdGhpcy5yZXF1aXJlZCA9IHJlcXVpcmVkO1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gZXJyb3JNZXNzYWdlcztcclxuICAgIGRpc2FibGVkID8gdGhpcy5kaXNhYmxlKCkgOiB0aGlzLmVuYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0UmVhZE9ubHkoc3RhdHVzOiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5yZWFkT25seSA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkKHN0YXR1czogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIHN0YXR1cyA/IHRoaXMuZGlzYWJsZSgpIDogdGhpcy5lbmFibGUoKTtcclxuICB9XHJcblxyXG4gIHNldEhpZGRlbihzdGF0dXMgPSB0cnVlKSB7XHJcbiAgICB0aGlzLmhpZGRlbiA9IHN0YXR1cztcclxuICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIFNwZWNpYWxGb3JtR3JvdXAgZXh0ZW5kcyBGb3JtR3JvdXB7XHJcbiAgcHVibGljIG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcclxuICBwdWJsaWMgdG9vbHRpcDogc3RyaW5nO1xyXG4gIHB1YmxpYyBpY29uOiBzdHJpbmc7XHJcbiAgcHVibGljIGVsZW1lbnRJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdHlsZUNsYXNzZXM6IHN0cmluZztcclxuICBwdWJsaWMgbGVuZ3RoOiBudW1iZXI7XHJcbiAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcbiAgcHVibGljIHJlYWRPbmx5OiBib29sZWFuO1xyXG4gIHB1YmxpYyBzZXR0aW5nczogSUZvcm1TZXR0aW5ncztcclxuICBwdWJsaWMgdHlwZTogRUNvbnRyb2xUeXBlcy5mb3JtO1xyXG4gIHB1YmxpYyBkZWZhdWx0VmFsdWU6IGFueTtcclxuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICB7XHJcbiAgICAgIG5hbWUsXHJcbiAgICAgIHNldHRpbmdzLFxyXG4gICAgICB0eXBlLFxyXG4gICAgICB2YWxpZGF0b3JzLFxyXG4gICAgICBhc3luY1ZhbGlkYXRvcnMsXHJcbiAgICAgIGVsZW1lbnRJZCxcclxuICAgICAgc3R5bGVDbGFzc2VzLFxyXG4gICAgICBkZWZhdWx0VmFsdWUsXHJcbiAgICAgIGhpZGRlbixcclxuICAgICAgaWNvbixcclxuICAgICAgbGFiZWwsXHJcbiAgICAgIGxlbmd0aCxcclxuICAgICAgcGxhY2Vob2xkZXIsXHJcbiAgICAgIHJlYWRPbmx5LFxyXG4gICAgICByZXF1aXJlZCxcclxuICAgICAgdG9vbHRpcCxcclxuICAgICAgZGlzYWJsZWQsXHJcbiAgICB9OiBUU3BlY2lhbEZvcm0sXHJcbiAgICBjb250cm9sczoge1xyXG4gICAgICBba2V5OiBzdHJpbmddOiBTcGVjaWFsRm9ybUNvbnRyb2w8YW55PjtcclxuICAgIH1cclxuICApIHtcclxuICAgIHN1cGVyKGNvbnRyb2xzLCB2YWxpZGF0b3JzLCBhc3luY1ZhbGlkYXRvcnMpO1xyXG5cclxuICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI7XHJcbiAgICB0aGlzLmxhYmVsID0gbGFiZWw7XHJcbiAgICB0aGlzLnRvb2x0aXAgPSB0b29sdGlwO1xyXG4gICAgdGhpcy5pY29uID0gaWNvbjtcclxuICAgIHRoaXMuZWxlbWVudElkID0gZWxlbWVudElkO1xyXG4gICAgdGhpcy5zZXR0aW5ncyA9IHNldHRpbmdzO1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICAgIHRoaXMuc3R5bGVDbGFzc2VzID0gc3R5bGVDbGFzc2VzO1xyXG4gICAgdGhpcy5oaWRkZW4gPSBoaWRkZW47XHJcbiAgICB0aGlzLmxlbmd0aCA9IGxlbmd0aDtcclxuICAgIHRoaXMucmVhZE9ubHkgPSByZWFkT25seTtcclxuICAgIHRoaXMucmVxdWlyZWQgPSByZXF1aXJlZDtcclxuICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gZGVmYXVsdFZhbHVlO1xyXG4gICAgZGlzYWJsZWQgPyB0aGlzLmRpc2FibGUoKSA6IHRoaXMuZW5hYmxlKCk7XHJcbiAgfVxyXG5cclxuICBnZXREaXJ0eSgpIHtcclxuICAgIHRoaXMubWFya0FzRGlydHkoKTtcclxuICAgIE9iamVjdC52YWx1ZXModGhpcy5jb250cm9scykuZm9yRWFjaCgoY29udHJvbCkgPT4ge1xyXG4gICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIFNwZWNpYWxGb3JtQ29udHJvbCkge1xyXG4gICAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICAgICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1Hcm91cCkge1xyXG4gICAgICAgIGNvbnRyb2wuZ2V0RGlydHkoKTtcclxuICAgICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1BcnJheSkge1xyXG4gICAgICAgIGNvbnRyb2wuZ2V0RGlydHkoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzcGVjaWFsUmVzZXQodmFsdWUgPSB7fSkge1xyXG4gICAgY29uc3QgYXV4OiBhbnkgPSB7fTtcclxuICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuY29udHJvbHMpLm1hcCgoW2tleSwgY29udHJvbF0pID0+IHtcclxuICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUNvbnRyb2wpIHtcclxuICAgICAgICBhdXhba2V5XSA9IGNvbnRyb2wuZGVmYXVsdFZhbHVlO1xyXG4gICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUFycmF5KSB7XHJcbiAgICAgICAgY29udHJvbC5jbGVhcigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnJlc2V0KHsgLi4uYXV4LCAuLi52YWx1ZSB9KTtcclxuICB9XHJcblxyXG4gIHNldFJlYWRPbmx5KHN0YXR1czogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIE9iamVjdC52YWx1ZXModGhpcy5jb250cm9scykubWFwKCh2YWx1ZSkgPT4ge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdmFsdWUgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUNvbnRyb2wgfHxcclxuICAgICAgICB2YWx1ZSBpbnN0YW5jZW9mIFNwZWNpYWxGb3JtQXJyYXkgfHxcclxuICAgICAgICB2YWx1ZSBpbnN0YW5jZW9mIFNwZWNpYWxGb3JtR3JvdXBcclxuICAgICAgKSB7XHJcbiAgICAgICAgdmFsdWUuc2V0UmVhZE9ubHkoc3RhdHVzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRSZWFkT25seUJ5RmllbGRzKGZpZWxkc09iamVjdDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0pIHtcclxuICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkc09iamVjdCkubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuY29udHJvbHNba2V5XTtcclxuICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUNvbnRyb2wpIHtcclxuICAgICAgICBjb250cm9sLnJlYWRPbmx5ID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0SGlkZGVuQnlGaWVsZHMoZmllbGRzOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSkge1xyXG4gICAgT2JqZWN0LmVudHJpZXMoZmllbGRzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICBjb25zdCBjb250cm9sID0gdGhpcy5jb250cm9sc1trZXldO1xyXG4gICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIFNwZWNpYWxGb3JtQ29udHJvbCkge1xyXG4gICAgICAgIGNvbnRyb2wuaGlkZGVuID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWQoc3RhdHVzOiBib29sZWFuKSB7XHJcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuY29udHJvbHMpLm1hcCgodmFsdWUpID0+IHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHZhbHVlIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1Db250cm9sIHx8XHJcbiAgICAgICAgdmFsdWUgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUFycmF5IHx8XHJcbiAgICAgICAgdmFsdWUgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUdyb3VwXHJcbiAgICAgICkge1xyXG4gICAgICAgIHZhbHVlLnNldERpc2FibGVkKHN0YXR1cyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRCeUZpZWxkcyhmaWVsZHNPYmplY3Q6IGFueSkge1xyXG4gICAgT2JqZWN0LmVudHJpZXMoZmllbGRzT2JqZWN0KS5tYXAoKGVudHJpZXMpID0+IHtcclxuICAgICAgaWYgKHRoaXMuY29udHJvbHNbZW50cmllc1swXV0gaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUNvbnRyb2wpIHtcclxuICAgICAgICBlbnRyaWVzWzFdXHJcbiAgICAgICAgICA/IHRoaXMuY29udHJvbHNbZW50cmllc1swXV0uZW5hYmxlKClcclxuICAgICAgICAgIDogdGhpcy5jb250cm9sc1tlbnRyaWVzWzBdXS5kaXNhYmxlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZG9uZGUgdmFsdWUgZXMgZWwgb2JqZXRvIHNlbWlsbGEgeSBkZXRhaWxGb3JtIGVzIHVuIGFycmVnbG8gZGUgZm9ybSBrZXkgcGFyYSBkYXIgdW4gbWFyY28gYWwgZm9ybWFycmF5XHJcbiAgICovXHJcblxyXG4gIHNldEZvcm1WYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNwZWNpYWxSZXNldCh2YWx1ZSk7XHJcbiAgICBPYmplY3QuZW50cmllcyh0aGlzLmNvbnRyb2xzKVxyXG4gICAgICAuZmlsdGVyKChbX2tleSwgY29udHJvbF0pID0+IGNvbnRyb2wgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUFycmF5KVxyXG4gICAgICAubWFwKChba2V5LCBjb250cm9sXSkgPT4ge1xyXG4gICAgICAgIChjb250cm9sIGFzIFNwZWNpYWxGb3JtQXJyYXkpLmZpbGxGb3JtQXJyYXkodmFsdWVba2V5XSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyBxdWUgcmV0b3JuYVxyXG4gICAqL1xyXG5cclxuICBnZXRJZFBrZXkoKTogU3BlY2lhbEZvcm1Db250cm9sPGFueT4gfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5jb250cm9scykuZmluZChcclxuICAgICAgKGNvbnRyb2wpID0+XHJcbiAgICAgICAgY29udHJvbCBpbnN0YW5jZW9mIFNwZWNpYWxGb3JtQ29udHJvbCAmJiBjb250cm9sLnR5cGUgPT09ICdQUklNQVJZLUtFWSdcclxuICAgICkgYXMgU3BlY2lhbEZvcm1Db250cm9sPGFueT4gfCB1bmRlZmluZWQ7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU3BlY2lhbEZvcm1BcnJheSBleHRlbmRzIEZvcm1BcnJheSBpbXBsZW1lbnRzIElGaWVsZEJhc2ljRGF0YSB7XHJcbiAgcHVibGljIG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcclxuICBwdWJsaWMgdG9vbHRpcDogc3RyaW5nO1xyXG4gIHB1YmxpYyBpY29uOiBzdHJpbmc7XHJcbiAgcHVibGljIGVsZW1lbnRJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdHlsZUNsYXNzZXM6IHN0cmluZztcclxuICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XHJcbiAgcHVibGljIGhpZGRlbjogYm9vbGVhbjtcclxuICBwdWJsaWMgcmVhZE9ubHk6IGJvb2xlYW47XHJcbiAgcHVibGljIHNldHRpbmdzOiBJQXJyYXlTZXR0aW5ncztcclxuICBwdWJsaWMgdHlwZTogRUNvbnRyb2xUeXBlcztcclxuICBwdWJsaWMgZGVmYXVsdFZhbHVlOiBhbnk7XHJcbiAgcHVibGljIGZvcm06IFNwZWNpYWxGb3JtR3JvdXA7XHJcbiAgcHJpdmF0ZSBmb3JtQ3JlYXRpb246ICh2YWx1ZT86IGFueSkgPT4gU3BlY2lhbEZvcm1Hcm91cDtcclxuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICB7XHJcbiAgICAgIG5hbWUsXHJcbiAgICAgIHNldHRpbmdzLFxyXG4gICAgICB0eXBlLFxyXG4gICAgICB2YWxpZGF0b3JzLFxyXG4gICAgICBhc3luY1ZhbGlkYXRvcnMsXHJcbiAgICAgIGVsZW1lbnRJZCxcclxuICAgICAgc3R5bGVDbGFzc2VzLFxyXG4gICAgICBkZWZhdWx0VmFsdWUsXHJcbiAgICAgIGhpZGRlbixcclxuICAgICAgaWNvbixcclxuICAgICAgbGFiZWwsXHJcbiAgICAgIHBsYWNlaG9sZGVyLFxyXG4gICAgICByZWFkT25seSxcclxuICAgICAgcmVxdWlyZWQsXHJcbiAgICAgIHRvb2x0aXAsXHJcbiAgICAgIGVycm9yTWVzc2FnZXMsXHJcbiAgICAgIGRpc2FibGVkLFxyXG4gICAgfTogVFNwZWNpYWxBcnJheSxcclxuICAgIGZvcm1DcmVhdGlvbjogKCkgPT4gU3BlY2lhbEZvcm1Hcm91cCxcclxuICAgIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXVxyXG4gICkge1xyXG4gICAgc3VwZXIoY29udHJvbHMsIHZhbGlkYXRvcnMsIGFzeW5jVmFsaWRhdG9ycyk7XHJcbiAgICB0aGlzLmZvcm1DcmVhdGlvbiA9IGZvcm1DcmVhdGlvbjtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUNyZWF0aW9uKCk7XHJcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xyXG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyO1xyXG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xyXG4gICAgdGhpcy50b29sdGlwID0gdG9vbHRpcDtcclxuICAgIHRoaXMuaWNvbiA9IGljb247XHJcbiAgICB0aGlzLmVsZW1lbnRJZCA9IGVsZW1lbnRJZDtcclxuICAgIHRoaXMuc2V0dGluZ3MgPSBzZXR0aW5ncztcclxuICAgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLnN0eWxlQ2xhc3NlcyA9IHN0eWxlQ2xhc3NlcztcclxuICAgIHRoaXMuaGlkZGVuID0gaGlkZGVuO1xyXG4gICAgdGhpcy5yZWFkT25seSA9IHJlYWRPbmx5O1xyXG4gICAgdGhpcy5yZXF1aXJlZCA9IHJlcXVpcmVkO1xyXG4gICAgdGhpcy5kZWZhdWx0VmFsdWUgPSBkZWZhdWx0VmFsdWU7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBlcnJvck1lc3NhZ2VzO1xyXG4gICAgZGlzYWJsZWQgPyB0aGlzLmRpc2FibGUoKSA6IHRoaXMuZW5hYmxlKCk7XHJcbiAgfVxyXG5cclxuICBmaWxsRm9ybUFycmF5KGRhdGE6IGFueVtdKSB7XHJcbiAgICB0aGlzLmZvcm0ucmVzZXQoKTtcclxuICAgIHRoaXMuY2xlYXIoKTtcclxuICAgIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtQ3JlYXRpb24oaXRlbSk7XHJcbiAgICAgIHRoaXMucHVzaChmb3JtKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWRkSXRlbSgpIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1DcmVhdGlvbih0aGlzLmZvcm0udmFsdWUpO1xyXG4gICAgdGhpcy5mb3JtLnNwZWNpYWxSZXNldCgpO1xyXG4gICAgdGhpcy5wdXNoKGZvcm0pO1xyXG4gICAgdGhpcy5tYXJrQXNEaXJ0eSgpO1xyXG4gIH1cclxuXHJcbiAgc3BlY2lhbFB1c2goaW5kZXg/OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1DcmVhdGlvbih0aGlzLmZvcm0udmFsdWUpO1xyXG4gICAgaWYgKCFpbmRleCkgdGhpcy5wdXNoKGZvcm0pO1xyXG4gICAgZWxzZSB0aGlzLmNvbnRyb2xzW2luZGV4XS5yZXNldCh0aGlzLmZvcm0udmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgc3BlY2lhbEluc2VydChpbmRleCA9IDApIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1DcmVhdGlvbih0aGlzLmZvcm0udmFsdWUpO1xyXG4gICAgdGhpcy5pbnNlcnQoaW5kZXgsIGZvcm0pO1xyXG4gIH1cclxuXHJcbiAgc3BlY2lhbEVkaXQoaW5kZXg6IG51bWJlciwgbmV3VmFsdWU6IE9iamVjdCkge1xyXG4gICAgdGhpcy5jb250cm9sc1tpbmRleF0ucmVzZXQoeyAuLi50aGlzLmNvbnRyb2xzW2luZGV4XS52YWx1ZSwgLi4ubmV3VmFsdWUgfSk7XHJcbiAgICB0aGlzLm1hcmtBc0RpcnR5KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWdWVsdmUgdG9kb3MgbG9zIGNvbnRyb2xlcyBkZWwgZm9ybUFycmF5IGRlIGxlY3R1cmEgbyBkZSBzb2xvbGVjdHVyYVxyXG4gICAqIEBwYXJhbSBzdGF0dXNcclxuICAgKi9cclxuXHJcbiAgc2V0UmVhZE9ubHkoc3RhdHVzOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnJlYWRPbmx5ID0gc3RhdHVzO1xyXG4gICAgdGhpcy5jb250cm9scy5mb3JFYWNoKChjb250cm9sKSA9PiB7XHJcbiAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1Hcm91cCkge1xyXG4gICAgICAgIGNvbnRyb2wuc2V0UmVhZE9ubHkoc3RhdHVzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWdWVsdmUgdG9kb3MgbG9zIGNvbnRyb2xlcyBkZWwgZm9ybUFycmF5IGhhYmlsaXRhZG9zIG8gZGVzaGFiaWxpdGFkb3NcclxuICAgKiBAcGFyYW0gc3RhdHVzXHJcbiAgICovXHJcblxyXG4gIHNldERpc2FibGVkKHN0YXR1czogYm9vbGVhbikge1xyXG4gICAgc3RhdHVzID8gdGhpcy5kaXNhYmxlKCkgOiB0aGlzLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5jb250cm9scy5mb3JFYWNoKChjb250cm9sKSA9PiB7XHJcbiAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1Hcm91cCkge1xyXG4gICAgICAgIGNvbnRyb2wuc2V0RGlzYWJsZWQoc3RhdHVzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQZXJtaXRlIGVkaXRhciB1biBjb250cm9sIGVzcGVjaWZpY28uXHJcbiAgICogQHBhcmFtIGluZGV4XHJcbiAgICovXHJcblxyXG4gIGVkaXRDb250cm9sKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuZm9ybS5yZXNldCh0aGlzLmNvbnRyb2xzW2luZGV4XS52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXREaXJ0eSgpIHtcclxuICAgIHRoaXMubWFya0FzRGlydHkoKTtcclxuICAgIHRoaXMuZm9ybS5nZXREaXJ0eSgpO1xyXG4gICAgdGhpcy5jb250cm9scy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICg8U3BlY2lhbEZvcm1Hcm91cD5pdGVtKS5nZXREaXJ0eSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWN1cnNpdmVGaWxsRm9ybShmb3JtOiBGb3JtR3JvdXAsIGRhdGE6IGFueSk6IEZvcm1Hcm91cCB7XHJcbiAgICBPYmplY3QuZW50cmllcyhmb3JtLmNvbnRyb2xzKS5tYXAoKFtrZXksIGNvbnRyb2xdKSA9PiB7XHJcbiAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcclxuICAgICAgICBjb250cm9sLnNldFZhbHVlKGRhdGFba2V5XSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xyXG4gICAgICAgIGRhdGFba2V5XS5mb3JFYWNoKCgpID0+IHt9KTtcclxuICAgICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XHJcbiAgICAgICAgY29udHJvbC5yZXNldChkYXRhW2tleV0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBmb3JtO1xyXG4gIH1cclxufVxyXG4iXX0=
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC1mb3Jtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWNpYWwtZm9ybXMvc3JjL2xpYi9jb3JlL2Zvcm1zL3NwZWNpYWwtZm9ybXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFZeEIsTUFBTSxPQUFPLGtCQUF5QyxTQUFRLFdBQVc7SUFnQnZFLFlBQVksRUFDVixJQUFJLEVBQ0osUUFBUSxFQUNSLElBQUksRUFDSixVQUFVLEVBQ1YsZUFBZSxFQUNmLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixJQUFJLEVBQ0osS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsUUFBUSxFQUNSLFFBQVEsRUFDUixPQUFPLEVBQ1AsYUFBYSxFQUNiLFFBQVEsR0FDTztRQUNmLEtBQUssQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRWpELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFB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LENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUFlLEVBQUUsSUFBUztRQUMxQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ25ELElBQUksT0FBTyxZQUFZLFdBQVcsRUFBRSxDQUFDO2dCQUNuQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzlCLENBQUM7aUJBQU0sSUFBSSxPQUFPLFlBQVksU0FBUyxFQUFFLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUIsQ0FBQztpQkFBTSxJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUUsQ0FBQztnQkFDeEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMzQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIEZvcm1BcnJheSxcclxuICBGb3JtQ29udHJvbCxcclxuICBGb3JtR3JvdXAsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFQ29udHJvbFR5cGVzIH0gZnJvbSAnLi4vYXV4LWRhdGEvY29udHJvbC10eXBlcy5lbnVtJztcclxuaW1wb3J0IHsgSUZpZWxkQmFzaWNEYXRhIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9maWVsZC1iYXNpY3MuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgSUFycmF5U2V0dGluZ3MsXHJcbiAgSUZvcm1TZXR0aW5ncyxcclxuICBUU3BlY2lhbEZpZWxkcyxcclxuICBUU3BlY2lhbEZvcm0sXHJcbiAgVFNwZWNpYWxBcnJheSxcclxuICBUUmF3RmllbGRzLFxyXG59IGZyb20gJy4uL2ludGVyZmFjZXMvZm9ybS5pbnRlcmZhY2VzJztcclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5leHBvcnQgY2xhc3MgU3BlY2lhbEZvcm1Db250cm9sPFQgZXh0ZW5kcyBUUmF3RmllbGRzPiBleHRlbmRzIEZvcm1Db250cm9sIHtcclxuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogVFsncGxhY2Vob2xkZXInXTtcclxuICBwdWJsaWMgbGFiZWw6IFRbJ2xhYmVsJ107XHJcbiAgcHVibGljIHRvb2x0aXA6IFRbJ3Rvb2x0aXAnXTtcclxuICBwdWJsaWMgaWNvbjogVFsnaWNvbiddO1xyXG4gIHB1YmxpYyBlbGVtZW50SWQ6IFRbJ2VsZW1lbnRJZCddO1xyXG4gIHB1YmxpYyBzdHlsZUNsYXNzZXM6IFRbJ3N0eWxlQ2xhc3NlcyddO1xyXG4gIHB1YmxpYyBsZW5ndGg6IFRbJ2xlbmd0aCddO1xyXG4gIHB1YmxpYyByZXF1aXJlZDogVFsncmVxdWlyZWQnXTtcclxuICBwdWJsaWMgaGlkZGVuOiBUWydoaWRkZW4nXTtcclxuICBwdWJsaWMgcmVhZE9ubHk6IFRbJ3JlYWRPbmx5J107XHJcbiAgcHVibGljIHNldHRpbmdzOiBUWydzZXR0aW5ncyddO1xyXG4gIHB1YmxpYyB0eXBlOiBUWyd0eXBlJ107XHJcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IFRbJ2Vycm9yTWVzc2FnZXMnXTtcclxuXHJcbiAgY29uc3RydWN0b3Ioe1xyXG4gICAgbmFtZSxcclxuICAgIHNldHRpbmdzLFxyXG4gICAgdHlwZSxcclxuICAgIHZhbGlkYXRvcnMsXHJcbiAgICBhc3luY1ZhbGlkYXRvcnMsXHJcbiAgICBlbGVtZW50SWQsXHJcbiAgICBzdHlsZUNsYXNzZXMsXHJcbiAgICBkZWZhdWx0VmFsdWUsXHJcbiAgICBoaWRkZW4sXHJcbiAgICBpY29uLFxyXG4gICAgbGFiZWwsXHJcbiAgICBsZW5ndGgsXHJcbiAgICBwbGFjZWhvbGRlcixcclxuICAgIHJlYWRPbmx5LFxyXG4gICAgcmVxdWlyZWQsXHJcbiAgICB0b29sdGlwLFxyXG4gICAgZXJyb3JNZXNzYWdlcyxcclxuICAgIGRpc2FibGVkLFxyXG4gIH06IFRTcGVjaWFsRmllbGRzKSB7XHJcbiAgICBzdXBlcihkZWZhdWx0VmFsdWUsIHZhbGlkYXRvcnMsIGFzeW5jVmFsaWRhdG9ycyk7XHJcblxyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcclxuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcclxuICAgIHRoaXMudG9vbHRpcCA9IHRvb2x0aXA7XHJcbiAgICB0aGlzLmljb24gPSBpY29uO1xyXG4gICAgdGhpcy5lbGVtZW50SWQgPSBlbGVtZW50SWQ7XHJcbiAgICB0aGlzLnNldHRpbmdzID0gc2V0dGluZ3M7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5zdHlsZUNsYXNzZXMgPSBzdHlsZUNsYXNzZXM7XHJcbiAgICB0aGlzLmhpZGRlbiA9IGhpZGRlbjtcclxuICAgIHRoaXMubGVuZ3RoID0gbGVuZ3RoO1xyXG4gICAgdGhpcy5yZWFkT25seSA9IHJlYWRPbmx5O1xyXG4gICAgdGhpcy5yZXF1aXJlZCA9IHJlcXVpcmVkO1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gZXJyb3JNZXNzYWdlcztcclxuICAgIGRpc2FibGVkID8gdGhpcy5kaXNhYmxlKCkgOiB0aGlzLmVuYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0UmVhZE9ubHkoc3RhdHVzOiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5yZWFkT25seSA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkKHN0YXR1czogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIHN0YXR1cyA/IHRoaXMuZGlzYWJsZSgpIDogdGhpcy5lbmFibGUoKTtcclxuICB9XHJcblxyXG4gIHNldEhpZGRlbihzdGF0dXMgPSB0cnVlKSB7XHJcbiAgICB0aGlzLmhpZGRlbiA9IHN0YXR1cztcclxuICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIFNwZWNpYWxGb3JtR3JvdXAgZXh0ZW5kcyBGb3JtR3JvdXB7XHJcbiAgcHVibGljIG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcclxuICBwdWJsaWMgdG9vbHRpcDogc3RyaW5nO1xyXG4gIHB1YmxpYyBpY29uOiBzdHJpbmc7XHJcbiAgcHVibGljIGVsZW1lbnRJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdHlsZUNsYXNzZXM6IHN0cmluZztcclxuICBwdWJsaWMgbGVuZ3RoOiBudW1iZXI7XHJcbiAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcbiAgcHVibGljIHJlYWRPbmx5OiBib29sZWFuO1xyXG4gIHB1YmxpYyBzZXR0aW5nczogSUZvcm1TZXR0aW5ncztcclxuICBwdWJsaWMgdHlwZTogRUNvbnRyb2xUeXBlcy5mb3JtO1xyXG4gIHB1YmxpYyBkZWZhdWx0VmFsdWU6IGFueTtcclxuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICB7XHJcbiAgICAgIG5hbWUsXHJcbiAgICAgIHNldHRpbmdzLFxyXG4gICAgICB0eXBlLFxyXG4gICAgICB2YWxpZGF0b3JzLFxyXG4gICAgICBhc3luY1ZhbGlkYXRvcnMsXHJcbiAgICAgIGVsZW1lbnRJZCxcclxuICAgICAgc3R5bGVDbGFzc2VzLFxyXG4gICAgICBkZWZhdWx0VmFsdWUsXHJcbiAgICAgIGhpZGRlbixcclxuICAgICAgaWNvbixcclxuICAgICAgbGFiZWwsXHJcbiAgICAgIGxlbmd0aCxcclxuICAgICAgcGxhY2Vob2xkZXIsXHJcbiAgICAgIHJlYWRPbmx5LFxyXG4gICAgICByZXF1aXJlZCxcclxuICAgICAgdG9vbHRpcCxcclxuICAgICAgZGlzYWJsZWQsXHJcbiAgICB9OiBUU3BlY2lhbEZvcm0sXHJcbiAgICBjb250cm9sczoge1xyXG4gICAgICBba2V5OiBzdHJpbmddOiBTcGVjaWFsRm9ybUNvbnRyb2w8YW55PjtcclxuICAgIH1cclxuICApIHtcclxuICAgIHN1cGVyKGNvbnRyb2xzLCB2YWxpZGF0b3JzLCBhc3luY1ZhbGlkYXRvcnMpO1xyXG5cclxuICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI7XHJcbiAgICB0aGlzLmxhYmVsID0gbGFiZWw7XHJcbiAgICB0aGlzLnRvb2x0aXAgPSB0b29sdGlwO1xyXG4gICAgdGhpcy5pY29uID0gaWNvbjtcclxuICAgIHRoaXMuZWxlbWVudElkID0gZWxlbWVudElkO1xyXG4gICAgdGhpcy5zZXR0aW5ncyA9IHNldHRpbmdzO1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICAgIHRoaXMuc3R5bGVDbGFzc2VzID0gc3R5bGVDbGFzc2VzO1xyXG4gICAgdGhpcy5oaWRkZW4gPSBoaWRkZW47XHJcbiAgICB0aGlzLmxlbmd0aCA9IGxlbmd0aDtcclxuICAgIHRoaXMucmVhZE9ubHkgPSByZWFkT25seTtcclxuICAgIHRoaXMucmVxdWlyZWQgPSByZXF1aXJlZDtcclxuICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gZGVmYXVsdFZhbHVlO1xyXG4gICAgZGlzYWJsZWQgPyB0aGlzLmRpc2FibGUoKSA6IHRoaXMuZW5hYmxlKCk7XHJcbiAgfVxyXG5cclxuICBnZXREaXJ0eSgpIHtcclxuICAgIHRoaXMubWFya0FzRGlydHkoKTtcclxuICAgIE9iamVjdC52YWx1ZXModGhpcy5jb250cm9scykuZm9yRWFjaCgoY29udHJvbCkgPT4ge1xyXG4gICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIFNwZWNpYWxGb3JtQ29udHJvbCkge1xyXG4gICAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICAgICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1Hcm91cCkge1xyXG4gICAgICAgIGNvbnRyb2wuZ2V0RGlydHkoKTtcclxuICAgICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1BcnJheSkge1xyXG4gICAgICAgIGNvbnRyb2wuZ2V0RGlydHkoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzcGVjaWFsUmVzZXQodmFsdWUgPSB7fSkge1xyXG4gICAgY29uc3QgYXV4OiBhbnkgPSB7fTtcclxuICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuY29udHJvbHMpLm1hcCgoW2tleSwgY29udHJvbF0pID0+IHtcclxuICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUNvbnRyb2wpIHtcclxuICAgICAgICBhdXhba2V5XSA9IGNvbnRyb2wuZGVmYXVsdFZhbHVlO1xyXG4gICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUFycmF5KSB7XHJcbiAgICAgICAgY29udHJvbC5jbGVhcigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnJlc2V0KHsgLi4uYXV4LCAuLi52YWx1ZSB9KTtcclxuICB9XHJcblxyXG4gIHNldFJlYWRPbmx5KHN0YXR1czogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIE9iamVjdC52YWx1ZXModGhpcy5jb250cm9scykubWFwKCh2YWx1ZSkgPT4ge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdmFsdWUgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUNvbnRyb2wgfHxcclxuICAgICAgICB2YWx1ZSBpbnN0YW5jZW9mIFNwZWNpYWxGb3JtQXJyYXkgfHxcclxuICAgICAgICB2YWx1ZSBpbnN0YW5jZW9mIFNwZWNpYWxGb3JtR3JvdXBcclxuICAgICAgKSB7XHJcbiAgICAgICAgdmFsdWUuc2V0UmVhZE9ubHkoc3RhdHVzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRSZWFkT25seUJ5RmllbGRzKGZpZWxkc09iamVjdDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0pIHtcclxuICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkc09iamVjdCkubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuY29udHJvbHNba2V5XTtcclxuICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUNvbnRyb2wpIHtcclxuICAgICAgICBjb250cm9sLnJlYWRPbmx5ID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0SGlkZGVuQnlGaWVsZHMoZmllbGRzOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSkge1xyXG4gICAgT2JqZWN0LmVudHJpZXMoZmllbGRzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICBjb25zdCBjb250cm9sID0gdGhpcy5jb250cm9sc1trZXldO1xyXG4gICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIFNwZWNpYWxGb3JtQ29udHJvbCkge1xyXG4gICAgICAgIGNvbnRyb2wuaGlkZGVuID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWQoc3RhdHVzOiBib29sZWFuKSB7XHJcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuY29udHJvbHMpLm1hcCgodmFsdWUpID0+IHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHZhbHVlIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1Db250cm9sIHx8XHJcbiAgICAgICAgdmFsdWUgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUFycmF5IHx8XHJcbiAgICAgICAgdmFsdWUgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUdyb3VwXHJcbiAgICAgICkge1xyXG4gICAgICAgIHZhbHVlLnNldERpc2FibGVkKHN0YXR1cyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRCeUZpZWxkcyhmaWVsZHNPYmplY3Q6IGFueSkge1xyXG4gICAgT2JqZWN0LmVudHJpZXMoZmllbGRzT2JqZWN0KS5tYXAoKGVudHJpZXMpID0+IHtcclxuICAgICAgaWYgKHRoaXMuY29udHJvbHNbZW50cmllc1swXV0gaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUNvbnRyb2wpIHtcclxuICAgICAgICBlbnRyaWVzWzFdXHJcbiAgICAgICAgICA/IHRoaXMuY29udHJvbHNbZW50cmllc1swXV0uZW5hYmxlKClcclxuICAgICAgICAgIDogdGhpcy5jb250cm9sc1tlbnRyaWVzWzBdXS5kaXNhYmxlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZG9uZGUgdmFsdWUgZXMgZWwgb2JqZXRvIHNlbWlsbGEgeSBkZXRhaWxGb3JtIGVzIHVuIGFycmVnbG8gZGUgZm9ybSBrZXkgcGFyYSBkYXIgdW4gbWFyY28gYWwgZm9ybWFycmF5XHJcbiAgICovXHJcblxyXG4gIHNldEZvcm1WYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNwZWNpYWxSZXNldCh2YWx1ZSk7XHJcbiAgICBPYmplY3QuZW50cmllcyh0aGlzLmNvbnRyb2xzKVxyXG4gICAgICAuZmlsdGVyKChbX2tleSwgY29udHJvbF0pID0+IGNvbnRyb2wgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUFycmF5KVxyXG4gICAgICAubWFwKChba2V5LCBjb250cm9sXSkgPT4ge1xyXG4gICAgICAgIChjb250cm9sIGFzIFNwZWNpYWxGb3JtQXJyYXkpLmZpbGxGb3JtQXJyYXkodmFsdWVba2V5XSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyBxdWUgcmV0b3JuYVxyXG4gICAqL1xyXG5cclxuICBnZXRJZFBrZXkoKTogU3BlY2lhbEZvcm1Db250cm9sPGFueT4gfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5jb250cm9scykuZmluZChcclxuICAgICAgKGNvbnRyb2wpID0+XHJcbiAgICAgICAgY29udHJvbCBpbnN0YW5jZW9mIFNwZWNpYWxGb3JtQ29udHJvbCAmJiBjb250cm9sLnR5cGUgPT09ICdQUklNQVJZLUtFWSdcclxuICAgICkgYXMgU3BlY2lhbEZvcm1Db250cm9sPGFueT4gfCB1bmRlZmluZWQ7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU3BlY2lhbEZvcm1BcnJheSBleHRlbmRzIEZvcm1BcnJheSBpbXBsZW1lbnRzIElGaWVsZEJhc2ljRGF0YSB7XHJcbiAgcHVibGljIG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcclxuICBwdWJsaWMgdG9vbHRpcDogc3RyaW5nO1xyXG4gIHB1YmxpYyBpY29uOiBzdHJpbmc7XHJcbiAgcHVibGljIGVsZW1lbnRJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdHlsZUNsYXNzZXM6IHN0cmluZztcclxuICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XHJcbiAgcHVibGljIGhpZGRlbjogYm9vbGVhbjtcclxuICBwdWJsaWMgcmVhZE9ubHk6IGJvb2xlYW47XHJcbiAgcHVibGljIHNldHRpbmdzOiBJQXJyYXlTZXR0aW5ncztcclxuICBwdWJsaWMgdHlwZTogRUNvbnRyb2xUeXBlcztcclxuICBwdWJsaWMgZGVmYXVsdFZhbHVlOiBhbnk7XHJcbiAgcHVibGljIGZvcm06IFNwZWNpYWxGb3JtR3JvdXA7XHJcbiAgcHJpdmF0ZSBmb3JtQ3JlYXRpb246ICh2YWx1ZT86IGFueSkgPT4gU3BlY2lhbEZvcm1Hcm91cDtcclxuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICB7XHJcbiAgICAgIG5hbWUsXHJcbiAgICAgIHNldHRpbmdzLFxyXG4gICAgICB0eXBlLFxyXG4gICAgICB2YWxpZGF0b3JzLFxyXG4gICAgICBhc3luY1ZhbGlkYXRvcnMsXHJcbiAgICAgIGVsZW1lbnRJZCxcclxuICAgICAgc3R5bGVDbGFzc2VzLFxyXG4gICAgICBkZWZhdWx0VmFsdWUsXHJcbiAgICAgIGhpZGRlbixcclxuICAgICAgaWNvbixcclxuICAgICAgbGFiZWwsXHJcbiAgICAgIHBsYWNlaG9sZGVyLFxyXG4gICAgICByZWFkT25seSxcclxuICAgICAgcmVxdWlyZWQsXHJcbiAgICAgIHRvb2x0aXAsXHJcbiAgICAgIGVycm9yTWVzc2FnZXMsXHJcbiAgICAgIGRpc2FibGVkLFxyXG4gICAgfTogVFNwZWNpYWxBcnJheSxcclxuICAgIGZvcm1DcmVhdGlvbjogKCkgPT4gU3BlY2lhbEZvcm1Hcm91cCxcclxuICAgIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXVxyXG4gICkge1xyXG4gICAgc3VwZXIoY29udHJvbHMsIHZhbGlkYXRvcnMsIGFzeW5jVmFsaWRhdG9ycyk7XHJcbiAgICB0aGlzLmZvcm1DcmVhdGlvbiA9IGZvcm1DcmVhdGlvbjtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUNyZWF0aW9uKCk7XHJcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xyXG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyO1xyXG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xyXG4gICAgdGhpcy50b29sdGlwID0gdG9vbHRpcDtcclxuICAgIHRoaXMuaWNvbiA9IGljb247XHJcbiAgICB0aGlzLmVsZW1lbnRJZCA9IGVsZW1lbnRJZDtcclxuICAgIHRoaXMuc2V0dGluZ3MgPSBzZXR0aW5ncztcclxuICAgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLnN0eWxlQ2xhc3NlcyA9IHN0eWxlQ2xhc3NlcztcclxuICAgIHRoaXMuaGlkZGVuID0gaGlkZGVuO1xyXG4gICAgdGhpcy5yZWFkT25seSA9IHJlYWRPbmx5O1xyXG4gICAgdGhpcy5yZXF1aXJlZCA9IHJlcXVpcmVkO1xyXG4gICAgdGhpcy5kZWZhdWx0VmFsdWUgPSBkZWZhdWx0VmFsdWU7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBlcnJvck1lc3NhZ2VzO1xyXG4gICAgZGlzYWJsZWQgPyB0aGlzLmRpc2FibGUoKSA6IHRoaXMuZW5hYmxlKCk7XHJcbiAgfVxyXG5cclxuICBmaWxsRm9ybUFycmF5KGRhdGE6IGFueVtdKSB7XHJcbiAgICB0aGlzLmZvcm0ucmVzZXQoKTtcclxuICAgIHRoaXMuY2xlYXIoKTtcclxuICAgIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtQ3JlYXRpb24oaXRlbSk7XHJcbiAgICAgIHRoaXMucHVzaChmb3JtKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWRkSXRlbSgpIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1DcmVhdGlvbih0aGlzLmZvcm0udmFsdWUpO1xyXG4gICAgdGhpcy5mb3JtLnNwZWNpYWxSZXNldCgpO1xyXG4gICAgdGhpcy5wdXNoKGZvcm0pO1xyXG4gICAgdGhpcy5tYXJrQXNEaXJ0eSgpO1xyXG4gIH1cclxuXHJcbiAgc3BlY2lhbFB1c2goaW5kZXg/OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1DcmVhdGlvbih0aGlzLmZvcm0udmFsdWUpO1xyXG4gICAgaWYgKCFpbmRleCkgdGhpcy5wdXNoKGZvcm0pO1xyXG4gICAgZWxzZSB0aGlzLmNvbnRyb2xzW2luZGV4XS5yZXNldCh0aGlzLmZvcm0udmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgc3BlY2lhbEluc2VydChpbmRleCA9IDApIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1DcmVhdGlvbih0aGlzLmZvcm0udmFsdWUpO1xyXG4gICAgdGhpcy5pbnNlcnQoaW5kZXgsIGZvcm0pO1xyXG4gIH1cclxuXHJcbiAgc3BlY2lhbEVkaXQoaW5kZXg6IG51bWJlciwgbmV3VmFsdWU6IE9iamVjdCkge1xyXG4gICAgdGhpcy5jb250cm9sc1tpbmRleF0ucmVzZXQoeyAuLi50aGlzLmNvbnRyb2xzW2luZGV4XS52YWx1ZSwgLi4ubmV3VmFsdWUgfSk7XHJcbiAgICB0aGlzLm1hcmtBc0RpcnR5KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWdWVsdmUgdG9kb3MgbG9zIGNvbnRyb2xlcyBkZWwgZm9ybUFycmF5IGRlIGxlY3R1cmEgbyBkZSBzb2xvbGVjdHVyYVxyXG4gICAqIEBwYXJhbSBzdGF0dXNcclxuICAgKi9cclxuXHJcbiAgc2V0UmVhZE9ubHkoc3RhdHVzOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnJlYWRPbmx5ID0gc3RhdHVzO1xyXG4gICAgdGhpcy5jb250cm9scy5mb3JFYWNoKChjb250cm9sKSA9PiB7XHJcbiAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1Hcm91cCkge1xyXG4gICAgICAgIGNvbnRyb2wuc2V0UmVhZE9ubHkoc3RhdHVzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWdWVsdmUgdG9kb3MgbG9zIGNvbnRyb2xlcyBkZWwgZm9ybUFycmF5IGhhYmlsaXRhZG9zIG8gZGVzaGFiaWxpdGFkb3NcclxuICAgKiBAcGFyYW0gc3RhdHVzXHJcbiAgICovXHJcblxyXG4gIHNldERpc2FibGVkKHN0YXR1czogYm9vbGVhbikge1xyXG4gICAgc3RhdHVzID8gdGhpcy5kaXNhYmxlKCkgOiB0aGlzLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5jb250cm9scy5mb3JFYWNoKChjb250cm9sKSA9PiB7XHJcbiAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1Hcm91cCkge1xyXG4gICAgICAgIGNvbnRyb2wuc2V0RGlzYWJsZWQoc3RhdHVzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQZXJtaXRlIGVkaXRhciB1biBjb250cm9sIGVzcGVjaWZpY28uXHJcbiAgICogQHBhcmFtIGluZGV4XHJcbiAgICovXHJcblxyXG4gIGVkaXRDb250cm9sKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuZm9ybS5yZXNldCh0aGlzLmNvbnRyb2xzW2luZGV4XS52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXREaXJ0eSgpIHtcclxuICAgIHRoaXMubWFya0FzRGlydHkoKTtcclxuICAgIHRoaXMuZm9ybS5nZXREaXJ0eSgpO1xyXG4gICAgdGhpcy5jb250cm9scy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICg8U3BlY2lhbEZvcm1Hcm91cD5pdGVtKS5nZXREaXJ0eSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWN1cnNpdmVGaWxsRm9ybShmb3JtOiBGb3JtR3JvdXAsIGRhdGE6IGFueSk6IEZvcm1Hcm91cCB7XHJcbiAgICBPYmplY3QuZW50cmllcyhmb3JtLmNvbnRyb2xzKS5tYXAoKFtrZXksIGNvbnRyb2xdKSA9PiB7XHJcbiAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcclxuICAgICAgICBjb250cm9sLnNldFZhbHVlKGRhdGFba2V5XSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xyXG4gICAgICAgIGRhdGFba2V5XS5mb3JFYWNoKCgpID0+IHt9KTtcclxuICAgICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XHJcbiAgICAgICAgY29udHJvbC5yZXNldChkYXRhW2tleV0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBmb3JtO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -8,10 +8,10 @@ export class FormControlsListPipe {
8
8
  .filter((control) => !control.hidden)
9
9
  .map((control) => control);
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: FormControlsListPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: FormControlsListPipe, isStandalone: true, name: "controlsList" }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormControlsListPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: FormControlsListPipe, isStandalone: true, name: "controlsList" }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: FormControlsListPipe, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormControlsListPipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{ name: 'controlsList', standalone: true }]
17
17
  }] });
@@ -10,14 +10,14 @@ export class ErrorMessagePipe {
10
10
  }
11
11
  return message;
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ErrorMessagePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
14
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: ErrorMessagePipe, isStandalone: true, name: "errorMessage" }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ErrorMessagePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
14
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: ErrorMessagePipe, isStandalone: true, name: "errorMessage" }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ErrorMessagePipe, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ErrorMessagePipe, decorators: [{
17
17
  type: Pipe,
18
18
  args: [{
19
19
  name: "errorMessage",
20
20
  standalone: true
21
21
  }]
22
22
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWNpYWwtZm9ybXMvc3JjL2xpYi9jb3JlL3BpcGVzL2Vycm9yLW1lc3NhZ2UtcGlwZS9lcnJvci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU9wRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFNBQVMsQ0FDUCxTQUFpQyxFQUNqQyxhQUFxQyxFQUNyQyxPQUFxQjtRQUVyQixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQztRQUM5QyxJQUFJLE9BQU8sRUFBRTtZQUNYLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDOUI7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzhHQWJVLGdCQUFnQjs0R0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUo1QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxjQUFjO29CQUNwQixVQUFVLEVBQUMsSUFBSTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiBcImVycm9yTWVzc2FnZVwiLFxyXG4gIHN0YW5kYWxvbmU6dHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXJyb3JNZXNzYWdlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybShcclxuICAgIGVycm9yc09iajogeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcclxuICAgIGVycm9yTWVzc2FnZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0sXHJcbiAgICBjb250cm9sPzogRm9ybUNvbnRyb2xcclxuICApOiBhbnkge1xyXG4gICAgY29uc3QgZXJyb3JzID0gZXJyb3JzT2JqID8gT2JqZWN0LmtleXMoZXJyb3JzT2JqKSA6IFtdO1xyXG4gICAgY29uc3QgZXJyb3IgPSBlcnJvcnNbMF07XHJcbiAgICBjb25zdCBtZXNzYWdlID0gZXJyb3JNZXNzYWdlc1tlcnJvcl0gfHwgZXJyb3I7XHJcbiAgICBpZiAoY29udHJvbCkge1xyXG4gICAgICBjb250cm9sLnNldEVycm9ycyhlcnJvcnNPYmopO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1lc3NhZ2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWNpYWwtZm9ybXMvc3JjL2xpYi9jb3JlL3BpcGVzL2Vycm9yLW1lc3NhZ2UtcGlwZS9lcnJvci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU9wRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFNBQVMsQ0FDUCxTQUFpQyxFQUNqQyxhQUFxQyxFQUNyQyxPQUFxQjtRQUVyQixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQztRQUM5QyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs4R0FiVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsY0FBYztvQkFDcEIsVUFBVSxFQUFDLElBQUk7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogXCJlcnJvck1lc3NhZ2VcIixcclxuICBzdGFuZGFsb25lOnRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEVycm9yTWVzc2FnZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0oXHJcbiAgICBlcnJvcnNPYmo6IHsgW2tleTogc3RyaW5nXTogYW55IH0sXHJcbiAgICBlcnJvck1lc3NhZ2VzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxyXG4gICAgY29udHJvbD86IEZvcm1Db250cm9sXHJcbiAgKTogYW55IHtcclxuICAgIGNvbnN0IGVycm9ycyA9IGVycm9yc09iaiA/IE9iamVjdC5rZXlzKGVycm9yc09iaikgOiBbXTtcclxuICAgIGNvbnN0IGVycm9yID0gZXJyb3JzWzBdO1xyXG4gICAgY29uc3QgbWVzc2FnZSA9IGVycm9yTWVzc2FnZXNbZXJyb3JdIHx8IGVycm9yO1xyXG4gICAgaWYgKGNvbnRyb2wpIHtcclxuICAgICAgY29udHJvbC5zZXRFcnJvcnMoZXJyb3JzT2JqKTtcclxuICAgIH1cclxuICAgIHJldHVybiBtZXNzYWdlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -12,11 +12,11 @@ export class TextByFunctionPipe {
12
12
  return value;
13
13
  }
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TextByFunctionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
16
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: TextByFunctionPipe, isStandalone: true, name: "textByFunction" }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TextByFunctionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
16
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: TextByFunctionPipe, isStandalone: true, name: "textByFunction" }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TextByFunctionPipe, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TextByFunctionPipe, decorators: [{
19
19
  type: Pipe,
20
20
  args: [{ name: 'textByFunction', standalone: true }]
21
21
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1ieS1mdW5jdGlvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvcmUvcGlwZXMvdGV4dC1ieS1mdW5jdGlvbi90ZXh0LWJ5LWZ1bmN0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBR3BELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsU0FBUyxDQUFDLEtBQVUsRUFBRSxLQUF3QztRQUM1RCxJQUFJLEtBQUssWUFBWSxRQUFRLEVBQUU7WUFDN0IsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckI7YUFBTSxJQUFJLEtBQUssWUFBWSxNQUFNLEVBQUU7WUFDbEMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckI7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDOzhHQVRVLGtCQUFrQjs0R0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUQ5QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7IG5hbWU6ICd0ZXh0QnlGdW5jdGlvbicsIHN0YW5kYWxvbmU6IHRydWUgfSlcclxuZXhwb3J0IGNsYXNzIFRleHRCeUZ1bmN0aW9uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBmaWVsZDogc3RyaW5nIHwgKCh2YWx1ZTogYW55KSA9PiBzdHJpbmcpKTogYW55IHtcclxuICAgIGlmIChmaWVsZCBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XHJcbiAgICAgIHJldHVybiBmaWVsZCh2YWx1ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0KSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZVtmaWVsZF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1ieS1mdW5jdGlvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvcmUvcGlwZXMvdGV4dC1ieS1mdW5jdGlvbi90ZXh0LWJ5LWZ1bmN0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBR3BELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsU0FBUyxDQUFDLEtBQVUsRUFBRSxLQUF3QztRQUM1RCxJQUFJLEtBQUssWUFBWSxRQUFRLEVBQUUsQ0FBQztZQUM5QixPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixDQUFDO2FBQU0sSUFBSSxLQUFLLFlBQVksTUFBTSxFQUFFLENBQUM7WUFDbkMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDOzhHQVRVLGtCQUFrQjs0R0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUQ5QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7IG5hbWU6ICd0ZXh0QnlGdW5jdGlvbicsIHN0YW5kYWxvbmU6IHRydWUgfSlcclxuZXhwb3J0IGNsYXNzIFRleHRCeUZ1bmN0aW9uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBmaWVsZDogc3RyaW5nIHwgKCh2YWx1ZTogYW55KSA9PiBzdHJpbmcpKTogYW55IHtcclxuICAgIGlmIChmaWVsZCBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XHJcbiAgICAgIHJldHVybiBmaWVsZCh2YWx1ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0KSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZVtmaWVsZF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -4,10 +4,10 @@ export class ErrorStateMatcherService {
4
4
  isErrorState(control) {
5
5
  return control && control.invalid && control.dirty;
6
6
  }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ErrorStateMatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ErrorStateMatcherService }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ErrorStateMatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ErrorStateMatcherService }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ErrorStateMatcherService, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ErrorStateMatcherService, decorators: [{
11
11
  type: Injectable
12
12
  }] });
13
13
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWNpYWwtZm9ybXMvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2Vycm9yLXN0YXRlLW1hdGNoZXIvZXJyb3ItbWF0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQVksQ0FBQyxPQUFvQjtRQUMvQixPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDckQsQ0FBQzs4R0FIVSx3QkFBd0I7a0hBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRXJyb3JTdGF0ZU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRXJyb3JTdGF0ZU1hdGNoZXJTZXJ2aWNlIGltcGxlbWVudHMgRXJyb3JTdGF0ZU1hdGNoZXIge1xyXG4gIGlzRXJyb3JTdGF0ZShjb250cm9sOiBGb3JtQ29udHJvbCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGNvbnRyb2wgJiYgY29udHJvbC5pbnZhbGlkICYmIGNvbnRyb2wuZGlydHk7XHJcbiAgfVxyXG59XHJcbiJdfQ==