ca-components 1.0.74 → 1.0.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/ca-comment/ca-comment.component.mjs +16 -5
- package/esm2022/lib/components/ca-custom-scrollbar/ca-custom-scrollbar.component.mjs +123 -120
- package/esm2022/lib/components/ca-custom-scrollbar/enums/event-type.enum.mjs +8 -0
- package/esm2022/lib/components/ca-custom-scrollbar/enums/index.mjs +3 -0
- package/esm2022/lib/components/ca-custom-scrollbar/enums/scroll-event-action.enum.mjs +6 -0
- package/esm2022/lib/components/ca-custom-scrollbar/models/index.mjs +3 -0
- package/esm2022/lib/components/ca-custom-scrollbar/models/scroll-bar-options.model.mjs +2 -0
- package/esm2022/lib/components/ca-custom-scrollbar/models/scroll-event.model.mjs +2 -0
- package/esm2022/lib/components/ca-filters/components/ca-dispatcher-filter/ca-dispatcher-filter.component.mjs +2 -6
- package/esm2022/lib/components/ca-filters/components/ca-location-filter/ca-location-filter.component.mjs +2 -6
- package/esm2022/lib/components/ca-filters/components/ca-user-filter/ca-user-filter.component.mjs +7 -9
- package/esm2022/lib/components/ca-filters/components/ca-violation-filter/ca-violation-filter.component.mjs +5 -5
- package/esm2022/lib/components/ca-input/ca-input.component.mjs +3 -4
- package/esm2022/lib/components/ca-input/pipes/input-class.pipe.mjs +2 -2
- package/esm2022/lib/components/ca-input/pipes/label-class.pipe.mjs +2 -1
- package/esm2022/lib/components/ca-input/pipes/show-placeholder-text.pipe.mjs +3 -3
- package/esm2022/lib/components/ca-input/pipes/show-valid-check.pipe.mjs +2 -2
- package/esm2022/lib/components/ca-input-address-dropdown/ca-input-address-dropdown.component.mjs +93 -83
- package/esm2022/lib/components/ca-input-address-dropdown/enums/input-address-type-string.enum.mjs +2 -1
- package/esm2022/lib/components/ca-input-dropdown/ca-input-dropdown.component.mjs +10 -23
- package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-dispatch/ca-input-dropdown-dispatch.component.mjs +2 -6
- package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-labels/ca-input-dropdown-labels.component.mjs +2 -6
- package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-text-counter/ca-input-dropdown-text-counter.component.mjs +2 -6
- package/esm2022/lib/components/ca-logo-change/ca-logo-change.component.mjs +8 -23
- package/esm2022/lib/components/ca-main-table/ca-main-table.component.mjs +4 -5
- package/esm2022/lib/components/ca-map-dropdown/ca-map-dropdown.component.mjs +6 -6
- package/esm2022/lib/components/ca-modal-button/ca-modal-button.component.mjs +2 -4
- package/esm2022/lib/components/ca-modal-button/enums/index.mjs +2 -2
- package/esm2022/lib/components/ca-modal-button/enums/modal-button-class-type.enum.mjs +10 -0
- package/esm2022/lib/components/ca-modal-button/enums/modal-button-size.enum.mjs +3 -3
- package/esm2022/lib/components/ca-modal-button/pipes/modal-button-class.pipe.mjs +4 -12
- package/esm2022/lib/components/ca-progress-expiration/ca-progress-expiration.component.mjs +9 -6
- package/esm2022/lib/components/ca-progress-range/ca-progress-range.component.mjs +3 -3
- package/esm2022/lib/components/ca-progress-range/utils/directives/progress-range-tooltip-arrow-position.directive.mjs +1 -1
- package/esm2022/lib/components/ca-rating-review/components/ca-ratings-reviews-popup/ca-ratings-reviews-popup.component.mjs +8 -10
- package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-menu/ca-right-side-panel-menu.component.mjs +3 -3
- package/esm2022/lib/components/ca-todo/components/ca-todo-card.component.mjs +1 -1
- package/esm2022/lib/components/ca-upload-files/ca-upload-files.component.mjs +59 -54
- package/esm2022/lib/components/ca-upload-files/components/ca-upload-dropzone/ca-upload-dropzone.component.mjs +11 -7
- package/esm2022/lib/components/ca-upload-files/components/ca-upload-file/ca-upload-file.component.mjs +18 -15
- package/esm2022/lib/utils/helpers/file.helpers.mjs +14 -0
- package/fesm2022/ca-components.mjs +606 -587
- package/fesm2022/ca-components.mjs.map +1 -1
- package/lib/components/ca-custom-scrollbar/ca-custom-scrollbar.component.d.ts +38 -29
- package/lib/components/ca-custom-scrollbar/enums/event-type.enum.d.ts +6 -0
- package/lib/components/ca-custom-scrollbar/enums/index.d.ts +2 -0
- package/lib/components/ca-custom-scrollbar/enums/scroll-event-action.enum.d.ts +4 -0
- package/lib/components/ca-custom-scrollbar/models/index.d.ts +2 -0
- package/lib/components/ca-custom-scrollbar/models/scroll-bar-options.model.d.ts +6 -0
- package/lib/components/ca-custom-scrollbar/models/scroll-event.model.d.ts +6 -0
- package/lib/components/ca-input/pipes/input-class.pipe.d.ts +1 -1
- package/lib/components/ca-input/pipes/label-class.pipe.d.ts +1 -1
- package/lib/components/ca-input-address-dropdown/ca-input-address-dropdown.component.d.ts +9 -7
- package/lib/components/ca-input-address-dropdown/enums/input-address-type-string.enum.d.ts +2 -1
- package/lib/components/ca-input-dropdown/ca-input-dropdown.component.d.ts +2 -1
- package/lib/components/ca-logo-change/ca-logo-change.component.d.ts +0 -1
- package/lib/components/ca-modal-button/ca-modal-button.component.d.ts +2 -4
- package/lib/components/ca-modal-button/enums/index.d.ts +1 -1
- package/lib/components/ca-modal-button/enums/modal-button-class-type.enum.d.ts +8 -0
- package/lib/components/ca-modal-button/enums/modal-button-size.enum.d.ts +2 -2
- package/lib/components/ca-modal-button/pipes/modal-button-class.pipe.d.ts +2 -2
- package/lib/components/ca-progress-range/ca-progress-range.component.d.ts +1 -1
- package/lib/components/ca-progress-range/utils/directives/progress-range-tooltip-arrow-position.directive.d.ts +1 -1
- package/lib/components/ca-upload-files/ca-upload-files.component.d.ts +4 -3
- package/lib/utils/helpers/file.helpers.d.ts +3 -0
- package/package.json +1 -1
- package/esm2022/lib/components/ca-logo-change/pipes/logo-slider.pipe.mjs +0 -17
- package/esm2022/lib/components/ca-modal-button/enums/modal-button-type.enum.mjs +0 -10
- package/lib/components/ca-logo-change/pipes/logo-slider.pipe.d.ts +0 -7
- package/lib/components/ca-modal-button/enums/modal-button-type.enum.d.ts +0 -8
|
@@ -2,11 +2,9 @@ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewCh
|
|
|
2
2
|
import { Subject, takeUntil } from 'rxjs';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { AngularSvgIconModule } from 'angular-svg-icon';
|
|
5
|
-
import {
|
|
6
|
-
import { NgbPopoverModule
|
|
5
|
+
import { provideLottieOptions } from 'ngx-lottie';
|
|
6
|
+
import { NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';
|
|
7
7
|
//Components
|
|
8
|
-
import { CaSpinnerComponent } from '../ca-spinner/ca-spinner.component';
|
|
9
|
-
import { CaInputComponent } from '../ca-input/ca-input.component';
|
|
10
8
|
import { CaUploadDropzoneComponent } from './components/ca-upload-dropzone/ca-upload-dropzone.component';
|
|
11
9
|
import { CaUploadFileComponent } from './components/ca-upload-file/ca-upload-file.component';
|
|
12
10
|
import { CaUploadFilesCarouselComponent } from './components/ca-upload-files-carousel/ca-upload-files-carousel.component';
|
|
@@ -14,7 +12,6 @@ import { CaUploadFilesCarouselComponent } from './components/ca-upload-files-car
|
|
|
14
12
|
import { FilesSizeEnum, FileTypesEnum } from './enums';
|
|
15
13
|
import { DocumentAction } from './components/ca-upload-file/enums';
|
|
16
14
|
//Pipe
|
|
17
|
-
import { FileNamePipe } from './components/ca-upload-file/pipes';
|
|
18
15
|
import { MapFilePipe, UploadClassPipe } from './pipes';
|
|
19
16
|
//Component
|
|
20
17
|
import { CaLogoChangeComponent } from '../ca-logo-change/ca-logo-change.component';
|
|
@@ -23,13 +20,15 @@ import * as i1 from "./services";
|
|
|
23
20
|
import * as i2 from "@angular/common/http";
|
|
24
21
|
import * as i3 from "@angular/common";
|
|
25
22
|
export class CaUploadFilesComponent {
|
|
26
|
-
//General
|
|
27
23
|
set files(data) {
|
|
28
24
|
this._files = [...data];
|
|
29
25
|
if (this._config?.type == FileTypesEnum.DETAILS) {
|
|
30
26
|
this.modalCarousel?.slideToFile(0);
|
|
31
27
|
}
|
|
32
28
|
}
|
|
29
|
+
get files() {
|
|
30
|
+
return this._files;
|
|
31
|
+
}
|
|
33
32
|
constructor(uploadFileService, http) {
|
|
34
33
|
this.uploadFileService = uploadFileService;
|
|
35
34
|
this.http = http;
|
|
@@ -46,10 +45,11 @@ export class CaUploadFilesComponent {
|
|
|
46
45
|
this.size = FilesSizeEnum.SMALL;
|
|
47
46
|
this.slideWidth = 180;
|
|
48
47
|
this.fileAdded = new EventEmitter();
|
|
49
|
-
this._files = [];
|
|
50
48
|
this.currentSlide = 0;
|
|
51
49
|
this.isDropzoneShown = true;
|
|
52
50
|
this.destroy$ = new Subject();
|
|
51
|
+
// Files data
|
|
52
|
+
this._files = [];
|
|
53
53
|
}
|
|
54
54
|
ngAfterViewInit() {
|
|
55
55
|
this.subscribeToUploadedFiles();
|
|
@@ -77,33 +77,35 @@ export class CaUploadFilesComponent {
|
|
|
77
77
|
switch (data.action) {
|
|
78
78
|
case DocumentAction.TAG:
|
|
79
79
|
this.onFileEvent.emit({
|
|
80
|
-
files: !this.onlyOneTagFile ? this.
|
|
80
|
+
files: !this.onlyOneTagFile ? this.files : data.file,
|
|
81
81
|
action: data.action,
|
|
82
82
|
});
|
|
83
83
|
break;
|
|
84
84
|
case DocumentAction.DELETE:
|
|
85
85
|
let isLastDeleted = false;
|
|
86
|
-
this.
|
|
86
|
+
this.files.forEach((item, index) => {
|
|
87
87
|
if (item.fileName === data.file.fileName &&
|
|
88
|
-
(index === this.
|
|
89
|
-
index === this.
|
|
88
|
+
(index === this.files.length - 1 ||
|
|
89
|
+
index === this.files.length - 2)) {
|
|
90
90
|
isLastDeleted = true;
|
|
91
91
|
}
|
|
92
92
|
});
|
|
93
|
-
this.
|
|
93
|
+
this.files = this.files.filter((item) => item.fileName !== data.file.fileName);
|
|
94
94
|
this.onFileEvent.emit({
|
|
95
|
-
files: this.
|
|
95
|
+
files: this.files,
|
|
96
96
|
action: data.action,
|
|
97
97
|
deleteId: data.file['fileId'] || undefined,
|
|
98
98
|
});
|
|
99
|
-
this.currentSlide = this.
|
|
100
|
-
if ((this.size === FilesSizeEnum.MODAL_LARGE &&
|
|
101
|
-
|
|
99
|
+
this.currentSlide = this.files.length - 1;
|
|
100
|
+
if ((this.size === FilesSizeEnum.MODAL_LARGE &&
|
|
101
|
+
this.files.length < 4) ||
|
|
102
|
+
(this.size === FilesSizeEnum.MODAL_MEDIUM &&
|
|
103
|
+
this.files.length < 3)) {
|
|
102
104
|
this.modalCarousel.currentSlide = 0;
|
|
103
105
|
this.modalCarousel.translateXMultipleSlides = 0;
|
|
104
106
|
this.modalCarousel.multipleCurrentSlide = 0;
|
|
105
107
|
}
|
|
106
|
-
if (!this.
|
|
108
|
+
if (!this.files.length) {
|
|
107
109
|
this.currentSlide = 0;
|
|
108
110
|
}
|
|
109
111
|
if (isLastDeleted && this.modalCarousel) {
|
|
@@ -114,36 +116,39 @@ export class CaUploadFilesComponent {
|
|
|
114
116
|
: carouselSize === FilesSizeEnum.MEDIUM
|
|
115
117
|
? 2
|
|
116
118
|
: 1;
|
|
117
|
-
const allowSlide = (carouselSize === FilesSizeEnum.LARGE &&
|
|
118
|
-
|
|
119
|
-
(carouselSize === FilesSizeEnum.
|
|
119
|
+
const allowSlide = (carouselSize === FilesSizeEnum.LARGE &&
|
|
120
|
+
this.files.length > 2) ||
|
|
121
|
+
(carouselSize === FilesSizeEnum.MEDIUM &&
|
|
122
|
+
this.files.length > 1) ||
|
|
123
|
+
(carouselSize === FilesSizeEnum.SMALL &&
|
|
124
|
+
this.files.length > 0);
|
|
120
125
|
if (allowSlide) {
|
|
121
|
-
this.modalCarousel.slideToFile(this.
|
|
126
|
+
this.modalCarousel.slideToFile(this.files.length - slideTo);
|
|
122
127
|
}
|
|
123
128
|
}
|
|
124
129
|
break;
|
|
125
130
|
case DocumentAction.MARK_INCORRECT:
|
|
126
131
|
let incorrectIndx = 0;
|
|
127
|
-
this.
|
|
132
|
+
this.files.forEach((item, index) => {
|
|
128
133
|
if (item.fileName === data.file.fileName) {
|
|
129
134
|
incorrectIndx = index;
|
|
130
135
|
}
|
|
131
136
|
});
|
|
132
137
|
this.onFileEvent.emit({
|
|
133
|
-
files: this.
|
|
138
|
+
files: this.files,
|
|
134
139
|
action: data.action,
|
|
135
140
|
index: incorrectIndx,
|
|
136
141
|
});
|
|
137
142
|
break;
|
|
138
143
|
case DocumentAction.MARK_CORRECT:
|
|
139
144
|
let correctIndx = 0;
|
|
140
|
-
this.
|
|
145
|
+
this.files.forEach((item, index) => {
|
|
141
146
|
if (item.fileName === data.file.fileName) {
|
|
142
147
|
correctIndx = index;
|
|
143
148
|
}
|
|
144
149
|
});
|
|
145
150
|
this.onFileEvent.emit({
|
|
146
|
-
files: this.
|
|
151
|
+
files: this.files,
|
|
147
152
|
action: data.action,
|
|
148
153
|
index: correctIndx,
|
|
149
154
|
});
|
|
@@ -153,14 +158,14 @@ export class CaUploadFilesComponent {
|
|
|
153
158
|
}
|
|
154
159
|
}
|
|
155
160
|
onUploadFiles(data) {
|
|
156
|
-
if (data.action === 'add' && this.hasCrop && this.
|
|
161
|
+
if (data.action === 'add' && this.hasCrop && this.files.length) {
|
|
157
162
|
const uploadedFiles = [...data.files];
|
|
158
163
|
if (this.hasCrop)
|
|
159
164
|
this.isDropzoneShown = true;
|
|
160
165
|
uploadedFiles.forEach((newFile) => {
|
|
161
|
-
const existingFileIndex = this.
|
|
166
|
+
const existingFileIndex = this.files.findIndex((existingFile) => existingFile.url);
|
|
162
167
|
if (existingFileIndex !== -1) {
|
|
163
|
-
this.
|
|
168
|
+
this.files[existingFileIndex] = newFile;
|
|
164
169
|
this.fileAdded.emit(newFile.url);
|
|
165
170
|
}
|
|
166
171
|
else {
|
|
@@ -171,15 +176,15 @@ export class CaUploadFilesComponent {
|
|
|
171
176
|
}
|
|
172
177
|
if (data.action === 'add') {
|
|
173
178
|
const uploadedFiles = [...data.files];
|
|
174
|
-
const uniqueFiles = uploadedFiles.filter((file) => !this.
|
|
175
|
-
this.
|
|
179
|
+
const uniqueFiles = uploadedFiles.filter((file) => !this.files.some((existingFile) => existingFile.fileName === file.fileName));
|
|
180
|
+
this.files = [...new Set([...this.files, ...uniqueFiles])];
|
|
176
181
|
uniqueFiles.forEach((file) => {
|
|
177
182
|
this.fileAdded.emit(file.realFile);
|
|
178
183
|
});
|
|
179
184
|
if (this.hasCrop)
|
|
180
185
|
this.isDropzoneShown = false;
|
|
181
186
|
else
|
|
182
|
-
this.onFileEvent.emit({ files: this.
|
|
187
|
+
this.onFileEvent.emit({ files: this.files, action: 'add' });
|
|
183
188
|
// carousel
|
|
184
189
|
if (this.modalCarousel) {
|
|
185
190
|
const carouselSize = this.modalCarousel.carouselConfig
|
|
@@ -189,11 +194,14 @@ export class CaUploadFilesComponent {
|
|
|
189
194
|
: carouselSize === FilesSizeEnum.MEDIUM
|
|
190
195
|
? 2
|
|
191
196
|
: 1;
|
|
192
|
-
const allowSlide = (carouselSize === FilesSizeEnum.LARGE &&
|
|
193
|
-
|
|
194
|
-
(carouselSize === FilesSizeEnum.
|
|
197
|
+
const allowSlide = (carouselSize === FilesSizeEnum.LARGE &&
|
|
198
|
+
this.files.length > 2) ||
|
|
199
|
+
(carouselSize === FilesSizeEnum.MEDIUM &&
|
|
200
|
+
this.files.length > 1) ||
|
|
201
|
+
(carouselSize === FilesSizeEnum.SMALL &&
|
|
202
|
+
this.files.length > 0);
|
|
195
203
|
if (allowSlide) {
|
|
196
|
-
this.modalCarousel.slideToFile(this.
|
|
204
|
+
this.modalCarousel.slideToFile(this.files.length - slideTo);
|
|
197
205
|
}
|
|
198
206
|
}
|
|
199
207
|
}
|
|
@@ -202,10 +210,10 @@ export class CaUploadFilesComponent {
|
|
|
202
210
|
if (this.hasCrop)
|
|
203
211
|
this.isDropzoneShown = true;
|
|
204
212
|
uploadedFiles.forEach((newFile) => {
|
|
205
|
-
const existingFileIndex = this.
|
|
213
|
+
const existingFileIndex = this.files.findIndex((existingFile) => existingFile.url);
|
|
206
214
|
if (existingFileIndex !== -1) {
|
|
207
215
|
// Replace the existing file at the found index
|
|
208
|
-
this.
|
|
216
|
+
this.files[existingFileIndex] = newFile;
|
|
209
217
|
// Emit the new file that replaced the old one
|
|
210
218
|
this.fileAdded.emit(newFile.url);
|
|
211
219
|
}
|
|
@@ -213,12 +221,12 @@ export class CaUploadFilesComponent {
|
|
|
213
221
|
console.warn(`File ${newFile.fileName} to replace not found`);
|
|
214
222
|
}
|
|
215
223
|
});
|
|
216
|
-
this.onFileEvent.emit({ files: this.
|
|
224
|
+
this.onFileEvent.emit({ files: this.files, action: 'add' });
|
|
217
225
|
}
|
|
218
226
|
else if (data.action === 'delete') {
|
|
219
227
|
if (this.hasCrop)
|
|
220
228
|
this.isDropzoneShown = true;
|
|
221
|
-
this.
|
|
229
|
+
this.files.splice(0, this.files.length);
|
|
222
230
|
}
|
|
223
231
|
}
|
|
224
232
|
documentReviewInputEventMethod(data) {
|
|
@@ -249,7 +257,7 @@ export class CaUploadFilesComponent {
|
|
|
249
257
|
fileHover(file) {
|
|
250
258
|
if (this.configFile.customClassName === 'modals') {
|
|
251
259
|
let checkById = file?.realFile ? false : true;
|
|
252
|
-
this.
|
|
260
|
+
this.files.forEach((item, index) => {
|
|
253
261
|
if ((checkById && file?.fileId === item.fileId) ||
|
|
254
262
|
(!checkById && file.realFile?.name === item.realFile?.name)) {
|
|
255
263
|
this.uploadedFiles['_results'][index].updateHover(true);
|
|
@@ -261,7 +269,7 @@ export class CaUploadFilesComponent {
|
|
|
261
269
|
}
|
|
262
270
|
}
|
|
263
271
|
hoverArrow(mod) {
|
|
264
|
-
this.
|
|
272
|
+
this.files.forEach((item, index) => {
|
|
265
273
|
this.uploadedFiles['_results'][index].hoverArrow(mod);
|
|
266
274
|
});
|
|
267
275
|
}
|
|
@@ -273,38 +281,35 @@ export class CaUploadFilesComponent {
|
|
|
273
281
|
this.destroy$.complete();
|
|
274
282
|
}
|
|
275
283
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaUploadFilesComponent, deps: [{ token: i1.CaUploadFileService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
276
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
284
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CaUploadFilesComponent, isStandalone: true, selector: "app-ca-upload-files", inputs: { slider: "slider", carouselConfig: "carouselConfig", hasCrop: "hasCrop", isRoundCrop: "isRoundCrop", hasBlobUrl: "hasBlobUrl", onlyOneTagFile: "onlyOneTagFile", dropzoneConf: "dropzoneConf", dropzoneCustomWidth: "dropzoneCustomWidth", isVisibleCropAndDrop: "isVisibleCropAndDrop", initialCropperPosition: "initialCropperPosition", containWithinAspectRatio: "containWithinAspectRatio", aspectRatio: "aspectRatio", review: "review", configFile: "configFile", size: "size", slideWidth: "slideWidth", files: "files" }, outputs: { documentReviewInputEvent: "documentReviewInputEvent", onFileEvent: "onFileEvent", closeDropzone: "closeDropzone", fileAdded: "fileAdded" }, providers: [
|
|
277
285
|
provideLottieOptions({
|
|
278
286
|
player: () => import('lottie-web'),
|
|
279
287
|
}),
|
|
280
|
-
], viewQueries: [{ propertyName: "modalCarousel", first: true, predicate: CaUploadFilesCarouselComponent, descendants: true }, { propertyName: "uploadedFiles", predicate: CaUploadFileComponent, descendants: true }], ngImport: i0, template: "<div\n class=\"ta-upload d-flex align-items-center {{ configFile.customClassName }}\"\n [ngClass]=\"\n _files?.length\n | uploadClass\n : carouselConfig.size\n : review.isReview\n : slider.dontUseSlider\n \"\n>\n <!-- Carousel Files -->\n <ng-container *ngIf=\"_files?.length && !slider.dontUseSlider && !hasCrop\">\n <app-ca-upload-files-carousel\n [config]=\"carouselFileConfig\"\n (activeSlide)=\"currentSlide = $event\"\n [slideWidth]=\"slideWidth\"\n (hoverArrowEmit)=\"hoverArrow($event)\"\n >\n <ng-container *ngFor=\"let file of _files; trackBy: identity\">\n <div class=\"ta-upload-carousel-container\">\n <div>\n <app-ca-upload-file\n #uploadedFiles\n [config]=\"configFile | mapFile: file\"\n [reviewFileConfig]=\"reviewFileConfig\"\n (fileHover)=\"fileHover($event)\"\n (fileAction)=\"onFileAction($event)\"\n (landscapeCheck)=\"onLandscapeCheck($event)\"\n (documentReviewInputEvent)=\"\n documentReviewInputEventMethod($event)\n \"\n ></app-ca-upload-file>\n </div>\n </div>\n </ng-container>\n </app-ca-upload-files-carousel>\n </ng-container>\n\n <ng-container *ngIf=\"slider.dontUseSlider && !hasCrop\">\n <div class=\"documents_holder\">\n <app-ca-upload-dropzone\n [config]=\"dropzoneConf\"\n (onFileEvent)=\"onUploadFiles($event)\"\n (closeDropzone)=\"dropZoneClose()\"\n ></app-ca-upload-dropzone>\n <ng-container *ngFor=\"let file of _files; trackBy: identity\">\n <div class=\"ta-upload-carousel-container\">\n <div>\n <app-ca-upload-file\n [config]=\"configFile | mapFile: file\"\n [reviewFileConfig]=\"reviewFileConfig\"\n (fileAction)=\"onFileAction($event)\"\n (landscapeCheck)=\"onLandscapeCheck($event)\"\n (documentReviewInputEvent)=\"\n documentReviewInputEventMethod($event)\n \"\n ></app-ca-upload-file>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <!-- Image Crop Template -->\n\n <div\n class=\"split-crop-holder\"\n [class.split]=\"isDropzoneShown\"\n [ngClass]=\"{ 'hidden-drop': !isVisibleCropAndDrop }\"\n >\n <ng-container *ngIf=\"hasCrop && _files.length\">\n <ng-container *ngFor=\"let file of _files; trackBy: identity\">\n <app-ca-logo-change\n [hasBlobUrl]=\"hasBlobUrl\"\n [imageToCrop]=\"file?.url\"\n [isRoundCropper]=\"isRoundCrop\"\n [isDropzoneShown]=\"isDropzoneShown\"\n [initialCropperPosition]=\"initialCropperPosition\"\n [containWithinAspectRatio]=\"containWithinAspectRatio\"\n [aspectRatio]=\"aspectRatio\"\n [customWidth]=\"dropzoneCustomWidth\"\n (sendImageData)=\"onUploadFiles($event)\"\n ></app-ca-logo-change>\n </ng-container>\n </ng-container>\n </div>\n\n <div\n class=\"split-crop-holder\"\n [class.split]=\"hasCrop && _files.length && isDropzoneShown\"\n [ngClass]=\"{ 'hidden-drop': !isVisibleCropAndDrop }\"\n >\n <ng-container *ngIf=\"isDropzoneShown\">\n <app-ca-upload-dropzone\n [config]=\"dropzoneConf\"\n [customWidth]=\"dropzoneCustomWidth\"\n [isDropzoneShownInCrop]=\"hasCrop && !!_files.length && isDropzoneShown\"\n (onFileEvent)=\"onUploadFiles($event)\"\n ></app-ca-upload-dropzone>\n </ng-container>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium{font-weight:500!important}.ca-font-semi-bold{font-weight:600!important}.ca-font-bold{font-weight:700!important}.ca-font-extra-bold{font-weight:800!important}.ca-font-black{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#dadada}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#dadada}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#dadada}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.tooltip-inner:empty{padding:0}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;background-color:transparent;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.app-ca-main-tooltip .tooltip-inner .tooltip-holder:empty{padding:0}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background:#42424233!important;color:#424242!important}.text-color-black::selection{background:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background:#91919133!important;color:#919191!important}.text-color-muted::selection{background:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-13::selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background:#e6676733!important;color:#e66767!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{color:#ccc!important;background:#aaa3!important}.text-color-light-grey-6::selection{color:#ccc!important;background:#aaa3!important}.text-color-white{color:#dadada!important}.text-color-white::-moz-selection{color:#dadada!important;background:#fff3!important}.text-color-white::selection{color:#dadada!important;background:#fff3!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{color:#ffffffb2!important;background:#fff3!important}.text-color-white-4::selection{color:#ffffffb2!important;background:#fff3!important}.text-color-dark-grey{color:#6c6c6c!important}.text-color-dark-grey::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-dark-grey::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey::selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{color:#919191!important;background:#91919133!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.svg-fill-black svg path{fill:#424242!important}.svg-fill-muted svg path{fill:#919191!important}.svg-fill-bw-9 svg path{fill:#dadada!important}.svg-fill-light-grey-2 svg path{fill:#aaa!important}.svg-fill-light-grey-6 svg path{fill:#ccc!important}.svg-fill-blue-13 svg path{fill:#6692f1!important}.svg-fill-blue-19 svg path{fill:#92b1f5!important}.svg-fill-blue-26 svg path{fill:#4dc5eb!important}.svg-hover-muted svg path{transition:all .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-black svg path{transition:all .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-15 svg path{transition:all .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-bw6-2 svg path{transition:all .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:all .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:all .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-18 svg{width:18px;height:18px}.svg-size-44-16 svg{width:44px;height:16px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.ta-card-body{overflow:visible!important}.split-crop-holder.split{width:50%}.split-crop-holder.hidden-drop{display:none}.ta-upload{gap:8px}.ta-upload .ta-upload-dropzone{height:186px;width:calc(100% - 10px);margin:0 6px}.ta-upload .documents_holder{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;transition:all .3s ease-in-out}.ta-upload .documents_holder .ta-upload-carousel-container{transition:all .3s ease-in-out}.ta-upload.documents{display:block!important}.ta-upload.documents .ta-upload-dropzone{height:332px;width:100%;margin:0}.ta-upload-small{grid-template-columns:164px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:8px;transition:all .3s ease-in-out}.ta-upload-medium-file{grid-template-columns:164px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-medium-files{grid-template-columns:344px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-large-file{grid-template-columns:164px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-large-twofiles{grid-template-columns:344px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-large-threefiles{grid-template-columns:524px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-review-mode{padding:8px 6px 6px 0;grid-template-columns:1fr;align-items:center;justify-content:center}.ta-upload.driver-details-pdf{grid-template-columns:1fr;grid-template-rows:312px}.ta-upload.company-documents{grid-template-columns:1fr;grid-template-rows:332px}.ta-upload.driver-card-pdf{grid-template-columns:1fr;grid-template-rows:416px}.ta-upload.company-details-pdf{grid-template-columns:1fr;grid-template-rows:378px}.ta-upload.landscape-details-view{grid-template-columns:1fr;grid-template-rows:200px}.ta-upload.todo-details,.ta-upload.table-details{grid-template-columns:100% 1fr;grid-template-rows:200px}\n"], dependencies: [{ 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: AngularSvgIconModule }, { kind: "component", type:
|
|
288
|
+
], viewQueries: [{ propertyName: "modalCarousel", first: true, predicate: CaUploadFilesCarouselComponent, descendants: true }, { propertyName: "uploadedFiles", predicate: CaUploadFileComponent, descendants: true }], ngImport: i0, template: "<div\n class=\"ta-upload d-flex align-items-center {{ configFile.customClassName }}\"\n [ngClass]=\"\n files?.length\n | uploadClass\n : carouselConfig.size\n : review.isReview\n : slider.dontUseSlider\n \"\n>\n <!-- Carousel Files -->\n @if (files?.length && !slider.dontUseSlider && !hasCrop) {\n <app-ca-upload-files-carousel\n [config]=\"carouselFileConfig\"\n (activeSlide)=\"currentSlide = $event\"\n [slideWidth]=\"slideWidth\"\n (hoverArrowEmit)=\"hoverArrow($event)\"\n >\n <ng-container *ngFor=\"let file of files; trackBy: identity\">\n <div class=\"ta-upload-carousel-container\">\n <div>\n <app-ca-upload-file\n #uploadedFiles\n [config]=\"configFile | mapFile: file\"\n [reviewFileConfig]=\"reviewFileConfig\"\n (fileHover)=\"fileHover($event)\"\n (fileAction)=\"onFileAction($event)\"\n (landscapeCheck)=\"onLandscapeCheck($event)\"\n (documentReviewInputEvent)=\"\n documentReviewInputEventMethod($event)\n \"\n ></app-ca-upload-file>\n </div>\n </div>\n </ng-container>\n </app-ca-upload-files-carousel>\n }\n\n @if (slider.dontUseSlider && !hasCrop) {\n <div class=\"documents_holder\">\n <app-ca-upload-dropzone\n [config]=\"dropzoneConf\"\n (onFileEvent)=\"onUploadFiles($event)\"\n (closeDropzone)=\"dropZoneClose()\"\n ></app-ca-upload-dropzone>\n @for (file of files; track identity) {\n <div class=\"ta-upload-carousel-container\">\n <div>\n <app-ca-upload-file\n [config]=\"configFile | mapFile: file\"\n [reviewFileConfig]=\"reviewFileConfig\"\n (fileAction)=\"onFileAction($event)\"\n (landscapeCheck)=\"onLandscapeCheck($event)\"\n (documentReviewInputEvent)=\"\n documentReviewInputEventMethod($event)\n \"\n ></app-ca-upload-file>\n </div>\n </div>\n }\n </div>\n }\n\n <!-- Image Crop Template -->\n\n <div\n class=\"split-crop-holder\"\n [class.split]=\"isDropzoneShown\"\n [ngClass]=\"{ 'hidden-drop': !isVisibleCropAndDrop }\"\n >\n @if (hasCrop && files.length) {\n @for (file of files; track identity) {\n <app-ca-logo-change\n [hasBlobUrl]=\"hasBlobUrl\"\n [imageToCrop]=\"file?.url\"\n [isRoundCropper]=\"isRoundCrop\"\n [isDropzoneShown]=\"isDropzoneShown\"\n [initialCropperPosition]=\"initialCropperPosition\"\n [containWithinAspectRatio]=\"containWithinAspectRatio\"\n [aspectRatio]=\"aspectRatio\"\n [customWidth]=\"dropzoneCustomWidth\"\n (sendImageData)=\"onUploadFiles($event)\"\n ></app-ca-logo-change>\n }\n }\n </div>\n\n <div\n class=\"split-crop-holder\"\n [class.split]=\"hasCrop && files.length && isDropzoneShown\"\n [ngClass]=\"{ 'hidden-drop': !isVisibleCropAndDrop }\"\n >\n @if (isDropzoneShown) {\n <app-ca-upload-dropzone\n [config]=\"dropzoneConf\"\n [customWidth]=\"dropzoneCustomWidth\"\n [isDropzoneShownInCrop]=\"\n hasCrop && !!files.length && isDropzoneShown\n \"\n (onFileEvent)=\"onUploadFiles($event)\"\n ></app-ca-upload-dropzone>\n }\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium{font-weight:500!important}.ca-font-semi-bold{font-weight:600!important}.ca-font-bold{font-weight:700!important}.ca-font-extra-bold{font-weight:800!important}.ca-font-black{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#dadada}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#dadada}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#dadada}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.tooltip-inner:empty{padding:0}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;background-color:transparent;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.app-ca-main-tooltip .tooltip-inner .tooltip-holder:empty{padding:0}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background:#42424233!important;color:#424242!important}.text-color-black::selection{background:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background:#91919133!important;color:#919191!important}.text-color-muted::selection{background:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-13::selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background:#e6676733!important;color:#e66767!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{color:#ccc!important;background:#aaa3!important}.text-color-light-grey-6::selection{color:#ccc!important;background:#aaa3!important}.text-color-white{color:#dadada!important}.text-color-white::-moz-selection{color:#dadada!important;background:#fff3!important}.text-color-white::selection{color:#dadada!important;background:#fff3!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{color:#ffffffb2!important;background:#fff3!important}.text-color-white-4::selection{color:#ffffffb2!important;background:#fff3!important}.text-color-dark-grey{color:#6c6c6c!important}.text-color-dark-grey::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-dark-grey::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey::selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{color:#919191!important;background:#91919133!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.svg-fill-black svg path{fill:#424242!important}.svg-fill-muted svg path{fill:#919191!important}.svg-fill-bw-9 svg path{fill:#dadada!important}.svg-fill-light-grey-2 svg path{fill:#aaa!important}.svg-fill-light-grey-6 svg path{fill:#ccc!important}.svg-fill-blue-13 svg path{fill:#6692f1!important}.svg-fill-blue-19 svg path{fill:#92b1f5!important}.svg-fill-blue-26 svg path{fill:#4dc5eb!important}.svg-hover-muted svg path{transition:all .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-black svg path{transition:all .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-15 svg path{transition:all .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-bw6-2 svg path{transition:all .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:all .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:all .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-18 svg{width:18px;height:18px}.svg-size-44-16 svg{width:44px;height:16px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.ta-card-body{overflow:visible!important}.split-crop-holder.split{width:50%}.split-crop-holder.hidden-drop{display:none}.ta-upload{gap:8px}.ta-upload .ta-upload-dropzone{height:186px;width:calc(100% - 10px);margin:0 6px}.ta-upload .documents_holder{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;transition:all .3s ease-in-out}.ta-upload .documents_holder .ta-upload-carousel-container{transition:all .3s ease-in-out}.ta-upload.documents{display:block!important}.ta-upload.documents .ta-upload-dropzone{height:332px;width:100%;margin:0}.ta-upload-small{grid-template-columns:164px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:8px;transition:all .3s ease-in-out}.ta-upload-medium-file{grid-template-columns:164px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-medium-files{grid-template-columns:344px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-large-file{grid-template-columns:164px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-large-twofiles{grid-template-columns:344px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-large-threefiles{grid-template-columns:524px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-review-mode{padding:8px 6px 6px 0;grid-template-columns:1fr;align-items:center;justify-content:center}.ta-upload.driver-details-pdf{grid-template-columns:1fr;grid-template-rows:312px}.ta-upload.company-documents{grid-template-columns:1fr;grid-template-rows:332px}.ta-upload.driver-card-pdf{grid-template-columns:1fr;grid-template-rows:416px}.ta-upload.company-details-pdf{grid-template-columns:1fr;grid-template-rows:378px}.ta-upload.landscape-details-view{grid-template-columns:1fr;grid-template-rows:200px}.ta-upload.todo-details,.ta-upload.table-details{grid-template-columns:100% 1fr;grid-template-rows:200px}\n"], dependencies: [{ 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: "ngmodule", type: AngularSvgIconModule }, { kind: "ngmodule", type: NgbPopoverModule }, { kind: "component", type:
|
|
281
289
|
//Component
|
|
282
|
-
CaUploadDropzoneComponent, selector: "app-ca-upload-dropzone", inputs: ["config", "isDropzoneShownInCrop", "customWidth"], outputs: ["onFileEvent", "onDropBackground", "closeDropzone"] }, { kind: "component", type: CaUploadFileComponent, selector: "app-ca-upload-file", inputs: ["config", "reviewFileConfig"], outputs: ["fileAction", "deleteAction", "documentReviewInputEvent", "landscapeCheck", "fileHover"] }, { kind: "component", type: CaUploadFilesCarouselComponent, selector: "app-ca-upload-files-carousel", inputs: ["slideWidth", "config"], outputs: ["activeSlide", "hoverArrowEmit"] }, { kind: "
|
|
290
|
+
CaUploadDropzoneComponent, selector: "app-ca-upload-dropzone", inputs: ["config", "isDropzoneShownInCrop", "customWidth"], outputs: ["onFileEvent", "onDropBackground", "closeDropzone"] }, { kind: "component", type: CaUploadFileComponent, selector: "app-ca-upload-file", inputs: ["config", "reviewFileConfig"], outputs: ["fileAction", "deleteAction", "documentReviewInputEvent", "landscapeCheck", "fileHover"] }, { kind: "component", type: CaUploadFilesCarouselComponent, selector: "app-ca-upload-files-carousel", inputs: ["slideWidth", "config"], outputs: ["activeSlide", "hoverArrowEmit"] }, { kind: "component", type: CaLogoChangeComponent, selector: "app-ca-logo-change", inputs: ["customClass", "imageToCrop", "isRoundCropper", "imageChangedEvent", "isDropzoneShown", "hasBlobUrl", "initialCropperPosition", "containWithinAspectRatio", "aspectRatio", "customWidth"], outputs: ["sendImageData"] }, { kind: "pipe", type:
|
|
291
|
+
//Pipe
|
|
292
|
+
UploadClassPipe, name: "uploadClass" }, { kind: "pipe", type: MapFilePipe, name: "mapFile" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
283
293
|
}
|
|
284
294
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaUploadFilesComponent, decorators: [{
|
|
285
295
|
type: Component,
|
|
286
296
|
args: [{ standalone: true, selector: 'app-ca-upload-files', imports: [
|
|
287
297
|
CommonModule,
|
|
288
298
|
AngularSvgIconModule,
|
|
299
|
+
NgbPopoverModule,
|
|
289
300
|
//Component
|
|
290
301
|
CaUploadDropzoneComponent,
|
|
291
302
|
CaUploadFileComponent,
|
|
292
303
|
CaUploadFilesCarouselComponent,
|
|
293
|
-
NgbPopoverModule,
|
|
294
|
-
CaSpinnerComponent,
|
|
295
|
-
CaInputComponent,
|
|
296
304
|
CaLogoChangeComponent,
|
|
297
|
-
LottieComponent,
|
|
298
305
|
//Pipe
|
|
299
|
-
NgbTooltip,
|
|
300
306
|
UploadClassPipe,
|
|
301
307
|
MapFilePipe,
|
|
302
|
-
FileNamePipe,
|
|
303
308
|
], providers: [
|
|
304
309
|
provideLottieOptions({
|
|
305
310
|
player: () => import('lottie-web'),
|
|
306
311
|
}),
|
|
307
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"ta-upload d-flex align-items-center {{ configFile.customClassName }}\"\n [ngClass]=\"\n _files?.length\n | uploadClass\n : carouselConfig.size\n : review.isReview\n : slider.dontUseSlider\n \"\n>\n <!-- Carousel Files -->\n <ng-container *ngIf=\"_files?.length && !slider.dontUseSlider && !hasCrop\">\n <app-ca-upload-files-carousel\n [config]=\"carouselFileConfig\"\n (activeSlide)=\"currentSlide = $event\"\n [slideWidth]=\"slideWidth\"\n (hoverArrowEmit)=\"hoverArrow($event)\"\n >\n <ng-container *ngFor=\"let file of _files; trackBy: identity\">\n <div class=\"ta-upload-carousel-container\">\n <div>\n <app-ca-upload-file\n #uploadedFiles\n [config]=\"configFile | mapFile: file\"\n [reviewFileConfig]=\"reviewFileConfig\"\n (fileHover)=\"fileHover($event)\"\n (fileAction)=\"onFileAction($event)\"\n (landscapeCheck)=\"onLandscapeCheck($event)\"\n (documentReviewInputEvent)=\"\n documentReviewInputEventMethod($event)\n \"\n ></app-ca-upload-file>\n </div>\n </div>\n </ng-container>\n </app-ca-upload-files-carousel>\n </ng-container>\n\n <ng-container *ngIf=\"slider.dontUseSlider && !hasCrop\">\n <div class=\"documents_holder\">\n <app-ca-upload-dropzone\n [config]=\"dropzoneConf\"\n (onFileEvent)=\"onUploadFiles($event)\"\n (closeDropzone)=\"dropZoneClose()\"\n ></app-ca-upload-dropzone>\n <ng-container *ngFor=\"let file of _files; trackBy: identity\">\n <div class=\"ta-upload-carousel-container\">\n <div>\n <app-ca-upload-file\n [config]=\"configFile | mapFile: file\"\n [reviewFileConfig]=\"reviewFileConfig\"\n (fileAction)=\"onFileAction($event)\"\n (landscapeCheck)=\"onLandscapeCheck($event)\"\n (documentReviewInputEvent)=\"\n documentReviewInputEventMethod($event)\n \"\n ></app-ca-upload-file>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <!-- Image Crop Template -->\n\n <div\n class=\"split-crop-holder\"\n [class.split]=\"isDropzoneShown\"\n [ngClass]=\"{ 'hidden-drop': !isVisibleCropAndDrop }\"\n >\n <ng-container *ngIf=\"hasCrop && _files.length\">\n <ng-container *ngFor=\"let file of _files; trackBy: identity\">\n <app-ca-logo-change\n [hasBlobUrl]=\"hasBlobUrl\"\n [imageToCrop]=\"file?.url\"\n [isRoundCropper]=\"isRoundCrop\"\n [isDropzoneShown]=\"isDropzoneShown\"\n [initialCropperPosition]=\"initialCropperPosition\"\n [containWithinAspectRatio]=\"containWithinAspectRatio\"\n [aspectRatio]=\"aspectRatio\"\n [customWidth]=\"dropzoneCustomWidth\"\n (sendImageData)=\"onUploadFiles($event)\"\n ></app-ca-logo-change>\n </ng-container>\n </ng-container>\n </div>\n\n <div\n class=\"split-crop-holder\"\n [class.split]=\"hasCrop && _files.length && isDropzoneShown\"\n [ngClass]=\"{ 'hidden-drop': !isVisibleCropAndDrop }\"\n >\n <ng-container *ngIf=\"isDropzoneShown\">\n <app-ca-upload-dropzone\n [config]=\"dropzoneConf\"\n [customWidth]=\"dropzoneCustomWidth\"\n [isDropzoneShownInCrop]=\"hasCrop && !!_files.length && isDropzoneShown\"\n (onFileEvent)=\"onUploadFiles($event)\"\n ></app-ca-upload-dropzone>\n </ng-container>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium{font-weight:500!important}.ca-font-semi-bold{font-weight:600!important}.ca-font-bold{font-weight:700!important}.ca-font-extra-bold{font-weight:800!important}.ca-font-black{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#dadada}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#dadada}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#dadada}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.tooltip-inner:empty{padding:0}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;background-color:transparent;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.app-ca-main-tooltip .tooltip-inner .tooltip-holder:empty{padding:0}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background:#42424233!important;color:#424242!important}.text-color-black::selection{background:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background:#91919133!important;color:#919191!important}.text-color-muted::selection{background:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-13::selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background:#e6676733!important;color:#e66767!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{color:#ccc!important;background:#aaa3!important}.text-color-light-grey-6::selection{color:#ccc!important;background:#aaa3!important}.text-color-white{color:#dadada!important}.text-color-white::-moz-selection{color:#dadada!important;background:#fff3!important}.text-color-white::selection{color:#dadada!important;background:#fff3!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{color:#ffffffb2!important;background:#fff3!important}.text-color-white-4::selection{color:#ffffffb2!important;background:#fff3!important}.text-color-dark-grey{color:#6c6c6c!important}.text-color-dark-grey::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-dark-grey::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey::selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{color:#919191!important;background:#91919133!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.svg-fill-black svg path{fill:#424242!important}.svg-fill-muted svg path{fill:#919191!important}.svg-fill-bw-9 svg path{fill:#dadada!important}.svg-fill-light-grey-2 svg path{fill:#aaa!important}.svg-fill-light-grey-6 svg path{fill:#ccc!important}.svg-fill-blue-13 svg path{fill:#6692f1!important}.svg-fill-blue-19 svg path{fill:#92b1f5!important}.svg-fill-blue-26 svg path{fill:#4dc5eb!important}.svg-hover-muted svg path{transition:all .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-black svg path{transition:all .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-15 svg path{transition:all .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-bw6-2 svg path{transition:all .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:all .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:all .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-18 svg{width:18px;height:18px}.svg-size-44-16 svg{width:44px;height:16px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.ta-card-body{overflow:visible!important}.split-crop-holder.split{width:50%}.split-crop-holder.hidden-drop{display:none}.ta-upload{gap:8px}.ta-upload .ta-upload-dropzone{height:186px;width:calc(100% - 10px);margin:0 6px}.ta-upload .documents_holder{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;transition:all .3s ease-in-out}.ta-upload .documents_holder .ta-upload-carousel-container{transition:all .3s ease-in-out}.ta-upload.documents{display:block!important}.ta-upload.documents .ta-upload-dropzone{height:332px;width:100%;margin:0}.ta-upload-small{grid-template-columns:164px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:8px;transition:all .3s ease-in-out}.ta-upload-medium-file{grid-template-columns:164px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-medium-files{grid-template-columns:344px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-large-file{grid-template-columns:164px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-large-twofiles{grid-template-columns:344px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-large-threefiles{grid-template-columns:524px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-review-mode{padding:8px 6px 6px 0;grid-template-columns:1fr;align-items:center;justify-content:center}.ta-upload.driver-details-pdf{grid-template-columns:1fr;grid-template-rows:312px}.ta-upload.company-documents{grid-template-columns:1fr;grid-template-rows:332px}.ta-upload.driver-card-pdf{grid-template-columns:1fr;grid-template-rows:416px}.ta-upload.company-details-pdf{grid-template-columns:1fr;grid-template-rows:378px}.ta-upload.landscape-details-view{grid-template-columns:1fr;grid-template-rows:200px}.ta-upload.todo-details,.ta-upload.table-details{grid-template-columns:100% 1fr;grid-template-rows:200px}\n"] }]
|
|
312
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"ta-upload d-flex align-items-center {{ configFile.customClassName }}\"\n [ngClass]=\"\n files?.length\n | uploadClass\n : carouselConfig.size\n : review.isReview\n : slider.dontUseSlider\n \"\n>\n <!-- Carousel Files -->\n @if (files?.length && !slider.dontUseSlider && !hasCrop) {\n <app-ca-upload-files-carousel\n [config]=\"carouselFileConfig\"\n (activeSlide)=\"currentSlide = $event\"\n [slideWidth]=\"slideWidth\"\n (hoverArrowEmit)=\"hoverArrow($event)\"\n >\n <ng-container *ngFor=\"let file of files; trackBy: identity\">\n <div class=\"ta-upload-carousel-container\">\n <div>\n <app-ca-upload-file\n #uploadedFiles\n [config]=\"configFile | mapFile: file\"\n [reviewFileConfig]=\"reviewFileConfig\"\n (fileHover)=\"fileHover($event)\"\n (fileAction)=\"onFileAction($event)\"\n (landscapeCheck)=\"onLandscapeCheck($event)\"\n (documentReviewInputEvent)=\"\n documentReviewInputEventMethod($event)\n \"\n ></app-ca-upload-file>\n </div>\n </div>\n </ng-container>\n </app-ca-upload-files-carousel>\n }\n\n @if (slider.dontUseSlider && !hasCrop) {\n <div class=\"documents_holder\">\n <app-ca-upload-dropzone\n [config]=\"dropzoneConf\"\n (onFileEvent)=\"onUploadFiles($event)\"\n (closeDropzone)=\"dropZoneClose()\"\n ></app-ca-upload-dropzone>\n @for (file of files; track identity) {\n <div class=\"ta-upload-carousel-container\">\n <div>\n <app-ca-upload-file\n [config]=\"configFile | mapFile: file\"\n [reviewFileConfig]=\"reviewFileConfig\"\n (fileAction)=\"onFileAction($event)\"\n (landscapeCheck)=\"onLandscapeCheck($event)\"\n (documentReviewInputEvent)=\"\n documentReviewInputEventMethod($event)\n \"\n ></app-ca-upload-file>\n </div>\n </div>\n }\n </div>\n }\n\n <!-- Image Crop Template -->\n\n <div\n class=\"split-crop-holder\"\n [class.split]=\"isDropzoneShown\"\n [ngClass]=\"{ 'hidden-drop': !isVisibleCropAndDrop }\"\n >\n @if (hasCrop && files.length) {\n @for (file of files; track identity) {\n <app-ca-logo-change\n [hasBlobUrl]=\"hasBlobUrl\"\n [imageToCrop]=\"file?.url\"\n [isRoundCropper]=\"isRoundCrop\"\n [isDropzoneShown]=\"isDropzoneShown\"\n [initialCropperPosition]=\"initialCropperPosition\"\n [containWithinAspectRatio]=\"containWithinAspectRatio\"\n [aspectRatio]=\"aspectRatio\"\n [customWidth]=\"dropzoneCustomWidth\"\n (sendImageData)=\"onUploadFiles($event)\"\n ></app-ca-logo-change>\n }\n }\n </div>\n\n <div\n class=\"split-crop-holder\"\n [class.split]=\"hasCrop && files.length && isDropzoneShown\"\n [ngClass]=\"{ 'hidden-drop': !isVisibleCropAndDrop }\"\n >\n @if (isDropzoneShown) {\n <app-ca-upload-dropzone\n [config]=\"dropzoneConf\"\n [customWidth]=\"dropzoneCustomWidth\"\n [isDropzoneShownInCrop]=\"\n hasCrop && !!files.length && isDropzoneShown\n \"\n (onFileEvent)=\"onUploadFiles($event)\"\n ></app-ca-upload-dropzone>\n }\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium{font-weight:500!important}.ca-font-semi-bold{font-weight:600!important}.ca-font-bold{font-weight:700!important}.ca-font-extra-bold{font-weight:800!important}.ca-font-black{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#dadada}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#dadada}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#dadada}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.tooltip-inner:empty{padding:0}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;background-color:transparent;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.app-ca-main-tooltip .tooltip-inner .tooltip-holder:empty{padding:0}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background:#42424233!important;color:#424242!important}.text-color-black::selection{background:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background:#91919133!important;color:#919191!important}.text-color-muted::selection{background:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-13::selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background:#e6676733!important;color:#e66767!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{color:#ccc!important;background:#aaa3!important}.text-color-light-grey-6::selection{color:#ccc!important;background:#aaa3!important}.text-color-white{color:#dadada!important}.text-color-white::-moz-selection{color:#dadada!important;background:#fff3!important}.text-color-white::selection{color:#dadada!important;background:#fff3!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{color:#ffffffb2!important;background:#fff3!important}.text-color-white-4::selection{color:#ffffffb2!important;background:#fff3!important}.text-color-dark-grey{color:#6c6c6c!important}.text-color-dark-grey::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-dark-grey::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey::selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{color:#919191!important;background:#91919133!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.svg-fill-black svg path{fill:#424242!important}.svg-fill-muted svg path{fill:#919191!important}.svg-fill-bw-9 svg path{fill:#dadada!important}.svg-fill-light-grey-2 svg path{fill:#aaa!important}.svg-fill-light-grey-6 svg path{fill:#ccc!important}.svg-fill-blue-13 svg path{fill:#6692f1!important}.svg-fill-blue-19 svg path{fill:#92b1f5!important}.svg-fill-blue-26 svg path{fill:#4dc5eb!important}.svg-hover-muted svg path{transition:all .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-black svg path{transition:all .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-15 svg path{transition:all .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-bw6-2 svg path{transition:all .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:all .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:all .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-18 svg{width:18px;height:18px}.svg-size-44-16 svg{width:44px;height:16px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.ta-card-body{overflow:visible!important}.split-crop-holder.split{width:50%}.split-crop-holder.hidden-drop{display:none}.ta-upload{gap:8px}.ta-upload .ta-upload-dropzone{height:186px;width:calc(100% - 10px);margin:0 6px}.ta-upload .documents_holder{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;transition:all .3s ease-in-out}.ta-upload .documents_holder .ta-upload-carousel-container{transition:all .3s ease-in-out}.ta-upload.documents{display:block!important}.ta-upload.documents .ta-upload-dropzone{height:332px;width:100%;margin:0}.ta-upload-small{grid-template-columns:164px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:8px;transition:all .3s ease-in-out}.ta-upload-medium-file{grid-template-columns:164px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-medium-files{grid-template-columns:344px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-large-file{grid-template-columns:164px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-large-twofiles{grid-template-columns:344px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-large-threefiles{grid-template-columns:524px 1fr;grid-template-rows:194px;-moz-column-gap:6px;column-gap:6px;transition:all .3s ease-in-out}.ta-upload-review-mode{padding:8px 6px 6px 0;grid-template-columns:1fr;align-items:center;justify-content:center}.ta-upload.driver-details-pdf{grid-template-columns:1fr;grid-template-rows:312px}.ta-upload.company-documents{grid-template-columns:1fr;grid-template-rows:332px}.ta-upload.driver-card-pdf{grid-template-columns:1fr;grid-template-rows:416px}.ta-upload.company-details-pdf{grid-template-columns:1fr;grid-template-rows:378px}.ta-upload.landscape-details-view{grid-template-columns:1fr;grid-template-rows:200px}.ta-upload.todo-details,.ta-upload.table-details{grid-template-columns:100% 1fr;grid-template-rows:200px}\n"] }]
|
|
308
313
|
}], ctorParameters: () => [{ type: i1.CaUploadFileService }, { type: i2.HttpClient }], propDecorators: { modalCarousel: [{
|
|
309
314
|
type: ViewChild,
|
|
310
315
|
args: [CaUploadFilesCarouselComponent]
|
|
@@ -317,8 +322,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
317
322
|
type: Output
|
|
318
323
|
}], closeDropzone: [{
|
|
319
324
|
type: Output
|
|
320
|
-
}], files: [{
|
|
321
|
-
type: Input
|
|
322
325
|
}], slider: [{
|
|
323
326
|
type: Input
|
|
324
327
|
}], carouselConfig: [{
|
|
@@ -353,5 +356,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
353
356
|
type: Input
|
|
354
357
|
}], fileAdded: [{
|
|
355
358
|
type: Output
|
|
359
|
+
}], files: [{
|
|
360
|
+
type: Input
|
|
356
361
|
}] } });
|
|
357
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtdXBsb2FkLWZpbGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLXVwbG9hZC1maWxlcy9jYS11cGxvYWQtZmlsZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtdXBsb2FkLWZpbGVzL2NhLXVwbG9hZC1maWxlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUcxRSxZQUFZO0FBQ1osT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDekcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMEVBQTBFLENB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Z0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixNQUFNO3dCQUNOLFVBQVU7d0JBQ1YsZUFBZTt3QkFDZixXQUFXO3dCQUNYLFlBQVk7cUJBQ2IsYUFDVTt3QkFDVCxvQkFBb0IsQ0FBQzs0QkFDbkIsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7eUJBQ25DLENBQUM7cUJBQ0gsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07aUhBSXhDLGFBQWE7c0JBRG5CLFNBQVM7dUJBQUMsOEJBQThCO2dCQUl6QyxhQUFhO3NCQURaLFlBQVk7dUJBQUMscUJBQXFCO2dCQUd6Qix3QkFBd0I7c0JBQWpDLE1BQU07Z0JBRUcsV0FBVztzQkFBcEIsTUFBTTtnQkFFRyxhQUFhO3NCQUF0QixNQUFNO2dCQUdNLEtBQUs7c0JBQWpCLEtBQUs7Z0JBUUcsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcbmltcG9ydCB7IExvdHRpZUNvbXBvbmVudCwgcHJvdmlkZUxvdHRpZU9wdGlvbnMgfSBmcm9tICduZ3gtbG90dGllJztcbmltcG9ydCB7IE5nYlBvcG92ZXJNb2R1bGUsIE5nYlRvb2x0aXAgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBDcm9wcGVyUG9zaXRpb24gfSBmcm9tICduZ3gtaW1hZ2UtY3JvcHBlcic7XG5cbi8vQ29tcG9uZW50c1xuaW1wb3J0IHsgQ2FTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2Etc3Bpbm5lci9jYS1zcGlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vY2EtaW5wdXQvY2EtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IENhVXBsb2FkRHJvcHpvbmVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtdXBsb2FkLWRyb3B6b25lL2NhLXVwbG9hZC1kcm9wem9uZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FVcGxvYWRGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLXVwbG9hZC1maWxlL2NhLXVwbG9hZC1maWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYVVwbG9hZEZpbGVzQ2Fyb3VzZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtdXBsb2FkLWZpbGVzLWNhcm91c2VsL2NhLXVwbG9hZC1maWxlcy1jYXJvdXNlbC5jb21wb25lbnQnO1xuXG4vL01vZGVsc1xuaW1wb3J0IHtcbiAgRG9jdW1lbnRSZXZpZXdJbnB1dEV2ZW50LFxuICBGaWxlT3B0aW9uQ29uZmlnLFxuICBSZXZpZXdGaWxlQ29uZmlnLFxuICBTbGlkZXIsXG59IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IEZpbGVDb25maWcsIEZpbGVFdmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS11cGxvYWQtZHJvcHpvbmUvbW9kZWxzJztcbmltcG9ydCB7IEZpbGVzQ2Fyb3VzZWxDb25maWcgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtdXBsb2FkLWZpbGVzLWNhcm91c2VsL21vZGVscyc7XG5cbi8vRW51bXNcbmltcG9ydCB7IEZpbGVzU2l6ZUVudW0sIEZpbGVUeXBlc0VudW0gfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IERvY3VtZW50QWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLXVwbG9hZC1maWxlL2VudW1zJztcblxuLy9TZXJ2aWNlc1xuaW1wb3J0IHsgQ2FVcGxvYWRGaWxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuXG4vL0NvbmZpZ1xuaW1wb3J0IHsgRHJvcHpvbmVDb25mIH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLXVwbG9hZC1kcm9wem9uZS9jb25maWcnO1xuXG4vL1BpcGVcbmltcG9ydCB7IEZpbGVOYW1lUGlwZSB9IGZyb20gJy4vY29tcG9uZW50cy9jYS11cGxvYWQtZmlsZS9waXBlcyc7XG5pbXBvcnQgeyBNYXBGaWxlUGlwZSwgVXBsb2FkQ2xhc3NQaXBlIH0gZnJvbSAnLi9waXBlcyc7XG5cbi8vQ29tcG9uZW50XG5pbXBvcnQgeyBDYUxvZ29DaGFuZ2VDb21wb25lbnQgfSBmcm9tICcuLi9jYS1sb2dvLWNoYW5nZS9jYS1sb2dvLWNoYW5nZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdhcHAtY2EtdXBsb2FkLWZpbGVzJyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBbmd1bGFyU3ZnSWNvbk1vZHVsZSxcbiAgICAvL0NvbXBvbmVudFxuICAgIENhVXBsb2FkRHJvcHpvbmVDb21wb25lbnQsXG4gICAgQ2FVcGxvYWRGaWxlQ29tcG9uZW50LFxuICAgIENhVXBsb2FkRmlsZXNDYXJvdXNlbENvbXBvbmVudCxcbiAgICBOZ2JQb3BvdmVyTW9kdWxlLFxuICAgIENhU3Bpbm5lckNvbXBvbmVudCxcbiAgICBDYUlucHV0Q29tcG9uZW50LFxuICAgIENhTG9nb0NoYW5nZUNvbXBvbmVudCxcbiAgICBMb3R0aWVDb21wb25lbnQsXG4gICAgLy9QaXBlXG4gICAgTmdiVG9vbHRpcCxcbiAgICBVcGxvYWRDbGFzc1BpcGUsXG4gICAgTWFwRmlsZVBpcGUsXG4gICAgRmlsZU5hbWVQaXBlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlTG90dGllT3B0aW9ucyh7XG4gICAgICBwbGF5ZXI6ICgpID0+IGltcG9ydCgnbG90dGllLXdlYicpLFxuICAgIH0pLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2EtdXBsb2FkLWZpbGVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2EtdXBsb2FkLWZpbGVzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDYVVwbG9hZEZpbGVzQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoQ2FVcGxvYWRGaWxlc0Nhcm91c2VsQ29tcG9uZW50KVxuICBwdWJsaWMgbW9kYWxDYXJvdXNlbCE6IENhVXBsb2FkRmlsZXNDYXJvdXNlbENvbXBvbmVudDtcblxuICBAVmlld0NoaWxkcmVuKENhVXBsb2FkRmlsZUNvbXBvbmVudClcbiAgdXBsb2FkZWRGaWxlcyE6IFF1ZXJ5TGlzdDxDYVVwbG9hZEZpbGVDb21wb25lbnQ+O1xuXG4gIEBPdXRwdXQoKSBkb2N1bWVudFJldmlld0lucHV0RXZlbnQgPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8RG9jdW1lbnRSZXZpZXdJbnB1dEV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25GaWxlRXZlbnQ6IEV2ZW50RW1pdHRlcjxGaWxlRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEZpbGVFdmVudD4oKTtcbiAgQE91dHB1dCgpIGNsb3NlRHJvcHpvbmUgPSBuZXcgRXZlbnRFbWl0dGVyPHt9PigpO1xuXG4gIC8vR2VuZXJhbFxuICBASW5wdXQoKSBzZXQgZmlsZXMoZGF0YTogRmlsZUNvbmZpZ1tdKSB7XG4gICAgdGhpcy5fZmlsZXMgPSBbLi4uZGF0YV07XG4gICAgaWYgKHRoaXMuX2NvbmZpZz8udHlwZSA9PSBGaWxlVHlwZXNFbnVtLkRFVEFJTFMpIHtcbiAgICAgIHRoaXMubW9kYWxDYXJvdXNlbD8uc2xpZGVUb0ZpbGUoMCk7XG4gICAgfVxuICB9XG5cbiAgLy9DYXJvdXNlbFxuICBASW5wdXQoKSBzbGlkZXIhOiBTbGlkZXI7XG4gIEBJbnB1dCgpIGNhcm91c2VsQ29uZmlnITogRmlsZXNDYXJvdXNlbENvbmZpZztcbiAgQElucHV0KCkgaGFzQ3JvcDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGlzUm91bmRDcm9wOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhhc0Jsb2JVcmw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvL1RhZ3NcbiAgQElucHV0KCkgb25seU9uZVRhZ0ZpbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvL0Ryb3B6b25lXG4gIEBJbnB1dCgpIGRyb3B6b25lQ29uZiE6IERyb3B6b25lQ29uZltdO1xuICBASW5wdXQoKSBkcm9wem9uZUN1c3RvbVdpZHRoITogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGlzVmlzaWJsZUNyb3BBbmREcm9wITogYm9vbGVhbjtcbiAgLy9Dcm9wcGVyXG4gIEBJbnB1dCgpIGluaXRpYWxDcm9wcGVyUG9zaXRpb24hOiBDcm9wcGVyUG9zaXRpb247XG4gIEBJbnB1dCgpIGNvbnRhaW5XaXRoaW5Bc3BlY3RSYXRpbzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhc3BlY3RSYXRpbzogbnVtYmVyW10gPSBbMSwgMV07XG5cbiAgLy9SZXZpZXdcbiAgQElucHV0KCkgcmV2aWV3ITogUmV2aWV3RmlsZUNvbmZpZztcblxuICBASW5wdXQoKSBjb25maWdGaWxlITogRmlsZU9wdGlvbkNvbmZpZztcbiAgQElucHV0KCkgc2l6ZTogc3RyaW5nID0gRmlsZXNTaXplRW51bS5TTUFMTDtcbiAgQElucHV0KCkgc2xpZGVXaWR0aDogbnVtYmVyID0gMTgwO1xuXG4gIEBPdXRwdXQoKSBmaWxlQWRkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGU+KCk7XG5cbiAgcHVibGljIF9maWxlczogRmlsZUNvbmZpZ1tdID0gW107XG4gIHB1YmxpYyBfY29uZmlnITogRmlsZU9wdGlvbkNvbmZpZztcbiAgcHVibGljIGN1cnJlbnRTbGlkZTogbnVtYmVyID0gMDtcbiAgcHVibGljIGlzRHJvcHpvbmVTaG93bjogYm9vbGVhbiA9IHRydWU7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdXBsb2FkRmlsZVNlcnZpY2U6IENhVXBsb2FkRmlsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpYmVUb1VwbG9hZGVkRmlsZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9VcGxvYWRlZEZpbGVzKCk6IHZvaWQge1xuICAgIHRoaXMudXBsb2FkRmlsZVNlcnZpY2UudXBsb2FkZWRGaWxlcyRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IHsgZmlsZXM6IEZpbGVDb25maWdbXTsgYWN0aW9uOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgIHRoaXMub25VcGxvYWRGaWxlcyhkYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhcm91c2VsRmlsZUNvbmZpZygpOiBGaWxlc0Nhcm91c2VsQ29uZmlnIHtcbiAgICByZXR1cm4geyAuLi50aGlzLmNhcm91c2VsQ29uZmlnIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJldmlld0ZpbGVDb25maWcoKTogUmV2aWV3RmlsZUNvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMucmV2aWV3O1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhIC0gcmV0dXJuZWQgZGF0YSBmcm9tIGZpbGUgYWN0aW9uIChvbmUgb3IgbXVsdGlwbGUpXG4gICAqL1xuXG4gIHB1YmxpYyBvbkZpbGVBY3Rpb24oZGF0YTogeyBmaWxlOiBGaWxlQ29uZmlnOyBhY3Rpb246IHN0cmluZyB9KTogdm9pZCB7XG4gICAgc3dpdGNoIChkYXRhLmFjdGlvbikge1xuICAgICAgY2FzZSBEb2N1bWVudEFjdGlvbi5UQUc6XG4gICAgICAgIHRoaXMub25GaWxlRXZlbnQuZW1pdCh7XG4gICAgICAgICAgZmlsZXM6ICF0aGlzLm9ubHlPbmVUYWdGaWxlID8gdGhpcy5fZmlsZXMgOiBkYXRhLmZpbGUsXG4gICAgICAgICAgYWN0aW9uOiBkYXRhLmFjdGlvbixcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIERvY3VtZW50QWN0aW9uLkRFTEVURTpcbiAgICAgICAgbGV0IGlzTGFzdERlbGV0ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fZmlsZXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBpdGVtLmZpbGVOYW1lID09PSBkYXRhLmZpbGUuZmlsZU5hbWUgJiZcbiAgICAgICAgICAgIChpbmRleCA9PT0gdGhpcy5fZmlsZXMubGVuZ3RoIC0gMSB8fFxuICAgICAgICAgICAgICBpbmRleCA9PT0gdGhpcy5fZmlsZXMubGVuZ3RoIC0gMilcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGlzTGFzdERlbGV0ZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZmlsZXMgPSB0aGlzLl9maWxlcy5maWx0ZXIoXG4gICAgICAgICAgKGl0ZW0pID0+IGl0ZW0uZmlsZU5hbWUgIT09IGRhdGEuZmlsZS5maWxlTmFtZVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMub25GaWxlRXZlbnQuZW1pdCh7XG4gICAgICAgICAgZmlsZXM6IHRoaXMuX2ZpbGVzLFxuICAgICAgICAgIGFjdGlvbjogZGF0YS5hY3Rpb24sXG4gICAgICAgICAgZGVsZXRlSWQ6IGRhdGEuZmlsZVsnZmlsZUlkJ10gfHwgdW5kZWZpbmVkLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmN1cnJlbnRTbGlkZSA9IHRoaXMuX2ZpbGVzLmxlbmd0aCAtIDE7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0aGlzLnNpemUgPT09IEZpbGVzU2l6ZUVudW0uTU9EQUxfTEFSR0UgJiYgdGhpcy5fZmlsZXMubGVuZ3RoIDwgNCkgfHxcbiAgICAgICAgICAodGhpcy5zaXplID09PSBGaWxlc1NpemVFbnVtLk1PREFMX01FRElVTSAmJiB0aGlzLl9maWxlcy5sZW5ndGggPCAzKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLm1vZGFsQ2Fyb3VzZWwuY3VycmVudFNsaWRlID0gMDtcbiAgICAgICAgICB0aGlzLm1vZGFsQ2Fyb3VzZWwudHJhbnNsYXRlWE11bHRpcGxlU2xpZGVzID0gMDtcbiAgICAgICAgICB0aGlzLm1vZGFsQ2Fyb3VzZWwubXVsdGlwbGVDdXJyZW50U2xpZGUgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLl9maWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRTbGlkZSA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNMYXN0RGVsZXRlZCAmJiB0aGlzLm1vZGFsQ2Fyb3VzZWwpIHtcbiAgICAgICAgICBjb25zdCBjYXJvdXNlbFNpemUgPSB0aGlzLm1vZGFsQ2Fyb3VzZWwuY2Fyb3VzZWxDb25maWdcbiAgICAgICAgICAgIC5jdXN0b21DbGFzcyBhcyBGaWxlc1NpemVFbnVtO1xuICAgICAgICAgIGNvbnN0IHNsaWRlVG8gPVxuICAgICAgICAgICAgY2Fyb3VzZWxTaXplID09PSBGaWxlc1NpemVFbnVtLkxBUkdFXG4gICAgICAgICAgICAgID8gM1xuICAgICAgICAgICAgICA6IGNhcm91c2VsU2l6ZSA9PT0gRmlsZXNTaXplRW51bS5NRURJVU1cbiAgICAgICAgICAgICAgICA/IDJcbiAgICAgICAgICAgICAgICA6IDE7XG5cbiAgICAgICAgICBjb25zdCBhbGxvd1NsaWRlID1cbiAgICAgICAgICAgIChjYXJvdXNlbFNpemUgPT09IEZpbGVzU2l6ZUVudW0uTEFSR0UgJiYgdGhpcy5fZmlsZXMubGVuZ3RoID4gMikgfHxcbiAgICAgICAgICAgIChjYXJvdXNlbFNpemUgPT09IEZpbGVzU2l6ZUVudW0uTUVESVVNICYmIHRoaXMuX2ZpbGVzLmxlbmd0aCA+IDEpIHx8XG4gICAgICAgICAgICAoY2Fyb3VzZWxTaXplID09PSBGaWxlc1NpemVFbnVtLlNNQUxMICYmIHRoaXMuX2ZpbGVzLmxlbmd0aCA+IDApO1xuXG4gICAgICAgICAgaWYgKGFsbG93U2xpZGUpIHtcbiAgICAgICAgICAgIHRoaXMubW9kYWxDYXJvdXNlbC5zbGlkZVRvRmlsZSh0aGlzLl9maWxlcy5sZW5ndGggLSBzbGlkZVRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgRG9jdW1lbnRBY3Rpb24uTUFSS19JTkNPUlJFQ1Q6XG4gICAgICAgIGxldCBpbmNvcnJlY3RJbmR4OiBudW1iZXIgPSAwO1xuICAgICAgICB0aGlzLl9maWxlcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGlmIChpdGVtLmZpbGVOYW1lID09PSBkYXRhLmZpbGUuZmlsZU5hbWUpIHtcbiAgICAgICAgICAgIGluY29ycmVjdEluZHggPSBpbmRleDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub25GaWxlRXZlbnQuZW1pdCh7XG4gICAgICAgICAgZmlsZXM6IHRoaXMuX2ZpbGVzLFxuICAgICAgICAgIGFjdGlvbjogZGF0YS5hY3Rpb24sXG4gICAgICAgICAgaW5kZXg6IGluY29ycmVjdEluZHgsXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBEb2N1bWVudEFjdGlvbi5NQVJLX0NPUlJFQ1Q6XG4gICAgICAgIGxldCBjb3JyZWN0SW5keDogbnVtYmVyID0gMDtcbiAgICAgICAgdGhpcy5fZmlsZXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICBpZiAoaXRlbS5maWxlTmFtZSA9PT0gZGF0YS5maWxlLmZpbGVOYW1lKSB7XG4gICAgICAgICAgICBjb3JyZWN0SW5keCA9IGluZGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vbkZpbGVFdmVudC5lbWl0KHtcbiAgICAgICAgICBmaWxlczogdGhpcy5fZmlsZXMsXG4gICAgICAgICAgYWN0aW9uOiBkYXRhLmFjdGlvbixcbiAgICAgICAgICBpbmRleDogY29ycmVjdEluZHgsXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uVXBsb2FkRmlsZXMoZGF0YTogeyBmaWxlczogRmlsZUNvbmZpZ1tdOyBhY3Rpb246IHN0cmluZyB9KTogdm9pZCB7XG4gICAgaWYgKGRhdGEuYWN0aW9uID09PSAnYWRkJyAmJiB0aGlzLmhhc0Nyb3AgJiYgdGhpcy5fZmlsZXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCB1cGxvYWRlZEZpbGVzID0gWy4uLmRhdGEuZmlsZXNdO1xuICAgICAgaWYgKHRoaXMuaGFzQ3JvcCkgdGhpcy5pc0Ryb3B6b25lU2hvd24gPSB0cnVlO1xuXG4gICAgICB1cGxvYWRlZEZpbGVzLmZvckVhY2goKG5ld0ZpbGUpID0+IHtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdGaWxlSW5kZXggPSB0aGlzLl9maWxlcy5maW5kSW5kZXgoXG4gICAgICAgICAgKGV4aXN0aW5nRmlsZSkgPT4gZXhpc3RpbmdGaWxlLnVybFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChleGlzdGluZ0ZpbGVJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICB0aGlzLl9maWxlc1tleGlzdGluZ0ZpbGVJbmRleF0gPSBuZXdGaWxlO1xuICAgICAgICAgIHRoaXMuZmlsZUFkZGVkLmVtaXQobmV3RmlsZS51cmwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUud2FybihgRmlsZSAke25ld0ZpbGUuZmlsZU5hbWV9IHRvIHJlcGxhY2Ugbm90IGZvdW5kYCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLm9uRmlsZUV2ZW50LmVtaXQoeyBmaWxlczogW10sIGFjdGlvbjogJ2FkZCcgfSk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGEuYWN0aW9uID09PSAnYWRkJykge1xuICAgICAgY29uc3QgdXBsb2FkZWRGaWxlcyA9IFsuLi5kYXRhLmZpbGVzXTtcblxuICAgICAgY29uc3QgdW5pcXVlRmlsZXMgPSB1cGxvYWRlZEZpbGVzLmZpbHRlcihcbiAgICAgICAgKGZpbGUpID0+XG4gICAgICAgICAgIXRoaXMuX2ZpbGVzLnNvbWUoXG4gICAgICAgICAgICAoZXhpc3RpbmdGaWxlKSA9PiBleGlzdGluZ0ZpbGUuZmlsZU5hbWUgPT09IGZpbGUuZmlsZU5hbWVcbiAgICAgICAgICApXG4gICAgICApO1xuICAgICAgdGhpcy5fZmlsZXMgPSBbLi4ubmV3IFNldChbLi4udGhpcy5fZmlsZXMsIC4uLnVuaXF1ZUZpbGVzXSldO1xuXG4gICAgICB1bmlxdWVGaWxlcy5mb3JFYWNoKChmaWxlKSA9PiB7XG4gICAgICAgIHRoaXMuZmlsZUFkZGVkLmVtaXQoZmlsZS5yZWFsRmlsZSk7XG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMuaGFzQ3JvcCkgdGhpcy5pc0Ryb3B6b25lU2hvd24gPSBmYWxzZTtcbiAgICAgIGVsc2UgdGhpcy5vbkZpbGVFdmVudC5lbWl0KHsgZmlsZXM6IHRoaXMuX2ZpbGVzLCBhY3Rpb246ICdhZGQnIH0pO1xuXG4gICAgICAvLyAgY2Fyb3VzZWxcbiAgICAgIGlmICh0aGlzLm1vZGFsQ2Fyb3VzZWwpIHtcbiAgICAgICAgY29uc3QgY2Fyb3VzZWxTaXplID0gdGhpcy5tb2RhbENhcm91c2VsLmNhcm91c2VsQ29uZmlnXG4gICAgICAgICAgLmN1c3RvbUNsYXNzIGFzIEZpbGVzU2l6ZUVudW07XG5cbiAgICAgICAgY29uc3Qgc2xpZGVUbyA9XG4gICAgICAgICAgY2Fyb3VzZWxTaXplID09PSBGaWxlc1NpemVFbnVtLkxBUkdFXG4gICAgICAgICAgICA/IDNcbiAgICAgICAgICAgIDogY2Fyb3VzZWxTaXplID09PSBGaWxlc1NpemVFbnVtLk1FRElVTVxuICAgICAgICAgICAgICA/IDJcbiAgICAgICAgICAgICAgOiAxO1xuXG4gICAgICAgIGNvbnN0IGFsbG93U2xpZGUgPVxuICAgICAgICAgIChjYXJvdXNlbFNpemUgPT09IEZpbGVzU2l6ZUVudW0uTEFSR0UgJiYgdGhpcy5fZmlsZXMubGVuZ3RoID4gMikgfHxcbiAgICAgICAgICAoY2Fyb3VzZWxTaXplID09PSBGaWxlc1NpemVFbnVtLk1FRElVTSAmJiB0aGlzLl9maWxlcy5sZW5ndGggPiAxKSB8fFxuICAgICAgICAgIChjYXJvdXNlbFNpemUgPT09IEZpbGVzU2l6ZUVudW0uU01BTEwgJiYgdGhpcy5fZmlsZXMubGVuZ3RoID4gMCk7XG5cbiAgICAgICAgaWYgKGFsbG93U2xpZGUpIHtcbiAgICAgICAgICB0aGlzLm1vZGFsQ2Fyb3VzZWwuc2xpZGVUb0ZpbGUodGhpcy5fZmlsZXMubGVuZ3RoIC0gc2xpZGVUbyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGRhdGEuYWN0aW9uID09PSAncmVwbGFjZScpIHtcbiAgICAgIGNvbnN0IHVwbG9hZGVkRmlsZXMgPSBbLi4uZGF0YS5maWxlc107XG5cbiAgICAgIGlmICh0aGlzLmhhc0Nyb3ApIHRoaXMuaXNEcm9wem9uZVNob3duID0gdHJ1ZTtcblxuICAgICAgdXBsb2FkZWRGaWxlcy5mb3JFYWNoKChuZXdGaWxlKSA9PiB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nRmlsZUluZGV4ID0gdGhpcy5fZmlsZXMuZmluZEluZGV4KFxuICAgICAgICAgIChleGlzdGluZ0ZpbGUpID0+IGV4aXN0aW5nRmlsZS51cmxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoZXhpc3RpbmdGaWxlSW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgLy8gUmVwbGFjZSB0aGUgZXhpc3RpbmcgZmlsZSBhdCB0aGUgZm91bmQgaW5kZXhcbiAgICAgICAgICB0aGlzLl9maWxlc1tleGlzdGluZ0ZpbGVJbmRleF0gPSBuZXdGaWxlO1xuXG4gICAgICAgICAgLy8gRW1pdCB0aGUgbmV3IGZpbGUgdGhhdCByZXBsYWNlZCB0aGUgb2xkIG9uZVxuICAgICAgICAgIHRoaXMuZmlsZUFkZGVkLmVtaXQobmV3RmlsZS51cmwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUud2FybihgRmlsZSAke25ld0ZpbGUuZmlsZU5hbWV9IHRvIHJlcGxhY2Ugbm90IGZvdW5kYCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLm9uRmlsZUV2ZW50LmVtaXQoeyBmaWxlczogdGhpcy5fZmlsZXMsIGFjdGlvbjogJ2FkZCcgfSk7XG4gICAgfSBlbHNlIGlmIChkYXRhLmFjdGlvbiA9PT0gJ2RlbGV0ZScpIHtcbiAgICAgIGlmICh0aGlzLmhhc0Nyb3ApIHRoaXMuaXNEcm9wem9uZVNob3duID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2ZpbGVzLnNwbGljZSgwLCB0aGlzLl9maWxlcy5sZW5ndGgpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZG9jdW1lbnRSZXZpZXdJbnB1dEV2ZW50TWV0aG9kKGRhdGE6IHtcbiAgICBmaWxlOiBGaWxlQ29uZmlnO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgfSk6IHZvaWQge1xuICAgIHRoaXMuZG9jdW1lbnRSZXZpZXdJbnB1dEV2ZW50LmVtaXQoe1xuICAgICAgZmlsZTogZGF0YS5maWxlLFxuICAgICAgbWVzc2FnZTogZGF0YS5tZXNzYWdlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGRvd25sb2FkRmlsZShmaWxlVXJsOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmh0dHAuZ2V0KGZpbGVVcmwsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSkuc3Vic2NyaWJlKFxuICAgICAgKGZpbGVCbG9iOiBCbG9iKSA9PiB7XG4gICAgICAgIGNvbnN0IGFuY2hvckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIGNvbnN0IG9iamVjdFVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZUJsb2IpO1xuICAgICAgICBhbmNob3JFbGVtZW50LmhyZWYgPSBvYmplY3RVcmw7XG4gICAgICAgIGFuY2hvckVsZW1lbnQuZG93bmxvYWQgPSBmaWxlTmFtZTtcbiAgICAgICAgYW5jaG9yRWxlbWVudC5jbGljaygpO1xuXG4gICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwob2JqZWN0VXJsKTtcbiAgICAgIH0sXG4gICAgICAoZG93bmxvYWRFcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBkb3dubG9hZGluZyBmaWxlOicsIGRvd25sb2FkRXJyb3IpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25MYW5kc2NhcGVDaGVjayhsYW5kc2NhcGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAobGFuZHNjYXBlKSB0aGlzLmNvbmZpZ0ZpbGUuY3VzdG9tQ2xhc3NOYW1lID0gJ2xhbmRzY2FwZS1kZXRhaWxzLXZpZXcnO1xuICB9XG5cbiAgcHVibGljIGRyb3Bab25lQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZURyb3B6b25lLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWxlSG92ZXIoZmlsZTogRmlsZUNvbmZpZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZ0ZpbGUuY3VzdG9tQ2xhc3NOYW1lID09PSAnbW9kYWxzJykge1xuICAgICAgbGV0IGNoZWNrQnlJZCA9IGZpbGU/LnJlYWxGaWxlID8gZmFsc2UgOiB0cnVlO1xuICAgICAgdGhpcy5fZmlsZXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIChjaGVja0J5SWQgJiYgZmlsZT8uZmlsZUlkID09PSBpdGVtLmZpbGVJZCkgfHxcbiAgICAgICAgICAoIWNoZWNrQnlJZCAmJiBmaWxlLnJlYWxGaWxlPy5uYW1lID09PSBpdGVtLnJlYWxGaWxlPy5uYW1lKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLnVwbG9hZGVkRmlsZXNbJ19yZXN1bHRzJ11baW5kZXhdLnVwZGF0ZUhvdmVyKHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudXBsb2FkZWRGaWxlc1snX3Jlc3VsdHMnXVtpbmRleF0udXBkYXRlSG92ZXIoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaG92ZXJBcnJvdyhtb2Q6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9maWxlcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgdGhpcy51cGxvYWRlZEZpbGVzWydfcmVzdWx0cyddW2luZGV4XS5ob3ZlckFycm93KG1vZCk7XG4gICAgfSk7XG4gIH1cblxuICBpZGVudGl0eShpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJ0YS11cGxvYWQgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB7eyBjb25maWdGaWxlLmN1c3RvbUNsYXNzTmFtZSB9fVwiXG4gIFtuZ0NsYXNzXT1cIlxuICAgIF9maWxlcz8ubGVuZ3RoXG4gICAgICB8IHVwbG9hZENsYXNzXG4gICAgICAgIDogY2Fyb3VzZWxDb25maWcuc2l6ZVxuICAgICAgICA6IHJldmlldy5pc1Jldmlld1xuICAgICAgICA6IHNsaWRlci5kb250VXNlU2xpZGVyXG4gIFwiXG4+XG4gIDwhLS0gQ2Fyb3VzZWwgRmlsZXMgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJfZmlsZXM/Lmxlbmd0aCAmJiAhc2xpZGVyLmRvbnRVc2VTbGlkZXIgJiYgIWhhc0Nyb3BcIj5cbiAgICA8YXBwLWNhLXVwbG9hZC1maWxlcy1jYXJvdXNlbFxuICAgICAgW2NvbmZpZ109XCJjYXJvdXNlbEZpbGVDb25maWdcIlxuICAgICAgKGFjdGl2ZVNsaWRlKT1cImN1cnJlbnRTbGlkZSA9ICRldmVudFwiXG4gICAgICBbc2xpZGVXaWR0aF09XCJzbGlkZVdpZHRoXCJcbiAgICAgIChob3ZlckFycm93RW1pdCk9XCJob3ZlckFycm93KCRldmVudClcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpbGUgb2YgX2ZpbGVzOyB0cmFja0J5OiBpZGVudGl0eVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGEtdXBsb2FkLWNhcm91c2VsLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YXBwLWNhLXVwbG9hZC1maWxlXG4gICAgICAgICAgICAgICN1cGxvYWRlZEZpbGVzXG4gICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnRmlsZSB8IG1hcEZpbGU6IGZpbGVcIlxuICAgICAgICAgICAgICBbcmV2aWV3RmlsZUNvbmZpZ109XCJyZXZpZXdGaWxlQ29uZmlnXCJcbiAgICAgICAgICAgICAgKGZpbGVIb3Zlcik9XCJmaWxlSG92ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChmaWxlQWN0aW9uKT1cIm9uRmlsZUFjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGxhbmRzY2FwZUNoZWNrKT1cIm9uTGFuZHNjYXBlQ2hlY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChkb2N1bWVudFJldmlld0lucHV0RXZlbnQpPVwiXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRSZXZpZXdJbnB1dEV2ZW50TWV0aG9kKCRldmVudClcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L2FwcC1jYS11cGxvYWQtZmlsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2FwcC1jYS11cGxvYWQtZmlsZXMtY2Fyb3VzZWw+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzbGlkZXIuZG9udFVzZVNsaWRlciAmJiAhaGFzQ3JvcFwiPlxuICAgIDxkaXYgY2xhc3M9XCJkb2N1bWVudHNfaG9sZGVyXCI+XG4gICAgICA8YXBwLWNhLXVwbG9hZC1kcm9wem9uZVxuICAgICAgICBbY29uZmlnXT1cImRyb3B6b25lQ29uZlwiXG4gICAgICAgIChvbkZpbGVFdmVudCk9XCJvblVwbG9hZEZpbGVzKCRldmVudClcIlxuICAgICAgICAoY2xvc2VEcm9wem9uZSk9XCJkcm9wWm9uZUNsb3NlKClcIlxuICAgICAgPjwvYXBwLWNhLXVwbG9hZC1kcm9wem9uZT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpbGUgb2YgX2ZpbGVzOyB0cmFja0J5OiBpZGVudGl0eVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGEtdXBsb2FkLWNhcm91c2VsLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YXBwLWNhLXVwbG9hZC1maWxlXG4gICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnRmlsZSB8IG1hcEZpbGU6IGZpbGVcIlxuICAgICAgICAgICAgICBbcmV2aWV3RmlsZUNvbmZpZ109XCJyZXZpZXdGaWxlQ29uZmlnXCJcbiAgICAgICAgICAgICAgKGZpbGVBY3Rpb24pPVwib25GaWxlQWN0aW9uKCRldmVudClcIlxuICAgICAgICAgICAgICAobGFuZHNjYXBlQ2hlY2spPVwib25MYW5kc2NhcGVDaGVjaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGRvY3VtZW50UmV2aWV3SW5wdXRFdmVudCk9XCJcbiAgICAgICAgICAgICAgICBkb2N1bWVudFJldmlld0lucHV0RXZlbnRNZXRob2QoJGV2ZW50KVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvYXBwLWNhLXVwbG9hZC1maWxlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIEltYWdlIENyb3AgVGVtcGxhdGUgLS0+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwic3BsaXQtY3JvcC1ob2xkZXJcIlxuICAgIFtjbGFzcy5zcGxpdF09XCJpc0Ryb3B6b25lU2hvd25cIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2hpZGRlbi1kcm9wJzogIWlzVmlzaWJsZUNyb3BBbmREcm9wIH1cIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0Nyb3AgJiYgX2ZpbGVzLmxlbmd0aFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmlsZSBvZiBfZmlsZXM7IHRyYWNrQnk6IGlkZW50aXR5XCI+XG4gICAgICAgIDxhcHAtY2EtbG9nby1jaGFuZ2VcbiAgICAgICAgICBbaGFzQmxvYlVybF09XCJoYXNCbG9iVXJsXCJcbiAgICAgICAgICBbaW1hZ2VUb0Nyb3BdPVwiZmlsZT8udXJsXCJcbiAgICAgICAgICBbaXNSb3VuZENyb3BwZXJdPVwiaXNSb3VuZENyb3BcIlxuICAgICAgICAgIFtpc0Ryb3B6b25lU2hvd25dPVwiaXNEcm9wem9uZVNob3duXCJcbiAgICAgICAgICBbaW5pdGlhbENyb3BwZXJQb3NpdGlvbl09XCJpbml0aWFsQ3JvcHBlclBvc2l0aW9uXCJcbiAgICAgICAgICBbY29udGFpbldpdGhpbkFzcGVjdFJhdGlvXT1cImNvbnRhaW5XaXRoaW5Bc3BlY3RSYXRpb1wiXG4gICAgICAgICAgW2FzcGVjdFJhdGlvXT1cImFzcGVjdFJhdGlvXCJcbiAgICAgICAgICBbY3VzdG9tV2lkdGhdPVwiZHJvcHpvbmVDdXN0b21XaWR0aFwiXG4gICAgICAgICAgKHNlbmRJbWFnZURhdGEpPVwib25VcGxvYWRGaWxlcygkZXZlbnQpXCJcbiAgICAgICAgPjwvYXBwLWNhLWxvZ28tY2hhbmdlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cInNwbGl0LWNyb3AtaG9sZGVyXCJcbiAgICBbY2xhc3Muc3BsaXRdPVwiaGFzQ3JvcCAmJiBfZmlsZXMubGVuZ3RoICYmIGlzRHJvcHpvbmVTaG93blwiXG4gICAgW25nQ2xhc3NdPVwieyAnaGlkZGVuLWRyb3AnOiAhaXNWaXNpYmxlQ3JvcEFuZERyb3AgfVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNEcm9wem9uZVNob3duXCI+XG4gICAgICA8YXBwLWNhLXVwbG9hZC1kcm9wem9uZVxuICAgICAgICBbY29uZmlnXT1cImRyb3B6b25lQ29uZlwiXG4gICAgICAgIFtjdXN0b21XaWR0aF09XCJkcm9wem9uZUN1c3RvbVdpZHRoXCJcbiAgICAgICAgW2lzRHJvcHpvbmVTaG93bkluQ3JvcF09XCJoYXNDcm9wICYmICEhX2ZpbGVzLmxlbmd0aCAmJiBpc0Ryb3B6b25lU2hvd25cIlxuICAgICAgICAob25GaWxlRXZlbnQpPVwib25VcGxvYWRGaWxlcygkZXZlbnQpXCJcbiAgICAgID48L2FwcC1jYS11cGxvYWQtZHJvcHpvbmU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
362
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtdXBsb2FkLWZpbGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLXVwbG9hZC1maWxlcy9jYS11cGxvYWQtZmlsZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtdXBsb2FkLWZpbGVzL2NhLXVwbG9hZC1maWxlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1QsWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHOUQsWUFBWTtBQUNaLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBWTFILE9BQU87QUFDUCxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFRbkUsTUFBTTtBQUNOLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXZELFdBQVc7QUFDWCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7QUEyQm5GLE1BQU0sT0FBTyxzQkFBc0I7SUFpRC9CLElBQWEsS0FBSyxDQUFDLElBQWtCO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxZQUNZLGlCQUFzQyxFQUN0QyxJQUFnQjtRQURoQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXFCO1FBQ3RDLFNBQUksR0FBSixJQUFJLENBQVk7UUF2RGxCLDZCQUF3QixHQUM5QixJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUN2QyxnQkFBVyxHQUNqQixJQUFJLFlBQVksRUFBYSxDQUFDO1FBQ3hCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU0sQ0FBQztRQUt4QyxZQUFPLEdBQVksSUFBSSxDQUFDO1FBQ3hCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFckMsTUFBTTtRQUNHLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBU2hDLDZCQUF3QixHQUFZLEtBQUssQ0FBQztRQUMxQyxnQkFBVyxHQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBTS9CLFNBQUksR0FBVyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ25DLGVBQVUsR0FBVyxHQUFHLENBQUM7UUFFeEIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHeEMsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFDekIsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDL0IsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdkMsYUFBYTtRQUNOLFdBQU0sR0FBaUIsRUFBRSxDQUFDO0lBZTlCLENBQUM7SUFFSixlQUFlO1FBQ1gsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVPLHdCQUF3QjtRQUM1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYzthQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsQ0FBQyxJQUE2QyxFQUFFLEVBQUU7WUFDekQsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxJQUFXLGtCQUFrQjtRQUN6QixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7OztPQUdHO0lBRUksWUFBWSxDQUFDLElBQTBDO1FBQzFELFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xCLEtBQUssY0FBYyxDQUFDLEdBQUc7Z0JBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNsQixLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSTtvQkFDcEQsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2lCQUN0QixDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUVWLEtBQUssY0FBYyxDQUFDLE1BQU07Z0JBQ3RCLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQztnQkFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7b0JBQy9CLElBQ0ksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7d0JBQ3BDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7NEJBQzVCLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFDdEMsQ0FBQzt3QkFDQyxhQUFhLEdBQUcsSUFBSSxDQUFDO29CQUN6QixDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQzFCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUNqRCxDQUFDO2dCQUVGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNsQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7b0JBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksU0FBUztpQkFDN0MsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUUxQyxJQUNJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsV0FBVztvQkFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO29CQUMxQixDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLFlBQVk7d0JBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUM1QixDQUFDO29CQUNDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztvQkFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUM7b0JBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO2dCQUNoRCxDQUFDO2dCQUVELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztnQkFDMUIsQ0FBQztnQkFFRCxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ3RDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYzt5QkFDakQsV0FBNEIsQ0FBQztvQkFDbEMsTUFBTSxPQUFPLEdBQ1QsWUFBWSxLQUFLLGFBQWEsQ0FBQyxLQUFLO3dCQUNoQyxDQUFDLENBQUMsQ0FBQzt3QkFDSCxDQUFDLENBQUMsWUFBWSxLQUFLLGFBQWEsQ0FBQyxNQUFNOzRCQUNyQyxDQUFDLENBQUMsQ0FBQzs0QkFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUVkLE1BQU0sVUFBVSxHQUNaLENBQUMsWUFBWSxLQUFLLGFBQWEsQ0FBQyxLQUFLO3dCQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7d0JBQzFCLENBQUMsWUFBWSxLQUFLLGFBQWEsQ0FBQyxNQUFNOzRCQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7d0JBQzFCLENBQUMsWUFBWSxLQUFLLGFBQWEsQ0FBQyxLQUFLOzRCQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFFL0IsSUFBSSxVQUFVLEVBQUUsQ0FBQzt3QkFDYixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUM5QixDQUFDO29CQUNOLENBQUM7Z0JBQ0wsQ0FBQztnQkFDRCxNQUFNO1lBRVYsS0FBSyxjQUFjLENBQUMsY0FBYztnQkFDOUIsSUFBSSxhQUFhLEdBQVcsQ0FBQyxDQUFDO2dCQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDL0IsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7d0JBQ3ZDLGFBQWEsR0FBRyxLQUFLLENBQUM7b0JBQzFCLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7b0JBQ2xCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztvQkFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO29CQUNuQixLQUFLLEVBQUUsYUFBYTtpQkFDdkIsQ0FBQyxDQUFDO2dCQUNILE1BQU07WUFFVixLQUFLLGNBQWMsQ0FBQyxZQUFZO2dCQUM1QixJQUFJLFdBQVcsR0FBVyxDQUFDLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO29CQUMvQixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzt3QkFDdkMsV0FBVyxHQUFHLEtBQUssQ0FBQztvQkFDeEIsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztnQkFFSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztvQkFDbEIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO29CQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ25CLEtBQUssRUFBRSxXQUFXO2lCQUNyQixDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUVWO2dCQUNJLE1BQU07UUFDZCxDQUFDO0lBQ0wsQ0FBQztJQUVNLGFBQWEsQ0FBQyxJQUE2QztRQUM5RCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3RCxNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLElBQUksSUFBSSxDQUFDLE9BQU87Z0JBQUUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFFOUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUM5QixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUMxQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDckMsQ0FBQztnQkFFRixJQUFJLGlCQUFpQixLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxPQUFPLENBQUM7b0JBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDckMsQ0FBQztxQkFBTSxDQUFDO29CQUNKLE9BQU8sQ0FBQyxJQUFJLENBQ1IsUUFBUSxPQUFPLENBQUMsUUFBUSx1QkFBdUIsQ0FDbEQsQ0FBQztnQkFDTixDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN4QixNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXRDLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQ3BDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDTCxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNaLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FDYixZQUFZLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQzlDLENBQ1IsQ0FBQztZQUNGLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRTNELFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxJQUFJLENBQUMsT0FBTztnQkFBRSxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQzs7Z0JBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFFakUsWUFBWTtZQUNaLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWM7cUJBQ2pELFdBQTRCLENBQUM7Z0JBRWxDLE1BQU0sT0FBTyxHQUNULFlBQVksS0FBSyxhQUFhLENBQUMsS0FBSztvQkFDaEMsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsQ0FBQyxDQUFDLFlBQVksS0FBSyxhQUFhLENBQUMsTUFBTTt3QkFDckMsQ0FBQyxDQUFDLENBQUM7d0JBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFZCxNQUFNLFVBQVUsR0FDWixDQUFDLFlBQVksS0FBSyxhQUFhLENBQUMsS0FBSztvQkFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO29CQUMxQixDQUFDLFlBQVksS0FBSyxhQUFhLENBQUMsTUFBTTt3QkFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO29CQUMxQixDQUFDLFlBQVksS0FBSyxhQUFhLENBQUMsS0FBSzt3QkFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBRS9CLElBQUksVUFBVSxFQUFFLENBQUM7b0JBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUM7Z0JBQ2hFLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXRDLElBQUksSUFBSSxDQUFDLE9BQU87Z0JBQUUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFFOUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUM5QixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUMxQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDckMsQ0FBQztnQkFFRixJQUFJLGlCQUFpQixLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQzNCLCtDQUErQztvQkFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLE9BQU8sQ0FBQztvQkFFeEMsOENBQThDO29CQUM5QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JDLENBQUM7cUJBQU0sQ0FBQztvQkFDSixPQUFPLENBQUMsSUFBSSxDQUNSLFFBQVEsT0FBTyxDQUFDLFFBQVEsdUJBQXVCLENBQ2xELENBQUM7Z0JBQ04sQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoRSxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLElBQUksSUFBSSxDQUFDLE9BQU87Z0JBQUUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNMLENBQUM7SUFDTSw4QkFBOEIsQ0FBQyxJQUdyQztRQUNHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUM7WUFDL0IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3hCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxZQUFZLENBQUMsT0FBZSxFQUFFLFFBQWdCO1FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FDdEQsQ0FBQyxRQUFjLEVBQUUsRUFBRTtZQUNmLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxhQUFhLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztZQUMvQixhQUFhLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUNsQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFdEIsR0FBRyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQyxDQUFDLEVBQ0QsQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDNUQsQ0FBQyxDQUNKLENBQUM7SUFDTixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsU0FBa0I7UUFDdEMsSUFBSSxTQUFTO1lBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEdBQUcsd0JBQXdCLENBQUM7SUFDbkUsQ0FBQztJQUVNLGFBQWE7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sU0FBUyxDQUFDLElBQWdCO1FBQzdCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDL0MsSUFBSSxTQUFTLEdBQUcsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQy9CLElBQ0ksQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUMzQyxDQUFDLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQzdELENBQUM7b0JBQ0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzVELENBQUM7cUJBQU0sQ0FBQztvQkFDSixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDN0QsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFTSxVQUFVLENBQUMsR0FBWTtRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtRQUNsQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOytHQXpXUSxzQkFBc0I7bUdBQXRCLHNCQUFzQixxdUJBVHBCO1lBQ1Asb0JBQW9CLENBQUM7Z0JBQ2pCLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO2FBQ3JDLENBQUM7U0FDTCx5RUFNVSw4QkFBOEIsbUVBRzNCLHFCQUFxQixnREMvRXZDLHltSUF3R0EsMGpsQkRsRFEsWUFBWSx5UEFDWixvQkFBb0IsOEJBQ3BCLGdCQUFnQjtnQkFDaEIsV0FBVztnQkFDWCx5QkFBeUIsOExBQ3pCLHFCQUFxQiwyTUFDckIsOEJBQThCLHVKQUM5QixxQkFBcUI7Z0JBQ3JCLE1BQU07Z0JBQ04sZUFBZSwrQ0FDZixXQUFXOzs0RkFXTixzQkFBc0I7a0JBekJsQyxTQUFTO2lDQUNNLElBQUksWUFDTixxQkFBcUIsV0FDdEI7d0JBQ0wsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCx5QkFBeUI7d0JBQ3pCLHFCQUFxQjt3QkFDckIsOEJBQThCO3dCQUM5QixxQkFBcUI7d0JBQ3JCLE1BQU07d0JBQ04sZUFBZTt3QkFDZixXQUFXO3FCQUNkLGFBQ1U7d0JBQ1Asb0JBQW9CLENBQUM7NEJBQ2pCLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO3lCQUNyQyxDQUFDO3FCQUNMLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNO2lIQUl4QyxhQUFhO3NCQURuQixTQUFTO3VCQUFDLDhCQUE4QjtnQkFJekMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLHFCQUFxQjtnQkFHekIsd0JBQXdCO3NCQUFqQyxNQUFNO2dCQUVHLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsYUFBYTtzQkFBdEIsTUFBTTtnQkFHRSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNO2dCQVNNLEtBQUs7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5pbXBvcnQgeyBwcm92aWRlTG90dGllT3B0aW9ucyB9IGZyb20gJ25neC1sb3R0aWUnO1xuaW1wb3J0IHsgTmdiUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IENyb3BwZXJQb3NpdGlvbiB9IGZyb20gJ25neC1pbWFnZS1jcm9wcGVyJztcblxuLy9Db21wb25lbnRzXG5pbXBvcnQgeyBDYVVwbG9hZERyb3B6b25lQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLXVwbG9hZC1kcm9wem9uZS9jYS11cGxvYWQtZHJvcHpvbmUuY29tcG9uZW50JztcbmltcG9ydCB7IENhVXBsb2FkRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS11cGxvYWQtZmlsZS9jYS11cGxvYWQtZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FVcGxvYWRGaWxlc0Nhcm91c2VsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLXVwbG9hZC1maWxlcy1jYXJvdXNlbC9jYS11cGxvYWQtZmlsZXMtY2Fyb3VzZWwuY29tcG9uZW50JztcblxuLy9Nb2RlbHNcbmltcG9ydCB7XG4gICAgRG9jdW1lbnRSZXZpZXdJbnB1dEV2ZW50LFxuICAgIEZpbGVPcHRpb25Db25maWcsXG4gICAgUmV2aWV3RmlsZUNvbmZpZyxcbiAgICBTbGlkZXIsXG59IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IEZpbGVDb25maWcsIEZpbGVFdmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS11cGxvYWQtZHJvcHpvbmUvbW9kZWxzJztcbmltcG9ydCB7IEZpbGVzQ2Fyb3VzZWxDb25maWcgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtdXBsb2FkLWZpbGVzLWNhcm91c2VsL21vZGVscyc7XG5cbi8vRW51bXNcbmltcG9ydCB7IEZpbGVzU2l6ZUVudW0sIEZpbGVUeXBlc0VudW0gfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IERvY3VtZW50QWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLXVwbG9hZC1maWxlL2VudW1zJztcblxuLy9TZXJ2aWNlc1xuaW1wb3J0IHsgQ2FVcGxvYWRGaWxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuXG4vL0NvbmZpZ1xuaW1wb3J0IHsgRHJvcHpvbmVDb25mIH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLXVwbG9hZC1kcm9wem9uZS9jb25maWcnO1xuXG4vL1BpcGVcbmltcG9ydCB7IE1hcEZpbGVQaXBlLCBVcGxvYWRDbGFzc1BpcGUgfSBmcm9tICcuL3BpcGVzJztcblxuLy9Db21wb25lbnRcbmltcG9ydCB7IENhTG9nb0NoYW5nZUNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWxvZ28tY2hhbmdlL2NhLWxvZ28tY2hhbmdlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdhcHAtY2EtdXBsb2FkLWZpbGVzJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgICAgIE5nYlBvcG92ZXJNb2R1bGUsXG4gICAgICAgIC8vQ29tcG9uZW50XG4gICAgICAgIENhVXBsb2FkRHJvcHpvbmVDb21wb25lbnQsXG4gICAgICAgIENhVXBsb2FkRmlsZUNvbXBvbmVudCxcbiAgICAgICAgQ2FVcGxvYWRGaWxlc0Nhcm91c2VsQ29tcG9uZW50LFxuICAgICAgICBDYUxvZ29DaGFuZ2VDb21wb25lbnQsXG4gICAgICAgIC8vUGlwZVxuICAgICAgICBVcGxvYWRDbGFzc1BpcGUsXG4gICAgICAgIE1hcEZpbGVQaXBlLFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVMb3R0aWVPcHRpb25zKHtcbiAgICAgICAgICAgIHBsYXllcjogKCkgPT4gaW1wb3J0KCdsb3R0aWUtd2ViJyksXG4gICAgICAgIH0pLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhLXVwbG9hZC1maWxlcy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2EtdXBsb2FkLWZpbGVzLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhVXBsb2FkRmlsZXNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKENhVXBsb2FkRmlsZXNDYXJvdXNlbENvbXBvbmVudClcbiAgICBwdWJsaWMgbW9kYWxDYXJvdXNlbCE6IENhVXBsb2FkRmlsZXNDYXJvdXNlbENvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGRyZW4oQ2FVcGxvYWRGaWxlQ29tcG9uZW50KVxuICAgIHVwbG9hZGVkRmlsZXMhOiBRdWVyeUxpc3Q8Q2FVcGxvYWRGaWxlQ29tcG9uZW50PjtcblxuICAgIEBPdXRwdXQoKSBkb2N1bWVudFJldmlld0lucHV0RXZlbnQgPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPERvY3VtZW50UmV2aWV3SW5wdXRFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgb25GaWxlRXZlbnQ6IEV2ZW50RW1pdHRlcjxGaWxlRXZlbnQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxGaWxlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIGNsb3NlRHJvcHpvbmUgPSBuZXcgRXZlbnRFbWl0dGVyPHt9PigpO1xuXG4gICAgLy9DYXJvdXNlbFxuICAgIEBJbnB1dCgpIHNsaWRlciE6IFNsaWRlcjtcbiAgICBASW5wdXQoKSBjYXJvdXNlbENvbmZpZyE6IEZpbGVzQ2Fyb3VzZWxDb25maWc7XG4gICAgQElucHV0KCkgaGFzQ3JvcDogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgaXNSb3VuZENyb3A6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBoYXNCbG9iVXJsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvL1RhZ3NcbiAgICBASW5wdXQoKSBvbmx5T25lVGFnRmlsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy9Ecm9wem9uZVxuICAgIEBJbnB1dCgpIGRyb3B6b25lQ29uZiE6IERyb3B6b25lQ29uZltdO1xuICAgIEBJbnB1dCgpIGRyb3B6b25lQ3VzdG9tV2lkdGghOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBpc1Zpc2libGVDcm9wQW5kRHJvcCE6IGJvb2xlYW47XG4gICAgLy9Dcm9wcGVyXG4gICAgQElucHV0KCkgaW5pdGlhbENyb3BwZXJQb3NpdGlvbiE6IENyb3BwZXJQb3NpdGlvbjtcbiAgICBASW5wdXQoKSBjb250YWluV2l0aGluQXNwZWN0UmF0aW86IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBhc3BlY3RSYXRpbzogbnVtYmVyW10gPSBbMSwgMV07XG5cbiAgICAvL1Jldmlld1xuICAgIEBJbnB1dCgpIHJldmlldyE6IFJldmlld0ZpbGVDb25maWc7XG5cbiAgICBASW5wdXQoKSBjb25maWdGaWxlITogRmlsZU9wdGlvbkNvbmZpZztcbiAgICBASW5wdXQoKSBzaXplOiBzdHJpbmcgPSBGaWxlc1NpemVFbnVtLlNNQUxMO1xuICAgIEBJbnB1dCgpIHNsaWRlV2lkdGg6IG51bWJlciA9IDE4MDtcblxuICAgIEBPdXRwdXQoKSBmaWxlQWRkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGU+KCk7XG5cbiAgICBwdWJsaWMgX2NvbmZpZyE6IEZpbGVPcHRpb25Db25maWc7XG4gICAgcHVibGljIGN1cnJlbnRTbGlkZTogbnVtYmVyID0gMDtcbiAgICBwdWJsaWMgaXNEcm9wem9uZVNob3duOiBib29sZWFuID0gdHJ1ZTtcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8vIEZpbGVzIGRhdGFcbiAgICBwdWJsaWMgX2ZpbGVzOiBGaWxlQ29uZmlnW10gPSBbXTtcbiAgICBASW5wdXQoKSBzZXQgZmlsZXMoZGF0YTogRmlsZUNvbmZpZ1tdKSB7XG4gICAgICAgIHRoaXMuX2ZpbGVzID0gWy4uLmRhdGFdO1xuICAgICAgICBpZiAodGhpcy5fY29uZmlnPy50eXBlID09IEZpbGVUeXBlc0VudW0uREVUQUlMUykge1xuICAgICAgICAgICAgdGhpcy5tb2RhbENhcm91c2VsPy5zbGlkZVRvRmlsZSgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmlsZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWxlcztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB1cGxvYWRGaWxlU2VydmljZTogQ2FVcGxvYWRGaWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XG4gICAgKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmliZVRvVXBsb2FkZWRGaWxlcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3Vic2NyaWJlVG9VcGxvYWRlZEZpbGVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwbG9hZEZpbGVTZXJ2aWNlLnVwbG9hZGVkRmlsZXMkXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiB7IGZpbGVzOiBGaWxlQ29uZmlnW107IGFjdGlvbjogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVXBsb2FkRmlsZXMoZGF0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjYXJvdXNlbEZpbGVDb25maWcoKTogRmlsZXNDYXJvdXNlbENvbmZpZyB7XG4gICAgICAgIHJldHVybiB7IC4uLnRoaXMuY2Fyb3VzZWxDb25maWcgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJldmlld0ZpbGVDb25maWcoKTogUmV2aWV3RmlsZUNvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnJldmlldztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhIC0gcmV0dXJuZWQgZGF0YSBmcm9tIGZpbGUgYWN0aW9uIChvbmUgb3IgbXVsdGlwbGUpXG4gICAgICovXG5cbiAgICBwdWJsaWMgb25GaWxlQWN0aW9uKGRhdGE6IHsgZmlsZTogRmlsZUNvbmZpZzsgYWN0aW9uOiBzdHJpbmcgfSk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKGRhdGEuYWN0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIERvY3VtZW50QWN0aW9uLlRBRzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uRmlsZUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICBmaWxlczogIXRoaXMub25seU9uZVRhZ0ZpbGUgPyB0aGlzLmZpbGVzIDogZGF0YS5maWxlLFxuICAgICAgICAgICAgICAgICAgICBhY3Rpb246IGRhdGEuYWN0aW9uLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIERvY3VtZW50QWN0aW9uLkRFTEVURTpcbiAgICAgICAgICAgICAgICBsZXQgaXNMYXN0RGVsZXRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsZXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5maWxlTmFtZSA9PT0gZGF0YS5maWxlLmZpbGVOYW1lICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAoaW5kZXggPT09IHRoaXMuZmlsZXMubGVuZ3RoIC0gMSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4ID09PSB0aGlzLmZpbGVzLmxlbmd0aCAtIDIpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNMYXN0RGVsZXRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZXMgPSB0aGlzLmZpbGVzLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgKGl0ZW0pID0+IGl0ZW0uZmlsZU5hbWUgIT09IGRhdGEuZmlsZS5maWxlTmFtZVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLm9uRmlsZUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICBmaWxlczogdGhpcy5maWxlcyxcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiBkYXRhLmFjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlSWQ6IGRhdGEuZmlsZVsnZmlsZUlkJ10gfHwgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U2xpZGUgPSB0aGlzLmZpbGVzLmxlbmd0aCAtIDE7XG5cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICh0aGlzLnNpemUgPT09IEZpbGVzU2l6ZUVudW0uTU9EQUxfTEFSR0UgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZXMubGVuZ3RoIDwgNCkgfHxcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuc2l6ZSA9PT0gRmlsZXNTaXplRW51bS5NT0RBTF9NRURJVU0gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZXMubGVuZ3RoIDwgMylcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RhbENhcm91c2VsLmN1cnJlbnRTbGlkZSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kYWxDYXJvdXNlbC50cmFuc2xhdGVYTXVsdGlwbGVTbGlkZXMgPSAwO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGFsQ2Fyb3VzZWwubXVsdGlwbGVDdXJyZW50U2xpZGUgPSAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5maWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U2xpZGUgPSAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpc0xhc3REZWxldGVkICYmIHRoaXMubW9kYWxDYXJvdXNlbCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYXJvdXNlbFNpemUgPSB0aGlzLm1vZGFsQ2Fyb3VzZWwuY2Fyb3VzZWxDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jdXN0b21DbGFzcyBhcyBGaWxlc1NpemVFbnVtO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzbGlkZVRvID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhcm91c2VsU2l6ZSA9PT0gRmlsZXNTaXplRW51bS5MQVJHRVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gM1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogY2Fyb3VzZWxTaXplID09PSBGaWxlc1NpemVFbnVtLk1FRElVTVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWxsb3dTbGlkZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAoY2Fyb3VzZWxTaXplID09PSBGaWxlc1NpemVFbnVtLkxBUkdFICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlcy5sZW5ndGggPiAyKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgKGNhcm91c2VsU2l6ZSA9PT0gRmlsZXNTaXplRW51bS5NRURJVU0gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVzLmxlbmd0aCA+IDEpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAoY2Fyb3VzZWxTaXplID09PSBGaWxlc1NpemVFbnVtLlNNQUxMICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlcy5sZW5ndGggPiAwKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoYWxsb3dTbGlkZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RhbENhcm91c2VsLnNsaWRlVG9GaWxlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZXMubGVuZ3RoIC0gc2xpZGVUb1xuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBEb2N1bWVudEFjdGlvbi5NQVJLX0lOQ09SUkVDVDpcbiAgICAgICAgICAgICAgICBsZXQgaW5jb3JyZWN0SW5keDogbnVtYmVyID0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbGVzLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmZpbGVOYW1lID09PSBkYXRhLmZpbGUuZmlsZU5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluY29ycmVjdEluZHggPSBpbmRleDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5vbkZpbGVFdmVudC5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgZmlsZXM6IHRoaXMuZmlsZXMsXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbjogZGF0YS5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmNvcnJlY3RJbmR4LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIERvY3VtZW50QWN0aW9uLk1BUktfQ09SUkVDVDpcbiAgICAgICAgICAgICAgICBsZXQgY29ycmVjdEluZHg6IG51bWJlciA9IDA7XG4gICAgICAgICAgICAgICAgdGhpcy5maWxlcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS5maWxlTmFtZSA9PT0gZGF0YS5maWxlLmZpbGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb3JyZWN0SW5keCA9IGluZGV4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLm9uRmlsZUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICBmaWxlczogdGhpcy5maWxlcyxcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiBkYXRhLmFjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGNvcnJlY3RJbmR4LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uVXBsb2FkRmlsZXMoZGF0YTogeyBmaWxlczogRmlsZUNvbmZpZ1tdOyBhY3Rpb246IHN0cmluZyB9KTogdm9pZCB7XG4gICAgICAgIGlmIChkYXRhLmFjdGlvbiA9PT0gJ2FkZCcgJiYgdGhpcy5oYXNDcm9wICYmIHRoaXMuZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCB1cGxvYWRlZEZpbGVzID0gWy4uLmRhdGEuZmlsZXNdO1xuICAgICAgICAgICAgaWYgKHRoaXMuaGFzQ3JvcCkgdGhpcy5pc0Ryb3B6b25lU2hvd24gPSB0cnVlO1xuXG4gICAgICAgICAgICB1cGxvYWRlZEZpbGVzLmZvckVhY2goKG5ld0ZpbGUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBleGlzdGluZ0ZpbGVJbmRleCA9IHRoaXMuZmlsZXMuZmluZEluZGV4KFxuICAgICAgICAgICAgICAgICAgICAoZXhpc3RpbmdGaWxlKSA9PiBleGlzdGluZ0ZpbGUudXJsXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGlmIChleGlzdGluZ0ZpbGVJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlc1tleGlzdGluZ0ZpbGVJbmRleF0gPSBuZXdGaWxlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVBZGRlZC5lbWl0KG5ld0ZpbGUudXJsKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgICAgICAgICBgRmlsZSAke25ld0ZpbGUuZmlsZU5hbWV9IHRvIHJlcGxhY2Ugbm90IGZvdW5kYFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLm9uRmlsZUV2ZW50LmVtaXQoeyBmaWxlczogW10sIGFjdGlvbjogJ2FkZCcgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGF0YS5hY3Rpb24gPT09ICdhZGQnKSB7XG4gICAgICAgICAgICBjb25zdCB1cGxvYWRlZEZpbGVzID0gWy4uLmRhdGEuZmlsZXNdO1xuXG4gICAgICAgICAgICBjb25zdCB1bmlxdWVGaWxlcyA9IHVwbG9hZGVkRmlsZXMuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChmaWxlKSA9PlxuICAgICAgICAgICAgICAgICAgICAhdGhpcy5maWxlcy5zb21lKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGV4aXN0aW5nRmlsZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGlzdGluZ0ZpbGUuZmlsZU5hbWUgPT09IGZpbGUuZmlsZU5hbWVcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZmlsZXMgPSBbLi4ubmV3IFNldChbLi4udGhpcy5maWxlcywgLi4udW5pcXVlRmlsZXNdKV07XG5cbiAgICAgICAgICAgIHVuaXF1ZUZpbGVzLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbGVBZGRlZC5lbWl0KGZpbGUucmVhbEZpbGUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0Nyb3ApIHRoaXMuaXNEcm9wem9uZVNob3duID0gZmFsc2U7XG4gICAgICAgICAgICBlbHNlIHRoaXMub25GaWxlRXZlbnQuZW1pdCh7IGZpbGVzOiB0aGlzLmZpbGVzLCBhY3Rpb246ICdhZGQnIH0pO1xuXG4gICAgICAgICAgICAvLyAgY2Fyb3VzZWxcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGFsQ2Fyb3VzZWwpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjYXJvdXNlbFNpemUgPSB0aGlzLm1vZGFsQ2Fyb3VzZWwuY2Fyb3VzZWxDb25maWdcbiAgICAgICAgICAgICAgICAgICAgLmN1c3RvbUNsYXNzIGFzIEZpbGVzU2l6ZUVudW07XG5cbiAgICAgICAgICAgICAgICBjb25zdCBzbGlkZVRvID1cbiAgICAgICAgICAgICAgICAgICAgY2Fyb3VzZWxTaXplID09PSBGaWxlc1NpemVFbnVtLkxBUkdFXG4gICAgICAgICAgICAgICAgICAgICAgICA/IDNcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY2Fyb3VzZWxTaXplID09PSBGaWxlc1NpemVFbnVtLk1FRElVTVxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IDJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgYWxsb3dTbGlkZSA9XG4gICAgICAgICAgICAgICAgICAgIChjYXJvdXNlbFNpemUgPT09IEZpbGVzU2l6ZUVudW0uTEFSR0UgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZXMubGVuZ3RoID4gMikgfHxcbiAgICAgICAgICAgICAgICAgICAgKGNhcm91c2VsU2l6ZSA9PT0gRmlsZXNTaXplRW51bS5NRURJVU0gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZXMubGVuZ3RoID4gMSkgfHxcbiAgICAgICAgICAgICAgICAgICAgKGNhcm91c2VsU2l6ZSA9PT0gRmlsZXNTaXplRW51bS5TTUFMTCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlcy5sZW5ndGggPiAwKTtcblxuICAgICAgICAgICAgICAgIGlmIChhbGxvd1NsaWRlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kYWxDYXJvdXNlbC5zbGlkZVRvRmlsZSh0aGlzLmZpbGVzLmxlbmd0aCAtIHNsaWRlVG8pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChkYXRhLmFjdGlvbiA9PT0gJ3JlcGxhY2UnKSB7XG4gICAgICAgICAgICBjb25zdCB1cGxvYWRlZEZpbGVzID0gWy4uLmRhdGEuZmlsZXNdO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNDcm9wKSB0aGlzLmlzRHJvcHpvbmVTaG93biA9IHRydWU7XG5cbiAgICAgICAgICAgIHVwbG9hZGVkRmlsZXMuZm9yRWFjaCgobmV3RmlsZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nRmlsZUluZGV4ID0gdGhpcy5maWxlcy5maW5kSW5kZXgoXG4gICAgICAgICAgICAgICAgICAgIChleGlzdGluZ0ZpbGUpID0+IGV4aXN0aW5nRmlsZS51cmxcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgaWYgKGV4aXN0aW5nRmlsZUluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBSZXBsYWNlIHRoZSBleGlzdGluZyBmaWxlIGF0IHRoZSBmb3VuZCBpbmRleFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVzW2V4aXN0aW5nRmlsZUluZGV4XSA9IG5ld0ZpbGU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gRW1pdCB0aGUgbmV3IGZpbGUgdGhhdCByZXBsYWNlZCB0aGUgb2xkIG9uZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVBZGRlZC5lbWl0KG5ld0ZpbGUudXJsKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgICAgICAgICBgRmlsZSAke25ld0ZpbGUuZmlsZU5hbWV9IHRvIHJlcGxhY2Ugbm90IGZvdW5kYFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLm9uRmlsZUV2ZW50LmVtaXQoeyBmaWxlczogdGhpcy5maWxlcywgYWN0aW9uOiAnYWRkJyB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChkYXRhLmFjdGlvbiA9PT0gJ2RlbGV0ZScpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0Nyb3ApIHRoaXMuaXNEcm9wem9uZVNob3duID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZmlsZXMuc3BsaWNlKDAsIHRoaXMuZmlsZXMubGVuZ3RoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwdWJsaWMgZG9jdW1lbnRSZXZpZXdJbnB1dEV2ZW50TWV0aG9kKGRhdGE6IHtcbiAgICAgICAgZmlsZTogRmlsZUNvbmZpZztcbiAgICAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kb2N1bWVudFJldmlld0lucHV0RXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBmaWxlOiBkYXRhLmZpbGUsXG4gICAgICAgICAgICBtZXNzYWdlOiBkYXRhLm1lc3NhZ2UsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBkb3dubG9hZEZpbGUoZmlsZVVybDogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaHR0cC5nZXQoZmlsZVVybCwgeyByZXNwb25zZVR5cGU6ICdibG9iJyB9KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoZmlsZUJsb2I6IEJsb2IpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhbmNob3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iamVjdFVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZUJsb2IpO1xuICAgICAgICAgICAgICAgIGFuY2hvckVsZW1lbnQuaHJlZiA9IG9iamVjdFVybDtcbiAgICAgICAgICAgICAgICBhbmNob3JFbGVtZW50LmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgICAgICAgICAgYW5jaG9yRWxlbWVudC5jbGljaygpO1xuXG4gICAgICAgICAgICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChvYmplY3RVcmwpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIChkb3dubG9hZEVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZG93bmxvYWRpbmcgZmlsZTonLCBkb3dubG9hZEVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25MYW5kc2NhcGVDaGVjayhsYW5kc2NhcGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGxhbmRzY2FwZSlcbiAgICAgICAgICAgIHRoaXMuY29uZmlnRmlsZS5jdXN0b21DbGFzc05hbWUgPSAnbGFuZHNjYXBlLWRldGFpbHMtdmlldyc7XG4gICAgfVxuXG4gICAgcHVibGljIGRyb3Bab25lQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wem9uZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGZpbGVIb3ZlcihmaWxlOiBGaWxlQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ0ZpbGUuY3VzdG9tQ2xhc3NOYW1lID09PSAnbW9kYWxzJykge1xuICAgICAgICAgICAgbGV0IGNoZWNrQnlJZCA9IGZpbGU/LnJlYWxGaWxlID8gZmFsc2UgOiB0cnVlO1xuICAgICAgICAgICAgdGhpcy5maWxlcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgKGNoZWNrQnlJZCAmJiBmaWxlPy5maWxlSWQgPT09IGl0ZW0uZmlsZUlkKSB8fFxuICAgICAgICAgICAgICAgICAgICAoIWNoZWNrQnlJZCAmJiBmaWxlLnJlYWxGaWxlPy5uYW1lID09PSBpdGVtLnJlYWxGaWxlPy5uYW1lKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZGVkRmlsZXNbJ19yZXN1bHRzJ11baW5kZXhdLnVwZGF0ZUhvdmVyKHRydWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkZWRGaWxlc1snX3Jlc3VsdHMnXVtpbmRleF0udXBkYXRlSG92ZXIoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGhvdmVyQXJyb3cobW9kOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsZXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkZWRGaWxlc1snX3Jlc3VsdHMnXVtpbmRleF0uaG92ZXJBcnJvdyhtb2QpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpZGVudGl0eShpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInRhLXVwbG9hZCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHt7IGNvbmZpZ0ZpbGUuY3VzdG9tQ2xhc3NOYW1lIH19XCJcbiAgICBbbmdDbGFzc109XCJcbiAgICAgICAgZmlsZXM/Lmxlbmd0aFxuICAgICAgICAgICAgfCB1cGxvYWRDbGFzc1xuICAgICAgICAgICAgICAgIDogY2Fyb3VzZWxDb25maWcuc2l6ZVxuICAgICAgICAgICAgICAgIDogcmV2aWV3LmlzUmV2aWV3XG4gICAgICAgICAgICAgICAgOiBzbGlkZXIuZG9udFVzZVNsaWRlclxuICAgIFwiXG4+XG4gICAgPCEtLSBDYXJvdXNlbCBGaWxlcyAtLT5cbiAgICBAaWYgKGZpbGVzPy5sZW5ndGggJiYgIXNsaWRlci5kb250VXNlU2xpZGVyICYmICFoYXNDcm9wKSB7XG4gICAgICAgIDxhcHAtY2EtdXBsb2FkLWZpbGVzLWNhcm91c2VsXG4gICAgICAgICAgICBbY29uZmlnXT1cImNhcm91c2VsRmlsZUNvbmZpZ1wiXG4gICAgICAgICAgICAoYWN0aXZlU2xpZGUpPVwiY3VycmVudFNsaWRlID0gJGV2ZW50XCJcbiAgICAgICAgICAgIFtzbGlkZVdpZHRoXT1cInNsaWRlV2lkdGhcIlxuICAgICAgICAgICAgKGhvdmVyQXJyb3dFbWl0KT1cImhvdmVyQXJyb3coJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpbGUgb2YgZmlsZXM7IHRyYWNrQnk6IGlkZW50aXR5XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhLXVwbG9hZC1jYXJvdXNlbC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtY2EtdXBsb2FkLWZpbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjdXBsb2FkZWRGaWxlc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnRmlsZSB8IG1hcEZpbGU6IGZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXZpZXdGaWxlQ29uZmlnXT1cInJldmlld0ZpbGVDb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaWxlSG92ZXIpPVwiZmlsZUhvdmVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaWxlQWN0aW9uKT1cIm9uRmlsZUFjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGFuZHNjYXBlQ2hlY2spPVwib25MYW5kc2NhcGVDaGVjaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZG9jdW1lbnRSZXZpZXdJbnB1dEV2ZW50KT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudFJldmlld0lucHV0RXZlbnRNZXRob2QoJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9hcHAtY2EtdXBsb2FkLWZpbGU+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYXBwLWNhLXVwbG9hZC1maWxlcy1jYXJvdXNlbD5cbiAgICB9XG5cbiAgICBAaWYgKHNsaWRlci5kb250VXNlU2xpZGVyICYmICFoYXNDcm9wKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkb2N1bWVudHNfaG9sZGVyXCI+XG4gICAgICAgICAgICA8YXBwLWNhLXVwbG9hZC1kcm9wem9uZVxuICAgICAgICAgICAgICAgIFtjb25maWddPVwiZHJvcHpvbmVDb25mXCJcbiAgICAgICAgICAgICAgICAob25GaWxlRXZlbnQpPVwib25VcGxvYWRGaWxlcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoY2xvc2VEcm9wem9uZSk9XCJkcm9wWm9uZUNsb3NlKClcIlxuICAgICAgICAgICAgPjwvYXBwLWNhLXVwbG9hZC1kcm9wem9uZT5cbiAgICAgICAgICAgIEBmb3IgKGZpbGUgb2YgZmlsZXM7IHRyYWNrIGlkZW50aXR5KSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhLXVwbG9hZC1jYXJvdXNlbC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtY2EtdXBsb2FkLWZpbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ0ZpbGUgfCBtYXBGaWxlOiBmaWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmV2aWV3RmlsZUNvbmZpZ109XCJyZXZpZXdGaWxlQ29uZmlnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZUFjdGlvbik9XCJvbkZpbGVBY3Rpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxhbmRzY2FwZUNoZWNrKT1cIm9uTGFuZHNjYXBlQ2hlY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRvY3VtZW50UmV2aWV3SW5wdXRFdmVudCk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRSZXZpZXdJbnB1dEV2ZW50TWV0aG9kKCRldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvYXBwLWNhLXVwbG9hZC1maWxlPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPCEtLSBJbWFnZSBDcm9wIFRlbXBsYXRlIC0tPlxuXG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNwbGl0LWNyb3AtaG9sZGVyXCJcbiAgICAgICAgW2NsYXNzLnNwbGl0XT1cImlzRHJvcHpvbmVTaG93blwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hpZGRlbi1kcm9wJzogIWlzVmlzaWJsZUNyb3BBbmREcm9wIH1cIlxuICAgID5cbiAgICAgICAgQGlmIChoYXNDcm9wICYmIGZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgQGZvciAoZmlsZSBvZiBmaWxlczsgdHJhY2sgaWRlbnRpdHkpIHtcbiAgICAgICAgICAgICAgICA8YXBwLWNhLWxvZ28tY2hhbmdlXG4gICAgICAgICAgICAgICAgICAgIFtoYXNCbG9iVXJsXT1cImhhc0Jsb2JVcmxcIlxuICAgICAgICAgICAgICAgICAgICBbaW1hZ2VUb0Nyb3BdPVwiZmlsZT8udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzUm91bmRDcm9wcGVyXT1cImlzUm91bmRDcm9wXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzRHJvcHpvbmVTaG93bl09XCJpc0Ryb3B6b25lU2hvd25cIlxuICAgICAgICAgICAgICAgICAgICBbaW5pdGlhbENyb3BwZXJQb3NpdGlvbl09XCJpbml0aWFsQ3JvcHBlclBvc2l0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5XaXRoaW5Bc3BlY3RSYXRpb109XCJjb250YWluV2l0aGluQXNwZWN0UmF0aW9cIlxuICAgICAgICAgICAgICAgICAgICBbYXNwZWN0UmF0aW9dPVwiYXNwZWN0UmF0aW9cIlxuICAgICAgICAgICAgICAgICAgICBbY3VzdG9tV2lkdGhdPVwiZHJvcHpvbmVDdXN0b21XaWR0aFwiXG4gICAgICAgICAgICAgICAgICAgIChzZW5kSW1hZ2VEYXRhKT1cIm9uVXBsb2FkRmlsZXMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvYXBwLWNhLWxvZ28tY2hhbmdlPlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic3BsaXQtY3JvcC1ob2xkZXJcIlxuICAgICAgICBbY2xhc3Muc3BsaXRdPVwiaGFzQ3JvcCAmJiBmaWxlcy5sZW5ndGggJiYgaXNEcm9wem9uZVNob3duXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnaGlkZGVuLWRyb3AnOiAhaXNWaXNpYmxlQ3JvcEFuZERyb3AgfVwiXG4gICAgPlxuICAgICAgICBAaWYgKGlzRHJvcHpvbmVTaG93bikge1xuICAgICAgICAgICAgPGFwcC1jYS11cGxvYWQtZHJvcHpvbmVcbiAgICAgICAgICAgICAgICBbY29uZmlnXT1cImRyb3B6b25lQ29uZlwiXG4gICAgICAgICAgICAgICAgW2N1c3RvbVdpZHRoXT1cImRyb3B6b25lQ3VzdG9tV2lkdGhcIlxuICAgICAgICAgICAgICAgIFtpc0Ryb3B6b25lU2hvd25JbkNyb3BdPVwiXG4gICAgICAgICAgICAgICAgICAgIGhhc0Nyb3AgJiYgISFmaWxlcy5sZW5ndGggJiYgaXNEcm9wem9uZVNob3duXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAob25GaWxlRXZlbnQpPVwib25VcGxvYWRGaWxlcygkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2FwcC1jYS11cGxvYWQtZHJvcHpvbmU+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|