@seniorsistemas/angular-components 19.9.3 → 19.9.4
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/checkbox/lib/checkbox/checkbox.component.d.ts +1 -6
- package/checkbox-list/lib/checkbox-list/checkbox-list.component.d.ts +8 -0
- package/content-generator/lib/content-generator/content-generator.component.d.ts +2 -2
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +2 -0
- package/drawer/README.md +9 -2
- package/drawer/lib/drawer/drawer.component.d.ts +12 -1
- package/editor/lib/editor/editor.component.d.ts +1 -1
- package/esm2022/button/lib/button/button.component.mjs +3 -3
- package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +3 -9
- package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +17 -5
- package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +9 -8
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +18 -3
- package/esm2022/drawer/lib/drawer/drawer.component.mjs +33 -11
- package/esm2022/drawer/lib/drawer/drawer.module.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/checkbox/checkbox-field.component.mjs +4 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +3 -3
- package/esm2022/editor/lib/editor/editor.component.mjs +8 -8
- package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +4 -4
- package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +4 -4
- package/esm2022/global-search/lib/global-search/global-search.module.mjs +2 -2
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +3 -3
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.mjs +2 -3
- package/esm2022/paginator/lib/models/paginator.models.mjs +1 -1
- package/esm2022/paginator/lib/paginator/paginator.component.mjs +19 -13
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +19 -8
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.mjs +3 -4
- package/esm2022/select/lib/select/select.component.mjs +3 -3
- package/esm2022/side-sheet/lib/side-sheet/side-sheet.component.mjs +6 -5
- package/esm2022/slider/lib/slider/slider.component.mjs +3 -3
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +54 -8
- package/esm2022/star-rating/star-rating/star-rating.component.mjs +3 -3
- package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +14 -21
- package/esm2022/text-area/lib/text-area/text-area.component.mjs +3 -3
- package/esm2022/tooltip/lib/tooltip/tooltip.directive.mjs +3 -2
- package/esm2022/utils/lib/utils/utils.mjs +49 -3
- package/fesm2022/seniorsistemas-angular-components-button.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +16 -4
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +2 -8
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +8 -6
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +17 -2
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-drawer.mjs +32 -9
- package/fesm2022/seniorsistemas-angular-components-drawer.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +16 -16
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-editor.mjs +7 -7
- package/fesm2022/seniorsistemas-angular-components-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +3 -3
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +3 -3
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +3 -4
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs +18 -12
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +20 -9
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs +5 -4
- package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slider.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +53 -7
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs +13 -20
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +2 -1
- package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-utils.mjs +49 -3
- package/fesm2022/seniorsistemas-angular-components-utils.mjs.map +1 -1
- package/global-search/lib/global-search/global-search.module.d.ts +1 -1
- package/package.json +7 -9
- package/paginator/lib/models/paginator.models.d.ts +1 -0
- package/paginator/lib/paginator/paginator.component.d.ts +3 -1
- package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +3 -1
- package/side-sheet/README.md +4 -4
- package/side-sheet/lib/side-sheet/side-sheet.component.d.ts +1 -0
- package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +2 -1
- package/table-header/lib/table-header/table-header-checkbox.component.d.ts +1 -4
- package/utils/lib/utils/utils.d.ts +21 -0
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { Component, ElementRef, EventEmitter, forwardRef, HostListener, Input, Output, ViewChild, inject, } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import { TranslateService, TranslatePipe } from '@ngx-translate/core';
|
|
4
|
-
import { ConfirmationService } from 'primeng/api';
|
|
5
4
|
import { isNullOrUndefined } from '@seniorsistemas/angular-components/utils';
|
|
6
5
|
import { ImageCropperService } from '@seniorsistemas/angular-components/image-cropper';
|
|
7
|
-
import {
|
|
6
|
+
import { ConfirmDialogService } from '@seniorsistemas/angular-components/confirm-dialog';
|
|
8
7
|
import { ThumbnailComponent } from '@seniorsistemas/angular-components/thumbnail';
|
|
9
8
|
import { ButtonComponent } from '@seniorsistemas/angular-components/button';
|
|
10
9
|
import * as i0 from "@angular/core";
|
|
@@ -29,7 +28,7 @@ import * as i0 from "@angular/core";
|
|
|
29
28
|
*/
|
|
30
29
|
export class ProfilePicturePickerComponent {
|
|
31
30
|
imageCropperService = inject(ImageCropperService);
|
|
32
|
-
|
|
31
|
+
confirmDialogService = inject(ConfirmDialogService);
|
|
33
32
|
translateService = inject(TranslateService);
|
|
34
33
|
/**
|
|
35
34
|
* @description Título simples exibido quando nenhuma imagem está selecionada.
|
|
@@ -122,6 +121,7 @@ export class ProfilePicturePickerComponent {
|
|
|
122
121
|
get imageBase64() {
|
|
123
122
|
return typeof this.image === 'string' ? this.image : (this.image?.base64 ?? '');
|
|
124
123
|
}
|
|
124
|
+
disabled = false;
|
|
125
125
|
_onChange;
|
|
126
126
|
_onTouched;
|
|
127
127
|
writeValue(value) {
|
|
@@ -133,6 +133,9 @@ export class ProfilePicturePickerComponent {
|
|
|
133
133
|
registerOnTouched(onTouched) {
|
|
134
134
|
this._onTouched = onTouched;
|
|
135
135
|
}
|
|
136
|
+
setDisabledState(isDisabled) {
|
|
137
|
+
this.disabled = isDisabled;
|
|
138
|
+
}
|
|
136
139
|
ngOnInit() {
|
|
137
140
|
this._normalizeSuportedExtensions();
|
|
138
141
|
}
|
|
@@ -147,6 +150,9 @@ export class ProfilePicturePickerComponent {
|
|
|
147
150
|
onDrop(event) {
|
|
148
151
|
event.preventDefault();
|
|
149
152
|
event.stopPropagation();
|
|
153
|
+
if (this.disabled) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
150
156
|
this._onTouched?.();
|
|
151
157
|
const files = [];
|
|
152
158
|
const dataTransferFiles = event.dataTransfer?.files;
|
|
@@ -175,13 +181,19 @@ export class ProfilePicturePickerComponent {
|
|
|
175
181
|
}
|
|
176
182
|
}
|
|
177
183
|
selectPhoto() {
|
|
184
|
+
if (this.disabled) {
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
178
187
|
const fileInputElement = this.fileInput?.nativeElement;
|
|
179
188
|
fileInputElement.value = '';
|
|
180
189
|
fileInputElement.click();
|
|
181
190
|
this._onTouched?.();
|
|
182
191
|
}
|
|
183
192
|
removePhoto() {
|
|
184
|
-
this.
|
|
193
|
+
if (this.disabled) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
this.confirmDialogService.confirm({
|
|
185
197
|
message: this.confirmationTexts?.removalMessage ??
|
|
186
198
|
this.translateService.instant('platform.angular_components.confirmation_remove_image'),
|
|
187
199
|
acceptLabel: this.confirmationTexts?.removalAcceptLabel ??
|
|
@@ -190,7 +202,6 @@ export class ProfilePicturePickerComponent {
|
|
|
190
202
|
this.translateService.instant('platform.angular_components.cancel'),
|
|
191
203
|
header: this.confirmationTexts?.removalHeader ??
|
|
192
204
|
this.translateService.instant('platform.angular_components.remove_image'),
|
|
193
|
-
rejectButtonStyleClass: 'ui-button-secondary',
|
|
194
205
|
accept: () => {
|
|
195
206
|
const fileInputElement = this.fileInput?.nativeElement;
|
|
196
207
|
fileInputElement.value = '';
|
|
@@ -284,7 +295,7 @@ export class ProfilePicturePickerComponent {
|
|
|
284
295
|
useExisting: forwardRef(() => ProfilePicturePickerComponent),
|
|
285
296
|
multi: true,
|
|
286
297
|
},
|
|
287
|
-
], viewQueries: [{ propertyName: "uploadPicture", first: true, predicate: ["uploadPicture"], descendants: true }, { propertyName: "info", first: true, predicate: ["info"], descendants: true }, { propertyName: "thumbnail", first: true, predicate: ["thumbnail"], descendants: true, read: ElementRef }, { propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, read: ElementRef }], ngImport: i0, template: "<
|
|
298
|
+
], viewQueries: [{ propertyName: "uploadPicture", first: true, predicate: ["uploadPicture"], descendants: true }, { propertyName: "info", first: true, predicate: ["info"], descendants: true }, { propertyName: "thumbnail", first: true, predicate: ["thumbnail"], descendants: true, read: ElementRef }, { propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, read: ElementRef }], ngImport: i0, template: "<input\n #fileInput\n [accept]=\"accept\"\n [disabled]=\"disabled\"\n class=\"file-input\"\n type=\"file\"\n (change)=\"photoSelected($event)\"\n/>\n<div\n #uploadPicture\n class=\"upload-picture\"\n [class.upload-picture--disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n>\n <s-thumbnail\n #thumbnail\n iconClass=\"far fa-user\"\n [imageSource]=\"imageBase64\"\n [hasAction]=\"!image\"\n (click)=\"selectPhoto()\"\n >\n </s-thumbnail>\n <div\n #info\n class=\"info\"\n >\n @if (image) {\n <div class=\"buttons\">\n <s-button\n [label]=\"changeButtonLabel || 'platform.angular_components.change_photo' | translate\"\n priority=\"primary\"\n [disabled]=\"disabled\"\n (clicked)=\"selectPhoto()\"\n >\n </s-button>\n <s-button\n [label]=\"removeButtonLabel || 'platform.angular_components.remove' | translate\"\n priority=\"secondary\"\n [disabled]=\"disabled\"\n (clicked)=\"removePhoto()\"\n >\n </s-button>\n </div>\n } @else {\n <p class=\"title\">\n {{ simpleTitle || 'platform.angular_components.drag_your_photo_or' | translate }}\n <span\n class=\"action-title\"\n (click)=\"selectPhoto()\"\n >\n {{ actionTitle || 'platform.angular_components.select_a_file' | translate }}\n </span>\n </p>\n }\n <p class=\"subtitle\">{{ subtitle }}</p>\n </div>\n</div>\n", styles: [".file-input{display:none}.upload-picture{display:flex;flex-wrap:wrap}.upload-picture--disabled{opacity:.5;pointer-events:none}.upload-picture .info{display:flex;flex-direction:column;padding:12px 20px;align-items:flex-start}.upload-picture .info .title{font-family:Open Sans,sans-serif;font-weight:700;font-size:.875rem;line-height:150%;color:#333}.upload-picture .info .title .action-title{cursor:pointer;color:#428bca}.upload-picture .info .buttons{display:flex;gap:8px}.upload-picture .info .buttons s-button{margin:0}.upload-picture .info .subtitle{padding:6px 0;font-family:Open Sans,sans-serif;font-weight:400;font-size:.75rem;line-height:150%;color:#697882;text-align:center}.upload-picture--small .info{align-items:center}.upload-picture--small .info .title,.upload-picture--small .info .subtitle{text-align:center}.upload-picture--small .info .buttons{justify-content:center;flex-wrap:wrap}\n"], dependencies: [{ kind: "component", type: ThumbnailComponent, selector: "s-thumbnail", inputs: ["id", "size", "imageSource", "imageFallback", "imageAlt", "iconClass", "hasAction", "actionIconClass", "isTile", "isBrand"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel", "ariaLabel"], outputs: ["clicked"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
288
299
|
}
|
|
289
300
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProfilePicturePickerComponent, decorators: [{
|
|
290
301
|
type: Component,
|
|
@@ -294,7 +305,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
294
305
|
useExisting: forwardRef(() => ProfilePicturePickerComponent),
|
|
295
306
|
multi: true,
|
|
296
307
|
},
|
|
297
|
-
], standalone: true, imports: [
|
|
308
|
+
], standalone: true, imports: [ThumbnailComponent, ButtonComponent, TranslatePipe], template: "<input\n #fileInput\n [accept]=\"accept\"\n [disabled]=\"disabled\"\n class=\"file-input\"\n type=\"file\"\n (change)=\"photoSelected($event)\"\n/>\n<div\n #uploadPicture\n class=\"upload-picture\"\n [class.upload-picture--disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n>\n <s-thumbnail\n #thumbnail\n iconClass=\"far fa-user\"\n [imageSource]=\"imageBase64\"\n [hasAction]=\"!image\"\n (click)=\"selectPhoto()\"\n >\n </s-thumbnail>\n <div\n #info\n class=\"info\"\n >\n @if (image) {\n <div class=\"buttons\">\n <s-button\n [label]=\"changeButtonLabel || 'platform.angular_components.change_photo' | translate\"\n priority=\"primary\"\n [disabled]=\"disabled\"\n (clicked)=\"selectPhoto()\"\n >\n </s-button>\n <s-button\n [label]=\"removeButtonLabel || 'platform.angular_components.remove' | translate\"\n priority=\"secondary\"\n [disabled]=\"disabled\"\n (clicked)=\"removePhoto()\"\n >\n </s-button>\n </div>\n } @else {\n <p class=\"title\">\n {{ simpleTitle || 'platform.angular_components.drag_your_photo_or' | translate }}\n <span\n class=\"action-title\"\n (click)=\"selectPhoto()\"\n >\n {{ actionTitle || 'platform.angular_components.select_a_file' | translate }}\n </span>\n </p>\n }\n <p class=\"subtitle\">{{ subtitle }}</p>\n </div>\n</div>\n", styles: [".file-input{display:none}.upload-picture{display:flex;flex-wrap:wrap}.upload-picture--disabled{opacity:.5;pointer-events:none}.upload-picture .info{display:flex;flex-direction:column;padding:12px 20px;align-items:flex-start}.upload-picture .info .title{font-family:Open Sans,sans-serif;font-weight:700;font-size:.875rem;line-height:150%;color:#333}.upload-picture .info .title .action-title{cursor:pointer;color:#428bca}.upload-picture .info .buttons{display:flex;gap:8px}.upload-picture .info .buttons s-button{margin:0}.upload-picture .info .subtitle{padding:6px 0;font-family:Open Sans,sans-serif;font-weight:400;font-size:.75rem;line-height:150%;color:#697882;text-align:center}.upload-picture--small .info{align-items:center}.upload-picture--small .info .title,.upload-picture--small .info .subtitle{text-align:center}.upload-picture--small .info .buttons{justify-content:center;flex-wrap:wrap}\n"] }]
|
|
298
309
|
}], propDecorators: { simpleTitle: [{
|
|
299
310
|
type: Input
|
|
300
311
|
}], actionTitle: [{
|
|
@@ -353,4 +364,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
353
364
|
type: HostListener,
|
|
354
365
|
args: ['window:resize']
|
|
355
366
|
}] } });
|
|
356
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvcHJvZmlsZS1waWN0dXJlLXBpY2tlci9zcmMvbGliL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIvcHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvcHJvZmlsZS1waWN0dXJlLXBpY2tlci9zcmMvbGliL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIvcHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7QUFFNUU7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQWVI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QyxZQUFZO3NCQURsQixNQUFNO2dCQVFBLFdBQVc7c0JBRGpCLE1BQU07Z0JBT0EsWUFBWTtzQkFEbEIsTUFBTTtnQkFTQSxXQUFXO3NCQURqQixNQUFNO2dCQTJCQSxVQUFVO3NCQURoQixZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPN0IsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTzlCLE1BQU07c0JBRFosWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBd0J6QixRQUFRO3NCQURkLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgZm9yd2FyZFJlZixcclxuICAgIEhvc3RMaXN0ZW5lcixcclxuICAgIElucHV0LFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgaW5qZWN0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlLCBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblRleHRzLCBDcm9wcGVyTGFiZWxzQ29uZmlnLCBGaWxlVmFsaWRhdGlvbkVycm9ycywgUHJvZmlsZVBpY3R1cmVQaWNrZXJEYXRhIH0gZnJvbSAnLi9tb2RlbHMvaW5kZXgnO1xyXG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdXRpbHMnO1xyXG5pbXBvcnQgeyBJbWFnZUNyb3BwZXJTZXJ2aWNlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9pbWFnZS1jcm9wcGVyJztcclxuaW1wb3J0IHsgQ29uZmlybURpYWxvZyB9IGZyb20gJ3ByaW1lbmcvY29uZmlybWRpYWxvZyc7XHJcbmltcG9ydCB7IFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdGh1bWJuYWlsJztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9idXR0b24nO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIHBhcmEgc2VsZcOnw6NvLCBlZGnDp8OjbyBlIHJlbW/Dp8OjbyBkZSBmb3RvIGRlIHBlcmZpbCBkbyB1c3XDoXJpby5cclxuICogUGVybWl0ZSBhbyB1c3XDoXJpbyBmYXplciB1cGxvYWQgZGUgdW1hIGltYWdlbSwgcmVjb3J0w6EtbGEgY29tIG8ge0BsaW5rIEltYWdlQ3JvcHBlclNlcnZpY2V9XHJcbiAqIGUgY29uZmlybWFyIG91IHJlbW92ZXIgYSBmb3RvIGF0dWFsLiBJbXBsZW1lbnRhIHtAbGluayBDb250cm9sVmFsdWVBY2Nlc3Nvcn0gcGFyYSB1c29cclxuICogZW0gZm9ybXVsw6FyaW9zIHJlYXRpdm9zIGUgdGVtcGxhdGUtZHJpdmVuIGRvIEFuZ3VsYXIuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPHMtcHJvZmlsZS1waWN0dXJlLXBpY2tlclxyXG4gKiAgIGZvcm1Db250cm9sTmFtZT1cImF2YXRhclwiXHJcbiAqICAgc3VidGl0bGU9XCJGb3JtYXRvcyBhY2VpdG9zOiBKUEcgZSBQTkdcIlxyXG4gKiAgIFttYXhGaWxlU2l6ZV09XCIyMDk3MTUyXCJcclxuICogICBhY2NlcHQ9XCJpbWFnZS9qcGVnLGltYWdlL3BuZ1wiXHJcbiAqICAgKGltYWdlQ2hhbmdlKT1cIm9uSW1hZ2VDaGFuZ2UoJGV2ZW50KVwiXHJcbiAqICAgKHJlbW92ZWRJbWFnZSk9XCJvbkltYWdlUmVtb3ZlZCgpXCIgLz5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBJbnB1dHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzLXByb2ZpbGUtcGljdHVyZS1waWNrZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdwcm9maWxlLXBpY3R1cmUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWydwcm9maWxlLXBpY3R1cmUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQcm9maWxlUGljdHVyZVBpY2tlckNvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtDb25maXJtRGlhbG9nLCBUaHVtYm5haWxDb21wb25lbnQsIEJ1dHRvbkNvbXBvbmVudCwgVHJhbnNsYXRlUGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9maWxlUGljdHVyZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbWFnZUNyb3BwZXJTZXJ2aWNlID0gaW5qZWN0KEltYWdlQ3JvcHBlclNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maXJtYXRpb25TZXJ2aWNlID0gaW5qZWN0KENvbmZpcm1hdGlvblNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIFTDrXR1bG8gc2ltcGxlcyBleGliaWRvIHF1YW5kbyBuZW5odW1hIGltYWdlbSBlc3TDoSBzZWxlY2lvbmFkYS5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaW1wbGVUaXRsZSE6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBUw610dWxvIGRlIGHDp8OjbyBleGliaWRvIGNvbW8gbGFiZWwgcHJpbmNpcGFsIGRvIGJvdMOjbyBkZSB1cGxvYWQuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWN0aW9uVGl0bGUhOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gTGVnZW5kYSBleGliaWRhIGFiYWl4byBkbyB0w610dWxvLCBkZXNjcmV2ZW5kbyBmb3JtYXRvcyBzdXBvcnRhZG9zXHJcbiAgICAgKiBvdSBvdXRyYXMgb3JpZW50YcOnw7VlcyBwYXJhIG8gdXN1w6FyaW8uIENhbXBvIG9icmlnYXTDs3Jpby5cclxuICAgICAqL1xyXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcclxuICAgIHB1YmxpYyBzdWJ0aXRsZSE6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBQcm9wb3LDp8OjbyAoYXNwZWN0IHJhdGlvKSBkbyByZWNvcnRlIGRhIGltYWdlbS5cclxuICAgICAqIFBvciBleGVtcGxvLCBgMWAgcGFyYSBxdWFkcmFkbywgYDE2LzlgIHBhcmEgd2lkZXNjcmVlbi5cclxuICAgICAqXHJcbiAgICAgKiBAZGVmYXVsdCAxXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYXNwZWN0UmF0aW8gPSAxO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbmZpZ3VyYcOnw7VlcyBkZSByw7N0dWxvcyBleGliaWRvcyBubyBjb21wb25lbnRlIGRlIHJlY29ydGUgZGUgaW1hZ2VtIChjcm9wcGVyKS5cclxuICAgICAqIFBlcm1pdGUgc29icmVzY3JldmVyIG9zIHRleHRvcyBwYWRyw6NvIGRvcyBib3TDtWVzIGUgaW5zdHJ1w6fDtWVzIGRvIGNyb3BwZXIuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY3JvcHBlckxhYmVsc0NvbmZpZz86IENyb3BwZXJMYWJlbHNDb25maWc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gVGV4dG8gZG8gYm90w6NvIGRlIHJlbW/Dp8OjbyBkYSBmb3RvIGF0dWFsLlxyXG4gICAgICogU2UgbsOjbyBpbmZvcm1hZG8sIHV0aWxpemEgbyBsYWJlbCBwYWRyw6NvIGRlIHJlbW/Dp8Ojby5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyByZW1vdmVCdXR0b25MYWJlbD86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBUZXh0byBkbyBib3TDo28gZGUgdHJvY2EgZGEgZm90byBhdHVhbC5cclxuICAgICAqIFNlIG7Do28gaW5mb3JtYWRvLCB1dGlsaXphIG8gbGFiZWwgcGFkcsOjbyBkZSBhbHRlcmHDp8Ojby5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjaGFuZ2VCdXR0b25MYWJlbD86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBUZXh0b3MgcGVyc29uYWxpemFkb3MgZXhpYmlkb3Mgbm8gZGnDoWxvZ28gZGUgY29uZmlybWHDp8Ojb1xyXG4gICAgICogYW8gcmVtb3ZlciBvdSBzdWJzdGl0dWlyIGEgZm90by4gUGVybWl0ZSBzb2JyZXNjcmV2ZXIgdMOtdHVsbywgbWVuc2FnZW0gZSBib3TDtWVzLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNvbmZpcm1hdGlvblRleHRzPzogQ29uZmlybWF0aW9uVGV4dHM7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gVGFtYW5obyBtw6F4aW1vIHBlcm1pdGlkbyBwYXJhIG8gYXJxdWl2byBkZSBpbWFnZW0sIGVtIGJ5dGVzLlxyXG4gICAgICogUXVhbmRvIG8gYXJxdWl2byBleGNlZGUgZXNzZSBsaW1pdGUsIG8gb3V0cHV0IGBpbnZhbGlkRmlsZWAgw6kgZW1pdGlkby5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBtYXhGaWxlU2l6ZT86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBUaXBvcyBNSU1FIGFjZWl0b3MgcGVsbyBpbnB1dCBkZSBhcnF1aXZvLlxyXG4gICAgICogRXhlbXBsbzogYFwiaW1hZ2UvanBlZyxpbWFnZS9wbmdcImAuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWNjZXB0Pzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIExpc3RhIGRlIGV4dGVuc8O1ZXMgZGUgYXJxdWl2byBhY2VpdGFzIHBhcmEgdmFsaWRhw6fDo28uXHJcbiAgICAgKiBFeGVtcGxvOiBgWycuanBnJywgJy5qcGVnJywgJy5wbmcnXWAuXHJcbiAgICAgKlxyXG4gICAgICogQGRlZmF1bHQgW11cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzdXBwb3J0ZWRFeHRlbnNpb25zOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIEltYWdlbSBhdHVhbCBkbyBjb21wb25lbnRlLiBQb2RlIHNlciB1bWEgc3RyaW5nIGJhc2U2NCwgdW0gb2JqZXRvXHJcbiAgICAgKiB7QGxpbmsgUHJvZmlsZVBpY3R1cmVQaWNrZXJEYXRhfSBjb20gbWV0YWRhZG9zLCBvdSBgbnVsbGAgcGFyYSBzZW0gaW1hZ2VtLlxyXG4gICAgICpcclxuICAgICAqIEBkZWZhdWx0IG51bGxcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpbWFnZTogc3RyaW5nIHwgUHJvZmlsZVBpY3R1cmVQaWNrZXJEYXRhIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgndXBsb2FkUGljdHVyZScpXHJcbiAgICBwdWJsaWMgdXBsb2FkUGljdHVyZTogRWxlbWVudFJlZiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2luZm8nKVxyXG4gICAgcHVibGljIGluZm86IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBAVmlld0NoaWxkKCd0aHVtYm5haWwnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcclxuICAgIHB1YmxpYyB0aHVtYm5haWw6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcclxuICAgIHB1YmxpYyBmaWxlSW5wdXQ6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgaW1hZ2VDaGFuZ2VgIGVtIHZleiBkZXN0ZSBvdXRwdXQuXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBhbyBzZWxlY2lvbmFyIG91IHJlY29ydGFyIHVtYSBub3ZhIGltYWdlbS4gRW1pdGUgYSBzdHJpbmcgYmFzZTY0IGRhIGltYWdlbS5cclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgY2hhbmdlZEltYWdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIGFvIHNlbGVjaW9uYXIsIHJlY29ydGFyIG91IGFsdGVyYXIgYSBpbWFnZW0uXHJcbiAgICAgKiBFbWl0ZSBhIHN0cmluZyBiYXNlNjQgb3UgdW0gb2JqZXRvIHtAbGluayBQcm9maWxlUGljdHVyZVBpY2tlckRhdGF9IGNvbSBvcyBkYWRvcyBkYSBpbWFnZW0uXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGltYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBQcm9maWxlUGljdHVyZVBpY2tlckRhdGE+KCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyB1c3XDoXJpbyBjb25maXJtYSBhIHJlbW/Dp8OjbyBkYSBmb3RvIGF0dWFsLlxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZW1vdmVkSW1hZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyBhcnF1aXZvIHNlbGVjaW9uYWRvIG7Do28gcGFzc2EgbmEgdmFsaWRhw6fDo28uXHJcbiAgICAgKiBFbWl0ZSB1bSBvYmpldG8ge0BsaW5rIEZpbGVWYWxpZGF0aW9uRXJyb3JzfSBkZXNjcmV2ZW5kbyBvcyBlcnJvcyBlbmNvbnRyYWRvc1xyXG4gICAgICogKGV4LjogdGFtYW5obyBleGNlZGlkbywgZXh0ZW5zw6NvIGludsOhbGlkYSkuXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGludmFsaWRGaWxlOiBFdmVudEVtaXR0ZXI8RmlsZVZhbGlkYXRpb25FcnJvcnM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIHB1YmxpYyBnZXQgaW1hZ2VCYXNlNjQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMuaW1hZ2UgPT09ICdzdHJpbmcnID8gdGhpcy5pbWFnZSA6ICh0aGlzLmltYWdlPy5iYXNlNjQgPz8gJycpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX29uQ2hhbmdlPzogKHZhbHVlOiBzdHJpbmcgfCBQcm9maWxlUGljdHVyZVBpY2tlckRhdGEpID0+IHZvaWQ7XHJcbiAgICBwcml2YXRlIF9vblRvdWNoZWQ/OiAoKSA9PiB2b2lkO1xyXG5cclxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBQcm9maWxlUGljdHVyZVBpY2tlckRhdGEpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmltYWdlID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nIHwgUHJvZmlsZVBpY3R1cmVQaWNrZXJEYXRhKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgPSBvbkNoYW5nZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkID0gb25Ub3VjaGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9ub3JtYWxpemVTdXBvcnRlZEV4dGVuc2lvbnMoKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXHJcbiAgICBwdWJsaWMgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIG9uRHJhZ0xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkPy4oKTtcclxuXHJcbiAgICAgICAgY29uc3QgZmlsZXM6IEZpbGVbXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IGRhdGFUcmFuc2ZlckZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyPy5maWxlcztcclxuXHJcbiAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChkYXRhVHJhbnNmZXJGaWxlcykpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhVHJhbnNmZXJGaWxlcz8ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBkYXRhVHJhbnNmZXJGaWxlcy5pdGVtKGkpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChpdGVtKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbGVzLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX3Nob3dJbWFnZUNyb3BwZXIoZmlsZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFZlcmlmaWNhbmRvIG8gcmVkaW1lbnNpb25hbWVudG8gcGFyYSBhanVzdGFyIG8gZGVzaWduIHBhcmEgZmljYXIgcmVzcG9uc2l2by5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxyXG4gICAgcHVibGljIG9uUmVzaXplKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnVwbG9hZFBpY3R1cmUgJiYgdGhpcy5pbmZvICYmIHRoaXMudGh1bWJuYWlsKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHVwbG9hZFBpY3R1cmVXaWR0aCA9IHRoaXMuX2dldFdpZHRoRWxlbWVudCh0aGlzLnVwbG9hZFBpY3R1cmUpO1xyXG4gICAgICAgICAgICBjb25zdCBpbmZvV2lkdGggPSB0aGlzLl9nZXRXaWR0aEVsZW1lbnQodGhpcy5pbmZvKTtcclxuICAgICAgICAgICAgY29uc3QgdGh1bWJuYWlsV2lkdGggPSB0aGlzLl9nZXRXaWR0aEVsZW1lbnQodGhpcy50aHVtYm5haWwpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRodW1ibmFpbFdpZHRoICsgaW5mb1dpZHRoID4gdXBsb2FkUGljdHVyZVdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZFBpY3R1cmUubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCd1cGxvYWQtcGljdHVyZS0tc21hbGwnKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkUGljdHVyZS5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3VwbG9hZC1waWN0dXJlLS1zbWFsbCcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZWxlY3RQaG90bygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBmaWxlSW5wdXRFbGVtZW50ID0gdGhpcy5maWxlSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgZmlsZUlucHV0RWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gICAgICAgIGZpbGVJbnB1dEVsZW1lbnQuY2xpY2soKTtcclxuXHJcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkPy4oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVtb3ZlUGhvdG8oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xyXG4gICAgICAgICAgICBtZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maXJtYXRpb25UZXh0cz8ucmVtb3ZhbE1lc3NhZ2UgPz9cclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuY29uZmlybWF0aW9uX3JlbW92ZV9pbWFnZScpLFxyXG4gICAgICAgICAgICBhY2NlcHRMYWJlbDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uVGV4dHM/LnJlbW92YWxBY2NlcHRMYWJlbCA/P1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5yZW1vdmUnKSxcclxuICAgICAgICAgICAgcmVqZWN0TGFiZWw6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblRleHRzPy5yZW1vdmFsUmVqZWN0TGFiZWwgPz9cclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsJyksXHJcbiAgICAgICAgICAgIGhlYWRlcjpcclxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uVGV4dHM/LnJlbW92YWxIZWFkZXIgPz9cclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMucmVtb3ZlX2ltYWdlJyksXHJcbiAgICAgICAgICAgIHJlamVjdEJ1dHRvblN0eWxlQ2xhc3M6ICd1aS1idXR0b24tc2Vjb25kYXJ5JyxcclxuICAgICAgICAgICAgYWNjZXB0OiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlSW5wdXRFbGVtZW50ID0gdGhpcy5maWxlSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICBmaWxlSW5wdXRFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlZEltYWdlLmVtaXQoKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcGhvdG9TZWxlY3RlZChldmVudDogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0ltYWdlQ3JvcHBlcihldmVudC5zcmNFbGVtZW50LmZpbGVzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zaG93SW1hZ2VDcm9wcGVyKGZpbGVzOiBGaWxlW10pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX3ZhbGlkYXRlRGF0YShmaWxlcykpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZmlsZSA9IGZpbGVzWzBdO1xyXG5cclxuICAgICAgICBjb25zdCBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgICBmaWxlUmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgICAgICAgZmlsZVJlYWRlci5vbmxvYWRlbmQgPSAoZmlsZUV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pbWFnZUNyb3BwZXJTZXJ2aWNlLnNob3coe1xyXG4gICAgICAgICAgICAgICAgaW1hZ2VTb3VyY2U6IGZpbGVFdmVudC50YXJnZXQucmVzdWx0LFxyXG4gICAgICAgICAgICAgICAgY3JvcHBlZEltYWdlOiAoaW1hZ2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZWRJbWFnZS5lbWl0KGltYWdlKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YTogUHJvZmlsZVBpY3R1cmVQaWNrZXJEYXRhID0geyBzb3VyY2U6IGZpbGUsIGJhc2U2NDogaW1hZ2UgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gU2UgbyB0aXBvIGRvIGltYWdlIGZvciBzdHJpbmcgZXUgcHJlY2lzbyBhdHVhbGl6YXIgZSBtYW5kYXIgcGFyYSBvIGltYWdlQ2hhbmdlIHVtYSBzdHJpbmcuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gU2UgZm9yIFByb2ZpbGVQaWN0dXJlUGlja2VyRGF0YSBldSBwcmVjaXNvIG1hbmRhciBvIGRhdGEgY29tcGxldG8uXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmltYWdlID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmltYWdlID0gaW1hZ2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VDaGFuZ2UuZW1pdChpbWFnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbWFnZSA9IGRhdGE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VDaGFuZ2UuZW1pdChkYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlPy4odGhpcy5pbWFnZSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgY2hhbmdlSW1hZ2U6ICgpID0+IHRoaXMuc2VsZWN0UGhvdG8oKSxcclxuICAgICAgICAgICAgICAgIGFsbG93U2VsZWN0QW5vdGhlcjogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBhc3BlY3RSYXRpbzogdGhpcy5hc3BlY3RSYXRpbyxcclxuICAgICAgICAgICAgICAgIC4uLnRoaXMuY3JvcHBlckxhYmVsc0NvbmZpZyxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9ub3JtYWxpemVTdXBvcnRlZEV4dGVuc2lvbnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zID0gdGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zPy5tYXAoKGV4dGVuc2lvbikgPT5cclxuICAgICAgICAgICAgZXh0ZW5zaW9uLnJlcGxhY2UoJy4nLCAnJykudG9Mb2NhbGVMb3dlckNhc2UoKSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3ZhbGlkYXRlRGF0YShmaWxlczogRmlsZVtdKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFmaWxlcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGZpbGVzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgdGhpcy5pbnZhbGlkRmlsZS5lbWl0KHsgZmlsZTogbnVsbCwgdmFsaWRhdGlvbjogJ21heEZpbGVMaW1pdCcgfSk7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGZpbGUgPSBmaWxlc1swXTtcclxuXHJcbiAgICAgICAgaWYgKCFmaWxlLnR5cGUuaW5jbHVkZXMoJ2ltYWdlJykpIHtcclxuICAgICAgICAgICAgdGhpcy5pbnZhbGlkRmlsZS5lbWl0KHsgZmlsZSwgdmFsaWRhdGlvbjogJ3R5cGVJbnZhbGlkJyB9KTtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl92YWxpZGF0ZUZpbGVFeHRlbnNpb24oZmlsZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5pbnZhbGlkRmlsZS5lbWl0KHsgZmlsZSwgdmFsaWRhdGlvbjogJ3Vuc3VwcG9ydGVkRXh0ZW5zaW9uJyB9KTtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl92YWxpZGF0ZUZpbGVTaXplKGZpbGUpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW52YWxpZEZpbGUuZW1pdCh7IGZpbGUsIHZhbGlkYXRpb246ICdtYXhGaWxlU2l6ZScgfSk7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3ZhbGlkYXRlRmlsZUV4dGVuc2lvbihmaWxlOiBGaWxlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3VwcG9ydGVkRXh0ZW5zaW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpPy50b0xvd2VyQ2FzZSgpID8/ICcnO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zLmluY2x1ZGVzKGV4dGVuc2lvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3ZhbGlkYXRlRmlsZVNpemUoZmlsZTogRmlsZSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLm1heEZpbGVTaXplKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmaWxlLnNpemUgPD0gdGhpcy5tYXhGaWxlU2l6ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0V2lkdGhFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRSZWYpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IHsgbGVmdCwgcmlnaHQgfSA9IGVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICByZXR1cm4gcmlnaHQgLSBsZWZ0O1xyXG4gICAgfVxyXG59XHJcbiIsIjxwLWNvbmZpcm1EaWFsb2c+PC9wLWNvbmZpcm1EaWFsb2c+XG5cbjxpbnB1dFxuICAgICNmaWxlSW5wdXRcbiAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgY2xhc3M9XCJmaWxlLWlucHV0XCJcbiAgICB0eXBlPVwiZmlsZVwiXG4gICAgKGNoYW5nZSk9XCJwaG90b1NlbGVjdGVkKCRldmVudClcIlxuLz5cbjxkaXZcbiAgICAjdXBsb2FkUGljdHVyZVxuICAgIGNsYXNzPVwidXBsb2FkLXBpY3R1cmVcIlxuPlxuICAgIDxzLXRodW1ibmFpbFxuICAgICAgICAjdGh1bWJuYWlsXG4gICAgICAgIGljb25DbGFzcz1cImZhciBmYS11c2VyXCJcbiAgICAgICAgW2ltYWdlU291cmNlXT1cImltYWdlQmFzZTY0XCJcbiAgICAgICAgW2hhc0FjdGlvbl09XCIhaW1hZ2VcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0UGhvdG8oKVwiXG4gICAgPlxuICAgIDwvcy10aHVtYm5haWw+XG4gICAgPGRpdlxuICAgICAgICAjaW5mb1xuICAgICAgICBjbGFzcz1cImluZm9cIlxuICAgID5cbiAgICAgICAgQGlmIChpbWFnZSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cbiAgICAgICAgICAgICAgICA8cy1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImNoYW5nZUJ1dHRvbkxhYmVsIHx8ICdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuY2hhbmdlX3Bob3RvJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5PVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cInNlbGVjdFBob3RvKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L3MtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwicmVtb3ZlQnV0dG9uTGFiZWwgfHwgJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5yZW1vdmUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJyZW1vdmVQaG90bygpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxwIGNsYXNzPVwidGl0bGVcIj5cbiAgICAgICAgICAgICAgICB7eyBzaW1wbGVUaXRsZSB8fCAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmRyYWdfeW91cl9waG90b19vcicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFjdGlvbi10aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RQaG90bygpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGFjdGlvblRpdGxlIHx8ICdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuc2VsZWN0X2FfZmlsZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgIH1cbiAgICAgICAgPHAgY2xhc3M9XCJzdWJ0aXRsZVwiPnt7IHN1YnRpdGxlIH19PC9wPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
367
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvcHJvZmlsZS1waWN0dXJlLXBpY2tlci9zcmMvbGliL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIvcHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvcHJvZmlsZS1waWN0dXJlLXBpY2tlci9zcmMvbGliL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIvcHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBRTVFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFlSCxNQUFNLE9BQU8sNkJBQTZCO0lBQ3JCLG1CQUFtQixHQUFHLE1BQU0s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QkFBQyxlQUFlO2dCQUluQixJQUFJO3NCQURWLFNBQVM7dUJBQUMsTUFBTTtnQkFJVixTQUFTO3NCQURmLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJckMsU0FBUztzQkFEZixTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBUXJDLFlBQVk7c0JBRGxCLE1BQU07Z0JBUUEsV0FBVztzQkFEakIsTUFBTTtnQkFPQSxZQUFZO3NCQURsQixNQUFNO2dCQVNBLFdBQVc7c0JBRGpCLE1BQU07Z0JBaUNBLFVBQVU7c0JBRGhCLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU83QixXQUFXO3NCQURqQixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPOUIsTUFBTTtzQkFEWixZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkE0QnpCLFFBQVE7c0JBRGQsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBmb3J3YXJkUmVmLFxyXG4gICAgSG9zdExpc3RlbmVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBpbmplY3QsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UsIFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uVGV4dHMsIENyb3BwZXJMYWJlbHNDb25maWcsIEZpbGVWYWxpZGF0aW9uRXJyb3JzLCBQcm9maWxlUGljdHVyZVBpY2tlckRhdGEgfSBmcm9tICcuL21vZGVscy9pbmRleCc7XHJcbmltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy91dGlscyc7XHJcbmltcG9ydCB7IEltYWdlQ3JvcHBlclNlcnZpY2UgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2ltYWdlLWNyb3BwZXInO1xyXG5pbXBvcnQgeyBDb25maXJtRGlhbG9nU2VydmljZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY29uZmlybS1kaWFsb2cnO1xyXG5pbXBvcnQgeyBUaHVtYm5haWxDb21wb25lbnQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3RodW1ibmFpbCc7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvYnV0dG9uJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBwYXJhIHNlbGXDp8OjbywgZWRpw6fDo28gZSByZW1vw6fDo28gZGUgZm90byBkZSBwZXJmaWwgZG8gdXN1w6FyaW8uXHJcbiAqIFBlcm1pdGUgYW8gdXN1w6FyaW8gZmF6ZXIgdXBsb2FkIGRlIHVtYSBpbWFnZW0sIHJlY29ydMOhLWxhIGNvbSBvIHtAbGluayBJbWFnZUNyb3BwZXJTZXJ2aWNlfVxyXG4gKiBlIGNvbmZpcm1hciBvdSByZW1vdmVyIGEgZm90byBhdHVhbC4gSW1wbGVtZW50YSB7QGxpbmsgQ29udHJvbFZhbHVlQWNjZXNzb3J9IHBhcmEgdXNvXHJcbiAqIGVtIGZvcm11bMOhcmlvcyByZWF0aXZvcyBlIHRlbXBsYXRlLWRyaXZlbiBkbyBBbmd1bGFyLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBodG1sXHJcbiAqIDxzLXByb2ZpbGUtcGljdHVyZS1waWNrZXJcclxuICogICBmb3JtQ29udHJvbE5hbWU9XCJhdmF0YXJcIlxyXG4gKiAgIHN1YnRpdGxlPVwiRm9ybWF0b3MgYWNlaXRvczogSlBHIGUgUE5HXCJcclxuICogICBbbWF4RmlsZVNpemVdPVwiMjA5NzE1MlwiXHJcbiAqICAgYWNjZXB0PVwiaW1hZ2UvanBlZyxpbWFnZS9wbmdcIlxyXG4gKiAgIChpbWFnZUNoYW5nZSk9XCJvbkltYWdlQ2hhbmdlKCRldmVudClcIlxyXG4gKiAgIChyZW1vdmVkSW1hZ2UpPVwib25JbWFnZVJlbW92ZWQoKVwiIC8+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAY2F0ZWdvcnkgSW5wdXRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAncy1wcm9maWxlLXBpY3R1cmUtcGlja2VyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAncHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsncHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUHJvZmlsZVBpY3R1cmVQaWNrZXJDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbVGh1bWJuYWlsQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnQsIFRyYW5zbGF0ZVBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZmlsZVBpY3R1cmVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW1hZ2VDcm9wcGVyU2VydmljZSA9IGluamVjdChJbWFnZUNyb3BwZXJTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlybURpYWxvZ1NlcnZpY2UgPSBpbmplY3QoQ29uZmlybURpYWxvZ1NlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIFTDrXR1bG8gc2ltcGxlcyBleGliaWRvIHF1YW5kbyBuZW5odW1hIGltYWdlbSBlc3TDoSBzZWxlY2lvbmFkYS5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaW1wbGVUaXRsZSE6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBUw610dWxvIGRlIGHDp8OjbyBleGliaWRvIGNvbW8gbGFiZWwgcHJpbmNpcGFsIGRvIGJvdMOjbyBkZSB1cGxvYWQuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWN0aW9uVGl0bGUhOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gTGVnZW5kYSBleGliaWRhIGFiYWl4byBkbyB0w610dWxvLCBkZXNjcmV2ZW5kbyBmb3JtYXRvcyBzdXBvcnRhZG9zXHJcbiAgICAgKiBvdSBvdXRyYXMgb3JpZW50YcOnw7VlcyBwYXJhIG8gdXN1w6FyaW8uIENhbXBvIG9icmlnYXTDs3Jpby5cclxuICAgICAqL1xyXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcclxuICAgIHB1YmxpYyBzdWJ0aXRsZSE6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBQcm9wb3LDp8OjbyAoYXNwZWN0IHJhdGlvKSBkbyByZWNvcnRlIGRhIGltYWdlbS5cclxuICAgICAqIFBvciBleGVtcGxvLCBgMWAgcGFyYSBxdWFkcmFkbywgYDE2LzlgIHBhcmEgd2lkZXNjcmVlbi5cclxuICAgICAqXHJcbiAgICAgKiBAZGVmYXVsdCAxXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYXNwZWN0UmF0aW8gPSAxO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbmZpZ3VyYcOnw7VlcyBkZSByw7N0dWxvcyBleGliaWRvcyBubyBjb21wb25lbnRlIGRlIHJlY29ydGUgZGUgaW1hZ2VtIChjcm9wcGVyKS5cclxuICAgICAqIFBlcm1pdGUgc29icmVzY3JldmVyIG9zIHRleHRvcyBwYWRyw6NvIGRvcyBib3TDtWVzIGUgaW5zdHJ1w6fDtWVzIGRvIGNyb3BwZXIuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY3JvcHBlckxhYmVsc0NvbmZpZz86IENyb3BwZXJMYWJlbHNDb25maWc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gVGV4dG8gZG8gYm90w6NvIGRlIHJlbW/Dp8OjbyBkYSBmb3RvIGF0dWFsLlxyXG4gICAgICogU2UgbsOjbyBpbmZvcm1hZG8sIHV0aWxpemEgbyBsYWJlbCBwYWRyw6NvIGRlIHJlbW/Dp8Ojby5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyByZW1vdmVCdXR0b25MYWJlbD86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBUZXh0byBkbyBib3TDo28gZGUgdHJvY2EgZGEgZm90byBhdHVhbC5cclxuICAgICAqIFNlIG7Do28gaW5mb3JtYWRvLCB1dGlsaXphIG8gbGFiZWwgcGFkcsOjbyBkZSBhbHRlcmHDp8Ojby5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjaGFuZ2VCdXR0b25MYWJlbD86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBUZXh0b3MgcGVyc29uYWxpemFkb3MgZXhpYmlkb3Mgbm8gZGnDoWxvZ28gZGUgY29uZmlybWHDp8Ojb1xyXG4gICAgICogYW8gcmVtb3ZlciBvdSBzdWJzdGl0dWlyIGEgZm90by4gUGVybWl0ZSBzb2JyZXNjcmV2ZXIgdMOtdHVsbywgbWVuc2FnZW0gZSBib3TDtWVzLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNvbmZpcm1hdGlvblRleHRzPzogQ29uZmlybWF0aW9uVGV4dHM7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gVGFtYW5obyBtw6F4aW1vIHBlcm1pdGlkbyBwYXJhIG8gYXJxdWl2byBkZSBpbWFnZW0sIGVtIGJ5dGVzLlxyXG4gICAgICogUXVhbmRvIG8gYXJxdWl2byBleGNlZGUgZXNzZSBsaW1pdGUsIG8gb3V0cHV0IGBpbnZhbGlkRmlsZWAgw6kgZW1pdGlkby5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBtYXhGaWxlU2l6ZT86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBUaXBvcyBNSU1FIGFjZWl0b3MgcGVsbyBpbnB1dCBkZSBhcnF1aXZvLlxyXG4gICAgICogRXhlbXBsbzogYFwiaW1hZ2UvanBlZyxpbWFnZS9wbmdcImAuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWNjZXB0Pzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIExpc3RhIGRlIGV4dGVuc8O1ZXMgZGUgYXJxdWl2byBhY2VpdGFzIHBhcmEgdmFsaWRhw6fDo28uXHJcbiAgICAgKiBFeGVtcGxvOiBgWycuanBnJywgJy5qcGVnJywgJy5wbmcnXWAuXHJcbiAgICAgKlxyXG4gICAgICogQGRlZmF1bHQgW11cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzdXBwb3J0ZWRFeHRlbnNpb25zOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIEltYWdlbSBhdHVhbCBkbyBjb21wb25lbnRlLiBQb2RlIHNlciB1bWEgc3RyaW5nIGJhc2U2NCwgdW0gb2JqZXRvXHJcbiAgICAgKiB7QGxpbmsgUHJvZmlsZVBpY3R1cmVQaWNrZXJEYXRhfSBjb20gbWV0YWRhZG9zLCBvdSBgbnVsbGAgcGFyYSBzZW0gaW1hZ2VtLlxyXG4gICAgICpcclxuICAgICAqIEBkZWZhdWx0IG51bGxcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpbWFnZTogc3RyaW5nIHwgUHJvZmlsZVBpY3R1cmVQaWNrZXJEYXRhIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgndXBsb2FkUGljdHVyZScpXHJcbiAgICBwdWJsaWMgdXBsb2FkUGljdHVyZTogRWxlbWVudFJlZiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2luZm8nKVxyXG4gICAgcHVibGljIGluZm86IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBAVmlld0NoaWxkKCd0aHVtYm5haWwnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcclxuICAgIHB1YmxpYyB0aHVtYm5haWw6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcclxuICAgIHB1YmxpYyBmaWxlSW5wdXQ6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgaW1hZ2VDaGFuZ2VgIGVtIHZleiBkZXN0ZSBvdXRwdXQuXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBhbyBzZWxlY2lvbmFyIG91IHJlY29ydGFyIHVtYSBub3ZhIGltYWdlbS4gRW1pdGUgYSBzdHJpbmcgYmFzZTY0IGRhIGltYWdlbS5cclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgY2hhbmdlZEltYWdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIGFvIHNlbGVjaW9uYXIsIHJlY29ydGFyIG91IGFsdGVyYXIgYSBpbWFnZW0uXHJcbiAgICAgKiBFbWl0ZSBhIHN0cmluZyBiYXNlNjQgb3UgdW0gb2JqZXRvIHtAbGluayBQcm9maWxlUGljdHVyZVBpY2tlckRhdGF9IGNvbSBvcyBkYWRvcyBkYSBpbWFnZW0uXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGltYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBQcm9maWxlUGljdHVyZVBpY2tlckRhdGE+KCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyB1c3XDoXJpbyBjb25maXJtYSBhIHJlbW/Dp8OjbyBkYSBmb3RvIGF0dWFsLlxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZW1vdmVkSW1hZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyBhcnF1aXZvIHNlbGVjaW9uYWRvIG7Do28gcGFzc2EgbmEgdmFsaWRhw6fDo28uXHJcbiAgICAgKiBFbWl0ZSB1bSBvYmpldG8ge0BsaW5rIEZpbGVWYWxpZGF0aW9uRXJyb3JzfSBkZXNjcmV2ZW5kbyBvcyBlcnJvcyBlbmNvbnRyYWRvc1xyXG4gICAgICogKGV4LjogdGFtYW5obyBleGNlZGlkbywgZXh0ZW5zw6NvIGludsOhbGlkYSkuXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGludmFsaWRGaWxlOiBFdmVudEVtaXR0ZXI8RmlsZVZhbGlkYXRpb25FcnJvcnM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIHB1YmxpYyBnZXQgaW1hZ2VCYXNlNjQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMuaW1hZ2UgPT09ICdzdHJpbmcnID8gdGhpcy5pbWFnZSA6ICh0aGlzLmltYWdlPy5iYXNlNjQgPz8gJycpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICAgIHByaXZhdGUgX29uQ2hhbmdlPzogKHZhbHVlOiBzdHJpbmcgfCBQcm9maWxlUGljdHVyZVBpY2tlckRhdGEpID0+IHZvaWQ7XHJcbiAgICBwcml2YXRlIF9vblRvdWNoZWQ/OiAoKSA9PiB2b2lkO1xyXG5cclxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBQcm9maWxlUGljdHVyZVBpY2tlckRhdGEpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmltYWdlID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nIHwgUHJvZmlsZVBpY3R1cmVQaWNrZXJEYXRhKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgPSBvbkNoYW5nZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkID0gb25Ub3VjaGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fbm9ybWFsaXplU3Vwb3J0ZWRFeHRlbnNpb25zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSlcclxuICAgIHB1YmxpYyBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcclxuICAgIHB1YmxpYyBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX29uVG91Y2hlZD8uKCk7XHJcblxyXG4gICAgICAgIGNvbnN0IGZpbGVzOiBGaWxlW10gPSBbXTtcclxuICAgICAgICBjb25zdCBkYXRhVHJhbnNmZXJGaWxlcyA9IGV2ZW50LmRhdGFUcmFuc2Zlcj8uZmlsZXM7XHJcblxyXG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQoZGF0YVRyYW5zZmVyRmlsZXMpKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVRyYW5zZmVyRmlsZXM/Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gZGF0YVRyYW5zZmVyRmlsZXMuaXRlbShpKTtcclxuICAgICAgICAgICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQoaXRlbSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBmaWxlcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9zaG93SW1hZ2VDcm9wcGVyKGZpbGVzKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBWZXJpZmljYW5kbyBvIHJlZGltZW5zaW9uYW1lbnRvIHBhcmEgYWp1c3RhciBvIGRlc2lnbiBwYXJhIGZpY2FyIHJlc3BvbnNpdm8uXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcclxuICAgIHB1YmxpYyBvblJlc2l6ZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy51cGxvYWRQaWN0dXJlICYmIHRoaXMuaW5mbyAmJiB0aGlzLnRodW1ibmFpbCkge1xyXG4gICAgICAgICAgICBjb25zdCB1cGxvYWRQaWN0dXJlV2lkdGggPSB0aGlzLl9nZXRXaWR0aEVsZW1lbnQodGhpcy51cGxvYWRQaWN0dXJlKTtcclxuICAgICAgICAgICAgY29uc3QgaW5mb1dpZHRoID0gdGhpcy5fZ2V0V2lkdGhFbGVtZW50KHRoaXMuaW5mbyk7XHJcbiAgICAgICAgICAgIGNvbnN0IHRodW1ibmFpbFdpZHRoID0gdGhpcy5fZ2V0V2lkdGhFbGVtZW50KHRoaXMudGh1bWJuYWlsKTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aHVtYm5haWxXaWR0aCArIGluZm9XaWR0aCA+IHVwbG9hZFBpY3R1cmVXaWR0aCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cGxvYWRQaWN0dXJlLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgndXBsb2FkLXBpY3R1cmUtLXNtYWxsJyk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZFBpY3R1cmUubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd1cGxvYWQtcGljdHVyZS0tc21hbGwnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2VsZWN0UGhvdG8oKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZmlsZUlucHV0RWxlbWVudCA9IHRoaXMuZmlsZUlucHV0Py5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGZpbGVJbnB1dEVsZW1lbnQudmFsdWUgPSAnJztcclxuICAgICAgICBmaWxlSW5wdXRFbGVtZW50LmNsaWNrKCk7XHJcblxyXG4gICAgICAgIHRoaXMuX29uVG91Y2hlZD8uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbW92ZVBob3RvKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2UuY29uZmlybSh7XHJcbiAgICAgICAgICAgIG1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblRleHRzPy5yZW1vdmFsTWVzc2FnZSA/P1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5jb25maXJtYXRpb25fcmVtb3ZlX2ltYWdlJyksXHJcbiAgICAgICAgICAgIGFjY2VwdExhYmVsOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maXJtYXRpb25UZXh0cz8ucmVtb3ZhbEFjY2VwdExhYmVsID8/XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnJlbW92ZScpLFxyXG4gICAgICAgICAgICByZWplY3RMYWJlbDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uVGV4dHM/LnJlbW92YWxSZWplY3RMYWJlbCA/P1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWwnKSxcclxuICAgICAgICAgICAgaGVhZGVyOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maXJtYXRpb25UZXh0cz8ucmVtb3ZhbEhlYWRlciA/P1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5yZW1vdmVfaW1hZ2UnKSxcclxuICAgICAgICAgICAgYWNjZXB0OiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlSW5wdXRFbGVtZW50ID0gdGhpcy5maWxlSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICBmaWxlSW5wdXRFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlZEltYWdlLmVtaXQoKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcGhvdG9TZWxlY3RlZChldmVudDogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0ltYWdlQ3JvcHBlcihldmVudC5zcmNFbGVtZW50LmZpbGVzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zaG93SW1hZ2VDcm9wcGVyKGZpbGVzOiBGaWxlW10pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX3ZhbGlkYXRlRGF0YShmaWxlcykpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZmlsZSA9IGZpbGVzWzBdO1xyXG5cclxuICAgICAgICBjb25zdCBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgICBmaWxlUmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgICAgICAgZmlsZVJlYWRlci5vbmxvYWRlbmQgPSAoZmlsZUV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pbWFnZUNyb3BwZXJTZXJ2aWNlLnNob3coe1xyXG4gICAgICAgICAgICAgICAgaW1hZ2VTb3VyY2U6IGZpbGVFdmVudC50YXJnZXQucmVzdWx0LFxyXG4gICAgICAgICAgICAgICAgY3JvcHBlZEltYWdlOiAoaW1hZ2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZWRJbWFnZS5lbWl0KGltYWdlKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YTogUHJvZmlsZVBpY3R1cmVQaWNrZXJEYXRhID0geyBzb3VyY2U6IGZpbGUsIGJhc2U2NDogaW1hZ2UgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gU2UgbyB0aXBvIGRvIGltYWdlIGZvciBzdHJpbmcgZXUgcHJlY2lzbyBhdHVhbGl6YXIgZSBtYW5kYXIgcGFyYSBvIGltYWdlQ2hhbmdlIHVtYSBzdHJpbmcuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gU2UgZm9yIFByb2ZpbGVQaWN0dXJlUGlja2VyRGF0YSBldSBwcmVjaXNvIG1hbmRhciBvIGRhdGEgY29tcGxldG8uXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmltYWdlID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmltYWdlID0gaW1hZ2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VDaGFuZ2UuZW1pdChpbWFnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbWFnZSA9IGRhdGE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VDaGFuZ2UuZW1pdChkYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlPy4odGhpcy5pbWFnZSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgY2hhbmdlSW1hZ2U6ICgpID0+IHRoaXMuc2VsZWN0UGhvdG8oKSxcclxuICAgICAgICAgICAgICAgIGFsbG93U2VsZWN0QW5vdGhlcjogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBhc3BlY3RSYXRpbzogdGhpcy5hc3BlY3RSYXRpbyxcclxuICAgICAgICAgICAgICAgIC4uLnRoaXMuY3JvcHBlckxhYmVsc0NvbmZpZyxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9ub3JtYWxpemVTdXBvcnRlZEV4dGVuc2lvbnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zID0gdGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zPy5tYXAoKGV4dGVuc2lvbikgPT5cclxuICAgICAgICAgICAgZXh0ZW5zaW9uLnJlcGxhY2UoJy4nLCAnJykudG9Mb2NhbGVMb3dlckNhc2UoKSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3ZhbGlkYXRlRGF0YShmaWxlczogRmlsZVtdKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFmaWxlcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGZpbGVzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgdGhpcy5pbnZhbGlkRmlsZS5lbWl0KHsgZmlsZTogbnVsbCwgdmFsaWRhdGlvbjogJ21heEZpbGVMaW1pdCcgfSk7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGZpbGUgPSBmaWxlc1swXTtcclxuXHJcbiAgICAgICAgaWYgKCFmaWxlLnR5cGUuaW5jbHVkZXMoJ2ltYWdlJykpIHtcclxuICAgICAgICAgICAgdGhpcy5pbnZhbGlkRmlsZS5lbWl0KHsgZmlsZSwgdmFsaWRhdGlvbjogJ3R5cGVJbnZhbGlkJyB9KTtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl92YWxpZGF0ZUZpbGVFeHRlbnNpb24oZmlsZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5pbnZhbGlkRmlsZS5lbWl0KHsgZmlsZSwgdmFsaWRhdGlvbjogJ3Vuc3VwcG9ydGVkRXh0ZW5zaW9uJyB9KTtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl92YWxpZGF0ZUZpbGVTaXplKGZpbGUpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW52YWxpZEZpbGUuZW1pdCh7IGZpbGUsIHZhbGlkYXRpb246ICdtYXhGaWxlU2l6ZScgfSk7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3ZhbGlkYXRlRmlsZUV4dGVuc2lvbihmaWxlOiBGaWxlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3VwcG9ydGVkRXh0ZW5zaW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpPy50b0xvd2VyQ2FzZSgpID8/ICcnO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zLmluY2x1ZGVzKGV4dGVuc2lvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3ZhbGlkYXRlRmlsZVNpemUoZmlsZTogRmlsZSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLm1heEZpbGVTaXplKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmaWxlLnNpemUgPD0gdGhpcy5tYXhGaWxlU2l6ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0V2lkdGhFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRSZWYpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IHsgbGVmdCwgcmlnaHQgfSA9IGVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICByZXR1cm4gcmlnaHQgLSBsZWZ0O1xyXG4gICAgfVxyXG59XHJcbiIsIjxpbnB1dFxuICAgICNmaWxlSW5wdXRcbiAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBjbGFzcz1cImZpbGUtaW5wdXRcIlxuICAgIHR5cGU9XCJmaWxlXCJcbiAgICAoY2hhbmdlKT1cInBob3RvU2VsZWN0ZWQoJGV2ZW50KVwiXG4vPlxuPGRpdlxuICAgICN1cGxvYWRQaWN0dXJlXG4gICAgY2xhc3M9XCJ1cGxvYWQtcGljdHVyZVwiXG4gICAgW2NsYXNzLnVwbG9hZC1waWN0dXJlLS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4+XG4gICAgPHMtdGh1bWJuYWlsXG4gICAgICAgICN0aHVtYm5haWxcbiAgICAgICAgaWNvbkNsYXNzPVwiZmFyIGZhLXVzZXJcIlxuICAgICAgICBbaW1hZ2VTb3VyY2VdPVwiaW1hZ2VCYXNlNjRcIlxuICAgICAgICBbaGFzQWN0aW9uXT1cIiFpbWFnZVwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RQaG90bygpXCJcbiAgICA+XG4gICAgPC9zLXRodW1ibmFpbD5cbiAgICA8ZGl2XG4gICAgICAgICNpbmZvXG4gICAgICAgIGNsYXNzPVwiaW5mb1wiXG4gICAgPlxuICAgICAgICBAaWYgKGltYWdlKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxuICAgICAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY2hhbmdlQnV0dG9uTGFiZWwgfHwgJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5jaGFuZ2VfcGhvdG8nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwic2VsZWN0UGhvdG8oKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvcy1idXR0b24+XG4gICAgICAgICAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJyZW1vdmVCdXR0b25MYWJlbCB8fCAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnJlbW92ZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cInJlbW92ZVBob3RvKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L3MtYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgIHt7IHNpbXBsZVRpdGxlIHx8ICdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuZHJhZ195b3VyX3Bob3RvX29yJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWN0aW9uLXRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFBob3RvKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgYWN0aW9uVGl0bGUgfHwgJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zZWxlY3RfYV9maWxlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgfVxuICAgICAgICA8cCBjbGFzcz1cInN1YnRpdGxlXCI+e3sgc3VidGl0bGUgfX08L3A+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.mjs
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import { ConfirmationService } from 'primeng/api';
|
|
3
2
|
import { ProfilePicturePickerComponent } from './profile-picture-picker.component';
|
|
4
3
|
import { ImageCropperService } from '@seniorsistemas/angular-components/image-cropper';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
export class ProfilePicturePickerModule {
|
|
7
6
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProfilePicturePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
7
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ProfilePicturePickerModule, imports: [ProfilePicturePickerComponent], exports: [ProfilePicturePickerComponent] });
|
|
9
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProfilePicturePickerModule, providers: [ImageCropperService
|
|
8
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProfilePicturePickerModule, providers: [ImageCropperService], imports: [ProfilePicturePickerComponent] });
|
|
10
9
|
}
|
|
11
10
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProfilePicturePickerModule, decorators: [{
|
|
12
11
|
type: NgModule,
|
|
13
12
|
args: [{
|
|
14
13
|
imports: [ProfilePicturePickerComponent],
|
|
15
14
|
exports: [ProfilePicturePickerComponent],
|
|
16
|
-
providers: [ImageCropperService
|
|
15
|
+
providers: [ImageCropperService],
|
|
17
16
|
}]
|
|
18
17
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1waWN0dXJlLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvcHJvZmlsZS1waWN0dXJlLXBpY2tlci9zcmMvbGliL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIvcHJvZmlsZS1waWN0dXJlLXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7QUFPdkYsTUFBTSxPQUFPLDBCQUEwQjt3R0FBMUIsMEJBQTBCO3lHQUExQiwwQkFBMEIsWUFKekIsNkJBQTZCLGFBQzdCLDZCQUE2Qjt5R0FHOUIsMEJBQTBCLGFBRnhCLENBQUMsbUJBQW1CLENBQUMsWUFGdEIsNkJBQTZCOzs0RkFJOUIsMEJBQTBCO2tCQUx0QyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDeEMsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFByb2ZpbGVQaWN0dXJlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9maWxlLXBpY3R1cmUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEltYWdlQ3JvcHBlclNlcnZpY2UgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2ltYWdlLWNyb3BwZXInO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtQcm9maWxlUGljdHVyZVBpY2tlckNvbXBvbmVudF0sXHJcbiAgICBleHBvcnRzOiBbUHJvZmlsZVBpY3R1cmVQaWNrZXJDb21wb25lbnRdLFxyXG4gICAgcHJvdmlkZXJzOiBbSW1hZ2VDcm9wcGVyU2VydmljZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9maWxlUGljdHVyZVBpY2tlck1vZHVsZSB7fVxyXG4iXX0=
|