@seniorsistemas/yms-integration 1.42.1 → 1.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/bundles/seniorsistemas-yms-integration.umd.js +876 -388
  2. package/bundles/seniorsistemas-yms-integration.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-yms-integration.umd.min.js +1 -1
  4. package/bundles/seniorsistemas-yms-integration.umd.min.js.map +1 -1
  5. package/esm2015/seniorsistemas-yms-integration.js +53 -51
  6. package/esm2015/src/sam-senior/core/entity-service.js +27 -12
  7. package/esm2015/src/wms/components/document-grid/document-grid.component.js +42 -358
  8. package/esm2015/src/wms/components/document-grid/document-grid.facade.js +380 -0
  9. package/esm2015/src/wms/components/document-grid/document-grid.module.js +19 -10
  10. package/esm2015/src/wms/components/document-grid/insert-key/insert-key.component.js +45 -44
  11. package/esm2015/src/wms/components/document-grid/register-document/register-document.component.js +28 -24
  12. package/esm2015/src/wms/components/document-grid/strategies/partner.strategy.js +48 -0
  13. package/esm2015/src/wms/components/document-grid/strategies/senior-connect.strategy.js +72 -0
  14. package/esm2015/src/wms/components/document-grid/strategies/senior-erp.strategy.js +56 -0
  15. package/esm2015/src/wms/components/document-grid/strategies/silt.strategy.js +80 -0
  16. package/esm2015/src/wms/components/document-grid/strategies/wis.strategy.js +68 -0
  17. package/esm2015/src/wms/components/document-grid/strategies/wms-integration-strategy.factory.js +31 -0
  18. package/esm2015/src/wms/components/document-grid/strategies/wms-integration-strategy.interface.js +7 -0
  19. package/esm2015/src/wms/components/utils/invoice-conditions.js +30 -9
  20. package/esm2015/src/wms/entities/document/document.service.js +11 -10
  21. package/esm2015/src/wms/entities/invoice-condition/invoice-condition.js +1 -1
  22. package/esm2015/src/wms/entities/wms-system/wms-system.js +2 -1
  23. package/esm5/seniorsistemas-yms-integration.js +53 -51
  24. package/esm5/src/sam-senior/core/entity-service.js +23 -8
  25. package/esm5/src/wms/components/document-grid/document-grid.component.js +47 -363
  26. package/esm5/src/wms/components/document-grid/document-grid.facade.js +397 -0
  27. package/esm5/src/wms/components/document-grid/document-grid.module.js +19 -10
  28. package/esm5/src/wms/components/document-grid/insert-key/insert-key.component.js +44 -43
  29. package/esm5/src/wms/components/document-grid/register-document/register-document.component.js +28 -24
  30. package/esm5/src/wms/components/document-grid/strategies/partner.strategy.js +52 -0
  31. package/esm5/src/wms/components/document-grid/strategies/senior-connect.strategy.js +76 -0
  32. package/esm5/src/wms/components/document-grid/strategies/senior-erp.strategy.js +60 -0
  33. package/esm5/src/wms/components/document-grid/strategies/silt.strategy.js +84 -0
  34. package/esm5/src/wms/components/document-grid/strategies/wis.strategy.js +72 -0
  35. package/esm5/src/wms/components/document-grid/strategies/wms-integration-strategy.factory.js +32 -0
  36. package/esm5/src/wms/components/document-grid/strategies/wms-integration-strategy.interface.js +7 -0
  37. package/esm5/src/wms/components/utils/invoice-conditions.js +30 -9
  38. package/esm5/src/wms/entities/document/document.service.js +11 -10
  39. package/esm5/src/wms/entities/invoice-condition/invoice-condition.js +1 -1
  40. package/esm5/src/wms/entities/wms-system/wms-system.js +2 -1
  41. package/fesm2015/seniorsistemas-yms-integration.js +783 -330
  42. package/fesm2015/seniorsistemas-yms-integration.js.map +1 -1
  43. package/fesm5/seniorsistemas-yms-integration.js +824 -338
  44. package/fesm5/seniorsistemas-yms-integration.js.map +1 -1
  45. package/package.json +4 -3
  46. package/seniorsistemas-yms-integration.d.ts +52 -50
  47. package/seniorsistemas-yms-integration.metadata.json +1 -1
  48. package/src/sam-senior/core/entity-service.d.ts +5 -0
  49. package/src/wms/components/document-grid/document-grid.component.d.ts +28 -77
  50. package/src/wms/components/document-grid/document-grid.facade.d.ts +96 -0
  51. package/src/wms/components/document-grid/insert-key/insert-key.component.d.ts +6 -8
  52. package/src/wms/components/document-grid/register-document/register-document.component.d.ts +5 -5
  53. package/src/wms/components/document-grid/strategies/partner.strategy.d.ts +17 -0
  54. package/src/wms/components/document-grid/strategies/senior-connect.strategy.d.ts +17 -0
  55. package/src/wms/components/document-grid/strategies/senior-erp.strategy.d.ts +17 -0
  56. package/src/wms/components/document-grid/strategies/silt.strategy.d.ts +17 -0
  57. package/src/wms/components/document-grid/strategies/wis.strategy.d.ts +17 -0
  58. package/src/wms/components/document-grid/strategies/wms-integration-strategy.factory.d.ts +8 -0
  59. package/src/wms/components/document-grid/strategies/wms-integration-strategy.interface.d.ts +53 -0
  60. package/src/wms/components/utils/invoice-conditions.d.ts +2 -2
  61. package/src/wms/entities/document/document.service.d.ts +9 -6
  62. package/src/wms/entities/wms-system/wms-system.d.ts +1 -0
@@ -2,27 +2,26 @@ import * as tslib_1 from "tslib";
2
2
  import { Component, EventEmitter, Input, Output } from "@angular/core";
3
3
  import { FormBuilder } from "@angular/forms";
4
4
  import { Subject, throwError } from "rxjs";
5
- import { catchError, finalize, takeUntil } from 'rxjs/operators';
5
+ import { catchError, finalize, takeUntil } from "rxjs/operators";
6
6
  import { UtilsMessageService } from "../../../../utils/utils-message";
7
- import { WmsSystem } from '../../../entities/wms-system/wms-system';
8
- import { DocumentService } from './../../../entities/document/document.service';
7
+ import { WmsSystem } from "../../../entities/wms-system/wms-system";
8
+ import { DocumentService, } from "./../../../entities/document/document.service";
9
9
  import { ConfirmationService } from "primeng/api";
10
10
  import { TranslateService } from "@ngx-translate/core";
11
11
  import { ExternalTenantService } from "./../../../entities/external-tenant/external-tenant.service";
12
12
  import { InvoiceCondition } from "./../../../entities/invoice-condition/invoice-condition";
13
- import { Agenda } from '../../../../erp-senior/core/entities/agenda/agenda';
14
- import { DocumentGridComponent } from "../document-grid.component";
13
+ import { Agenda } from "../../../../erp-senior/core/entities/agenda/agenda";
14
+ import { DocumentGridFacade } from "../document-grid.facade";
15
15
  var InsertKeyComponent = /** @class */ (function () {
16
- function InsertKeyComponent(formBuilder, documentService, utils, confirmationService, translate, externalTenantService, documentGridComponent) {
16
+ function InsertKeyComponent(formBuilder, documentService, utils, confirmationService, translate, externalTenantService, facade) {
17
17
  this.formBuilder = formBuilder;
18
18
  this.documentService = documentService;
19
19
  this.utils = utils;
20
20
  this.confirmationService = confirmationService;
21
21
  this.translate = translate;
22
22
  this.externalTenantService = externalTenantService;
23
- this.documentGridComponent = documentGridComponent;
23
+ this.facade = facade;
24
24
  this.visible = new EventEmitter();
25
- this.document = new EventEmitter();
26
25
  this.visibleChange = new EventEmitter();
27
26
  this.isLoading = false;
28
27
  this.isPartnerloading = false;
@@ -35,9 +34,9 @@ var InsertKeyComponent = /** @class */ (function () {
35
34
  purchaseOrder: [undefined],
36
35
  invoiceNumber: [undefined],
37
36
  invoiceSerie: [undefined],
38
- partnerDocument: [undefined]
37
+ partnerDocument: [undefined],
39
38
  });
40
- this.formGroup.get('key').valueChanges.subscribe(function (nf) {
39
+ this.formGroup.get("key").valueChanges.subscribe(function (nf) {
41
40
  _this.validateKeyDetails(nf);
42
41
  });
43
42
  };
@@ -57,19 +56,22 @@ var InsertKeyComponent = /** @class */ (function () {
57
56
  var _this = this;
58
57
  this.isLoading = true;
59
58
  var key = {
60
- purchaseOrder: this.formGroup.get('purchaseOrder').value,
61
- documentKeys: [this.formGroup.get('key').value],
62
- invoices: [{
63
- number: this.formGroup.get('invoiceNumber').value,
64
- serialNumber: this.formGroup.get('invoiceSerie').value,
65
- partnerDocument: this.formGroup.get('partnerDocument').value
66
- }],
59
+ purchaseOrder: this.formGroup.get("purchaseOrder").value,
60
+ documentKeys: [this.formGroup.get("key").value],
61
+ invoices: [
62
+ {
63
+ number: this.formGroup.get("invoiceNumber").value,
64
+ serialNumber: this.formGroup.get("invoiceSerie").value,
65
+ partnerDocument: this.formGroup.get("partnerDocument").value,
66
+ },
67
+ ],
67
68
  logistcUnitName: undefined,
68
69
  size: 0,
69
- offset: 0
70
+ offset: 0,
70
71
  };
71
72
  var errorSearch = "yms.int.wms_error_search_document_message_header";
72
- this.documentService.findDocuments(key)
73
+ this.documentService
74
+ .findDocuments(key)
73
75
  .pipe(catchError(function (err) {
74
76
  if (_this.wmsSystem === WmsSystem.PARTNER) {
75
77
  _this.utils.message("error", errorSearch, "yms.int.wms_error_search_document_not_found_partner");
@@ -78,7 +80,8 @@ var InsertKeyComponent = /** @class */ (function () {
78
80
  _this.utils.message("error", errorSearch, "yms.int.wms_error_search_document_not_found_message_content");
79
81
  }
80
82
  else {
81
- _this.utils.translateMessage("error", errorSearch, "yms.int.wms_error_unknown_search_document_message_content " + err.error.message);
83
+ _this.utils.message("error", errorSearch, err.error.message ||
84
+ "yms.int.wms_error_unknown_search_document_message_content");
82
85
  }
83
86
  _this.confirmInvoiceDialog();
84
87
  return throwError(err);
@@ -91,12 +94,13 @@ var InsertKeyComponent = /** @class */ (function () {
91
94
  return;
92
95
  }
93
96
  var document = content.contents[0];
94
- if (!_this.documentGridComponent.validateDocument(document)) {
97
+ if (!_this.facade.validateDocument(document)) {
95
98
  return;
96
99
  }
97
- document.invoiceKey = _this.formGroup.get('key').value;
100
+ document.invoiceKey = _this.formGroup.get("key").value;
98
101
  document.invoiceCondition = InvoiceCondition.AUTHORIZED;
99
- _this.document.emit(document);
102
+ _this.facade.onChangeDocument(document);
103
+ _this.facade.closeInvoiceSearchModal();
100
104
  _this.formGroup.reset();
101
105
  });
102
106
  };
@@ -108,36 +112,37 @@ var InsertKeyComponent = /** @class */ (function () {
108
112
  acceptLabel: this.translate.instant("yms.int.wms_accept_confirm_invoice_dialog"),
109
113
  rejectLabel: this.translate.instant("yms.int.wms_reject_confirm_invoice_dialog"),
110
114
  header: this.translate.instant("yms.int.wms_header_content_confirm_invoice_dialog"),
111
- accept: function () { return _this.buildInvoice(); }
115
+ accept: function () { return _this.buildInvoice(); },
112
116
  });
113
117
  }
114
118
  };
115
119
  InsertKeyComponent.prototype.buildInvoice = function () {
116
120
  var _this = this;
117
121
  this.isPartnerloading = true;
118
- var partnerDocument = this.formGroup.get('partnerDocument').value;
119
- this.externalTenantService.list({
120
- filterQuery: "cnpj eq '" + partnerDocument + "'"
122
+ var partnerDocument = this.formGroup.get("partnerDocument").value;
123
+ this.externalTenantService
124
+ .list({
125
+ filterQuery: "cnpj eq '" + partnerDocument + "'",
121
126
  })
122
127
  .pipe(takeUntil(this.ngUnsubscribe), finalize(function () {
123
128
  _this.isPartnerloading = false;
124
129
  }))
125
130
  .subscribe(function (contents) {
126
131
  var documentInvoice = _this.createDocumentInvoice(contents);
127
- _this.document.emit(documentInvoice);
132
+ _this.facade.onChangeDocument(documentInvoice);
128
133
  _this.formGroup.reset();
129
134
  });
130
135
  };
131
136
  InsertKeyComponent.prototype.createDocumentInvoice = function (partners) {
132
137
  var documentInvoice = {
133
- invoiceKey: this.formGroup.get('key').value,
134
- invoiceNumber: this.formGroup.get('invoiceNumber').value,
135
- invoiceSerialNumber: this.formGroup.get('invoiceSerie').value,
136
- partnerDocument: this.formGroup.get('partnerDocument').value,
138
+ invoiceKey: this.formGroup.get("key").value,
139
+ invoiceNumber: this.formGroup.get("invoiceNumber").value,
140
+ invoiceSerialNumber: this.formGroup.get("invoiceSerie").value,
141
+ partnerDocument: this.formGroup.get("partnerDocument").value,
137
142
  partnerName: null,
138
143
  type: null,
139
144
  key: null,
140
- schedulingId: null
145
+ schedulingId: null,
141
146
  };
142
147
  if (partners.totalElements > 0) {
143
148
  var partner = partners.contents[0];
@@ -173,9 +178,9 @@ var InsertKeyComponent = /** @class */ (function () {
173
178
  this.setValuesOfKey(invoice, serie, cnpj);
174
179
  };
175
180
  InsertKeyComponent.prototype.setValuesOfKey = function (invoiceNumber, invoiceSerie, partnerDocument) {
176
- this.formGroup.get('invoiceNumber').setValue(invoiceNumber);
177
- this.formGroup.get('invoiceSerie').setValue(invoiceSerie);
178
- this.formGroup.get('partnerDocument').setValue(partnerDocument);
181
+ this.formGroup.get("invoiceNumber").setValue(invoiceNumber);
182
+ this.formGroup.get("invoiceSerie").setValue(invoiceSerie);
183
+ this.formGroup.get("partnerDocument").setValue(partnerDocument);
179
184
  };
180
185
  InsertKeyComponent.prototype.cancel = function () {
181
186
  this.visibleChange.emit(false);
@@ -195,10 +200,6 @@ var InsertKeyComponent = /** @class */ (function () {
195
200
  Input(),
196
201
  tslib_1.__metadata("design:type", EventEmitter)
197
202
  ], InsertKeyComponent.prototype, "visible", void 0);
198
- tslib_1.__decorate([
199
- Output(),
200
- tslib_1.__metadata("design:type", EventEmitter)
201
- ], InsertKeyComponent.prototype, "document", void 0);
202
203
  tslib_1.__decorate([
203
204
  Output(),
204
205
  tslib_1.__metadata("design:type", Object)
@@ -206,7 +207,7 @@ var InsertKeyComponent = /** @class */ (function () {
206
207
  InsertKeyComponent = tslib_1.__decorate([
207
208
  Component({
208
209
  selector: "insert-key",
209
- template: "<form [formGroup]=\"formGroup\">\n <p-dialog [(visible)]=\"visible\" [modal]=\"true\" \n [draggable]=\"false\" (visibleChange)=\"cancel()\" (onShow)=\"onDialogShow()\">\n <p-header>{{isWmsPartner() ? ('yms.int.wms_search_document' | translate) : \n ('yms.int.wms_search_document' | translate ) + ' ' + wmsSystem }}</p-header>\n <s-loading-state [loading]=\"isLoading || isPartnerloading\">\n <div class=\"flex py-2 justify-content-center spacing-bottom\"\n *ngIf=\"!isWmsSeniorConnect()\">\n <label for=\"key\">{{'yms.int.wms_insert_key_label' | translate}}</label>\n <input id=\"key\" class=\"size-input\" pInputText type=\"text\" formControlName=\"key\">\n <span class=\"error-message\">{{keyErrorMessage | translate}}</span>\n </div>\n <div class=\"flex py-2 justify-content-center spacing-bottom\" *ngIf=\"isWmsSeniorConnect()\">\n <label for=\"purchaseOrder\">{{'yms.int.wms_purchaseOrder' | translate}} </label>\n <input id=\"purchaseOrder\" class=\"size-input\" pInputText type=\"text\" formControlName=\"purchaseOrder\">\n </div>\n <div class=\"flex py-2 justify-content-center spacing-bottom\" *ngIf=\"isWmsWis()\">\n <label for=\"invoiceNumber\">{{'yms.int.wms_invoice_number' | translate}}</label>\n <input id=\"invoiceNumber\" class=\"size-input\" pInputText type=\"text\" formControlName=\"invoiceNumber\">\n </div>\n <div class=\"flex py-2 justify-content-center spacing-bottom\" *ngIf=\"isWmsWis()\">\n <label for=\"invoiceSerie\">{{'yms.int.wms_invoice_serie' | translate}}</label>\n <input id=\"invoiceSerie\" class=\"size-input\" pInputText type=\"text\" formControlName=\"invoiceSerie\">\n </div>\n <div class=\"flex py-2 justify-content-center spacing-bottom\" *ngIf=\"isWmsWis()\">\n <label for=\"partnerDocument\">{{'yms.int.wms_partner_document' | translate}}</label>\n <input id=\"partnerDocument\" class=\"size-input\" pInputText type=\"text\" formControlName=\"partnerDocument\">\n </div>\n <div class=\"separator\"></div>\n <div class=\"spacing-top\">\n <s-button pButton label=\"{{'yms.int.wms_search' | translate}}\" (click)=\"add()\"></s-button>\n <s-button\n type=\"button\"\n class=\"ui-button-link\"\n pButton label=\"{{'cancel' | translate}}\"\n (click)=\"cancel()\">\n </s-button>\n </div>\n </s-loading-state>\n </p-dialog>\n\n</form>\n",
210
+ template: "<form [formGroup]=\"formGroup\">\n <p-dialog\n [(visible)]=\"visible\"\n [modal]=\"true\"\n [draggable]=\"false\"\n (visibleChange)=\"cancel()\"\n (onShow)=\"onDialogShow()\"\n >\n <p-header>{{ \"yms.int.wms_search_document\" | translate }}</p-header>\n <s-loading-state [loading]=\"isLoading || isPartnerloading\">\n <div\n class=\"flex py-2 justify-content-center spacing-bottom\"\n *ngIf=\"!isWmsSeniorConnect()\"\n >\n <label for=\"key\">{{\n \"yms.int.wms_insert_key_label\" | translate\n }}</label>\n <input\n id=\"key\"\n class=\"size-input\"\n pInputText\n type=\"text\"\n formControlName=\"key\"\n />\n <span class=\"error-message\">{{ keyErrorMessage | translate }}</span>\n </div>\n <div\n class=\"flex py-2 justify-content-center spacing-bottom\"\n *ngIf=\"isWmsSeniorConnect()\"\n >\n <label for=\"purchaseOrder\"\n >{{ \"yms.int.wms_purchaseOrder\" | translate }}\n </label>\n <input\n id=\"purchaseOrder\"\n class=\"size-input\"\n pInputText\n type=\"text\"\n formControlName=\"purchaseOrder\"\n />\n </div>\n <div\n class=\"flex py-2 justify-content-center spacing-bottom\"\n *ngIf=\"isWmsWis()\"\n >\n <label for=\"invoiceNumber\">{{\n \"yms.int.wms_invoice_number\" | translate\n }}</label>\n <input\n id=\"invoiceNumber\"\n class=\"size-input\"\n pInputText\n type=\"text\"\n formControlName=\"invoiceNumber\"\n />\n </div>\n <div\n class=\"flex py-2 justify-content-center spacing-bottom\"\n *ngIf=\"isWmsWis()\"\n >\n <label for=\"invoiceSerie\">{{\n \"yms.int.wms_invoice_serie\" | translate\n }}</label>\n <input\n id=\"invoiceSerie\"\n class=\"size-input\"\n pInputText\n type=\"text\"\n formControlName=\"invoiceSerie\"\n />\n </div>\n <div\n class=\"flex py-2 justify-content-center spacing-bottom\"\n *ngIf=\"isWmsWis()\"\n >\n <label for=\"partnerDocument\">{{\n \"yms.int.wms_partner_document\" | translate\n }}</label>\n <input\n id=\"partnerDocument\"\n class=\"size-input\"\n pInputText\n type=\"text\"\n formControlName=\"partnerDocument\"\n />\n </div>\n <div class=\"separator\"></div>\n <div class=\"spacing-top\">\n <s-button\n pButton\n label=\"{{ 'yms.int.wms_search' | translate }}\"\n (click)=\"add()\"\n (keyup)=\"$event.key === 'Enter' || $event.key === ' ' ? add() : null\"\n ></s-button>\n <s-button\n type=\"button\"\n class=\"ui-button-link\"\n pButton\n label=\"{{ 'cancel' | translate }}\"\n (click)=\"cancel()\"\n (keyup)=\"$event.key === 'Enter' || $event.key === ' ' ? add() : null\"\n >\n </s-button>\n </div>\n </s-loading-state>\n </p-dialog>\n</form>\n",
210
211
  styles: [".spacing-top{margin-top:10px}.spacing-bottom{margin-bottom:10px}.separator{width:100%;margin:5px 0;height:1px;background-color:#ccc}.size-input{width:480px}.error-message{color:#c13018;display:flex}"]
211
212
  }),
212
213
  tslib_1.__metadata("design:paramtypes", [FormBuilder,
@@ -215,9 +216,9 @@ var InsertKeyComponent = /** @class */ (function () {
215
216
  ConfirmationService,
216
217
  TranslateService,
217
218
  ExternalTenantService,
218
- DocumentGridComponent])
219
+ DocumentGridFacade])
219
220
  ], InsertKeyComponent);
220
221
  return InsertKeyComponent;
221
222
  }());
222
223
  export { InsertKeyComponent };
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWtleS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3dtcy9jb21wb25lbnRzL2RvY3VtZW50LWdyaWQvaW5zZXJ0LWtleS9pbnNlcnQta2V5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUVoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFFcEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDM0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBT25FO0lBaUJJLDRCQUNxQixXQUF3QixFQUN4QixlQUFnQyxFQUNoQyxLQUEwQixFQUMxQixtQkFBd0MsRUFDeEMsU0FB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b0IsRUFBRSxlQUF1QjtRQUN2RixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTSxtQ0FBTSxHQUFiO1FBQ0ksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELHlDQUFZLEdBQVo7UUFDSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUE5TVE7UUFBUixLQUFLLEVBQUU7MENBQVMsTUFBTTtzREFBQztJQUNmO1FBQVIsS0FBSyxFQUFFOzt5REFBc0I7SUFDckI7UUFBUixLQUFLLEVBQUU7MENBQVUsWUFBWTt1REFBK0I7SUFDbkQ7UUFBVCxNQUFNLEVBQUU7MENBQVcsWUFBWTt3REFBZ0M7SUFDdEQ7UUFBVCxNQUFNLEVBQUU7OzZEQUFvQztJQU5wQyxrQkFBa0I7UUFMOUIsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLFlBQVk7WUFDdEIsaXVGQUEwQzs7U0FFN0MsQ0FBQztpREFtQm9DLFdBQVc7WUFDUCxlQUFlO1lBQ3pCLG1CQUFtQjtZQUNMLG1CQUFtQjtZQUM3QixnQkFBZ0I7WUFDSixxQkFBcUI7WUFDckIscUJBQXFCO09BeEJ4RCxrQkFBa0IsQ0FpTjlCO0lBQUQseUJBQUM7Q0FBQSxBQWpORCxJQWlOQztTQWpOWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IFN1YmplY3QsIHRocm93RXJyb3IgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFV0aWxzTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvdXRpbHMtbWVzc2FnZVwiO1xuaW1wb3J0IHsgV21zU3lzdGVtIH0gZnJvbSAnLi4vLi4vLi4vZW50aXRpZXMvd21zLXN5c3RlbS93bXMtc3lzdGVtJztcbmltcG9ydCB7IERvY3VtZW50U2VydmljZSB9IGZyb20gJy4vLi4vLi4vLi4vZW50aXRpZXMvZG9jdW1lbnQvZG9jdW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBGaW5kRG9jdW1lbnRzSW5wdXQgfSBmcm9tICcuLy4uLy4uLy4uL2VudGl0aWVzL2RvY3VtZW50L2ZpbmQtZG9jdW1lbnRzLWlucHV0JztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgRXh0ZXJuYWxUZW5hbnRTZXJ2aWNlIH0gZnJvbSBcIi4vLi4vLi4vLi4vZW50aXRpZXMvZXh0ZXJuYWwtdGVuYW50L2V4dGVybmFsLXRlbmFudC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBEb2N1bWVudCB9IGZyb20gXCIuLy4uLy4uLy4uL2VudGl0aWVzL2RvY3VtZW50L2RvY3VtZW50XCI7XG5pbXBvcnQgeyBJbnZvaWNlQ29uZGl0aW9uIH0gZnJvbSBcIi4vLi4vLi4vLi4vZW50aXRpZXMvaW52b2ljZS1jb25kaXRpb24vaW52b2ljZS1jb25kaXRpb25cIjtcbmltcG9ydCB7IEFnZW5kYSB9IGZyb20gJy4uLy4uLy4uLy4uL2VycC1zZW5pb3IvY29yZS9lbnRpdGllcy9hZ2VuZGEvYWdlbmRhJztcbmltcG9ydCB7IERvY3VtZW50R3JpZENvbXBvbmVudCB9IGZyb20gXCIuLi9kb2N1bWVudC1ncmlkLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJpbnNlcnQta2V5XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9pbnNlcnQta2V5LmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5zZXJ0LWtleS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEluc2VydEtleUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgXG4gICAgQElucHV0KCkgYWdlbmRhOiBBZ2VuZGE7XG4gICAgQElucHV0KCkgd21zU3lzdGVtOiBXbXNTeXN0ZW07XG4gICAgQElucHV0KCkgdmlzaWJsZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBkb2N1bWVudDogRXZlbnRFbWl0dGVyPERvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBrZXk6IHN0cmluZztcbiAgICBwdWJsaWMga2V5RXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gICAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICAgIHB1YmxpYyBpc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBpc1BhcnRuZXJsb2FkaW5nID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHV0aWxzOiBVdGlsc01lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGV4dGVybmFsVGVuYW50U2VydmljZTogRXh0ZXJuYWxUZW5hbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50R3JpZENvbXBvbmVudDogRG9jdW1lbnRHcmlkQ29tcG9uZW50XG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgICBrZXk6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgcHVyY2hhc2VPcmRlcjogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBpbnZvaWNlTnVtYmVyOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIGludm9pY2VTZXJpZTogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBwYXJ0bmVyRG9jdW1lbnQ6IFt1bmRlZmluZWRdXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgna2V5JykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgobmY6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUtleURldGFpbHMobmYpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNXbXNXaXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLldJUztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNXbXNTZW5pb3JDb25uZWN0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5TRU5JT1JfQ09OTkVDVDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNXbXNQYXJ0bmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5QQVJUTkVSO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGQoKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoS2V5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWFyY2hLZXkoKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICBjb25zdCBrZXk6IEZpbmREb2N1bWVudHNJbnB1dCA9IHtcbiAgICAgICAgICAgIHB1cmNoYXNlT3JkZXI6IHRoaXMuZm9ybUdyb3VwLmdldCgncHVyY2hhc2VPcmRlcicpLnZhbHVlLFxuICAgICAgICAgICAgZG9jdW1lbnRLZXlzOiBbdGhpcy5mb3JtR3JvdXAuZ2V0KCdrZXknKS52YWx1ZV0sXG4gICAgICAgICAgICBpbnZvaWNlczogW3tcbiAgICAgICAgICAgICAgICBudW1iZXI6IHRoaXMuZm9ybUdyb3VwLmdldCgnaW52b2ljZU51bWJlcicpLnZhbHVlLFxuICAgICAgICAgICAgICAgIHNlcmlhbE51bWJlcjogdGhpcy5mb3JtR3JvdXAuZ2V0KCdpbnZvaWNlU2VyaWUnKS52YWx1ZSxcbiAgICAgICAgICAgICAgICBwYXJ0bmVyRG9jdW1lbnQ6IHRoaXMuZm9ybUdyb3VwLmdldCgncGFydG5lckRvY3VtZW50JykudmFsdWVcbiAgICAgICAgICAgIH1dLFxuICAgICAgICAgICAgbG9naXN0Y1VuaXROYW1lOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBzaXplOiAwLFxuICAgICAgICAgICAgb2Zmc2V0OiAwXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGVycm9yU2VhcmNoID0gXCJ5bXMuaW50Lndtc19lcnJvcl9zZWFyY2hfZG9jdW1lbnRfbWVzc2FnZV9oZWFkZXJcIjtcbiAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZmluZERvY3VtZW50cyhrZXkpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLlBBUlRORVIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlscy5tZXNzYWdlKFwiZXJyb3JcIiwgZXJyb3JTZWFyY2gsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInltcy5pbnQud21zX2Vycm9yX3NlYXJjaF9kb2N1bWVudF9ub3RfZm91bmRfcGFydG5lclwiKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGVyci5lcnJvciAmJiBlcnIuZXJyb3IubWVzc2FnZS5pbmNsdWRlcyhcIjQwNFwiKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWxzLm1lc3NhZ2UoXCJlcnJvclwiLCBlcnJvclNlYXJjaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwieW1zLmludC53bXNfZXJyb3Jfc2VhcmNoX2RvY3VtZW50X25vdF9mb3VuZF9tZXNzYWdlX2NvbnRlbnRcIik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlscy50cmFuc2xhdGVNZXNzYWdlKFwiZXJyb3JcIiwgZXJyb3JTZWFyY2gsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInltcy5pbnQud21zX2Vycm9yX3Vua25vd25fc2VhcmNoX2RvY3VtZW50X21lc3NhZ2VfY29udGVudCBcIiArIGVyci5lcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm1JbnZvaWNlRGlhbG9nKCk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoY29udGVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoIWNvbnRlbnQgfHwgY29udGVudC50b3RhbEVsZW1lbnRzIDwgMSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXRpbHMubWVzc2FnZShcIndhcm5cIiwgXCJ5bXMuaW50Lndtc19pbnNlcnRfa2V5X3dhcm5pbmdfbWVzc2FnZV9oZWFkZXJcIiwgXCJ5bXMuaW50Lndtc19pbnNlcnRfa2V5X3dhcm5pbmdfbWVzc2FnZV9kZXNjcmlwdGlvblwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBkb2N1bWVudCA9IGNvbnRlbnQuY29udGVudHNbMF07XG4gICAgICAgICAgICBpZiAoIXRoaXMuZG9jdW1lbnRHcmlkQ29tcG9uZW50LnZhbGlkYXRlRG9jdW1lbnQoZG9jdW1lbnQpKXtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRvY3VtZW50Lmludm9pY2VLZXkgPSB0aGlzLmZvcm1Hcm91cC5nZXQoJ2tleScpLnZhbHVlO1xuICAgICAgICAgICAgZG9jdW1lbnQuaW52b2ljZUNvbmRpdGlvbiA9IEludm9pY2VDb25kaXRpb24uQVVUSE9SSVpFRDtcblxuICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5lbWl0KGRvY3VtZW50KTtcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb25maXJtSW52b2ljZURpYWxvZygpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNXbXNXaXMoKSkge1xuICAgICAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19tZXNzYWdlX2NvbmZpcm1faW52b2ljZV9kaWFsb2dcIiksXG4gICAgICAgICAgICAgICAgYWNjZXB0TGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19hY2NlcHRfY29uZmlybV9pbnZvaWNlX2RpYWxvZ1wiKSxcbiAgICAgICAgICAgICAgICByZWplY3RMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlamVjdF9jb25maXJtX2ludm9pY2VfZGlhbG9nXCIpLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX2hlYWRlcl9jb250ZW50X2NvbmZpcm1faW52b2ljZV9kaWFsb2dcIiksXG4gICAgICAgICAgICAgICAgYWNjZXB0OiAoKSA9PiB0aGlzLmJ1aWxkSW52b2ljZSgpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYnVpbGRJbnZvaWNlKCl7XG4gICAgICAgIHRoaXMuaXNQYXJ0bmVybG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgY29uc3QgcGFydG5lckRvY3VtZW50ID0gdGhpcy5mb3JtR3JvdXAuZ2V0KCdwYXJ0bmVyRG9jdW1lbnQnKS52YWx1ZTtcbiAgICAgICAgdGhpcy5leHRlcm5hbFRlbmFudFNlcnZpY2UubGlzdCh7XG4gICAgICAgICAgICBmaWx0ZXJRdWVyeTogYGNucGogZXEgJyR7cGFydG5lckRvY3VtZW50fSdgXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1BhcnRuZXJsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGNvbnRlbnRzOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRvY3VtZW50SW52b2ljZSA9IHRoaXMuY3JlYXRlRG9jdW1lbnRJbnZvaWNlKGNvbnRlbnRzKTtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQuZW1pdChkb2N1bWVudEludm9pY2UpO1xuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVEb2N1bWVudEludm9pY2UocGFydG5lcnM6IGFueSk6IERvY3VtZW50IHtcbiAgICAgICAgY29uc3QgZG9jdW1lbnRJbnZvaWNlOiBEb2N1bWVudCA9IHtcbiAgICAgICAgICAgIGludm9pY2VLZXk6IHRoaXMuZm9ybUdyb3VwLmdldCgna2V5JykudmFsdWUsXG4gICAgICAgICAgICBpbnZvaWNlTnVtYmVyOiB0aGlzLmZvcm1Hcm91cC5nZXQoJ2ludm9pY2VOdW1iZXInKS52YWx1ZSxcbiAgICAgICAgICAgIGludm9pY2VTZXJpYWxOdW1iZXI6IHRoaXMuZm9ybUdyb3VwLmdldCgnaW52b2ljZVNlcmllJykudmFsdWUsXG4gICAgICAgICAgICBwYXJ0bmVyRG9jdW1lbnQ6IHRoaXMuZm9ybUdyb3VwLmdldCgncGFydG5lckRvY3VtZW50JykudmFsdWUsXG4gICAgICAgICAgICBwYXJ0bmVyTmFtZTogbnVsbCxcbiAgICAgICAgICAgIHR5cGU6IG51bGwsXG4gICAgICAgICAgICBrZXk6IG51bGwsXG4gICAgICAgICAgICBzY2hlZHVsaW5nSWQ6IG51bGxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAocGFydG5lcnMudG90YWxFbGVtZW50cyA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnRuZXIgPSBwYXJ0bmVycy5jb250ZW50c1swXTtcbiAgICAgICAgICAgIGRvY3VtZW50SW52b2ljZS5wYXJ0bmVyTmFtZSA9IHBhcnRuZXIuZGVzY3JpY2FvO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRvY3VtZW50SW52b2ljZTtcbiAgICB9XG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUtleURldGFpbHMobmY6IHN0cmluZykge1xuICAgICAgICBpZiAoIW5mKSB7XG4gICAgICAgICAgICB0aGlzLmtleUVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnNldFZhbHVlc09mS2V5KHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmZMZW5ndGggPSA0NDtcbiAgICAgICAgaWYgKG5mLmxlbmd0aCA9PT0gbmZMZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMua2V5RXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuZXh0cmFjdEtleURldGFpbHMobmYpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5rZXlFcnJvck1lc3NhZ2UgPSBcInltcy5pbnQud21zX2Vycm9yX2tleV9tZXNzYWdlXCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGV4dHJhY3RLZXlEZXRhaWxzKG5mOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgc3RhcnRDbnBqID0gNjtcbiAgICAgICAgY29uc3QgZW5kQ25waiA9IDIwO1xuICAgICAgICBjb25zdCBjbnBqID0gbmYuc3Vic3RyaW5nKHN0YXJ0Q25waiwgZW5kQ25waik7XG5cbiAgICAgICAgY29uc3Qgc3RhcnRTZXJpZSA9IDIyO1xuICAgICAgICBjb25zdCBlbmRTZXJpZSA9IDI1O1xuICAgICAgICBjb25zdCBzZXJpZSA9IG5mLnN1YnN0cmluZyhzdGFydFNlcmllLCBlbmRTZXJpZSk7XG5cbiAgICAgICAgY29uc3Qgc3RhcnRJbnZvaWNlID0gMjU7XG4gICAgICAgIGNvbnN0IGVuZEludm9pY2UgPSAzNDtcbiAgICAgICAgY29uc3QgaW52b2ljZSA9IG5mLnN1YnN0cmluZyhzdGFydEludm9pY2UsIGVuZEludm9pY2UpO1xuXG4gICAgICAgIHRoaXMuc2V0VmFsdWVzT2ZLZXkoaW52b2ljZSwgc2VyaWUsIGNucGopO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VmFsdWVzT2ZLZXkoaW52b2ljZU51bWJlcjogc3RyaW5nLCBpbnZvaWNlU2VyaWU6IHN0cmluZywgcGFydG5lckRvY3VtZW50OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdpbnZvaWNlTnVtYmVyJykuc2V0VmFsdWUoaW52b2ljZU51bWJlcik7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnaW52b2ljZVNlcmllJykuc2V0VmFsdWUoaW52b2ljZVNlcmllKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdwYXJ0bmVyRG9jdW1lbnQnKS5zZXRWYWx1ZShwYXJ0bmVyRG9jdW1lbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYW5jZWwoKSB7XG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBvbkRpYWxvZ1Nob3coKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KCk7XG4gICAgfVxufSJdfQ==
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWtleS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3dtcy9jb21wb25lbnRzL2RvY3VtZW50LWdyaWQvaW5zZXJ0LWtleS9pbnNlcnQta2V5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BFLE9BQU8sRUFDTCxlQUFlLEdBRWhCLE1BQU0sK0NBQStDLENBQUM7QUFFdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBRXBHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM1RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU83RDtJQWVFLDRCQUNtQixXQUF3QixFQUN4QixlQUFnQyxFQUNoQyxLQUEwQixFQUMxQixtQkFBd0MsRUFDeEMsU0FB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cUIsRUFDckIsWUFBb0IsRUFDcEIsZUFBdUI7UUFFdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU0sbUNBQU0sR0FBYjtRQUNFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCx5Q0FBWSxHQUFaO1FBQ0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBNU9RO1FBQVIsS0FBSyxFQUFFOzBDQUFTLE1BQU07c0RBQUM7SUFDZjtRQUFSLEtBQUssRUFBRTs7eURBQXNCO0lBQ3JCO1FBQVIsS0FBSyxFQUFFOzBDQUFVLFlBQVk7dURBQStCO0lBQ25EO1FBQVQsTUFBTSxFQUFFOzs2REFBb0M7SUFKbEMsa0JBQWtCO1FBTDlCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxZQUFZO1lBQ3RCLGlyR0FBMEM7O1NBRTNDLENBQUM7aURBaUJnQyxXQUFXO1lBQ1AsZUFBZTtZQUN6QixtQkFBbUI7WUFDTCxtQkFBbUI7WUFDN0IsZ0JBQWdCO1lBQ0oscUJBQXFCO1lBQ3BDLGtCQUFrQjtPQXRCbEMsa0JBQWtCLENBOE85QjtJQUFELHlCQUFDO0NBQUEsQUE5T0QsSUE4T0M7U0E5T1ksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IFV0aWxzTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvdXRpbHMtbWVzc2FnZVwiO1xuaW1wb3J0IHsgV21zU3lzdGVtIH0gZnJvbSBcIi4uLy4uLy4uL2VudGl0aWVzL3dtcy1zeXN0ZW0vd21zLXN5c3RlbVwiO1xuaW1wb3J0IHtcbiAgRG9jdW1lbnRTZXJ2aWNlLFxuICBGaW5kRG9jdW1lbnRzT3V0cHV0LFxufSBmcm9tIFwiLi8uLi8uLi8uLi9lbnRpdGllcy9kb2N1bWVudC9kb2N1bWVudC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBGaW5kRG9jdW1lbnRzSW5wdXQgfSBmcm9tIFwiLi8uLi8uLi8uLi9lbnRpdGllcy9kb2N1bWVudC9maW5kLWRvY3VtZW50cy1pbnB1dFwiO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBFeHRlcm5hbFRlbmFudFNlcnZpY2UgfSBmcm9tIFwiLi8uLi8uLi8uLi9lbnRpdGllcy9leHRlcm5hbC10ZW5hbnQvZXh0ZXJuYWwtdGVuYW50LnNlcnZpY2VcIjtcbmltcG9ydCB7IERvY3VtZW50IH0gZnJvbSBcIi4vLi4vLi4vLi4vZW50aXRpZXMvZG9jdW1lbnQvZG9jdW1lbnRcIjtcbmltcG9ydCB7IEludm9pY2VDb25kaXRpb24gfSBmcm9tIFwiLi8uLi8uLi8uLi9lbnRpdGllcy9pbnZvaWNlLWNvbmRpdGlvbi9pbnZvaWNlLWNvbmRpdGlvblwiO1xuaW1wb3J0IHsgQWdlbmRhIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2VycC1zZW5pb3IvY29yZS9lbnRpdGllcy9hZ2VuZGEvYWdlbmRhXCI7XG5pbXBvcnQgeyBEb2N1bWVudEdyaWRGYWNhZGUgfSBmcm9tIFwiLi4vZG9jdW1lbnQtZ3JpZC5mYWNhZGVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImluc2VydC1rZXlcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbnNlcnQta2V5LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9pbnNlcnQta2V5LmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBJbnNlcnRLZXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBhZ2VuZGE6IEFnZW5kYTtcbiAgQElucHV0KCkgd21zU3lzdGVtOiBXbXNTeXN0ZW07XG4gIEBJbnB1dCgpIHZpc2libGU6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGtleTogc3RyaW5nO1xuICBwdWJsaWMga2V5RXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgcHVibGljIGlzTG9hZGluZyA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpc1BhcnRuZXJsb2FkaW5nID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXRpbHM6IFV0aWxzTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXh0ZXJuYWxUZW5hbnRTZXJ2aWNlOiBFeHRlcm5hbFRlbmFudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYWNhZGU6IERvY3VtZW50R3JpZEZhY2FkZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGtleTogW3VuZGVmaW5lZF0sXG4gICAgICBwdXJjaGFzZU9yZGVyOiBbdW5kZWZpbmVkXSxcbiAgICAgIGludm9pY2VOdW1iZXI6IFt1bmRlZmluZWRdLFxuICAgICAgaW52b2ljZVNlcmllOiBbdW5kZWZpbmVkXSxcbiAgICAgIHBhcnRuZXJEb2N1bWVudDogW3VuZGVmaW5lZF0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJrZXlcIikudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgobmY6IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy52YWxpZGF0ZUtleURldGFpbHMobmYpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGlzV21zV2lzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLldJUztcbiAgfVxuXG4gIHB1YmxpYyBpc1dtc1NlbmlvckNvbm5lY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uU0VOSU9SX0NPTk5FQ1Q7XG4gIH1cblxuICBwdWJsaWMgaXNXbXNQYXJ0bmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLlBBUlRORVI7XG4gIH1cblxuICBwdWJsaWMgYWRkKCkge1xuICAgIHRoaXMuc2VhcmNoS2V5KCk7XG4gIH1cblxuICBwcml2YXRlIHNlYXJjaEtleSgpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG5cbiAgICBjb25zdCBrZXk6IEZpbmREb2N1bWVudHNJbnB1dCA9IHtcbiAgICAgIHB1cmNoYXNlT3JkZXI6IHRoaXMuZm9ybUdyb3VwLmdldChcInB1cmNoYXNlT3JkZXJcIikudmFsdWUsXG4gICAgICBkb2N1bWVudEtleXM6IFt0aGlzLmZvcm1Hcm91cC5nZXQoXCJrZXlcIikudmFsdWVdLFxuICAgICAgaW52b2ljZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG51bWJlcjogdGhpcy5mb3JtR3JvdXAuZ2V0KFwiaW52b2ljZU51bWJlclwiKS52YWx1ZSxcbiAgICAgICAgICBzZXJpYWxOdW1iZXI6IHRoaXMuZm9ybUdyb3VwLmdldChcImludm9pY2VTZXJpZVwiKS52YWx1ZSxcbiAgICAgICAgICBwYXJ0bmVyRG9jdW1lbnQ6IHRoaXMuZm9ybUdyb3VwLmdldChcInBhcnRuZXJEb2N1bWVudFwiKS52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBsb2dpc3RjVW5pdE5hbWU6IHVuZGVmaW5lZCxcbiAgICAgIHNpemU6IDAsXG4gICAgICBvZmZzZXQ6IDAsXG4gICAgfTtcbiAgICBjb25zdCBlcnJvclNlYXJjaCA9IFwieW1zLmludC53bXNfZXJyb3Jfc2VhcmNoX2RvY3VtZW50X21lc3NhZ2VfaGVhZGVyXCI7XG4gICAgdGhpcy5kb2N1bWVudFNlcnZpY2VcbiAgICAgIC5maW5kRG9jdW1lbnRzKGtleSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5QQVJUTkVSKSB7XG4gICAgICAgICAgICB0aGlzLnV0aWxzLm1lc3NhZ2UoXG4gICAgICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgICAgICAgZXJyb3JTZWFyY2gsXG4gICAgICAgICAgICAgIFwieW1zLmludC53bXNfZXJyb3Jfc2VhcmNoX2RvY3VtZW50X25vdF9mb3VuZF9wYXJ0bmVyXCJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIGlmIChlcnIuZXJyb3IgJiYgZXJyLmVycm9yLm1lc3NhZ2UuaW5jbHVkZXMoXCI0MDRcIikpIHtcbiAgICAgICAgICAgIHRoaXMudXRpbHMubWVzc2FnZShcbiAgICAgICAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICAgICAgICBlcnJvclNlYXJjaCxcbiAgICAgICAgICAgICAgXCJ5bXMuaW50Lndtc19lcnJvcl9zZWFyY2hfZG9jdW1lbnRfbm90X2ZvdW5kX21lc3NhZ2VfY29udGVudFwiXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnV0aWxzLm1lc3NhZ2UoXG4gICAgICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgICAgICAgZXJyb3JTZWFyY2gsXG4gICAgICAgICAgICAgIGVyci5lcnJvci5tZXNzYWdlIHx8XG4gICAgICAgICAgICAgICAgXCJ5bXMuaW50Lndtc19lcnJvcl91bmtub3duX3NlYXJjaF9kb2N1bWVudF9tZXNzYWdlX2NvbnRlbnRcIlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLmNvbmZpcm1JbnZvaWNlRGlhbG9nKCk7XG5cbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChjb250ZW50OiBGaW5kRG9jdW1lbnRzT3V0cHV0KSA9PiB7XG4gICAgICAgIGlmICghY29udGVudCB8fCBjb250ZW50LnRvdGFsRWxlbWVudHMgPCAxKSB7XG4gICAgICAgICAgdGhpcy51dGlscy5tZXNzYWdlKFxuICAgICAgICAgICAgXCJ3YXJuXCIsXG4gICAgICAgICAgICBcInltcy5pbnQud21zX2luc2VydF9rZXlfd2FybmluZ19tZXNzYWdlX2hlYWRlclwiLFxuICAgICAgICAgICAgXCJ5bXMuaW50Lndtc19pbnNlcnRfa2V5X3dhcm5pbmdfbWVzc2FnZV9kZXNjcmlwdGlvblwiXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZG9jdW1lbnQgPSBjb250ZW50LmNvbnRlbnRzWzBdO1xuICAgICAgICBpZiAoIXRoaXMuZmFjYWRlLnZhbGlkYXRlRG9jdW1lbnQoZG9jdW1lbnQpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZG9jdW1lbnQuaW52b2ljZUtleSA9IHRoaXMuZm9ybUdyb3VwLmdldChcImtleVwiKS52YWx1ZTtcbiAgICAgICAgZG9jdW1lbnQuaW52b2ljZUNvbmRpdGlvbiA9IEludm9pY2VDb25kaXRpb24uQVVUSE9SSVpFRDtcblxuICAgICAgICB0aGlzLmZhY2FkZS5vbkNoYW5nZURvY3VtZW50KGRvY3VtZW50KTtcbiAgICAgICAgdGhpcy5mYWNhZGUuY2xvc2VJbnZvaWNlU2VhcmNoTW9kYWwoKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNvbmZpcm1JbnZvaWNlRGlhbG9nKCkge1xuICAgIGlmICh0aGlzLmlzV21zV2lzKCkpIHtcbiAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICBcInltcy5pbnQud21zX21lc3NhZ2VfY29uZmlybV9pbnZvaWNlX2RpYWxvZ1wiXG4gICAgICAgICksXG4gICAgICAgIGFjY2VwdExhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgIFwieW1zLmludC53bXNfYWNjZXB0X2NvbmZpcm1faW52b2ljZV9kaWFsb2dcIlxuICAgICAgICApLFxuICAgICAgICByZWplY3RMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICBcInltcy5pbnQud21zX3JlamVjdF9jb25maXJtX2ludm9pY2VfZGlhbG9nXCJcbiAgICAgICAgKSxcbiAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgIFwieW1zLmludC53bXNfaGVhZGVyX2NvbnRlbnRfY29uZmlybV9pbnZvaWNlX2RpYWxvZ1wiXG4gICAgICAgICksXG4gICAgICAgIGFjY2VwdDogKCkgPT4gdGhpcy5idWlsZEludm9pY2UoKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRJbnZvaWNlKCkge1xuICAgIHRoaXMuaXNQYXJ0bmVybG9hZGluZyA9IHRydWU7XG5cbiAgICBjb25zdCBwYXJ0bmVyRG9jdW1lbnQgPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJwYXJ0bmVyRG9jdW1lbnRcIikudmFsdWU7XG4gICAgdGhpcy5leHRlcm5hbFRlbmFudFNlcnZpY2VcbiAgICAgIC5saXN0KHtcbiAgICAgICAgZmlsdGVyUXVlcnk6IGBjbnBqIGVxICcke3BhcnRuZXJEb2N1bWVudH0nYCxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzUGFydG5lcmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGNvbnRlbnRzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgZG9jdW1lbnRJbnZvaWNlID0gdGhpcy5jcmVhdGVEb2N1bWVudEludm9pY2UoY29udGVudHMpO1xuICAgICAgICB0aGlzLmZhY2FkZS5vbkNoYW5nZURvY3VtZW50KGRvY3VtZW50SW52b2ljZSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRG9jdW1lbnRJbnZvaWNlKHBhcnRuZXJzOiBhbnkpOiBEb2N1bWVudCB7XG4gICAgY29uc3QgZG9jdW1lbnRJbnZvaWNlOiBEb2N1bWVudCA9IHtcbiAgICAgIGludm9pY2VLZXk6IHRoaXMuZm9ybUdyb3VwLmdldChcImtleVwiKS52YWx1ZSxcbiAgICAgIGludm9pY2VOdW1iZXI6IHRoaXMuZm9ybUdyb3VwLmdldChcImludm9pY2VOdW1iZXJcIikudmFsdWUsXG4gICAgICBpbnZvaWNlU2VyaWFsTnVtYmVyOiB0aGlzLmZvcm1Hcm91cC5nZXQoXCJpbnZvaWNlU2VyaWVcIikudmFsdWUsXG4gICAgICBwYXJ0bmVyRG9jdW1lbnQ6IHRoaXMuZm9ybUdyb3VwLmdldChcInBhcnRuZXJEb2N1bWVudFwiKS52YWx1ZSxcbiAgICAgIHBhcnRuZXJOYW1lOiBudWxsLFxuICAgICAgdHlwZTogbnVsbCxcbiAgICAgIGtleTogbnVsbCxcbiAgICAgIHNjaGVkdWxpbmdJZDogbnVsbCxcbiAgICB9O1xuXG4gICAgaWYgKHBhcnRuZXJzLnRvdGFsRWxlbWVudHMgPiAwKSB7XG4gICAgICBjb25zdCBwYXJ0bmVyID0gcGFydG5lcnMuY29udGVudHNbMF07XG4gICAgICBkb2N1bWVudEludm9pY2UucGFydG5lck5hbWUgPSBwYXJ0bmVyLmRlc2NyaWNhbztcbiAgICB9XG5cbiAgICByZXR1cm4gZG9jdW1lbnRJbnZvaWNlO1xuICB9XG4gIHByaXZhdGUgdmFsaWRhdGVLZXlEZXRhaWxzKG5mOiBzdHJpbmcpIHtcbiAgICBpZiAoIW5mKSB7XG4gICAgICB0aGlzLmtleUVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgICB0aGlzLnNldFZhbHVlc09mS2V5KHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5mTGVuZ3RoID0gNDQ7XG4gICAgaWYgKG5mLmxlbmd0aCA9PT0gbmZMZW5ndGgpIHtcbiAgICAgIHRoaXMua2V5RXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICAgIHRoaXMuZXh0cmFjdEtleURldGFpbHMobmYpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmtleUVycm9yTWVzc2FnZSA9IFwieW1zLmludC53bXNfZXJyb3Jfa2V5X21lc3NhZ2VcIjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RLZXlEZXRhaWxzKG5mOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzdGFydENucGogPSA2O1xuICAgIGNvbnN0IGVuZENucGogPSAyMDtcbiAgICBjb25zdCBjbnBqID0gbmYuc3Vic3RyaW5nKHN0YXJ0Q25waiwgZW5kQ25waik7XG5cbiAgICBjb25zdCBzdGFydFNlcmllID0gMjI7XG4gICAgY29uc3QgZW5kU2VyaWUgPSAyNTtcbiAgICBjb25zdCBzZXJpZSA9IG5mLnN1YnN0cmluZyhzdGFydFNlcmllLCBlbmRTZXJpZSk7XG5cbiAgICBjb25zdCBzdGFydEludm9pY2UgPSAyNTtcbiAgICBjb25zdCBlbmRJbnZvaWNlID0gMzQ7XG4gICAgY29uc3QgaW52b2ljZSA9IG5mLnN1YnN0cmluZyhzdGFydEludm9pY2UsIGVuZEludm9pY2UpO1xuXG4gICAgdGhpcy5zZXRWYWx1ZXNPZktleShpbnZvaWNlLCBzZXJpZSwgY25waik7XG4gIH1cblxuICBwcml2YXRlIHNldFZhbHVlc09mS2V5KFxuICAgIGludm9pY2VOdW1iZXI6IHN0cmluZyxcbiAgICBpbnZvaWNlU2VyaWU6IHN0cmluZyxcbiAgICBwYXJ0bmVyRG9jdW1lbnQ6IHN0cmluZ1xuICApIHtcbiAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJpbnZvaWNlTnVtYmVyXCIpLnNldFZhbHVlKGludm9pY2VOdW1iZXIpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmdldChcImludm9pY2VTZXJpZVwiKS5zZXRWYWx1ZShpbnZvaWNlU2VyaWUpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmdldChcInBhcnRuZXJEb2N1bWVudFwiKS5zZXRWYWx1ZShwYXJ0bmVyRG9jdW1lbnQpO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpIHtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdChmYWxzZSk7XG4gIH1cblxuICBvbkRpYWxvZ1Nob3coKSB7XG4gICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgfVxufVxuIl19
@@ -1,17 +1,17 @@
1
1
  import * as tslib_1 from "tslib";
2
- import { Component, EventEmitter, Input, Output } from "@angular/core";
2
+ import { Component, EventEmitter, Input, Output, } from "@angular/core";
3
3
  import { FormBuilder, Validators } from "@angular/forms";
4
- import { Agenda } from '../../../../erp-senior/core/entities/agenda/agenda';
5
- import { Document } from '../../../entities/document/document';
4
+ import { Agenda } from "../../../../erp-senior/core/entities/agenda/agenda";
5
+ import { Document } from "../../../entities/document/document";
6
6
  import { WmsSystem } from "../../../entities/wms-system/wms-system";
7
7
  import { TranslateService } from "@ngx-translate/core";
8
8
  import { getInvoiceConditions } from "../../utils/invoice-conditions";
9
- import { DocumentGridComponent } from "../document-grid.component";
9
+ import { DocumentGridFacade } from "../document-grid.facade";
10
10
  var RegisterDocumentComponent = /** @class */ (function () {
11
- function RegisterDocumentComponent(fb, translate, documentGridComponent) {
11
+ function RegisterDocumentComponent(fb, translate, facade) {
12
12
  this.fb = fb;
13
13
  this.translate = translate;
14
- this.documentGridComponent = documentGridComponent;
14
+ this.facade = facade;
15
15
  this.document = new EventEmitter();
16
16
  this.visible = new EventEmitter();
17
17
  this.visibleChange = new EventEmitter();
@@ -42,19 +42,23 @@ var RegisterDocumentComponent = /** @class */ (function () {
42
42
  this.visibleChange.emit(false);
43
43
  };
44
44
  RegisterDocumentComponent.prototype.setValuesFormGroup = function (document) {
45
- this.formGroup.get('key').setValue(document.key);
46
- this.formGroup.get('invoiceKey').setValue(document.invoiceKey);
47
- this.formGroup.get('invoiceNumber').setValue(document.invoiceNumber);
48
- this.formGroup.get('invoiceSerialNumber').setValue(document.invoiceSerialNumber);
49
- this.formGroup.get('logistcUnitDocument').setValue(document.logistcUnitDocument);
50
- this.formGroup.get('logistcUnitName').setValue(document.logistcUnitName);
51
- this.formGroup.get('notes').setValue(document.notes);
52
- this.formGroup.get('code').setValue(document.code);
53
- this.formGroup.get('partnerName').setValue(document.partnerName);
54
- this.formGroup.get('partnerDocument').setValue(document.partnerDocument);
55
- this.formGroup.get('ownerDocument').setValue(document.ownerDocument);
56
- this.formGroup.get('ownerName').setValue(document.ownerName);
57
- this.formGroup.get('invoiceCondition').setValue(document.invoiceCondition);
45
+ this.formGroup.get("key").setValue(document.key);
46
+ this.formGroup.get("invoiceKey").setValue(document.invoiceKey);
47
+ this.formGroup.get("invoiceNumber").setValue(document.invoiceNumber);
48
+ this.formGroup
49
+ .get("invoiceSerialNumber")
50
+ .setValue(document.invoiceSerialNumber);
51
+ this.formGroup
52
+ .get("logistcUnitDocument")
53
+ .setValue(document.logistcUnitDocument);
54
+ this.formGroup.get("logistcUnitName").setValue(document.logistcUnitName);
55
+ this.formGroup.get("notes").setValue(document.notes);
56
+ this.formGroup.get("code").setValue(document.code);
57
+ this.formGroup.get("partnerName").setValue(document.partnerName);
58
+ this.formGroup.get("partnerDocument").setValue(document.partnerDocument);
59
+ this.formGroup.get("ownerDocument").setValue(document.ownerDocument);
60
+ this.formGroup.get("ownerName").setValue(document.ownerName);
61
+ this.formGroup.get("invoiceCondition").setValue(document.invoiceCondition);
58
62
  };
59
63
  RegisterDocumentComponent.prototype.getFormGroup = function () {
60
64
  this.formGroup = this.fb.group({
@@ -76,7 +80,7 @@ var RegisterDocumentComponent = /** @class */ (function () {
76
80
  };
77
81
  RegisterDocumentComponent.prototype.save = function () {
78
82
  var document = Document.fromDto(this.formGroup.getRawValue());
79
- if (!this.documentGridComponent.validateDocument(document)) {
83
+ if (!this.facade.validateDocument(document)) {
80
84
  return;
81
85
  }
82
86
  this.document.emit(document);
@@ -98,7 +102,7 @@ var RegisterDocumentComponent = /** @class */ (function () {
98
102
  var _this = this;
99
103
  this.formGroup.valueChanges.subscribe(function () {
100
104
  var formValues = Object.values(_this.formGroup.value);
101
- _this.isSaveFormValid = formValues.some(function (value) { return value !== null && value !== ''; });
105
+ _this.isSaveFormValid = formValues.some(function (value) { return value !== null && value !== ""; });
102
106
  });
103
107
  };
104
108
  tslib_1.__decorate([
@@ -136,13 +140,13 @@ var RegisterDocumentComponent = /** @class */ (function () {
136
140
  RegisterDocumentComponent = tslib_1.__decorate([
137
141
  Component({
138
142
  selector: "register-document",
139
- template: "<s-sidebar\n [visible]=\"visible\"\n header=\"{{isWmsPartner() ? ('yms.int.wms_register_document_add_document' | translate ) : \n ('yms.int.wms_register_document_add_document' | translate ) + ' ' + wmsSystem }}\"\n (visibleChange)=\"close()\"\n (onclose)=\"close()\">\n <form [formGroup]=\"formGroup\">\n <div class=\"ui-g ui-fluid\">\n <div class=\"ui-g-6\" *ngIf=\"isWmsSeniorConnect()\">\n <label for=\"key\">{{'yms.int.wms_purchaseOrder' | translate}}</label>\n <input id=\"key\" pInputText type=\"text\" formControlName=\"key\">\n </div>\n <div class=\"ui-g-6\" *ngIf=\"!isWmsSeniorConnect() && !isWmsWis()\">\n <label for=\"invoiceKey\">{{'yms.int.wms_register_document_invoice_key' | translate}}</label>\n <input id=\"invoiceKey\" pInputText type=\"text\" formControlName=\"invoiceKey\">\n </div>\n <div class=\"ui-g-6\" *ngIf=\"!isWmsSeniorConnect()\">\n <label for=\"invoiceNumber\">{{'yms.int.wms_register_document_invoice_number' | translate}}</label>\n <input id=\"invoiceNumber\" pInputText type=\"text\" formControlName=\"invoiceNumber\">\n </div>\n <div class=\"ui-g-6\" *ngIf=\"!isWmsSeniorConnect()\">\n <label for=\"invoiceSerialNumber\">\n {{'yms.int.wms_register_document_invoice_serial_number' | translate}}\n </label>\n <input id=\"invoiceSerialNumber\" pInputText type=\"text\" formControlName=\"invoiceSerialNumber\">\n </div>\n <div class=\"ui-g-8\" *ngIf=\"!isWmsPartner()\">\n <label for=\"logistcUnitName\">{{'yms.int.wms_register_document_logistc_unit_name' | translate}}</label>\n <input id=\"logistcUnitName\" pInputText type=\"text\" formControlName=\"logistcUnitName\">\n </div>\n <div class=\"ui-g-4\" *ngIf=\"!isWmsPartner()\">\n <label for=\"logistcUnitDocument\">\n {{'yms.int.wms_register_document_logistc_unit_document' | translate}}\n </label>\n <input id=\"logistcUnitDocument\" pInputText type=\"text\" formControlName=\"logistcUnitDocument\">\n </div>\n <div class=\"ui-g-8\" *ngIf=\"!isWmsSeniorConnect() && !isWmsWis() && !isWmsPartner()\">\n <label for=\"documentOwnerName\">{{'yms.int.wms_register_document_owner_name' | translate}}</label>\n <input id=\"documentOwnerName\" pInputText type=\"text\" formControlName=\"ownerName\">\n </div>\n <div class=\"ui-g-4\" *ngIf=\"!isWmsSeniorConnect() && !isWmsWis() && !isWmsPartner()\">\n <label for=\"ownerDocument\">{{'yms.int.wms_register_document_owner_document' | translate}}</label>\n <input id=\"ownerDocument\" pInputText type=\"text\" formControlName=\"ownerDocument\">\n </div>\n <div class=\"ui-g-8\">\n <label for=\"partnerName\">{{'yms.int.wms_register_document_partner_name' | translate}}</label>\n <input id=\"partnerName\" pInputText type=\"text\" formControlName=\"partnerName\">\n </div>\n <div class=\"ui-g-4\">\n <label for=\"partnerDocument\">{{'yms.int.wms_register_document_partner_document' | translate}}</label>\n <input id=\"partnerDocument\" pInputText type=\"text\" formControlName=\"partnerDocument\">\n </div>\n <div class=\"ui-g-12\">\n <label for=\"notes\" id=\"notes\">{{'yms.int.wms_register_document_notes' | translate}}</label>\n <textarea id=\"notes\" rows=\"4\" pInputTextarea autoResize=\"autoResize\" formControlName=\"notes\"></textarea>\n </div>\n <div class=\"ui-g-4\" *ngIf=\"isWmsSenior() || isWmsWis()\">\n <label for=\"code\">\n {{'yms.int.wms_register_document_order_receiving_code' | translate}}\n </label>\n <input id=\"code\" pInputText type=\"text\" formControlName=\"code\">\n </div>\n <div class=\"ui-g-4\" *ngIf=\"!isClienteExterno && ( isWmsWis() || isWmsPartner() ) \">\n <label for=\"invoiceCondition\" id=\"invoiceCondition\">\n {{'yms.int.wms_grid_document_invoice_condition' | translate}}\n </label>\n <p-dropdown\n inputId=\"invoiceCondition\"\n name=\"invoiceCondition\"\n [autoWidth]=\"false\"\n [options]=\"invoiceCondition\"\n formControlName=\"invoiceCondition\"\n ></p-dropdown>\n </div>\n </div>\n </form>\n <div class=\"space-between\">\n <button\n pButton label=\"{{'save' | translate}}\"\n (click)=\"save()\"\n [attr.data-hidden]=\"hideSaveButton\"\n [disabled]=\"!isSaveFormValid\">\n </button>\n <button\n type=\"button\" class=\"ui-button-link\" pButton label=\"{{'cancel' | translate}}\" (click)=\"close()\">\n </button>\n </div>\n</s-sidebar>"
143
+ template: "<s-sidebar\n [visible]=\"visible\"\n header=\"{{ 'yms.int.wms_register_document_add_document' | translate }}\"\n (visibleChange)=\"close()\"\n (onclose)=\"close()\"\n>\n <form [formGroup]=\"formGroup\">\n <div class=\"ui-g ui-fluid\">\n <div class=\"ui-g-6\" *ngIf=\"isWmsSeniorConnect()\">\n <label for=\"key\">{{ \"yms.int.wms_purchaseOrder\" | translate }}</label>\n <input id=\"key\" pInputText type=\"text\" formControlName=\"key\" />\n </div>\n <div class=\"ui-g-6\" *ngIf=\"!isWmsSeniorConnect() && !isWmsWis()\">\n <label for=\"invoiceKey\">{{\n \"yms.int.wms_register_document_invoice_key\" | translate\n }}</label>\n <input\n id=\"invoiceKey\"\n pInputText\n type=\"text\"\n formControlName=\"invoiceKey\"\n />\n </div>\n <div class=\"ui-g-6\" *ngIf=\"!isWmsSeniorConnect()\">\n <label for=\"invoiceNumber\">{{\n \"yms.int.wms_register_document_invoice_number\" | translate\n }}</label>\n <input\n id=\"invoiceNumber\"\n pInputText\n type=\"text\"\n formControlName=\"invoiceNumber\"\n />\n </div>\n <div class=\"ui-g-6\" *ngIf=\"!isWmsSeniorConnect()\">\n <label for=\"invoiceSerialNumber\">\n {{\n \"yms.int.wms_register_document_invoice_serial_number\" | translate\n }}\n </label>\n <input\n id=\"invoiceSerialNumber\"\n pInputText\n type=\"text\"\n formControlName=\"invoiceSerialNumber\"\n />\n </div>\n <div class=\"ui-g-8\" *ngIf=\"!isWmsPartner()\">\n <label for=\"logistcUnitName\">{{\n \"yms.int.wms_register_document_logistc_unit_name\" | translate\n }}</label>\n <input\n id=\"logistcUnitName\"\n pInputText\n type=\"text\"\n formControlName=\"logistcUnitName\"\n />\n </div>\n <div class=\"ui-g-4\" *ngIf=\"!isWmsPartner()\">\n <label for=\"logistcUnitDocument\">\n {{\n \"yms.int.wms_register_document_logistc_unit_document\" | translate\n }}\n </label>\n <input\n id=\"logistcUnitDocument\"\n pInputText\n type=\"text\"\n formControlName=\"logistcUnitDocument\"\n />\n </div>\n <div\n class=\"ui-g-8\"\n *ngIf=\"!isWmsSeniorConnect() && !isWmsWis() && !isWmsPartner()\"\n >\n <label for=\"documentOwnerName\">{{\n \"yms.int.wms_register_document_owner_name\" | translate\n }}</label>\n <input\n id=\"documentOwnerName\"\n pInputText\n type=\"text\"\n formControlName=\"ownerName\"\n />\n </div>\n <div\n class=\"ui-g-4\"\n *ngIf=\"!isWmsSeniorConnect() && !isWmsWis() && !isWmsPartner()\"\n >\n <label for=\"ownerDocument\">{{\n \"yms.int.wms_register_document_owner_document\" | translate\n }}</label>\n <input\n id=\"ownerDocument\"\n pInputText\n type=\"text\"\n formControlName=\"ownerDocument\"\n />\n </div>\n <div class=\"ui-g-8\">\n <label for=\"partnerName\">{{\n \"yms.int.wms_register_document_partner_name\" | translate\n }}</label>\n <input\n id=\"partnerName\"\n pInputText\n type=\"text\"\n formControlName=\"partnerName\"\n />\n </div>\n <div class=\"ui-g-4\">\n <label for=\"partnerDocument\">{{\n \"yms.int.wms_register_document_partner_document\" | translate\n }}</label>\n <input\n id=\"partnerDocument\"\n pInputText\n type=\"text\"\n formControlName=\"partnerDocument\"\n />\n </div>\n <div class=\"ui-g-12\">\n <label for=\"notes\" id=\"notes\">{{\n \"yms.int.wms_register_document_notes\" | translate\n }}</label>\n <textarea\n id=\"notes\"\n rows=\"4\"\n pInputTextarea\n autoResize=\"autoResize\"\n formControlName=\"notes\"\n ></textarea>\n </div>\n <div class=\"ui-g-4\" *ngIf=\"isWmsSenior() || isWmsWis()\">\n <label for=\"code\">\n {{ \"yms.int.wms_register_document_order_receiving_code\" | translate }}\n </label>\n <input id=\"code\" pInputText type=\"text\" formControlName=\"code\" />\n </div>\n <div\n class=\"ui-g-4\"\n *ngIf=\"!isClienteExterno && (isWmsWis() || isWmsPartner())\"\n >\n <label for=\"invoiceCondition\" id=\"invoiceCondition\">\n {{ \"yms.int.wms_grid_document_invoice_condition\" | translate }}\n </label>\n <p-dropdown\n inputId=\"invoiceCondition\"\n name=\"invoiceCondition\"\n [autoWidth]=\"false\"\n [options]=\"invoiceCondition\"\n formControlName=\"invoiceCondition\"\n ></p-dropdown>\n </div>\n </div>\n </form>\n <div class=\"space-between\">\n <button\n pButton\n label=\"{{ 'save' | translate }}\"\n (click)=\"save()\"\n [attr.data-hidden]=\"hideSaveButton\"\n [disabled]=\"!isSaveFormValid\"\n ></button>\n <button\n type=\"button\"\n class=\"ui-button-link\"\n pButton\n label=\"{{ 'cancel' | translate }}\"\n (click)=\"close()\"\n ></button>\n </div>\n</s-sidebar>\n"
140
144
  }),
141
145
  tslib_1.__metadata("design:paramtypes", [FormBuilder,
142
146
  TranslateService,
143
- DocumentGridComponent])
147
+ DocumentGridFacade])
144
148
  ], RegisterDocumentComponent);
145
149
  return RegisterDocumentComponent;
146
150
  }());
147
151
  export { RegisterDocumentComponent };
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL3ltcy1pbnRlZ3JhdGlvbi8iLCJzb3VyY2VzIjpbInNyYy93bXMvY29tcG9uZW50cy9kb2N1bWVudC1ncmlkL3JlZ2lzdGVyLWRvY3VtZW50L3JlZ2lzdGVyLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQU1uRTtJQWdCSSxtQ0FDcUIsRUFBZSxFQUNmLFNBQTJCLEVBQzNCLHFCQUE0QztRQUY1QyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQWJ2RCxhQUFRLEdBQTJCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkQsWUFBTyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUl0QyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixxQkFBZ0IsR0FB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QXlCO1FBSnJDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxtQkFBbUI7WUFDN0Isb3BLQUFpRDtTQUNwRCxDQUFDO2lEQWtCMkIsV0FBVztZQUNKLGdCQUFnQjtZQUNKLHFCQUFxQjtPQW5CeEQseUJBQXlCLENBcUhyQztJQUFELGdDQUFDO0NBQUEsQUFySEQsSUFxSEM7U0FySFkseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEFnZW5kYSB9IGZyb20gJy4uLy4uLy4uLy4uL2VycC1zZW5pb3IvY29yZS9lbnRpdGllcy9hZ2VuZGEvYWdlbmRhJztcbmltcG9ydCB7IERvY3VtZW50IH0gZnJvbSAnLi4vLi4vLi4vZW50aXRpZXMvZG9jdW1lbnQvZG9jdW1lbnQnO1xuaW1wb3J0IHsgV21zU3lzdGVtIH0gZnJvbSBcIi4uLy4uLy4uL2VudGl0aWVzL3dtcy1zeXN0ZW0vd21zLXN5c3RlbVwiO1xuaW1wb3J0IHsgSW52b2ljZUNvbmRpdGlvbiB9IGZyb20gXCIuLi8uLi8uLi9lbnRpdGllcy9pbnZvaWNlLWNvbmRpdGlvbi9pbnZvaWNlLWNvbmRpdGlvblwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBnZXRJbnZvaWNlQ29uZGl0aW9ucyB9IGZyb20gXCIuLi8uLi91dGlscy9pbnZvaWNlLWNvbmRpdGlvbnNcIjtcbmltcG9ydCB7IERvY3VtZW50R3JpZENvbXBvbmVudCB9IGZyb20gXCIuLi9kb2N1bWVudC1ncmlkLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJyZWdpc3Rlci1kb2N1bWVudFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vcmVnaXN0ZXItZG9jdW1lbnQuY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJEb2N1bWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICAgIEBJbnB1dCgpIHZpZXdEb2N1bWVudDogRG9jdW1lbnRbXTtcbiAgICBASW5wdXQoKSBlZGl0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGFnZW5kYTogQWdlbmRhO1xuICAgIEBJbnB1dCgpIGlzQ2xpZW50ZUV4dGVybm86IGJvb2xlYW47XG4gICAgQE91dHB1dCgpIGRvY3VtZW50OiBFdmVudEVtaXR0ZXI8RG9jdW1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBJbnB1dCgpIHdtc1N5c3RlbTogV21zU3lzdGVtO1xuICAgIEBJbnB1dCgpIHZpc2libGU6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgICBwdWJsaWMgaGlkZVNhdmVCdXR0b246IGJvb2xlYW47XG4gICAgcHVibGljIGlzU2F2ZUZvcm1WYWxpZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBpbnZvaWNlQ29uZGl0aW9uID0gZ2V0SW52b2ljZUNvbmRpdGlvbnModGhpcy50cmFuc2xhdGUpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudEdyaWRDb21wb25lbnQ6IERvY3VtZW50R3JpZENvbXBvbmVudFxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldEZvcm1Hcm91cCgpO1xuICAgICAgICB0aGlzLndhdGNoRm9ybUNoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52aXNpYmlsaXR5Q29uZmlnKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHZpc2liaWxpdHlDb25maWcoKSB7XG4gICAgICAgIGlmICghdGhpcy5lZGl0ICYmIHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZGlzYWJsZSgpO1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZXNGb3JtR3JvdXAodGhpcy52aWV3RG9jdW1lbnRbMF0pO1xuICAgICAgICAgICAgdGhpcy5oaWRlU2F2ZUJ1dHRvbiA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZm9ybUdyb3VwICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmVuYWJsZSgpO1xuICAgICAgICAgICAgdGhpcy5oaWRlU2F2ZUJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlKCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5yZXNldCgpO1xuICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRWYWx1ZXNGb3JtR3JvdXAoZG9jdW1lbnQ6IERvY3VtZW50KSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgna2V5Jykuc2V0VmFsdWUoZG9jdW1lbnQua2V5KTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdpbnZvaWNlS2V5Jykuc2V0VmFsdWUoZG9jdW1lbnQuaW52b2ljZUtleSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnaW52b2ljZU51bWJlcicpLnNldFZhbHVlKGRvY3VtZW50Lmludm9pY2VOdW1iZXIpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2ludm9pY2VTZXJpYWxOdW1iZXInKS5zZXRWYWx1ZShkb2N1bWVudC5pbnZvaWNlU2VyaWFsTnVtYmVyKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdsb2dpc3RjVW5pdERvY3VtZW50Jykuc2V0VmFsdWUoZG9jdW1lbnQubG9naXN0Y1VuaXREb2N1bWVudCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnbG9naXN0Y1VuaXROYW1lJykuc2V0VmFsdWUoZG9jdW1lbnQubG9naXN0Y1VuaXROYW1lKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdub3RlcycpLnNldFZhbHVlKGRvY3VtZW50Lm5vdGVzKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdjb2RlJykuc2V0VmFsdWUoZG9jdW1lbnQuY29kZSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgncGFydG5lck5hbWUnKS5zZXRWYWx1ZShkb2N1bWVudC5wYXJ0bmVyTmFtZSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgncGFydG5lckRvY3VtZW50Jykuc2V0VmFsdWUoZG9jdW1lbnQucGFydG5lckRvY3VtZW50KTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdvd25lckRvY3VtZW50Jykuc2V0VmFsdWUoZG9jdW1lbnQub3duZXJEb2N1bWVudCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnb3duZXJOYW1lJykuc2V0VmFsdWUoZG9jdW1lbnQub3duZXJOYW1lKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdpbnZvaWNlQ29uZGl0aW9uJykuc2V0VmFsdWUoZG9jdW1lbnQuaW52b2ljZUNvbmRpdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGb3JtR3JvdXAoKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICBrZXk6IFt1bmRlZmluZWQsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgICAgaW52b2ljZUtleTogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBzY2hlZHVsaW5nSWQ6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgaW52b2ljZU51bWJlcjogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBpbnZvaWNlU2VyaWFsTnVtYmVyOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIGxvZ2lzdGNVbml0TmFtZTogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBsb2dpc3RjVW5pdERvY3VtZW50OiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIG93bmVyTmFtZTogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBvd25lckRvY3VtZW50OiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIHBhcnRuZXJOYW1lOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIHBhcnRuZXJEb2N1bWVudDogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBub3RlczogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBjb2RlOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIGludm9pY2VDb25kaXRpb246IFt1bmRlZmluZWRdLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2F2ZSgpIHtcbiAgICAgICAgY29uc3QgZG9jdW1lbnQgPSBEb2N1bWVudC5mcm9tRHRvKHRoaXMuZm9ybUdyb3VwLmdldFJhd1ZhbHVlKCkpXG4gICAgICAgIGlmICghdGhpcy5kb2N1bWVudEdyaWRDb21wb25lbnQudmFsaWRhdGVEb2N1bWVudChkb2N1bWVudCkpe1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICB0aGlzLmRvY3VtZW50LmVtaXQoZG9jdW1lbnQpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5yZXNldCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1dtc1dpcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uV0lTO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1dtc1NlbmlvcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uU0VOSU9SO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1dtc1NlbmlvckNvbm5lY3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLlNFTklPUl9DT05ORUNUO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1dtc1BhcnRuZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLlBBUlRORVI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3YXRjaEZvcm1DaGFuZ2VzKCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1WYWx1ZXMgPSBPYmplY3QudmFsdWVzKHRoaXMuZm9ybUdyb3VwLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuaXNTYXZlRm9ybVZhbGlkID0gZm9ybVZhbHVlcy5zb21lKHZhbHVlID0+IHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSAnJyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL3ltcy1pbnRlZ3JhdGlvbi8iLCJzb3VyY2VzIjpbInNyYy93bXMvY29tcG9uZW50cy9kb2N1bWVudC1ncmlkL3JlZ2lzdGVyLWRvY3VtZW50L3JlZ2lzdGVyLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM1RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBTTdEO0lBZUUsbUNBQ21CLEVBQWUsRUFDZixTQUEyQixFQUMzQixNQUEwQjtRQUYxQixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFibkMsYUFBUSxHQUEyQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXZELFlBQU8sR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFJdEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIscUJBQWdCLEdBQUcsb0JBQW9C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ckMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixxNktBQWlEO1NBQ2xELENBQUM7aURBaUJ1QixXQUFXO1lBQ0osZ0JBQWdCO1lBQ25CLGtCQUFrQjtPQWxCbEMseUJBQXlCLENBMEhyQztJQUFELGdDQUFDO0NBQUEsQUExSEQsSUEwSEM7U0ExSFkseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgQWdlbmRhIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2VycC1zZW5pb3IvY29yZS9lbnRpdGllcy9hZ2VuZGEvYWdlbmRhXCI7XG5pbXBvcnQgeyBEb2N1bWVudCB9IGZyb20gXCIuLi8uLi8uLi9lbnRpdGllcy9kb2N1bWVudC9kb2N1bWVudFwiO1xuaW1wb3J0IHsgV21zU3lzdGVtIH0gZnJvbSBcIi4uLy4uLy4uL2VudGl0aWVzL3dtcy1zeXN0ZW0vd21zLXN5c3RlbVwiO1xuaW1wb3J0IHsgSW52b2ljZUNvbmRpdGlvbiB9IGZyb20gXCIuLi8uLi8uLi9lbnRpdGllcy9pbnZvaWNlLWNvbmRpdGlvbi9pbnZvaWNlLWNvbmRpdGlvblwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBnZXRJbnZvaWNlQ29uZGl0aW9ucyB9IGZyb20gXCIuLi8uLi91dGlscy9pbnZvaWNlLWNvbmRpdGlvbnNcIjtcbmltcG9ydCB7IERvY3VtZW50R3JpZEZhY2FkZSB9IGZyb20gXCIuLi9kb2N1bWVudC1ncmlkLmZhY2FkZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwicmVnaXN0ZXItZG9jdW1lbnRcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9yZWdpc3Rlci1kb2N1bWVudC5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckRvY3VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSB2aWV3RG9jdW1lbnQ6IERvY3VtZW50W107XG4gIEBJbnB1dCgpIGVkaXQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFnZW5kYTogQWdlbmRhO1xuICBASW5wdXQoKSBpc0NsaWVudGVFeHRlcm5vOiBib29sZWFuO1xuICBAT3V0cHV0KCkgZG9jdW1lbnQ6IEV2ZW50RW1pdHRlcjxEb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIHdtc1N5c3RlbTogV21zU3lzdGVtO1xuICBASW5wdXQoKSB2aXNpYmxlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgcHVibGljIGhpZGVTYXZlQnV0dG9uOiBib29sZWFuO1xuICBwdWJsaWMgaXNTYXZlRm9ybVZhbGlkID0gZmFsc2U7XG4gIHB1YmxpYyBpbnZvaWNlQ29uZGl0aW9uID0gZ2V0SW52b2ljZUNvbmRpdGlvbnModGhpcy50cmFuc2xhdGUpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFjYWRlOiBEb2N1bWVudEdyaWRGYWNhZGVcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0Rm9ybUdyb3VwKCk7XG4gICAgdGhpcy53YXRjaEZvcm1DaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2liaWxpdHlDb25maWcoKTtcbiAgfVxuXG4gIHB1YmxpYyB2aXNpYmlsaXR5Q29uZmlnKCkge1xuICAgIGlmICghdGhpcy5lZGl0ICYmIHRoaXMudmlzaWJsZSkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZGlzYWJsZSgpO1xuICAgICAgdGhpcy5zZXRWYWx1ZXNGb3JtR3JvdXAodGhpcy52aWV3RG9jdW1lbnRbMF0pO1xuICAgICAgdGhpcy5oaWRlU2F2ZUJ1dHRvbiA9IHRydWU7XG4gICAgICByZXR1cm4gdGhpcy52aXNpYmxlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcm1Hcm91cCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5lbmFibGUoKTtcbiAgICAgIHRoaXMuaGlkZVNhdmVCdXR0b24gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHNldFZhbHVlc0Zvcm1Hcm91cChkb2N1bWVudDogRG9jdW1lbnQpIHtcbiAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJrZXlcIikuc2V0VmFsdWUoZG9jdW1lbnQua2V5KTtcbiAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJpbnZvaWNlS2V5XCIpLnNldFZhbHVlKGRvY3VtZW50Lmludm9pY2VLZXkpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmdldChcImludm9pY2VOdW1iZXJcIikuc2V0VmFsdWUoZG9jdW1lbnQuaW52b2ljZU51bWJlcik7XG4gICAgdGhpcy5mb3JtR3JvdXBcbiAgICAgIC5nZXQoXCJpbnZvaWNlU2VyaWFsTnVtYmVyXCIpXG4gICAgICAuc2V0VmFsdWUoZG9jdW1lbnQuaW52b2ljZVNlcmlhbE51bWJlcik7XG4gICAgdGhpcy5mb3JtR3JvdXBcbiAgICAgIC5nZXQoXCJsb2dpc3RjVW5pdERvY3VtZW50XCIpXG4gICAgICAuc2V0VmFsdWUoZG9jdW1lbnQubG9naXN0Y1VuaXREb2N1bWVudCk7XG4gICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwibG9naXN0Y1VuaXROYW1lXCIpLnNldFZhbHVlKGRvY3VtZW50LmxvZ2lzdGNVbml0TmFtZSk7XG4gICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwibm90ZXNcIikuc2V0VmFsdWUoZG9jdW1lbnQubm90ZXMpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmdldChcImNvZGVcIikuc2V0VmFsdWUoZG9jdW1lbnQuY29kZSk7XG4gICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwicGFydG5lck5hbWVcIikuc2V0VmFsdWUoZG9jdW1lbnQucGFydG5lck5hbWUpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmdldChcInBhcnRuZXJEb2N1bWVudFwiKS5zZXRWYWx1ZShkb2N1bWVudC5wYXJ0bmVyRG9jdW1lbnQpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmdldChcIm93bmVyRG9jdW1lbnRcIikuc2V0VmFsdWUoZG9jdW1lbnQub3duZXJEb2N1bWVudCk7XG4gICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwib3duZXJOYW1lXCIpLnNldFZhbHVlKGRvY3VtZW50Lm93bmVyTmFtZSk7XG4gICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwiaW52b2ljZUNvbmRpdGlvblwiKS5zZXRWYWx1ZShkb2N1bWVudC5pbnZvaWNlQ29uZGl0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybUdyb3VwKCkge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBrZXk6IFt1bmRlZmluZWQsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgaW52b2ljZUtleTogW3VuZGVmaW5lZF0sXG4gICAgICBzY2hlZHVsaW5nSWQ6IFt1bmRlZmluZWRdLFxuICAgICAgaW52b2ljZU51bWJlcjogW3VuZGVmaW5lZF0sXG4gICAgICBpbnZvaWNlU2VyaWFsTnVtYmVyOiBbdW5kZWZpbmVkXSxcbiAgICAgIGxvZ2lzdGNVbml0TmFtZTogW3VuZGVmaW5lZF0sXG4gICAgICBsb2dpc3RjVW5pdERvY3VtZW50OiBbdW5kZWZpbmVkXSxcbiAgICAgIG93bmVyTmFtZTogW3VuZGVmaW5lZF0sXG4gICAgICBvd25lckRvY3VtZW50OiBbdW5kZWZpbmVkXSxcbiAgICAgIHBhcnRuZXJOYW1lOiBbdW5kZWZpbmVkXSxcbiAgICAgIHBhcnRuZXJEb2N1bWVudDogW3VuZGVmaW5lZF0sXG4gICAgICBub3RlczogW3VuZGVmaW5lZF0sXG4gICAgICBjb2RlOiBbdW5kZWZpbmVkXSxcbiAgICAgIGludm9pY2VDb25kaXRpb246IFt1bmRlZmluZWRdLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNhdmUoKSB7XG4gICAgY29uc3QgZG9jdW1lbnQgPSBEb2N1bWVudC5mcm9tRHRvKHRoaXMuZm9ybUdyb3VwLmdldFJhd1ZhbHVlKCkpO1xuICAgIGlmICghdGhpcy5mYWNhZGUudmFsaWRhdGVEb2N1bWVudChkb2N1bWVudCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRvY3VtZW50LmVtaXQoZG9jdW1lbnQpO1xuICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KCk7XG4gIH1cblxuICBwdWJsaWMgaXNXbXNXaXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uV0lTO1xuICB9XG5cbiAgcHVibGljIGlzV21zU2VuaW9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLlNFTklPUjtcbiAgfVxuXG4gIHB1YmxpYyBpc1dtc1NlbmlvckNvbm5lY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uU0VOSU9SX0NPTk5FQ1Q7XG4gIH1cblxuICBwdWJsaWMgaXNXbXNQYXJ0bmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLlBBUlRORVI7XG4gIH1cblxuICBwcml2YXRlIHdhdGNoRm9ybUNoYW5nZXMoKSB7XG4gICAgdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBmb3JtVmFsdWVzID0gT2JqZWN0LnZhbHVlcyh0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG4gICAgICB0aGlzLmlzU2F2ZUZvcm1WYWxpZCA9IGZvcm1WYWx1ZXMuc29tZShcbiAgICAgICAgKHZhbHVlKSA9PiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gXCJcIlxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,52 @@
1
+ import { ColumnType, } from "./wms-integration-strategy.interface";
2
+ var PartnerStrategy = /** @class */ (function () {
3
+ function PartnerStrategy() {
4
+ }
5
+ PartnerStrategy.prototype.getGridColumns = function (translate, isClienteExterno) {
6
+ return [
7
+ {
8
+ field: "invoiceKey",
9
+ header: translate.instant("yms.int.wms_register_document_invoice_key"),
10
+ type: ColumnType.TEXT,
11
+ },
12
+ {
13
+ field: "invoiceNumber",
14
+ header: translate.instant("yms.int.wms_register_document_invoice_number"),
15
+ type: ColumnType.TEXT,
16
+ },
17
+ {
18
+ field: "invoiceSerialNumber",
19
+ header: translate.instant("yms.int.wms_register_document_invoice_serial_number"),
20
+ type: ColumnType.TEXT,
21
+ },
22
+ {
23
+ field: "partnerName",
24
+ header: translate.instant("yms.int.wms_register_document_partner_name"),
25
+ type: ColumnType.TEXT,
26
+ },
27
+ {
28
+ field: "partnerDocument",
29
+ header: translate.instant("yms.int.wms_register_document_partner_document"),
30
+ type: ColumnType.FORMATTED,
31
+ pipe: "cpfCnpjFormat",
32
+ },
33
+ ];
34
+ };
35
+ PartnerStrategy.prototype.updateDocumentKey = function (document) {
36
+ return document.key || document.invoiceKey;
37
+ };
38
+ PartnerStrategy.prototype.validateDocument = function (document, context) {
39
+ // Partner não tem validações específicas no momento
40
+ return { isValid: true };
41
+ };
42
+ PartnerStrategy.prototype.getFilteredInvoiceConditions = function (invoiceCondition, allConditions) {
43
+ // Partner não usa invoice conditions
44
+ return allConditions;
45
+ };
46
+ PartnerStrategy.prototype.supportsInvoiceCondition = function () {
47
+ return false;
48
+ };
49
+ return PartnerStrategy;
50
+ }());
51
+ export { PartnerStrategy };
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydG5lci5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvd21zL2NvbXBvbmVudHMvZG9jdW1lbnQtZ3JpZC9zdHJhdGVnaWVzL3BhcnRuZXIuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUNMLFVBQVUsR0FLWCxNQUFNLHNDQUFzQyxDQUFDO0FBRTlDO0lBQUE7SUFnRUEsQ0FBQztJQS9EQyx3Q0FBYyxHQUFkLFVBQ0UsU0FBMkIsRUFDM0IsZ0JBQXlCO1FBRXpCLE9BQU87WUFDTDtnQkFDRSxLQUFLLEVBQUUsWUFBWTtnQkFDbkIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsMkNBQTJDLENBQUM7Z0JBQ3RFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTthQUN0QjtZQUNEO2dCQUNFLEtBQUssRUFBRSxlQUFlO2dCQUN0QixNQUFNLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FDdkIsOENBQThDLENBQy9DO2dCQUNELElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTthQUN0QjtZQUNEO2dCQUNFLEtBQUssRUFBRSxxQkFBcUI7Z0JBQzVCLE1BQU0sRUFBRSxTQUFTLENBQUMsT0FBTyxDQUN2QixxREFBcUQsQ0FDdEQ7Z0JBQ0QsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO2FBQ3RCO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLE1BQU0sRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLDRDQUE0QyxDQUFDO2dCQUN2RSxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7YUFDdEI7WUFDRDtnQkFDRSxLQUFLLEVBQUUsaUJBQWlCO2dCQUN4QixNQUFNLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FDdkIsZ0RBQWdELENBQ2pEO2dCQUNELElBQUksRUFBRSxVQUFVLENBQUMsU0FBUztnQkFDMUIsSUFBSSxFQUFFLGVBQWU7YUFDdEI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELDJDQUFpQixHQUFqQixVQUFrQixRQUFrQjtRQUNsQyxPQUFPLFFBQVEsQ0FBQyxHQUFHLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsMENBQWdCLEdBQWhCLFVBQ0UsUUFBa0IsRUFDbEIsT0FBMEI7UUFFMUIsb0RBQW9EO1FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELHNEQUE0QixHQUE1QixVQUNFLGdCQUFrQyxFQUNsQyxhQUFrRTtRQUVsRSxxQ0FBcUM7UUFDckMsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELGtEQUF3QixHQUF4QjtRQUNFLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNILHNCQUFDO0FBQUQsQ0FBQyxBQWhFRCxJQWdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgRG9jdW1lbnQgfSBmcm9tIFwiLi4vLi4vLi4vZW50aXRpZXMvZG9jdW1lbnQvZG9jdW1lbnRcIjtcbmltcG9ydCB7IEludm9pY2VDb25kaXRpb24gfSBmcm9tIFwiLi4vLi4vLi4vZW50aXRpZXMvaW52b2ljZS1jb25kaXRpb24vaW52b2ljZS1jb25kaXRpb25cIjtcbmltcG9ydCB7XG4gIENvbHVtblR5cGUsXG4gIEdyaWRDb2x1bW4sXG4gIFZhbGlkYXRpb25Db250ZXh0LFxuICBWYWxpZGF0aW9uUmVzdWx0LFxuICBXbXNJbnRlZ3JhdGlvblN0cmF0ZWd5LFxufSBmcm9tIFwiLi93bXMtaW50ZWdyYXRpb24tc3RyYXRlZ3kuaW50ZXJmYWNlXCI7XG5cbmV4cG9ydCBjbGFzcyBQYXJ0bmVyU3RyYXRlZ3kgaW1wbGVtZW50cyBXbXNJbnRlZ3JhdGlvblN0cmF0ZWd5IHtcbiAgZ2V0R3JpZENvbHVtbnMoXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIGlzQ2xpZW50ZUV4dGVybm86IGJvb2xlYW5cbiAgKTogR3JpZENvbHVtbltdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBmaWVsZDogXCJpbnZvaWNlS2V5XCIsXG4gICAgICAgIGhlYWRlcjogdHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX2tleVwiKSxcbiAgICAgICAgdHlwZTogQ29sdW1uVHlwZS5URVhULFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZmllbGQ6IFwiaW52b2ljZU51bWJlclwiLFxuICAgICAgICBoZWFkZXI6IHRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgIFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfaW52b2ljZV9udW1iZXJcIlxuICAgICAgICApLFxuICAgICAgICB0eXBlOiBDb2x1bW5UeXBlLlRFWFQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBmaWVsZDogXCJpbnZvaWNlU2VyaWFsTnVtYmVyXCIsXG4gICAgICAgIGhlYWRlcjogdHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX3NlcmlhbF9udW1iZXJcIlxuICAgICAgICApLFxuICAgICAgICB0eXBlOiBDb2x1bW5UeXBlLlRFWFQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBmaWVsZDogXCJwYXJ0bmVyTmFtZVwiLFxuICAgICAgICBoZWFkZXI6IHRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfcGFydG5lcl9uYW1lXCIpLFxuICAgICAgICB0eXBlOiBDb2x1bW5UeXBlLlRFWFQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBmaWVsZDogXCJwYXJ0bmVyRG9jdW1lbnRcIixcbiAgICAgICAgaGVhZGVyOiB0cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICBcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X3BhcnRuZXJfZG9jdW1lbnRcIlxuICAgICAgICApLFxuICAgICAgICB0eXBlOiBDb2x1bW5UeXBlLkZPUk1BVFRFRCxcbiAgICAgICAgcGlwZTogXCJjcGZDbnBqRm9ybWF0XCIsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICB1cGRhdGVEb2N1bWVudEtleShkb2N1bWVudDogRG9jdW1lbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBkb2N1bWVudC5rZXkgfHwgZG9jdW1lbnQuaW52b2ljZUtleTtcbiAgfVxuXG4gIHZhbGlkYXRlRG9jdW1lbnQoXG4gICAgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIGNvbnRleHQ6IFZhbGlkYXRpb25Db250ZXh0XG4gICk6IFZhbGlkYXRpb25SZXN1bHQge1xuICAgIC8vIFBhcnRuZXIgbsOjbyB0ZW0gdmFsaWRhw6fDtWVzIGVzcGVjw61maWNhcyBubyBtb21lbnRvXG4gICAgcmV0dXJuIHsgaXNWYWxpZDogdHJ1ZSB9O1xuICB9XG5cbiAgZ2V0RmlsdGVyZWRJbnZvaWNlQ29uZGl0aW9ucyhcbiAgICBpbnZvaWNlQ29uZGl0aW9uOiBJbnZvaWNlQ29uZGl0aW9uLFxuICAgIGFsbENvbmRpdGlvbnM6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IEludm9pY2VDb25kaXRpb24gfCBudWxsIH1bXVxuICApOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBJbnZvaWNlQ29uZGl0aW9uIHwgbnVsbCB9W10ge1xuICAgIC8vIFBhcnRuZXIgbsOjbyB1c2EgaW52b2ljZSBjb25kaXRpb25zXG4gICAgcmV0dXJuIGFsbENvbmRpdGlvbnM7XG4gIH1cblxuICBzdXBwb3J0c0ludm9pY2VDb25kaXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=