master-control 0.3.23 → 0.3.24
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.
|
@@ -230,10 +230,10 @@ export class StepperWIthArrowComponent {
|
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
232
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepperWIthArrowComponent, deps: [{ token: i1.MasterControlService }], target: i0.ɵɵFactoryTarget.Component });
|
|
233
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: StepperWIthArrowComponent, isStandalone: true, selector: "lib-stepper-with-arrow", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, currentStepValue: { classPropertyName: "currentStepValue", publicName: "currentStepValue", isSignal: true, isRequired: false, transformFunction: null }, autoProgress: { classPropertyName: "autoProgress", publicName: "autoProgress", isSignal: true, isRequired: false, transformFunction: null }, autoProgressDelay: { classPropertyName: "autoProgressDelay", publicName: "autoProgressDelay", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedStep: "selectedStep" }, ngImport: i0, template: "<div *ngIf=\"field() && field()?.isVisible\" style=\"zoom: 0.85;\">\r\n <mat-stepper #stepperHeader>\r\n <ng-container *ngFor=\"let steps of field().editStepper; let i = index\">\r\n <mat-step \r\n *ngIf=\"steps.isDisplay !== false\"\r\n [completed]=\"false\"\r\n [optional]=\"false\">\r\n <ng-template matStepLabel>\r\n <div \r\n class=\"step-container\"\r\n [class.step-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.step-active]=\"isStepActive(i)\"\r\n [class.step-completed]=\"isStepCompleted(i)\"\r\n [class.step-collapsed]=\"!shouldShowLabel(i)\"\r\n (click)=\"onStepClick(steps, i)\">\r\n <span \r\n class=\"step-circle\"\r\n [class.circle-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.circle-active]=\"isStepActive(i)\"\r\n [class.circle-completed]=\"isStepCompleted(i)\">\r\n {{i + 1}}\r\n </span>\r\n <span \r\n class=\"step-label mx-2\"\r\n [class.label-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.label-active]=\"isStepActive(i)\"\r\n [class.label-completed]=\"isStepCompleted(i)\"\r\n [class.label-hidden]=\"!shouldShowLabel(i)\">\r\n {{steps?.displayLabel}}\r\n </span>\r\n <span \r\n class=\"arrow\" \r\n [class.arrow-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.arrow-active]=\"isStepActive(i)\"\r\n [class.arrow-completed]=\"isStepCompleted(i)\"\r\n *ngIf=\"i < field().editStepper.length - 1\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </mat-step>\r\n </ng-container>\r\n </mat-stepper>\r\n</div>", styles: ["*{font-family:mulish!important}.step-container{display:flex;align-items:center;cursor:pointer;padding:4px 8px;border-radius:6px;border:none;transition:all .3s ease}.step-container:hover:not(.step-disabled){background-color:#f5f5f5}.step-container.step-selected{border:none}.step-container.step-disabled{cursor:not-allowed;opacity:.6}.step-container.step-collapsed{padding:4px;justify-content:center}.step-circle{width:24px;height:24px;min-width:24px;min-height:24px;border-radius:50%;background:#0bb68b;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;margin-right:8px;transition:all .3s ease;flex-shrink:0;box-sizing:border-box}.step-circle.circle-disabled{background:#999;color:#ccc}.step-circle.circle-selected{background:#0a9c75}.step-circle.circle-completed{background:#0a9c75;color:#fff}.step-label{color:#444;font-size:13px;font-weight:
|
|
233
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: StepperWIthArrowComponent, isStandalone: true, selector: "lib-stepper-with-arrow", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, currentStepValue: { classPropertyName: "currentStepValue", publicName: "currentStepValue", isSignal: true, isRequired: false, transformFunction: null }, autoProgress: { classPropertyName: "autoProgress", publicName: "autoProgress", isSignal: true, isRequired: false, transformFunction: null }, autoProgressDelay: { classPropertyName: "autoProgressDelay", publicName: "autoProgressDelay", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedStep: "selectedStep" }, ngImport: i0, template: "<div *ngIf=\"field() && field()?.isVisible\" style=\"zoom: 0.85;\">\r\n <mat-stepper #stepperHeader>\r\n <ng-container *ngFor=\"let steps of field().editStepper; let i = index\">\r\n <mat-step \r\n *ngIf=\"steps.isDisplay !== false\"\r\n [completed]=\"false\"\r\n [optional]=\"false\">\r\n <ng-template matStepLabel>\r\n <div \r\n class=\"step-container\"\r\n [class.step-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.step-active]=\"isStepActive(i)\"\r\n [class.step-completed]=\"isStepCompleted(i)\"\r\n [class.step-collapsed]=\"!shouldShowLabel(i)\"\r\n (click)=\"onStepClick(steps, i)\">\r\n <span \r\n class=\"step-circle\"\r\n [class.circle-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.circle-active]=\"isStepActive(i)\"\r\n [class.circle-completed]=\"isStepCompleted(i)\">\r\n {{i + 1}}\r\n </span>\r\n <span \r\n class=\"step-label mx-2\"\r\n [class.label-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.label-active]=\"isStepActive(i)\"\r\n [class.label-completed]=\"isStepCompleted(i)\"\r\n [class.label-hidden]=\"!shouldShowLabel(i)\">\r\n {{steps?.displayLabel}}\r\n </span>\r\n <span \r\n class=\"arrow\" \r\n [class.arrow-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.arrow-active]=\"isStepActive(i)\"\r\n [class.arrow-completed]=\"isStepCompleted(i)\"\r\n *ngIf=\"i < field().editStepper.length - 1\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </mat-step>\r\n </ng-container>\r\n </mat-stepper>\r\n</div>", styles: ["*{font-family:mulish!important}.step-container{display:flex;align-items:center;cursor:pointer;padding:4px 8px;border-radius:6px;border:none;transition:all .3s ease}.step-container:hover:not(.step-disabled){background-color:#f5f5f5}.step-container.step-selected{border:none}.step-container.step-disabled{cursor:not-allowed;opacity:.6}.step-container.step-collapsed{padding:4px;justify-content:center}.step-circle{width:24px;height:24px;min-width:24px;min-height:24px;border-radius:50%;background:#0bb68b;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;margin-right:8px;transition:all .3s ease;flex-shrink:0;box-sizing:border-box}.step-circle.circle-disabled{background:#999;color:#ccc}.step-circle.circle-selected{background:#0a9c75}.step-circle.circle-completed{background:#0a9c75;color:#fff}.step-label{color:#444!important;font-size:13px!important;font-weight:700!important;transition:color .3s ease!important}.step-label.label-disabled{color:#999}.step-label.label-selected{color:#444;font-weight:700}.step-label.label-hidden{display:none}.step-label.label-active{color:#0bb68b;font-weight:700}.step-label.label-completed{color:#0a9c75;font-weight:600}.arrow{border:solid #444;border-width:0 2px 2px 0;display:inline-block;padding:3px;transform:rotate(315deg);margin-left:12px;transition:border-color .3s ease}.arrow.arrow-disabled{border-color:#999}.arrow.arrow-hidden{display:none}.arrow.arrow-active,.arrow.arrow-completed{border-color:#444}::ng-deep .mat-step-icon{display:none}::ng-deep .mat-horizontal-stepper-header-container{background:#fff!important}::ng-deep .mat-stepper-horizontal-line{border-top:1px dashed!important;display:none}::ng-deep .mat-horizontal-content-container{display:none}::ng-deep .mat-horizontal-stepper-header{padding:0 8px!important}::ng-deep .mat-step-header.step-disabled .mat-step-label{pointer-events:none}::ng-deep .mat-step-header{max-height:fit-content!important}\n"], dependencies: [{ kind: "ngmodule", type: MatStepperModule }, { kind: "component", type: i2.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "directive", type: i2.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: i2.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
234
234
|
}
|
|
235
235
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepperWIthArrowComponent, decorators: [{
|
|
236
236
|
type: Component,
|
|
237
|
-
args: [{ selector: 'lib-stepper-with-arrow', standalone: true, imports: [MatStepperModule, CommonModule], template: "<div *ngIf=\"field() && field()?.isVisible\" style=\"zoom: 0.85;\">\r\n <mat-stepper #stepperHeader>\r\n <ng-container *ngFor=\"let steps of field().editStepper; let i = index\">\r\n <mat-step \r\n *ngIf=\"steps.isDisplay !== false\"\r\n [completed]=\"false\"\r\n [optional]=\"false\">\r\n <ng-template matStepLabel>\r\n <div \r\n class=\"step-container\"\r\n [class.step-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.step-active]=\"isStepActive(i)\"\r\n [class.step-completed]=\"isStepCompleted(i)\"\r\n [class.step-collapsed]=\"!shouldShowLabel(i)\"\r\n (click)=\"onStepClick(steps, i)\">\r\n <span \r\n class=\"step-circle\"\r\n [class.circle-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.circle-active]=\"isStepActive(i)\"\r\n [class.circle-completed]=\"isStepCompleted(i)\">\r\n {{i + 1}}\r\n </span>\r\n <span \r\n class=\"step-label mx-2\"\r\n [class.label-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.label-active]=\"isStepActive(i)\"\r\n [class.label-completed]=\"isStepCompleted(i)\"\r\n [class.label-hidden]=\"!shouldShowLabel(i)\">\r\n {{steps?.displayLabel}}\r\n </span>\r\n <span \r\n class=\"arrow\" \r\n [class.arrow-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.arrow-active]=\"isStepActive(i)\"\r\n [class.arrow-completed]=\"isStepCompleted(i)\"\r\n *ngIf=\"i < field().editStepper.length - 1\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </mat-step>\r\n </ng-container>\r\n </mat-stepper>\r\n</div>", styles: ["*{font-family:mulish!important}.step-container{display:flex;align-items:center;cursor:pointer;padding:4px 8px;border-radius:6px;border:none;transition:all .3s ease}.step-container:hover:not(.step-disabled){background-color:#f5f5f5}.step-container.step-selected{border:none}.step-container.step-disabled{cursor:not-allowed;opacity:.6}.step-container.step-collapsed{padding:4px;justify-content:center}.step-circle{width:24px;height:24px;min-width:24px;min-height:24px;border-radius:50%;background:#0bb68b;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;margin-right:8px;transition:all .3s ease;flex-shrink:0;box-sizing:border-box}.step-circle.circle-disabled{background:#999;color:#ccc}.step-circle.circle-selected{background:#0a9c75}.step-circle.circle-completed{background:#0a9c75;color:#fff}.step-label{color:#444;font-size:13px;font-weight:
|
|
237
|
+
args: [{ selector: 'lib-stepper-with-arrow', standalone: true, imports: [MatStepperModule, CommonModule], template: "<div *ngIf=\"field() && field()?.isVisible\" style=\"zoom: 0.85;\">\r\n <mat-stepper #stepperHeader>\r\n <ng-container *ngFor=\"let steps of field().editStepper; let i = index\">\r\n <mat-step \r\n *ngIf=\"steps.isDisplay !== false\"\r\n [completed]=\"false\"\r\n [optional]=\"false\">\r\n <ng-template matStepLabel>\r\n <div \r\n class=\"step-container\"\r\n [class.step-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.step-active]=\"isStepActive(i)\"\r\n [class.step-completed]=\"isStepCompleted(i)\"\r\n [class.step-collapsed]=\"!shouldShowLabel(i)\"\r\n (click)=\"onStepClick(steps, i)\">\r\n <span \r\n class=\"step-circle\"\r\n [class.circle-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.circle-active]=\"isStepActive(i)\"\r\n [class.circle-completed]=\"isStepCompleted(i)\">\r\n {{i + 1}}\r\n </span>\r\n <span \r\n class=\"step-label mx-2\"\r\n [class.label-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.label-active]=\"isStepActive(i)\"\r\n [class.label-completed]=\"isStepCompleted(i)\"\r\n [class.label-hidden]=\"!shouldShowLabel(i)\">\r\n {{steps?.displayLabel}}\r\n </span>\r\n <span \r\n class=\"arrow\" \r\n [class.arrow-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.arrow-active]=\"isStepActive(i)\"\r\n [class.arrow-completed]=\"isStepCompleted(i)\"\r\n *ngIf=\"i < field().editStepper.length - 1\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </mat-step>\r\n </ng-container>\r\n </mat-stepper>\r\n</div>", styles: ["*{font-family:mulish!important}.step-container{display:flex;align-items:center;cursor:pointer;padding:4px 8px;border-radius:6px;border:none;transition:all .3s ease}.step-container:hover:not(.step-disabled){background-color:#f5f5f5}.step-container.step-selected{border:none}.step-container.step-disabled{cursor:not-allowed;opacity:.6}.step-container.step-collapsed{padding:4px;justify-content:center}.step-circle{width:24px;height:24px;min-width:24px;min-height:24px;border-radius:50%;background:#0bb68b;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;margin-right:8px;transition:all .3s ease;flex-shrink:0;box-sizing:border-box}.step-circle.circle-disabled{background:#999;color:#ccc}.step-circle.circle-selected{background:#0a9c75}.step-circle.circle-completed{background:#0a9c75;color:#fff}.step-label{color:#444!important;font-size:13px!important;font-weight:700!important;transition:color .3s ease!important}.step-label.label-disabled{color:#999}.step-label.label-selected{color:#444;font-weight:700}.step-label.label-hidden{display:none}.step-label.label-active{color:#0bb68b;font-weight:700}.step-label.label-completed{color:#0a9c75;font-weight:600}.arrow{border:solid #444;border-width:0 2px 2px 0;display:inline-block;padding:3px;transform:rotate(315deg);margin-left:12px;transition:border-color .3s ease}.arrow.arrow-disabled{border-color:#999}.arrow.arrow-hidden{display:none}.arrow.arrow-active,.arrow.arrow-completed{border-color:#444}::ng-deep .mat-step-icon{display:none}::ng-deep .mat-horizontal-stepper-header-container{background:#fff!important}::ng-deep .mat-stepper-horizontal-line{border-top:1px dashed!important;display:none}::ng-deep .mat-horizontal-content-container{display:none}::ng-deep .mat-horizontal-stepper-header{padding:0 8px!important}::ng-deep .mat-step-header.step-disabled .mat-step-label{pointer-events:none}::ng-deep .mat-step-header{max-height:fit-content!important}\n"] }]
|
|
238
238
|
}], ctorParameters: () => [{ type: i1.MasterControlService }] });
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci13aXRoLWFycm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvc3RlcHBlci13aXRoLWFycm93L3N0ZXBwZXItd2l0aC1hcnJvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL3N0ZXBwZXItd2l0aC1hcnJvdy9zdGVwcGVyLXdpdGgtYXJyb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQVU3RCxNQUFNLE9BQU8seUJBQXlCO0lBVWpCO0lBVG5CLEtBQUssR0FBUSxLQUFLLENBQUMsUUFBUSxFQUFPLENBQUM7SUFDbkMsZ0JBQWdCLEdBQUcsS0FBSyxFQUFVLENBQUMsQ0FBQyxrREFBa0Q7SUFDdEYsWUFBWSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQyxDQUFDLDZDQUE2QztJQUNuRixpQkFBaUIsR0FBRyxLQUFLLENBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQyx5Q0FBeUM7SUFDbEYsWUFBWSxHQUFHLE1BQU0sRUFBTyxDQUFDO0lBQzdCLGFBQWEsQ0FBTTtJQUNuQixpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNmLGlCQUFpQixDQUFNO0lBRS9CLFlBQW1CLG1CQUF5QztRQUF6Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXNCO1FBQzFELDhDQUE4QztRQUM5QyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsTUFBTSxTQUFTLEdBQUcs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LGNBQWMsRUFBRSxDQUFDO1lBRXRCLG9EQUFvRDtZQUNwRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDN0IsQ0FBQztRQUNILENBQUMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQixhQUFhLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVELHdDQUF3QztJQUN4QyxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5CLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7d0dBN1BVLHlCQUF5Qjs0RkFBekIseUJBQXlCLGtzQkNadEMsazFEQTBDTSw0N0REbENNLGdCQUFnQixraEJBQUUsWUFBWTs7NEZBSTdCLHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDRSx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgb3V0cHV0LCBlZmZlY3QsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFN0ZXBwZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcclxuaW1wb3J0IHsgTWFzdGVyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi9tYXN0ZXItY29udHJvbC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXN0ZXBwZXItd2l0aC1hcnJvdycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTWF0U3RlcHBlck1vZHVsZSwgQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcHBlci13aXRoLWFycm93LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc3RlcHBlci13aXRoLWFycm93LmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdGVwcGVyV0l0aEFycm93Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGZpZWxkOiBhbnkgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XHJcbiAgY3VycmVudFN0ZXBWYWx1ZSA9IGlucHV0PHN0cmluZz4oKTsgLy8gSW5wdXQgdG8gcmVjZWl2ZSBjdXJyZW50IHN0ZXAgdmFsdWUgZnJvbSBwYXJlbnRcclxuICBhdXRvUHJvZ3Jlc3MgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7IC8vIElucHV0IHRvIGVuYWJsZSBhdXRvbWF0aWMgc3RlcCBwcm9ncmVzc2lvblxyXG4gIGF1dG9Qcm9ncmVzc0RlbGF5ID0gaW5wdXQ8bnVtYmVyPigzMDAwKTsgLy8gRGVsYXkgYmV0d2VlbiBhdXRvLXByb2dyZXNzaW9uIChpbiBtcylcclxuICBzZWxlY3RlZFN0ZXAgPSBvdXRwdXQ8YW55PigpO1xyXG4gIG1hc3RlclN0ZXBwZXI6IGFueTtcclxuICBzZWxlY3RlZFN0ZXBJbmRleCA9IC0xO1xyXG4gIHByaXZhdGUgYXV0b1Byb2dyZXNzVGltZXI6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIG1hc3RlclNoYXJlZFNlcnZpY2U6IE1hc3RlckNvbnRyb2xTZXJ2aWNlKSB7XHJcbiAgICAvLyBXYXRjaCBmb3IgY2hhbmdlcyBpbiBjdXJyZW50U3RlcFZhbHVlIGlucHV0XHJcbiAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICBjb25zdCBzdGVwVmFsdWUgPSB0aGlzLmN1cnJlbnRTdGVwVmFsdWUoKTtcclxuICAgICAgaWYgKHN0ZXBWYWx1ZSAmJiB0aGlzLmZpZWxkKCk/LmVkaXRTdGVwcGVyKSB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVTdGVwRnJvbUV4dGVybmFsKHN0ZXBWYWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIgPSB0aGlzLmZpZWxkKCkuY29uZmlnRGF0YS5zdGVwcGVyRGF0YSA/IHRoaXMuZmllbGQoKS5jb25maWdEYXRhLnN0ZXBwZXJEYXRhIDogdGhpcy5tYXN0ZXJTaGFyZWRTZXJ2aWNlPy5jb25maWdEYXRhPy5zdGVwcGVyPy5zdGVwcGVyRGF0YTtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZVN0ZXBwZXJTdGF0ZSgpO1xyXG4gICAgdGhpcy5lbWl0QWN0aXZlU3RlcE9uTG9hZCgpO1xyXG4gICAgXHJcbiAgICAvLyBTdGFydCBhdXRvLXByb2dyZXNzaW9uIGlmIGVuYWJsZWRcclxuICAgIGlmICh0aGlzLmF1dG9Qcm9ncmVzcygpKSB7XHJcbiAgICAgIHRoaXMuc3RhcnRBdXRvUHJvZ3Jlc3Npb24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgLy8gQ2xlYW4gdXAgdGltZXJcclxuICAgIGlmICh0aGlzLmF1dG9Qcm9ncmVzc1RpbWVyKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5hdXRvUHJvZ3Jlc3NUaW1lcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplU3RlcHBlclN0YXRlKCkge1xyXG4gICAgaWYgKHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlcikge1xyXG4gICAgICBsZXQgYWN0aXZlU3RlcEluZGV4ID0gLTE7XHJcbiAgICAgIFxyXG4gICAgICAvLyBGaW5kIHRoZSBjdXJyZW50IGFjdGl2ZSBzdGVwIGJhc2VkIG9uIHN0ZXAgcHJvcGVydGllcyBvciBmaWVsZCB2YWx1ZVxyXG4gICAgICAvLyBDaGVjayBpZiBhbnkgc3RlcCBpcyBhbHJlYWR5IG1hcmtlZCBhcyBhY3RpdmVcclxuICAgICAgYWN0aXZlU3RlcEluZGV4ID0gdGhpcy5maWVsZCgpLmVkaXRTdGVwcGVyLmZpbmRJbmRleCgoc3RlcDogYW55KSA9PiBzdGVwLmlzQWN0aXZlID09PSB0cnVlKTtcclxuICAgICAgXHJcbiAgICAgIC8vIElmIG5vIGFjdGl2ZSBzdGVwIGZvdW5kLCBjaGVjayBmb3IgY3VycmVudCB2YWx1ZSBpbiBmaWVsZFxyXG4gICAgICBpZiAoYWN0aXZlU3RlcEluZGV4ID09PSAtMSAmJiB0aGlzLmZpZWxkKCkudmFsdWUpIHtcclxuICAgICAgICBhY3RpdmVTdGVwSW5kZXggPSB0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIuZmluZEluZGV4KChzdGVwOiBhbnkpID0+IFxyXG4gICAgICAgICAgc3RlcC5kaXNwbGF5TGFiZWwgPT09IHRoaXMuZmllbGQoKS52YWx1ZSB8fCBcclxuICAgICAgICAgIHN0ZXAudmFsdWUgPT09IHRoaXMuZmllbGQoKS52YWx1ZVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIC8vIElmIHN0aWxsIG5vIGFjdGl2ZSBzdGVwIGZvdW5kLCBkZWZhdWx0IHRvIGZpcnN0IHN0ZXBcclxuICAgICAgaWYgKGFjdGl2ZVN0ZXBJbmRleCA9PT0gLTEpIHtcclxuICAgICAgICBhY3RpdmVTdGVwSW5kZXggPSAwO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICB0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIuZm9yRWFjaCgoc3RlcDogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgLy8gU2V0IGRlZmF1bHQgdmFsdWVzIGlmIG5vdCBwcm92aWRlZFxyXG4gICAgICAgIGlmIChzdGVwLmlzRGlzcGxheSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBzdGVwLmlzRGlzcGxheSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIFNldCBzdGVwIHN0YXRlcyBiYXNlZCBvbiB0aGUgYWN0aXZlIHN0ZXAgbG9naWNcclxuICAgICAgICBpZiAoaW5kZXggPCBhY3RpdmVTdGVwSW5kZXgpIHtcclxuICAgICAgICAgIC8vIFN0ZXBzIGJlZm9yZSBhY3RpdmUgc3RlcCBhcmUgY29tcGxldGVkIGFuZCBlbmFibGVkXHJcbiAgICAgICAgICBzdGVwLmlzQ29tcGxldGVkID0gdHJ1ZTtcclxuICAgICAgICAgIHN0ZXAuaXNBY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgIHN0ZXAuaXNEaXNhYmxlZCA9IGZhbHNlOyAvLyBDb21wbGV0ZWQgc3RlcHMgY2FuIGJlIGNsaWNrZWRcclxuICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09PSBhY3RpdmVTdGVwSW5kZXgpIHtcclxuICAgICAgICAgIC8vIEN1cnJlbnQgYWN0aXZlIHN0ZXBcclxuICAgICAgICAgIHN0ZXAuaXNDb21wbGV0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgIHN0ZXAuaXNBY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgc3RlcC5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkU3RlcEluZGV4ID0gaW5kZXg7IC8vIFNldCBhcyBzZWxlY3RlZFxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBTdGVwcyBhZnRlciBhY3RpdmUgc3RlcCBhcmUgcGVuZGluZyBhbmQgZGlzYWJsZWRcclxuICAgICAgICAgIHN0ZXAuaXNDb21wbGV0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgIHN0ZXAuaXNBY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgIHN0ZXAuaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU3RlcENsaWNrKHN0ZXA6IGFueSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKCFzdGVwLmlzRGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFN0ZXBJbmRleCA9IGluZGV4O1xyXG4gICAgICBjb25zdCBzdGVwRGF0YSA9IHtcclxuICAgICAgICBzdGVwOiBzdGVwLFxyXG4gICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICBsYWJlbDogc3RlcC5kaXNwbGF5TGFiZWwsXHJcbiAgICAgICAgdmFsdWU6IHN0ZXAudmFsdWUgfHwgc3RlcC5kaXNwbGF5TGFiZWxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFN0ZXAuZW1pdChzdGVwRGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc1N0ZXBTZWxlY3RlZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFN0ZXBJbmRleCA9PT0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBzaG91bGRTaG93TGFiZWwoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgLy8gU2hvdyBsYWJlbCBvbmx5IGlmIG5vIHN0ZXAgaXMgc2VsZWN0ZWQgT1IgaWYgdGhpcyBzdGVwIGlzIHRoZSBzZWxlY3RlZCBvbmVcclxuICAgIC8vIEhpZGUgbGFiZWxzIGZvciBjb21wbGV0ZWQgc3RlcHNcclxuICAgIHJldHVybiAodGhpcy5zZWxlY3RlZFN0ZXBJbmRleCA9PT0gLTEgfHwgdGhpcy5zZWxlY3RlZFN0ZXBJbmRleCA9PT0gaW5kZXgpICYmICF0aGlzLmlzU3RlcENvbXBsZXRlZChpbmRleCk7XHJcbiAgfVxyXG5cclxuICBzaG91bGRTaG93QXNEaXNhYmxlZChzdGVwOiBhbnksIGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIC8vIFNob3cgYXMgZGlzYWJsZWQgaWYgc3RlcCBpcyBhY3R1YWxseSBkaXNhYmxlZFxyXG4gICAgcmV0dXJuIHN0ZXAuaXNEaXNhYmxlZCA9PT0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGlzU3RlcENvbXBsZXRlZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICAvLyBDaGVjayBpZiBzdGVwIGlzIG1hcmtlZCBhcyBjb21wbGV0ZWRcclxuICAgIGlmICh0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIgJiYgdGhpcy5maWVsZCgpLmVkaXRTdGVwcGVyW2luZGV4XSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5maWVsZCgpLmVkaXRTdGVwcGVyW2luZGV4XS5pc0NvbXBsZXRlZCA9PT0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGlzU3RlcEFjdGl2ZShpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICAvLyBDaGVjayBpZiBzdGVwIGlzIG1hcmtlZCBhcyBhY3RpdmVcclxuICAgIGlmICh0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIgJiYgdGhpcy5maWVsZCgpLmVkaXRTdGVwcGVyW2luZGV4XSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5maWVsZCgpLmVkaXRTdGVwcGVyW2luZGV4XS5pc0FjdGl2ZSA9PT0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGVtaXRBY3RpdmVTdGVwT25Mb2FkKCkge1xyXG4gICAgLy8gQXV0b21hdGljYWxseSBlbWl0IHRoZSBhY3RpdmUgc3RlcCB3aGVuIGNvbXBvbmVudCBsb2Fkc1xyXG4gICAgaWYgKHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlciAmJiB0aGlzLnNlbGVjdGVkU3RlcEluZGV4ID49IDApIHtcclxuICAgICAgY29uc3QgYWN0aXZlU3RlcCA9IHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlclt0aGlzLnNlbGVjdGVkU3RlcEluZGV4XTtcclxuICAgICAgaWYgKGFjdGl2ZVN0ZXApIHtcclxuICAgICAgICBjb25zdCBzdGVwRGF0YSA9IHtcclxuICAgICAgICAgIHN0ZXA6IGFjdGl2ZVN0ZXAsXHJcbiAgICAgICAgICBpbmRleDogdGhpcy5zZWxlY3RlZFN0ZXBJbmRleCxcclxuICAgICAgICAgIGxhYmVsOiBhY3RpdmVTdGVwLmRpc3BsYXlMYWJlbCxcclxuICAgICAgICAgIHZhbHVlOiBhY3RpdmVTdGVwLnZhbHVlIHx8IGFjdGl2ZVN0ZXAuZGlzcGxheUxhYmVsXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkU3RlcC5lbWl0KHN0ZXBEYXRhKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTWV0aG9kIHRvIHByb2dyYW1tYXRpY2FsbHkgbW92ZSB0byB0aGUgbmV4dCBzdGVwXHJcbiAgbW92ZVRvTmV4dFN0ZXAoKSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZFN0ZXBJbmRleCA8IHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlci5sZW5ndGggLSAxKSB7XHJcbiAgICAgIHRoaXMubW92ZVRvU3RlcCh0aGlzLnNlbGVjdGVkU3RlcEluZGV4ICsgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBNZXRob2QgdG8gcHJvZ3JhbW1hdGljYWxseSBtb3ZlIHRvIHRoZSBwcmV2aW91cyBzdGVwXHJcbiAgbW92ZVRvUHJldmlvdXNTdGVwKCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRTdGVwSW5kZXggPiAwKSB7XHJcbiAgICAgIHRoaXMubW92ZVRvU3RlcCh0aGlzLnNlbGVjdGVkU3RlcEluZGV4IC0gMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBNZXRob2QgdG8gcHJvZ3JhbW1hdGljYWxseSBtb3ZlIHRvIGEgc3BlY2lmaWMgc3RlcFxyXG4gIG1vdmVUb1N0ZXAoc3RlcEluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmIChzdGVwSW5kZXggPj0gMCAmJiBzdGVwSW5kZXggPCB0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIubGVuZ3RoKSB7XHJcbiAgICAgIC8vIFVwZGF0ZSBzdGVwIHN0YXRlc1xyXG4gICAgICB0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIuZm9yRWFjaCgoc3RlcDogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgaWYgKGluZGV4IDwgc3RlcEluZGV4KSB7XHJcbiAgICAgICAgICAvLyBNYXJrIHByZXZpb3VzIHN0ZXBzIGFzIGNvbXBsZXRlZFxyXG4gICAgICAgICAgc3RlcC5pc0NvbXBsZXRlZCA9IHRydWU7XHJcbiAgICAgICAgICBzdGVwLmlzQWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICBzdGVwLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09PSBzdGVwSW5kZXgpIHtcclxuICAgICAgICAgIC8vIE1hcmsgY3VycmVudCBzdGVwIGFzIGFjdGl2ZVxyXG4gICAgICAgICAgc3RlcC5pc0NvbXBsZXRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgc3RlcC5pc0FjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICBzdGVwLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gTWFyayBmdXR1cmUgc3RlcHMgYXMgcGVuZGluZy9kaXNhYmxlZFxyXG4gICAgICAgICAgc3RlcC5pc0NvbXBsZXRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgc3RlcC5pc0FjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgc3RlcC5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5zZWxlY3RlZFN0ZXBJbmRleCA9IHN0ZXBJbmRleDtcclxuICAgICAgXHJcbiAgICAgIC8vIEVtaXQgdGhlIHN0ZXAgY2hhbmdlXHJcbiAgICAgIGNvbnN0IHN0ZXBEYXRhID0ge1xyXG4gICAgICAgIHN0ZXA6IHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlcltzdGVwSW5kZXhdLFxyXG4gICAgICAgIGluZGV4OiBzdGVwSW5kZXgsXHJcbiAgICAgICAgbGFiZWw6IHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlcltzdGVwSW5kZXhdLmRpc3BsYXlMYWJlbCxcclxuICAgICAgICB2YWx1ZTogdGhpcy5maWVsZCgpLmVkaXRTdGVwcGVyW3N0ZXBJbmRleF0udmFsdWUgfHwgdGhpcy5maWVsZCgpLmVkaXRTdGVwcGVyW3N0ZXBJbmRleF0uZGlzcGxheUxhYmVsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGVwLmVtaXQoc3RlcERhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTWV0aG9kIHRvIGNvbXBsZXRlIGN1cnJlbnQgc3RlcCBhbmQgbW92ZSB0byBuZXh0XHJcbiAgY29tcGxldGVDdXJyZW50U3RlcEFuZE1vdmVOZXh0KCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRTdGVwSW5kZXggPj0gMCAmJiB0aGlzLnNlbGVjdGVkU3RlcEluZGV4IDwgdGhpcy5maWVsZCgpLmVkaXRTdGVwcGVyLmxlbmd0aCAtIDEpIHtcclxuICAgICAgLy8gTWFyayBjdXJyZW50IHN0ZXAgYXMgY29tcGxldGVkXHJcbiAgICAgIHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlclt0aGlzLnNlbGVjdGVkU3RlcEluZGV4XS5pc0NvbXBsZXRlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlclt0aGlzLnNlbGVjdGVkU3RlcEluZGV4XS5pc0FjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICBcclxuICAgICAgLy8gTW92ZSB0byBuZXh0IHN0ZXBcclxuICAgICAgdGhpcy5tb3ZlVG9OZXh0U3RlcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTWV0aG9kIHRvIHdhdGNoIGZvciBleHRlcm5hbCBzdGVwIGNoYW5nZXMgKGNhbiBiZSBjYWxsZWQgZnJvbSBwYXJlbnQpXHJcbiAgdXBkYXRlU3RlcEZyb21FeHRlcm5hbChzdGVwVmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlcikge1xyXG4gICAgICBjb25zdCBzdGVwSW5kZXggPSB0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIuZmluZEluZGV4KChzdGVwOiBhbnkpID0+IFxyXG4gICAgICAgIHN0ZXAuZGlzcGxheUxhYmVsID09PSBzdGVwVmFsdWUgfHwgc3RlcC52YWx1ZSA9PT0gc3RlcFZhbHVlXHJcbiAgICAgICk7XHJcbiAgICAgIFxyXG4gICAgICBpZiAoc3RlcEluZGV4ID49IDAgJiYgc3RlcEluZGV4ICE9PSB0aGlzLnNlbGVjdGVkU3RlcEluZGV4KSB7XHJcbiAgICAgICAgdGhpcy5tb3ZlVG9TdGVwKHN0ZXBJbmRleCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEF1dG8tcHJvZ3Jlc3Npb24gbWV0aG9kc1xyXG4gIHN0YXJ0QXV0b1Byb2dyZXNzaW9uKCkge1xyXG4gICAgaWYgKHRoaXMuYXV0b1Byb2dyZXNzVGltZXIpIHtcclxuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmF1dG9Qcm9ncmVzc1RpbWVyKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgdGhpcy5hdXRvUHJvZ3Jlc3NUaW1lciA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgdGhpcy5tb3ZlVG9OZXh0U3RlcCgpO1xyXG4gICAgICBcclxuICAgICAgLy8gU3RvcCBhdXRvLXByb2dyZXNzaW9uIHdoZW4gcmVhY2hpbmcgdGhlIGxhc3Qgc3RlcFxyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFN0ZXBJbmRleCA+PSB0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgIHRoaXMuc3RvcEF1dG9Qcm9ncmVzc2lvbigpO1xyXG4gICAgICB9XHJcbiAgICB9LCB0aGlzLmF1dG9Qcm9ncmVzc0RlbGF5KCkpO1xyXG4gIH1cclxuXHJcbiAgc3RvcEF1dG9Qcm9ncmVzc2lvbigpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Qcm9ncmVzc1RpbWVyKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5hdXRvUHJvZ3Jlc3NUaW1lcik7XHJcbiAgICAgIHRoaXMuYXV0b1Byb2dyZXNzVGltZXIgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTWV0aG9kIHRvIHJlc2V0IHN0ZXBwZXIgdG8gZmlyc3Qgc3RlcFxyXG4gIHJlc2V0VG9GaXJzdFN0ZXAoKSB7XHJcbiAgICB0aGlzLnN0b3BBdXRvUHJvZ3Jlc3Npb24oKTtcclxuICAgIHRoaXMubW92ZVRvU3RlcCgwKTtcclxuICAgIFxyXG4gICAgaWYgKHRoaXMuYXV0b1Byb2dyZXNzKCkpIHtcclxuICAgICAgdGhpcy5zdGFydEF1dG9Qcm9ncmVzc2lvbigpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiZmllbGQoKSAmJiBmaWVsZCgpPy5pc1Zpc2libGVcIiBzdHlsZT1cInpvb206IDAuODU7XCI+XHJcbiAgPG1hdC1zdGVwcGVyICNzdGVwcGVySGVhZGVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3RlcHMgb2YgZmllbGQoKS5lZGl0U3RlcHBlcjsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICA8bWF0LXN0ZXAgXHJcbiAgICAgICAgKm5nSWY9XCJzdGVwcy5pc0Rpc3BsYXkgIT09IGZhbHNlXCJcclxuICAgICAgICBbY29tcGxldGVkXT1cImZhbHNlXCJcclxuICAgICAgICBbb3B0aW9uYWxdPVwiZmFsc2VcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbWF0U3RlcExhYmVsPlxyXG4gICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgY2xhc3M9XCJzdGVwLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5zdGVwLWRpc2FibGVkXT1cInNob3VsZFNob3dBc0Rpc2FibGVkKHN0ZXBzLCBpKVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5zdGVwLWFjdGl2ZV09XCJpc1N0ZXBBY3RpdmUoaSlcIlxyXG4gICAgICAgICAgICBbY2xhc3Muc3RlcC1jb21wbGV0ZWRdPVwiaXNTdGVwQ29tcGxldGVkKGkpXCJcclxuICAgICAgICAgICAgW2NsYXNzLnN0ZXAtY29sbGFwc2VkXT1cIiFzaG91bGRTaG93TGFiZWwoaSlcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25TdGVwQ2xpY2soc3RlcHMsIGkpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic3RlcC1jaXJjbGVcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5jaXJjbGUtZGlzYWJsZWRdPVwic2hvdWxkU2hvd0FzRGlzYWJsZWQoc3RlcHMsIGkpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuY2lyY2xlLWFjdGl2ZV09XCJpc1N0ZXBBY3RpdmUoaSlcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5jaXJjbGUtY29tcGxldGVkXT1cImlzU3RlcENvbXBsZXRlZChpKVwiPlxyXG4gICAgICAgICAgICAgIHt7aSArIDF9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic3RlcC1sYWJlbCBteC0yXCJcclxuICAgICAgICAgICAgICBbY2xhc3MubGFiZWwtZGlzYWJsZWRdPVwic2hvdWxkU2hvd0FzRGlzYWJsZWQoc3RlcHMsIGkpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MubGFiZWwtYWN0aXZlXT1cImlzU3RlcEFjdGl2ZShpKVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmxhYmVsLWNvbXBsZXRlZF09XCJpc1N0ZXBDb21wbGV0ZWQoaSlcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5sYWJlbC1oaWRkZW5dPVwiIXNob3VsZFNob3dMYWJlbChpKVwiPlxyXG4gICAgICAgICAgICAgIHt7c3RlcHM/LmRpc3BsYXlMYWJlbH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJhcnJvd1wiIFxyXG4gICAgICAgICAgICAgIFtjbGFzcy5hcnJvdy1kaXNhYmxlZF09XCJzaG91bGRTaG93QXNEaXNhYmxlZChzdGVwcywgaSlcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5hcnJvdy1hY3RpdmVdPVwiaXNTdGVwQWN0aXZlKGkpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuYXJyb3ctY29tcGxldGVkXT1cImlzU3RlcENvbXBsZXRlZChpKVwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpIDwgZmllbGQoKS5lZGl0U3RlcHBlci5sZW5ndGggLSAxXCI+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbWF0LXN0ZXA+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L21hdC1zdGVwcGVyPlxyXG48L2Rpdj4iXX0=
|
|
239
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci13aXRoLWFycm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvc3RlcHBlci13aXRoLWFycm93L3N0ZXBwZXItd2l0aC1hcnJvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL3N0ZXBwZXItd2l0aC1hcnJvdy9zdGVwcGVyLXdpdGgtYXJyb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQVU3RCxNQUFNLE9BQU8seUJBQXlCO0lBVWpCO0lBVG5CLEtBQUssR0FBUSxLQUFLLENBQUMsUUFBUSxFQUFPLENBQUM7SUFDbkMsZ0JBQWdCLEdBQUcsS0FBSyxFQUFVLENBQUMsQ0FBQyxrREFBa0Q7SUFDdEYsWUFBWSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQyxDQUFDLDZDQUE2QztJQUNuRixpQkFBaUIsR0FBRyxLQUFLLENBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQyx5Q0FBeUM7SUFDbEYsWUFBWSxHQUFHLE1BQU0sRUFBTyxDQUFDO0lBQzdCLGFBQWEsQ0FBTTtJQUNuQixpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNmLGlCQUFpQixDQUFNO0lBRS9CLFlBQW1CLG1CQUF5QztRQUF6Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXNCO1FBQzFELDhDQUE4QztRQUM5QyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsTUFBTSxTQUFTLEdBQUcs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LGNBQWMsRUFBRSxDQUFDO1lBRXRCLG9EQUFvRDtZQUNwRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDN0IsQ0FBQztRQUNILENBQUMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQixhQUFhLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVELHdDQUF3QztJQUN4QyxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5CLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7d0dBN1BVLHlCQUF5Qjs0RkFBekIseUJBQXlCLGtzQkNadEMsazFEQTBDTSxvK0REbENNLGdCQUFnQixraEJBQUUsWUFBWTs7NEZBSTdCLHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDRSx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgb3V0cHV0LCBlZmZlY3QsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFN0ZXBwZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcclxuaW1wb3J0IHsgTWFzdGVyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi9tYXN0ZXItY29udHJvbC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXN0ZXBwZXItd2l0aC1hcnJvdycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTWF0U3RlcHBlck1vZHVsZSwgQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcHBlci13aXRoLWFycm93LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc3RlcHBlci13aXRoLWFycm93LmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdGVwcGVyV0l0aEFycm93Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGZpZWxkOiBhbnkgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XHJcbiAgY3VycmVudFN0ZXBWYWx1ZSA9IGlucHV0PHN0cmluZz4oKTsgLy8gSW5wdXQgdG8gcmVjZWl2ZSBjdXJyZW50IHN0ZXAgdmFsdWUgZnJvbSBwYXJlbnRcclxuICBhdXRvUHJvZ3Jlc3MgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7IC8vIElucHV0IHRvIGVuYWJsZSBhdXRvbWF0aWMgc3RlcCBwcm9ncmVzc2lvblxyXG4gIGF1dG9Qcm9ncmVzc0RlbGF5ID0gaW5wdXQ8bnVtYmVyPigzMDAwKTsgLy8gRGVsYXkgYmV0d2VlbiBhdXRvLXByb2dyZXNzaW9uIChpbiBtcylcclxuICBzZWxlY3RlZFN0ZXAgPSBvdXRwdXQ8YW55PigpO1xyXG4gIG1hc3RlclN0ZXBwZXI6IGFueTtcclxuICBzZWxlY3RlZFN0ZXBJbmRleCA9IC0xO1xyXG4gIHByaXZhdGUgYXV0b1Byb2dyZXNzVGltZXI6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIG1hc3RlclNoYXJlZFNlcnZpY2U6IE1hc3RlckNvbnRyb2xTZXJ2aWNlKSB7XHJcbiAgICAvLyBXYXRjaCBmb3IgY2hhbmdlcyBpbiBjdXJyZW50U3RlcFZhbHVlIGlucHV0XHJcbiAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICBjb25zdCBzdGVwVmFsdWUgPSB0aGlzLmN1cnJlbnRTdGVwVmFsdWUoKTtcclxuICAgICAgaWYgKHN0ZXBWYWx1ZSAmJiB0aGlzLmZpZWxkKCk/LmVkaXRTdGVwcGVyKSB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVTdGVwRnJvbUV4dGVybmFsKHN0ZXBWYWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIgPSB0aGlzLmZpZWxkKCkuY29uZmlnRGF0YS5zdGVwcGVyRGF0YSA/IHRoaXMuZmllbGQoKS5jb25maWdEYXRhLnN0ZXBwZXJEYXRhIDogdGhpcy5tYXN0ZXJTaGFyZWRTZXJ2aWNlPy5jb25maWdEYXRhPy5zdGVwcGVyPy5zdGVwcGVyRGF0YTtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZVN0ZXBwZXJTdGF0ZSgpO1xyXG4gICAgdGhpcy5lbWl0QWN0aXZlU3RlcE9uTG9hZCgpO1xyXG4gICAgXHJcbiAgICAvLyBTdGFydCBhdXRvLXByb2dyZXNzaW9uIGlmIGVuYWJsZWRcclxuICAgIGlmICh0aGlzLmF1dG9Qcm9ncmVzcygpKSB7XHJcbiAgICAgIHRoaXMuc3RhcnRBdXRvUHJvZ3Jlc3Npb24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgLy8gQ2xlYW4gdXAgdGltZXJcclxuICAgIGlmICh0aGlzLmF1dG9Qcm9ncmVzc1RpbWVyKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5hdXRvUHJvZ3Jlc3NUaW1lcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplU3RlcHBlclN0YXRlKCkge1xyXG4gICAgaWYgKHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlcikge1xyXG4gICAgICBsZXQgYWN0aXZlU3RlcEluZGV4ID0gLTE7XHJcbiAgICAgIFxyXG4gICAgICAvLyBGaW5kIHRoZSBjdXJyZW50IGFjdGl2ZSBzdGVwIGJhc2VkIG9uIHN0ZXAgcHJvcGVydGllcyBvciBmaWVsZCB2YWx1ZVxyXG4gICAgICAvLyBDaGVjayBpZiBhbnkgc3RlcCBpcyBhbHJlYWR5IG1hcmtlZCBhcyBhY3RpdmVcclxuICAgICAgYWN0aXZlU3RlcEluZGV4ID0gdGhpcy5maWVsZCgpLmVkaXRTdGVwcGVyLmZpbmRJbmRleCgoc3RlcDogYW55KSA9PiBzdGVwLmlzQWN0aXZlID09PSB0cnVlKTtcclxuICAgICAgXHJcbiAgICAgIC8vIElmIG5vIGFjdGl2ZSBzdGVwIGZvdW5kLCBjaGVjayBmb3IgY3VycmVudCB2YWx1ZSBpbiBmaWVsZFxyXG4gICAgICBpZiAoYWN0aXZlU3RlcEluZGV4ID09PSAtMSAmJiB0aGlzLmZpZWxkKCkudmFsdWUpIHtcclxuICAgICAgICBhY3RpdmVTdGVwSW5kZXggPSB0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIuZmluZEluZGV4KChzdGVwOiBhbnkpID0+IFxyXG4gICAgICAgICAgc3RlcC5kaXNwbGF5TGFiZWwgPT09IHRoaXMuZmllbGQoKS52YWx1ZSB8fCBcclxuICAgICAgICAgIHN0ZXAudmFsdWUgPT09IHRoaXMuZmllbGQoKS52YWx1ZVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIC8vIElmIHN0aWxsIG5vIGFjdGl2ZSBzdGVwIGZvdW5kLCBkZWZhdWx0IHRvIGZpcnN0IHN0ZXBcclxuICAgICAgaWYgKGFjdGl2ZVN0ZXBJbmRleCA9PT0gLTEpIHtcclxuICAgICAgICBhY3RpdmVTdGVwSW5kZXggPSAwO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICB0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIuZm9yRWFjaCgoc3RlcDogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgLy8gU2V0IGRlZmF1bHQgdmFsdWVzIGlmIG5vdCBwcm92aWRlZFxyXG4gICAgICAgIGlmIChzdGVwLmlzRGlzcGxheSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBzdGVwLmlzRGlzcGxheSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIFNldCBzdGVwIHN0YXRlcyBiYXNlZCBvbiB0aGUgYWN0aXZlIHN0ZXAgbG9naWNcclxuICAgICAgICBpZiAoaW5kZXggPCBhY3RpdmVTdGVwSW5kZXgpIHtcclxuICAgICAgICAgIC8vIFN0ZXBzIGJlZm9yZSBhY3RpdmUgc3RlcCBhcmUgY29tcGxldGVkIGFuZCBlbmFibGVkXHJcbiAgICAgICAgICBzdGVwLmlzQ29tcGxldGVkID0gdHJ1ZTtcclxuICAgICAgICAgIHN0ZXAuaXNBY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgIHN0ZXAuaXNEaXNhYmxlZCA9IGZhbHNlOyAvLyBDb21wbGV0ZWQgc3RlcHMgY2FuIGJlIGNsaWNrZWRcclxuICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09PSBhY3RpdmVTdGVwSW5kZXgpIHtcclxuICAgICAgICAgIC8vIEN1cnJlbnQgYWN0aXZlIHN0ZXBcclxuICAgICAgICAgIHN0ZXAuaXNDb21wbGV0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgIHN0ZXAuaXNBY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgc3RlcC5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkU3RlcEluZGV4ID0gaW5kZXg7IC8vIFNldCBhcyBzZWxlY3RlZFxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBTdGVwcyBhZnRlciBhY3RpdmUgc3RlcCBhcmUgcGVuZGluZyBhbmQgZGlzYWJsZWRcclxuICAgICAgICAgIHN0ZXAuaXNDb21wbGV0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgIHN0ZXAuaXNBY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgIHN0ZXAuaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU3RlcENsaWNrKHN0ZXA6IGFueSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKCFzdGVwLmlzRGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFN0ZXBJbmRleCA9IGluZGV4O1xyXG4gICAgICBjb25zdCBzdGVwRGF0YSA9IHtcclxuICAgICAgICBzdGVwOiBzdGVwLFxyXG4gICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICBsYWJlbDogc3RlcC5kaXNwbGF5TGFiZWwsXHJcbiAgICAgICAgdmFsdWU6IHN0ZXAudmFsdWUgfHwgc3RlcC5kaXNwbGF5TGFiZWxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFN0ZXAuZW1pdChzdGVwRGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc1N0ZXBTZWxlY3RlZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFN0ZXBJbmRleCA9PT0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBzaG91bGRTaG93TGFiZWwoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgLy8gU2hvdyBsYWJlbCBvbmx5IGlmIG5vIHN0ZXAgaXMgc2VsZWN0ZWQgT1IgaWYgdGhpcyBzdGVwIGlzIHRoZSBzZWxlY3RlZCBvbmVcclxuICAgIC8vIEhpZGUgbGFiZWxzIGZvciBjb21wbGV0ZWQgc3RlcHNcclxuICAgIHJldHVybiAodGhpcy5zZWxlY3RlZFN0ZXBJbmRleCA9PT0gLTEgfHwgdGhpcy5zZWxlY3RlZFN0ZXBJbmRleCA9PT0gaW5kZXgpICYmICF0aGlzLmlzU3RlcENvbXBsZXRlZChpbmRleCk7XHJcbiAgfVxyXG5cclxuICBzaG91bGRTaG93QXNEaXNhYmxlZChzdGVwOiBhbnksIGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIC8vIFNob3cgYXMgZGlzYWJsZWQgaWYgc3RlcCBpcyBhY3R1YWxseSBkaXNhYmxlZFxyXG4gICAgcmV0dXJuIHN0ZXAuaXNEaXNhYmxlZCA9PT0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGlzU3RlcENvbXBsZXRlZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICAvLyBDaGVjayBpZiBzdGVwIGlzIG1hcmtlZCBhcyBjb21wbGV0ZWRcclxuICAgIGlmICh0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIgJiYgdGhpcy5maWVsZCgpLmVkaXRTdGVwcGVyW2luZGV4XSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5maWVsZCgpLmVkaXRTdGVwcGVyW2luZGV4XS5pc0NvbXBsZXRlZCA9PT0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGlzU3RlcEFjdGl2ZShpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICAvLyBDaGVjayBpZiBzdGVwIGlzIG1hcmtlZCBhcyBhY3RpdmVcclxuICAgIGlmICh0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIgJiYgdGhpcy5maWVsZCgpLmVkaXRTdGVwcGVyW2luZGV4XSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5maWVsZCgpLmVkaXRTdGVwcGVyW2luZGV4XS5pc0FjdGl2ZSA9PT0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGVtaXRBY3RpdmVTdGVwT25Mb2FkKCkge1xyXG4gICAgLy8gQXV0b21hdGljYWxseSBlbWl0IHRoZSBhY3RpdmUgc3RlcCB3aGVuIGNvbXBvbmVudCBsb2Fkc1xyXG4gICAgaWYgKHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlciAmJiB0aGlzLnNlbGVjdGVkU3RlcEluZGV4ID49IDApIHtcclxuICAgICAgY29uc3QgYWN0aXZlU3RlcCA9IHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlclt0aGlzLnNlbGVjdGVkU3RlcEluZGV4XTtcclxuICAgICAgaWYgKGFjdGl2ZVN0ZXApIHtcclxuICAgICAgICBjb25zdCBzdGVwRGF0YSA9IHtcclxuICAgICAgICAgIHN0ZXA6IGFjdGl2ZVN0ZXAsXHJcbiAgICAgICAgICBpbmRleDogdGhpcy5zZWxlY3RlZFN0ZXBJbmRleCxcclxuICAgICAgICAgIGxhYmVsOiBhY3RpdmVTdGVwLmRpc3BsYXlMYWJlbCxcclxuICAgICAgICAgIHZhbHVlOiBhY3RpdmVTdGVwLnZhbHVlIHx8IGFjdGl2ZVN0ZXAuZGlzcGxheUxhYmVsXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkU3RlcC5lbWl0KHN0ZXBEYXRhKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTWV0aG9kIHRvIHByb2dyYW1tYXRpY2FsbHkgbW92ZSB0byB0aGUgbmV4dCBzdGVwXHJcbiAgbW92ZVRvTmV4dFN0ZXAoKSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZFN0ZXBJbmRleCA8IHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlci5sZW5ndGggLSAxKSB7XHJcbiAgICAgIHRoaXMubW92ZVRvU3RlcCh0aGlzLnNlbGVjdGVkU3RlcEluZGV4ICsgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBNZXRob2QgdG8gcHJvZ3JhbW1hdGljYWxseSBtb3ZlIHRvIHRoZSBwcmV2aW91cyBzdGVwXHJcbiAgbW92ZVRvUHJldmlvdXNTdGVwKCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRTdGVwSW5kZXggPiAwKSB7XHJcbiAgICAgIHRoaXMubW92ZVRvU3RlcCh0aGlzLnNlbGVjdGVkU3RlcEluZGV4IC0gMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBNZXRob2QgdG8gcHJvZ3JhbW1hdGljYWxseSBtb3ZlIHRvIGEgc3BlY2lmaWMgc3RlcFxyXG4gIG1vdmVUb1N0ZXAoc3RlcEluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmIChzdGVwSW5kZXggPj0gMCAmJiBzdGVwSW5kZXggPCB0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIubGVuZ3RoKSB7XHJcbiAgICAgIC8vIFVwZGF0ZSBzdGVwIHN0YXRlc1xyXG4gICAgICB0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIuZm9yRWFjaCgoc3RlcDogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgaWYgKGluZGV4IDwgc3RlcEluZGV4KSB7XHJcbiAgICAgICAgICAvLyBNYXJrIHByZXZpb3VzIHN0ZXBzIGFzIGNvbXBsZXRlZFxyXG4gICAgICAgICAgc3RlcC5pc0NvbXBsZXRlZCA9IHRydWU7XHJcbiAgICAgICAgICBzdGVwLmlzQWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICBzdGVwLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09PSBzdGVwSW5kZXgpIHtcclxuICAgICAgICAgIC8vIE1hcmsgY3VycmVudCBzdGVwIGFzIGFjdGl2ZVxyXG4gICAgICAgICAgc3RlcC5pc0NvbXBsZXRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgc3RlcC5pc0FjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICBzdGVwLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gTWFyayBmdXR1cmUgc3RlcHMgYXMgcGVuZGluZy9kaXNhYmxlZFxyXG4gICAgICAgICAgc3RlcC5pc0NvbXBsZXRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgc3RlcC5pc0FjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgc3RlcC5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5zZWxlY3RlZFN0ZXBJbmRleCA9IHN0ZXBJbmRleDtcclxuICAgICAgXHJcbiAgICAgIC8vIEVtaXQgdGhlIHN0ZXAgY2hhbmdlXHJcbiAgICAgIGNvbnN0IHN0ZXBEYXRhID0ge1xyXG4gICAgICAgIHN0ZXA6IHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlcltzdGVwSW5kZXhdLFxyXG4gICAgICAgIGluZGV4OiBzdGVwSW5kZXgsXHJcbiAgICAgICAgbGFiZWw6IHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlcltzdGVwSW5kZXhdLmRpc3BsYXlMYWJlbCxcclxuICAgICAgICB2YWx1ZTogdGhpcy5maWVsZCgpLmVkaXRTdGVwcGVyW3N0ZXBJbmRleF0udmFsdWUgfHwgdGhpcy5maWVsZCgpLmVkaXRTdGVwcGVyW3N0ZXBJbmRleF0uZGlzcGxheUxhYmVsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGVwLmVtaXQoc3RlcERhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTWV0aG9kIHRvIGNvbXBsZXRlIGN1cnJlbnQgc3RlcCBhbmQgbW92ZSB0byBuZXh0XHJcbiAgY29tcGxldGVDdXJyZW50U3RlcEFuZE1vdmVOZXh0KCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRTdGVwSW5kZXggPj0gMCAmJiB0aGlzLnNlbGVjdGVkU3RlcEluZGV4IDwgdGhpcy5maWVsZCgpLmVkaXRTdGVwcGVyLmxlbmd0aCAtIDEpIHtcclxuICAgICAgLy8gTWFyayBjdXJyZW50IHN0ZXAgYXMgY29tcGxldGVkXHJcbiAgICAgIHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlclt0aGlzLnNlbGVjdGVkU3RlcEluZGV4XS5pc0NvbXBsZXRlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlclt0aGlzLnNlbGVjdGVkU3RlcEluZGV4XS5pc0FjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICBcclxuICAgICAgLy8gTW92ZSB0byBuZXh0IHN0ZXBcclxuICAgICAgdGhpcy5tb3ZlVG9OZXh0U3RlcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTWV0aG9kIHRvIHdhdGNoIGZvciBleHRlcm5hbCBzdGVwIGNoYW5nZXMgKGNhbiBiZSBjYWxsZWQgZnJvbSBwYXJlbnQpXHJcbiAgdXBkYXRlU3RlcEZyb21FeHRlcm5hbChzdGVwVmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuZmllbGQoKS5lZGl0U3RlcHBlcikge1xyXG4gICAgICBjb25zdCBzdGVwSW5kZXggPSB0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIuZmluZEluZGV4KChzdGVwOiBhbnkpID0+IFxyXG4gICAgICAgIHN0ZXAuZGlzcGxheUxhYmVsID09PSBzdGVwVmFsdWUgfHwgc3RlcC52YWx1ZSA9PT0gc3RlcFZhbHVlXHJcbiAgICAgICk7XHJcbiAgICAgIFxyXG4gICAgICBpZiAoc3RlcEluZGV4ID49IDAgJiYgc3RlcEluZGV4ICE9PSB0aGlzLnNlbGVjdGVkU3RlcEluZGV4KSB7XHJcbiAgICAgICAgdGhpcy5tb3ZlVG9TdGVwKHN0ZXBJbmRleCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEF1dG8tcHJvZ3Jlc3Npb24gbWV0aG9kc1xyXG4gIHN0YXJ0QXV0b1Byb2dyZXNzaW9uKCkge1xyXG4gICAgaWYgKHRoaXMuYXV0b1Byb2dyZXNzVGltZXIpIHtcclxuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmF1dG9Qcm9ncmVzc1RpbWVyKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgdGhpcy5hdXRvUHJvZ3Jlc3NUaW1lciA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgdGhpcy5tb3ZlVG9OZXh0U3RlcCgpO1xyXG4gICAgICBcclxuICAgICAgLy8gU3RvcCBhdXRvLXByb2dyZXNzaW9uIHdoZW4gcmVhY2hpbmcgdGhlIGxhc3Qgc3RlcFxyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFN0ZXBJbmRleCA+PSB0aGlzLmZpZWxkKCkuZWRpdFN0ZXBwZXIubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgIHRoaXMuc3RvcEF1dG9Qcm9ncmVzc2lvbigpO1xyXG4gICAgICB9XHJcbiAgICB9LCB0aGlzLmF1dG9Qcm9ncmVzc0RlbGF5KCkpO1xyXG4gIH1cclxuXHJcbiAgc3RvcEF1dG9Qcm9ncmVzc2lvbigpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Qcm9ncmVzc1RpbWVyKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5hdXRvUHJvZ3Jlc3NUaW1lcik7XHJcbiAgICAgIHRoaXMuYXV0b1Byb2dyZXNzVGltZXIgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTWV0aG9kIHRvIHJlc2V0IHN0ZXBwZXIgdG8gZmlyc3Qgc3RlcFxyXG4gIHJlc2V0VG9GaXJzdFN0ZXAoKSB7XHJcbiAgICB0aGlzLnN0b3BBdXRvUHJvZ3Jlc3Npb24oKTtcclxuICAgIHRoaXMubW92ZVRvU3RlcCgwKTtcclxuICAgIFxyXG4gICAgaWYgKHRoaXMuYXV0b1Byb2dyZXNzKCkpIHtcclxuICAgICAgdGhpcy5zdGFydEF1dG9Qcm9ncmVzc2lvbigpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiZmllbGQoKSAmJiBmaWVsZCgpPy5pc1Zpc2libGVcIiBzdHlsZT1cInpvb206IDAuODU7XCI+XHJcbiAgPG1hdC1zdGVwcGVyICNzdGVwcGVySGVhZGVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3RlcHMgb2YgZmllbGQoKS5lZGl0U3RlcHBlcjsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICA8bWF0LXN0ZXAgXHJcbiAgICAgICAgKm5nSWY9XCJzdGVwcy5pc0Rpc3BsYXkgIT09IGZhbHNlXCJcclxuICAgICAgICBbY29tcGxldGVkXT1cImZhbHNlXCJcclxuICAgICAgICBbb3B0aW9uYWxdPVwiZmFsc2VcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbWF0U3RlcExhYmVsPlxyXG4gICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgY2xhc3M9XCJzdGVwLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5zdGVwLWRpc2FibGVkXT1cInNob3VsZFNob3dBc0Rpc2FibGVkKHN0ZXBzLCBpKVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5zdGVwLWFjdGl2ZV09XCJpc1N0ZXBBY3RpdmUoaSlcIlxyXG4gICAgICAgICAgICBbY2xhc3Muc3RlcC1jb21wbGV0ZWRdPVwiaXNTdGVwQ29tcGxldGVkKGkpXCJcclxuICAgICAgICAgICAgW2NsYXNzLnN0ZXAtY29sbGFwc2VkXT1cIiFzaG91bGRTaG93TGFiZWwoaSlcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25TdGVwQ2xpY2soc3RlcHMsIGkpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic3RlcC1jaXJjbGVcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5jaXJjbGUtZGlzYWJsZWRdPVwic2hvdWxkU2hvd0FzRGlzYWJsZWQoc3RlcHMsIGkpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuY2lyY2xlLWFjdGl2ZV09XCJpc1N0ZXBBY3RpdmUoaSlcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5jaXJjbGUtY29tcGxldGVkXT1cImlzU3RlcENvbXBsZXRlZChpKVwiPlxyXG4gICAgICAgICAgICAgIHt7aSArIDF9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic3RlcC1sYWJlbCBteC0yXCJcclxuICAgICAgICAgICAgICBbY2xhc3MubGFiZWwtZGlzYWJsZWRdPVwic2hvdWxkU2hvd0FzRGlzYWJsZWQoc3RlcHMsIGkpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MubGFiZWwtYWN0aXZlXT1cImlzU3RlcEFjdGl2ZShpKVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmxhYmVsLWNvbXBsZXRlZF09XCJpc1N0ZXBDb21wbGV0ZWQoaSlcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5sYWJlbC1oaWRkZW5dPVwiIXNob3VsZFNob3dMYWJlbChpKVwiPlxyXG4gICAgICAgICAgICAgIHt7c3RlcHM/LmRpc3BsYXlMYWJlbH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJhcnJvd1wiIFxyXG4gICAgICAgICAgICAgIFtjbGFzcy5hcnJvdy1kaXNhYmxlZF09XCJzaG91bGRTaG93QXNEaXNhYmxlZChzdGVwcywgaSlcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5hcnJvdy1hY3RpdmVdPVwiaXNTdGVwQWN0aXZlKGkpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuYXJyb3ctY29tcGxldGVkXT1cImlzU3RlcENvbXBsZXRlZChpKVwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpIDwgZmllbGQoKS5lZGl0U3RlcHBlci5sZW5ndGggLSAxXCI+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbWF0LXN0ZXA+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L21hdC1zdGVwcGVyPlxyXG48L2Rpdj4iXX0=
|
|
@@ -5448,11 +5448,11 @@ class StepperWIthArrowComponent {
|
|
|
5448
5448
|
}
|
|
5449
5449
|
}
|
|
5450
5450
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepperWIthArrowComponent, deps: [{ token: MasterControlService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5451
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: StepperWIthArrowComponent, isStandalone: true, selector: "lib-stepper-with-arrow", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, currentStepValue: { classPropertyName: "currentStepValue", publicName: "currentStepValue", isSignal: true, isRequired: false, transformFunction: null }, autoProgress: { classPropertyName: "autoProgress", publicName: "autoProgress", isSignal: true, isRequired: false, transformFunction: null }, autoProgressDelay: { classPropertyName: "autoProgressDelay", publicName: "autoProgressDelay", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedStep: "selectedStep" }, ngImport: i0, template: "<div *ngIf=\"field() && field()?.isVisible\" style=\"zoom: 0.85;\">\r\n <mat-stepper #stepperHeader>\r\n <ng-container *ngFor=\"let steps of field().editStepper; let i = index\">\r\n <mat-step \r\n *ngIf=\"steps.isDisplay !== false\"\r\n [completed]=\"false\"\r\n [optional]=\"false\">\r\n <ng-template matStepLabel>\r\n <div \r\n class=\"step-container\"\r\n [class.step-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.step-active]=\"isStepActive(i)\"\r\n [class.step-completed]=\"isStepCompleted(i)\"\r\n [class.step-collapsed]=\"!shouldShowLabel(i)\"\r\n (click)=\"onStepClick(steps, i)\">\r\n <span \r\n class=\"step-circle\"\r\n [class.circle-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.circle-active]=\"isStepActive(i)\"\r\n [class.circle-completed]=\"isStepCompleted(i)\">\r\n {{i + 1}}\r\n </span>\r\n <span \r\n class=\"step-label mx-2\"\r\n [class.label-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.label-active]=\"isStepActive(i)\"\r\n [class.label-completed]=\"isStepCompleted(i)\"\r\n [class.label-hidden]=\"!shouldShowLabel(i)\">\r\n {{steps?.displayLabel}}\r\n </span>\r\n <span \r\n class=\"arrow\" \r\n [class.arrow-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.arrow-active]=\"isStepActive(i)\"\r\n [class.arrow-completed]=\"isStepCompleted(i)\"\r\n *ngIf=\"i < field().editStepper.length - 1\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </mat-step>\r\n </ng-container>\r\n </mat-stepper>\r\n</div>", styles: ["*{font-family:mulish!important}.step-container{display:flex;align-items:center;cursor:pointer;padding:4px 8px;border-radius:6px;border:none;transition:all .3s ease}.step-container:hover:not(.step-disabled){background-color:#f5f5f5}.step-container.step-selected{border:none}.step-container.step-disabled{cursor:not-allowed;opacity:.6}.step-container.step-collapsed{padding:4px;justify-content:center}.step-circle{width:24px;height:24px;min-width:24px;min-height:24px;border-radius:50%;background:#0bb68b;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;margin-right:8px;transition:all .3s ease;flex-shrink:0;box-sizing:border-box}.step-circle.circle-disabled{background:#999;color:#ccc}.step-circle.circle-selected{background:#0a9c75}.step-circle.circle-completed{background:#0a9c75;color:#fff}.step-label{color:#444;font-size:13px;font-weight:
|
|
5451
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: StepperWIthArrowComponent, isStandalone: true, selector: "lib-stepper-with-arrow", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, currentStepValue: { classPropertyName: "currentStepValue", publicName: "currentStepValue", isSignal: true, isRequired: false, transformFunction: null }, autoProgress: { classPropertyName: "autoProgress", publicName: "autoProgress", isSignal: true, isRequired: false, transformFunction: null }, autoProgressDelay: { classPropertyName: "autoProgressDelay", publicName: "autoProgressDelay", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedStep: "selectedStep" }, ngImport: i0, template: "<div *ngIf=\"field() && field()?.isVisible\" style=\"zoom: 0.85;\">\r\n <mat-stepper #stepperHeader>\r\n <ng-container *ngFor=\"let steps of field().editStepper; let i = index\">\r\n <mat-step \r\n *ngIf=\"steps.isDisplay !== false\"\r\n [completed]=\"false\"\r\n [optional]=\"false\">\r\n <ng-template matStepLabel>\r\n <div \r\n class=\"step-container\"\r\n [class.step-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.step-active]=\"isStepActive(i)\"\r\n [class.step-completed]=\"isStepCompleted(i)\"\r\n [class.step-collapsed]=\"!shouldShowLabel(i)\"\r\n (click)=\"onStepClick(steps, i)\">\r\n <span \r\n class=\"step-circle\"\r\n [class.circle-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.circle-active]=\"isStepActive(i)\"\r\n [class.circle-completed]=\"isStepCompleted(i)\">\r\n {{i + 1}}\r\n </span>\r\n <span \r\n class=\"step-label mx-2\"\r\n [class.label-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.label-active]=\"isStepActive(i)\"\r\n [class.label-completed]=\"isStepCompleted(i)\"\r\n [class.label-hidden]=\"!shouldShowLabel(i)\">\r\n {{steps?.displayLabel}}\r\n </span>\r\n <span \r\n class=\"arrow\" \r\n [class.arrow-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.arrow-active]=\"isStepActive(i)\"\r\n [class.arrow-completed]=\"isStepCompleted(i)\"\r\n *ngIf=\"i < field().editStepper.length - 1\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </mat-step>\r\n </ng-container>\r\n </mat-stepper>\r\n</div>", styles: ["*{font-family:mulish!important}.step-container{display:flex;align-items:center;cursor:pointer;padding:4px 8px;border-radius:6px;border:none;transition:all .3s ease}.step-container:hover:not(.step-disabled){background-color:#f5f5f5}.step-container.step-selected{border:none}.step-container.step-disabled{cursor:not-allowed;opacity:.6}.step-container.step-collapsed{padding:4px;justify-content:center}.step-circle{width:24px;height:24px;min-width:24px;min-height:24px;border-radius:50%;background:#0bb68b;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;margin-right:8px;transition:all .3s ease;flex-shrink:0;box-sizing:border-box}.step-circle.circle-disabled{background:#999;color:#ccc}.step-circle.circle-selected{background:#0a9c75}.step-circle.circle-completed{background:#0a9c75;color:#fff}.step-label{color:#444!important;font-size:13px!important;font-weight:700!important;transition:color .3s ease!important}.step-label.label-disabled{color:#999}.step-label.label-selected{color:#444;font-weight:700}.step-label.label-hidden{display:none}.step-label.label-active{color:#0bb68b;font-weight:700}.step-label.label-completed{color:#0a9c75;font-weight:600}.arrow{border:solid #444;border-width:0 2px 2px 0;display:inline-block;padding:3px;transform:rotate(315deg);margin-left:12px;transition:border-color .3s ease}.arrow.arrow-disabled{border-color:#999}.arrow.arrow-hidden{display:none}.arrow.arrow-active,.arrow.arrow-completed{border-color:#444}::ng-deep .mat-step-icon{display:none}::ng-deep .mat-horizontal-stepper-header-container{background:#fff!important}::ng-deep .mat-stepper-horizontal-line{border-top:1px dashed!important;display:none}::ng-deep .mat-horizontal-content-container{display:none}::ng-deep .mat-horizontal-stepper-header{padding:0 8px!important}::ng-deep .mat-step-header.step-disabled .mat-step-label{pointer-events:none}::ng-deep .mat-step-header{max-height:fit-content!important}\n"], dependencies: [{ kind: "ngmodule", type: MatStepperModule }, { kind: "component", type: i2$3.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "directive", type: i2$3.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: i2$3.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
5452
5452
|
}
|
|
5453
5453
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepperWIthArrowComponent, decorators: [{
|
|
5454
5454
|
type: Component,
|
|
5455
|
-
args: [{ selector: 'lib-stepper-with-arrow', standalone: true, imports: [MatStepperModule, CommonModule], template: "<div *ngIf=\"field() && field()?.isVisible\" style=\"zoom: 0.85;\">\r\n <mat-stepper #stepperHeader>\r\n <ng-container *ngFor=\"let steps of field().editStepper; let i = index\">\r\n <mat-step \r\n *ngIf=\"steps.isDisplay !== false\"\r\n [completed]=\"false\"\r\n [optional]=\"false\">\r\n <ng-template matStepLabel>\r\n <div \r\n class=\"step-container\"\r\n [class.step-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.step-active]=\"isStepActive(i)\"\r\n [class.step-completed]=\"isStepCompleted(i)\"\r\n [class.step-collapsed]=\"!shouldShowLabel(i)\"\r\n (click)=\"onStepClick(steps, i)\">\r\n <span \r\n class=\"step-circle\"\r\n [class.circle-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.circle-active]=\"isStepActive(i)\"\r\n [class.circle-completed]=\"isStepCompleted(i)\">\r\n {{i + 1}}\r\n </span>\r\n <span \r\n class=\"step-label mx-2\"\r\n [class.label-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.label-active]=\"isStepActive(i)\"\r\n [class.label-completed]=\"isStepCompleted(i)\"\r\n [class.label-hidden]=\"!shouldShowLabel(i)\">\r\n {{steps?.displayLabel}}\r\n </span>\r\n <span \r\n class=\"arrow\" \r\n [class.arrow-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.arrow-active]=\"isStepActive(i)\"\r\n [class.arrow-completed]=\"isStepCompleted(i)\"\r\n *ngIf=\"i < field().editStepper.length - 1\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </mat-step>\r\n </ng-container>\r\n </mat-stepper>\r\n</div>", styles: ["*{font-family:mulish!important}.step-container{display:flex;align-items:center;cursor:pointer;padding:4px 8px;border-radius:6px;border:none;transition:all .3s ease}.step-container:hover:not(.step-disabled){background-color:#f5f5f5}.step-container.step-selected{border:none}.step-container.step-disabled{cursor:not-allowed;opacity:.6}.step-container.step-collapsed{padding:4px;justify-content:center}.step-circle{width:24px;height:24px;min-width:24px;min-height:24px;border-radius:50%;background:#0bb68b;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;margin-right:8px;transition:all .3s ease;flex-shrink:0;box-sizing:border-box}.step-circle.circle-disabled{background:#999;color:#ccc}.step-circle.circle-selected{background:#0a9c75}.step-circle.circle-completed{background:#0a9c75;color:#fff}.step-label{color:#444;font-size:13px;font-weight:
|
|
5455
|
+
args: [{ selector: 'lib-stepper-with-arrow', standalone: true, imports: [MatStepperModule, CommonModule], template: "<div *ngIf=\"field() && field()?.isVisible\" style=\"zoom: 0.85;\">\r\n <mat-stepper #stepperHeader>\r\n <ng-container *ngFor=\"let steps of field().editStepper; let i = index\">\r\n <mat-step \r\n *ngIf=\"steps.isDisplay !== false\"\r\n [completed]=\"false\"\r\n [optional]=\"false\">\r\n <ng-template matStepLabel>\r\n <div \r\n class=\"step-container\"\r\n [class.step-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.step-active]=\"isStepActive(i)\"\r\n [class.step-completed]=\"isStepCompleted(i)\"\r\n [class.step-collapsed]=\"!shouldShowLabel(i)\"\r\n (click)=\"onStepClick(steps, i)\">\r\n <span \r\n class=\"step-circle\"\r\n [class.circle-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.circle-active]=\"isStepActive(i)\"\r\n [class.circle-completed]=\"isStepCompleted(i)\">\r\n {{i + 1}}\r\n </span>\r\n <span \r\n class=\"step-label mx-2\"\r\n [class.label-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.label-active]=\"isStepActive(i)\"\r\n [class.label-completed]=\"isStepCompleted(i)\"\r\n [class.label-hidden]=\"!shouldShowLabel(i)\">\r\n {{steps?.displayLabel}}\r\n </span>\r\n <span \r\n class=\"arrow\" \r\n [class.arrow-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.arrow-active]=\"isStepActive(i)\"\r\n [class.arrow-completed]=\"isStepCompleted(i)\"\r\n *ngIf=\"i < field().editStepper.length - 1\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </mat-step>\r\n </ng-container>\r\n </mat-stepper>\r\n</div>", styles: ["*{font-family:mulish!important}.step-container{display:flex;align-items:center;cursor:pointer;padding:4px 8px;border-radius:6px;border:none;transition:all .3s ease}.step-container:hover:not(.step-disabled){background-color:#f5f5f5}.step-container.step-selected{border:none}.step-container.step-disabled{cursor:not-allowed;opacity:.6}.step-container.step-collapsed{padding:4px;justify-content:center}.step-circle{width:24px;height:24px;min-width:24px;min-height:24px;border-radius:50%;background:#0bb68b;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;margin-right:8px;transition:all .3s ease;flex-shrink:0;box-sizing:border-box}.step-circle.circle-disabled{background:#999;color:#ccc}.step-circle.circle-selected{background:#0a9c75}.step-circle.circle-completed{background:#0a9c75;color:#fff}.step-label{color:#444!important;font-size:13px!important;font-weight:700!important;transition:color .3s ease!important}.step-label.label-disabled{color:#999}.step-label.label-selected{color:#444;font-weight:700}.step-label.label-hidden{display:none}.step-label.label-active{color:#0bb68b;font-weight:700}.step-label.label-completed{color:#0a9c75;font-weight:600}.arrow{border:solid #444;border-width:0 2px 2px 0;display:inline-block;padding:3px;transform:rotate(315deg);margin-left:12px;transition:border-color .3s ease}.arrow.arrow-disabled{border-color:#999}.arrow.arrow-hidden{display:none}.arrow.arrow-active,.arrow.arrow-completed{border-color:#444}::ng-deep .mat-step-icon{display:none}::ng-deep .mat-horizontal-stepper-header-container{background:#fff!important}::ng-deep .mat-stepper-horizontal-line{border-top:1px dashed!important;display:none}::ng-deep .mat-horizontal-content-container{display:none}::ng-deep .mat-horizontal-stepper-header{padding:0 8px!important}::ng-deep .mat-step-header.step-disabled .mat-step-label{pointer-events:none}::ng-deep .mat-step-header{max-height:fit-content!important}\n"] }]
|
|
5456
5456
|
}], ctorParameters: () => [{ type: MasterControlService }] });
|
|
5457
5457
|
|
|
5458
5458
|
class LabelWithImageComponent {
|