@seniorsistemas/yms-integration 1.30.0 → 1.30.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/seniorsistemas-yms-integration.umd.js +31 -13
- package/bundles/seniorsistemas-yms-integration.umd.js.map +1 -1
- package/bundles/seniorsistemas-yms-integration.umd.min.js +1 -1
- package/bundles/seniorsistemas-yms-integration.umd.min.js.map +1 -1
- package/esm2015/src/erp-senior/components/nota-form/nota-form.component.js +21 -18
- package/esm2015/src/wms/components/document-grid/document-grid.component.js +15 -2
- package/esm5/src/erp-senior/components/nota-form/nota-form.component.js +21 -18
- package/esm5/src/wms/components/document-grid/document-grid.component.js +15 -2
- package/fesm2015/seniorsistemas-yms-integration.js +31 -13
- package/fesm2015/seniorsistemas-yms-integration.js.map +1 -1
- package/fesm5/seniorsistemas-yms-integration.js +31 -13
- package/fesm5/seniorsistemas-yms-integration.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-yms-integration.metadata.json +1 -1
- package/src/erp-senior/components/nota-form/nota-form.component.d.ts +3 -6
- package/src/wms/components/document-grid/document-grid.component.d.ts +1 -0
|
@@ -1,26 +1,28 @@
|
|
|
1
1
|
import * as tslib_1 from "tslib";
|
|
2
2
|
import { VerificaNotafiscal } from '../../core/verifica-nota-fiscal/verificaNotaFiscal';
|
|
3
3
|
import { Component } from "@angular/core";
|
|
4
|
-
import { FormBuilder, FormControl, FormGroup } from "@angular/forms";
|
|
4
|
+
import { FormBuilder, FormControl, FormGroup, Validators } from "@angular/forms";
|
|
5
5
|
import { ConfirmationService, DynamicDialogConfig, DynamicDialogRef } from "primeng/api";
|
|
6
|
-
import { Subject } from "rxjs";
|
|
7
|
-
import { finalize, takeUntil } from "rxjs/operators";
|
|
6
|
+
import { Subject, of } from "rxjs";
|
|
7
|
+
import { catchError, finalize, takeUntil } from "rxjs/operators";
|
|
8
8
|
import { NotaValidatorService } from "../../core/nota-validator.service";
|
|
9
|
-
import { MessageService } from "primeng/components/common/messageservice";
|
|
10
|
-
import { TranslateService } from "@ngx-translate/core";
|
|
11
9
|
let NotaFormComponent = class NotaFormComponent {
|
|
12
|
-
constructor(fb, notaValidatorService, dialogConfig, confirmationService, dialogRef, verificaNotaFiscal
|
|
10
|
+
constructor(fb, notaValidatorService, dialogConfig, confirmationService, dialogRef, verificaNotaFiscal) {
|
|
13
11
|
this.notaValidatorService = notaValidatorService;
|
|
14
12
|
this.dialogConfig = dialogConfig;
|
|
15
13
|
this.confirmationService = confirmationService;
|
|
16
14
|
this.dialogRef = dialogRef;
|
|
17
15
|
this.verificaNotaFiscal = verificaNotaFiscal;
|
|
18
|
-
this.messageService = messageService;
|
|
19
|
-
this.translate = translate;
|
|
20
16
|
this.loading = false;
|
|
21
17
|
this.botaoDesabilitado = false;
|
|
18
|
+
this.disabled = true;
|
|
22
19
|
this.unsubscribe$ = new Subject();
|
|
23
20
|
this.validateNotaFiscal = (response) => {
|
|
21
|
+
const chaveNotaFiscal = this.formGroup.get("chaveNotaFiscal").value;
|
|
22
|
+
if (chaveNotaFiscal.length === 0) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
this.disabled = false;
|
|
24
26
|
if (!response || !response.documentos[0]) {
|
|
25
27
|
return;
|
|
26
28
|
}
|
|
@@ -54,10 +56,10 @@ let NotaFormComponent = class NotaFormComponent {
|
|
|
54
56
|
return !!chave || !!serie || !!numero ? null : { erroMultiplosCampos: true };
|
|
55
57
|
};
|
|
56
58
|
this.formGroup = fb.group({
|
|
57
|
-
chaveNotaFiscal: [undefined],
|
|
58
|
-
serieNotaFiscal: [undefined],
|
|
59
|
-
serieLegalNotaFiscal: [undefined],
|
|
60
|
-
numeroNotaFiscal: [undefined],
|
|
59
|
+
chaveNotaFiscal: [undefined, Validators.required],
|
|
60
|
+
serieNotaFiscal: [undefined, Validators.required],
|
|
61
|
+
serieLegalNotaFiscal: [undefined, Validators.required],
|
|
62
|
+
numeroNotaFiscal: [undefined, Validators.required],
|
|
61
63
|
}, { validators: this.camposPreenchidosValidation });
|
|
62
64
|
}
|
|
63
65
|
ngOnInit() {
|
|
@@ -100,7 +102,10 @@ let NotaFormComponent = class NotaFormComponent {
|
|
|
100
102
|
chaveDocumento: (chaveNotaFiscal || "").replace(/\s/g, ""),
|
|
101
103
|
filialId: this.filialId
|
|
102
104
|
})
|
|
103
|
-
.pipe(takeUntil(this.unsubscribe$),
|
|
105
|
+
.pipe(takeUntil(this.unsubscribe$), catchError(() => {
|
|
106
|
+
this.disabled = false;
|
|
107
|
+
return of(null);
|
|
108
|
+
}), finalize(() => this.loading = false))
|
|
104
109
|
.subscribe(this.validateNotaFiscal);
|
|
105
110
|
this.botaoDesabilitado = false;
|
|
106
111
|
}
|
|
@@ -158,7 +163,7 @@ let NotaFormComponent = class NotaFormComponent {
|
|
|
158
163
|
};
|
|
159
164
|
NotaFormComponent = tslib_1.__decorate([
|
|
160
165
|
Component({
|
|
161
|
-
template: "<form [formGroup]=\"formGroup\">\n <div class=\"ui-g ui-fluid\" *sLoadingState=\"loading\">\n <div class=\"ui-g-12\">\n <label for=\"chaveNotaFiscal\">{{'yms.erp.recebimento_chave_nota_fiscal' | translate}}</label>\n <input\n id=\"chaveNotaFiscal\"\n trim\n pInputText\n type=\"text\"\n formControlName=\"chaveNotaFiscal\"\n (blur)=\"onBlurNotaFiscal()\"\n >\n <s-control-errors
|
|
166
|
+
template: "<form [formGroup]=\"formGroup\">\n <div class=\"ui-g ui-fluid\" *sLoadingState=\"loading\">\n <div class=\"ui-g-12 required\">\n <label for=\"chaveNotaFiscal\">{{'yms.erp.recebimento_chave_nota_fiscal' | translate}}</label>\n <input\n id=\"chaveNotaFiscal\"\n trim\n pInputText\n type=\"text\"\n formControlName=\"chaveNotaFiscal\"\n (blur)=\"onBlurNotaFiscal()\"\n >\n <s-control-errors\n [control]=\"formGroup.controls.chaveNotaFiscal\"\n [errorMessages]=\"{ errorChaveNota: 'yms.erp.produto_nota_error_detail' | translate }\">\n </s-control-errors>\n </div>\n <div class=\"ui-g-12 required\" [attr.data-hidden]=\"disabled\">\n <label for=\"serieNotaFiscal\">{{'yms.erp.recebimento_serie_nota_fiscal' | translate}}</label>\n <input pInputText type=\"text\" formControlName=\"serieNotaFiscal\">\n <s-control-errors\n [control]=\"formGroup.controls['serieNotaFiscal']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\">\n </s-control-errors>\n </div>\n <div class=\"ui-g-12 required\" [attr.data-hidden]=\"disabled\">\n <label for=\"serieLegalNotaFiscal\">{{'yms.erp.recebimento_serie_legal_nota_fiscal' | translate}}</label>\n <input pInputText type=\"text\" formControlName=\"serieLegalNotaFiscal\">\n <s-control-errors\n [control]=\"formGroup.controls['serieLegalNotaFiscal']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\">\n </s-control-errors>\n </div>\n <div class=\"ui-g-12 required\" [attr.data-hidden]=\"disabled\">\n <label for=\"numeroNotaFiscal\">{{'yms.erp.recebimento_numero_nota_fiscal' | translate}}</label>\n <input pInputText type=\"text\" formControlName=\"numeroNotaFiscal\">\n <s-control-errors\n [control]=\"formGroup.controls['numeroNotaFiscal']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\">\n </s-control-errors>\n </div>\n </div>\n\n <s-control-errors [control]=\"formGroup\" [errorMessages]=\"{ erroMultiplosCampos: 'yms.erp.nota_fiscal_no_value' | translate }\"></s-control-errors>\n\n <s-button label=\"Cancelar\" (onClick)=\"close()\" priority=\"link\"></s-button>\n <s-button label=\"Salvar\" [disabled]=\"botaoDesabilitado || disabled\" (onClick)=\"save()\"></s-button>\n</form>\n\n<p-confirmDialog appendTo=\"body\"></p-confirmDialog>",
|
|
162
167
|
providers: [ConfirmationService]
|
|
163
168
|
}),
|
|
164
169
|
tslib_1.__metadata("design:paramtypes", [FormBuilder,
|
|
@@ -166,9 +171,7 @@ NotaFormComponent = tslib_1.__decorate([
|
|
|
166
171
|
DynamicDialogConfig,
|
|
167
172
|
ConfirmationService,
|
|
168
173
|
DynamicDialogRef,
|
|
169
|
-
VerificaNotafiscal
|
|
170
|
-
MessageService,
|
|
171
|
-
TranslateService])
|
|
174
|
+
VerificaNotafiscal])
|
|
172
175
|
], NotaFormComponent);
|
|
173
176
|
export { NotaFormComponent };
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90YS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvZXJwLXNlbmlvci9jb21wb25lbnRzL25vdGEtZm9ybS9ub3RhLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFpQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckQsT0FBTyxFQUFFLG9CQUFvQixFQUE4QixNQUFNLG1DQUFtQyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU12RCxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtJQVkxQixZQUNJLEVBQWUsRUFDUCxvQkFBMEMsRUFDMUMsWUFBaUMsRUFDakMsbUJBQXdDLEVBQ3hDLFNBQTJCLEVBQzNCLGtCQUFzQyxFQUN0QyxjQUE4QixFQUM5QixTQUEyQjtRQU4zQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FB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Q0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRU8sMEJBQTBCO1FBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JELENBQUM7Q0FDSixDQUFBO0FBak1ZLGlCQUFpQjtJQUw3QixTQUFTLENBQUM7UUFDUCx3MERBQXlDO1FBQ3pDLFNBQVMsRUFBRSxDQUFFLG1CQUFtQixDQUFFO0tBQ3JDLENBQUM7NkNBZVUsV0FBVztRQUNlLG9CQUFvQjtRQUM1QixtQkFBbUI7UUFDWixtQkFBbUI7UUFDN0IsZ0JBQWdCO1FBQ1Asa0JBQWtCO1FBQ3RCLGNBQWM7UUFDbkIsZ0JBQWdCO0dBcEI5QixpQkFBaUIsQ0FpTTdCO1NBak1ZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlcmlmaWNhTm90YWZpc2NhbCB9IGZyb20gJy4uLy4uL2NvcmUvdmVyaWZpY2Etbm90YS1maXNjYWwvdmVyaWZpY2FOb3RhRmlzY2FsJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIER5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgZmluYWxpemUsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgUGVzc29hIH0gZnJvbSBcIi4uLy4uL2NvcmUvZW50aXRpZXMvcGVzc29hL3Blc3NvYVwiO1xuaW1wb3J0IHsgUHJvZHV0byB9IGZyb20gXCIuLi8uLi9jb3JlL2VudGl0aWVzL3Byb2R1dG8vcHJvZHV0b1wiO1xuaW1wb3J0IHsgTm90YVZhbGlkYXRvclNlcnZpY2UsIFBlc3F1aXNhckRvY3VtZW50b1Jlc3BvbnNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvbm90YS12YWxpZGF0b3Iuc2VydmljZVwiO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9jb21wb25lbnRzL2NvbW1vbi9tZXNzYWdlc2VydmljZVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vbm90YS1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFsgQ29uZmlybWF0aW9uU2VydmljZSBdXG59KVxuXG5leHBvcnQgY2xhc3MgTm90YUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gICAgbG9hZGluZyA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBmaWxpYWxJZDogc3RyaW5nO1xuICAgIHByaXZhdGUgZm9ybmVjZWRvcjogUGVzc29hO1xuICAgIHByaXZhdGUgcHJvZHV0bzogUHJvZHV0bztcbiAgICBwcml2YXRlIGZvcm5lY2Vkb3JOb3Rhc1Rva2VuczogYW55O1xuICAgIHByaXZhdGUgY29udHJhdG9zOiBhbnk7XG4gICAgYm90YW9EZXNhYmlsaXRhZG8gPSBmYWxzZTtcbiAgICBcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGZiOiBGb3JtQnVpbGRlcixcbiAgICAgICAgcHJpdmF0ZSBub3RhVmFsaWRhdG9yU2VydmljZTogTm90YVZhbGlkYXRvclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nQ29uZmlnOiBEeW5hbWljRGlhbG9nQ29uZmlnLFxuICAgICAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nUmVmOiBEeW5hbWljRGlhbG9nUmVmLFxuICAgICAgICBwcml2YXRlIHZlcmlmaWNhTm90YUZpc2NhbDogVmVyaWZpY2FOb3RhZmlzY2FsLFxuICAgICAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG5cbiAgICApIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAgPSBmYi5ncm91cCh7XG4gICAgICAgICAgICBjaGF2ZU5vdGFGaXNjYWw6IFsgdW5kZWZpbmVkIF0sXG4gICAgICAgICAgICBzZXJpZU5vdGFGaXNjYWw6IFsgdW5kZWZpbmVkIF0sXG4gICAgICAgICAgICBzZXJpZUxlZ2FsTm90YUZpc2NhbDogWyB1bmRlZmluZWQgXSxcbiAgICAgICAgICAgIG51bWVyb05vdGFGaXNjYWw6IFsgdW5kZWZpbmVkIF0sXG4gICAgICAgIH0sIHsgdmFsaWRhdG9yczogdGhpcy5jYW1wb3NQcmVlbmNoaWRvc1ZhbGlkYXRpb24gfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZmlsaWFsSWQgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLmZpbGlhbC5pZDtcbiAgICAgICAgdGhpcy5mb3JuZWNlZG9yID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS5mb3JuZWNlZG9yO1xuICAgICAgICB0aGlzLnByb2R1dG8gPSB0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLnByb2R1dG87XG4gICAgICAgIHRoaXMuZm9ybmVjZWRvck5vdGFzVG9rZW5zID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS5mb3JuZWNlZG9yTm90YXNUb2tlbnM7XG4gICAgICAgIHRoaXMuY29udHJhdG9zID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS5jb250cmF0b3M7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBzYXZlKCkge1xuICAgICAgICBjb25zdCBjaGF2ZU5vdGFGaXNjYWwgPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJjaGF2ZU5vdGFGaXNjYWxcIikudmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMudmVyaWZpY2FOb3RhRmlzY2FsLnZlcmlmaWNhU2VOb3RhRmlzY2FsRXN0YUR1cGxpY2FkYShjaGF2ZU5vdGFGaXNjYWwsIHRoaXMuY29udHJhdG9zLCB0aGlzLmZvcm5lY2Vkb3JOb3Rhc1Rva2VucykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghY2hhdmVOb3RhRmlzY2FsKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZUVycm9yQ2hhdmVOb3RhKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLnZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHModGhpcy5mb3JtR3JvdXApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5oYWJpbGl0YUNhbXBvc05vdGFGaXNjYWwoKTtcblxuICAgICAgICB0aGlzLmNsb3NlKHRoaXMuZm9ybUdyb3VwLnZhbHVlKTtcbiAgICB9XG5cbiAgICBjbG9zZShkYXRhPzogYW55KSB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGRhdGEpO1xuICAgIH1cblxuICAgIG9uQmx1ck5vdGFGaXNjYWwoKSB7XG4gICAgICAgIGNvbnN0IGNoYXZlTm90YUZpc2NhbCA9IHRoaXMuZm9ybUdyb3VwLmdldChcImNoYXZlTm90YUZpc2NhbFwiKS52YWx1ZTtcblxuICAgICAgICBpZiAodGhpcy52ZXJpZmljYU5vdGFGaXNjYWwudmVyaWZpY2FTZU5vdGFGaXNjYWxFc3RhRHVwbGljYWRhKGNoYXZlTm90YUZpc2NhbCwgdGhpcy5jb250cmF0b3MsIHRoaXMuZm9ybmVjZWRvck5vdGFzVG9rZW5zKSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIHRoaXMuYm90YW9EZXNhYmlsaXRhZG8gPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZW1vdmVFcnJvckNoYXZlTm90YSgpO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMubm90YVZhbGlkYXRvclNlcnZpY2UucGVzcXVpc2FyRG9jdW1lbnRvVmFsaWRhTm90YUVtVXNvKHtcbiAgICAgICAgICAgIGNoYXZlRG9jdW1lbnRvOiAoY2hhdmVOb3RhRmlzY2FsIHx8IFwiXCIpLnJlcGxhY2UoL1xccy9nLCBcIlwiKSxcbiAgICAgICAgICAgIGZpbGlhbElkOiB0aGlzLmZpbGlhbElkXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksIGZpbmFsaXplKCgpID0+IHRoaXMubG9hZGluZyA9IGZhbHNlKSlcbiAgICAgICAgLnN1YnNjcmliZSh0aGlzLnZhbGlkYXRlTm90YUZpc2NhbCk7XG5cbiAgICAgICAgICB0aGlzLmJvdGFvRGVzYWJpbGl0YWRvID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZU5vdGFGaXNjYWwgPSAocmVzcG9uc2U6IFBlc3F1aXNhckRvY3VtZW50b1Jlc3BvbnNlKSA9PiB7ICAgICBcbiAgICAgICAgaWYgKCFyZXNwb25zZSB8fCAhcmVzcG9uc2UuZG9jdW1lbnRvc1swXSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBjb25zdCB2YWx1ZSA9IHJlc3BvbnNlLmRvY3VtZW50b3NbMF07XG5cbiAgICAgICAgaWYgKCF0aGlzLnZhbGlkYVByb2R1dG9OYU5vdGFGaXNjYWwodmFsdWUuaXRlbnMpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub3RhRmlzY2FsID0geyBcbiAgICAgICAgICAgIGNoYXZlOiB0aGlzLmZvcm1Hcm91cC5nZXQoXCJjaGF2ZU5vdGFGaXNjYWxcIikudmFsdWUsIFxuICAgICAgICAgICAgc2VyaWU6IHZhbHVlLnNlcmllLCBcbiAgICAgICAgICAgIHNlcmllTGVnYWw6IHZhbHVlLnNlcmllTGVnYWwsIFxuICAgICAgICAgICAgbnVtZXJvOiB2YWx1ZS5udW1lcm8sXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKCF0aGlzLmZvcm5lY2Vkb3IpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VBbmRSZXR1cm5Ob3RhKG5vdGFGaXNjYWwsIHZhbHVlLmZvcm5lY2Vkb3IsIHZhbHVlLm9yaWdlbU1lcmNhZG9yaWEpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEhKHZhbHVlLmZvcm5lY2Vkb3IgfHwge2lkOiB1bmRlZmluZWR9KS5pZCAmJiAodmFsdWUuZm9ybmVjZWRvci5pZCAhPT0gdGhpcy5mb3JuZWNlZG9yLmlkKSkge1xuICAgICAgICAgICAgdGhpcy5jb25maXJtQW5kQWRkTm92b0Zvcm5lY2Vkb3Iobm90YUZpc2NhbCwgdmFsdWUuZm9ybmVjZWRvciwgdmFsdWUub3JpZ2VtTWVyY2Fkb3JpYSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJzZXJpZU5vdGFGaXNjYWxcIikuc2V0VmFsdWUodmFsdWUuc2VyaWUpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJzZXJpZUxlZ2FsTm90YUZpc2NhbFwiKS5zZXRWYWx1ZSh2YWx1ZS5zZXJpZUxlZ2FsKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwibnVtZXJvTm90YUZpc2NhbFwiKS5zZXRWYWx1ZSh2YWx1ZS5udW1lcm8pO1xuXG4gICAgICAgIHRoaXMuZGVzYWJpbGl0YUNhbXBvc05vdGFGaXNjYWwoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYVByb2R1dG9OYU5vdGFGaXNjYWwocHJvZHV0b3Mpe1xuICAgICAgICBpZiAocHJvZHV0b3MgIT0gbnVsbCAmJiBwcm9kdXRvcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBsZXQgcHJvZHV0byA9IHByb2R1dG9zWzBdLnByb2R1dG87XG5cbiAgICAgICAgICAgIGlmICghIXByb2R1dG8gJiYgISF0aGlzLnByb2R1dG8gJiYgKHByb2R1dG8uaWQgIT09IHRoaXMucHJvZHV0by5pZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZEVycm9ySWZQcm9kdXRvSXNEaWZmZXJlbnQoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgXG4gICAgcHJpdmF0ZSBjb25maXJtQW5kQWRkTm92b0Zvcm5lY2Vkb3IoaW5mb05vdGE6IHsgY2hhdmU6IHN0cmluZywgc2VyaWU6IHN0cmluZywgc2VyaWVMZWdhbDogc3RyaW5nLCBudW1lcm86IG51bWJlciB9LCBmb3JuZWNlZG9yOiBhbnksIG9yaWdlbU1lcmNhZG9yaWE6IGFueSkge1xuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICAgICBoZWFkZXI6ICdPIGZvcm5lY2Vkb3IgdmluY3VsYWRvIGEgbm90YSBuw6NvIMOpIG8gbWVzbW8gcXVlIG8gc2VsZWNpb25hZG8nLFxuICAgICAgICAgICAgbWVzc2FnZTogJ08gZm9ybmVjZWRvciB2aW5jdWxhZG8gYSBub3RhIG7Do28gw6kgbyBtZXNtbyBxdWUgbyBzZWxlY2lvbmFkby4gRGVzZWphIGFkaWNpb25hciB1bSBub3ZvIGZvcm5lY2Vkb3Igb3UgY2FuY2VsYXIgYSBvcGVyYcOnw6NvPycsXG4gICAgICAgICAgICBhY2NlcHRMYWJlbDogJ0FkaWNpb25hciB1bSBub3ZvIGZvcm5lY2Vkb3InLFxuICAgICAgICAgICAgcmVqZWN0TGFiZWw6ICdDYW5jZWxhciBvcGVyYcOnw6NvJyxcbiAgICAgICAgICAgIGFjY2VwdDogKCkgPT4gdGhpcy5jbG9zZUFuZFJldHVybk5vdGEoaW5mb05vdGEsIGZvcm5lY2Vkb3IsIG9yaWdlbU1lcmNhZG9yaWEpLFxuICAgICAgICAgICAgcmVqZWN0OiAoKSA9PiB0aGlzLmZvcm1Hcm91cC5nZXQoXCJjaGF2ZU5vdGFGaXNjYWxcIikuc2V0VmFsdWUodW5kZWZpbmVkKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZEVycm9ySWZQcm9kdXRvSXNEaWZmZXJlbnQoKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcImNoYXZlTm90YUZpc2NhbFwiKS5zZXRFcnJvcnMoeyBlcnJvckNoYXZlTm90YTogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUVycm9yQ2hhdmVOb3RhKCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJjaGF2ZU5vdGFGaXNjYWxcIikuc2V0RXJyb3JzKG51bGwpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VBbmRSZXR1cm5Ob3RhKGluZm9Ob3RhOiB7IGNoYXZlOiBzdHJpbmcsIHNlcmllOiBzdHJpbmcsIHNlcmllTGVnYWw6IHN0cmluZywgbnVtZXJvOiBudW1iZXIgfSwgZm9ybmVjZWRvcjogYW55LCBvcmlnZW1NZXJjYWRvcmlhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBhZGRGb3JuZWNlZG9yOiB0cnVlLCBpbmZvTm90YSwgZm9ybmVjZWRvciwgb3JpZ2VtTWVyY2Fkb3JpYSB9KVxuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVBbGxGb3JtRmllbGRzKGZvcm1Hcm91cDogRm9ybUdyb3VwKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChmaWVsZCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyhjb250cm9sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgZm9ybUdyb3VwLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYW1wb3NQcmVlbmNoaWRvc1ZhbGlkYXRpb246IFZhbGlkYXRvckZuID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgY29uc3QgY2hhdmUgPSBjb250cm9sLmdldChcImNoYXZlTm90YUZpc2NhbFwiKS52YWx1ZTtcbiAgICAgICAgY29uc3Qgc2VyaWUgPSBjb250cm9sLmdldChcInNlcmllTm90YUZpc2NhbFwiKS52YWx1ZTtcbiAgICAgICAgY29uc3QgbnVtZXJvID0gY29udHJvbC5nZXQoXCJudW1lcm9Ob3RhRmlzY2FsXCIpLnZhbHVlO1xuXG4gICAgICAgIHJldHVybiAhIWNoYXZlIHx8ICEhc2VyaWUgfHwgISFudW1lcm8gPyBudWxsIDogeyBlcnJvTXVsdGlwbG9zQ2FtcG9zOiB0cnVlIH07XG4gICAgfTtcblxuICAgIHByaXZhdGUgaGFiaWxpdGFDYW1wb3NOb3RhRmlzY2FsKCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJzZXJpZU5vdGFGaXNjYWxcIikuZW5hYmxlKCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcInNlcmllTGVnYWxOb3RhRmlzY2FsXCIpLmVuYWJsZSgpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJudW1lcm9Ob3RhRmlzY2FsXCIpLmVuYWJsZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVzYWJpbGl0YUNhbXBvc05vdGFGaXNjYWwoKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcInNlcmllTm90YUZpc2NhbFwiKS5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcInNlcmllTGVnYWxOb3RhRmlzY2FsXCIpLmRpc2FibGUoKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwibnVtZXJvTm90YUZpc2NhbFwiKS5kaXNhYmxlKCk7XG4gICAgfVxufSJdfQ==
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90YS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvZXJwLXNlbmlvci9jb21wb25lbnRzL25vdGEtZm9ybS9ub3RhLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFpQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqSSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekYsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakUsT0FBTyxFQUFFLG9CQUFvQixFQUE4QixNQUFNLG1DQUFtQyxDQUFDO0FBT3JHLElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWlCO0lBYTFCLFlBQ0ksRUFBZSxFQUNQLG9CQUEwQyxFQUMxQyxZQUFpQyxFQUNqQyxtQkFBd0MsRUFDeEMsU0FBMkIsRUFDbEIsa0JBQXNDO1FBSi9DLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDbEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQWpCM0QsWUFBTyxHQUFHLEtBQUssQ0FBQztRQU9oQixzQkFBaUIsR0FBRyxLQUFLLENB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QUFDLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBVU8sd0JBQXdCO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFTywwQkFBMEI7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDckQsQ0FBQztDQUNKLENBQUE7QUExTVksaUJBQWlCO0lBTDdCLFNBQVMsQ0FBQztRQUNQLHdxRkFBeUM7UUFDekMsU0FBUyxFQUFFLENBQUUsbUJBQW1CLENBQUU7S0FDckMsQ0FBQzs2Q0FnQlUsV0FBVztRQUNlLG9CQUFvQjtRQUM1QixtQkFBbUI7UUFDWixtQkFBbUI7UUFDN0IsZ0JBQWdCO1FBQ0Usa0JBQWtCO0dBbkJsRCxpQkFBaUIsQ0EwTTdCO1NBMU1ZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlcmlmaWNhTm90YWZpc2NhbCB9IGZyb20gJy4uLy4uL2NvcmUvdmVyaWZpY2Etbm90YS1maXNjYWwvdmVyaWZpY2FOb3RhRmlzY2FsJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIER5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IFN1YmplY3QsIG9mIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IFBlc3NvYSB9IGZyb20gXCIuLi8uLi9jb3JlL2VudGl0aWVzL3Blc3NvYS9wZXNzb2FcIjtcbmltcG9ydCB7IFByb2R1dG8gfSBmcm9tIFwiLi4vLi4vY29yZS9lbnRpdGllcy9wcm9kdXRvL3Byb2R1dG9cIjtcbmltcG9ydCB7IE5vdGFWYWxpZGF0b3JTZXJ2aWNlLCBQZXNxdWlzYXJEb2N1bWVudG9SZXNwb25zZSB9IGZyb20gXCIuLi8uLi9jb3JlL25vdGEtdmFsaWRhdG9yLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL25vdGEtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbIENvbmZpcm1hdGlvblNlcnZpY2UgXVxufSlcblxuZXhwb3J0IGNsYXNzIE5vdGFGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICAgIGxvYWRpbmcgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgZmlsaWFsSWQ6IHN0cmluZztcbiAgICBwcml2YXRlIGZvcm5lY2Vkb3I6IFBlc3NvYTtcbiAgICBwcml2YXRlIHByb2R1dG86IFByb2R1dG87XG4gICAgcHJpdmF0ZSBmb3JuZWNlZG9yTm90YXNUb2tlbnM6IGFueTtcbiAgICBwcml2YXRlIGNvbnRyYXRvczogYW55O1xuICAgIGJvdGFvRGVzYWJpbGl0YWRvID0gZmFsc2U7XG4gICAgZGlzYWJsZWQgPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBmYjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgbm90YVZhbGlkYXRvclNlcnZpY2U6IE5vdGFWYWxpZGF0b3JTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ0NvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogRHluYW1pY0RpYWxvZ1JlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB2ZXJpZmljYU5vdGFGaXNjYWw6IFZlcmlmaWNhTm90YWZpc2NhbFxuXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwID0gZmIuZ3JvdXAoe1xuICAgICAgICAgICAgY2hhdmVOb3RhRmlzY2FsOiBbIHVuZGVmaW5lZCwgVmFsaWRhdG9ycy5yZXF1aXJlZCBdLFxuICAgICAgICAgICAgc2VyaWVOb3RhRmlzY2FsOiBbIHVuZGVmaW5lZCwgVmFsaWRhdG9ycy5yZXF1aXJlZCBdLFxuICAgICAgICAgICAgc2VyaWVMZWdhbE5vdGFGaXNjYWw6IFsgdW5kZWZpbmVkLCBWYWxpZGF0b3JzLnJlcXVpcmVkIF0sXG4gICAgICAgICAgICBudW1lcm9Ob3RhRmlzY2FsOiBbIHVuZGVmaW5lZCwgVmFsaWRhdG9ycy5yZXF1aXJlZCBdLFxuICAgICAgICB9LCB7IHZhbGlkYXRvcnM6IHRoaXMuY2FtcG9zUHJlZW5jaGlkb3NWYWxpZGF0aW9uIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmZpbGlhbElkID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS5maWxpYWwuaWQ7XG4gICAgICAgIHRoaXMuZm9ybmVjZWRvciA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuZm9ybmVjZWRvcjtcbiAgICAgICAgdGhpcy5wcm9kdXRvID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS5wcm9kdXRvO1xuICAgICAgICB0aGlzLmZvcm5lY2Vkb3JOb3Rhc1Rva2VucyA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuZm9ybmVjZWRvck5vdGFzVG9rZW5zO1xuICAgICAgICB0aGlzLmNvbnRyYXRvcyA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuY29udHJhdG9zO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgc2F2ZSgpIHtcbiAgICAgICAgY29uc3QgY2hhdmVOb3RhRmlzY2FsID0gdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLnZlcmlmaWNhTm90YUZpc2NhbC52ZXJpZmljYVNlTm90YUZpc2NhbEVzdGFEdXBsaWNhZGEoY2hhdmVOb3RhRmlzY2FsLCB0aGlzLmNvbnRyYXRvcywgdGhpcy5mb3JuZWNlZG9yTm90YXNUb2tlbnMpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWNoYXZlTm90YUZpc2NhbCkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVFcnJvckNoYXZlTm90YSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKHRoaXMuZm9ybUdyb3VwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGFiaWxpdGFDYW1wb3NOb3RhRmlzY2FsKCk7XG5cbiAgICAgICAgdGhpcy5jbG9zZSh0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG4gICAgfVxuXG4gICAgY2xvc2UoZGF0YT86IGFueSkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShkYXRhKTtcbiAgICB9XG5cbiAgICBvbkJsdXJOb3RhRmlzY2FsKCkge1xuICAgICAgICBjb25zdCBjaGF2ZU5vdGFGaXNjYWwgPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJjaGF2ZU5vdGFGaXNjYWxcIikudmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMudmVyaWZpY2FOb3RhRmlzY2FsLnZlcmlmaWNhU2VOb3RhRmlzY2FsRXN0YUR1cGxpY2FkYShjaGF2ZU5vdGFGaXNjYWwsIHRoaXMuY29udHJhdG9zLCB0aGlzLmZvcm5lY2Vkb3JOb3Rhc1Rva2VucykpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLmJvdGFvRGVzYWJpbGl0YWRvID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVtb3ZlRXJyb3JDaGF2ZU5vdGEoKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLm5vdGFWYWxpZGF0b3JTZXJ2aWNlLnBlc3F1aXNhckRvY3VtZW50b1ZhbGlkYU5vdGFFbVVzbyh7XG4gICAgICAgICAgICBjaGF2ZURvY3VtZW50bzogKGNoYXZlTm90YUZpc2NhbCB8fCBcIlwiKS5yZXBsYWNlKC9cXHMvZywgXCJcIiksXG4gICAgICAgICAgICBmaWxpYWxJZDogdGhpcy5maWxpYWxJZFxuICAgICAgICB9KVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgfSksZmluYWxpemUoKCkgPT4gdGhpcy5sb2FkaW5nID0gZmFsc2UpKVxuICAgICAgICAuc3Vic2NyaWJlKHRoaXMudmFsaWRhdGVOb3RhRmlzY2FsKTtcblxuICAgICAgICAgIHRoaXMuYm90YW9EZXNhYmlsaXRhZG8gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlTm90YUZpc2NhbCA9IChyZXNwb25zZTogUGVzcXVpc2FyRG9jdW1lbnRvUmVzcG9uc2UpID0+IHsgICAgIFxuICAgICAgICBjb25zdCBjaGF2ZU5vdGFGaXNjYWwgPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJjaGF2ZU5vdGFGaXNjYWxcIikudmFsdWU7XG4gICAgICAgIGlmIChjaGF2ZU5vdGFGaXNjYWwubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgICAgIGlmICghcmVzcG9uc2UgfHwgIXJlc3BvbnNlLmRvY3VtZW50b3NbMF0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgY29uc3QgdmFsdWUgPSByZXNwb25zZS5kb2N1bWVudG9zWzBdO1xuXG4gICAgICAgIGlmICghdGhpcy52YWxpZGFQcm9kdXRvTmFOb3RhRmlzY2FsKHZhbHVlLml0ZW5zKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgbm90YUZpc2NhbCA9IHsgXG4gICAgICAgICAgICBjaGF2ZTogdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnZhbHVlLCBcbiAgICAgICAgICAgIHNlcmllOiB2YWx1ZS5zZXJpZSwgXG4gICAgICAgICAgICBzZXJpZUxlZ2FsOiB2YWx1ZS5zZXJpZUxlZ2FsLCBcbiAgICAgICAgICAgIG51bWVybzogdmFsdWUubnVtZXJvLFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmICghdGhpcy5mb3JuZWNlZG9yKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlQW5kUmV0dXJuTm90YShub3RhRmlzY2FsLCB2YWx1ZS5mb3JuZWNlZG9yLCB2YWx1ZS5vcmlnZW1NZXJjYWRvcmlhKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghISh2YWx1ZS5mb3JuZWNlZG9yIHx8IHtpZDogdW5kZWZpbmVkfSkuaWQgJiYgKHZhbHVlLmZvcm5lY2Vkb3IuaWQgIT09IHRoaXMuZm9ybmVjZWRvci5pZCkpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlybUFuZEFkZE5vdm9Gb3JuZWNlZG9yKG5vdGFGaXNjYWwsIHZhbHVlLmZvcm5lY2Vkb3IsIHZhbHVlLm9yaWdlbU1lcmNhZG9yaWEpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwic2VyaWVOb3RhRmlzY2FsXCIpLnNldFZhbHVlKHZhbHVlLnNlcmllKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwic2VyaWVMZWdhbE5vdGFGaXNjYWxcIikuc2V0VmFsdWUodmFsdWUuc2VyaWVMZWdhbCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcIm51bWVyb05vdGFGaXNjYWxcIikuc2V0VmFsdWUodmFsdWUubnVtZXJvKTtcblxuICAgICAgICB0aGlzLmRlc2FiaWxpdGFDYW1wb3NOb3RhRmlzY2FsKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGFQcm9kdXRvTmFOb3RhRmlzY2FsKHByb2R1dG9zKXtcbiAgICAgICAgaWYgKHByb2R1dG9zICE9IG51bGwgJiYgcHJvZHV0b3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IHByb2R1dG8gPSBwcm9kdXRvc1swXS5wcm9kdXRvO1xuXG4gICAgICAgICAgICBpZiAoISFwcm9kdXRvICYmICEhdGhpcy5wcm9kdXRvICYmIChwcm9kdXRvLmlkICE9PSB0aGlzLnByb2R1dG8uaWQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRFcnJvcklmUHJvZHV0b0lzRGlmZmVyZW50KCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIFxuICAgIHByaXZhdGUgY29uZmlybUFuZEFkZE5vdm9Gb3JuZWNlZG9yKGluZm9Ob3RhOiB7IGNoYXZlOiBzdHJpbmcsIHNlcmllOiBzdHJpbmcsIHNlcmllTGVnYWw6IHN0cmluZywgbnVtZXJvOiBudW1iZXIgfSwgZm9ybmVjZWRvcjogYW55LCBvcmlnZW1NZXJjYWRvcmlhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgaGVhZGVyOiAnTyBmb3JuZWNlZG9yIHZpbmN1bGFkbyBhIG5vdGEgbsOjbyDDqSBvIG1lc21vIHF1ZSBvIHNlbGVjaW9uYWRvJyxcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdPIGZvcm5lY2Vkb3IgdmluY3VsYWRvIGEgbm90YSBuw6NvIMOpIG8gbWVzbW8gcXVlIG8gc2VsZWNpb25hZG8uIERlc2VqYSBhZGljaW9uYXIgdW0gbm92byBmb3JuZWNlZG9yIG91IGNhbmNlbGFyIGEgb3BlcmHDp8Ojbz8nLFxuICAgICAgICAgICAgYWNjZXB0TGFiZWw6ICdBZGljaW9uYXIgdW0gbm92byBmb3JuZWNlZG9yJyxcbiAgICAgICAgICAgIHJlamVjdExhYmVsOiAnQ2FuY2VsYXIgb3BlcmHDp8OjbycsXG4gICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHRoaXMuY2xvc2VBbmRSZXR1cm5Ob3RhKGluZm9Ob3RhLCBmb3JuZWNlZG9yLCBvcmlnZW1NZXJjYWRvcmlhKSxcbiAgICAgICAgICAgIHJlamVjdDogKCkgPT4gdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnNldFZhbHVlKHVuZGVmaW5lZClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRFcnJvcklmUHJvZHV0b0lzRGlmZmVyZW50KCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJjaGF2ZU5vdGFGaXNjYWxcIikuc2V0RXJyb3JzKHsgZXJyb3JDaGF2ZU5vdGE6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVFcnJvckNoYXZlTm90YSgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnNldEVycm9ycyhudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlQW5kUmV0dXJuTm90YShpbmZvTm90YTogeyBjaGF2ZTogc3RyaW5nLCBzZXJpZTogc3RyaW5nLCBzZXJpZUxlZ2FsOiBzdHJpbmcsIG51bWVybzogbnVtYmVyIH0sIGZvcm5lY2Vkb3I6IGFueSwgb3JpZ2VtTWVyY2Fkb3JpYTogYW55KSB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgYWRkRm9ybmVjZWRvcjogdHJ1ZSwgaW5mb05vdGEsIGZvcm5lY2Vkb3IsIG9yaWdlbU1lcmNhZG9yaWEgfSlcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlQWxsRm9ybUZpZWxkcyhmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xuICAgICAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoZmllbGQpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sKSB7XG4gICAgICAgICAgICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHMoY29udHJvbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZvcm1Hcm91cC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FtcG9zUHJlZW5jaGlkb3NWYWxpZGF0aW9uOiBWYWxpZGF0b3JGbiA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgIGNvbnN0IGNoYXZlID0gY29udHJvbC5nZXQoXCJjaGF2ZU5vdGFGaXNjYWxcIikudmFsdWU7XG4gICAgICAgIGNvbnN0IHNlcmllID0gY29udHJvbC5nZXQoXCJzZXJpZU5vdGFGaXNjYWxcIikudmFsdWU7XG4gICAgICAgIGNvbnN0IG51bWVybyA9IGNvbnRyb2wuZ2V0KFwibnVtZXJvTm90YUZpc2NhbFwiKS52YWx1ZTtcblxuICAgICAgICByZXR1cm4gISFjaGF2ZSB8fCAhIXNlcmllIHx8ICEhbnVtZXJvID8gbnVsbCA6IHsgZXJyb011bHRpcGxvc0NhbXBvczogdHJ1ZSB9O1xuICAgIH07XG5cbiAgICBwcml2YXRlIGhhYmlsaXRhQ2FtcG9zTm90YUZpc2NhbCgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwic2VyaWVOb3RhRmlzY2FsXCIpLmVuYWJsZSgpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJzZXJpZUxlZ2FsTm90YUZpc2NhbFwiKS5lbmFibGUoKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwibnVtZXJvTm90YUZpc2NhbFwiKS5lbmFibGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc2FiaWxpdGFDYW1wb3NOb3RhRmlzY2FsKCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJzZXJpZU5vdGFGaXNjYWxcIikuZGlzYWJsZSgpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJzZXJpZUxlZ2FsTm90YUZpc2NhbFwiKS5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcIm51bWVyb05vdGFGaXNjYWxcIikuZGlzYWJsZSgpO1xuICAgIH1cbn0iXX0=
|
|
@@ -48,7 +48,12 @@ let DocumentGridComponent = class DocumentGridComponent {
|
|
|
48
48
|
this.disabled = false;
|
|
49
49
|
}
|
|
50
50
|
cantEditStatus() {
|
|
51
|
-
const cantEditStatus = [
|
|
51
|
+
const cantEditStatus = [
|
|
52
|
+
'CANCELADO',
|
|
53
|
+
'EM_EXECUCAO',
|
|
54
|
+
'CONCLUIDO',
|
|
55
|
+
'AGUARDANDO_POR_VALIDACAO'
|
|
56
|
+
].includes(this.agenda.status.toString());
|
|
52
57
|
if (cantEditStatus) {
|
|
53
58
|
this.enableButtonIsClienteExterno = false;
|
|
54
59
|
}
|
|
@@ -56,6 +61,7 @@ let DocumentGridComponent = class DocumentGridComponent {
|
|
|
56
61
|
getActions() {
|
|
57
62
|
return [
|
|
58
63
|
{
|
|
64
|
+
disabled: this.checkWmsSystemInvalid(),
|
|
59
65
|
label: this.translate.instant("yms.int.wms_search"),
|
|
60
66
|
command: () => {
|
|
61
67
|
this.selection = [];
|
|
@@ -64,6 +70,7 @@ let DocumentGridComponent = class DocumentGridComponent {
|
|
|
64
70
|
icon: "fa fa-search"
|
|
65
71
|
},
|
|
66
72
|
{
|
|
73
|
+
disabled: this.checkWmsSystemInvalid(),
|
|
67
74
|
label: this.translate.instant("yms.int.wms_add_document_register"),
|
|
68
75
|
command: () => {
|
|
69
76
|
this.selection = [];
|
|
@@ -74,6 +81,12 @@ let DocumentGridComponent = class DocumentGridComponent {
|
|
|
74
81
|
}
|
|
75
82
|
];
|
|
76
83
|
}
|
|
84
|
+
checkWmsSystemInvalid() {
|
|
85
|
+
if (this.wmsSystem && this.wmsSystem === WmsSystem.NONE) {
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
77
90
|
getProp(obj, path) {
|
|
78
91
|
return path.split(".").reduce((result, prop) => (result[prop] === undefined ? "" : result[prop]), obj);
|
|
79
92
|
}
|
|
@@ -259,4 +272,4 @@ DocumentGridComponent = tslib_1.__decorate([
|
|
|
259
272
|
AgendaService])
|
|
260
273
|
], DocumentGridComponent);
|
|
261
274
|
export { DocumentGridComponent };
|
|
262
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3dtcy9jb21wb25lbnRzL2RvY3VtZW50LWdyaWQvZG9jdW1lbnQtZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBb0Msa0JBQWtCLEVBQWUsTUFBTSxrREFBa0QsQ0FBQztBQUNySSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQXVCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBWSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQW9CLE1BQU0sc0NBQXNDLENBQUM7QUFPdkYsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7SUF5QzlCLFlBQ3FCLFNBQTJCLEVBQzNCLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLG1CQUF3QyxFQUN4QyxrQkFBc0MsRUFDdEMsYUFBNEI7UUFMNUIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0Isb0JBQWUsR0FB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M0I7SUFBVCxNQUFNLEVBQUU7O3NFQUFrQztBQUVqQztJQUFULE1BQU0sRUFBRTtzQ0FBZSxZQUFZOzJEQUFnQztBQWlCcEU7SUFEQyxTQUFTLENBQUMsZUFBZSxDQUFDO3NDQUNiLEtBQUs7b0RBQUM7QUFHcEI7SUFEQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7c0NBQ0wsV0FBVzs2REFBTTtBQUd4QztJQURDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQztzQ0FDTCxXQUFXO2lFQUFNO0FBRzVDO0lBREMsU0FBUyxDQUFDLG9CQUFvQixDQUFDO3NDQUNMLFdBQVc7aUVBQU07QUFHNUM7SUFEQyxTQUFTLENBQUMsa0JBQWtCLENBQUM7c0NBQ0wsV0FBVzsrREFBTTtBQUcxQztJQURDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztzQ0FDTCxXQUFXOzZEQUFNO0FBdkMvQixxQkFBcUI7SUFMakMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGVBQWU7UUFDekIscXFMQUE2Qzs7S0FFaEQsQ0FBQzs2Q0EyQ2tDLGdCQUFnQjtRQUNWLGVBQWU7UUFDaEIsY0FBYztRQUNULG1CQUFtQjtRQUNwQixrQkFBa0I7UUFDdkIsYUFBYTtHQS9DeEMscUJBQXFCLENBMFBqQztTQTFQWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZXRQcm9jZXNzVHlwZUJ5U2NoZWR1bGluZ091dHB1dCwgSW50ZWdyYXRpb25TZXJ2aWNlLCBQcm9jZXNzVHlwZSB9IGZyb20gJy4vLi4vLi4vZW50aXRpZXMvaW50ZWdyYXRpb24vaW50ZWdyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBlbXB0eSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRG9jdW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZW50aXRpZXMvZG9jdW1lbnQvZG9jdW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBZnRlckNvbnRlbnRDaGVja2VkLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgTWVudUl0ZW0sIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQge0RvY3VtZW50IH0gZnJvbSBcIi4uLy4uL2VudGl0aWVzL2RvY3VtZW50L2RvY3VtZW50XCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5pbXBvcnQgeyBTdWJqZWN0LCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgV21zU3lzdGVtIH0gZnJvbSAnLi4vLi4vZW50aXRpZXMvd21zLXN5c3RlbS93bXMtc3lzdGVtJztcbmltcG9ydCB7IEFnZW5kYVNlcnZpY2UsIElzQ2xpZW50ZUV4dGVybm8gfSBmcm9tICcuLi8uLi9lbnRpdGllcy9hZ2VuZGEvYWdlbmRhLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RvY3VtZW50LWdyaWQnLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZG9jdW1lbnQtZ3JpZC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9kb2N1bWVudC1ncmlkLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIERvY3VtZW50R3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCB7XG5cbiAgICBASW5wdXQoKSBhZ2VuZGE7XG4gICAgQElucHV0KCkgd21zU3lzdGVtOiBXbXNTeXN0ZW07XG4gICAgQE91dHB1dCgpIHZpc2libGVJbnZvaWNlS2V5OiBib29sZWFuO1xuICAgIEBPdXRwdXQoKSB2aXNpYmxlRG9jdW1lbnRSZWdpc3RlcjogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSB2aWV3RG9jdW1lbnQ6IEV2ZW50RW1pdHRlcjxEb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgZG9jdW1lbnRUb3RhbFJlY29yZHM6IG51bWJlcjtcbiAgICBwdWJsaWMgZ3JpZENvbHVtbnM6IGFueTtcbiAgICBwdWJsaWMgZ3JpZERhdGE6IERvY3VtZW50W10gPSBbXTtcbiAgICBwdWJsaWMgc2VsZWN0aW9uOiBEb2N1bWVudFtdO1xuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgbG9hZGluZzogYm9vbGVhbjtcbiAgICBwdWJsaWMgZG9jdW1lbnQ6IERvY3VtZW50O1xuICAgIHB1YmxpYyBlZGl0OiBib29sZWFuO1xuICAgIHB1YmxpYyBwcm9jZXNzVHlwZTogUHJvY2Vzc1R5cGU7XG4gICAgcHJpdmF0ZSBpc0NsaWVudGVFeHRlcm5vOiBib29sZWFuO1xuICAgIHB1YmxpYyBlbmFibGVCdXR0b25Jc0NsaWVudGVFeHRlcm5vID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBAVmlld0NoaWxkKFwiZG9jdW1lbnRUYWJsZVwiKVxuICAgIHB1YmxpYyB0YWJsZTogVGFibGU7XG5cbiAgICBAVmlld0NoaWxkKFwiY3VzdG9tVGVtcGxhdGVcIilcbiAgICBwdWJsaWMgY3VzdG9tVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKFwiY3VzdG9tRmlsdGVyRmllbGRzXCIpXG4gICAgcHVibGljIGN1c3RvbUZpbHRlckZpZWxkczogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoXCJjdXN0b21HcmlkQ29sZ3JvdXBcIilcbiAgICBwdWJsaWMgY3VzdG9tR3JpZENvbGdyb3VwOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQFZpZXdDaGlsZChcImN1c3RvbUdyaWRIZWFkZXJcIilcbiAgICBwdWJsaWMgY3VzdG9tR3JpZEhlYWRlcjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoXCJjdXN0b21HcmlkQm9keVwiKVxuICAgIHB1YmxpYyBjdXN0b21HcmlkQm9keTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbnRlZ3JhdGlvblNlcnZpY2U6IEludGVncmF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhZ2VuZGFTZXJ2aWNlOiBBZ2VuZGFTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uID0gW107XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmVyaWZ5Q2xpZW50ZUV4dGVybm8oKTtcbiAgICAgICAgdGhpcy5nZXRQcm9jZXNzVHlwZUJ5U2NoZWR1bGluZygpO1xuICAgICAgICB0aGlzLmxpc3REb2N1bWVudHMoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ3JpZENvbHVtbnMgPSB0aGlzLmdldEdyaWRDb2x1bW5zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2ZXJpZnlDbGllbnRlRXh0ZXJubygpIHtcbiAgICAgICAgdGhpcy5hZ2VuZGFTZXJ2aWNlLmlzQ2xpZW50ZUV4dGVybm8oKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElzQ2xpZW50ZUV4dGVybm8pID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNDbGllbnRlRXh0ZXJubyA9IHJlc3VsdC5pc0NsaWVudGVFeHRlcm5vO1xuICAgICAgICAgICAgdGhpcy5jYW50RWRpdFN0YXR1cygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb2Nlc3NUeXBlQnlTY2hlZHVsaW5nKCkge1xuICAgICAgICB0aGlzLmludGVncmF0aW9uU2VydmljZS5nZXRQcm9jZXNzVHlwZUJ5U2NoZWR1bGluZyh0aGlzLmFnZW5kYS50aXBvQWdlbmRhbWVudG8uaWQpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IEdldFByb2Nlc3NUeXBlQnlTY2hlZHVsaW5nT3V0cHV0KSA9PiB0aGlzLnByb2Nlc3NUeXBlID0gcmVzdWx0LnByb2Nlc3NUeXBlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DaGFuZ2VEb2N1bWVudChkb2N1bWVudDogRG9jdW1lbnQpIHtcbiAgICAgICAgdGhpcy5ncmlkRGF0YS5wdXNoKGRvY3VtZW50KTtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FudEVkaXRTdGF0dXMoKSB7XG4gICAgICAgIGNvbnN0IGNhbnRFZGl0U3RhdHVzID0gWydDQU5DRUxBRE8nLCAnRU1fRVhFQ1VDQU8nLCAnQ09OQ0xVSURPJ10uaW5jbHVkZXModGhpcy5hZ2VuZGEuc3RhdHVzLnRvU3RyaW5nKCkpO1xuICAgICAgICBpZihjYW50RWRpdFN0YXR1cykge1xuICAgICAgICAgICAgdGhpcy5lbmFibGVCdXR0b25Jc0NsaWVudGVFeHRlcm5vID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWN0aW9ucygpOiBNZW51SXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3NlYXJjaFwiKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uID0gW107XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZUludm9pY2VLZXkgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaWNvbjogXCJmYSBmYS1zZWFyY2hcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX2FkZF9kb2N1bWVudF9yZWdpc3RlclwiKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uID0gW107XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZURvY3VtZW50UmVnaXN0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaWNvbjogXCJmYXMgZmEtcGVuLXNxdWFyZVwiXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHVibGljIGdldFByb3Aob2JqOiBhbnksIHBhdGg6IGFueSkge1xuICAgICAgICByZXR1cm4gcGF0aC5zcGxpdChcIi5cIikucmVkdWNlKChyZXN1bHQ6IGFueSwgcHJvcDogYW55KSA9PiAocmVzdWx0W3Byb3BdID09PSB1bmRlZmluZWQgPyBcIlwiIDogcmVzdWx0W3Byb3BdKSwgb2JqKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmlldygpIHtcbiAgICAgICAgdGhpcy52aWV3RG9jdW1lbnQuZW1pdCh0aGlzLnNlbGVjdGlvblswXSk7XG4gICAgICAgIHRoaXMudmlzaWJsZURvY3VtZW50UmVnaXN0ZXIgPSB0cnVlO1xuICAgICAgICB0aGlzLmVkaXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2F2ZSgpIHtcbiAgICAgICAgaWYodGhpcy5ncmlkRGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmdyaWREYXRhLmZvckVhY2goZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgaWYoIWRhdGEuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYoIWRhdGEuc2NoZWR1bGluZ0lkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLnNjaGVkdWxpbmdJZCA9IHRoaXMuYWdlbmRhLmlkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGRhdGEua2V5ID0gdGhpcy51cGRhdGVLZXlCeVdtcyhkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuaW5zZXJ0KGRhdGEpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2UoXCJzdWNjZXNzXCIsIFwic2F2ZWRfbWVzc2FnZV90aXRsZVwiLCBcInNhdmVkX21lc3NhZ2VfY29udGVudFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVLZXlCeVdtcyhkYXRhOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWRhdGEua2V5KSB7XG4gICAgICAgICAgICBkYXRhLmtleSA9IGRhdGEuaW52b2ljZUtleTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5XSVMpIHtcbiAgICAgICAgICAgIGRhdGEua2V5ID0gYCR7ZGF0YS5pbnZvaWNlTnVtYmVyfToke2RhdGEuaW52b2ljZVNlcmlhbE51bWJlcn06JHtkYXRhLnBhcnRuZXJEb2N1bWVudH1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhLmtleTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25EZWxldGUoKSB7XG4gICAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJkZWxldGVfY29uZmlybWF0aW9uX21lc3NhZ2VcIiksXG4gICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJkZWxldGVfY29uZmlybWF0aW9uX3RpdGxlXCIpLFxuICAgICAgICAgICAgYWNjZXB0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVEb2N1bWVudElmSWRVbmRmaW5lZCgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVtcHR5KCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvcmtKb2luKHRoaXMuc2VsZWN0aW9uLm1hcChkb2N1bWVudCA9PiB0aGlzLmRvY3VtZW50U2VydmljZS5kZWxldGUoZG9jdW1lbnQuaWQpKSlcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V2ZXJpdHk6IFwic3VjY2Vzc1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImRlbGV0ZWRfbWVzc2FnZV90aXRsZVwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImRlbGV0ZWRfbWVzc2FnZV9jb250ZW50XCIpLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkRGF0YSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3REb2N1bWVudHMoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVEb2N1bWVudElmSWRVbmRmaW5lZCgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uZm9yRWFjaCgodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXZhbHVlLmlkKSB7XG4gICAgICAgICAgICAgIHRoaXMuZ3JpZERhdGEuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGxpc3REb2N1bWVudHMoKSB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmxpc3Qoe1xuICAgICAgICAgICAgZmlsdGVyUXVlcnk6IGBzY2hlZHVsaW5nSWQgZXEgJyR7dGhpcy5hZ2VuZGEuaWR9J2BcbiAgICAgICAgfSlcbiAgICAgICAgLnN1YnNjcmliZSgoY29udGVudHM6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5ncmlkRGF0YSA9IFtdO1xuICAgICAgICAgICAgaWYoY29udGVudHMudG90YWxFbGVtZW50cyA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWREYXRhID0gY29udGVudHMuY29udGVudHM7XG4gICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudFRvdGFsUmVjb3JkcyA9IGNvbnRlbnRzLnRvdGFsRWxlbWVudHM7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRUb3RhbFJlY29yZHMgPSB0aGlzLmdyaWREYXRhLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRHcmlkQ29sdW1ucygpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNXbXNTZW5pb3JDb25uZWN0KCkpIHtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgeyBmaWVsZDogXCJrZXlcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcHVyY2hhc2VPcmRlclwiKSB9LFxuICAgICAgICAgICAgICAgIC4uLnRoaXMuZ2V0Q29sdW1uUGFydG5lcigpXG4gICAgICAgICAgICBdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNXbXNXSVMoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29sdW1uSW52b2ljZUFuZGxvZ2lzdGNVbml0KCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgeyBmaWVsZDogXCJpbnZvaWNlS2V5XCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X2ludm9pY2Vfa2V5XCIpIH0sXG4gICAgICAgICAgICAuLi50aGlzLmdldENvbHVtbkludm9pY2VBbmRsb2dpc3RjVW5pdCgpLFxuICAgICAgICAgICAgeyBmaWVsZDogXCJvd25lck5hbWVcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfb3duZXJfbmFtZVwiKSB9LFxuICAgICAgICAgICAgeyBmaWVsZDogXCJvd25lckRvY3VtZW50XCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X293bmVyX2RvY3VtZW50XCIpIH0sXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb2x1bW5JbnZvaWNlQW5kbG9naXN0Y1VuaXQoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IGZpZWxkOiBcImludm9pY2VOdW1iZXJcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfaW52b2ljZV9udW1iZXJcIikgfSxcbiAgICAgICAgICAgIHsgZmllbGQ6IFwiaW52b2ljZVNlcmlhbE51bWJlclwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX3NlcmlhbF9udW1iZXJcIikgfSxcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0Q29sdW1uUGFydG5lcigpLFxuICAgICAgICAgICAgeyBmaWVsZDogXCJsb2dpc3RjVW5pdE5hbWVcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfbG9naXN0Y191bml0X25hbWVcIikgfSxcbiAgICAgICAgICAgIHsgZmllbGQ6IFwibG9naXN0Y1VuaXREb2N1bWVudFwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9sb2dpc3RjX3VuaXRfZG9jdW1lbnRcIikgfSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbHVtblBhcnRuZXIoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IGZpZWxkOiBcInBhcnRuZXJOYW1lXCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X3BhcnRuZXJfbmFtZVwiKSB9LFxuICAgICAgICAgICAgeyBmaWVsZDogXCJwYXJ0bmVyRG9jdW1lbnRcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfcGFydG5lcl9kb2N1bWVudFwiKSB9LFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1dtc1NlbmlvckNvbm5lY3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLlNFTklPUl9DT05ORUNUO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1dtc1dJUygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uV0lTO1xuICAgIH1cblxuICAgIHByaXZhdGUgbWVzc2FnZShzZXZlcml0eTogc3RyaW5nLCBzdW1tYXJ5OiBzdHJpbmcsIGRldGFpbDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgIHNldmVyaXR5LFxuICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChzdW1tYXJ5KSxcbiAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChkZXRhaWwpLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3dtcy9jb21wb25lbnRzL2RvY3VtZW50LWdyaWQvZG9jdW1lbnQtZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBb0Msa0JBQWtCLEVBQWUsTUFBTSxrREFBa0QsQ0FBQztBQUNySSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQXVCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBWSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQW9CLE1BQU0sc0NBQXNDLENBQUM7QUFPdkYsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7SUF5QzlCLFlBQ3FCLFNBQTJCLEVBQzNCLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLG1CQUF3QyxFQUN4QyxrQkFBc0MsRUFDdEMsYUFBNEI7UUFMNUIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0Isb0JBQWUsR0FB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UixPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3hDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7U0FDekMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKLENBQUE7QUF2UVk7SUFBUixLQUFLLEVBQUU7O3FEQUFRO0FBQ1A7SUFBUixLQUFLLEVBQUU7O3dEQUFzQjtBQUNwQjtJQUFULE1BQU0sRUFBRTs7Z0VBQTRCO0FBQzNCO0lBQVQsTUFBTSxFQUFFOztzRUFBa0M7QUFFakM7SUFBVCxNQUFNLEVBQUU7c0NBQWUsWUFBWTsyREFBZ0M7QUFpQnBFO0lBREMsU0FBUyxDQUFDLGVBQWUsQ0FBQztzQ0FDYixLQUFLO29EQUFDO0FBR3BCO0lBREMsU0FBUyxDQUFDLGdCQUFnQixDQUFDO3NDQUNMLFdBQVc7NkRBQU07QUFHeEM7SUFEQyxTQUFTLENBQUMsb0JBQW9CLENBQUM7c0NBQ0wsV0FBVztpRUFBTTtBQUc1QztJQURDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQztzQ0FDTCxXQUFXO2lFQUFNO0FBRzVDO0lBREMsU0FBUyxDQUFDLGtCQUFrQixDQUFDO3NDQUNMLFdBQVc7K0RBQU07QUFHMUM7SUFEQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7c0NBQ0wsV0FBVzs2REFBTTtBQXZDL0IscUJBQXFCO0lBTGpDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxlQUFlO1FBQ3pCLHFxTEFBNkM7O0tBRWhELENBQUM7NkNBMkNrQyxnQkFBZ0I7UUFDVixlQUFlO1FBQ2hCLGNBQWM7UUFDVCxtQkFBbUI7UUFDcEIsa0JBQWtCO1FBQ3ZCLGFBQWE7R0EvQ3hDLHFCQUFxQixDQXlRakM7U0F6UVkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0UHJvY2Vzc1R5cGVCeVNjaGVkdWxpbmdPdXRwdXQsIEludGVncmF0aW9uU2VydmljZSwgUHJvY2Vzc1R5cGUgfSBmcm9tICcuLy4uLy4uL2VudGl0aWVzL2ludGVncmF0aW9uL2ludGVncmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgZW1wdHkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERvY3VtZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2VudGl0aWVzL2RvY3VtZW50L2RvY3VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIE1lbnVJdGVtLCBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHtEb2N1bWVudCB9IGZyb20gXCIuLi8uLi9lbnRpdGllcy9kb2N1bWVudC9kb2N1bWVudFwiO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuaW1wb3J0IHsgU3ViamVjdCwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFdtc1N5c3RlbSB9IGZyb20gJy4uLy4uL2VudGl0aWVzL3dtcy1zeXN0ZW0vd21zLXN5c3RlbSc7XG5pbXBvcnQgeyBBZ2VuZGFTZXJ2aWNlLCBJc0NsaWVudGVFeHRlcm5vIH0gZnJvbSAnLi4vLi4vZW50aXRpZXMvYWdlbmRhL2FnZW5kYS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkb2N1bWVudC1ncmlkJyxcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2RvY3VtZW50LWdyaWQuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vZG9jdW1lbnQtZ3JpZC5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBEb2N1bWVudEdyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudENoZWNrZWQge1xuXG4gICAgQElucHV0KCkgYWdlbmRhO1xuICAgIEBJbnB1dCgpIHdtc1N5c3RlbTogV21zU3lzdGVtO1xuICAgIEBPdXRwdXQoKSB2aXNpYmxlSW52b2ljZUtleTogYm9vbGVhbjtcbiAgICBAT3V0cHV0KCkgdmlzaWJsZURvY3VtZW50UmVnaXN0ZXI6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgdmlld0RvY3VtZW50OiBFdmVudEVtaXR0ZXI8RG9jdW1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHVibGljIGRvY3VtZW50VG90YWxSZWNvcmRzOiBudW1iZXI7XG4gICAgcHVibGljIGdyaWRDb2x1bW5zOiBhbnk7XG4gICAgcHVibGljIGdyaWREYXRhOiBEb2N1bWVudFtdID0gW107XG4gICAgcHVibGljIHNlbGVjdGlvbjogRG9jdW1lbnRbXTtcbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIGxvYWRpbmc6IGJvb2xlYW47XG4gICAgcHVibGljIGRvY3VtZW50OiBEb2N1bWVudDtcbiAgICBwdWJsaWMgZWRpdDogYm9vbGVhbjtcbiAgICBwdWJsaWMgcHJvY2Vzc1R5cGU6IFByb2Nlc3NUeXBlO1xuICAgIHByaXZhdGUgaXNDbGllbnRlRXh0ZXJubzogYm9vbGVhbjtcbiAgICBwdWJsaWMgZW5hYmxlQnV0dG9uSXNDbGllbnRlRXh0ZXJubyA9IHRydWU7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgQFZpZXdDaGlsZChcImRvY3VtZW50VGFibGVcIilcbiAgICBwdWJsaWMgdGFibGU6IFRhYmxlO1xuXG4gICAgQFZpZXdDaGlsZChcImN1c3RvbVRlbXBsYXRlXCIpXG4gICAgcHVibGljIGN1c3RvbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQFZpZXdDaGlsZChcImN1c3RvbUZpbHRlckZpZWxkc1wiKVxuICAgIHB1YmxpYyBjdXN0b21GaWx0ZXJGaWVsZHM6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKFwiY3VzdG9tR3JpZENvbGdyb3VwXCIpXG4gICAgcHVibGljIGN1c3RvbUdyaWRDb2xncm91cDogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoXCJjdXN0b21HcmlkSGVhZGVyXCIpXG4gICAgcHVibGljIGN1c3RvbUdyaWRIZWFkZXI6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKFwiY3VzdG9tR3JpZEJvZHlcIilcbiAgICBwdWJsaWMgY3VzdG9tR3JpZEJvZHk6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW50ZWdyYXRpb25TZXJ2aWNlOiBJbnRlZ3JhdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWdlbmRhU2VydmljZTogQWdlbmRhU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IFtdO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZlcmlmeUNsaWVudGVFeHRlcm5vKCk7XG4gICAgICAgIHRoaXMuZ2V0UHJvY2Vzc1R5cGVCeVNjaGVkdWxpbmcoKTtcbiAgICAgICAgdGhpcy5saXN0RG9jdW1lbnRzKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdyaWRDb2x1bW5zID0gdGhpcy5nZXRHcmlkQ29sdW1ucygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmVyaWZ5Q2xpZW50ZUV4dGVybm8oKSB7XG4gICAgICAgIHRoaXMuYWdlbmRhU2VydmljZS5pc0NsaWVudGVFeHRlcm5vKClcbiAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBJc0NsaWVudGVFeHRlcm5vKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzQ2xpZW50ZUV4dGVybm8gPSByZXN1bHQuaXNDbGllbnRlRXh0ZXJubztcbiAgICAgICAgICAgIHRoaXMuY2FudEVkaXRTdGF0dXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzVHlwZUJ5U2NoZWR1bGluZygpIHtcbiAgICAgICAgdGhpcy5pbnRlZ3JhdGlvblNlcnZpY2UuZ2V0UHJvY2Vzc1R5cGVCeVNjaGVkdWxpbmcodGhpcy5hZ2VuZGEudGlwb0FnZW5kYW1lbnRvLmlkKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBHZXRQcm9jZXNzVHlwZUJ5U2NoZWR1bGluZ091dHB1dCkgPT4gdGhpcy5wcm9jZXNzVHlwZSA9IHJlc3VsdC5wcm9jZXNzVHlwZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2hhbmdlRG9jdW1lbnQoZG9jdW1lbnQ6IERvY3VtZW50KSB7XG4gICAgICAgIHRoaXMuZ3JpZERhdGEucHVzaChkb2N1bWVudCk7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbnRFZGl0U3RhdHVzKCkge1xuICAgICAgICBjb25zdCBjYW50RWRpdFN0YXR1cyA9IFtcbiAgICAgICAgICAgICdDQU5DRUxBRE8nLFxuICAgICAgICAgICAgJ0VNX0VYRUNVQ0FPJyxcbiAgICAgICAgICAgICdDT05DTFVJRE8nLFxuICAgICAgICAgICAgJ0FHVUFSREFORE9fUE9SX1ZBTElEQUNBTydcbiAgICAgICAgXS5pbmNsdWRlcyh0aGlzLmFnZW5kYS5zdGF0dXMudG9TdHJpbmcoKSk7XG5cbiAgICAgICAgaWYoY2FudEVkaXRTdGF0dXMpIHtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlQnV0dG9uSXNDbGllbnRlRXh0ZXJubyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFjdGlvbnMoKTogTWVudUl0ZW1bXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuY2hlY2tXbXNTeXN0ZW1JbnZhbGlkKCksXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19zZWFyY2hcIiksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVJbnZvaWNlS2V5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGljb246IFwiZmEgZmEtc2VhcmNoXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuY2hlY2tXbXNTeXN0ZW1JbnZhbGlkKCksXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19hZGRfZG9jdW1lbnRfcmVnaXN0ZXJcIiksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVEb2N1bWVudFJlZ2lzdGVyID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGljb246IFwiZmFzIGZhLXBlbi1zcXVhcmVcIlxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGVja1dtc1N5c3RlbUludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLndtc1N5c3RlbSAmJiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLk5PTkUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UHJvcChvYmo6IGFueSwgcGF0aDogYW55KSB7XG4gICAgICAgIHJldHVybiBwYXRoLnNwbGl0KFwiLlwiKS5yZWR1Y2UoKHJlc3VsdDogYW55LCBwcm9wOiBhbnkpID0+IChyZXN1bHRbcHJvcF0gPT09IHVuZGVmaW5lZCA/IFwiXCIgOiByZXN1bHRbcHJvcF0pLCBvYmopO1xuICAgIH1cblxuICAgIHB1YmxpYyB2aWV3KCkge1xuICAgICAgICB0aGlzLnZpZXdEb2N1bWVudC5lbWl0KHRoaXMuc2VsZWN0aW9uWzBdKTtcbiAgICAgICAgdGhpcy52aXNpYmxlRG9jdW1lbnRSZWdpc3RlciA9IHRydWU7XG4gICAgICAgIHRoaXMuZWRpdCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzYXZlKCkge1xuICAgICAgICBpZih0aGlzLmdyaWREYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuZ3JpZERhdGEuZm9yRWFjaChkYXRhID0+IHtcbiAgICAgICAgICAgICAgICBpZighZGF0YS5pZCkge1xuICAgICAgICAgICAgICAgICAgICBpZighZGF0YS5zY2hlZHVsaW5nSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuc2NoZWR1bGluZ0lkID0gdGhpcy5hZ2VuZGEuaWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YS5rZXkgPSB0aGlzLnVwZGF0ZUtleUJ5V21zKGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5pbnNlcnQoZGF0YSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZShcInN1Y2Nlc3NcIiwgXCJzYXZlZF9tZXNzYWdlX3RpdGxlXCIsIFwic2F2ZWRfbWVzc2FnZV9jb250ZW50XCIpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUtleUJ5V21zKGRhdGE6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGlmICghZGF0YS5rZXkpIHtcbiAgICAgICAgICAgIGRhdGEua2V5ID0gZGF0YS5pbnZvaWNlS2V5O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLldJUykge1xuICAgICAgICAgICAgZGF0YS5rZXkgPSBgJHtkYXRhLmludm9pY2VOdW1iZXJ9OiR7ZGF0YS5pbnZvaWNlU2VyaWFsTnVtYmVyfToke2RhdGEucGFydG5lckRvY3VtZW50fWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGEua2V5O1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkRlbGV0ZSgpIHtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImRlbGV0ZV9jb25maXJtYXRpb25fbWVzc2FnZVwiKSxcbiAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImRlbGV0ZV9jb25maXJtYXRpb25fdGl0bGVcIiksXG4gICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZURvY3VtZW50SWZJZFVuZGZpbmVkKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24ubGVuZ3RoIDwgMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW1wdHkoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZm9ya0pvaW4odGhpcy5zZWxlY3Rpb24ubWFwKGRvY3VtZW50ID0+IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmRlbGV0ZShkb2N1bWVudC5pZCkpKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJzdWNjZXNzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiZGVsZXRlZF9tZXNzYWdlX3RpdGxlXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiZGVsZXRlZF9tZXNzYWdlX2NvbnRlbnRcIiksXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWREYXRhID0gW107XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdERvY3VtZW50cygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZURvY3VtZW50SWZJZFVuZGZpbmVkKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5mb3JFYWNoKCh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmICghdmFsdWUuaWQpIHtcbiAgICAgICAgICAgICAgdGhpcy5ncmlkRGF0YS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGlzdERvY3VtZW50cygpIHtcbiAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UubGlzdCh7XG4gICAgICAgICAgICBmaWx0ZXJRdWVyeTogYHNjaGVkdWxpbmdJZCBlcSAnJHt0aGlzLmFnZW5kYS5pZH0nYFxuICAgICAgICB9KVxuICAgICAgICAuc3Vic2NyaWJlKChjb250ZW50czogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdyaWREYXRhID0gW107XG4gICAgICAgICAgICBpZihjb250ZW50cy50b3RhbEVsZW1lbnRzID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZERhdGEgPSBjb250ZW50cy5jb250ZW50cztcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50VG90YWxSZWNvcmRzID0gY29udGVudHMudG90YWxFbGVtZW50cztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudFRvdGFsUmVjb3JkcyA9IHRoaXMuZ3JpZERhdGEubGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEdyaWRDb2x1bW5zKCkge1xuICAgICAgICBpZiAodGhpcy5pc1dtc1NlbmlvckNvbm5lY3QoKSkge1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICB7IGZpZWxkOiBcImtleVwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19wdXJjaGFzZU9yZGVyXCIpIH0sXG4gICAgICAgICAgICAgICAgLi4udGhpcy5nZXRDb2x1bW5QYXJ0bmVyKClcbiAgICAgICAgICAgIF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc1dtc1dJUygpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRDb2x1bW5JbnZvaWNlQW5kbG9naXN0Y1VuaXQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IGZpZWxkOiBcImludm9pY2VLZXlcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfaW52b2ljZV9rZXlcIikgfSxcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0Q29sdW1uSW52b2ljZUFuZGxvZ2lzdGNVbml0KCksXG4gICAgICAgICAgICB7IGZpZWxkOiBcIm93bmVyTmFtZVwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9vd25lcl9uYW1lXCIpIH0sXG4gICAgICAgICAgICB7IGZpZWxkOiBcIm93bmVyRG9jdW1lbnRcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfb3duZXJfZG9jdW1lbnRcIikgfSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbHVtbkludm9pY2VBbmRsb2dpc3RjVW5pdCgpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgZmllbGQ6IFwiaW52b2ljZU51bWJlclwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX251bWJlclwiKSB9LFxuICAgICAgICAgICAgeyBmaWVsZDogXCJpbnZvaWNlU2VyaWFsTnVtYmVyXCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X2ludm9pY2Vfc2VyaWFsX251bWJlclwiKSB9LFxuICAgICAgICAgICAgLi4udGhpcy5nZXRDb2x1bW5QYXJ0bmVyKCksXG4gICAgICAgICAgICB7IGZpZWxkOiBcImxvZ2lzdGNVbml0TmFtZVwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9sb2dpc3RjX3VuaXRfbmFtZVwiKSB9LFxuICAgICAgICAgICAgeyBmaWVsZDogXCJsb2dpc3RjVW5pdERvY3VtZW50XCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X2xvZ2lzdGNfdW5pdF9kb2N1bWVudFwiKSB9LFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29sdW1uUGFydG5lcigpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgZmllbGQ6IFwicGFydG5lck5hbWVcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfcGFydG5lcl9uYW1lXCIpIH0sXG4gICAgICAgICAgICB7IGZpZWxkOiBcInBhcnRuZXJEb2N1bWVudFwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9wYXJ0bmVyX2RvY3VtZW50XCIpIH0sXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zU2VuaW9yQ29ubmVjdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uU0VOSU9SX0NPTk5FQ1Q7XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zV0lTKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5XSVM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtZXNzYWdlKHNldmVyaXR5OiBzdHJpbmcsIHN1bW1hcnk6IHN0cmluZywgZGV0YWlsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgc2V2ZXJpdHksXG4gICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHN1bW1hcnkpLFxuICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGRldGFpbCksXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
import * as tslib_1 from "tslib";
|
|
2
2
|
import { VerificaNotafiscal } from '../../core/verifica-nota-fiscal/verificaNotaFiscal';
|
|
3
3
|
import { Component } from "@angular/core";
|
|
4
|
-
import { FormBuilder, FormControl, FormGroup } from "@angular/forms";
|
|
4
|
+
import { FormBuilder, FormControl, FormGroup, Validators } from "@angular/forms";
|
|
5
5
|
import { ConfirmationService, DynamicDialogConfig, DynamicDialogRef } from "primeng/api";
|
|
6
|
-
import { Subject } from "rxjs";
|
|
7
|
-
import { finalize, takeUntil } from "rxjs/operators";
|
|
6
|
+
import { Subject, of } from "rxjs";
|
|
7
|
+
import { catchError, finalize, takeUntil } from "rxjs/operators";
|
|
8
8
|
import { NotaValidatorService } from "../../core/nota-validator.service";
|
|
9
|
-
import { MessageService } from "primeng/components/common/messageservice";
|
|
10
|
-
import { TranslateService } from "@ngx-translate/core";
|
|
11
9
|
var NotaFormComponent = /** @class */ (function () {
|
|
12
|
-
function NotaFormComponent(fb, notaValidatorService, dialogConfig, confirmationService, dialogRef, verificaNotaFiscal
|
|
10
|
+
function NotaFormComponent(fb, notaValidatorService, dialogConfig, confirmationService, dialogRef, verificaNotaFiscal) {
|
|
13
11
|
var _this = this;
|
|
14
12
|
this.notaValidatorService = notaValidatorService;
|
|
15
13
|
this.dialogConfig = dialogConfig;
|
|
16
14
|
this.confirmationService = confirmationService;
|
|
17
15
|
this.dialogRef = dialogRef;
|
|
18
16
|
this.verificaNotaFiscal = verificaNotaFiscal;
|
|
19
|
-
this.messageService = messageService;
|
|
20
|
-
this.translate = translate;
|
|
21
17
|
this.loading = false;
|
|
22
18
|
this.botaoDesabilitado = false;
|
|
19
|
+
this.disabled = true;
|
|
23
20
|
this.unsubscribe$ = new Subject();
|
|
24
21
|
this.validateNotaFiscal = function (response) {
|
|
22
|
+
var chaveNotaFiscal = _this.formGroup.get("chaveNotaFiscal").value;
|
|
23
|
+
if (chaveNotaFiscal.length === 0) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
_this.disabled = false;
|
|
25
27
|
if (!response || !response.documentos[0]) {
|
|
26
28
|
return;
|
|
27
29
|
}
|
|
@@ -55,10 +57,10 @@ var NotaFormComponent = /** @class */ (function () {
|
|
|
55
57
|
return !!chave || !!serie || !!numero ? null : { erroMultiplosCampos: true };
|
|
56
58
|
};
|
|
57
59
|
this.formGroup = fb.group({
|
|
58
|
-
chaveNotaFiscal: [undefined],
|
|
59
|
-
serieNotaFiscal: [undefined],
|
|
60
|
-
serieLegalNotaFiscal: [undefined],
|
|
61
|
-
numeroNotaFiscal: [undefined],
|
|
60
|
+
chaveNotaFiscal: [undefined, Validators.required],
|
|
61
|
+
serieNotaFiscal: [undefined, Validators.required],
|
|
62
|
+
serieLegalNotaFiscal: [undefined, Validators.required],
|
|
63
|
+
numeroNotaFiscal: [undefined, Validators.required],
|
|
62
64
|
}, { validators: this.camposPreenchidosValidation });
|
|
63
65
|
}
|
|
64
66
|
NotaFormComponent.prototype.ngOnInit = function () {
|
|
@@ -102,7 +104,10 @@ var NotaFormComponent = /** @class */ (function () {
|
|
|
102
104
|
chaveDocumento: (chaveNotaFiscal || "").replace(/\s/g, ""),
|
|
103
105
|
filialId: this.filialId
|
|
104
106
|
})
|
|
105
|
-
.pipe(takeUntil(this.unsubscribe$),
|
|
107
|
+
.pipe(takeUntil(this.unsubscribe$), catchError(function () {
|
|
108
|
+
_this.disabled = false;
|
|
109
|
+
return of(null);
|
|
110
|
+
}), finalize(function () { return _this.loading = false; }))
|
|
106
111
|
.subscribe(this.validateNotaFiscal);
|
|
107
112
|
this.botaoDesabilitado = false;
|
|
108
113
|
};
|
|
@@ -161,7 +166,7 @@ var NotaFormComponent = /** @class */ (function () {
|
|
|
161
166
|
};
|
|
162
167
|
NotaFormComponent = tslib_1.__decorate([
|
|
163
168
|
Component({
|
|
164
|
-
template: "<form [formGroup]=\"formGroup\">\n <div class=\"ui-g ui-fluid\" *sLoadingState=\"loading\">\n <div class=\"ui-g-12\">\n <label for=\"chaveNotaFiscal\">{{'yms.erp.recebimento_chave_nota_fiscal' | translate}}</label>\n <input\n id=\"chaveNotaFiscal\"\n trim\n pInputText\n type=\"text\"\n formControlName=\"chaveNotaFiscal\"\n (blur)=\"onBlurNotaFiscal()\"\n >\n <s-control-errors
|
|
169
|
+
template: "<form [formGroup]=\"formGroup\">\n <div class=\"ui-g ui-fluid\" *sLoadingState=\"loading\">\n <div class=\"ui-g-12 required\">\n <label for=\"chaveNotaFiscal\">{{'yms.erp.recebimento_chave_nota_fiscal' | translate}}</label>\n <input\n id=\"chaveNotaFiscal\"\n trim\n pInputText\n type=\"text\"\n formControlName=\"chaveNotaFiscal\"\n (blur)=\"onBlurNotaFiscal()\"\n >\n <s-control-errors\n [control]=\"formGroup.controls.chaveNotaFiscal\"\n [errorMessages]=\"{ errorChaveNota: 'yms.erp.produto_nota_error_detail' | translate }\">\n </s-control-errors>\n </div>\n <div class=\"ui-g-12 required\" [attr.data-hidden]=\"disabled\">\n <label for=\"serieNotaFiscal\">{{'yms.erp.recebimento_serie_nota_fiscal' | translate}}</label>\n <input pInputText type=\"text\" formControlName=\"serieNotaFiscal\">\n <s-control-errors\n [control]=\"formGroup.controls['serieNotaFiscal']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\">\n </s-control-errors>\n </div>\n <div class=\"ui-g-12 required\" [attr.data-hidden]=\"disabled\">\n <label for=\"serieLegalNotaFiscal\">{{'yms.erp.recebimento_serie_legal_nota_fiscal' | translate}}</label>\n <input pInputText type=\"text\" formControlName=\"serieLegalNotaFiscal\">\n <s-control-errors\n [control]=\"formGroup.controls['serieLegalNotaFiscal']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\">\n </s-control-errors>\n </div>\n <div class=\"ui-g-12 required\" [attr.data-hidden]=\"disabled\">\n <label for=\"numeroNotaFiscal\">{{'yms.erp.recebimento_numero_nota_fiscal' | translate}}</label>\n <input pInputText type=\"text\" formControlName=\"numeroNotaFiscal\">\n <s-control-errors\n [control]=\"formGroup.controls['numeroNotaFiscal']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\">\n </s-control-errors>\n </div>\n </div>\n\n <s-control-errors [control]=\"formGroup\" [errorMessages]=\"{ erroMultiplosCampos: 'yms.erp.nota_fiscal_no_value' | translate }\"></s-control-errors>\n\n <s-button label=\"Cancelar\" (onClick)=\"close()\" priority=\"link\"></s-button>\n <s-button label=\"Salvar\" [disabled]=\"botaoDesabilitado || disabled\" (onClick)=\"save()\"></s-button>\n</form>\n\n<p-confirmDialog appendTo=\"body\"></p-confirmDialog>",
|
|
165
170
|
providers: [ConfirmationService]
|
|
166
171
|
}),
|
|
167
172
|
tslib_1.__metadata("design:paramtypes", [FormBuilder,
|
|
@@ -169,11 +174,9 @@ var NotaFormComponent = /** @class */ (function () {
|
|
|
169
174
|
DynamicDialogConfig,
|
|
170
175
|
ConfirmationService,
|
|
171
176
|
DynamicDialogRef,
|
|
172
|
-
VerificaNotafiscal
|
|
173
|
-
MessageService,
|
|
174
|
-
TranslateService])
|
|
177
|
+
VerificaNotafiscal])
|
|
175
178
|
], NotaFormComponent);
|
|
176
179
|
return NotaFormComponent;
|
|
177
180
|
}());
|
|
178
181
|
export { NotaFormComponent };
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90YS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvZXJwLXNlbmlvci9jb21wb25lbnRzL25vdGEtZm9ybS9ub3RhLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFpQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckQsT0FBTyxFQUFFLG9CQUFvQixFQUE4QixNQUFNLG1DQUFtQyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU12RDtJQVlJLDJCQUNJLEVBQWUsRUFDUCxvQkFBMEMsRUFDMUMsWUFBaUMsRUFDakMsbUJBQXdDLEVBQ3hDLFNBQTJCLEVBQzNCLGtCQUFzQyxFQUN0QyxjQUE4QixFQUM5QixTQUEyQjtRQVJ2QyxpQkFpQkM7UUFmVyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLHVCQUFrQixHQUFsQixr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TSxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFTyxzREFBMEIsR0FBbEM7UUFDSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBaE1RLGlCQUFpQjtRQUw3QixTQUFTLENBQUM7WUFDUCx3MERBQXlDO1lBQ3pDLFNBQVMsRUFBRSxDQUFFLG1CQUFtQixDQUFFO1NBQ3JDLENBQUM7aURBZVUsV0FBVztZQUNlLG9CQUFvQjtZQUM1QixtQkFBbUI7WUFDWixtQkFBbUI7WUFDN0IsZ0JBQWdCO1lBQ1Asa0JBQWtCO1lBQ3RCLGNBQWM7WUFDbkIsZ0JBQWdCO09BcEI5QixpQkFBaUIsQ0FpTTdCO0lBQUQsd0JBQUM7Q0FBQSxBQWpNRCxJQWlNQztTQWpNWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWZXJpZmljYU5vdGFmaXNjYWwgfSBmcm9tICcuLi8uLi9jb3JlL3ZlcmlmaWNhLW5vdGEtZmlzY2FsL3ZlcmlmaWNhTm90YUZpc2NhbCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBEeW5hbWljRGlhbG9nQ29uZmlnLCBEeW5hbWljRGlhbG9nUmVmIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGZpbmFsaXplLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IFBlc3NvYSB9IGZyb20gXCIuLi8uLi9jb3JlL2VudGl0aWVzL3Blc3NvYS9wZXNzb2FcIjtcbmltcG9ydCB7IFByb2R1dG8gfSBmcm9tIFwiLi4vLi4vY29yZS9lbnRpdGllcy9wcm9kdXRvL3Byb2R1dG9cIjtcbmltcG9ydCB7IE5vdGFWYWxpZGF0b3JTZXJ2aWNlLCBQZXNxdWlzYXJEb2N1bWVudG9SZXNwb25zZSB9IGZyb20gXCIuLi8uLi9jb3JlL25vdGEtdmFsaWRhdG9yLnNlcnZpY2VcIjtcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvY29tcG9uZW50cy9jb21tb24vbWVzc2FnZXNlcnZpY2VcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL25vdGEtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbIENvbmZpcm1hdGlvblNlcnZpY2UgXVxufSlcblxuZXhwb3J0IGNsYXNzIE5vdGFGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICAgIGxvYWRpbmcgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgZmlsaWFsSWQ6IHN0cmluZztcbiAgICBwcml2YXRlIGZvcm5lY2Vkb3I6IFBlc3NvYTtcbiAgICBwcml2YXRlIHByb2R1dG86IFByb2R1dG87XG4gICAgcHJpdmF0ZSBmb3JuZWNlZG9yTm90YXNUb2tlbnM6IGFueTtcbiAgICBwcml2YXRlIGNvbnRyYXRvczogYW55O1xuICAgIGJvdGFvRGVzYWJpbGl0YWRvID0gZmFsc2U7XG4gICAgXG4gICAgcHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBmYjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgbm90YVZhbGlkYXRvclNlcnZpY2U6IE5vdGFWYWxpZGF0b3JTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ0NvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogRHluYW1pY0RpYWxvZ1JlZixcbiAgICAgICAgcHJpdmF0ZSB2ZXJpZmljYU5vdGFGaXNjYWw6IFZlcmlmaWNhTm90YWZpc2NhbCxcbiAgICAgICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwID0gZmIuZ3JvdXAoe1xuICAgICAgICAgICAgY2hhdmVOb3RhRmlzY2FsOiBbIHVuZGVmaW5lZCBdLFxuICAgICAgICAgICAgc2VyaWVOb3RhRmlzY2FsOiBbIHVuZGVmaW5lZCBdLFxuICAgICAgICAgICAgc2VyaWVMZWdhbE5vdGFGaXNjYWw6IFsgdW5kZWZpbmVkIF0sXG4gICAgICAgICAgICBudW1lcm9Ob3RhRmlzY2FsOiBbIHVuZGVmaW5lZCBdLFxuICAgICAgICB9LCB7IHZhbGlkYXRvcnM6IHRoaXMuY2FtcG9zUHJlZW5jaGlkb3NWYWxpZGF0aW9uIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmZpbGlhbElkID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS5maWxpYWwuaWQ7XG4gICAgICAgIHRoaXMuZm9ybmVjZWRvciA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuZm9ybmVjZWRvcjtcbiAgICAgICAgdGhpcy5wcm9kdXRvID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS5wcm9kdXRvO1xuICAgICAgICB0aGlzLmZvcm5lY2Vkb3JOb3Rhc1Rva2VucyA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuZm9ybmVjZWRvck5vdGFzVG9rZW5zO1xuICAgICAgICB0aGlzLmNvbnRyYXRvcyA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuY29udHJhdG9zO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgc2F2ZSgpIHtcbiAgICAgICAgY29uc3QgY2hhdmVOb3RhRmlzY2FsID0gdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLnZlcmlmaWNhTm90YUZpc2NhbC52ZXJpZmljYVNlTm90YUZpc2NhbEVzdGFEdXBsaWNhZGEoY2hhdmVOb3RhRmlzY2FsLCB0aGlzLmNvbnRyYXRvcywgdGhpcy5mb3JuZWNlZG9yTm90YXNUb2tlbnMpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWNoYXZlTm90YUZpc2NhbCkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVFcnJvckNoYXZlTm90YSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKHRoaXMuZm9ybUdyb3VwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGFiaWxpdGFDYW1wb3NOb3RhRmlzY2FsKCk7XG5cbiAgICAgICAgdGhpcy5jbG9zZSh0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG4gICAgfVxuXG4gICAgY2xvc2UoZGF0YT86IGFueSkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShkYXRhKTtcbiAgICB9XG5cbiAgICBvbkJsdXJOb3RhRmlzY2FsKCkge1xuICAgICAgICBjb25zdCBjaGF2ZU5vdGFGaXNjYWwgPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJjaGF2ZU5vdGFGaXNjYWxcIikudmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMudmVyaWZpY2FOb3RhRmlzY2FsLnZlcmlmaWNhU2VOb3RhRmlzY2FsRXN0YUR1cGxpY2FkYShjaGF2ZU5vdGFGaXNjYWwsIHRoaXMuY29udHJhdG9zLCB0aGlzLmZvcm5lY2Vkb3JOb3Rhc1Rva2VucykpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLmJvdGFvRGVzYWJpbGl0YWRvID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVtb3ZlRXJyb3JDaGF2ZU5vdGEoKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLm5vdGFWYWxpZGF0b3JTZXJ2aWNlLnBlc3F1aXNhckRvY3VtZW50b1ZhbGlkYU5vdGFFbVVzbyh7XG4gICAgICAgICAgICBjaGF2ZURvY3VtZW50bzogKGNoYXZlTm90YUZpc2NhbCB8fCBcIlwiKS5yZXBsYWNlKC9cXHMvZywgXCJcIiksXG4gICAgICAgICAgICBmaWxpYWxJZDogdGhpcy5maWxpYWxJZFxuICAgICAgICB9KVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLCBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmcgPSBmYWxzZSkpXG4gICAgICAgIC5zdWJzY3JpYmUodGhpcy52YWxpZGF0ZU5vdGFGaXNjYWwpO1xuXG4gICAgICAgICAgdGhpcy5ib3Rhb0Rlc2FiaWxpdGFkbyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVOb3RhRmlzY2FsID0gKHJlc3BvbnNlOiBQZXNxdWlzYXJEb2N1bWVudG9SZXNwb25zZSkgPT4geyAgICAgXG4gICAgICAgIGlmICghcmVzcG9uc2UgfHwgIXJlc3BvbnNlLmRvY3VtZW50b3NbMF0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgY29uc3QgdmFsdWUgPSByZXNwb25zZS5kb2N1bWVudG9zWzBdO1xuXG4gICAgICAgIGlmICghdGhpcy52YWxpZGFQcm9kdXRvTmFOb3RhRmlzY2FsKHZhbHVlLml0ZW5zKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgbm90YUZpc2NhbCA9IHsgXG4gICAgICAgICAgICBjaGF2ZTogdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnZhbHVlLCBcbiAgICAgICAgICAgIHNlcmllOiB2YWx1ZS5zZXJpZSwgXG4gICAgICAgICAgICBzZXJpZUxlZ2FsOiB2YWx1ZS5zZXJpZUxlZ2FsLCBcbiAgICAgICAgICAgIG51bWVybzogdmFsdWUubnVtZXJvLFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmICghdGhpcy5mb3JuZWNlZG9yKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlQW5kUmV0dXJuTm90YShub3RhRmlzY2FsLCB2YWx1ZS5mb3JuZWNlZG9yLCB2YWx1ZS5vcmlnZW1NZXJjYWRvcmlhKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghISh2YWx1ZS5mb3JuZWNlZG9yIHx8IHtpZDogdW5kZWZpbmVkfSkuaWQgJiYgKHZhbHVlLmZvcm5lY2Vkb3IuaWQgIT09IHRoaXMuZm9ybmVjZWRvci5pZCkpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlybUFuZEFkZE5vdm9Gb3JuZWNlZG9yKG5vdGFGaXNjYWwsIHZhbHVlLmZvcm5lY2Vkb3IsIHZhbHVlLm9yaWdlbU1lcmNhZG9yaWEpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwic2VyaWVOb3RhRmlzY2FsXCIpLnNldFZhbHVlKHZhbHVlLnNlcmllKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwic2VyaWVMZWdhbE5vdGFGaXNjYWxcIikuc2V0VmFsdWUodmFsdWUuc2VyaWVMZWdhbCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcIm51bWVyb05vdGFGaXNjYWxcIikuc2V0VmFsdWUodmFsdWUubnVtZXJvKTtcblxuICAgICAgICB0aGlzLmRlc2FiaWxpdGFDYW1wb3NOb3RhRmlzY2FsKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGFQcm9kdXRvTmFOb3RhRmlzY2FsKHByb2R1dG9zKXtcbiAgICAgICAgaWYgKHByb2R1dG9zICE9IG51bGwgJiYgcHJvZHV0b3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IHByb2R1dG8gPSBwcm9kdXRvc1swXS5wcm9kdXRvO1xuXG4gICAgICAgICAgICBpZiAoISFwcm9kdXRvICYmICEhdGhpcy5wcm9kdXRvICYmIChwcm9kdXRvLmlkICE9PSB0aGlzLnByb2R1dG8uaWQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRFcnJvcklmUHJvZHV0b0lzRGlmZmVyZW50KCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIFxuICAgIHByaXZhdGUgY29uZmlybUFuZEFkZE5vdm9Gb3JuZWNlZG9yKGluZm9Ob3RhOiB7IGNoYXZlOiBzdHJpbmcsIHNlcmllOiBzdHJpbmcsIHNlcmllTGVnYWw6IHN0cmluZywgbnVtZXJvOiBudW1iZXIgfSwgZm9ybmVjZWRvcjogYW55LCBvcmlnZW1NZXJjYWRvcmlhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgaGVhZGVyOiAnTyBmb3JuZWNlZG9yIHZpbmN1bGFkbyBhIG5vdGEgbsOjbyDDqSBvIG1lc21vIHF1ZSBvIHNlbGVjaW9uYWRvJyxcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdPIGZvcm5lY2Vkb3IgdmluY3VsYWRvIGEgbm90YSBuw6NvIMOpIG8gbWVzbW8gcXVlIG8gc2VsZWNpb25hZG8uIERlc2VqYSBhZGljaW9uYXIgdW0gbm92byBmb3JuZWNlZG9yIG91IGNhbmNlbGFyIGEgb3BlcmHDp8Ojbz8nLFxuICAgICAgICAgICAgYWNjZXB0TGFiZWw6ICdBZGljaW9uYXIgdW0gbm92byBmb3JuZWNlZG9yJyxcbiAgICAgICAgICAgIHJlamVjdExhYmVsOiAnQ2FuY2VsYXIgb3BlcmHDp8OjbycsXG4gICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHRoaXMuY2xvc2VBbmRSZXR1cm5Ob3RhKGluZm9Ob3RhLCBmb3JuZWNlZG9yLCBvcmlnZW1NZXJjYWRvcmlhKSxcbiAgICAgICAgICAgIHJlamVjdDogKCkgPT4gdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnNldFZhbHVlKHVuZGVmaW5lZClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRFcnJvcklmUHJvZHV0b0lzRGlmZmVyZW50KCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJjaGF2ZU5vdGFGaXNjYWxcIikuc2V0RXJyb3JzKHsgZXJyb3JDaGF2ZU5vdGE6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVFcnJvckNoYXZlTm90YSgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnNldEVycm9ycyhudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlQW5kUmV0dXJuTm90YShpbmZvTm90YTogeyBjaGF2ZTogc3RyaW5nLCBzZXJpZTogc3RyaW5nLCBzZXJpZUxlZ2FsOiBzdHJpbmcsIG51bWVybzogbnVtYmVyIH0sIGZvcm5lY2Vkb3I6IGFueSwgb3JpZ2VtTWVyY2Fkb3JpYTogYW55KSB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgYWRkRm9ybmVjZWRvcjogdHJ1ZSwgaW5mb05vdGEsIGZvcm5lY2Vkb3IsIG9yaWdlbU1lcmNhZG9yaWEgfSlcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlQWxsRm9ybUZpZWxkcyhmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xuICAgICAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoZmllbGQpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sKSB7XG4gICAgICAgICAgICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHMoY29udHJvbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZvcm1Hcm91cC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FtcG9zUHJlZW5jaGlkb3NWYWxpZGF0aW9uOiBWYWxpZGF0b3JGbiA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgIGNvbnN0IGNoYXZlID0gY29udHJvbC5nZXQoXCJjaGF2ZU5vdGFGaXNjYWxcIikudmFsdWU7XG4gICAgICAgIGNvbnN0IHNlcmllID0gY29udHJvbC5nZXQoXCJzZXJpZU5vdGFGaXNjYWxcIikudmFsdWU7XG4gICAgICAgIGNvbnN0IG51bWVybyA9IGNvbnRyb2wuZ2V0KFwibnVtZXJvTm90YUZpc2NhbFwiKS52YWx1ZTtcblxuICAgICAgICByZXR1cm4gISFjaGF2ZSB8fCAhIXNlcmllIHx8ICEhbnVtZXJvID8gbnVsbCA6IHsgZXJyb011bHRpcGxvc0NhbXBvczogdHJ1ZSB9O1xuICAgIH07XG5cbiAgICBwcml2YXRlIGhhYmlsaXRhQ2FtcG9zTm90YUZpc2NhbCgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwic2VyaWVOb3RhRmlzY2FsXCIpLmVuYWJsZSgpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJzZXJpZUxlZ2FsTm90YUZpc2NhbFwiKS5lbmFibGUoKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwibnVtZXJvTm90YUZpc2NhbFwiKS5lbmFibGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc2FiaWxpdGFDYW1wb3NOb3RhRmlzY2FsKCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJzZXJpZU5vdGFGaXNjYWxcIikuZGlzYWJsZSgpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJzZXJpZUxlZ2FsTm90YUZpc2NhbFwiKS5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcIm51bWVyb05vdGFGaXNjYWxcIikuZGlzYWJsZSgpO1xuICAgIH1cbn0iXX0=
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90YS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvZXJwLXNlbmlvci9jb21wb25lbnRzL25vdGEtZm9ybS9ub3RhLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFpQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqSSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekYsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakUsT0FBTyxFQUFFLG9CQUFvQixFQUE4QixNQUFNLG1DQUFtQyxDQUFDO0FBT3JHO0lBYUksMkJBQ0ksRUFBZSxFQUNQLG9CQUEwQyxFQUMxQyxZQUFpQyxFQUNqQyxtQkFBd0MsRUFDeEMsU0FBMkIsRUFDbEIsa0JBQXNDO1FBTjNELGlCQWVDO1FBYlcseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUNsQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBakIzRCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBT2hCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQUcs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YWwgfSBmcm9tICcuLi8uLi9jb3JlL3ZlcmlmaWNhLW5vdGEtZmlzY2FsL3ZlcmlmaWNhTm90YUZpc2NhbCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBEeW5hbWljRGlhbG9nQ29uZmlnLCBEeW5hbWljRGlhbG9nUmVmIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyBTdWJqZWN0LCBvZiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBQZXNzb2EgfSBmcm9tIFwiLi4vLi4vY29yZS9lbnRpdGllcy9wZXNzb2EvcGVzc29hXCI7XG5pbXBvcnQgeyBQcm9kdXRvIH0gZnJvbSBcIi4uLy4uL2NvcmUvZW50aXRpZXMvcHJvZHV0by9wcm9kdXRvXCI7XG5pbXBvcnQgeyBOb3RhVmFsaWRhdG9yU2VydmljZSwgUGVzcXVpc2FyRG9jdW1lbnRvUmVzcG9uc2UgfSBmcm9tIFwiLi4vLi4vY29yZS9ub3RhLXZhbGlkYXRvci5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9ub3RhLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogWyBDb25maXJtYXRpb25TZXJ2aWNlIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBOb3RhRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgICBsb2FkaW5nID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGZpbGlhbElkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmb3JuZWNlZG9yOiBQZXNzb2E7XG4gICAgcHJpdmF0ZSBwcm9kdXRvOiBQcm9kdXRvO1xuICAgIHByaXZhdGUgZm9ybmVjZWRvck5vdGFzVG9rZW5zOiBhbnk7XG4gICAgcHJpdmF0ZSBjb250cmF0b3M6IGFueTtcbiAgICBib3Rhb0Rlc2FiaWxpdGFkbyA9IGZhbHNlO1xuICAgIGRpc2FibGVkID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZmI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIG5vdGFWYWxpZGF0b3JTZXJ2aWNlOiBOb3RhVmFsaWRhdG9yU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dDb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsXG4gICAgICAgIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dSZWY6IER5bmFtaWNEaWFsb2dSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdmVyaWZpY2FOb3RhRmlzY2FsOiBWZXJpZmljYU5vdGFmaXNjYWxcblxuICAgICkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cCA9IGZiLmdyb3VwKHtcbiAgICAgICAgICAgIGNoYXZlTm90YUZpc2NhbDogWyB1bmRlZmluZWQsIFZhbGlkYXRvcnMucmVxdWlyZWQgXSxcbiAgICAgICAgICAgIHNlcmllTm90YUZpc2NhbDogWyB1bmRlZmluZWQsIFZhbGlkYXRvcnMucmVxdWlyZWQgXSxcbiAgICAgICAgICAgIHNlcmllTGVnYWxOb3RhRmlzY2FsOiBbIHVuZGVmaW5lZCwgVmFsaWRhdG9ycy5yZXF1aXJlZCBdLFxuICAgICAgICAgICAgbnVtZXJvTm90YUZpc2NhbDogWyB1bmRlZmluZWQsIFZhbGlkYXRvcnMucmVxdWlyZWQgXSxcbiAgICAgICAgfSwgeyB2YWxpZGF0b3JzOiB0aGlzLmNhbXBvc1ByZWVuY2hpZG9zVmFsaWRhdGlvbiB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5maWxpYWxJZCA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuZmlsaWFsLmlkO1xuICAgICAgICB0aGlzLmZvcm5lY2Vkb3IgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLmZvcm5lY2Vkb3I7XG4gICAgICAgIHRoaXMucHJvZHV0byA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEucHJvZHV0bztcbiAgICAgICAgdGhpcy5mb3JuZWNlZG9yTm90YXNUb2tlbnMgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLmZvcm5lY2Vkb3JOb3Rhc1Rva2VucztcbiAgICAgICAgdGhpcy5jb250cmF0b3MgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLmNvbnRyYXRvcztcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHNhdmUoKSB7XG4gICAgICAgIGNvbnN0IGNoYXZlTm90YUZpc2NhbCA9IHRoaXMuZm9ybUdyb3VwLmdldChcImNoYXZlTm90YUZpc2NhbFwiKS52YWx1ZTtcblxuICAgICAgICBpZiAodGhpcy52ZXJpZmljYU5vdGFGaXNjYWwudmVyaWZpY2FTZU5vdGFGaXNjYWxFc3RhRHVwbGljYWRhKGNoYXZlTm90YUZpc2NhbCwgdGhpcy5jb250cmF0b3MsIHRoaXMuZm9ybmVjZWRvck5vdGFzVG9rZW5zKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjaGF2ZU5vdGFGaXNjYWwpIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlRXJyb3JDaGF2ZU5vdGEoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyh0aGlzLmZvcm1Hcm91cCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhhYmlsaXRhQ2FtcG9zTm90YUZpc2NhbCgpO1xuXG4gICAgICAgIHRoaXMuY2xvc2UodGhpcy5mb3JtR3JvdXAudmFsdWUpO1xuICAgIH1cblxuICAgIGNsb3NlKGRhdGE/OiBhbnkpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZGF0YSk7XG4gICAgfVxuXG4gICAgb25CbHVyTm90YUZpc2NhbCgpIHtcbiAgICAgICAgY29uc3QgY2hhdmVOb3RhRmlzY2FsID0gdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLnZlcmlmaWNhTm90YUZpc2NhbC52ZXJpZmljYVNlTm90YUZpc2NhbEVzdGFEdXBsaWNhZGEoY2hhdmVOb3RhRmlzY2FsLCB0aGlzLmNvbnRyYXRvcywgdGhpcy5mb3JuZWNlZG9yTm90YXNUb2tlbnMpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgdGhpcy5ib3Rhb0Rlc2FiaWxpdGFkbyA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlbW92ZUVycm9yQ2hhdmVOb3RhKCk7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5ub3RhVmFsaWRhdG9yU2VydmljZS5wZXNxdWlzYXJEb2N1bWVudG9WYWxpZGFOb3RhRW1Vc28oe1xuICAgICAgICAgICAgY2hhdmVEb2N1bWVudG86IChjaGF2ZU5vdGFGaXNjYWwgfHwgXCJcIikucmVwbGFjZSgvXFxzL2csIFwiXCIpLFxuICAgICAgICAgICAgZmlsaWFsSWQ6IHRoaXMuZmlsaWFsSWRcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgIH0pLGZpbmFsaXplKCgpID0+IHRoaXMubG9hZGluZyA9IGZhbHNlKSlcbiAgICAgICAgLnN1YnNjcmliZSh0aGlzLnZhbGlkYXRlTm90YUZpc2NhbCk7XG5cbiAgICAgICAgICB0aGlzLmJvdGFvRGVzYWJpbGl0YWRvID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZU5vdGFGaXNjYWwgPSAocmVzcG9uc2U6IFBlc3F1aXNhckRvY3VtZW50b1Jlc3BvbnNlKSA9PiB7ICAgICBcbiAgICAgICAgY29uc3QgY2hhdmVOb3RhRmlzY2FsID0gdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnZhbHVlO1xuICAgICAgICBpZiAoY2hhdmVOb3RhRmlzY2FsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgICAgICBpZiAoIXJlc3BvbnNlIHx8ICFyZXNwb25zZS5kb2N1bWVudG9zWzBdKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGNvbnN0IHZhbHVlID0gcmVzcG9uc2UuZG9jdW1lbnRvc1swXTtcblxuICAgICAgICBpZiAoIXRoaXMudmFsaWRhUHJvZHV0b05hTm90YUZpc2NhbCh2YWx1ZS5pdGVucykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5vdGFGaXNjYWwgPSB7IFxuICAgICAgICAgICAgY2hhdmU6IHRoaXMuZm9ybUdyb3VwLmdldChcImNoYXZlTm90YUZpc2NhbFwiKS52YWx1ZSwgXG4gICAgICAgICAgICBzZXJpZTogdmFsdWUuc2VyaWUsIFxuICAgICAgICAgICAgc2VyaWVMZWdhbDogdmFsdWUuc2VyaWVMZWdhbCwgXG4gICAgICAgICAgICBudW1lcm86IHZhbHVlLm51bWVybyxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoIXRoaXMuZm9ybmVjZWRvcikge1xuICAgICAgICAgICAgdGhpcy5jbG9zZUFuZFJldHVybk5vdGEobm90YUZpc2NhbCwgdmFsdWUuZm9ybmVjZWRvciwgdmFsdWUub3JpZ2VtTWVyY2Fkb3JpYSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISEodmFsdWUuZm9ybmVjZWRvciB8fCB7aWQ6IHVuZGVmaW5lZH0pLmlkICYmICh2YWx1ZS5mb3JuZWNlZG9yLmlkICE9PSB0aGlzLmZvcm5lY2Vkb3IuaWQpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpcm1BbmRBZGROb3ZvRm9ybmVjZWRvcihub3RhRmlzY2FsLCB2YWx1ZS5mb3JuZWNlZG9yLCB2YWx1ZS5vcmlnZW1NZXJjYWRvcmlhKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcInNlcmllTm90YUZpc2NhbFwiKS5zZXRWYWx1ZSh2YWx1ZS5zZXJpZSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcInNlcmllTGVnYWxOb3RhRmlzY2FsXCIpLnNldFZhbHVlKHZhbHVlLnNlcmllTGVnYWwpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJudW1lcm9Ob3RhRmlzY2FsXCIpLnNldFZhbHVlKHZhbHVlLm51bWVybyk7XG5cbiAgICAgICAgdGhpcy5kZXNhYmlsaXRhQ2FtcG9zTm90YUZpc2NhbCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhUHJvZHV0b05hTm90YUZpc2NhbChwcm9kdXRvcyl7XG4gICAgICAgIGlmIChwcm9kdXRvcyAhPSBudWxsICYmIHByb2R1dG9zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxldCBwcm9kdXRvID0gcHJvZHV0b3NbMF0ucHJvZHV0bztcblxuICAgICAgICAgICAgaWYgKCEhcHJvZHV0byAmJiAhIXRoaXMucHJvZHV0byAmJiAocHJvZHV0by5pZCAhPT0gdGhpcy5wcm9kdXRvLmlkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkRXJyb3JJZlByb2R1dG9Jc0RpZmZlcmVudCgpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBcbiAgICBwcml2YXRlIGNvbmZpcm1BbmRBZGROb3ZvRm9ybmVjZWRvcihpbmZvTm90YTogeyBjaGF2ZTogc3RyaW5nLCBzZXJpZTogc3RyaW5nLCBzZXJpZUxlZ2FsOiBzdHJpbmcsIG51bWVybzogbnVtYmVyIH0sIGZvcm5lY2Vkb3I6IGFueSwgb3JpZ2VtTWVyY2Fkb3JpYTogYW55KSB7XG4gICAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgICAgIGhlYWRlcjogJ08gZm9ybmVjZWRvciB2aW5jdWxhZG8gYSBub3RhIG7Do28gw6kgbyBtZXNtbyBxdWUgbyBzZWxlY2lvbmFkbycsXG4gICAgICAgICAgICBtZXNzYWdlOiAnTyBmb3JuZWNlZG9yIHZpbmN1bGFkbyBhIG5vdGEgbsOjbyDDqSBvIG1lc21vIHF1ZSBvIHNlbGVjaW9uYWRvLiBEZXNlamEgYWRpY2lvbmFyIHVtIG5vdm8gZm9ybmVjZWRvciBvdSBjYW5jZWxhciBhIG9wZXJhw6fDo28/JyxcbiAgICAgICAgICAgIGFjY2VwdExhYmVsOiAnQWRpY2lvbmFyIHVtIG5vdm8gZm9ybmVjZWRvcicsXG4gICAgICAgICAgICByZWplY3RMYWJlbDogJ0NhbmNlbGFyIG9wZXJhw6fDo28nLFxuICAgICAgICAgICAgYWNjZXB0OiAoKSA9PiB0aGlzLmNsb3NlQW5kUmV0dXJuTm90YShpbmZvTm90YSwgZm9ybmVjZWRvciwgb3JpZ2VtTWVyY2Fkb3JpYSksXG4gICAgICAgICAgICByZWplY3Q6ICgpID0+IHRoaXMuZm9ybUdyb3VwLmdldChcImNoYXZlTm90YUZpc2NhbFwiKS5zZXRWYWx1ZSh1bmRlZmluZWQpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkRXJyb3JJZlByb2R1dG9Jc0RpZmZlcmVudCgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnNldEVycm9ycyh7IGVycm9yQ2hhdmVOb3RhOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlRXJyb3JDaGF2ZU5vdGEoKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcImNoYXZlTm90YUZpc2NhbFwiKS5zZXRFcnJvcnMobnVsbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZUFuZFJldHVybk5vdGEoaW5mb05vdGE6IHsgY2hhdmU6IHN0cmluZywgc2VyaWU6IHN0cmluZywgc2VyaWVMZWdhbDogc3RyaW5nLCBudW1lcm86IG51bWJlciB9LCBmb3JuZWNlZG9yOiBhbnksIG9yaWdlbU1lcmNhZG9yaWE6IGFueSkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IGFkZEZvcm5lY2Vkb3I6IHRydWUsIGluZm9Ob3RhLCBmb3JuZWNlZG9yLCBvcmlnZW1NZXJjYWRvcmlhIH0pXG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUFsbEZvcm1GaWVsZHMoZm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcbiAgICAgICAgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KGZpZWxkKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKGNvbnRyb2wpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBmb3JtR3JvdXAubWFya0FzRGlydHkoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbXBvc1ByZWVuY2hpZG9zVmFsaWRhdGlvbjogVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICBjb25zdCBjaGF2ZSA9IGNvbnRyb2wuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnZhbHVlO1xuICAgICAgICBjb25zdCBzZXJpZSA9IGNvbnRyb2wuZ2V0KFwic2VyaWVOb3RhRmlzY2FsXCIpLnZhbHVlO1xuICAgICAgICBjb25zdCBudW1lcm8gPSBjb250cm9sLmdldChcIm51bWVyb05vdGFGaXNjYWxcIikudmFsdWU7XG5cbiAgICAgICAgcmV0dXJuICEhY2hhdmUgfHwgISFzZXJpZSB8fCAhIW51bWVybyA/IG51bGwgOiB7IGVycm9NdWx0aXBsb3NDYW1wb3M6IHRydWUgfTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBoYWJpbGl0YUNhbXBvc05vdGFGaXNjYWwoKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcInNlcmllTm90YUZpc2NhbFwiKS5lbmFibGUoKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwic2VyaWVMZWdhbE5vdGFGaXNjYWxcIikuZW5hYmxlKCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcIm51bWVyb05vdGFGaXNjYWxcIikuZW5hYmxlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXNhYmlsaXRhQ2FtcG9zTm90YUZpc2NhbCgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwic2VyaWVOb3RhRmlzY2FsXCIpLmRpc2FibGUoKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwic2VyaWVMZWdhbE5vdGFGaXNjYWxcIikuZGlzYWJsZSgpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJudW1lcm9Ob3RhRmlzY2FsXCIpLmRpc2FibGUoKTtcbiAgICB9XG59Il19
|