techlify-inventory-common 18.48.0 → 18.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/inventory-common/incident/incident-form/incident-form.component.mjs +2 -2
- package/esm2022/lib/inventory-common/incident/incident-list/incident-list.component.mjs +2 -2
- package/esm2022/lib/inventory-common/location/location-form/location-form.component.mjs +2 -2
- package/esm2022/lib/inventory-common/location/location-status-changer/location-status-changer.component.mjs +1 -1
- package/esm2022/lib/inventory-common/location/shelf/shelf-form/shelf-form.component.mjs +1 -1
- package/esm2022/lib/inventory-common/location/shelf/shelf-list/shelf-list.component.mjs +2 -2
- package/esm2022/lib/inventory-common/product/product-batch-update-form/product-batch-update-form.component.mjs +1 -1
- package/esm2022/lib/inventory-common/product/product-form/product-form.component.mjs +1 -1
- package/esm2022/lib/inventory-common/product/product-list/product-list.component.mjs +1 -1
- package/esm2022/lib/inventory-common/rating/rating-form/rating-form.component.mjs +2 -2
- package/esm2022/lib/inventory-common/rating/rating-list/rating-list.component.mjs +2 -2
- package/esm2022/lib/inventory-common/reports/inventory-value-report/inventory-value-report.component.mjs +2 -2
- package/esm2022/lib/inventory-common/reports/low-stock-report/low-stock-report.component.mjs +2 -2
- package/esm2022/lib/inventory-common/reports/stock-issue-summary-report/stock-issue-summary-report.component.mjs +2 -2
- package/esm2022/lib/inventory-common/shared.module.mjs +10 -4
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-form/stock-issue-form.component.mjs +2 -2
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.component.mjs +1 -1
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-product-form/stock-issue-product-form.component.mjs +2 -2
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-product-view/stock-issue-product-view.component.mjs +2 -2
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-single-product-form/stock-issue-single-product-form.component.mjs +2 -2
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-view/stock-issue-view.component.mjs +2 -2
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.component.mjs +2 -2
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product-form/stock-receipt-product-form.component.mjs +1 -1
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product-view/stock-receipt-product-view.component.mjs +2 -2
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-view/stock-receipt-view.component.mjs +1 -1
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-page/stock-receipts-page.component.mjs +1 -1
- package/esm2022/lib/inventory-common/stock-transfer/stock-transfer-form/stock-transfer-form.component.mjs +2 -2
- package/esm2022/lib/inventory-common/stock-transfer/stock-transfer-list/stock-transfer-list.component.mjs +1 -1
- package/esm2022/lib/inventory-common/supplier/payee-selector/payee-selector/payee-selector.component.mjs +1 -1
- package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order-form/purchase-order-form.component.mjs +2 -2
- package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order-listing/purchase-order-listing.component.mjs +2 -2
- package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order-product-list/purchase-order-product-form/purchase-order-product-form.component.mjs +1 -1
- package/esm2022/lib/inventory-common/supplier/supplier-branches-list/supplier-branches-list.component.mjs +12 -12
- package/esm2022/lib/inventory-common/supplier/supplier-form/supplier-form.component.mjs +47 -56
- package/esm2022/lib/inventory-common/supplier/supplier-information/supplier-information.component.mjs +1 -1
- package/esm2022/lib/inventory-common/supplier/supplier-list/supplier-list.component.mjs +68 -0
- package/esm2022/lib/inventory-common/supplier/supplier-routing.module.mjs +3 -3
- package/esm2022/lib/inventory-common/supplier/supplier-view/supplier-view.component.mjs +11 -11
- package/esm2022/lib/inventory-common/supplier/supplier.module.mjs +10 -45
- package/esm2022/lib/inventory-common/techlify-filter/techlify-filter.component.mjs +1 -1
- package/esm2022/public-api.mjs +2 -3
- package/fesm2022/{techlify-inventory-common-category.module-VjAS4ehQ.mjs → techlify-inventory-common-category.module-BBpgG9L3.mjs} +8 -8
- package/fesm2022/{techlify-inventory-common-category.module-VjAS4ehQ.mjs.map → techlify-inventory-common-category.module-BBpgG9L3.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-purchase-order-view.component-D5GrUK-m.mjs → techlify-inventory-common-purchase-order-view.component-6qbMJdAs.mjs} +7 -7
- package/fesm2022/{techlify-inventory-common-purchase-order-view.component-D5GrUK-m.mjs.map → techlify-inventory-common-purchase-order-view.component-6qbMJdAs.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-recipient.module-BnRAWk8N.mjs → techlify-inventory-common-recipient.module-DsYw54Uj.mjs} +7 -7
- package/fesm2022/{techlify-inventory-common-recipient.module-BnRAWk8N.mjs.map → techlify-inventory-common-recipient.module-DsYw54Uj.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-stock-issue-form.component-B-aNyhLA.mjs → techlify-inventory-common-stock-issue-form.component-C3RoFfcY.mjs} +5 -5
- package/fesm2022/{techlify-inventory-common-stock-issue-form.component-B-aNyhLA.mjs.map → techlify-inventory-common-stock-issue-form.component-C3RoFfcY.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-stock-issue-product-view.component-BP2yFaQn.mjs → techlify-inventory-common-stock-issue-product-view.component-b_8gpI7x.mjs} +3 -3
- package/fesm2022/{techlify-inventory-common-stock-issue-product-view.component-BP2yFaQn.mjs.map → techlify-inventory-common-stock-issue-product-view.component-b_8gpI7x.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-stock-issue-view.component-DHdnoIR8.mjs → techlify-inventory-common-stock-issue-view.component-BDOR4X49.mjs} +3 -3
- package/fesm2022/{techlify-inventory-common-stock-issue-view.component-DHdnoIR8.mjs.map → techlify-inventory-common-stock-issue-view.component-BDOR4X49.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-techlify-inventory-common-DuAN6iqX.mjs → techlify-inventory-common-techlify-inventory-common-Bveawfj2.mjs} +190 -248
- package/fesm2022/techlify-inventory-common-techlify-inventory-common-Bveawfj2.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common.mjs +1 -1
- package/lib/inventory-common/shared.module.d.ts +1 -1
- package/lib/inventory-common/stock-receipts/stock-receipts.module.d.ts +1 -1
- package/lib/inventory-common/supplier/supplier-form/supplier-form.component.d.ts +13 -12
- package/lib/inventory-common/supplier/supplier-list/supplier-list.component.d.ts +20 -0
- package/lib/inventory-common/supplier/supplier.module.d.ts +13 -20
- package/package.json +1 -1
- package/public-api.d.ts +1 -2
- package/esm2022/lib/inventory-common/supplier/supplier-form/supplier-form-button/supplier-form-button.component.mjs +0 -43
- package/esm2022/lib/inventory-common/supplier/suppliers-list/suppliers-list.component.mjs +0 -59
- package/fesm2022/techlify-inventory-common-techlify-inventory-common-DuAN6iqX.mjs.map +0 -1
- package/lib/inventory-common/supplier/supplier-form/supplier-form-button/supplier-form-button.component.d.ts +0 -13
- package/lib/inventory-common/supplier/suppliers-list/suppliers-list.component.d.ts +0 -15
|
@@ -45,7 +45,7 @@ export class StockIssueProductViewComponent {
|
|
|
45
45
|
this.location.back();
|
|
46
46
|
}
|
|
47
47
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssueProductViewComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.StockIssueProductService }, { token: i3.Location }], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StockIssueProductViewComponent, isStandalone: true, selector: "app-stock-issue-product-view", ngImport: i0, template: "<mat-progress-bar mode=\"indeterminate\" *ngIf=\"isLoading\"></mat-progress-bar>\n\n<div *ngIf=\"model\" class=\"d-flex flex-column justify-content-start gap-2\">\n <mat-card>\n <mat-card-content>\n <h3 class=\"mb-0\">Stock Issue for {{ model?.product?.name }}</h3>\n </mat-card-content>\n </mat-card>\n <div class=\"d-flex justify-content-start align-items-start gap-2\">\n <div class=\"d-flex flex-column gap-2\" style=\"width: 350px\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span class=\"material-symbols-outlined\"> ungroup </span>\n <strong class=\"mb-0 text-dark\">Information</strong>\n </div>\n <div class=\"d-flex justify-content-start align-items-center gap-2 text-secondary\">\n <app-techlify-icon name=\"edit\" role=\"button\"\n [routerLink]=\"['/inventory/stock-issues/form', model?.stock_issue_id]\"></app-techlify-icon>\n <app-techlify-delete-button [model]=\"model\" [service]=\"service\"\n [data]=\"{ title: model?.product?.name, type: 'Stock Issue Product' }\"\n (deleted)=\"redirectBack();\">\n </app-techlify-delete-button>\n </div>\n </mat-card-content>\n <mat-card-content class=\"d-flex flex-column justify-content-start gap-2 mt-3\">\n <div class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex flex-column gap-0\">\n <a class=\"text-decoration-none text-black\"\n [routerLink]=\"['/inventory/products', model?.product?.id, 'view']\">\n <p class=\"mb-0\">{{ model?.product?.name }}</p>\n </a>\n <small *ngIf=\"model?.product?.sku\">{{ model?.product?.sku }}</small>\n </div>\n <div class=\"d-flex flex-column justify-content-end gap-0\">\n <small *ngIf=\"model?.stock_issue?.date\">{{ model?.stock_issue?.date | date }}</small>\n <ng-container *ngIf=\"model?.batch?.expires_on\">\n <small techlifyFeatureEnabled=\"product-batch-numbers\">\n Expires on {{ model?.batch?.expires_on | date }}\n </small>\n </ng-container>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-6\" *ngIf=\"model?.quantity\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Quantity</small>\n <div class=\"d-flex gap-1\">\n <h3 class=\"mb-0\">{{ model?.quantity }}</h3>\n <small class=\"text-secondary\">{{ model?.product?.measure?.title }}</small>\n </div>\n </div>\n </div>\n\n <div class=\"col-6\" *ngIf=\"model?.location\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Location</small>\n <p class=\"mb-0\">{{ model?.location?.title }}</p>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"model?.batch\">\n <div class=\"row\" techlifyFeatureEnabled=\"product-batch-numbers\">\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Batch</small>\n <p class=\"mb-0\">{{ model?.batch?.batch_number }}</p>\n </div>\n </div>\n <div class=\"col-6\" *ngIf=\"model?.batch?.expires_on\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Expires On</small>\n <p class=\"mb-0\">{{ model?.batch?.expires_on | date }}</p>\n </div>\n </div>\n </div>\n </ng-container>\n\n <div class=\"row\" *ngIf=\"model?.particulars\">\n <div class=\"col-12\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Particulars</small>\n <p class=\"mb-0\">{{ model?.particulars }}</p>\n </div>\n </div>\n </div>\n\n <div class=\"row\" *ngIf=\"model?.stock_issue?.creator\">\n <div class=\"col-12\">\n <small class=\"mb-0\">\n <span class=\"text-secondary\">Created By</span> {{ model?.stock_issue?.creator?.name }}\n <span class=\"text-secondary\">On</span> {{ model?.stock_issue?.created_at | date }}\n </small>\n </div>\n </div>\n </mat-card-content>\n </mat-card>\n\n <app-note-list labelText=\"Notes\" viewMode=\"timeline\" modelType=\"StockIssueProduct\"\n [relatedModelId]=\"model?.stock_issue_id\"></app-note-list>\n </div>\n\n <div style=\"width: calc(100% - 350px - 0.5rem)\">\n <app-stock-allocation-list [stockIssueProductId]=\"model?.id\"></app-stock-allocation-list>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.TechlifyDeleteButtonComponent, selector: "app-techlify-delete-button", inputs: ["data", "model", "message", "service"], outputs: ["deleted"] }, { kind: "component", type: i6.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "ngmodule", type: NoteModule }, { kind: "
|
|
48
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StockIssueProductViewComponent, isStandalone: true, selector: "app-stock-issue-product-view", ngImport: i0, template: "<mat-progress-bar mode=\"indeterminate\" *ngIf=\"isLoading\"></mat-progress-bar>\n\n<div *ngIf=\"model\" class=\"d-flex flex-column justify-content-start gap-2\">\n <mat-card>\n <mat-card-content>\n <h3 class=\"mb-0\">Stock Issue for {{ model?.product?.name }}</h3>\n </mat-card-content>\n </mat-card>\n <div class=\"d-flex justify-content-start align-items-start gap-2\">\n <div class=\"d-flex flex-column gap-2\" style=\"width: 350px\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span class=\"material-symbols-outlined\"> ungroup </span>\n <strong class=\"mb-0 text-dark\">Information</strong>\n </div>\n <div class=\"d-flex justify-content-start align-items-center gap-2 text-secondary\">\n <app-techlify-icon name=\"edit\" role=\"button\"\n [routerLink]=\"['/inventory/stock-issues/form', model?.stock_issue_id]\"></app-techlify-icon>\n <app-techlify-delete-button [model]=\"model\" [service]=\"service\"\n [data]=\"{ title: model?.product?.name, type: 'Stock Issue Product' }\"\n (deleted)=\"redirectBack();\">\n </app-techlify-delete-button>\n </div>\n </mat-card-content>\n <mat-card-content class=\"d-flex flex-column justify-content-start gap-2 mt-3\">\n <div class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex flex-column gap-0\">\n <a class=\"text-decoration-none text-black\"\n [routerLink]=\"['/inventory/products', model?.product?.id, 'view']\">\n <p class=\"mb-0\">{{ model?.product?.name }}</p>\n </a>\n <small *ngIf=\"model?.product?.sku\">{{ model?.product?.sku }}</small>\n </div>\n <div class=\"d-flex flex-column justify-content-end gap-0\">\n <small *ngIf=\"model?.stock_issue?.date\">{{ model?.stock_issue?.date | date }}</small>\n <ng-container *ngIf=\"model?.batch?.expires_on\">\n <small techlifyFeatureEnabled=\"product-batch-numbers\">\n Expires on {{ model?.batch?.expires_on | date }}\n </small>\n </ng-container>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-6\" *ngIf=\"model?.quantity\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Quantity</small>\n <div class=\"d-flex gap-1\">\n <h3 class=\"mb-0\">{{ model?.quantity }}</h3>\n <small class=\"text-secondary\">{{ model?.product?.measure?.title }}</small>\n </div>\n </div>\n </div>\n\n <div class=\"col-6\" *ngIf=\"model?.location\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Location</small>\n <p class=\"mb-0\">{{ model?.location?.title }}</p>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"model?.batch\">\n <div class=\"row\" techlifyFeatureEnabled=\"product-batch-numbers\">\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Batch</small>\n <p class=\"mb-0\">{{ model?.batch?.batch_number }}</p>\n </div>\n </div>\n <div class=\"col-6\" *ngIf=\"model?.batch?.expires_on\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Expires On</small>\n <p class=\"mb-0\">{{ model?.batch?.expires_on | date }}</p>\n </div>\n </div>\n </div>\n </ng-container>\n\n <div class=\"row\" *ngIf=\"model?.particulars\">\n <div class=\"col-12\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Particulars</small>\n <p class=\"mb-0\">{{ model?.particulars }}</p>\n </div>\n </div>\n </div>\n\n <div class=\"row\" *ngIf=\"model?.stock_issue?.creator\">\n <div class=\"col-12\">\n <small class=\"mb-0\">\n <span class=\"text-secondary\">Created By</span> {{ model?.stock_issue?.creator?.name }}\n <span class=\"text-secondary\">On</span> {{ model?.stock_issue?.created_at | date }}\n </small>\n </div>\n </div>\n </mat-card-content>\n </mat-card>\n\n <app-note-list labelText=\"Notes\" viewMode=\"timeline\" modelType=\"StockIssueProduct\"\n [relatedModelId]=\"model?.stock_issue_id\"></app-note-list>\n </div>\n\n <div style=\"width: calc(100% - 350px - 0.5rem)\">\n <app-stock-allocation-list [stockIssueProductId]=\"model?.id\"></app-stock-allocation-list>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i6.NoteListComponent, selector: "app-note-list", inputs: ["relatedModelId", "modelType", "readonly", "labelText", "commentsView", "viewMode"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.TechlifyDeleteButtonComponent, selector: "app-techlify-delete-button", inputs: ["data", "model", "message", "service"], outputs: ["deleted"] }, { kind: "component", type: i6.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "ngmodule", type: NoteModule }, { kind: "ngmodule", type: TechlifyFeatureModule }, { kind: "directive", type: i6.TechlifyFeatureEnabledDirective, selector: "[techlifyFeatureEnabled]", inputs: ["techlifyFeatureEnabled"] }, { kind: "component", type: StockAllocationListComponent, selector: "app-stock-allocation-list", inputs: ["stockIssueProductId", "stockReceiptProductId", "selectedColumns"], outputs: ["selectedColumnsChange"] }], preserveWhitespaces: true });
|
|
49
49
|
}
|
|
50
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssueProductViewComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
56
56
|
StockAllocationListComponent
|
|
57
57
|
], template: "<mat-progress-bar mode=\"indeterminate\" *ngIf=\"isLoading\"></mat-progress-bar>\n\n<div *ngIf=\"model\" class=\"d-flex flex-column justify-content-start gap-2\">\n <mat-card>\n <mat-card-content>\n <h3 class=\"mb-0\">Stock Issue for {{ model?.product?.name }}</h3>\n </mat-card-content>\n </mat-card>\n <div class=\"d-flex justify-content-start align-items-start gap-2\">\n <div class=\"d-flex flex-column gap-2\" style=\"width: 350px\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span class=\"material-symbols-outlined\"> ungroup </span>\n <strong class=\"mb-0 text-dark\">Information</strong>\n </div>\n <div class=\"d-flex justify-content-start align-items-center gap-2 text-secondary\">\n <app-techlify-icon name=\"edit\" role=\"button\"\n [routerLink]=\"['/inventory/stock-issues/form', model?.stock_issue_id]\"></app-techlify-icon>\n <app-techlify-delete-button [model]=\"model\" [service]=\"service\"\n [data]=\"{ title: model?.product?.name, type: 'Stock Issue Product' }\"\n (deleted)=\"redirectBack();\">\n </app-techlify-delete-button>\n </div>\n </mat-card-content>\n <mat-card-content class=\"d-flex flex-column justify-content-start gap-2 mt-3\">\n <div class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex flex-column gap-0\">\n <a class=\"text-decoration-none text-black\"\n [routerLink]=\"['/inventory/products', model?.product?.id, 'view']\">\n <p class=\"mb-0\">{{ model?.product?.name }}</p>\n </a>\n <small *ngIf=\"model?.product?.sku\">{{ model?.product?.sku }}</small>\n </div>\n <div class=\"d-flex flex-column justify-content-end gap-0\">\n <small *ngIf=\"model?.stock_issue?.date\">{{ model?.stock_issue?.date | date }}</small>\n <ng-container *ngIf=\"model?.batch?.expires_on\">\n <small techlifyFeatureEnabled=\"product-batch-numbers\">\n Expires on {{ model?.batch?.expires_on | date }}\n </small>\n </ng-container>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-6\" *ngIf=\"model?.quantity\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Quantity</small>\n <div class=\"d-flex gap-1\">\n <h3 class=\"mb-0\">{{ model?.quantity }}</h3>\n <small class=\"text-secondary\">{{ model?.product?.measure?.title }}</small>\n </div>\n </div>\n </div>\n\n <div class=\"col-6\" *ngIf=\"model?.location\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Location</small>\n <p class=\"mb-0\">{{ model?.location?.title }}</p>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"model?.batch\">\n <div class=\"row\" techlifyFeatureEnabled=\"product-batch-numbers\">\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Batch</small>\n <p class=\"mb-0\">{{ model?.batch?.batch_number }}</p>\n </div>\n </div>\n <div class=\"col-6\" *ngIf=\"model?.batch?.expires_on\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Expires On</small>\n <p class=\"mb-0\">{{ model?.batch?.expires_on | date }}</p>\n </div>\n </div>\n </div>\n </ng-container>\n\n <div class=\"row\" *ngIf=\"model?.particulars\">\n <div class=\"col-12\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Particulars</small>\n <p class=\"mb-0\">{{ model?.particulars }}</p>\n </div>\n </div>\n </div>\n\n <div class=\"row\" *ngIf=\"model?.stock_issue?.creator\">\n <div class=\"col-12\">\n <small class=\"mb-0\">\n <span class=\"text-secondary\">Created By</span> {{ model?.stock_issue?.creator?.name }}\n <span class=\"text-secondary\">On</span> {{ model?.stock_issue?.created_at | date }}\n </small>\n </div>\n </div>\n </mat-card-content>\n </mat-card>\n\n <app-note-list labelText=\"Notes\" viewMode=\"timeline\" modelType=\"StockIssueProduct\"\n [relatedModelId]=\"model?.stock_issue_id\"></app-note-list>\n </div>\n\n <div style=\"width: calc(100% - 350px - 0.5rem)\">\n <app-stock-allocation-list [stockIssueProductId]=\"model?.id\"></app-stock-allocation-list>\n </div>\n </div>\n</div>\n" }]
|
|
58
58
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.StockIssueProductService }, { type: i3.Location }] });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staXNzdWUtcHJvZHVjdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3N0b2NrLWlzc3VlL3N0b2NrLWlzc3VlLXByb2R1Y3Qtdmlldy9zdG9jay1pc3N1ZS1wcm9kdWN0LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3RvY2staXNzdWUvc3RvY2staXNzdWUtcHJvZHVjdC12aWV3L3N0b2NrLWlzc3VlLXByb2R1Y3Qtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOEVBQThFLENBQUM7Ozs7Ozs7O0FBYzVILE1BQU0sT0FBTyw4QkFBOEI7SUFPM0I7SUFDRTtJQUNGO0lBUFosRUFBRSxDQUFVO0lBQ1osU0FBUyxDQUFXO0lBQ3BCLEtBQUssQ0FBTztJQUVaLFlBQ1ksY0FBOEIsRUFDNUIsT0FBaUMsRUFDbkMsUUFBa0I7UUFGbEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzVCLFlBQU8sR0FBUCxPQUFPLENBQTBCO1FBQ25DLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDMUIsQ0FBQztJQUVMLFFBQVE7UUFDSixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDMUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDakMsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNqQyxJQUFJLEVBQUUsQ0FBQyxRQUFhLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLEVBQUUsSUFBSSxDQUFDO2dCQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUMzQixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDUixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUMzQixDQUFDO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7d0dBcENRLDhCQUE4Qjs0RkFBOUIsOEJBQThCLHdGQ3BCM0MsOHNNQTZHQSx5REQvRlEsWUFBWSwwakNBQ1osVUFBVSwwTUFDVixxQkFBcUIsMEtBQ3JCLDRCQUE0Qjs7NEZBR3ZCLDhCQUE4QjtrQkFaMUMsU0FBUzsrQkFDSSw4QkFBOEIsY0FHNUIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixxQkFBcUI7d0JBQ3JCLDRCQUE0QjtxQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBTdG9ja0lzc3VlUHJvZHVjdFNlcnZpY2UgfSBmcm9tICcuLi9zdG9jay1pc3N1ZS1wcm9kdWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90ZU1vZHVsZSwgVGVjaGxpZnlGZWF0dXJlTW9kdWxlIH0gZnJvbSAnbmd4LXRlY2hsaWZ5LWNvcmUnO1xuaW1wb3J0IHsgU3RvY2tBbGxvY2F0aW9uTGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0b2NrLWFsbG9jYXRpb24vc3RvY2stYWxsb2NhdGlvbi1saXN0L3N0b2NrLWFsbG9jYXRpb24tbGlzdC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1zdG9jay1pc3N1ZS1wcm9kdWN0LXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdG9jay1pc3N1ZS1wcm9kdWN0LXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zdG9jay1pc3N1ZS1wcm9kdWN0LXZpZXcuY29tcG9uZW50LnNjc3MnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBTaGFyZWRNb2R1bGUsXG4gICAgICAgIE5vdGVNb2R1bGUsXG4gICAgICAgIFRlY2hsaWZ5RmVhdHVyZU1vZHVsZSxcbiAgICAgICAgU3RvY2tBbGxvY2F0aW9uTGlzdENvbXBvbmVudFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFN0b2NrSXNzdWVQcm9kdWN0Vmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBpZCE6IG51bWJlcjtcbiAgICBpc0xvYWRpbmchOiBib29sZWFuO1xuICAgIG1vZGVsITogYW55O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcm90ZWN0ZWQgc2VydmljZTogU3RvY2tJc3N1ZVByb2R1Y3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvblxuICAgICkgeyB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmlkID0gcGFyc2VJbnQocGFyYW1zWydpZCddKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBsb2FkRGF0YSgpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnNlcnZpY2Uuc2hvdyh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsID0gcmVzcG9uc2U/Lml0ZW07XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlZGlyZWN0QmFjaygpIHtcbiAgICAgICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XG4gICAgfVxufVxuIiwiPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiAqbmdJZj1cImlzTG9hZGluZ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cblxuPGRpdiAqbmdJZj1cIm1vZGVsXCIgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LXN0YXJ0IGdhcC0yXCI+XG4gICAgPG1hdC1jYXJkPlxuICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1iLTBcIj5TdG9jayBJc3N1ZSBmb3Ige3sgbW9kZWw/LnByb2R1Y3Q/Lm5hbWUgfX08L2gzPlxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPC9tYXQtY2FyZD5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1zdGFydCBnYXAtMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0yXCIgc3R5bGU9XCJ3aWR0aDogMzUwcHhcIj5cbiAgICAgICAgICAgIDxtYXQtY2FyZD5cbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj4gdW5ncm91cCA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwibWItMCB0ZXh0LWRhcmtcIj5JbmZvcm1hdGlvbjwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHRleHQtc2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXRlY2hsaWZ5LWljb24gbmFtZT1cImVkaXRcIiByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9pbnZlbnRvcnkvc3RvY2staXNzdWVzL2Zvcm0nLCBtb2RlbD8uc3RvY2tfaXNzdWVfaWRdXCI+PC9hcHAtdGVjaGxpZnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtdGVjaGxpZnktZGVsZXRlLWJ1dHRvbiBbbW9kZWxdPVwibW9kZWxcIiBbc2VydmljZV09XCJzZXJ2aWNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJ7IHRpdGxlOiBtb2RlbD8ucHJvZHVjdD8ubmFtZSwgdHlwZTogJ1N0b2NrIElzc3VlIFByb2R1Y3QnIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWxldGVkKT1cInJlZGlyZWN0QmFjaygpO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hcHAtdGVjaGxpZnktZGVsZXRlLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1zdGFydCBnYXAtMiBtdC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJ0ZXh0LWRlY29yYXRpb24tbm9uZSB0ZXh0LWJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvaW52ZW50b3J5L3Byb2R1Y3RzJywgbW9kZWw/LnByb2R1Y3Q/LmlkLCAndmlldyddXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiPnt7IG1vZGVsPy5wcm9kdWN0Py5uYW1lIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgKm5nSWY9XCJtb2RlbD8ucHJvZHVjdD8uc2t1XCI+e3sgbW9kZWw/LnByb2R1Y3Q/LnNrdSB9fTwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWVuZCBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCAqbmdJZj1cIm1vZGVsPy5zdG9ja19pc3N1ZT8uZGF0ZVwiPnt7IG1vZGVsPy5zdG9ja19pc3N1ZT8uZGF0ZSB8IGRhdGUgfX08L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbD8uYmF0Y2g/LmV4cGlyZXNfb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIHRlY2hsaWZ5RmVhdHVyZUVuYWJsZWQ9XCJwcm9kdWN0LWJhdGNoLW51bWJlcnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgb24ge3sgbW9kZWw/LmJhdGNoPy5leHBpcmVzX29uIHwgZGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiICpuZ0lmPVwibW9kZWw/LnF1YW50aXR5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPlF1YW50aXR5PC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWItMFwiPnt7IG1vZGVsPy5xdWFudGl0eSB9fTwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPnt7IG1vZGVsPy5wcm9kdWN0Py5tZWFzdXJlPy50aXRsZSB9fTwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiICpuZ0lmPVwibW9kZWw/LmxvY2F0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPkxvY2F0aW9uPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgbW9kZWw/LmxvY2F0aW9uPy50aXRsZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZWw/LmJhdGNoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgdGVjaGxpZnlGZWF0dXJlRW5hYmxlZD1cInByb2R1Y3QtYmF0Y2gtbnVtYmVyc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPkJhdGNoPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiPnt7IG1vZGVsPy5iYXRjaD8uYmF0Y2hfbnVtYmVyIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIiAqbmdJZj1cIm1vZGVsPy5iYXRjaD8uZXhwaXJlc19vblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPkV4cGlyZXMgT248L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgbW9kZWw/LmJhdGNoPy5leHBpcmVzX29uIHwgZGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwibW9kZWw/LnBhcnRpY3VsYXJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPlBhcnRpY3VsYXJzPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgbW9kZWw/LnBhcnRpY3VsYXJzIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cIm1vZGVsPy5zdG9ja19pc3N1ZT8uY3JlYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cIm1iLTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPkNyZWF0ZWQgQnk8L3NwYW4+IHt7IG1vZGVsPy5zdG9ja19pc3N1ZT8uY3JlYXRvcj8ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+T248L3NwYW4+IHt7IG1vZGVsPy5zdG9ja19pc3N1ZT8uY3JlYXRlZF9hdCB8IGRhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQ+XG5cbiAgICAgICAgICAgIDxhcHAtbm90ZS1saXN0IGxhYmVsVGV4dD1cIk5vdGVzXCIgdmlld01vZGU9XCJ0aW1lbGluZVwiIG1vZGVsVHlwZT1cIlN0b2NrSXNzdWVQcm9kdWN0XCJcbiAgICAgICAgICAgICAgICBbcmVsYXRlZE1vZGVsSWRdPVwibW9kZWw/LnN0b2NrX2lzc3VlX2lkXCI+PC9hcHAtbm90ZS1saXN0PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IGNhbGMoMTAwJSAtIDM1MHB4IC0gMC41cmVtKVwiPlxuICAgICAgICAgICAgPGFwcC1zdG9jay1hbGxvY2F0aW9uLWxpc3QgW3N0b2NrSXNzdWVQcm9kdWN0SWRdPVwibW9kZWw/LmlkXCI+PC9hcHAtc3RvY2stYWxsb2NhdGlvbi1saXN0PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staXNzdWUtcHJvZHVjdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3N0b2NrLWlzc3VlL3N0b2NrLWlzc3VlLXByb2R1Y3Qtdmlldy9zdG9jay1pc3N1ZS1wcm9kdWN0LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3RvY2staXNzdWUvc3RvY2staXNzdWUtcHJvZHVjdC12aWV3L3N0b2NrLWlzc3VlLXByb2R1Y3Qtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOEVBQThFLENBQUM7Ozs7Ozs7O0FBYzVILE1BQU0sT0FBTyw4QkFBOEI7SUFPM0I7SUFDRTtJQUNGO0lBUFosRUFBRSxDQUFVO0lBQ1osU0FBUyxDQUFXO0lBQ3BCLEtBQUssQ0FBTztJQUVaLFlBQ1ksY0FBOEIsRUFDNUIsT0FBaUMsRUFDbkMsUUFBa0I7UUFGbEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzVCLFlBQU8sR0FBUCxPQUFPLENBQTBCO1FBQ25DLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDMUIsQ0FBQztJQUVMLFFBQVE7UUFDSixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDMUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDakMsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNqQyxJQUFJLEVBQUUsQ0FBQyxRQUFhLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLEVBQUUsSUFBSSxDQUFDO2dCQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUMzQixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDUixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUMzQixDQUFDO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7d0dBcENRLDhCQUE4Qjs0RkFBOUIsOEJBQThCLHdGQ3BCM0MsOHNNQTZHQSx5REQvRlEsWUFBWSxzdUNBQ1osVUFBVSw4QkFDVixxQkFBcUIsMEtBQ3JCLDRCQUE0Qjs7NEZBR3ZCLDhCQUE4QjtrQkFaMUMsU0FBUzsrQkFDSSw4QkFBOEIsY0FHNUIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixxQkFBcUI7d0JBQ3JCLDRCQUE0QjtxQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBTdG9ja0lzc3VlUHJvZHVjdFNlcnZpY2UgfSBmcm9tICcuLi9zdG9jay1pc3N1ZS1wcm9kdWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90ZU1vZHVsZSwgVGVjaGxpZnlGZWF0dXJlTW9kdWxlIH0gZnJvbSAnbmd4LXRlY2hsaWZ5LWNvcmUnO1xuaW1wb3J0IHsgU3RvY2tBbGxvY2F0aW9uTGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0b2NrLWFsbG9jYXRpb24vc3RvY2stYWxsb2NhdGlvbi1saXN0L3N0b2NrLWFsbG9jYXRpb24tbGlzdC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1zdG9jay1pc3N1ZS1wcm9kdWN0LXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdG9jay1pc3N1ZS1wcm9kdWN0LXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zdG9jay1pc3N1ZS1wcm9kdWN0LXZpZXcuY29tcG9uZW50LnNjc3MnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBTaGFyZWRNb2R1bGUsXG4gICAgICAgIE5vdGVNb2R1bGUsXG4gICAgICAgIFRlY2hsaWZ5RmVhdHVyZU1vZHVsZSxcbiAgICAgICAgU3RvY2tBbGxvY2F0aW9uTGlzdENvbXBvbmVudFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFN0b2NrSXNzdWVQcm9kdWN0Vmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBpZCE6IG51bWJlcjtcbiAgICBpc0xvYWRpbmchOiBib29sZWFuO1xuICAgIG1vZGVsITogYW55O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcm90ZWN0ZWQgc2VydmljZTogU3RvY2tJc3N1ZVByb2R1Y3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvblxuICAgICkgeyB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmlkID0gcGFyc2VJbnQocGFyYW1zWydpZCddKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBsb2FkRGF0YSgpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnNlcnZpY2Uuc2hvdyh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsID0gcmVzcG9uc2U/Lml0ZW07XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlZGlyZWN0QmFjaygpIHtcbiAgICAgICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XG4gICAgfVxufVxuIiwiPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiAqbmdJZj1cImlzTG9hZGluZ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cblxuPGRpdiAqbmdJZj1cIm1vZGVsXCIgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LXN0YXJ0IGdhcC0yXCI+XG4gICAgPG1hdC1jYXJkPlxuICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1iLTBcIj5TdG9jayBJc3N1ZSBmb3Ige3sgbW9kZWw/LnByb2R1Y3Q/Lm5hbWUgfX08L2gzPlxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPC9tYXQtY2FyZD5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1zdGFydCBnYXAtMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0yXCIgc3R5bGU9XCJ3aWR0aDogMzUwcHhcIj5cbiAgICAgICAgICAgIDxtYXQtY2FyZD5cbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj4gdW5ncm91cCA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwibWItMCB0ZXh0LWRhcmtcIj5JbmZvcm1hdGlvbjwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHRleHQtc2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXRlY2hsaWZ5LWljb24gbmFtZT1cImVkaXRcIiByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9pbnZlbnRvcnkvc3RvY2staXNzdWVzL2Zvcm0nLCBtb2RlbD8uc3RvY2tfaXNzdWVfaWRdXCI+PC9hcHAtdGVjaGxpZnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtdGVjaGxpZnktZGVsZXRlLWJ1dHRvbiBbbW9kZWxdPVwibW9kZWxcIiBbc2VydmljZV09XCJzZXJ2aWNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJ7IHRpdGxlOiBtb2RlbD8ucHJvZHVjdD8ubmFtZSwgdHlwZTogJ1N0b2NrIElzc3VlIFByb2R1Y3QnIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWxldGVkKT1cInJlZGlyZWN0QmFjaygpO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hcHAtdGVjaGxpZnktZGVsZXRlLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1zdGFydCBnYXAtMiBtdC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJ0ZXh0LWRlY29yYXRpb24tbm9uZSB0ZXh0LWJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvaW52ZW50b3J5L3Byb2R1Y3RzJywgbW9kZWw/LnByb2R1Y3Q/LmlkLCAndmlldyddXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiPnt7IG1vZGVsPy5wcm9kdWN0Py5uYW1lIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgKm5nSWY9XCJtb2RlbD8ucHJvZHVjdD8uc2t1XCI+e3sgbW9kZWw/LnByb2R1Y3Q/LnNrdSB9fTwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWVuZCBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCAqbmdJZj1cIm1vZGVsPy5zdG9ja19pc3N1ZT8uZGF0ZVwiPnt7IG1vZGVsPy5zdG9ja19pc3N1ZT8uZGF0ZSB8IGRhdGUgfX08L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbD8uYmF0Y2g/LmV4cGlyZXNfb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIHRlY2hsaWZ5RmVhdHVyZUVuYWJsZWQ9XCJwcm9kdWN0LWJhdGNoLW51bWJlcnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgb24ge3sgbW9kZWw/LmJhdGNoPy5leHBpcmVzX29uIHwgZGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiICpuZ0lmPVwibW9kZWw/LnF1YW50aXR5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPlF1YW50aXR5PC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWItMFwiPnt7IG1vZGVsPy5xdWFudGl0eSB9fTwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPnt7IG1vZGVsPy5wcm9kdWN0Py5tZWFzdXJlPy50aXRsZSB9fTwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiICpuZ0lmPVwibW9kZWw/LmxvY2F0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPkxvY2F0aW9uPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgbW9kZWw/LmxvY2F0aW9uPy50aXRsZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZWw/LmJhdGNoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgdGVjaGxpZnlGZWF0dXJlRW5hYmxlZD1cInByb2R1Y3QtYmF0Y2gtbnVtYmVyc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPkJhdGNoPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiPnt7IG1vZGVsPy5iYXRjaD8uYmF0Y2hfbnVtYmVyIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIiAqbmdJZj1cIm1vZGVsPy5iYXRjaD8uZXhwaXJlc19vblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPkV4cGlyZXMgT248L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgbW9kZWw/LmJhdGNoPy5leHBpcmVzX29uIHwgZGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwibW9kZWw/LnBhcnRpY3VsYXJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPlBhcnRpY3VsYXJzPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgbW9kZWw/LnBhcnRpY3VsYXJzIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cIm1vZGVsPy5zdG9ja19pc3N1ZT8uY3JlYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cIm1iLTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPkNyZWF0ZWQgQnk8L3NwYW4+IHt7IG1vZGVsPy5zdG9ja19pc3N1ZT8uY3JlYXRvcj8ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+T248L3NwYW4+IHt7IG1vZGVsPy5zdG9ja19pc3N1ZT8uY3JlYXRlZF9hdCB8IGRhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQ+XG5cbiAgICAgICAgICAgIDxhcHAtbm90ZS1saXN0IGxhYmVsVGV4dD1cIk5vdGVzXCIgdmlld01vZGU9XCJ0aW1lbGluZVwiIG1vZGVsVHlwZT1cIlN0b2NrSXNzdWVQcm9kdWN0XCJcbiAgICAgICAgICAgICAgICBbcmVsYXRlZE1vZGVsSWRdPVwibW9kZWw/LnN0b2NrX2lzc3VlX2lkXCI+PC9hcHAtbm90ZS1saXN0PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IGNhbGMoMTAwJSAtIDM1MHB4IC0gMC41cmVtKVwiPlxuICAgICAgICAgICAgPGFwcC1zdG9jay1hbGxvY2F0aW9uLWxpc3QgW3N0b2NrSXNzdWVQcm9kdWN0SWRdPVwibW9kZWw/LmlkXCI+PC9hcHAtc3RvY2stYWxsb2NhdGlvbi1saXN0PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -174,7 +174,7 @@ export class StockIssueSingleProductFormComponent extends TechlifyFormComponent
|
|
|
174
174
|
});
|
|
175
175
|
}
|
|
176
176
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssueSingleProductFormComponent, deps: [{ token: i1.FormValidatorService }, { token: i2.StockIssueService }, { token: i3.FormBuilder }, { token: i1.DateUtils }, { token: i4.LocationService }, { token: i1.FormConfigurationFormService }, { token: i5.MatDialogRef, optional: true }, { token: MAT_DIALOG_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
177
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: StockIssueSingleProductFormComponent, isStandalone: true, selector: "app-stock-issue-single-product-form", viewQueries: [{ propertyName: "batchSearchableSelector", first: true, predicate: ["batchSearchableSelector"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-card-content>\n <div class=\"d-flex flex-row justify-content-between align-items-center gap-1\">\n <h5 class=\"text-center mb-0\">\n Stock Issue form\n\n @if (data.product) {\n for {{ data.product?.name }}\n }\n </h5>\n <app-form-configuration-for-form formCode=\"stock-issue\"\n (click)=\"dialogRef.close()\"></app-form-configuration-for-form>\n </div>\n <form [formGroup]=\"form\" class=\"d-flex flex-column gap-1 justify-content-start\" (submit)=\"save()\">\n <mat-form-field *ngIf=\"!product\">\n <mat-label>Product</mat-label>\n <app-searchable-selector formControlName=\"product_id\" apiUrl=\"api/products\" titleField=\"name\"\n required (selectedValueChange)=\"onProductChange($event)\"></app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('product_id')\">\n {{ getErrorMessage('product_id') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"locationsCount > 1\">\n <mat-label>Location From</mat-label>\n <app-searchable-selector formControlName=\"location_from_id\" apiUrl=\"api/inventory-locations\"\n required [selectedValue]=\"stockIssue?.stock_issue_products[0]?.location\"></app-searchable-selector>\n <mat-hint>Which warehouse are we taking stock from?</mat-hint>\n <mat-error *ngIf=\"isFieldValid('location_from_id')\">\n {{ getErrorMessage('location_from_id') }}\n </mat-error>\n </mat-form-field>\n\n <ng-container *ngIf=\"locationsCount > 1 && form.value?.location_from_id && batchesApiUrl\">\n <mat-form-field techlifyFeatureEnabled=\"product-batch-numbers\">\n <mat-label>Batch</mat-label>\n <app-searchable-selector #batchSearchableSelector formControlName=\"batch_id\" [apiUrl]=\"batchesApiUrl\"\n [enableSearch]=\"false\" (itemsChange)=\"onBatchItemsChange()\">\n </app-searchable-selector>\n </mat-form-field>\n </ng-container>\n\n <mat-form-field>\n <mat-label>Date</mat-label>\n <input matInput [matDatepicker]=\"datePicker\" formControlName=\"date\" (focus)=\"datePicker.open()\" />\n <mat-datepicker #datePicker></mat-datepicker>\n <mat-error *ngIf=\"isFieldValid('date')\">\n {{ getErrorMessage('date') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"formConfigurationUtilityService.getFieldEnabled('recipient_id')\">\n <mat-label>Recipient\n <sup *ngIf=\"formConfigurationUtilityService.getFieldRequired('recipient_id')\">*</sup>\n </mat-label>\n <app-searchable-selector formControlName=\"recipient_id\" apiUrl=\"api/recipients\"\n titleField=\"name\"></app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('recipient_id')\">\n {{ getErrorMessage('recipient_id') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Quantity</mat-label>\n <input matInput formControlName=\"quantity\" type=\"number\" min=\"0\" />\n <mat-error *ngIf=\"isFieldValid('quantity')\">\n {{ getErrorMessage('quantity') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Particulars</mat-label>\n <textarea matInput formControlName=\"particulars\" rows=\"3\"></textarea>\n </mat-form-field>\n\n <div class=\"d-flex justify-content-end align-items-center gap-2\">\n <button [disabled]=\"isWorking\" mat-raised-button color=\"primary\" type=\"submit\">Save</button>\n <button [disabled]=\"isWorking\" (click)=\"dialogRef.close()\" mat-flat-button type=\"button\">Cancel</button>\n </div>\n </form>\n</mat-card-content>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i9.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i9.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "directive", type: i10.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i10.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: SearchableSelectorModule }, { kind: "component", type: i1.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "panelWidth", "focusSearchOnOpen", "isEmitInitialEvent", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange"] }, { kind: "ngmodule", type: TechlifyFeatureModule }, { kind: "directive", type: i1.TechlifyFeatureEnabledDirective, selector: "[techlifyFeatureEnabled]", inputs: ["techlifyFeatureEnabled"] }, { kind: "ngmodule", type: FormConfigurationForFormModule }, { kind: "component", type: i1.FormConfigurationForFormComponent, selector: "app-form-configuration-for-form", inputs: ["formCode"] }], preserveWhitespaces: true });
|
|
177
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: StockIssueSingleProductFormComponent, isStandalone: true, selector: "app-stock-issue-single-product-form", viewQueries: [{ propertyName: "batchSearchableSelector", first: true, predicate: ["batchSearchableSelector"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-card-content>\n <div class=\"d-flex flex-row justify-content-between align-items-center gap-1\">\n <h5 class=\"text-center mb-0\">\n Stock Issue form\n\n @if (data.product) {\n for {{ data.product?.name }}\n }\n </h5>\n <app-form-configuration-for-form formCode=\"stock-issue\"\n (click)=\"dialogRef.close()\"></app-form-configuration-for-form>\n </div>\n <form [formGroup]=\"form\" class=\"d-flex flex-column gap-1 justify-content-start\" (submit)=\"save()\">\n <mat-form-field *ngIf=\"!product\">\n <mat-label>Product</mat-label>\n <app-searchable-selector formControlName=\"product_id\" apiUrl=\"api/products\" titleField=\"name\"\n required (selectedValueChange)=\"onProductChange($event)\"></app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('product_id')\">\n {{ getErrorMessage('product_id') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"locationsCount > 1\">\n <mat-label>Location From</mat-label>\n <app-searchable-selector formControlName=\"location_from_id\" apiUrl=\"api/inventory-locations\"\n required [selectedValue]=\"stockIssue?.stock_issue_products[0]?.location\"></app-searchable-selector>\n <mat-hint>Which warehouse are we taking stock from?</mat-hint>\n <mat-error *ngIf=\"isFieldValid('location_from_id')\">\n {{ getErrorMessage('location_from_id') }}\n </mat-error>\n </mat-form-field>\n\n <ng-container *ngIf=\"locationsCount > 1 && form.value?.location_from_id && batchesApiUrl\">\n <mat-form-field techlifyFeatureEnabled=\"product-batch-numbers\">\n <mat-label>Batch</mat-label>\n <app-searchable-selector #batchSearchableSelector formControlName=\"batch_id\" [apiUrl]=\"batchesApiUrl\"\n [enableSearch]=\"false\" (itemsChange)=\"onBatchItemsChange()\">\n </app-searchable-selector>\n </mat-form-field>\n </ng-container>\n\n <mat-form-field>\n <mat-label>Date</mat-label>\n <input matInput [matDatepicker]=\"datePicker\" formControlName=\"date\" (focus)=\"datePicker.open()\" />\n <mat-datepicker #datePicker></mat-datepicker>\n <mat-error *ngIf=\"isFieldValid('date')\">\n {{ getErrorMessage('date') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"formConfigurationUtilityService.getFieldEnabled('recipient_id')\">\n <mat-label>Recipient\n <sup *ngIf=\"formConfigurationUtilityService.getFieldRequired('recipient_id')\">*</sup>\n </mat-label>\n <app-searchable-selector formControlName=\"recipient_id\" apiUrl=\"api/recipients\"\n titleField=\"name\"></app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('recipient_id')\">\n {{ getErrorMessage('recipient_id') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Quantity</mat-label>\n <input matInput formControlName=\"quantity\" type=\"number\" min=\"0\" />\n <mat-error *ngIf=\"isFieldValid('quantity')\">\n {{ getErrorMessage('quantity') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Particulars</mat-label>\n <textarea matInput formControlName=\"particulars\" rows=\"3\"></textarea>\n </mat-form-field>\n\n <div class=\"d-flex justify-content-end align-items-center gap-2\">\n <button [disabled]=\"isWorking\" mat-raised-button color=\"primary\" type=\"submit\">Save</button>\n <button [disabled]=\"isWorking\" (click)=\"dialogRef.close()\" mat-flat-button type=\"button\">Cancel</button>\n </div>\n </form>\n</mat-card-content>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i9.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i9.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "directive", type: i10.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i10.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: SearchableSelectorModule }, { kind: "component", type: i1.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "panelWidth", "focusSearchOnOpen", "isEmitInitialEvent", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange", "isItemsEmpty"] }, { kind: "ngmodule", type: TechlifyFeatureModule }, { kind: "directive", type: i1.TechlifyFeatureEnabledDirective, selector: "[techlifyFeatureEnabled]", inputs: ["techlifyFeatureEnabled"] }, { kind: "ngmodule", type: FormConfigurationForFormModule }, { kind: "component", type: i1.FormConfigurationForFormComponent, selector: "app-form-configuration-for-form", inputs: ["formCode"] }], preserveWhitespaces: true });
|
|
178
178
|
}
|
|
179
179
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssueSingleProductFormComponent, decorators: [{
|
|
180
180
|
type: Component,
|
|
@@ -198,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
198
198
|
type: ViewChild,
|
|
199
199
|
args: ['batchSearchableSelector']
|
|
200
200
|
}] } });
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staXNzdWUtc2luZ2xlLXByb2R1Y3QtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdG9jay1pc3N1ZS9zdG9jay1pc3N1ZS1zaW5nbGUtcHJvZHVjdC1mb3JtL3N0b2NrLWlzc3VlLXNpbmdsZS1wcm9kdWN0LWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3RvY2staXNzdWUvc3RvY2staXNzdWUtc2luZ2xlLXByb2R1Y3QtZm9ybS9zdG9jay1pc3N1ZS1zaW5nbGUtcHJvZHVjdC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUVMLDhCQUE4QixFQUU5QiwrQkFBK0IsRUFHL0Isd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQixxQkFBcUIsR0FDdEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFlLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBRzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBaUIxRCxNQUFNLE9BQU8sb0NBQXFDLFNB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QVk7d0JBQ1osbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLDhCQUE4QjtxQkFDL0I7OzBCQXVCRSxRQUFROzswQkFDUixNQUFNOzJCQUFDLGVBQWU7OzBCQUFHLFFBQVE7eUNBbkJFLHVCQUF1QjtzQkFBNUQsU0FBUzt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0LCBPcHRpb25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBEYXRlVXRpbHMsXG4gIEZvcm1Db25maWd1cmF0aW9uRm9yRm9ybU1vZHVsZSxcbiAgRm9ybUNvbmZpZ3VyYXRpb25Gb3JtU2VydmljZSxcbiAgRm9ybUNvbmZpZ3VyYXRpb25VdGlsaXR5U2VydmljZSxcbiAgRm9ybVZhbGlkYXRvclNlcnZpY2UsXG4gIFNlYXJjaGFibGVTZWxlY3RvckNvbXBvbmVudCxcbiAgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlLFxuICBUZWNobGlmeUZlYXR1cmVNb2R1bGUsXG4gIFRlY2hsaWZ5Rm9ybUNvbXBvbmVudCxcbn0gZnJvbSAnbmd4LXRlY2hsaWZ5LWNvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dNb2R1bGUsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBTdG9ja0lzc3VlU2VydmljZSB9IGZyb20gJy4uL3N0b2NrLWlzc3VlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbG9jYXRpb24vbG9jYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uLy4uL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zdG9jay1pc3N1ZS1zaW5nbGUtcHJvZHVjdC1mb3JtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUsXG4gICAgVGVjaGxpZnlGZWF0dXJlTW9kdWxlLFxuICAgIEZvcm1Db25maWd1cmF0aW9uRm9yRm9ybU1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b2NrLWlzc3VlLXNpbmdsZS1wcm9kdWN0LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdG9jay1pc3N1ZS1zaW5nbGUtcHJvZHVjdC1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0b2NrSXNzdWVTaW5nbGVQcm9kdWN0Rm9ybUNvbXBvbmVudCBleHRlbmRzIFRlY2hsaWZ5Rm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2JhdGNoU2VhcmNoYWJsZVNlbGVjdG9yJykgYmF0Y2hTZWFyY2hhYmxlU2VsZWN0b3IhOiBTZWFyY2hhYmxlU2VsZWN0b3JDb21wb25lbnQ7XG5cbiAgcHJvZHVjdDogYW55O1xuICBzdG9ja0lzc3VlOiBhbnk7XG5cbiAgcHJpdmF0ZSBsb2NhdGlvbnNDb3VudFZhbHVlOiBudW1iZXIgPSAwO1xuICBiYXRjaGVzQXBpVXJsID0gJyc7XG4gIGlzQmF0Y2hQYXRjaGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGZvcm1Db25maWd1cmF0aW9uVXRpbGl0eVNlcnZpY2U6IEZvcm1Db25maWd1cmF0aW9uVXRpbGl0eVNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGZvcm1WYWxpZGF0b3JTZXJ2aWNlOiBGb3JtVmFsaWRhdG9yU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2VydmljZTogU3RvY2tJc3N1ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBkYXRlVXRpbHM6IERhdGVVdGlscyxcbiAgICBwcml2YXRlIGxvY2F0aW9uU2VydmljZTogTG9jYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9ybUNvbmZpZ1NlcnZpY2U6IEZvcm1Db25maWd1cmF0aW9uRm9ybVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIG92ZXJyaWRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFN0b2NrSXNzdWVTaW5nbGVQcm9kdWN0Rm9ybUNvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIEBPcHRpb25hbCgpIHB1YmxpYyBkYXRhOiB7IG1vZGVsPzogYW55OyBwcm9kdWN0PzogYW55IH0sXG4gICkge1xuICAgIHN1cGVyKGZvcm1WYWxpZGF0b3JTZXJ2aWNlKTtcbiAgICB0aGlzLmZvcm1Db25maWd1cmF0aW9uVXRpbGl0eVNlcnZpY2UgPSBuZXcgRm9ybUNvbmZpZ3VyYXRpb25VdGlsaXR5U2VydmljZSgpO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IHtcbiAgICAgIGRhdGU6IHsgcmVxdWlyZWQ6ICdUaGUgZGF0ZSBmaWVsZCBpcyByZXF1aXJlZC4nIH0sXG4gICAgICBxdWFudGl0eTogeyByZXF1aXJlZDogJ1RoZSBxdWFudGl0eSBmaWVsZCBpcyByZXF1aXJlZC4nIH0sXG4gICAgICBwcm9kdWN0X2lkOiB7IHJlcXVpcmVkOiAnVGhlIHByb2R1Y3QgZmllbGQgaXMgcmVxdWlyZWQuJyB9LFxuICAgICAgbG9jYXRpb25fZnJvbV9pZDogeyByZXF1aXJlZDogJ1RoZSBsb2NhdGlvbiBmaWVsZCBpcyByZXF1aXJlZC4nIH0sXG4gICAgICByZWNpcGllbnRfaWQ6IHsgcmVxdWlyZWQ6ICdQbGVhc2Ugc2VsZWN0IGEgcmVjaXBpZW50LicgfSxcbiAgICB9O1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgaWQ6IFsnJ10sXG4gICAgICBwcm9kdWN0X2lkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgbG9jYXRpb25fZnJvbV9pZDogWycnXSxcbiAgICAgIGJhdGNoX2lkOiBbJyddLFxuICAgICAgZGF0ZTogW25ldyBEYXRlKCksIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgcmVjaXBpZW50X2lkOiBbJyddLFxuICAgICAgcXVhbnRpdHk6IFsxLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHBhcnRpY3VsYXJzOiBbJyddLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wcm9kdWN0ID0gdGhpcy5kYXRhPy5wcm9kdWN0O1xuICAgIHRoaXMuc3RvY2tJc3N1ZSA9IHRoaXMuZGF0YT8ubW9kZWw7XG5cbiAgICB0aGlzLmZvcm0uZ2V0KCdsb2NhdGlvbl9mcm9tX2lkJyk/LnZhbHVlQ2hhbmdlcz8ucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSg1MCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICkuc3Vic2NyaWJlKCh2YWw6IG51bWJlcikgPT4ge1xuICAgICAgdGhpcy5yZXNldEJhdGNoU2VsZWN0b3IodmFsKTtcbiAgICB9KTtcblxuICAgIHRoaXMubG9jYXRpb25TZXJ2aWNlLmluZGV4KCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICBjb25zdCBsb2NhdGlvbnMgPSByZXNwb25zZT8uZGF0YSB8fCBbXTtcbiAgICAgIHRoaXMubG9jYXRpb25zQ291bnRWYWx1ZSA9IGxvY2F0aW9ucy5sZW5ndGg7XG5cbiAgICAgIHRoaXMuZm9ybS5nZXQoJ2xvY2F0aW9uX2Zyb21faWQnKT8uc2V0VmFsaWRhdG9ycyhsb2NhdGlvbnMubGVuZ3RoID4gMCA/IFZhbGlkYXRvcnMucmVxdWlyZWQgOiBudWxsKTtcbiAgICAgIHRoaXMuZm9ybS5nZXQoJ2xvY2F0aW9uX2Zyb21faWQnKT8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuXG4gICAgICBpZiAoIXRoaXMuc3RvY2tJc3N1ZSAmJiAhdGhpcy5mb3JtLmdldCgnbG9jYXRpb25fZnJvbV9pZCcpPy52YWx1ZSAmJiBsb2NhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmZvcm0uZ2V0KCdsb2NhdGlvbl9mcm9tX2lkJyk/LnNldFZhbHVlKGxvY2F0aW9uc1swXS5pZCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm1Db25maWd1cmF0aW9uVXRpbGl0eVNlcnZpY2UuaW5pdGlhbGl6ZSh0aGlzLmZvcm1Db25maWdTZXJ2aWNlLCAnc3RvY2staXNzdWUnKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICB0aGlzLmZvcm0uZ2V0KCdyZWNpcGllbnRfaWQnKT8uc2V0VmFsaWRhdG9ycyhcbiAgICAgICAgICB0aGlzLmZvcm1Db25maWd1cmF0aW9uVXRpbGl0eVNlcnZpY2UuZ2V0RmllbGRSZXF1aXJlZCgncmVjaXBpZW50X2lkJykgPyBWYWxpZGF0b3JzLnJlcXVpcmVkIDogbnVsbFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmZvcm0uZ2V0KCdyZWNpcGllbnRfaWQnKT8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMucHJvZHVjdCkge1xuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoeyBwcm9kdWN0X2lkOiB0aGlzLnByb2R1Y3QuaWQgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5wYXRjaEZvcm1EYXRhKCk7XG4gIH1cblxuICBwYXRjaEZvcm1EYXRhKCkge1xuICAgIGlmICh0aGlzLnN0b2NrSXNzdWUpIHtcbiAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHsgLi4udGhpcy5zdG9ja0lzc3VlIH07XG4gICAgICBpZiAoZGF0YS5kYXRlKSB7XG4gICAgICAgIGRhdGEuZGF0ZSA9IG5ldyBEYXRlKGRhdGEuZGF0ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLmlzVXBkYXRlID0gdHJ1ZTtcbiAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKGRhdGEsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIHRoaXMucmVzZXRCYXRjaFNlbGVjdG9yKGRhdGEubG9jYXRpb25fZnJvbV9pZCwgZmFsc2UpO1xuICAgICAgdGhpcy5wYXRjaEZvcm1Qcm9kdWN0cyh0aGlzLnN0b2NrSXNzdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5wcm9kdWN0Py5sYXN0X3N0b2NrX2lzc3VlKSB7XG4gICAgICAgIGNvbnN0IHsgcXVhbnRpdHksIGxvY2F0aW9uX2Zyb21faWQgfSA9IHRoaXMucHJvZHVjdC5sYXN0X3N0b2NrX2lzc3VlO1xuICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IHF1YW50aXR5LCBsb2NhdGlvbl9mcm9tX2lkIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHBhdGNoRm9ybVByb2R1Y3RzKHN0b2NrSXNzdWU6IGFueSkge1xuICAgIGlmIChzdG9ja0lzc3VlLnN0b2NrX2lzc3VlX3Byb2R1Y3RzPy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnVwZGF0ZUZvcm1XaXRoUHJvZHVjdEFycmF5KHN0b2NrSXNzdWUuc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0pO1xuICAgICAgdGhpcy5wcm9kdWN0ID0gc3RvY2tJc3N1ZS5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXS5wcm9kdWN0O1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUZvcm1XaXRoUHJvZHVjdEFycmF5KHN0b2NrSXNzdWVQcm9kdWN0OiBhbnkpIHtcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICBwcm9kdWN0X2lkOiBzdG9ja0lzc3VlUHJvZHVjdC5wcm9kdWN0X2lkLFxuICAgICAgcXVhbnRpdHk6IHN0b2NrSXNzdWVQcm9kdWN0LnF1YW50aXR5LFxuICAgICAgbG9jYXRpb25fZnJvbV9pZDogc3RvY2tJc3N1ZVByb2R1Y3QubG9jYXRpb25fZnJvbV9pZCxcbiAgICAgIGJhdGNoX2lkOiBzdG9ja0lzc3VlUHJvZHVjdC5iYXRjaF9pZCxcbiAgICAgIHBhcnRpY3VsYXJzOiBzdG9ja0lzc3VlUHJvZHVjdC5wYXJ0aWN1bGFycyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBsb2NhdGlvbnNDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmxvY2F0aW9uc0NvdW50VmFsdWU7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xuICAgICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KCdQbGVhc2UgY2hlY2sgdGhlIGZvcm0gZm9yIGVycm9ycycsICdlcnJvcicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkYXRhOiBhbnkgPSB7XG4gICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICBwcm9kdWN0czogW3sgLi4udGhpcy5mb3JtLnZhbHVlLCBpZDogdGhpcy5mb3JtLnZhbHVlLnByb2R1Y3RfaWQgfV0sXG4gICAgfTtcbiAgICBpZiAoZGF0YS5kYXRlKSB7XG4gICAgICBkYXRhLmRhdGUgPSB0aGlzLmRhdGVVdGlscy5nZXRZWVlZTU1ERFN0cmluZyhkYXRhLmRhdGUpO1xuICAgIH1cbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgY29uc3QgcmVxdWVzdDogYW55ID0gdGhpcy5pc1VwZGF0ZSA/IHRoaXMuc2VydmljZS51cGRhdGUoZGF0YSkgOiB0aGlzLnNlcnZpY2Uuc3RvcmUoZGF0YSk7XG4gICAgcmVxdWVzdC5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5pc1dvcmtpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzcG9uc2U/Lml0ZW0uc3RvY2tfaXNzdWVfcHJvZHVjdHMpO1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydCgnU3RvY2sgSXNzdWUgU2F2ZWQgU3VjY2Vzc2Z1bGx5IScsICdzdWNjZXNzJyk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+ICh0aGlzLmlzV29ya2luZyA9IGZhbHNlKSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uUHJvZHVjdENoYW5nZShwcm9kdWN0OiBhbnkpIHtcbiAgICB0aGlzLnByb2R1Y3QgPSBwcm9kdWN0O1xuICB9XG5cbiAgb25CYXRjaEl0ZW1zQ2hhbmdlKCkge1xuICAgIGlmICh0aGlzLnN0b2NrSXNzdWUgJiYgIXRoaXMuaXNCYXRjaFBhdGNoZWQpIHtcbiAgICAgIHRoaXMuZm9ybS5nZXQoJ2JhdGNoX2lkJyk/LnNldFZhbHVlKHRoaXMuc3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LmJhdGNoX2lkKTtcbiAgICAgIHRoaXMuYmF0Y2hTZWFyY2hhYmxlU2VsZWN0b3Iuc2VsZWN0ZWRWYWx1ZSA9IHRoaXMuc3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LmJhdGNoO1xuICAgICAgdGhpcy5pc0JhdGNoUGF0Y2hlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldEJhdGNoU2VsZWN0b3IodmFsOiBudW1iZXIsIHJlc2V0ID0gdHJ1ZSkge1xuICAgIGlmIChyZXNldCkge1xuICAgICAgdGhpcy5mb3JtLmdldCgnYmF0Y2hfaWQnKT8uc2V0VmFsdWUobnVsbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH1cbiAgICB0aGlzLmJhdGNoZXNBcGlVcmwgPSB2YWwgPyBgYXBpL3N0b2NrLXJlY2VpcHQtYmF0Y2hlcz9sb2NhdGlvbl9pZHM9JHt2YWx9YCA6ICcnO1xuICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuYmF0Y2hTZWFyY2hhYmxlU2VsZWN0b3IpIHtcbiAgICAgICAgaWYgKHJlc2V0KSB7XG4gICAgICAgICAgdGhpcy5iYXRjaFNlYXJjaGFibGVTZWxlY3Rvci5zZWxlY3RlZFZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJhdGNoU2VhcmNoYWJsZVNlbGVjdG9yLmFwaVVybCA9IHRoaXMuYmF0Y2hlc0FwaVVybDtcbiAgICAgICAgdGhpcy5iYXRjaFNlYXJjaGFibGVTZWxlY3Rvcj8ucmVsb2FkRGF0YSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8bWF0LWNhcmQtY29udGVudD5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTFcIj5cbiAgICA8aDUgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtYi0wXCI+XG4gICAgICBTdG9jayBJc3N1ZSBmb3JtXG5cbiAgICAgIEBpZiAoZGF0YS5wcm9kdWN0KSB7XG4gICAgICBmb3Ige3sgZGF0YS5wcm9kdWN0Py5uYW1lIH19XG4gICAgICB9XG4gICAgPC9oNT5cbiAgICA8YXBwLWZvcm0tY29uZmlndXJhdGlvbi1mb3ItZm9ybSBmb3JtQ29kZT1cInN0b2NrLWlzc3VlXCJcbiAgICAgIChjbGljayk9XCJkaWFsb2dSZWYuY2xvc2UoKVwiPjwvYXBwLWZvcm0tY29uZmlndXJhdGlvbi1mb3ItZm9ybT5cbiAgPC9kaXY+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0xIGp1c3RpZnktY29udGVudC1zdGFydFwiIChzdWJtaXQpPVwic2F2ZSgpXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiIXByb2R1Y3RcIj5cbiAgICAgIDxtYXQtbGFiZWw+UHJvZHVjdDwvbWF0LWxhYmVsPlxuICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yIGZvcm1Db250cm9sTmFtZT1cInByb2R1Y3RfaWRcIiBhcGlVcmw9XCJhcGkvcHJvZHVjdHNcIiB0aXRsZUZpZWxkPVwibmFtZVwiXG4gICAgICAgIHJlcXVpcmVkIChzZWxlY3RlZFZhbHVlQ2hhbmdlKT1cIm9uUHJvZHVjdENoYW5nZSgkZXZlbnQpXCI+PC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ3Byb2R1Y3RfaWQnKVwiPlxuICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoJ3Byb2R1Y3RfaWQnKSB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImxvY2F0aW9uc0NvdW50ID4gMVwiPlxuICAgICAgPG1hdC1sYWJlbD5Mb2NhdGlvbiBGcm9tPC9tYXQtbGFiZWw+XG4gICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgZm9ybUNvbnRyb2xOYW1lPVwibG9jYXRpb25fZnJvbV9pZFwiIGFwaVVybD1cImFwaS9pbnZlbnRvcnktbG9jYXRpb25zXCJcbiAgICAgICAgcmVxdWlyZWQgW3NlbGVjdGVkVmFsdWVdPVwic3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LmxvY2F0aW9uXCI+PC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgIDxtYXQtaGludD5XaGljaCB3YXJlaG91c2UgYXJlIHdlIHRha2luZyBzdG9jayBmcm9tPzwvbWF0LWhpbnQ+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdsb2NhdGlvbl9mcm9tX2lkJylcIj5cbiAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKCdsb2NhdGlvbl9mcm9tX2lkJykgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9jYXRpb25zQ291bnQgPiAxICYmIGZvcm0udmFsdWU/LmxvY2F0aW9uX2Zyb21faWQgJiYgYmF0Y2hlc0FwaVVybFwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIHRlY2hsaWZ5RmVhdHVyZUVuYWJsZWQ9XCJwcm9kdWN0LWJhdGNoLW51bWJlcnNcIj5cbiAgICAgICAgPG1hdC1sYWJlbD5CYXRjaDwvbWF0LWxhYmVsPlxuICAgICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgI2JhdGNoU2VhcmNoYWJsZVNlbGVjdG9yIGZvcm1Db250cm9sTmFtZT1cImJhdGNoX2lkXCIgW2FwaVVybF09XCJiYXRjaGVzQXBpVXJsXCJcbiAgICAgICAgICBbZW5hYmxlU2VhcmNoXT1cImZhbHNlXCIgKGl0ZW1zQ2hhbmdlKT1cIm9uQmF0Y2hJdGVtc0NoYW5nZSgpXCI+XG4gICAgICAgIDwvYXBwLXNlYXJjaGFibGUtc2VsZWN0b3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5EYXRlPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW21hdERhdGVwaWNrZXJdPVwiZGF0ZVBpY2tlclwiIGZvcm1Db250cm9sTmFtZT1cImRhdGVcIiAoZm9jdXMpPVwiZGF0ZVBpY2tlci5vcGVuKClcIiAvPlxuICAgICAgPG1hdC1kYXRlcGlja2VyICNkYXRlUGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdkYXRlJylcIj5cbiAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKCdkYXRlJykgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJmb3JtQ29uZmlndXJhdGlvblV0aWxpdHlTZXJ2aWNlLmdldEZpZWxkRW5hYmxlZCgncmVjaXBpZW50X2lkJylcIj5cbiAgICAgIDxtYXQtbGFiZWw+UmVjaXBpZW50XG4gICAgICAgIDxzdXAgKm5nSWY9XCJmb3JtQ29uZmlndXJhdGlvblV0aWxpdHlTZXJ2aWNlLmdldEZpZWxkUmVxdWlyZWQoJ3JlY2lwaWVudF9pZCcpXCI+Kjwvc3VwPlxuICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgZm9ybUNvbnRyb2xOYW1lPVwicmVjaXBpZW50X2lkXCIgYXBpVXJsPVwiYXBpL3JlY2lwaWVudHNcIlxuICAgICAgICB0aXRsZUZpZWxkPVwibmFtZVwiPjwvYXBwLXNlYXJjaGFibGUtc2VsZWN0b3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdyZWNpcGllbnRfaWQnKVwiPlxuICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoJ3JlY2lwaWVudF9pZCcpIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5RdWFudGl0eTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInF1YW50aXR5XCIgdHlwZT1cIm51bWJlclwiIG1pbj1cIjBcIiAvPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgncXVhbnRpdHknKVwiPlxuICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoJ3F1YW50aXR5JykgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWxhYmVsPlBhcnRpY3VsYXJzPC9tYXQtbGFiZWw+XG4gICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwicGFydGljdWxhcnNcIiByb3dzPVwiM1wiPjwvdGV4dGFyZWE+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImlzV29ya2luZ1wiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJzdWJtaXRcIj5TYXZlPC9idXR0b24+XG4gICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJpc1dvcmtpbmdcIiAoY2xpY2spPVwiZGlhbG9nUmVmLmNsb3NlKClcIiBtYXQtZmxhdC1idXR0b24gdHlwZT1cImJ1dHRvblwiPkNhbmNlbDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L21hdC1jYXJkLWNvbnRlbnQ+Il19
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staXNzdWUtc2luZ2xlLXByb2R1Y3QtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdG9jay1pc3N1ZS9zdG9jay1pc3N1ZS1zaW5nbGUtcHJvZHVjdC1mb3JtL3N0b2NrLWlzc3VlLXNpbmdsZS1wcm9kdWN0LWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3RvY2staXNzdWUvc3RvY2staXNzdWUtc2luZ2xlLXByb2R1Y3QtZm9ybS9zdG9jay1pc3N1ZS1zaW5nbGUtcHJvZHVjdC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUVMLDhCQUE4QixFQUU5QiwrQkFBK0IsRUFHL0Isd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQixxQkFBcUIsR0FDdEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFlLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBRzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBaUIxRCxNQUFNLE9BQU8sb0NBQXFDLFNBQVEscUJBQXFCO0lBYXhEO0lBQ0E7SUFDWDtJQUNBO0lBQ0E7SUFDQTtJQUNvQjtJQUNnQjtJQW5CUix1QkFBdUIsQ0FBK0I7SUFFNUYsT0FBTyxDQUFNO0lBQ2IsVUFBVSxDQUFNO0lBRVIsbUJBQW1CLEdBQVcsQ0FBQyxDQUFDO0lBQ3hDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDbkIsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUV6QiwrQkFBK0IsQ0FBa0M7SUFFeEUsWUFDcUIsb0JBQTBDLEVBQzFDLE9BQTBCLEVBQ3JDLFdBQXdCLEVBQ3hCLFNBQW9CLEVBQ3BCLGVBQWdDLEVBQ2hDLGlCQUErQyxFQUMzQixTQUE2RCxFQUM3QyxJQUFvQztRQUVoRixLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQVRULHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFDckMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUE4QjtRQUMzQixjQUFTLEdBQVQsU0FBUyxDQUFvRDtRQUM3QyxTQUFJLEdBQUosSUFBSSxDQUFnQztRQUdoRixJQUFJLENBQUMsK0JBQStCLEdBQUcsSUFBSSwrQkFBK0IsRUFBRSxDQUFDO1FBQzdFLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLDZCQUE2QixFQUFFO1lBQ2pELFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxpQ0FBaUMsRUFBRTtZQUN6RCxVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsZ0NBQWdDLEVBQUU7WUFDMUQsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsaUNBQWlDLEVBQUU7WUFDakUsWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFO1NBQ3pELENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ2pDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNSLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3JDLGdCQUFnQixFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3RCLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNkLElBQUksRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN2QyxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbEIsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbEMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBRW5DLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FDbkQsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUNoQixvQkFBb0IsRUFBRSxDQUN2QixDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDdkQsTUFBTSxTQUFTLEdBQUcsUUFBUSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFFNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsRUFBRSxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztZQUU1RCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsS0FBSyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFGLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMvRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsK0JBQStCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDL0YsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxhQUFhLENBQzFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNuRyxDQUFDO2dCQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLHNCQUFzQixFQUFFLENBQUM7WUFDMUQsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEdBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN6QyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25DLE1BQU0sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO2dCQUNyRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7WUFDdkQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsVUFBZTtRQUMvQixJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVELDBCQUEwQixDQUFDLGlCQUFzQjtRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNuQixVQUFVLEVBQUUsaUJBQWlCLENBQUMsVUFBVTtZQUN4QyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsUUFBUTtZQUNwQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxnQkFBZ0I7WUFDcEQsUUFBUSxFQUFFLGlCQUFpQixDQUFDLFFBQVE7WUFDcEMsV0FBVyxFQUFFLGlCQUFpQixDQUFDLFdBQVc7U0FDM0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsa0NBQWtDLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDeEUsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLElBQUksR0FBUTtZQUNoQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUNsQixRQUFRLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25FLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLE1BQU0sT0FBTyxHQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRixPQUFPLENBQUMsU0FBUyxDQUFDO1lBQ2hCLElBQUksRUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUMxRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxpQ0FBaUMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMzRSxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7U0FDdEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFZO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3hGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7WUFDN0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxHQUFXLEVBQUUsS0FBSyxHQUFHLElBQUk7UUFDbEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLDBDQUEwQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2hGLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQzFCLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7Z0JBQ2pDLElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ1YsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7Z0JBQ3BELENBQUM7Z0JBQ0QsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO2dCQUN6RCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDN0MsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0E1S1Usb0NBQW9DLGtRQW9CckMsZUFBZTs0RkFwQmQsb0NBQW9DLDBQQ25DakQsMGpIQStFbUIseUREdkRmLFlBQVksa0lBQ1osbUJBQW1CLHNnREFDbkIsY0FBYywyMUNBQ2QsZUFBZSw4QkFDZix3QkFBd0Isd2pCQUN4QixxQkFBcUIseUtBQ3JCLDhCQUE4Qjs7NEZBS3JCLG9DQUFvQztrQkFmaEQsU0FBUzsrQkFDRSxxQ0FBcUMsY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLDhCQUE4QjtxQkFDL0I7OzBCQXVCRSxRQUFROzswQkFDUixNQUFNOzJCQUFDLGVBQWU7OzBCQUFHLFFBQVE7eUNBbkJFLHVCQUF1QjtzQkFBNUQsU0FBUzt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0LCBPcHRpb25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBEYXRlVXRpbHMsXG4gIEZvcm1Db25maWd1cmF0aW9uRm9yRm9ybU1vZHVsZSxcbiAgRm9ybUNvbmZpZ3VyYXRpb25Gb3JtU2VydmljZSxcbiAgRm9ybUNvbmZpZ3VyYXRpb25VdGlsaXR5U2VydmljZSxcbiAgRm9ybVZhbGlkYXRvclNlcnZpY2UsXG4gIFNlYXJjaGFibGVTZWxlY3RvckNvbXBvbmVudCxcbiAgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlLFxuICBUZWNobGlmeUZlYXR1cmVNb2R1bGUsXG4gIFRlY2hsaWZ5Rm9ybUNvbXBvbmVudCxcbn0gZnJvbSAnbmd4LXRlY2hsaWZ5LWNvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dNb2R1bGUsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBTdG9ja0lzc3VlU2VydmljZSB9IGZyb20gJy4uL3N0b2NrLWlzc3VlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbG9jYXRpb24vbG9jYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uLy4uL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zdG9jay1pc3N1ZS1zaW5nbGUtcHJvZHVjdC1mb3JtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUsXG4gICAgVGVjaGxpZnlGZWF0dXJlTW9kdWxlLFxuICAgIEZvcm1Db25maWd1cmF0aW9uRm9yRm9ybU1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b2NrLWlzc3VlLXNpbmdsZS1wcm9kdWN0LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdG9jay1pc3N1ZS1zaW5nbGUtcHJvZHVjdC1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0b2NrSXNzdWVTaW5nbGVQcm9kdWN0Rm9ybUNvbXBvbmVudCBleHRlbmRzIFRlY2hsaWZ5Rm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2JhdGNoU2VhcmNoYWJsZVNlbGVjdG9yJykgYmF0Y2hTZWFyY2hhYmxlU2VsZWN0b3IhOiBTZWFyY2hhYmxlU2VsZWN0b3JDb21wb25lbnQ7XG5cbiAgcHJvZHVjdDogYW55O1xuICBzdG9ja0lzc3VlOiBhbnk7XG5cbiAgcHJpdmF0ZSBsb2NhdGlvbnNDb3VudFZhbHVlOiBudW1iZXIgPSAwO1xuICBiYXRjaGVzQXBpVXJsID0gJyc7XG4gIGlzQmF0Y2hQYXRjaGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGZvcm1Db25maWd1cmF0aW9uVXRpbGl0eVNlcnZpY2U6IEZvcm1Db25maWd1cmF0aW9uVXRpbGl0eVNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGZvcm1WYWxpZGF0b3JTZXJ2aWNlOiBGb3JtVmFsaWRhdG9yU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2VydmljZTogU3RvY2tJc3N1ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBkYXRlVXRpbHM6IERhdGVVdGlscyxcbiAgICBwcml2YXRlIGxvY2F0aW9uU2VydmljZTogTG9jYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9ybUNvbmZpZ1NlcnZpY2U6IEZvcm1Db25maWd1cmF0aW9uRm9ybVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIG92ZXJyaWRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFN0b2NrSXNzdWVTaW5nbGVQcm9kdWN0Rm9ybUNvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIEBPcHRpb25hbCgpIHB1YmxpYyBkYXRhOiB7IG1vZGVsPzogYW55OyBwcm9kdWN0PzogYW55IH0sXG4gICkge1xuICAgIHN1cGVyKGZvcm1WYWxpZGF0b3JTZXJ2aWNlKTtcbiAgICB0aGlzLmZvcm1Db25maWd1cmF0aW9uVXRpbGl0eVNlcnZpY2UgPSBuZXcgRm9ybUNvbmZpZ3VyYXRpb25VdGlsaXR5U2VydmljZSgpO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IHtcbiAgICAgIGRhdGU6IHsgcmVxdWlyZWQ6ICdUaGUgZGF0ZSBmaWVsZCBpcyByZXF1aXJlZC4nIH0sXG4gICAgICBxdWFudGl0eTogeyByZXF1aXJlZDogJ1RoZSBxdWFudGl0eSBmaWVsZCBpcyByZXF1aXJlZC4nIH0sXG4gICAgICBwcm9kdWN0X2lkOiB7IHJlcXVpcmVkOiAnVGhlIHByb2R1Y3QgZmllbGQgaXMgcmVxdWlyZWQuJyB9LFxuICAgICAgbG9jYXRpb25fZnJvbV9pZDogeyByZXF1aXJlZDogJ1RoZSBsb2NhdGlvbiBmaWVsZCBpcyByZXF1aXJlZC4nIH0sXG4gICAgICByZWNpcGllbnRfaWQ6IHsgcmVxdWlyZWQ6ICdQbGVhc2Ugc2VsZWN0IGEgcmVjaXBpZW50LicgfSxcbiAgICB9O1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgaWQ6IFsnJ10sXG4gICAgICBwcm9kdWN0X2lkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgbG9jYXRpb25fZnJvbV9pZDogWycnXSxcbiAgICAgIGJhdGNoX2lkOiBbJyddLFxuICAgICAgZGF0ZTogW25ldyBEYXRlKCksIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgcmVjaXBpZW50X2lkOiBbJyddLFxuICAgICAgcXVhbnRpdHk6IFsxLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHBhcnRpY3VsYXJzOiBbJyddLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wcm9kdWN0ID0gdGhpcy5kYXRhPy5wcm9kdWN0O1xuICAgIHRoaXMuc3RvY2tJc3N1ZSA9IHRoaXMuZGF0YT8ubW9kZWw7XG5cbiAgICB0aGlzLmZvcm0uZ2V0KCdsb2NhdGlvbl9mcm9tX2lkJyk/LnZhbHVlQ2hhbmdlcz8ucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSg1MCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICkuc3Vic2NyaWJlKCh2YWw6IG51bWJlcikgPT4ge1xuICAgICAgdGhpcy5yZXNldEJhdGNoU2VsZWN0b3IodmFsKTtcbiAgICB9KTtcblxuICAgIHRoaXMubG9jYXRpb25TZXJ2aWNlLmluZGV4KCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICBjb25zdCBsb2NhdGlvbnMgPSByZXNwb25zZT8uZGF0YSB8fCBbXTtcbiAgICAgIHRoaXMubG9jYXRpb25zQ291bnRWYWx1ZSA9IGxvY2F0aW9ucy5sZW5ndGg7XG5cbiAgICAgIHRoaXMuZm9ybS5nZXQoJ2xvY2F0aW9uX2Zyb21faWQnKT8uc2V0VmFsaWRhdG9ycyhsb2NhdGlvbnMubGVuZ3RoID4gMCA/IFZhbGlkYXRvcnMucmVxdWlyZWQgOiBudWxsKTtcbiAgICAgIHRoaXMuZm9ybS5nZXQoJ2xvY2F0aW9uX2Zyb21faWQnKT8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuXG4gICAgICBpZiAoIXRoaXMuc3RvY2tJc3N1ZSAmJiAhdGhpcy5mb3JtLmdldCgnbG9jYXRpb25fZnJvbV9pZCcpPy52YWx1ZSAmJiBsb2NhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmZvcm0uZ2V0KCdsb2NhdGlvbl9mcm9tX2lkJyk/LnNldFZhbHVlKGxvY2F0aW9uc1swXS5pZCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm1Db25maWd1cmF0aW9uVXRpbGl0eVNlcnZpY2UuaW5pdGlhbGl6ZSh0aGlzLmZvcm1Db25maWdTZXJ2aWNlLCAnc3RvY2staXNzdWUnKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICB0aGlzLmZvcm0uZ2V0KCdyZWNpcGllbnRfaWQnKT8uc2V0VmFsaWRhdG9ycyhcbiAgICAgICAgICB0aGlzLmZvcm1Db25maWd1cmF0aW9uVXRpbGl0eVNlcnZpY2UuZ2V0RmllbGRSZXF1aXJlZCgncmVjaXBpZW50X2lkJykgPyBWYWxpZGF0b3JzLnJlcXVpcmVkIDogbnVsbFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmZvcm0uZ2V0KCdyZWNpcGllbnRfaWQnKT8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMucHJvZHVjdCkge1xuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoeyBwcm9kdWN0X2lkOiB0aGlzLnByb2R1Y3QuaWQgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5wYXRjaEZvcm1EYXRhKCk7XG4gIH1cblxuICBwYXRjaEZvcm1EYXRhKCkge1xuICAgIGlmICh0aGlzLnN0b2NrSXNzdWUpIHtcbiAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHsgLi4udGhpcy5zdG9ja0lzc3VlIH07XG4gICAgICBpZiAoZGF0YS5kYXRlKSB7XG4gICAgICAgIGRhdGEuZGF0ZSA9IG5ldyBEYXRlKGRhdGEuZGF0ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLmlzVXBkYXRlID0gdHJ1ZTtcbiAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKGRhdGEsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIHRoaXMucmVzZXRCYXRjaFNlbGVjdG9yKGRhdGEubG9jYXRpb25fZnJvbV9pZCwgZmFsc2UpO1xuICAgICAgdGhpcy5wYXRjaEZvcm1Qcm9kdWN0cyh0aGlzLnN0b2NrSXNzdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5wcm9kdWN0Py5sYXN0X3N0b2NrX2lzc3VlKSB7XG4gICAgICAgIGNvbnN0IHsgcXVhbnRpdHksIGxvY2F0aW9uX2Zyb21faWQgfSA9IHRoaXMucHJvZHVjdC5sYXN0X3N0b2NrX2lzc3VlO1xuICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IHF1YW50aXR5LCBsb2NhdGlvbl9mcm9tX2lkIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHBhdGNoRm9ybVByb2R1Y3RzKHN0b2NrSXNzdWU6IGFueSkge1xuICAgIGlmIChzdG9ja0lzc3VlLnN0b2NrX2lzc3VlX3Byb2R1Y3RzPy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnVwZGF0ZUZvcm1XaXRoUHJvZHVjdEFycmF5KHN0b2NrSXNzdWUuc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0pO1xuICAgICAgdGhpcy5wcm9kdWN0ID0gc3RvY2tJc3N1ZS5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXS5wcm9kdWN0O1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUZvcm1XaXRoUHJvZHVjdEFycmF5KHN0b2NrSXNzdWVQcm9kdWN0OiBhbnkpIHtcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICBwcm9kdWN0X2lkOiBzdG9ja0lzc3VlUHJvZHVjdC5wcm9kdWN0X2lkLFxuICAgICAgcXVhbnRpdHk6IHN0b2NrSXNzdWVQcm9kdWN0LnF1YW50aXR5LFxuICAgICAgbG9jYXRpb25fZnJvbV9pZDogc3RvY2tJc3N1ZVByb2R1Y3QubG9jYXRpb25fZnJvbV9pZCxcbiAgICAgIGJhdGNoX2lkOiBzdG9ja0lzc3VlUHJvZHVjdC5iYXRjaF9pZCxcbiAgICAgIHBhcnRpY3VsYXJzOiBzdG9ja0lzc3VlUHJvZHVjdC5wYXJ0aWN1bGFycyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBsb2NhdGlvbnNDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmxvY2F0aW9uc0NvdW50VmFsdWU7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xuICAgICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KCdQbGVhc2UgY2hlY2sgdGhlIGZvcm0gZm9yIGVycm9ycycsICdlcnJvcicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkYXRhOiBhbnkgPSB7XG4gICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICBwcm9kdWN0czogW3sgLi4udGhpcy5mb3JtLnZhbHVlLCBpZDogdGhpcy5mb3JtLnZhbHVlLnByb2R1Y3RfaWQgfV0sXG4gICAgfTtcbiAgICBpZiAoZGF0YS5kYXRlKSB7XG4gICAgICBkYXRhLmRhdGUgPSB0aGlzLmRhdGVVdGlscy5nZXRZWVlZTU1ERFN0cmluZyhkYXRhLmRhdGUpO1xuICAgIH1cbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgY29uc3QgcmVxdWVzdDogYW55ID0gdGhpcy5pc1VwZGF0ZSA/IHRoaXMuc2VydmljZS51cGRhdGUoZGF0YSkgOiB0aGlzLnNlcnZpY2Uuc3RvcmUoZGF0YSk7XG4gICAgcmVxdWVzdC5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5pc1dvcmtpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzcG9uc2U/Lml0ZW0uc3RvY2tfaXNzdWVfcHJvZHVjdHMpO1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydCgnU3RvY2sgSXNzdWUgU2F2ZWQgU3VjY2Vzc2Z1bGx5IScsICdzdWNjZXNzJyk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+ICh0aGlzLmlzV29ya2luZyA9IGZhbHNlKSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uUHJvZHVjdENoYW5nZShwcm9kdWN0OiBhbnkpIHtcbiAgICB0aGlzLnByb2R1Y3QgPSBwcm9kdWN0O1xuICB9XG5cbiAgb25CYXRjaEl0ZW1zQ2hhbmdlKCkge1xuICAgIGlmICh0aGlzLnN0b2NrSXNzdWUgJiYgIXRoaXMuaXNCYXRjaFBhdGNoZWQpIHtcbiAgICAgIHRoaXMuZm9ybS5nZXQoJ2JhdGNoX2lkJyk/LnNldFZhbHVlKHRoaXMuc3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LmJhdGNoX2lkKTtcbiAgICAgIHRoaXMuYmF0Y2hTZWFyY2hhYmxlU2VsZWN0b3Iuc2VsZWN0ZWRWYWx1ZSA9IHRoaXMuc3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LmJhdGNoO1xuICAgICAgdGhpcy5pc0JhdGNoUGF0Y2hlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldEJhdGNoU2VsZWN0b3IodmFsOiBudW1iZXIsIHJlc2V0ID0gdHJ1ZSkge1xuICAgIGlmIChyZXNldCkge1xuICAgICAgdGhpcy5mb3JtLmdldCgnYmF0Y2hfaWQnKT8uc2V0VmFsdWUobnVsbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH1cbiAgICB0aGlzLmJhdGNoZXNBcGlVcmwgPSB2YWwgPyBgYXBpL3N0b2NrLXJlY2VpcHQtYmF0Y2hlcz9sb2NhdGlvbl9pZHM9JHt2YWx9YCA6ICcnO1xuICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuYmF0Y2hTZWFyY2hhYmxlU2VsZWN0b3IpIHtcbiAgICAgICAgaWYgKHJlc2V0KSB7XG4gICAgICAgICAgdGhpcy5iYXRjaFNlYXJjaGFibGVTZWxlY3Rvci5zZWxlY3RlZFZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJhdGNoU2VhcmNoYWJsZVNlbGVjdG9yLmFwaVVybCA9IHRoaXMuYmF0Y2hlc0FwaVVybDtcbiAgICAgICAgdGhpcy5iYXRjaFNlYXJjaGFibGVTZWxlY3Rvcj8ucmVsb2FkRGF0YSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8bWF0LWNhcmQtY29udGVudD5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTFcIj5cbiAgICA8aDUgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtYi0wXCI+XG4gICAgICBTdG9jayBJc3N1ZSBmb3JtXG5cbiAgICAgIEBpZiAoZGF0YS5wcm9kdWN0KSB7XG4gICAgICBmb3Ige3sgZGF0YS5wcm9kdWN0Py5uYW1lIH19XG4gICAgICB9XG4gICAgPC9oNT5cbiAgICA8YXBwLWZvcm0tY29uZmlndXJhdGlvbi1mb3ItZm9ybSBmb3JtQ29kZT1cInN0b2NrLWlzc3VlXCJcbiAgICAgIChjbGljayk9XCJkaWFsb2dSZWYuY2xvc2UoKVwiPjwvYXBwLWZvcm0tY29uZmlndXJhdGlvbi1mb3ItZm9ybT5cbiAgPC9kaXY+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0xIGp1c3RpZnktY29udGVudC1zdGFydFwiIChzdWJtaXQpPVwic2F2ZSgpXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiIXByb2R1Y3RcIj5cbiAgICAgIDxtYXQtbGFiZWw+UHJvZHVjdDwvbWF0LWxhYmVsPlxuICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yIGZvcm1Db250cm9sTmFtZT1cInByb2R1Y3RfaWRcIiBhcGlVcmw9XCJhcGkvcHJvZHVjdHNcIiB0aXRsZUZpZWxkPVwibmFtZVwiXG4gICAgICAgIHJlcXVpcmVkIChzZWxlY3RlZFZhbHVlQ2hhbmdlKT1cIm9uUHJvZHVjdENoYW5nZSgkZXZlbnQpXCI+PC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ3Byb2R1Y3RfaWQnKVwiPlxuICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoJ3Byb2R1Y3RfaWQnKSB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImxvY2F0aW9uc0NvdW50ID4gMVwiPlxuICAgICAgPG1hdC1sYWJlbD5Mb2NhdGlvbiBGcm9tPC9tYXQtbGFiZWw+XG4gICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgZm9ybUNvbnRyb2xOYW1lPVwibG9jYXRpb25fZnJvbV9pZFwiIGFwaVVybD1cImFwaS9pbnZlbnRvcnktbG9jYXRpb25zXCJcbiAgICAgICAgcmVxdWlyZWQgW3NlbGVjdGVkVmFsdWVdPVwic3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LmxvY2F0aW9uXCI+PC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgIDxtYXQtaGludD5XaGljaCB3YXJlaG91c2UgYXJlIHdlIHRha2luZyBzdG9jayBmcm9tPzwvbWF0LWhpbnQ+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdsb2NhdGlvbl9mcm9tX2lkJylcIj5cbiAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKCdsb2NhdGlvbl9mcm9tX2lkJykgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9jYXRpb25zQ291bnQgPiAxICYmIGZvcm0udmFsdWU/LmxvY2F0aW9uX2Zyb21faWQgJiYgYmF0Y2hlc0FwaVVybFwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIHRlY2hsaWZ5RmVhdHVyZUVuYWJsZWQ9XCJwcm9kdWN0LWJhdGNoLW51bWJlcnNcIj5cbiAgICAgICAgPG1hdC1sYWJlbD5CYXRjaDwvbWF0LWxhYmVsPlxuICAgICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgI2JhdGNoU2VhcmNoYWJsZVNlbGVjdG9yIGZvcm1Db250cm9sTmFtZT1cImJhdGNoX2lkXCIgW2FwaVVybF09XCJiYXRjaGVzQXBpVXJsXCJcbiAgICAgICAgICBbZW5hYmxlU2VhcmNoXT1cImZhbHNlXCIgKGl0ZW1zQ2hhbmdlKT1cIm9uQmF0Y2hJdGVtc0NoYW5nZSgpXCI+XG4gICAgICAgIDwvYXBwLXNlYXJjaGFibGUtc2VsZWN0b3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5EYXRlPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW21hdERhdGVwaWNrZXJdPVwiZGF0ZVBpY2tlclwiIGZvcm1Db250cm9sTmFtZT1cImRhdGVcIiAoZm9jdXMpPVwiZGF0ZVBpY2tlci5vcGVuKClcIiAvPlxuICAgICAgPG1hdC1kYXRlcGlja2VyICNkYXRlUGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdkYXRlJylcIj5cbiAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKCdkYXRlJykgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJmb3JtQ29uZmlndXJhdGlvblV0aWxpdHlTZXJ2aWNlLmdldEZpZWxkRW5hYmxlZCgncmVjaXBpZW50X2lkJylcIj5cbiAgICAgIDxtYXQtbGFiZWw+UmVjaXBpZW50XG4gICAgICAgIDxzdXAgKm5nSWY9XCJmb3JtQ29uZmlndXJhdGlvblV0aWxpdHlTZXJ2aWNlLmdldEZpZWxkUmVxdWlyZWQoJ3JlY2lwaWVudF9pZCcpXCI+Kjwvc3VwPlxuICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgZm9ybUNvbnRyb2xOYW1lPVwicmVjaXBpZW50X2lkXCIgYXBpVXJsPVwiYXBpL3JlY2lwaWVudHNcIlxuICAgICAgICB0aXRsZUZpZWxkPVwibmFtZVwiPjwvYXBwLXNlYXJjaGFibGUtc2VsZWN0b3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdyZWNpcGllbnRfaWQnKVwiPlxuICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoJ3JlY2lwaWVudF9pZCcpIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5RdWFudGl0eTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInF1YW50aXR5XCIgdHlwZT1cIm51bWJlclwiIG1pbj1cIjBcIiAvPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgncXVhbnRpdHknKVwiPlxuICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoJ3F1YW50aXR5JykgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWxhYmVsPlBhcnRpY3VsYXJzPC9tYXQtbGFiZWw+XG4gICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwicGFydGljdWxhcnNcIiByb3dzPVwiM1wiPjwvdGV4dGFyZWE+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImlzV29ya2luZ1wiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJzdWJtaXRcIj5TYXZlPC9idXR0b24+XG4gICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJpc1dvcmtpbmdcIiAoY2xpY2spPVwiZGlhbG9nUmVmLmNsb3NlKClcIiBtYXQtZmxhdC1idXR0b24gdHlwZT1cImJ1dHRvblwiPkNhbmNlbDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L21hdC1jYXJkLWNvbnRlbnQ+Il19
|
package/esm2022/lib/inventory-common/stock-issue/stock-issue-view/stock-issue-view.component.mjs
CHANGED
|
@@ -46,7 +46,7 @@ export class StockIssueViewComponent {
|
|
|
46
46
|
this.location.back();
|
|
47
47
|
}
|
|
48
48
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssueViewComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.StockIssueService }, { token: i3.Location }], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StockIssueViewComponent, isStandalone: true, selector: "app-stock-issue-view", ngImport: i0, template: "<mat-progress-bar mode=\"indeterminate\" *ngIf=\"isLoading\"></mat-progress-bar>\n\n<div *ngIf=\"stockIssue\" class=\"d-flex flex-column justify-content-start gap-2\">\n <mat-card>\n <mat-card-content>\n <h3 class=\"mb-0\">Stock Issue for {{ stockIssue?.stock_issue_products[0]?.product?.name }}</h3>\n </mat-card-content>\n </mat-card>\n <div class=\"d-flex justify-content-start align-items-start gap-2\">\n <div class=\"d-flex flex-column gap-2\" style=\"width: 350px\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span class=\"material-symbols-outlined\"> ungroup </span>\n <strong class=\"mb-0 text-dark\">Information</strong>\n </div>\n <div class=\"d-flex justify-content-start align-items-center gap-2 text-secondary\">\n <app-techlify-icon name=\"edit\" role=\"button\"\n [routerLink]=\"['/inventory/stock-issues/form', stockIssue?.id]\"></app-techlify-icon>\n <app-techlify-delete-button [model]=\"stockIssue\" [service]=\"service\"\n [data]=\"{ title: stockIssue?.id, type: 'Stock Receipt Product' }\"\n (deleted)=\"redirectBack();\">\n </app-techlify-delete-button>\n </div>\n </mat-card-content>\n <mat-card-content class=\"d-flex flex-column justify-content-start gap-2 mt-3\">\n <!-- Product & SKU / Date -->\n <div class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex flex-column gap-0\">\n <a class=\"text-decoration-none text-black\"\n [routerLink]=\"['/inventory/products', stockIssue?.stock_issue_products[0]?.product?.id, 'view']\">\n <p class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.product?.name }}</p>\n </a>\n <small *ngIf=\"stockIssue?.stock_issue_products[0]?.product?.sku\">{{\n stockIssue?.stock_issue_products[0]?.product?.sku }}</small>\n </div>\n <div class=\"d-flex flex-column justify-content-end gap-0\">\n <small *ngIf=\"stockIssue?.date\">{{ stockIssue?.date | date }}</small>\n <ng-container *ngIf=\"stockIssue?.stock_issue_products[0]?.batch?.expires_on\">\n <small techlifyFeatureEnabled=\"product-batch-numbers\">\n Expires on {{ stockIssue?.stock_issue_products[0]?.batch?.expires_on | date }}\n </small>\n </ng-container>\n </div>\n </div>\n\n <!-- Quantity & Location -->\n <div class=\"row\">\n <div class=\"col-6\" *ngIf=\"stockIssue?.stock_issue_products[0]?.quantity\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Quantity</small>\n <div class=\"d-flex gap-1\">\n <h3 class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.quantity }}</h3>\n <small class=\"text-secondary\">{{\n stockIssue?.stock_issue_products[0]?.product?.measure?.title\n }}</small>\n </div>\n </div>\n </div>\n\n <div class=\"col-6\" *ngIf=\"stockIssue?.stock_issue_products[0]?.location\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Location</small>\n <p class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.location?.title }}</p>\n </div>\n </div>\n </div>\n\n <!-- Batch & Expires On (if feature enabled) -->\n <ng-container *ngIf=\"stockIssue?.stock_issue_products[0]?.batch\">\n <div class=\"row\" techlifyFeatureEnabled=\"product-batch-numbers\">\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Batch</small>\n <p class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.batch?.batch_number }}</p>\n </div>\n </div>\n <div class=\"col-6\" *ngIf=\"stockIssue?.stock_issue_products[0]?.batch?.expires_on\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Expires On</small>\n <p class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.batch?.expires_on | date }}\n </p>\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- Particulars -->\n <div class=\"row\" *ngIf=\"stockIssue?.stock_issue_products[0]?.particulars\">\n <div class=\"col-12\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Particulars</small>\n <p class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.particulars }}</p>\n </div>\n </div>\n </div>\n\n <!-- Creator -->\n <div class=\"row\" *ngIf=\"stockIssue?.creator\">\n <div class=\"col-12\">\n <small class=\"mb-0\">\n <span class=\"text-secondary\">Created By</span> {{ stockIssue?.creator?.name }}\n <span class=\"text-secondary\">On</span> {{ stockIssue?.created_at | date }}\n </small>\n </div>\n </div>\n </mat-card-content>\n </mat-card>\n\n <app-note-list labelText=\"Notes\" viewMode=\"timeline\" modelType=\"StockIssue\"\n [relatedModelId]=\"stockIssue?.id\"></app-note-list>\n </div>\n\n <div style=\"width: calc(100% - 350px - 0.5rem)\">\n <app-entity-files-view-all title=\"Document\" [entityId]=\"stockIssue?.id\" entityType=\"StockIssue\"\n viewMode=\"timeline\">\n </app-entity-files-view-all>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TechlifyIconModule }, { kind: "component", type: i6.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }, { kind: "ngmodule", type: NoteModule }, { kind: "component", type: i6.NoteListComponent, selector: "app-note-list", inputs: ["relatedModelId", "modelType", "readonly", "labelText", "commentsView", "viewMode"] }, { kind: "ngmodule", type: EntityFilesViewAllModule }, { kind: "component", type: i6.
|
|
49
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StockIssueViewComponent, isStandalone: true, selector: "app-stock-issue-view", ngImport: i0, template: "<mat-progress-bar mode=\"indeterminate\" *ngIf=\"isLoading\"></mat-progress-bar>\n\n<div *ngIf=\"stockIssue\" class=\"d-flex flex-column justify-content-start gap-2\">\n <mat-card>\n <mat-card-content>\n <h3 class=\"mb-0\">Stock Issue for {{ stockIssue?.stock_issue_products[0]?.product?.name }}</h3>\n </mat-card-content>\n </mat-card>\n <div class=\"d-flex justify-content-start align-items-start gap-2\">\n <div class=\"d-flex flex-column gap-2\" style=\"width: 350px\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span class=\"material-symbols-outlined\"> ungroup </span>\n <strong class=\"mb-0 text-dark\">Information</strong>\n </div>\n <div class=\"d-flex justify-content-start align-items-center gap-2 text-secondary\">\n <app-techlify-icon name=\"edit\" role=\"button\"\n [routerLink]=\"['/inventory/stock-issues/form', stockIssue?.id]\"></app-techlify-icon>\n <app-techlify-delete-button [model]=\"stockIssue\" [service]=\"service\"\n [data]=\"{ title: stockIssue?.id, type: 'Stock Receipt Product' }\"\n (deleted)=\"redirectBack();\">\n </app-techlify-delete-button>\n </div>\n </mat-card-content>\n <mat-card-content class=\"d-flex flex-column justify-content-start gap-2 mt-3\">\n <!-- Product & SKU / Date -->\n <div class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex flex-column gap-0\">\n <a class=\"text-decoration-none text-black\"\n [routerLink]=\"['/inventory/products', stockIssue?.stock_issue_products[0]?.product?.id, 'view']\">\n <p class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.product?.name }}</p>\n </a>\n <small *ngIf=\"stockIssue?.stock_issue_products[0]?.product?.sku\">{{\n stockIssue?.stock_issue_products[0]?.product?.sku }}</small>\n </div>\n <div class=\"d-flex flex-column justify-content-end gap-0\">\n <small *ngIf=\"stockIssue?.date\">{{ stockIssue?.date | date }}</small>\n <ng-container *ngIf=\"stockIssue?.stock_issue_products[0]?.batch?.expires_on\">\n <small techlifyFeatureEnabled=\"product-batch-numbers\">\n Expires on {{ stockIssue?.stock_issue_products[0]?.batch?.expires_on | date }}\n </small>\n </ng-container>\n </div>\n </div>\n\n <!-- Quantity & Location -->\n <div class=\"row\">\n <div class=\"col-6\" *ngIf=\"stockIssue?.stock_issue_products[0]?.quantity\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Quantity</small>\n <div class=\"d-flex gap-1\">\n <h3 class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.quantity }}</h3>\n <small class=\"text-secondary\">{{\n stockIssue?.stock_issue_products[0]?.product?.measure?.title\n }}</small>\n </div>\n </div>\n </div>\n\n <div class=\"col-6\" *ngIf=\"stockIssue?.stock_issue_products[0]?.location\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Location</small>\n <p class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.location?.title }}</p>\n </div>\n </div>\n </div>\n\n <!-- Batch & Expires On (if feature enabled) -->\n <ng-container *ngIf=\"stockIssue?.stock_issue_products[0]?.batch\">\n <div class=\"row\" techlifyFeatureEnabled=\"product-batch-numbers\">\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Batch</small>\n <p class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.batch?.batch_number }}</p>\n </div>\n </div>\n <div class=\"col-6\" *ngIf=\"stockIssue?.stock_issue_products[0]?.batch?.expires_on\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Expires On</small>\n <p class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.batch?.expires_on | date }}\n </p>\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- Particulars -->\n <div class=\"row\" *ngIf=\"stockIssue?.stock_issue_products[0]?.particulars\">\n <div class=\"col-12\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Particulars</small>\n <p class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.particulars }}</p>\n </div>\n </div>\n </div>\n\n <!-- Creator -->\n <div class=\"row\" *ngIf=\"stockIssue?.creator\">\n <div class=\"col-12\">\n <small class=\"mb-0\">\n <span class=\"text-secondary\">Created By</span> {{ stockIssue?.creator?.name }}\n <span class=\"text-secondary\">On</span> {{ stockIssue?.created_at | date }}\n </small>\n </div>\n </div>\n </mat-card-content>\n </mat-card>\n\n <app-note-list labelText=\"Notes\" viewMode=\"timeline\" modelType=\"StockIssue\"\n [relatedModelId]=\"stockIssue?.id\"></app-note-list>\n </div>\n\n <div style=\"width: calc(100% - 350px - 0.5rem)\">\n <app-entity-files-view-all title=\"Document\" [entityId]=\"stockIssue?.id\" entityType=\"StockIssue\"\n viewMode=\"timeline\">\n </app-entity-files-view-all>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TechlifyIconModule }, { kind: "component", type: i6.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }, { kind: "ngmodule", type: NoteModule }, { kind: "component", type: i6.NoteListComponent, selector: "app-note-list", inputs: ["relatedModelId", "modelType", "readonly", "labelText", "commentsView", "viewMode"] }, { kind: "ngmodule", type: EntityFilesViewAllModule }, { kind: "component", type: i6.EntityFileListComponent, selector: "app-entity-file-list, app-entity-files-view-all", inputs: ["entityId", "entityType", "viewOnly", "removeSearch", "hideTitleAndDetails", "displayMode", "allowMultipleFiles", "allowBulkUpdate", "viewMode", "fileDropperHeight", "isShowDragDropSection", "isFilterPatchFromRoute", "useTechlifyTags", "techlifyTagCategories", "techlifyTagConfig", "title", "permission"] }, { kind: "ngmodule", type: TechlifyFeatureModule }, { kind: "directive", type: i6.TechlifyFeatureEnabledDirective, selector: "[techlifyFeatureEnabled]", inputs: ["techlifyFeatureEnabled"] }, { kind: "component", type: TechlifyDeleteButtonComponent, selector: "app-techlify-delete-button", inputs: ["data", "model", "message", "service"], outputs: ["deleted"] }], preserveWhitespaces: true });
|
|
50
50
|
}
|
|
51
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssueViewComponent, decorators: [{
|
|
52
52
|
type: Component,
|
|
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
61
61
|
TechlifyDeleteButtonComponent
|
|
62
62
|
], template: "<mat-progress-bar mode=\"indeterminate\" *ngIf=\"isLoading\"></mat-progress-bar>\n\n<div *ngIf=\"stockIssue\" class=\"d-flex flex-column justify-content-start gap-2\">\n <mat-card>\n <mat-card-content>\n <h3 class=\"mb-0\">Stock Issue for {{ stockIssue?.stock_issue_products[0]?.product?.name }}</h3>\n </mat-card-content>\n </mat-card>\n <div class=\"d-flex justify-content-start align-items-start gap-2\">\n <div class=\"d-flex flex-column gap-2\" style=\"width: 350px\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span class=\"material-symbols-outlined\"> ungroup </span>\n <strong class=\"mb-0 text-dark\">Information</strong>\n </div>\n <div class=\"d-flex justify-content-start align-items-center gap-2 text-secondary\">\n <app-techlify-icon name=\"edit\" role=\"button\"\n [routerLink]=\"['/inventory/stock-issues/form', stockIssue?.id]\"></app-techlify-icon>\n <app-techlify-delete-button [model]=\"stockIssue\" [service]=\"service\"\n [data]=\"{ title: stockIssue?.id, type: 'Stock Receipt Product' }\"\n (deleted)=\"redirectBack();\">\n </app-techlify-delete-button>\n </div>\n </mat-card-content>\n <mat-card-content class=\"d-flex flex-column justify-content-start gap-2 mt-3\">\n <!-- Product & SKU / Date -->\n <div class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex flex-column gap-0\">\n <a class=\"text-decoration-none text-black\"\n [routerLink]=\"['/inventory/products', stockIssue?.stock_issue_products[0]?.product?.id, 'view']\">\n <p class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.product?.name }}</p>\n </a>\n <small *ngIf=\"stockIssue?.stock_issue_products[0]?.product?.sku\">{{\n stockIssue?.stock_issue_products[0]?.product?.sku }}</small>\n </div>\n <div class=\"d-flex flex-column justify-content-end gap-0\">\n <small *ngIf=\"stockIssue?.date\">{{ stockIssue?.date | date }}</small>\n <ng-container *ngIf=\"stockIssue?.stock_issue_products[0]?.batch?.expires_on\">\n <small techlifyFeatureEnabled=\"product-batch-numbers\">\n Expires on {{ stockIssue?.stock_issue_products[0]?.batch?.expires_on | date }}\n </small>\n </ng-container>\n </div>\n </div>\n\n <!-- Quantity & Location -->\n <div class=\"row\">\n <div class=\"col-6\" *ngIf=\"stockIssue?.stock_issue_products[0]?.quantity\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Quantity</small>\n <div class=\"d-flex gap-1\">\n <h3 class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.quantity }}</h3>\n <small class=\"text-secondary\">{{\n stockIssue?.stock_issue_products[0]?.product?.measure?.title\n }}</small>\n </div>\n </div>\n </div>\n\n <div class=\"col-6\" *ngIf=\"stockIssue?.stock_issue_products[0]?.location\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Location</small>\n <p class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.location?.title }}</p>\n </div>\n </div>\n </div>\n\n <!-- Batch & Expires On (if feature enabled) -->\n <ng-container *ngIf=\"stockIssue?.stock_issue_products[0]?.batch\">\n <div class=\"row\" techlifyFeatureEnabled=\"product-batch-numbers\">\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Batch</small>\n <p class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.batch?.batch_number }}</p>\n </div>\n </div>\n <div class=\"col-6\" *ngIf=\"stockIssue?.stock_issue_products[0]?.batch?.expires_on\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Expires On</small>\n <p class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.batch?.expires_on | date }}\n </p>\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- Particulars -->\n <div class=\"row\" *ngIf=\"stockIssue?.stock_issue_products[0]?.particulars\">\n <div class=\"col-12\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Particulars</small>\n <p class=\"mb-0\">{{ stockIssue?.stock_issue_products[0]?.particulars }}</p>\n </div>\n </div>\n </div>\n\n <!-- Creator -->\n <div class=\"row\" *ngIf=\"stockIssue?.creator\">\n <div class=\"col-12\">\n <small class=\"mb-0\">\n <span class=\"text-secondary\">Created By</span> {{ stockIssue?.creator?.name }}\n <span class=\"text-secondary\">On</span> {{ stockIssue?.created_at | date }}\n </small>\n </div>\n </div>\n </mat-card-content>\n </mat-card>\n\n <app-note-list labelText=\"Notes\" viewMode=\"timeline\" modelType=\"StockIssue\"\n [relatedModelId]=\"stockIssue?.id\"></app-note-list>\n </div>\n\n <div style=\"width: calc(100% - 350px - 0.5rem)\">\n <app-entity-files-view-all title=\"Document\" [entityId]=\"stockIssue?.id\" entityType=\"StockIssue\"\n viewMode=\"timeline\">\n </app-entity-files-view-all>\n </div>\n </div>\n</div>" }]
|
|
63
63
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.StockIssueService }, { type: i3.Location }] });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staXNzdWUtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdG9jay1pc3N1ZS9zdG9jay1pc3N1ZS12aWV3L3N0b2NrLWlzc3VlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3RvY2staXNzdWUvc3RvY2staXNzdWUtdmlldy9zdG9jay1pc3N1ZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBa0IsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsNkJBQTZCLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7QUFrQm5KLE1BQU0sT0FBTyx1QkFBdUI7SUFPcEI7SUFDRTtJQUNGO0lBUFosRUFBRSxDQUFVO0lBQ1osU0FBUyxDQUFXO0lBQ3BCLFVBQVUsQ0FBTztJQUVqQixZQUNZLGNBQThCLEVBQzVCLE9BQTBCLEVBQzVCLFFBQWtCO1FBRmxCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM1QixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUM1QixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQzFCLENBQUM7SUFFTCxRQUFRO1FBQ0osSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNWLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDakMsSUFBSSxFQUFFLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxFQUFFLElBQUksQ0FBQztnQkFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDM0IsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDM0IsQ0FBQztTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO3dHQXBDUSx1QkFBdUI7NEZBQXZCLHVCQUF1QixnRkN2QnBDLGlxT0F1SE0seUREMUdFLFlBQVkscUxBQ1osY0FBYyxxWkFDZCxVQUFVLG1PQUNWLGtCQUFrQiw4SUFDbEIsVUFBVSwwTUFDVix3QkFBd0IsbWFBQ3hCLHFCQUFxQiwwS0FDckIsNkJBQTZCOzs0RkFHeEIsdUJBQXVCO2tCQWhCbkMsU0FBUzsrQkFDSSxzQkFBc0IsY0FHcEIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxVQUFVO3dCQUNWLGtCQUFrQjt3QkFDbEIsVUFBVTt3QkFDVix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIsNkJBQTZCO3FCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vLi4vbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IFN0b2NrSXNzdWVTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvY2staXNzdWUuc2VydmljZSc7XG5pbXBvcnQgeyBFbnRpdHlGaWxlc1ZpZXdBbGxNb2R1bGUsIE5vdGVNb2R1bGUsIFRlY2hsaWZ5RGVsZXRlQnV0dG9uQ29tcG9uZW50LCBUZWNobGlmeUZlYXR1cmVNb2R1bGUsIFRlY2hsaWZ5SWNvbk1vZHVsZSB9IGZyb20gJ25neC10ZWNobGlmeS1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtc3RvY2staXNzdWUtdmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0b2NrLWlzc3VlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zdG9jay1pc3N1ZS12aWV3LmNvbXBvbmVudC5jc3MnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgICAgICBSb3V0ZXJMaW5rLFxuICAgICAgICBUZWNobGlmeUljb25Nb2R1bGUsXG4gICAgICAgIE5vdGVNb2R1bGUsXG4gICAgICAgIEVudGl0eUZpbGVzVmlld0FsbE1vZHVsZSxcbiAgICAgICAgVGVjaGxpZnlGZWF0dXJlTW9kdWxlLFxuICAgICAgICBUZWNobGlmeURlbGV0ZUJ1dHRvbkNvbXBvbmVudFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFN0b2NrSXNzdWVWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIGlkITogbnVtYmVyO1xuICAgIGlzTG9hZGluZyE6IGJvb2xlYW47XG4gICAgc3RvY2tJc3N1ZSE6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJvdGVjdGVkIHNlcnZpY2U6IFN0b2NrSXNzdWVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvblxuICAgICkgeyB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmlkID0gcGFyc2VJbnQocGFyYW1zWydpZCddKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBsb2FkRGF0YSgpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnNlcnZpY2Uuc2hvdyh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b2NrSXNzdWUgPSByZXNwb25zZT8uaXRlbTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVkaXJlY3RCYWNrKCkge1xuICAgICAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcbiAgICB9XG59XG4iLCI8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiICpuZ0lmPVwiaXNMb2FkaW5nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuXG48ZGl2ICpuZ0lmPVwic3RvY2tJc3N1ZVwiIGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1zdGFydCBnYXAtMlwiPlxuICAgIDxtYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJtYi0wXCI+U3RvY2sgSXNzdWUgZm9yIHt7IHN0b2NrSXNzdWU/LnN0b2NrX2lzc3VlX3Byb2R1Y3RzWzBdPy5wcm9kdWN0Py5uYW1lIH19PC9oMz5cbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgIDwvbWF0LWNhcmQ+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtc3RhcnQgZ2FwLTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMlwiIHN0eWxlPVwid2lkdGg6IDM1MHB4XCI+XG4gICAgICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+IHVuZ3JvdXAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cIm1iLTAgdGV4dC1kYXJrXCI+SW5mb3JtYXRpb248L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LXNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC10ZWNobGlmeS1pY29uIG5hbWU9XCJlZGl0XCIgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvaW52ZW50b3J5L3N0b2NrLWlzc3Vlcy9mb3JtJywgc3RvY2tJc3N1ZT8uaWRdXCI+PC9hcHAtdGVjaGxpZnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtdGVjaGxpZnktZGVsZXRlLWJ1dHRvbiBbbW9kZWxdPVwic3RvY2tJc3N1ZVwiIFtzZXJ2aWNlXT1cInNlcnZpY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cInsgdGl0bGU6IHN0b2NrSXNzdWU/LmlkLCB0eXBlOiAnU3RvY2sgUmVjZWlwdCBQcm9kdWN0JyB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGVsZXRlZCk9XCJyZWRpcmVjdEJhY2soKTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXBwLXRlY2hsaWZ5LWRlbGV0ZS1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgZ2FwLTIgbXQtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIFByb2R1Y3QgJiBTS1UgLyBEYXRlIC0tPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwidGV4dC1kZWNvcmF0aW9uLW5vbmUgdGV4dC1ibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL2ludmVudG9yeS9wcm9kdWN0cycsIHN0b2NrSXNzdWU/LnN0b2NrX2lzc3VlX3Byb2R1Y3RzWzBdPy5wcm9kdWN0Py5pZCwgJ3ZpZXcnXVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj57eyBzdG9ja0lzc3VlPy5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXT8ucHJvZHVjdD8ubmFtZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsICpuZ0lmPVwic3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LnByb2R1Y3Q/LnNrdVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b2NrSXNzdWU/LnN0b2NrX2lzc3VlX3Byb2R1Y3RzWzBdPy5wcm9kdWN0Py5za3UgfX08L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1lbmQgZ2FwLTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgKm5nSWY9XCJzdG9ja0lzc3VlPy5kYXRlXCI+e3sgc3RvY2tJc3N1ZT8uZGF0ZSB8IGRhdGUgfX08L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9ja0lzc3VlPy5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXT8uYmF0Y2g/LmV4cGlyZXNfb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIHRlY2hsaWZ5RmVhdHVyZUVuYWJsZWQ9XCJwcm9kdWN0LWJhdGNoLW51bWJlcnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgb24ge3sgc3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LmJhdGNoPy5leHBpcmVzX29uIHwgZGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gUXVhbnRpdHkgJiBMb2NhdGlvbiAtLT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02XCIgKm5nSWY9XCJzdG9ja0lzc3VlPy5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXT8ucXVhbnRpdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+UXVhbnRpdHk8L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtYi0wXCI+e3sgc3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LnF1YW50aXR5IH19PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9ja0lzc3VlPy5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXT8ucHJvZHVjdD8ubWVhc3VyZT8udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiICpuZ0lmPVwic3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LmxvY2F0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPkxvY2F0aW9uPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgc3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LmxvY2F0aW9uPy50aXRsZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIEJhdGNoICYgRXhwaXJlcyBPbiAoaWYgZmVhdHVyZSBlbmFibGVkKSAtLT5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b2NrSXNzdWU/LnN0b2NrX2lzc3VlX3Byb2R1Y3RzWzBdPy5iYXRjaFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIHRlY2hsaWZ5RmVhdHVyZUVuYWJsZWQ9XCJwcm9kdWN0LWJhdGNoLW51bWJlcnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5CYXRjaDwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj57eyBzdG9ja0lzc3VlPy5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXT8uYmF0Y2g/LmJhdGNoX251bWJlciB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02XCIgKm5nSWY9XCJzdG9ja0lzc3VlPy5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXT8uYmF0Y2g/LmV4cGlyZXNfb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5FeHBpcmVzIE9uPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiPnt7IHN0b2NrSXNzdWU/LnN0b2NrX2lzc3VlX3Byb2R1Y3RzWzBdPy5iYXRjaD8uZXhwaXJlc19vbiB8IGRhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBQYXJ0aWN1bGFycyAtLT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwic3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LnBhcnRpY3VsYXJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPlBhcnRpY3VsYXJzPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgc3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LnBhcnRpY3VsYXJzIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gQ3JlYXRvciAtLT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwic3RvY2tJc3N1ZT8uY3JlYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cIm1iLTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPkNyZWF0ZWQgQnk8L3NwYW4+IHt7IHN0b2NrSXNzdWU/LmNyZWF0b3I/Lm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPk9uPC9zcGFuPiB7eyBzdG9ja0lzc3VlPy5jcmVhdGVkX2F0IHwgZGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgPC9tYXQtY2FyZD5cblxuICAgICAgICAgICAgPGFwcC1ub3RlLWxpc3QgbGFiZWxUZXh0PVwiTm90ZXNcIiB2aWV3TW9kZT1cInRpbWVsaW5lXCIgbW9kZWxUeXBlPVwiU3RvY2tJc3N1ZVwiXG4gICAgICAgICAgICAgICAgW3JlbGF0ZWRNb2RlbElkXT1cInN0b2NrSXNzdWU/LmlkXCI+PC9hcHAtbm90ZS1saXN0PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IGNhbGMoMTAwJSAtIDM1MHB4IC0gMC41cmVtKVwiPlxuICAgICAgICAgICAgPGFwcC1lbnRpdHktZmlsZXMtdmlldy1hbGwgdGl0bGU9XCJEb2N1bWVudFwiIFtlbnRpdHlJZF09XCJzdG9ja0lzc3VlPy5pZFwiIGVudGl0eVR5cGU9XCJTdG9ja0lzc3VlXCJcbiAgICAgICAgICAgICAgICB2aWV3TW9kZT1cInRpbWVsaW5lXCI+XG4gICAgICAgICAgICA8L2FwcC1lbnRpdHktZmlsZXMtdmlldy1hbGw+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staXNzdWUtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdG9jay1pc3N1ZS9zdG9jay1pc3N1ZS12aWV3L3N0b2NrLWlzc3VlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3RvY2staXNzdWUvc3RvY2staXNzdWUtdmlldy9zdG9jay1pc3N1ZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBa0IsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsNkJBQTZCLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7QUFrQm5KLE1BQU0sT0FBTyx1QkFBdUI7SUFPcEI7SUFDRTtJQUNGO0lBUFosRUFBRSxDQUFVO0lBQ1osU0FBUyxDQUFXO0lBQ3BCLFVBQVUsQ0FBTztJQUVqQixZQUNZLGNBQThCLEVBQzVCLE9BQTBCLEVBQzVCLFFBQWtCO1FBRmxCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM1QixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUM1QixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQzFCLENBQUM7SUFFTCxRQUFRO1FBQ0osSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNWLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDakMsSUFBSSxFQUFFLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxFQUFFLElBQUksQ0FBQztnQkFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDM0IsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDM0IsQ0FBQztTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO3dHQXBDUSx1QkFBdUI7NEZBQXZCLHVCQUF1QixnRkN2QnBDLGlxT0F1SE0seUREMUdFLFlBQVkscUxBQ1osY0FBYyxxWkFDZCxVQUFVLG1PQUNWLGtCQUFrQiw4SUFDbEIsVUFBVSwwTUFDVix3QkFBd0IsK2NBQ3hCLHFCQUFxQiwwS0FDckIsNkJBQTZCOzs0RkFHeEIsdUJBQXVCO2tCQWhCbkMsU0FBUzsrQkFDSSxzQkFBc0IsY0FHcEIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxVQUFVO3dCQUNWLGtCQUFrQjt3QkFDbEIsVUFBVTt3QkFDVix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIsNkJBQTZCO3FCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vLi4vbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IFN0b2NrSXNzdWVTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvY2staXNzdWUuc2VydmljZSc7XG5pbXBvcnQgeyBFbnRpdHlGaWxlc1ZpZXdBbGxNb2R1bGUsIE5vdGVNb2R1bGUsIFRlY2hsaWZ5RGVsZXRlQnV0dG9uQ29tcG9uZW50LCBUZWNobGlmeUZlYXR1cmVNb2R1bGUsIFRlY2hsaWZ5SWNvbk1vZHVsZSB9IGZyb20gJ25neC10ZWNobGlmeS1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtc3RvY2staXNzdWUtdmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0b2NrLWlzc3VlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zdG9jay1pc3N1ZS12aWV3LmNvbXBvbmVudC5jc3MnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgICAgICBSb3V0ZXJMaW5rLFxuICAgICAgICBUZWNobGlmeUljb25Nb2R1bGUsXG4gICAgICAgIE5vdGVNb2R1bGUsXG4gICAgICAgIEVudGl0eUZpbGVzVmlld0FsbE1vZHVsZSxcbiAgICAgICAgVGVjaGxpZnlGZWF0dXJlTW9kdWxlLFxuICAgICAgICBUZWNobGlmeURlbGV0ZUJ1dHRvbkNvbXBvbmVudFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFN0b2NrSXNzdWVWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIGlkITogbnVtYmVyO1xuICAgIGlzTG9hZGluZyE6IGJvb2xlYW47XG4gICAgc3RvY2tJc3N1ZSE6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJvdGVjdGVkIHNlcnZpY2U6IFN0b2NrSXNzdWVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvblxuICAgICkgeyB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmlkID0gcGFyc2VJbnQocGFyYW1zWydpZCddKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBsb2FkRGF0YSgpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnNlcnZpY2Uuc2hvdyh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b2NrSXNzdWUgPSByZXNwb25zZT8uaXRlbTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVkaXJlY3RCYWNrKCkge1xuICAgICAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcbiAgICB9XG59XG4iLCI8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiICpuZ0lmPVwiaXNMb2FkaW5nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuXG48ZGl2ICpuZ0lmPVwic3RvY2tJc3N1ZVwiIGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1zdGFydCBnYXAtMlwiPlxuICAgIDxtYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJtYi0wXCI+U3RvY2sgSXNzdWUgZm9yIHt7IHN0b2NrSXNzdWU/LnN0b2NrX2lzc3VlX3Byb2R1Y3RzWzBdPy5wcm9kdWN0Py5uYW1lIH19PC9oMz5cbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgIDwvbWF0LWNhcmQ+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtc3RhcnQgZ2FwLTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMlwiIHN0eWxlPVwid2lkdGg6IDM1MHB4XCI+XG4gICAgICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+IHVuZ3JvdXAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cIm1iLTAgdGV4dC1kYXJrXCI+SW5mb3JtYXRpb248L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LXNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC10ZWNobGlmeS1pY29uIG5hbWU9XCJlZGl0XCIgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvaW52ZW50b3J5L3N0b2NrLWlzc3Vlcy9mb3JtJywgc3RvY2tJc3N1ZT8uaWRdXCI+PC9hcHAtdGVjaGxpZnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtdGVjaGxpZnktZGVsZXRlLWJ1dHRvbiBbbW9kZWxdPVwic3RvY2tJc3N1ZVwiIFtzZXJ2aWNlXT1cInNlcnZpY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cInsgdGl0bGU6IHN0b2NrSXNzdWU/LmlkLCB0eXBlOiAnU3RvY2sgUmVjZWlwdCBQcm9kdWN0JyB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGVsZXRlZCk9XCJyZWRpcmVjdEJhY2soKTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXBwLXRlY2hsaWZ5LWRlbGV0ZS1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgZ2FwLTIgbXQtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIFByb2R1Y3QgJiBTS1UgLyBEYXRlIC0tPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwidGV4dC1kZWNvcmF0aW9uLW5vbmUgdGV4dC1ibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL2ludmVudG9yeS9wcm9kdWN0cycsIHN0b2NrSXNzdWU/LnN0b2NrX2lzc3VlX3Byb2R1Y3RzWzBdPy5wcm9kdWN0Py5pZCwgJ3ZpZXcnXVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj57eyBzdG9ja0lzc3VlPy5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXT8ucHJvZHVjdD8ubmFtZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsICpuZ0lmPVwic3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LnByb2R1Y3Q/LnNrdVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b2NrSXNzdWU/LnN0b2NrX2lzc3VlX3Byb2R1Y3RzWzBdPy5wcm9kdWN0Py5za3UgfX08L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1lbmQgZ2FwLTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgKm5nSWY9XCJzdG9ja0lzc3VlPy5kYXRlXCI+e3sgc3RvY2tJc3N1ZT8uZGF0ZSB8IGRhdGUgfX08L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9ja0lzc3VlPy5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXT8uYmF0Y2g/LmV4cGlyZXNfb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIHRlY2hsaWZ5RmVhdHVyZUVuYWJsZWQ9XCJwcm9kdWN0LWJhdGNoLW51bWJlcnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgb24ge3sgc3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LmJhdGNoPy5leHBpcmVzX29uIHwgZGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gUXVhbnRpdHkgJiBMb2NhdGlvbiAtLT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02XCIgKm5nSWY9XCJzdG9ja0lzc3VlPy5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXT8ucXVhbnRpdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+UXVhbnRpdHk8L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtYi0wXCI+e3sgc3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LnF1YW50aXR5IH19PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9ja0lzc3VlPy5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXT8ucHJvZHVjdD8ubWVhc3VyZT8udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiICpuZ0lmPVwic3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LmxvY2F0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPkxvY2F0aW9uPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgc3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LmxvY2F0aW9uPy50aXRsZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIEJhdGNoICYgRXhwaXJlcyBPbiAoaWYgZmVhdHVyZSBlbmFibGVkKSAtLT5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b2NrSXNzdWU/LnN0b2NrX2lzc3VlX3Byb2R1Y3RzWzBdPy5iYXRjaFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIHRlY2hsaWZ5RmVhdHVyZUVuYWJsZWQ9XCJwcm9kdWN0LWJhdGNoLW51bWJlcnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5CYXRjaDwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj57eyBzdG9ja0lzc3VlPy5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXT8uYmF0Y2g/LmJhdGNoX251bWJlciB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02XCIgKm5nSWY9XCJzdG9ja0lzc3VlPy5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXT8uYmF0Y2g/LmV4cGlyZXNfb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5FeHBpcmVzIE9uPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiPnt7IHN0b2NrSXNzdWU/LnN0b2NrX2lzc3VlX3Byb2R1Y3RzWzBdPy5iYXRjaD8uZXhwaXJlc19vbiB8IGRhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBQYXJ0aWN1bGFycyAtLT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwic3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LnBhcnRpY3VsYXJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPlBhcnRpY3VsYXJzPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgc3RvY2tJc3N1ZT8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LnBhcnRpY3VsYXJzIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gQ3JlYXRvciAtLT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwic3RvY2tJc3N1ZT8uY3JlYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cIm1iLTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPkNyZWF0ZWQgQnk8L3NwYW4+IHt7IHN0b2NrSXNzdWU/LmNyZWF0b3I/Lm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPk9uPC9zcGFuPiB7eyBzdG9ja0lzc3VlPy5jcmVhdGVkX2F0IHwgZGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgPC9tYXQtY2FyZD5cblxuICAgICAgICAgICAgPGFwcC1ub3RlLWxpc3QgbGFiZWxUZXh0PVwiTm90ZXNcIiB2aWV3TW9kZT1cInRpbWVsaW5lXCIgbW9kZWxUeXBlPVwiU3RvY2tJc3N1ZVwiXG4gICAgICAgICAgICAgICAgW3JlbGF0ZWRNb2RlbElkXT1cInN0b2NrSXNzdWU/LmlkXCI+PC9hcHAtbm90ZS1saXN0PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IGNhbGMoMTAwJSAtIDM1MHB4IC0gMC41cmVtKVwiPlxuICAgICAgICAgICAgPGFwcC1lbnRpdHktZmlsZXMtdmlldy1hbGwgdGl0bGU9XCJEb2N1bWVudFwiIFtlbnRpdHlJZF09XCJzdG9ja0lzc3VlPy5pZFwiIGVudGl0eVR5cGU9XCJTdG9ja0lzc3VlXCJcbiAgICAgICAgICAgICAgICB2aWV3TW9kZT1cInRpbWVsaW5lXCI+XG4gICAgICAgICAgICA8L2FwcC1lbnRpdHktZmlsZXMtdmlldy1hbGw+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
|