@hitsoft/e-donusum 1.0.52 → 1.0.54

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 (63) hide show
  1. package/config/providers/producer-receipt-line-route.provider.d.ts +9 -0
  2. package/config/providers/producer-receipt-note-route.provider.d.ts +9 -0
  3. package/config/providers/producer-receipt-route.provider.d.ts +9 -0
  4. package/esm2020/config/e-donusum-config.module.mjs +8 -2
  5. package/esm2020/config/providers/producer-receipt-line-route.provider.mjs +19 -0
  6. package/esm2020/config/providers/producer-receipt-note-route.provider.mjs +19 -0
  7. package/esm2020/config/providers/producer-receipt-route.provider.mjs +19 -0
  8. package/esm2020/lib/components/hit-inbound-invoices/hit-inbound-invoice.component.mjs +13 -8
  9. package/esm2020/lib/components/hit-paramas-invoices/hit-params-invoice.component.mjs +3 -3
  10. package/esm2020/lib/components/hit-params-dispatches/hit-params-dispatch.component.mjs +3 -3
  11. package/esm2020/lib/despatches/despatch/despatch.module.mjs +1 -1
  12. package/esm2020/lib/document-serials/document-serial/document-serial.module.mjs +1 -1
  13. package/esm2020/lib/e-donusum-routing.module.mjs +7 -1
  14. package/esm2020/lib/hit-proxy/hit-inbound-invoices/hit-inbound-invoice.service.mjs +6 -1
  15. package/esm2020/lib/hit-proxy/hit-inbound-invoices/models.mjs +1 -1
  16. package/esm2020/lib/invoices/invoice/invoice.module.mjs +1 -1
  17. package/esm2020/lib/params-generals/params-general/components/params-general.component.mjs +8 -4
  18. package/esm2020/lib/paramse-dispatches/paramse-dispatch/paramse-dispatch.module.mjs +1 -1
  19. package/esm2020/lib/paramse-invoices/paramse-invoice/paramse-invoice.module.mjs +1 -1
  20. package/esm2020/lib/producer-receipt-lines/producer-receipt-line/components/producer-receipt-line.component.mjs +127 -0
  21. package/esm2020/lib/producer-receipt-lines/producer-receipt-line/producer-receipt-line-routing.module.mjs +26 -0
  22. package/esm2020/lib/producer-receipt-lines/producer-receipt-line/producer-receipt-line.module.mjs +52 -0
  23. package/esm2020/lib/producer-receipt-notes/producer-receipt-note/components/producer-receipt-note.component.mjs +98 -0
  24. package/esm2020/lib/producer-receipt-notes/producer-receipt-note/producer-receipt-note-routing.module.mjs +26 -0
  25. package/esm2020/lib/producer-receipt-notes/producer-receipt-note/producer-receipt-note.module.mjs +52 -0
  26. package/esm2020/lib/producer-receipts/producer-receipt/components/producer-receipt.component.mjs +229 -0
  27. package/esm2020/lib/producer-receipts/producer-receipt/producer-receipt-routing.module.mjs +26 -0
  28. package/esm2020/lib/producer-receipts/producer-receipt/producer-receipt.module.mjs +52 -0
  29. package/esm2020/lib/proxy/params-generals/models.mjs +1 -1
  30. package/esm2020/lib/proxy/params-generals/params-general.service.mjs +2 -2
  31. package/esm2020/lib/proxy/producer-receipt-lines/models.mjs +2 -0
  32. package/esm2020/lib/proxy/producer-receipt-lines/producer-receipt-line.service.mjs +50 -0
  33. package/esm2020/lib/proxy/producer-receipt-notes/models.mjs +2 -0
  34. package/esm2020/lib/proxy/producer-receipt-notes/producer-receipt-note.service.mjs +50 -0
  35. package/esm2020/lib/proxy/producer-receipts/models.mjs +2 -0
  36. package/esm2020/lib/proxy/producer-receipts/producer-receipt.service.mjs +41 -0
  37. package/fesm2015/hitsoft-e-donusum-config.mjs +156 -102
  38. package/fesm2015/hitsoft-e-donusum-config.mjs.map +1 -1
  39. package/fesm2015/hitsoft-e-donusum.mjs +844 -126
  40. package/fesm2015/hitsoft-e-donusum.mjs.map +1 -1
  41. package/fesm2020/hitsoft-e-donusum-config.mjs +156 -102
  42. package/fesm2020/hitsoft-e-donusum-config.mjs.map +1 -1
  43. package/fesm2020/hitsoft-e-donusum.mjs +863 -126
  44. package/fesm2020/hitsoft-e-donusum.mjs.map +1 -1
  45. package/lib/hit-proxy/hit-inbound-invoices/hit-inbound-invoice.service.d.ts +1 -0
  46. package/lib/hit-proxy/hit-inbound-invoices/models.d.ts +3 -0
  47. package/lib/producer-receipt-lines/producer-receipt-line/components/producer-receipt-line.component.d.ts +33 -0
  48. package/lib/producer-receipt-lines/producer-receipt-line/producer-receipt-line-routing.module.d.ts +7 -0
  49. package/lib/producer-receipt-lines/producer-receipt-line/producer-receipt-line.module.d.ts +15 -0
  50. package/lib/producer-receipt-notes/producer-receipt-note/components/producer-receipt-note.component.d.ts +33 -0
  51. package/lib/producer-receipt-notes/producer-receipt-note/producer-receipt-note-routing.module.d.ts +7 -0
  52. package/lib/producer-receipt-notes/producer-receipt-note/producer-receipt-note.module.d.ts +15 -0
  53. package/lib/producer-receipts/producer-receipt/components/producer-receipt.component.d.ts +33 -0
  54. package/lib/producer-receipts/producer-receipt/producer-receipt-routing.module.d.ts +7 -0
  55. package/lib/producer-receipts/producer-receipt/producer-receipt.module.d.ts +15 -0
  56. package/lib/proxy/params-generals/models.d.ts +5 -0
  57. package/lib/proxy/producer-receipt-lines/models.d.ts +97 -0
  58. package/lib/proxy/producer-receipt-lines/producer-receipt-line.service.d.ts +19 -0
  59. package/lib/proxy/producer-receipt-notes/models.d.ts +25 -0
  60. package/lib/proxy/producer-receipt-notes/producer-receipt-note.service.d.ts +19 -0
  61. package/lib/proxy/producer-receipts/models.d.ts +264 -0
  62. package/lib/proxy/producer-receipts/producer-receipt.service.d.ts +16 -0
  63. package/package.json +1 -1
@@ -0,0 +1,127 @@
1
+ import { ListService } from '@abp/ng.core';
2
+ import { Confirmation } from '@abp/ng.theme.shared';
3
+ import { DateAdapter } from '@abp/ng.theme.shared/extensions';
4
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
5
+ import { Validators } from '@angular/forms';
6
+ import { NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap';
7
+ import { filter, finalize, switchMap, tap } from 'rxjs/operators';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@abp/ng.core";
10
+ import * as i2 from "../../../proxy/producer-receipt-lines/producer-receipt-line.service";
11
+ import * as i3 from "@abp/ng.theme.shared";
12
+ import * as i4 from "@angular/forms";
13
+ import * as i5 from "@swimlane/ngx-datatable";
14
+ import * as i6 from "@volo/abp.commercial.ng.ui";
15
+ import * as i7 from "@ngx-validate/core";
16
+ import * as i8 from "@ng-bootstrap/ng-bootstrap";
17
+ import * as i9 from "@abp/ng.components/page";
18
+ export class ProducerReceiptLineComponent {
19
+ constructor(list, track, service, confirmation, fb) {
20
+ this.list = list;
21
+ this.track = track;
22
+ this.service = service;
23
+ this.confirmation = confirmation;
24
+ this.fb = fb;
25
+ this.data = {
26
+ items: [],
27
+ totalCount: 0,
28
+ };
29
+ this.filters = {};
30
+ this.isFiltersHidden = true;
31
+ this.isModalBusy = false;
32
+ this.isModalOpen = false;
33
+ }
34
+ ngOnInit() {
35
+ const getData = (query) => this.service.getList({
36
+ ...query,
37
+ ...this.filters,
38
+ filterText: query.filter,
39
+ });
40
+ const setData = (list) => (this.data = list);
41
+ this.list.hookToQuery(getData).subscribe(setData);
42
+ }
43
+ clearFilters() {
44
+ this.filters = {};
45
+ }
46
+ buildForm() {
47
+ const { producerReceipLineId, note, creditedQuantity, unitCode, lineExtensionAmount, taxTotalTaxAmount, itemDescription, itemName, itemKeyword, itemBrandName, modelName, itemBuyersItemIdentificationID, itemSellersItemIdentificationID, itemManufacturersItemIdentificationID, itemOriginCountryIdentificationCode, itemOriginCountryName, priceAmount, priceCurrencyCode, producerReceiptId, } = this.selected?.producerReceiptLine || {};
48
+ this.form = this.fb.group({
49
+ producerReceipLineId: [producerReceipLineId ?? null, []],
50
+ note: [note ?? null, []],
51
+ creditedQuantity: [creditedQuantity ?? null, []],
52
+ unitCode: [unitCode ?? null, [Validators.maxLength(3)]],
53
+ lineExtensionAmount: [lineExtensionAmount ?? null, []],
54
+ taxTotalTaxAmount: [taxTotalTaxAmount ?? null, []],
55
+ itemDescription: [itemDescription ?? null, [Validators.maxLength(1024)]],
56
+ itemName: [itemName ?? null, [Validators.maxLength(256)]],
57
+ itemKeyword: [itemKeyword ?? null, [Validators.maxLength(256)]],
58
+ itemBrandName: [itemBrandName ?? null, [Validators.maxLength(128)]],
59
+ modelName: [modelName ?? null, [Validators.maxLength(128)]],
60
+ itemBuyersItemIdentificationID: [
61
+ itemBuyersItemIdentificationID ?? null,
62
+ [Validators.maxLength(256)],
63
+ ],
64
+ itemSellersItemIdentificationID: [
65
+ itemSellersItemIdentificationID ?? null,
66
+ [Validators.maxLength(256)],
67
+ ],
68
+ itemManufacturersItemIdentificationID: [
69
+ itemManufacturersItemIdentificationID ?? null,
70
+ [Validators.maxLength(128)],
71
+ ],
72
+ itemOriginCountryIdentificationCode: [
73
+ itemOriginCountryIdentificationCode ?? null,
74
+ [Validators.maxLength(32)],
75
+ ],
76
+ itemOriginCountryName: [itemOriginCountryName ?? null, [Validators.maxLength(64)]],
77
+ priceAmount: [priceAmount ?? null, []],
78
+ priceCurrencyCode: [priceCurrencyCode ?? null, [Validators.maxLength(3)]],
79
+ producerReceiptId: [producerReceiptId ?? null, [Validators.required]],
80
+ });
81
+ }
82
+ hideForm() {
83
+ this.isModalOpen = false;
84
+ this.form.reset();
85
+ }
86
+ showForm() {
87
+ this.buildForm();
88
+ this.isModalOpen = true;
89
+ }
90
+ submitForm() {
91
+ if (this.form.invalid)
92
+ return;
93
+ const request = this.selected
94
+ ? this.service.update(this.selected.producerReceiptLine.id, {
95
+ ...this.form.value,
96
+ concurrencyStamp: this.selected.producerReceiptLine.concurrencyStamp,
97
+ })
98
+ : this.service.create(this.form.value);
99
+ this.isModalBusy = true;
100
+ request
101
+ .pipe(finalize(() => (this.isModalBusy = false)), tap(() => this.hideForm()))
102
+ .subscribe(this.list.get);
103
+ }
104
+ create() {
105
+ this.selected = undefined;
106
+ this.showForm();
107
+ }
108
+ update(record) {
109
+ this.selected = record;
110
+ this.showForm();
111
+ }
112
+ delete(record) {
113
+ this.confirmation
114
+ .warn('eDonusum::DeleteConfirmationMessage', 'eDonusum::AreYouSure', {
115
+ messageLocalizationParams: [],
116
+ })
117
+ .pipe(filter(status => status === Confirmation.Status.confirm), switchMap(() => this.service.delete(record.producerReceiptLine.id)))
118
+ .subscribe(this.list.get);
119
+ }
120
+ }
121
+ ProducerReceiptLineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ProducerReceiptLineComponent, deps: [{ token: i1.ListService }, { token: i1.TrackByService }, { token: i2.ProducerReceiptLineService }, { token: i3.ConfirmationService }, { token: i4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
122
+ ProducerReceiptLineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ProducerReceiptLineComponent, selector: "lib-producer-receipt-line", providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], ngImport: i0, template: "<abp-page [title]=\"'eDonusum::ProducerReceiptLines' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"text-lg-end pt-2\">\r\n <button\r\n *abpPermission=\"'eDonusum.ProducerReceiptLines.Create'\"\r\n class=\"btn btn-primary btn-sm\"\r\n type=\"button\"\r\n (click)=\"create()\"\r\n >\r\n <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\r\n {{ 'eDonusum::NewProducerReceiptLine' | abpLocalization }}\r\n </button>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <abp-advanced-entity-filters localizationSourceName=\"eDonusum\" [list]=\"list\">\r\n <abp-advanced-entity-filters-form>\r\n <form #filterForm (keyup.enter)=\"list.get()\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producerReceipLineIdFilter\">\r\n {{ 'eDonusum::ProducerReceipLineId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producerReceipLineIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.producerReceipLineId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"noteFilter\">\r\n {{ 'eDonusum::Note' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"noteFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.note\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minCreditedQuantity\">\r\n {{ 'eDonusum::MinCreditedQuantity' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minCreditedQuantity\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.creditedQuantityMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxCreditedQuantity\">\r\n {{ 'eDonusum::MaxCreditedQuantity' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxCreditedQuantity\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.creditedQuantityMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"unitCodeFilter\">\r\n {{ 'eDonusum::UnitCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"unitCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.unitCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLineExtensionAmount\">\r\n {{ 'eDonusum::MinLineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLineExtensionAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.lineExtensionAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLineExtensionAmount\">\r\n {{ 'eDonusum::MaxLineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLineExtensionAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.lineExtensionAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minTaxTotalTaxAmount\">\r\n {{ 'eDonusum::MinTaxTotalTaxAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minTaxTotalTaxAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxTotalTaxAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxTaxTotalTaxAmount\">\r\n {{ 'eDonusum::MaxTaxTotalTaxAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxTaxTotalTaxAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxTotalTaxAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemDescriptionFilter\">\r\n {{ 'eDonusum::ItemDescription' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemDescriptionFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemDescription\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemNameFilter\">\r\n {{ 'eDonusum::ItemName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemKeywordFilter\">\r\n {{ 'eDonusum::ItemKeyword' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemKeywordFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemKeyword\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemBrandNameFilter\">\r\n {{ 'eDonusum::ItemBrandName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemBrandNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemBrandName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"modelNameFilter\">\r\n {{ 'eDonusum::ModelName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"modelNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.modelName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemBuyersItemIdentificationIDFilter\">\r\n {{ 'eDonusum::ItemBuyersItemIdentificationID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemBuyersItemIdentificationIDFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemBuyersItemIdentificationID\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemSellersItemIdentificationIDFilter\">\r\n {{ 'eDonusum::ItemSellersItemIdentificationID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemSellersItemIdentificationIDFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemSellersItemIdentificationID\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemManufacturersItemIdentificationIDFilter\">\r\n {{ 'eDonusum::ItemManufacturersItemIdentificationID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemManufacturersItemIdentificationIDFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemManufacturersItemIdentificationID\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemOriginCountryIdentificationCodeFilter\">\r\n {{ 'eDonusum::ItemOriginCountryIdentificationCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemOriginCountryIdentificationCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemOriginCountryIdentificationCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemOriginCountryNameFilter\">\r\n {{ 'eDonusum::ItemOriginCountryName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemOriginCountryNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemOriginCountryName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPriceAmount\">\r\n {{ 'eDonusum::MinPriceAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minPriceAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.priceAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPriceAmount\">\r\n {{ 'eDonusum::MaxPriceAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxPriceAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.priceAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"priceCurrencyCodeFilter\">\r\n {{ 'eDonusum::PriceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"priceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.priceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producerReceiptIdFilter\">\r\n {{ 'eDonusum::ProducerReceipt' | abpLocalization }}\r\n </label>\r\n <abp-lookup-select\r\n cid=\"producerReceiptIdFilter\"\r\n [getFn]=\"service.getProducerReceiptLookup\"\r\n [(ngModel)]=\"filters.producerReceiptId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n ></abp-lookup-select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto align-self-end mb-3\">\r\n <div class=\"row\">\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-outline-primary\" (click)=\"clearFilters()\">\r\n <span>{{ 'AbpUi::Clear' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"list.get()\">\r\n <span>{{ 'AbpUi::Refresh' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </abp-advanced-entity-filters-form>\r\n </abp-advanced-entity-filters>\r\n\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <ngx-datatable [rows]=\"data.items\" [count]=\"data.totalCount\" [list]=\"list\" default>\r\n <ngx-datatable-column\r\n [name]=\"'AbpUi::Actions' | abpLocalization\"\r\n [maxWidth]=\"150\"\r\n [width]=\"150\"\r\n [sortable]=\"false\"\r\n >\r\n <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button\r\n class=\"btn btn-primary btn-sm dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n ngbDropdownToggle\r\n >\r\n <i class=\"fa fa-cog me-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n\r\n <div ngbDropdownMenu>\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.ProducerReceiptLines.Edit'\"\r\n (click)=\"update(row)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.ProducerReceiptLines.Delete'\"\r\n (click)=\"delete(row)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ProducerReceipLineId' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.producerReceipLineId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.producerReceipLineId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::Note' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.note\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.note }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::CreditedQuantity' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.creditedQuantity\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.creditedQuantity }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::UnitCode' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.unitCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.unitCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LineExtensionAmount' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.lineExtensionAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.lineExtensionAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxTotalTaxAmount' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.taxTotalTaxAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.taxTotalTaxAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemDescription' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemDescription\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemDescription }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemName' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemKeyword' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemKeyword\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemKeyword }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemBrandName' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemBrandName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemBrandName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ModelName' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.modelName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.modelName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemBuyersItemIdentificationID' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemBuyersItemIdentificationID\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemBuyersItemIdentificationID }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemSellersItemIdentificationID' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemSellersItemIdentificationID\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemSellersItemIdentificationID }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemManufacturersItemIdentificationID' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemManufacturersItemIdentificationID\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemManufacturersItemIdentificationID }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemOriginCountryIdentificationCode' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemOriginCountryIdentificationCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemOriginCountryIdentificationCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemOriginCountryName' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemOriginCountryName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemOriginCountryName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PriceAmount' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.priceAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.priceAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PriceCurrencyCode' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.priceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.priceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ProducerReceipt' | abpLocalization }}\"\r\n prop=\"producerReceipt.producerReceiptID\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceipt?.producerReceiptID }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ngx-datatable>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<abp-modal [busy]=\"isModalBusy\" [(visible)]=\"isModalOpen\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{ (selected ? 'AbpUi::Edit' : 'eDonusum::NewProducerReceiptLine') | abpLocalization }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"producer-receipt-line\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"mt-2 fade-in-top\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-producer-receip-line-id\">\r\n {{ 'eDonusum::ProducerReceipLineId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-producer-receip-line-id\"\r\n formControlName=\"producerReceipLineId\"\r\n class=\"form-control\"\r\n autofocus\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-note\">\r\n {{ 'eDonusum::Note' | abpLocalization }}\r\n </label>\r\n\r\n <input id=\"producer-receipt-line-note\" formControlName=\"note\" class=\"form-control\" />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-credited-quantity\">\r\n {{ 'eDonusum::CreditedQuantity' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-line-credited-quantity\"\r\n formControlName=\"creditedQuantity\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-unit-code\">\r\n {{ 'eDonusum::UnitCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-unit-code\"\r\n formControlName=\"unitCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-line-extension-amount\">\r\n {{ 'eDonusum::LineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-line-line-extension-amount\"\r\n formControlName=\"lineExtensionAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-tax-total-tax-amount\">\r\n {{ 'eDonusum::TaxTotalTaxAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-line-tax-total-tax-amount\"\r\n formControlName=\"taxTotalTaxAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-item-description\">\r\n {{ 'eDonusum::ItemDescription' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-description\"\r\n formControlName=\"itemDescription\"\r\n class=\"form-control\"\r\n maxlength=\"1024\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-item-name\">\r\n {{ 'eDonusum::ItemName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-name\"\r\n formControlName=\"itemName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-item-keyword\">\r\n {{ 'eDonusum::ItemKeyword' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-keyword\"\r\n formControlName=\"itemKeyword\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-item-brand-name\">\r\n {{ 'eDonusum::ItemBrandName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-brand-name\"\r\n formControlName=\"itemBrandName\"\r\n class=\"form-control\"\r\n maxlength=\"128\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-model-name\">\r\n {{ 'eDonusum::ModelName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-model-name\"\r\n formControlName=\"modelName\"\r\n class=\"form-control\"\r\n maxlength=\"128\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-item-buyers-item-identification-id\">\r\n {{ 'eDonusum::ItemBuyersItemIdentificationID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-buyers-item-identification-id\"\r\n formControlName=\"itemBuyersItemIdentificationID\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-item-sellers-item-identification-id\">\r\n {{ 'eDonusum::ItemSellersItemIdentificationID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-sellers-item-identification-id\"\r\n formControlName=\"itemSellersItemIdentificationID\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-line-item-manufacturers-item-identification-id\"\r\n >\r\n {{ 'eDonusum::ItemManufacturersItemIdentificationID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-manufacturers-item-identification-id\"\r\n formControlName=\"itemManufacturersItemIdentificationID\"\r\n class=\"form-control\"\r\n maxlength=\"128\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-line-item-origin-country-identification-code\"\r\n >\r\n {{ 'eDonusum::ItemOriginCountryIdentificationCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-origin-country-identification-code\"\r\n formControlName=\"itemOriginCountryIdentificationCode\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-item-origin-country-name\">\r\n {{ 'eDonusum::ItemOriginCountryName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-origin-country-name\"\r\n formControlName=\"itemOriginCountryName\"\r\n class=\"form-control\"\r\n maxlength=\"64\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-price-amount\">\r\n {{ 'eDonusum::PriceAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-line-price-amount\"\r\n formControlName=\"priceAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-price-currency-code\">\r\n {{ 'eDonusum::PriceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-price-currency-code\"\r\n formControlName=\"priceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-producer-receipt-id\">\r\n {{ 'eDonusum::ProducerReceipt' | abpLocalization }} *\r\n </label>\r\n\r\n <abp-lookup-select\r\n cid=\"producer-receipt-line-producer-receipt-id\"\r\n formControlName=\"producerReceiptId\"\r\n [getFn]=\"service.getProducerReceiptLookup\"\r\n ></abp-lookup-select>\r\n </div>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"producer-receipt-line\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i5.DatatableComponent, selector: "ngx-datatable", inputs: ["targetMarkerTemplate", "rows", "groupRowsBy", "groupedRows", "columns", "selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "virtualization", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { kind: "directive", type: i5.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { kind: "directive", type: i5.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.NgxDatatableDefaultDirective, selector: "ngx-datatable[default]", inputs: ["class"], exportAs: ["ngxDatatableDefault"] }, { kind: "directive", type: i3.NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: ["list"], exportAs: ["ngxDatatableList"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "component", type: i6.LookupSelectComponent, selector: "abp-lookup-select", inputs: ["maxResultCount", "emptyOption"] }, { kind: "component", type: i6.AdvancedEntityFiltersComponent, selector: "abp-advanced-entity-filters", inputs: ["list", "localizationSourceName", "entityFilterPlaceholder"] }, { kind: "component", type: i6.AdvancedEntityFiltersFormComponent, selector: "abp-advanced-entity-filters-form" }, { kind: "directive", type: i7.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i7.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "directive", type: i8.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i8.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i8.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i8.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i9.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i9.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.Default });
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ProducerReceiptLineComponent, decorators: [{
124
+ type: Component,
125
+ args: [{ selector: 'lib-producer-receipt-line', changeDetection: ChangeDetectionStrategy.Default, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], template: "<abp-page [title]=\"'eDonusum::ProducerReceiptLines' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"text-lg-end pt-2\">\r\n <button\r\n *abpPermission=\"'eDonusum.ProducerReceiptLines.Create'\"\r\n class=\"btn btn-primary btn-sm\"\r\n type=\"button\"\r\n (click)=\"create()\"\r\n >\r\n <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\r\n {{ 'eDonusum::NewProducerReceiptLine' | abpLocalization }}\r\n </button>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <abp-advanced-entity-filters localizationSourceName=\"eDonusum\" [list]=\"list\">\r\n <abp-advanced-entity-filters-form>\r\n <form #filterForm (keyup.enter)=\"list.get()\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producerReceipLineIdFilter\">\r\n {{ 'eDonusum::ProducerReceipLineId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producerReceipLineIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.producerReceipLineId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"noteFilter\">\r\n {{ 'eDonusum::Note' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"noteFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.note\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minCreditedQuantity\">\r\n {{ 'eDonusum::MinCreditedQuantity' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minCreditedQuantity\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.creditedQuantityMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxCreditedQuantity\">\r\n {{ 'eDonusum::MaxCreditedQuantity' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxCreditedQuantity\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.creditedQuantityMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"unitCodeFilter\">\r\n {{ 'eDonusum::UnitCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"unitCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.unitCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLineExtensionAmount\">\r\n {{ 'eDonusum::MinLineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLineExtensionAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.lineExtensionAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLineExtensionAmount\">\r\n {{ 'eDonusum::MaxLineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLineExtensionAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.lineExtensionAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minTaxTotalTaxAmount\">\r\n {{ 'eDonusum::MinTaxTotalTaxAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minTaxTotalTaxAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxTotalTaxAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxTaxTotalTaxAmount\">\r\n {{ 'eDonusum::MaxTaxTotalTaxAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxTaxTotalTaxAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxTotalTaxAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemDescriptionFilter\">\r\n {{ 'eDonusum::ItemDescription' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemDescriptionFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemDescription\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemNameFilter\">\r\n {{ 'eDonusum::ItemName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemKeywordFilter\">\r\n {{ 'eDonusum::ItemKeyword' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemKeywordFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemKeyword\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemBrandNameFilter\">\r\n {{ 'eDonusum::ItemBrandName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemBrandNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemBrandName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"modelNameFilter\">\r\n {{ 'eDonusum::ModelName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"modelNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.modelName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemBuyersItemIdentificationIDFilter\">\r\n {{ 'eDonusum::ItemBuyersItemIdentificationID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemBuyersItemIdentificationIDFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemBuyersItemIdentificationID\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemSellersItemIdentificationIDFilter\">\r\n {{ 'eDonusum::ItemSellersItemIdentificationID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemSellersItemIdentificationIDFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemSellersItemIdentificationID\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemManufacturersItemIdentificationIDFilter\">\r\n {{ 'eDonusum::ItemManufacturersItemIdentificationID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemManufacturersItemIdentificationIDFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemManufacturersItemIdentificationID\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemOriginCountryIdentificationCodeFilter\">\r\n {{ 'eDonusum::ItemOriginCountryIdentificationCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemOriginCountryIdentificationCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemOriginCountryIdentificationCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"itemOriginCountryNameFilter\">\r\n {{ 'eDonusum::ItemOriginCountryName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"itemOriginCountryNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemOriginCountryName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPriceAmount\">\r\n {{ 'eDonusum::MinPriceAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minPriceAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.priceAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPriceAmount\">\r\n {{ 'eDonusum::MaxPriceAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxPriceAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.priceAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"priceCurrencyCodeFilter\">\r\n {{ 'eDonusum::PriceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"priceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.priceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producerReceiptIdFilter\">\r\n {{ 'eDonusum::ProducerReceipt' | abpLocalization }}\r\n </label>\r\n <abp-lookup-select\r\n cid=\"producerReceiptIdFilter\"\r\n [getFn]=\"service.getProducerReceiptLookup\"\r\n [(ngModel)]=\"filters.producerReceiptId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n ></abp-lookup-select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto align-self-end mb-3\">\r\n <div class=\"row\">\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-outline-primary\" (click)=\"clearFilters()\">\r\n <span>{{ 'AbpUi::Clear' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"list.get()\">\r\n <span>{{ 'AbpUi::Refresh' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </abp-advanced-entity-filters-form>\r\n </abp-advanced-entity-filters>\r\n\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <ngx-datatable [rows]=\"data.items\" [count]=\"data.totalCount\" [list]=\"list\" default>\r\n <ngx-datatable-column\r\n [name]=\"'AbpUi::Actions' | abpLocalization\"\r\n [maxWidth]=\"150\"\r\n [width]=\"150\"\r\n [sortable]=\"false\"\r\n >\r\n <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button\r\n class=\"btn btn-primary btn-sm dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n ngbDropdownToggle\r\n >\r\n <i class=\"fa fa-cog me-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n\r\n <div ngbDropdownMenu>\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.ProducerReceiptLines.Edit'\"\r\n (click)=\"update(row)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.ProducerReceiptLines.Delete'\"\r\n (click)=\"delete(row)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ProducerReceipLineId' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.producerReceipLineId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.producerReceipLineId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::Note' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.note\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.note }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::CreditedQuantity' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.creditedQuantity\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.creditedQuantity }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::UnitCode' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.unitCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.unitCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LineExtensionAmount' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.lineExtensionAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.lineExtensionAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxTotalTaxAmount' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.taxTotalTaxAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.taxTotalTaxAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemDescription' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemDescription\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemDescription }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemName' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemKeyword' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemKeyword\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemKeyword }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemBrandName' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemBrandName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemBrandName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ModelName' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.modelName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.modelName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemBuyersItemIdentificationID' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemBuyersItemIdentificationID\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemBuyersItemIdentificationID }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemSellersItemIdentificationID' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemSellersItemIdentificationID\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemSellersItemIdentificationID }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemManufacturersItemIdentificationID' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemManufacturersItemIdentificationID\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemManufacturersItemIdentificationID }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemOriginCountryIdentificationCode' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemOriginCountryIdentificationCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemOriginCountryIdentificationCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemOriginCountryName' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.itemOriginCountryName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.itemOriginCountryName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PriceAmount' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.priceAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.priceAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PriceCurrencyCode' | abpLocalization }}\"\r\n prop=\"producerReceiptLine.priceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptLine.priceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ProducerReceipt' | abpLocalization }}\"\r\n prop=\"producerReceipt.producerReceiptID\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceipt?.producerReceiptID }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ngx-datatable>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<abp-modal [busy]=\"isModalBusy\" [(visible)]=\"isModalOpen\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{ (selected ? 'AbpUi::Edit' : 'eDonusum::NewProducerReceiptLine') | abpLocalization }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"producer-receipt-line\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"mt-2 fade-in-top\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-producer-receip-line-id\">\r\n {{ 'eDonusum::ProducerReceipLineId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-producer-receip-line-id\"\r\n formControlName=\"producerReceipLineId\"\r\n class=\"form-control\"\r\n autofocus\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-note\">\r\n {{ 'eDonusum::Note' | abpLocalization }}\r\n </label>\r\n\r\n <input id=\"producer-receipt-line-note\" formControlName=\"note\" class=\"form-control\" />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-credited-quantity\">\r\n {{ 'eDonusum::CreditedQuantity' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-line-credited-quantity\"\r\n formControlName=\"creditedQuantity\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-unit-code\">\r\n {{ 'eDonusum::UnitCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-unit-code\"\r\n formControlName=\"unitCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-line-extension-amount\">\r\n {{ 'eDonusum::LineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-line-line-extension-amount\"\r\n formControlName=\"lineExtensionAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-tax-total-tax-amount\">\r\n {{ 'eDonusum::TaxTotalTaxAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-line-tax-total-tax-amount\"\r\n formControlName=\"taxTotalTaxAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-item-description\">\r\n {{ 'eDonusum::ItemDescription' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-description\"\r\n formControlName=\"itemDescription\"\r\n class=\"form-control\"\r\n maxlength=\"1024\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-item-name\">\r\n {{ 'eDonusum::ItemName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-name\"\r\n formControlName=\"itemName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-item-keyword\">\r\n {{ 'eDonusum::ItemKeyword' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-keyword\"\r\n formControlName=\"itemKeyword\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-item-brand-name\">\r\n {{ 'eDonusum::ItemBrandName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-brand-name\"\r\n formControlName=\"itemBrandName\"\r\n class=\"form-control\"\r\n maxlength=\"128\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-model-name\">\r\n {{ 'eDonusum::ModelName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-model-name\"\r\n formControlName=\"modelName\"\r\n class=\"form-control\"\r\n maxlength=\"128\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-item-buyers-item-identification-id\">\r\n {{ 'eDonusum::ItemBuyersItemIdentificationID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-buyers-item-identification-id\"\r\n formControlName=\"itemBuyersItemIdentificationID\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-item-sellers-item-identification-id\">\r\n {{ 'eDonusum::ItemSellersItemIdentificationID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-sellers-item-identification-id\"\r\n formControlName=\"itemSellersItemIdentificationID\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-line-item-manufacturers-item-identification-id\"\r\n >\r\n {{ 'eDonusum::ItemManufacturersItemIdentificationID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-manufacturers-item-identification-id\"\r\n formControlName=\"itemManufacturersItemIdentificationID\"\r\n class=\"form-control\"\r\n maxlength=\"128\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-line-item-origin-country-identification-code\"\r\n >\r\n {{ 'eDonusum::ItemOriginCountryIdentificationCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-origin-country-identification-code\"\r\n formControlName=\"itemOriginCountryIdentificationCode\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-item-origin-country-name\">\r\n {{ 'eDonusum::ItemOriginCountryName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-item-origin-country-name\"\r\n formControlName=\"itemOriginCountryName\"\r\n class=\"form-control\"\r\n maxlength=\"64\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-price-amount\">\r\n {{ 'eDonusum::PriceAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-line-price-amount\"\r\n formControlName=\"priceAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-price-currency-code\">\r\n {{ 'eDonusum::PriceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-line-price-currency-code\"\r\n formControlName=\"priceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-producer-receipt-id\">\r\n {{ 'eDonusum::ProducerReceipt' | abpLocalization }} *\r\n </label>\r\n\r\n <abp-lookup-select\r\n cid=\"producer-receipt-line-producer-receipt-id\"\r\n formControlName=\"producerReceiptId\"\r\n [getFn]=\"service.getProducerReceiptLookup\"\r\n ></abp-lookup-select>\r\n </div>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"producer-receipt-line\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
126
+ }], ctorParameters: function () { return [{ type: i1.ListService }, { type: i1.TrackByService }, { type: i2.ProducerReceiptLineService }, { type: i3.ConfirmationService }, { type: i4.FormBuilder }]; } });
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjZXItcmVjZWlwdC1saW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL3Byb2R1Y2VyLXJlY2VpcHQtbGluZXMvcHJvZHVjZXItcmVjZWlwdC1saW5lL2NvbXBvbmVudHMvcHJvZHVjZXItcmVjZWlwdC1saW5lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL3Byb2R1Y2VyLXJlY2VpcHQtbGluZXMvcHJvZHVjZXItcmVjZWlwdC1saW5lL2NvbXBvbmVudHMvcHJvZHVjZXItcmVjZWlwdC1saW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBTyxXQUFXLEVBQWtDLE1BQU0sY0FBYyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7OztBQWFsRSxNQUFNLE9BQU8sNEJBQTRCO0lBa0J2QyxZQUNrQixJQUFpQixFQUNqQixLQUFxQixFQUNyQixPQUFtQyxFQUMzQyxZQUFpQyxFQUNqQyxFQUFlO1FBSlAsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUE0QjtRQUMzQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQXRCekIsU0FBSSxHQUFtRTtZQUNyRSxLQUFLLEVBQUUsRUFBRTtZQUNULFVBQVUsRUFBRSxDQUFDO1NBQ2QsQ0FBQztRQUVGLFlBQU8sR0FBRyxFQUFrQyxDQUFDO1FBSTdDLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRXZCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBVWpCLENBQUM7SUFFSixRQUFRO1FBQ04sTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUEwQixFQUFFLEVBQUUsQ0FDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDbkIsR0FBRyxLQUFLO1lBQ1IsR0FBRyxJQUFJLENBQUMsT0FBTztZQUNmLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTTtTQUN6QixDQUFDLENBQUM7UUFFTCxNQUFNLE9BQU8sR0FBRyxDQUFDLElBQW9FLEVBQUUsRUFBRSxDQUN2RixDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFckIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFrQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxTQUFTO1FBQ1AsTUFBTSxFQUNKLG9CQUFvQixFQUNwQixJQUFJLEVBQ0osZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixRQUFRLEVBQ1IsV0FBVyxFQUNYLGFBQWEsRUFDYixTQUFTLEVBQ1QsOEJBQThCLEVBQzlCLCtCQUErQixFQUMvQixxQ0FBcUMsRUFDckMsbUNBQW1DLEVBQ25DLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGlCQUFpQixHQUNsQixHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLElBQUksRUFBRSxDQUFDO1FBRTdDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsb0JBQW9CLEVBQUUsQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3hELElBQUksRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLGdCQUFnQixFQUFFLENBQUMsZ0JBQWdCLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNoRCxRQUFRLEVBQUUsQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELG1CQUFtQixFQUFFLENBQUMsbUJBQW1CLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN0RCxpQkFBaUIsRUFBRSxDQUFDLGlCQUFpQixJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7WUFDbEQsZUFBZSxFQUFFLENBQUMsZUFBZSxJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN4RSxRQUFRLEVBQUUsQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3pELFdBQVcsRUFBRSxDQUFDLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDL0QsYUFBYSxFQUFFLENBQUMsYUFBYSxJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNuRSxTQUFTLEVBQUUsQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzNELDhCQUE4QixFQUFFO2dCQUM5Qiw4QkFBOEIsSUFBSSxJQUFJO2dCQUN0QyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDNUI7WUFDRCwrQkFBK0IsRUFBRTtnQkFDL0IsK0JBQStCLElBQUksSUFBSTtnQkFDdkMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzVCO1lBQ0QscUNBQXFDLEVBQUU7Z0JBQ3JDLHFDQUFxQyxJQUFJLElBQUk7Z0JBQzdDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM1QjtZQUNELG1DQUFtQyxFQUFFO2dCQUNuQyxtQ0FBbUMsSUFBSSxJQUFJO2dCQUMzQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDM0I7WUFDRCxxQkFBcUIsRUFBRSxDQUFDLHFCQUFxQixJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNsRixXQUFXLEVBQUUsQ0FBQyxXQUFXLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN0QyxpQkFBaUIsRUFBRSxDQUFDLGlCQUFpQixJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6RSxpQkFBaUIsRUFBRSxDQUFDLGlCQUFpQixJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN0RSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVE7WUFDM0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsRUFBRSxFQUFFO2dCQUN4RCxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztnQkFDbEIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0I7YUFDckUsQ0FBQztZQUNKLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBRXhCLE9BQU87YUFDSixJQUFJLENBQ0gsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUMxQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQzNCO2FBQ0EsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFzRDtRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFzRDtRQUMzRCxJQUFJLENBQUMsWUFBWTthQUNkLElBQUksQ0FBQyxxQ0FBcUMsRUFBRSxzQkFBc0IsRUFBRTtZQUNuRSx5QkFBeUIsRUFBRSxFQUFFO1NBQzlCLENBQUM7YUFDRCxJQUFJLENBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ3hELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDcEU7YUFDQSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDOzt5SEF4SlUsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsb0RBSjVCLENBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUMsMEJDZjlFLCs4aENBeTBCQTsyRkR0ekJhLDRCQUE0QjtrQkFQeEMsU0FBUzsrQkFDRSwyQkFBMkIsbUJBQ3BCLHVCQUF1QixDQUFDLE9BQU8sYUFDckMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgTGlzdFNlcnZpY2UsIFBhZ2VkUmVzdWx0RHRvLCBUcmFja0J5U2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbiwgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZC9leHRlbnNpb25zJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nYkRhdGVBZGFwdGVyIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIGZpbmFsaXplLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHR5cGUge1xyXG4gIEdldFByb2R1Y2VyUmVjZWlwdExpbmVzSW5wdXQsXHJcbiAgUHJvZHVjZXJSZWNlaXB0TGluZVdpdGhOYXZpZ2F0aW9uUHJvcGVydGllc0R0byxcclxufSBmcm9tICcuLi8uLi8uLi9wcm94eS9wcm9kdWNlci1yZWNlaXB0LWxpbmVzL21vZGVscyc7XHJcbmltcG9ydCB7IFByb2R1Y2VyUmVjZWlwdExpbmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJveHkvcHJvZHVjZXItcmVjZWlwdC1saW5lcy9wcm9kdWNlci1yZWNlaXB0LWxpbmUuc2VydmljZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXByb2R1Y2VyLXJlY2VpcHQtbGluZScsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxyXG4gIHByb3ZpZGVyczogW0xpc3RTZXJ2aWNlLCB7IHByb3ZpZGU6IE5nYkRhdGVBZGFwdGVyLCB1c2VDbGFzczogRGF0ZUFkYXB0ZXIgfV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y2VyLXJlY2VpcHQtbGluZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y2VyUmVjZWlwdExpbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGRhdGE6IFBhZ2VkUmVzdWx0RHRvPFByb2R1Y2VyUmVjZWlwdExpbmVXaXRoTmF2aWdhdGlvblByb3BlcnRpZXNEdG8+ID0ge1xyXG4gICAgaXRlbXM6IFtdLFxyXG4gICAgdG90YWxDb3VudDogMCxcclxuICB9O1xyXG5cclxuICBmaWx0ZXJzID0ge30gYXMgR2V0UHJvZHVjZXJSZWNlaXB0TGluZXNJbnB1dDtcclxuXHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG5cclxuICBpc0ZpbHRlcnNIaWRkZW4gPSB0cnVlO1xyXG5cclxuICBpc01vZGFsQnVzeSA9IGZhbHNlO1xyXG5cclxuICBpc01vZGFsT3BlbiA9IGZhbHNlO1xyXG5cclxuICBzZWxlY3RlZD86IFByb2R1Y2VyUmVjZWlwdExpbmVXaXRoTmF2aWdhdGlvblByb3BlcnRpZXNEdG87XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlYWRvbmx5IGxpc3Q6IExpc3RTZXJ2aWNlLFxyXG4gICAgcHVibGljIHJlYWRvbmx5IHRyYWNrOiBUcmFja0J5U2VydmljZSxcclxuICAgIHB1YmxpYyByZWFkb25seSBzZXJ2aWNlOiBQcm9kdWNlclJlY2VpcHRMaW5lU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXJcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgZ2V0RGF0YSA9IChxdWVyeTogQUJQLlBhZ2VRdWVyeVBhcmFtcykgPT5cclxuICAgICAgdGhpcy5zZXJ2aWNlLmdldExpc3Qoe1xyXG4gICAgICAgIC4uLnF1ZXJ5LFxyXG4gICAgICAgIC4uLnRoaXMuZmlsdGVycyxcclxuICAgICAgICBmaWx0ZXJUZXh0OiBxdWVyeS5maWx0ZXIsXHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHNldERhdGEgPSAobGlzdDogUGFnZWRSZXN1bHREdG88UHJvZHVjZXJSZWNlaXB0TGluZVdpdGhOYXZpZ2F0aW9uUHJvcGVydGllc0R0bz4pID0+XHJcbiAgICAgICh0aGlzLmRhdGEgPSBsaXN0KTtcclxuXHJcbiAgICB0aGlzLmxpc3QuaG9va1RvUXVlcnkoZ2V0RGF0YSkuc3Vic2NyaWJlKHNldERhdGEpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJGaWx0ZXJzKCkge1xyXG4gICAgdGhpcy5maWx0ZXJzID0ge30gYXMgR2V0UHJvZHVjZXJSZWNlaXB0TGluZXNJbnB1dDtcclxuICB9XHJcblxyXG4gIGJ1aWxkRm9ybSgpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgcHJvZHVjZXJSZWNlaXBMaW5lSWQsXHJcbiAgICAgIG5vdGUsXHJcbiAgICAgIGNyZWRpdGVkUXVhbnRpdHksXHJcbiAgICAgIHVuaXRDb2RlLFxyXG4gICAgICBsaW5lRXh0ZW5zaW9uQW1vdW50LFxyXG4gICAgICB0YXhUb3RhbFRheEFtb3VudCxcclxuICAgICAgaXRlbURlc2NyaXB0aW9uLFxyXG4gICAgICBpdGVtTmFtZSxcclxuICAgICAgaXRlbUtleXdvcmQsXHJcbiAgICAgIGl0ZW1CcmFuZE5hbWUsXHJcbiAgICAgIG1vZGVsTmFtZSxcclxuICAgICAgaXRlbUJ1eWVyc0l0ZW1JZGVudGlmaWNhdGlvbklELFxyXG4gICAgICBpdGVtU2VsbGVyc0l0ZW1JZGVudGlmaWNhdGlvbklELFxyXG4gICAgICBpdGVtTWFudWZhY3R1cmVyc0l0ZW1JZGVudGlmaWNhdGlvbklELFxyXG4gICAgICBpdGVtT3JpZ2luQ291bnRyeUlkZW50aWZpY2F0aW9uQ29kZSxcclxuICAgICAgaXRlbU9yaWdpbkNvdW50cnlOYW1lLFxyXG4gICAgICBwcmljZUFtb3VudCxcclxuICAgICAgcHJpY2VDdXJyZW5jeUNvZGUsXHJcbiAgICAgIHByb2R1Y2VyUmVjZWlwdElkLFxyXG4gICAgfSA9IHRoaXMuc2VsZWN0ZWQ/LnByb2R1Y2VyUmVjZWlwdExpbmUgfHwge307XHJcblxyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIHByb2R1Y2VyUmVjZWlwTGluZUlkOiBbcHJvZHVjZXJSZWNlaXBMaW5lSWQgPz8gbnVsbCwgW11dLFxyXG4gICAgICBub3RlOiBbbm90ZSA/PyBudWxsLCBbXV0sXHJcbiAgICAgIGNyZWRpdGVkUXVhbnRpdHk6IFtjcmVkaXRlZFF1YW50aXR5ID8/IG51bGwsIFtdXSxcclxuICAgICAgdW5pdENvZGU6IFt1bml0Q29kZSA/PyBudWxsLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMyldXSxcclxuICAgICAgbGluZUV4dGVuc2lvbkFtb3VudDogW2xpbmVFeHRlbnNpb25BbW91bnQgPz8gbnVsbCwgW11dLFxyXG4gICAgICB0YXhUb3RhbFRheEFtb3VudDogW3RheFRvdGFsVGF4QW1vdW50ID8/IG51bGwsIFtdXSxcclxuICAgICAgaXRlbURlc2NyaXB0aW9uOiBbaXRlbURlc2NyaXB0aW9uID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxMDI0KV1dLFxyXG4gICAgICBpdGVtTmFtZTogW2l0ZW1OYW1lID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXHJcbiAgICAgIGl0ZW1LZXl3b3JkOiBbaXRlbUtleXdvcmQgPz8gbnVsbCwgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildXSxcclxuICAgICAgaXRlbUJyYW5kTmFtZTogW2l0ZW1CcmFuZE5hbWUgPz8gbnVsbCwgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDEyOCldXSxcclxuICAgICAgbW9kZWxOYW1lOiBbbW9kZWxOYW1lID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxMjgpXV0sXHJcbiAgICAgIGl0ZW1CdXllcnNJdGVtSWRlbnRpZmljYXRpb25JRDogW1xyXG4gICAgICAgIGl0ZW1CdXllcnNJdGVtSWRlbnRpZmljYXRpb25JRCA/PyBudWxsLFxyXG4gICAgICAgIFtWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXSxcclxuICAgICAgXSxcclxuICAgICAgaXRlbVNlbGxlcnNJdGVtSWRlbnRpZmljYXRpb25JRDogW1xyXG4gICAgICAgIGl0ZW1TZWxsZXJzSXRlbUlkZW50aWZpY2F0aW9uSUQgPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGl0ZW1NYW51ZmFjdHVyZXJzSXRlbUlkZW50aWZpY2F0aW9uSUQ6IFtcclxuICAgICAgICBpdGVtTWFudWZhY3R1cmVyc0l0ZW1JZGVudGlmaWNhdGlvbklEID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDEyOCldLFxyXG4gICAgICBdLFxyXG4gICAgICBpdGVtT3JpZ2luQ291bnRyeUlkZW50aWZpY2F0aW9uQ29kZTogW1xyXG4gICAgICAgIGl0ZW1PcmlnaW5Db3VudHJ5SWRlbnRpZmljYXRpb25Db2RlID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGl0ZW1PcmlnaW5Db3VudHJ5TmFtZTogW2l0ZW1PcmlnaW5Db3VudHJ5TmFtZSA/PyBudWxsLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXHJcbiAgICAgIHByaWNlQW1vdW50OiBbcHJpY2VBbW91bnQgPz8gbnVsbCwgW11dLFxyXG4gICAgICBwcmljZUN1cnJlbmN5Q29kZTogW3ByaWNlQ3VycmVuY3lDb2RlID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgzKV1dLFxyXG4gICAgICBwcm9kdWNlclJlY2VpcHRJZDogW3Byb2R1Y2VyUmVjZWlwdElkID8/IG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGhpZGVGb3JtKCkge1xyXG4gICAgdGhpcy5pc01vZGFsT3BlbiA9IGZhbHNlO1xyXG4gICAgdGhpcy5mb3JtLnJlc2V0KCk7XHJcbiAgfVxyXG5cclxuICBzaG93Rm9ybSgpIHtcclxuICAgIHRoaXMuYnVpbGRGb3JtKCk7XHJcbiAgICB0aGlzLmlzTW9kYWxPcGVuID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdEZvcm0oKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCByZXF1ZXN0ID0gdGhpcy5zZWxlY3RlZFxyXG4gICAgICA/IHRoaXMuc2VydmljZS51cGRhdGUodGhpcy5zZWxlY3RlZC5wcm9kdWNlclJlY2VpcHRMaW5lLmlkLCB7XHJcbiAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXHJcbiAgICAgICAgICBjb25jdXJyZW5jeVN0YW1wOiB0aGlzLnNlbGVjdGVkLnByb2R1Y2VyUmVjZWlwdExpbmUuY29uY3VycmVuY3lTdGFtcCxcclxuICAgICAgICB9KVxyXG4gICAgICA6IHRoaXMuc2VydmljZS5jcmVhdGUodGhpcy5mb3JtLnZhbHVlKTtcclxuXHJcbiAgICB0aGlzLmlzTW9kYWxCdXN5ID0gdHJ1ZTtcclxuXHJcbiAgICByZXF1ZXN0XHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmlzTW9kYWxCdXN5ID0gZmFsc2UpKSxcclxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5oaWRlRm9ybSgpKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5saXN0LmdldCk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGUoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93Rm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlKHJlY29yZDogUHJvZHVjZXJSZWNlaXB0TGluZVdpdGhOYXZpZ2F0aW9uUHJvcGVydGllc0R0bykge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHJlY29yZDtcclxuICAgIHRoaXMuc2hvd0Zvcm0oKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZShyZWNvcmQ6IFByb2R1Y2VyUmVjZWlwdExpbmVXaXRoTmF2aWdhdGlvblByb3BlcnRpZXNEdG8pIHtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uXHJcbiAgICAgIC53YXJuKCdlRG9udXN1bTo6RGVsZXRlQ29uZmlybWF0aW9uTWVzc2FnZScsICdlRG9udXN1bTo6QXJlWW91U3VyZScsIHtcclxuICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbXSxcclxuICAgICAgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKHN0YXR1cyA9PiBzdGF0dXMgPT09IENvbmZpcm1hdGlvbi5TdGF0dXMuY29uZmlybSksXHJcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc2VydmljZS5kZWxldGUocmVjb3JkLnByb2R1Y2VyUmVjZWlwdExpbmUuaWQpKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5saXN0LmdldCk7XHJcbiAgfVxyXG59XHJcbiIsIjxhYnAtcGFnZSBbdGl0bGVdPVwiJ2VEb251c3VtOjpQcm9kdWNlclJlY2VpcHRMaW5lcycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICA8YWJwLXBhZ2UtdG9vbGJhci1jb250YWluZXIgY2xhc3M9XCJjb2xcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWxnLWVuZCBwdC0yXCI+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICAqYWJwUGVybWlzc2lvbj1cIidlRG9udXN1bS5Qcm9kdWNlclJlY2VpcHRMaW5lcy5DcmVhdGUnXCJcclxuICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIlxyXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIChjbGljayk9XCJjcmVhdGUoKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBsdXMgbWUtMVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICB7eyAnZURvbnVzdW06Ok5ld1Byb2R1Y2VyUmVjZWlwdExpbmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9hYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lcj5cclxuXHJcbiAgPGFicC1hZHZhbmNlZC1lbnRpdHktZmlsdGVycyBsb2NhbGl6YXRpb25Tb3VyY2VOYW1lPVwiZURvbnVzdW1cIiBbbGlzdF09XCJsaXN0XCI+XHJcbiAgICA8YWJwLWFkdmFuY2VkLWVudGl0eS1maWx0ZXJzLWZvcm0+XHJcbiAgICAgIDxmb3JtICNmaWx0ZXJGb3JtIChrZXl1cC5lbnRlcik9XCJsaXN0LmdldCgpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlclJlY2VpcExpbmVJZEZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQcm9kdWNlclJlY2VpcExpbmVJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwicHJvZHVjZXJSZWNlaXBMaW5lSWRGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnByb2R1Y2VyUmVjZWlwTGluZUlkXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibm90ZUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpOb3RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJub3RlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5ub3RlXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluQ3JlZGl0ZWRRdWFudGl0eVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5DcmVkaXRlZFF1YW50aXR5JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5DcmVkaXRlZFF1YW50aXR5XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmNyZWRpdGVkUXVhbnRpdHlNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4Q3JlZGl0ZWRRdWFudGl0eVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhDcmVkaXRlZFF1YW50aXR5JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtYXhDcmVkaXRlZFF1YW50aXR5XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmNyZWRpdGVkUXVhbnRpdHlNYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ1bml0Q29kZUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpVbml0Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwidW5pdENvZGVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnVuaXRDb2RlXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluTGluZUV4dGVuc2lvbkFtb3VudFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5MaW5lRXh0ZW5zaW9uQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5MaW5lRXh0ZW5zaW9uQW1vdW50XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmxpbmVFeHRlbnNpb25BbW91bnRNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4TGluZUV4dGVuc2lvbkFtb3VudFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhMaW5lRXh0ZW5zaW9uQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtYXhMaW5lRXh0ZW5zaW9uQW1vdW50XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmxpbmVFeHRlbnNpb25BbW91bnRNYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5UYXhUb3RhbFRheEFtb3VudFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5UYXhUb3RhbFRheEFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWluVGF4VG90YWxUYXhBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMudGF4VG90YWxUYXhBbW91bnRNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4VGF4VG90YWxUYXhBbW91bnRcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4VGF4VG90YWxUYXhBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heFRheFRvdGFsVGF4QW1vdW50XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnRheFRvdGFsVGF4QW1vdW50TWF4XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiaXRlbURlc2NyaXB0aW9uRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Okl0ZW1EZXNjcmlwdGlvbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiaXRlbURlc2NyaXB0aW9uRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5pdGVtRGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJpdGVtTmFtZUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJdGVtTmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiaXRlbU5hbWVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLml0ZW1OYW1lXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiaXRlbUtleXdvcmRGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXRlbUtleXdvcmQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIml0ZW1LZXl3b3JkRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5pdGVtS2V5d29yZFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIml0ZW1CcmFuZE5hbWVGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXRlbUJyYW5kTmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiaXRlbUJyYW5kTmFtZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaXRlbUJyYW5kTmFtZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1vZGVsTmFtZUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNb2RlbE5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1vZGVsTmFtZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMubW9kZWxOYW1lXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiaXRlbUJ1eWVyc0l0ZW1JZGVudGlmaWNhdGlvbklERmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Okl0ZW1CdXllcnNJdGVtSWRlbnRpZmljYXRpb25JRCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiaXRlbUJ1eWVyc0l0ZW1JZGVudGlmaWNhdGlvbklERmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5pdGVtQnV5ZXJzSXRlbUlkZW50aWZpY2F0aW9uSURcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJpdGVtU2VsbGVyc0l0ZW1JZGVudGlmaWNhdGlvbklERmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Okl0ZW1TZWxsZXJzSXRlbUlkZW50aWZpY2F0aW9uSUQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIml0ZW1TZWxsZXJzSXRlbUlkZW50aWZpY2F0aW9uSURGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLml0ZW1TZWxsZXJzSXRlbUlkZW50aWZpY2F0aW9uSURcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJpdGVtTWFudWZhY3R1cmVyc0l0ZW1JZGVudGlmaWNhdGlvbklERmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Okl0ZW1NYW51ZmFjdHVyZXJzSXRlbUlkZW50aWZpY2F0aW9uSUQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIml0ZW1NYW51ZmFjdHVyZXJzSXRlbUlkZW50aWZpY2F0aW9uSURGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLml0ZW1NYW51ZmFjdHVyZXJzSXRlbUlkZW50aWZpY2F0aW9uSURcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJpdGVtT3JpZ2luQ291bnRyeUlkZW50aWZpY2F0aW9uQ29kZUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJdGVtT3JpZ2luQ291bnRyeUlkZW50aWZpY2F0aW9uQ29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiaXRlbU9yaWdpbkNvdW50cnlJZGVudGlmaWNhdGlvbkNvZGVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLml0ZW1PcmlnaW5Db3VudHJ5SWRlbnRpZmljYXRpb25Db2RlXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiaXRlbU9yaWdpbkNvdW50cnlOYW1lRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Okl0ZW1PcmlnaW5Db3VudHJ5TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiaXRlbU9yaWdpbkNvdW50cnlOYW1lRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5pdGVtT3JpZ2luQ291bnRyeU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5QcmljZUFtb3VudFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5QcmljZUFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWluUHJpY2VBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucHJpY2VBbW91bnRNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4UHJpY2VBbW91bnRcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4UHJpY2VBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heFByaWNlQW1vdW50XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnByaWNlQW1vdW50TWF4XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJpY2VDdXJyZW5jeUNvZGVGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UHJpY2VDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInByaWNlQ3VycmVuY3lDb2RlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5wcmljZUN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyUmVjZWlwdElkRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlByb2R1Y2VyUmVjZWlwdCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxhYnAtbG9va3VwLXNlbGVjdFxyXG4gICAgICAgICAgICAgICAgY2lkPVwicHJvZHVjZXJSZWNlaXB0SWRGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgW2dldEZuXT1cInNlcnZpY2UuZ2V0UHJvZHVjZXJSZWNlaXB0TG9va3VwXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5wcm9kdWNlclJlY2VpcHRJZFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgID48L2FicC1sb29rdXAtc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG8gYWxpZ24tc2VsZi1lbmQgbWItM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02IGNvbC1zbS1hdXRvIGQtZ3JpZFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeVwiIChjbGljayk9XCJjbGVhckZpbHRlcnMoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyAnQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNiBjb2wtc20tYXV0byBkLWdyaWRcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cImxpc3QuZ2V0KClcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ0FicFVpOjpSZWZyZXNoJyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Zvcm0+XHJcbiAgICA8L2FicC1hZHZhbmNlZC1lbnRpdHktZmlsdGVycy1mb3JtPlxyXG4gIDwvYWJwLWFkdmFuY2VkLWVudGl0eS1maWx0ZXJzPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICA8bmd4LWRhdGF0YWJsZSBbcm93c109XCJkYXRhLml0ZW1zXCIgW2NvdW50XT1cImRhdGEudG90YWxDb3VudFwiIFtsaXN0XT1cImxpc3RcIiBkZWZhdWx0PlxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgW25hbWVdPVwiJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICBbbWF4V2lkdGhdPVwiMTUwXCJcclxuICAgICAgICAgIFt3aWR0aF09XCIxNTBcIlxyXG4gICAgICAgICAgW3NvcnRhYmxlXT1cImZhbHNlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIGxldC1pPVwicm93SW5kZXhcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd24gY29udGFpbmVyPVwiYm9keVwiIGNsYXNzPVwiZC1pbmxpbmUtYmxvY2tcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc20gZHJvcGRvd24tdG9nZ2xlXCJcclxuICAgICAgICAgICAgICAgIGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIlxyXG4gICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgbmdiRHJvcGRvd25Ub2dnbGVcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNvZyBtZS0xXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAge3sgJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duTWVudT5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgbmdiRHJvcGRvd25JdGVtXHJcbiAgICAgICAgICAgICAgICAgICphYnBQZXJtaXNzaW9uPVwiJ2VEb251c3VtLlByb2R1Y2VyUmVjZWlwdExpbmVzLkVkaXQnXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInVwZGF0ZShyb3cpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3sgJ0FicFVpOjpFZGl0JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICBuZ2JEcm9wZG93bkl0ZW1cclxuICAgICAgICAgICAgICAgICAgKmFicFBlcm1pc3Npb249XCInZURvbnVzdW0uUHJvZHVjZXJSZWNlaXB0TGluZXMuRGVsZXRlJ1wiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGUocm93KVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHt7ICdBYnBVaTo6RGVsZXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlByb2R1Y2VyUmVjZWlwTGluZUlkJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicHJvZHVjZXJSZWNlaXB0TGluZS5wcm9kdWNlclJlY2VpcExpbmVJZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wcm9kdWNlclJlY2VpcHRMaW5lLnByb2R1Y2VyUmVjZWlwTGluZUlkIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6Tm90ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInByb2R1Y2VyUmVjZWlwdExpbmUubm90ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wcm9kdWNlclJlY2VpcHRMaW5lLm5vdGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpDcmVkaXRlZFF1YW50aXR5JyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicHJvZHVjZXJSZWNlaXB0TGluZS5jcmVkaXRlZFF1YW50aXR5XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnByb2R1Y2VyUmVjZWlwdExpbmUuY3JlZGl0ZWRRdWFudGl0eSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlVuaXRDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicHJvZHVjZXJSZWNlaXB0TGluZS51bml0Q29kZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wcm9kdWNlclJlY2VpcHRMaW5lLnVuaXRDb2RlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6TGluZUV4dGVuc2lvbkFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInByb2R1Y2VyUmVjZWlwdExpbmUubGluZUV4dGVuc2lvbkFtb3VudFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wcm9kdWNlclJlY2VpcHRMaW5lLmxpbmVFeHRlbnNpb25BbW91bnQgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpUYXhUb3RhbFRheEFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInByb2R1Y2VyUmVjZWlwdExpbmUudGF4VG90YWxUYXhBbW91bnRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucHJvZHVjZXJSZWNlaXB0TGluZS50YXhUb3RhbFRheEFtb3VudCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06Okl0ZW1EZXNjcmlwdGlvbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInByb2R1Y2VyUmVjZWlwdExpbmUuaXRlbURlc2NyaXB0aW9uXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnByb2R1Y2VyUmVjZWlwdExpbmUuaXRlbURlc2NyaXB0aW9uIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6SXRlbU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJwcm9kdWNlclJlY2VpcHRMaW5lLml0ZW1OYW1lXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnByb2R1Y2VyUmVjZWlwdExpbmUuaXRlbU5hbWUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpJdGVtS2V5d29yZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInByb2R1Y2VyUmVjZWlwdExpbmUuaXRlbUtleXdvcmRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucHJvZHVjZXJSZWNlaXB0TGluZS5pdGVtS2V5d29yZCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06Okl0ZW1CcmFuZE5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJwcm9kdWNlclJlY2VpcHRMaW5lLml0ZW1CcmFuZE5hbWVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucHJvZHVjZXJSZWNlaXB0TGluZS5pdGVtQnJhbmROYW1lIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6TW9kZWxOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicHJvZHVjZXJSZWNlaXB0TGluZS5tb2RlbE5hbWVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucHJvZHVjZXJSZWNlaXB0TGluZS5tb2RlbE5hbWUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpJdGVtQnV5ZXJzSXRlbUlkZW50aWZpY2F0aW9uSUQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJwcm9kdWNlclJlY2VpcHRMaW5lLml0ZW1CdXllcnNJdGVtSWRlbnRpZmljYXRpb25JRFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wcm9kdWNlclJlY2VpcHRMaW5lLml0ZW1CdXllcnNJdGVtSWRlbnRpZmljYXRpb25JRCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06Okl0ZW1TZWxsZXJzSXRlbUlkZW50aWZpY2F0aW9uSUQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJwcm9kdWNlclJlY2VpcHRMaW5lLml0ZW1TZWxsZXJzSXRlbUlkZW50aWZpY2F0aW9uSURcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucHJvZHVjZXJSZWNlaXB0TGluZS5pdGVtU2VsbGVyc0l0ZW1JZGVudGlmaWNhdGlvbklEIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6SXRlbU1hbnVmYWN0dXJlcnNJdGVtSWRlbnRpZmljYXRpb25JRCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInByb2R1Y2VyUmVjZWlwdExpbmUuaXRlbU1hbnVmYWN0dXJlcnNJdGVtSWRlbnRpZmljYXRpb25JRFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wcm9kdWNlclJlY2VpcHRMaW5lLml0ZW1NYW51ZmFjdHVyZXJzSXRlbUlkZW50aWZpY2F0aW9uSUQgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpJdGVtT3JpZ2luQ291bnRyeUlkZW50aWZpY2F0aW9uQ29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInByb2R1Y2VyUmVjZWlwdExpbmUuaXRlbU9yaWdpbkNvdW50cnlJZGVudGlmaWNhdGlvbkNvZGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucHJvZHVjZXJSZWNlaXB0TGluZS5pdGVtT3JpZ2luQ291bnRyeUlkZW50aWZpY2F0aW9uQ29kZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06Okl0ZW1PcmlnaW5Db3VudHJ5TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInByb2R1Y2VyUmVjZWlwdExpbmUuaXRlbU9yaWdpbkNvdW50cnlOYW1lXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnByb2R1Y2VyUmVjZWlwdExpbmUuaXRlbU9yaWdpbkNvdW50cnlOYW1lIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6UHJpY2VBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJwcm9kdWNlclJlY2VpcHRMaW5lLnByaWNlQW1vdW50XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnByb2R1Y2VyUmVjZWlwdExpbmUucHJpY2VBbW91bnQgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpQcmljZUN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInByb2R1Y2VyUmVjZWlwdExpbmUucHJpY2VDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucHJvZHVjZXJSZWNlaXB0TGluZS5wcmljZUN1cnJlbmN5Q29kZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlByb2R1Y2VyUmVjZWlwdCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInByb2R1Y2VyUmVjZWlwdC5wcm9kdWNlclJlY2VpcHRJRFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wcm9kdWNlclJlY2VpcHQ/LnByb2R1Y2VyUmVjZWlwdElEIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcbiAgICAgIDwvbmd4LWRhdGF0YWJsZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2FicC1wYWdlPlxyXG5cclxuPGFicC1tb2RhbCBbYnVzeV09XCJpc01vZGFsQnVzeVwiIFsodmlzaWJsZSldPVwiaXNNb2RhbE9wZW5cIj5cclxuICA8bmctdGVtcGxhdGUgI2FicEhlYWRlcj5cclxuICAgIDxoMz5cclxuICAgICAge3sgKHNlbGVjdGVkID8gJ0FicFVpOjpFZGl0JyA6ICdlRG9udXN1bTo6TmV3UHJvZHVjZXJSZWNlaXB0TGluZScpIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2gzPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGlkPVwicHJvZHVjZXItcmVjZWlwdC1saW5lXCIgKG5nU3VibWl0KT1cInN1Ym1pdEZvcm0oKVwiIHZhbGlkYXRlT25TdWJtaXQ+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIGZhZGUtaW4tdG9wXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LWxpbmUtcHJvZHVjZXItcmVjZWlwLWxpbmUtaWRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQcm9kdWNlclJlY2VpcExpbmVJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1saW5lLXByb2R1Y2VyLXJlY2VpcC1saW5lLWlkXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicHJvZHVjZXJSZWNlaXBMaW5lSWRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIGF1dG9mb2N1c1xyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtbGluZS1ub3RlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6Tm90ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0IGlkPVwicHJvZHVjZXItcmVjZWlwdC1saW5lLW5vdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJub3RlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1saW5lLWNyZWRpdGVkLXF1YW50aXR5XCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6Q3JlZGl0ZWRRdWFudGl0eScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtbGluZS1jcmVkaXRlZC1xdWFudGl0eVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNyZWRpdGVkUXVhbnRpdHlcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1saW5lLXVuaXQtY29kZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlVuaXRDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LWxpbmUtdW5pdC1jb2RlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidW5pdENvZGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjNcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtbGluZS1saW5lLWV4dGVuc2lvbi1hbW91bnRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpMaW5lRXh0ZW5zaW9uQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1saW5lLWxpbmUtZXh0ZW5zaW9uLWFtb3VudFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImxpbmVFeHRlbnNpb25BbW91bnRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1saW5lLXRheC10b3RhbC10YXgtYW1vdW50XCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VGF4VG90YWxUYXhBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LWxpbmUtdGF4LXRvdGFsLXRheC1hbW91bnRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0YXhUb3RhbFRheEFtb3VudFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LWxpbmUtaXRlbS1kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06Okl0ZW1EZXNjcmlwdGlvbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1saW5lLWl0ZW0tZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpdGVtRGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjEwMjRcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtbGluZS1pdGVtLW5hbWVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJdGVtTmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1saW5lLWl0ZW0tbmFtZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIml0ZW1OYW1lXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIyNTZcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtbGluZS1pdGVtLWtleXdvcmRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJdGVtS2V5d29yZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1saW5lLWl0ZW0ta2V5d29yZFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIml0ZW1LZXl3b3JkXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIyNTZcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtbGluZS1pdGVtLWJyYW5kLW5hbWVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJdGVtQnJhbmROYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LWxpbmUtaXRlbS1icmFuZC1uYW1lXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXRlbUJyYW5kTmFtZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMTI4XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LWxpbmUtbW9kZWwtbmFtZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1vZGVsTmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1saW5lLW1vZGVsLW5hbWVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtb2RlbE5hbWVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjEyOFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1saW5lLWl0ZW0tYnV5ZXJzLWl0ZW0taWRlbnRpZmljYXRpb24taWRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJdGVtQnV5ZXJzSXRlbUlkZW50aWZpY2F0aW9uSUQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtbGluZS1pdGVtLWJ1eWVycy1pdGVtLWlkZW50aWZpY2F0aW9uLWlkXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXRlbUJ1eWVyc0l0ZW1JZGVudGlmaWNhdGlvbklEXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIyNTZcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtbGluZS1pdGVtLXNlbGxlcnMtaXRlbS1pZGVudGlmaWNhdGlvbi1pZFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06Okl0ZW1TZWxsZXJzSXRlbUlkZW50aWZpY2F0aW9uSUQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtbGluZS1pdGVtLXNlbGxlcnMtaXRlbS1pZGVudGlmaWNhdGlvbi1pZFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIml0ZW1TZWxsZXJzSXRlbUlkZW50aWZpY2F0aW9uSURcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjI1NlwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWxhYmVsXCJcclxuICAgICAgICAgICAgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1saW5lLWl0ZW0tbWFudWZhY3R1cmVycy1pdGVtLWlkZW50aWZpY2F0aW9uLWlkXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJdGVtTWFudWZhY3R1cmVyc0l0ZW1JZGVudGlmaWNhdGlvbklEJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LWxpbmUtaXRlbS1tYW51ZmFjdHVyZXJzLWl0ZW0taWRlbnRpZmljYXRpb24taWRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpdGVtTWFudWZhY3R1cmVyc0l0ZW1JZGVudGlmaWNhdGlvbklEXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIxMjhcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1sYWJlbFwiXHJcbiAgICAgICAgICAgIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtbGluZS1pdGVtLW9yaWdpbi1jb3VudHJ5LWlkZW50aWZpY2F0aW9uLWNvZGVcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06Okl0ZW1PcmlnaW5Db3VudHJ5SWRlbnRpZmljYXRpb25Db2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LWxpbmUtaXRlbS1vcmlnaW4tY291bnRyeS1pZGVudGlmaWNhdGlvbi1jb2RlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXRlbU9yaWdpbkNvdW50cnlJZGVudGlmaWNhdGlvbkNvZGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjMyXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LWxpbmUtaXRlbS1vcmlnaW4tY291bnRyeS1uYW1lXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXRlbU9yaWdpbkNvdW50cnlOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LWxpbmUtaXRlbS1vcmlnaW4tY291bnRyeS1uYW1lXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXRlbU9yaWdpbkNvdW50cnlOYW1lXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCI2NFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1saW5lLXByaWNlLWFtb3VudFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlByaWNlQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1saW5lLXByaWNlLWFtb3VudFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInByaWNlQW1vdW50XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtbGluZS1wcmljZS1jdXJyZW5jeS1jb2RlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UHJpY2VDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtbGluZS1wcmljZS1jdXJyZW5jeS1jb2RlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicHJpY2VDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjNcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtbGluZS1wcm9kdWNlci1yZWNlaXB0LWlkXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UHJvZHVjZXJSZWNlaXB0JyB8IGFicExvY2FsaXphdGlvbiB9fSAqXHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxhYnAtbG9va3VwLXNlbGVjdFxyXG4gICAgICAgICAgICBjaWQ9XCJwcm9kdWNlci1yZWNlaXB0LWxpbmUtcHJvZHVjZXItcmVjZWlwdC1pZFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInByb2R1Y2VyUmVjZWlwdElkXCJcclxuICAgICAgICAgICAgW2dldEZuXT1cInNlcnZpY2UuZ2V0UHJvZHVjZXJSZWNlaXB0TG9va3VwXCJcclxuICAgICAgICAgID48L2FicC1sb29rdXAtc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiBhYnBDbG9zZT5cclxuICAgICAge3sgJ0FicFVpOjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8YWJwLWJ1dHRvbiBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiIGJ1dHRvblR5cGU9XCJzdWJtaXRcIiBmb3JtTmFtZT1cInByb2R1Y2VyLXJlY2VpcHQtbGluZVwiPlxyXG4gICAgICB7eyAnQWJwVWk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2FicC1idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { AuthGuard, PermissionGuard } from '@abp/ng.core';
2
+ import { NgModule } from '@angular/core';
3
+ import { RouterModule } from '@angular/router';
4
+ import { ProducerReceiptLineComponent } from './components/producer-receipt-line.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ const routes = [
8
+ {
9
+ path: '',
10
+ component: ProducerReceiptLineComponent,
11
+ canActivate: [AuthGuard, PermissionGuard],
12
+ },
13
+ ];
14
+ export class ProducerReceiptLineRoutingModule {
15
+ }
16
+ ProducerReceiptLineRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ProducerReceiptLineRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ ProducerReceiptLineRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ProducerReceiptLineRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
18
+ ProducerReceiptLineRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ProducerReceiptLineRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ProducerReceiptLineRoutingModule, decorators: [{
20
+ type: NgModule,
21
+ args: [{
22
+ imports: [RouterModule.forChild(routes)],
23
+ exports: [RouterModule],
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjZXItcmVjZWlwdC1saW5lLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZS1kb251c3VtL3NyYy9saWIvcHJvZHVjZXItcmVjZWlwdC1saW5lcy9wcm9kdWNlci1yZWNlaXB0LWxpbmUvcHJvZHVjZXItcmVjZWlwdC1saW5lLXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7QUFFNUYsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsRUFBRTtRQUNSLFNBQVMsRUFBRSw0QkFBNEI7UUFDdkMsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQztLQUMxQztDQUNGLENBQUM7QUFNRixNQUFNLE9BQU8sZ0NBQWdDOzs2SEFBaEMsZ0NBQWdDOzhIQUFoQyxnQ0FBZ0Msd0NBRmpDLFlBQVk7OEhBRVgsZ0NBQWdDLFlBSGpDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7MkZBRVgsZ0NBQWdDO2tCQUo1QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoR3VhcmQsIFBlcm1pc3Npb25HdWFyZCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUHJvZHVjZXJSZWNlaXB0TGluZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9kdWNlci1yZWNlaXB0LWxpbmUuY29tcG9uZW50JztcclxuXHJcbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xyXG4gIHtcclxuICAgIHBhdGg6ICcnLFxyXG4gICAgY29tcG9uZW50OiBQcm9kdWNlclJlY2VpcHRMaW5lQ29tcG9uZW50LFxyXG4gICAgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmQsIFBlcm1pc3Npb25HdWFyZF0sXHJcbiAgfSxcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcclxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y2VyUmVjZWlwdExpbmVSb3V0aW5nTW9kdWxlIHt9XHJcbiJdfQ==
@@ -0,0 +1,52 @@
1
+ import { CoreModule } from '@abp/ng.core';
2
+ import { ThemeSharedModule } from '@abp/ng.theme.shared';
3
+ import { NgModule } from '@angular/core';
4
+ import { NgbCollapseModule, NgbDatepickerModule, NgbDropdownModule, } from '@ng-bootstrap/ng-bootstrap';
5
+ import { NgxValidateCoreModule } from '@ngx-validate/core';
6
+ import { CommercialUiModule } from '@volo/abp.commercial.ng.ui';
7
+ import { PageModule } from '@abp/ng.components/page';
8
+ import { ProducerReceiptLineComponent } from './components/producer-receipt-line.component';
9
+ import { ProducerReceiptLineRoutingModule } from './producer-receipt-line-routing.module';
10
+ import * as i0 from "@angular/core";
11
+ export class ProducerReceiptLineModule {
12
+ }
13
+ ProducerReceiptLineModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ProducerReceiptLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ ProducerReceiptLineModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ProducerReceiptLineModule, declarations: [ProducerReceiptLineComponent], imports: [ProducerReceiptLineRoutingModule,
15
+ CoreModule,
16
+ ThemeSharedModule,
17
+ CommercialUiModule,
18
+ NgxValidateCoreModule,
19
+ NgbCollapseModule,
20
+ NgbDatepickerModule,
21
+ NgbDropdownModule,
22
+ PageModule] });
23
+ ProducerReceiptLineModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ProducerReceiptLineModule, imports: [ProducerReceiptLineRoutingModule,
24
+ CoreModule,
25
+ ThemeSharedModule,
26
+ CommercialUiModule,
27
+ NgxValidateCoreModule,
28
+ NgbCollapseModule,
29
+ NgbDatepickerModule,
30
+ NgbDropdownModule,
31
+ PageModule] });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ProducerReceiptLineModule, decorators: [{
33
+ type: NgModule,
34
+ args: [{
35
+ declarations: [ProducerReceiptLineComponent],
36
+ imports: [
37
+ ProducerReceiptLineRoutingModule,
38
+ CoreModule,
39
+ ThemeSharedModule,
40
+ CommercialUiModule,
41
+ NgxValidateCoreModule,
42
+ NgbCollapseModule,
43
+ NgbDatepickerModule,
44
+ NgbDropdownModule,
45
+ PageModule,
46
+ ],
47
+ }]
48
+ }] });
49
+ export function loadProducerReceiptLineModuleAsChild() {
50
+ return Promise.resolve(ProducerReceiptLineModule);
51
+ }
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjZXItcmVjZWlwdC1saW5lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL3Byb2R1Y2VyLXJlY2VpcHQtbGluZXMvcHJvZHVjZXItcmVjZWlwdC1saW5lL3Byb2R1Y2VyLXJlY2VpcHQtbGluZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLGlCQUFpQixHQUNsQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFpQjFGLE1BQU0sT0FBTyx5QkFBeUI7O3NIQUF6Qix5QkFBeUI7dUhBQXpCLHlCQUF5QixpQkFkckIsNEJBQTRCLGFBRXpDLGdDQUFnQztRQUNoQyxVQUFVO1FBQ1YsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixxQkFBcUI7UUFDckIsaUJBQWlCO1FBQ2pCLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFFakIsVUFBVTt1SEFHRCx5QkFBeUIsWUFabEMsZ0NBQWdDO1FBQ2hDLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixpQkFBaUI7UUFDakIsbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUVqQixVQUFVOzJGQUdELHlCQUF5QjtrQkFmckMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFO3dCQUNQLGdDQUFnQzt3QkFDaEMsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUVqQixVQUFVO3FCQUNYO2lCQUNGOztBQUdELE1BQU0sVUFBVSxvQ0FBb0M7SUFDbEQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBUaGVtZVNoYXJlZE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBOZ2JDb2xsYXBzZU1vZHVsZSxcclxuICBOZ2JEYXRlcGlja2VyTW9kdWxlLFxyXG4gIE5nYkRyb3Bkb3duTW9kdWxlLFxyXG59IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgTmd4VmFsaWRhdGVDb3JlTW9kdWxlIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQ29tbWVyY2lhbFVpTW9kdWxlIH0gZnJvbSAnQHZvbG8vYWJwLmNvbW1lcmNpYWwubmcudWknO1xyXG5pbXBvcnQgeyBQYWdlTW9kdWxlIH0gZnJvbSAnQGFicC9uZy5jb21wb25lbnRzL3BhZ2UnO1xyXG5pbXBvcnQgeyBQcm9kdWNlclJlY2VpcHRMaW5lQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2R1Y2VyLXJlY2VpcHQtbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9kdWNlclJlY2VpcHRMaW5lUm91dGluZ01vZHVsZSB9IGZyb20gJy4vcHJvZHVjZXItcmVjZWlwdC1saW5lLXJvdXRpbmcubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbUHJvZHVjZXJSZWNlaXB0TGluZUNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgUHJvZHVjZXJSZWNlaXB0TGluZVJvdXRpbmdNb2R1bGUsXHJcbiAgICBDb3JlTW9kdWxlLFxyXG4gICAgVGhlbWVTaGFyZWRNb2R1bGUsXHJcbiAgICBDb21tZXJjaWFsVWlNb2R1bGUsXHJcbiAgICBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUsXHJcbiAgICBOZ2JDb2xsYXBzZU1vZHVsZSxcclxuICAgIE5nYkRhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBOZ2JEcm9wZG93bk1vZHVsZSxcclxuXHJcbiAgICBQYWdlTW9kdWxlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWNlclJlY2VpcHRMaW5lTW9kdWxlIHt9XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFByb2R1Y2VyUmVjZWlwdExpbmVNb2R1bGVBc0NoaWxkKCkge1xyXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoUHJvZHVjZXJSZWNlaXB0TGluZU1vZHVsZSk7XHJcbn1cclxuIl19