com.phloxui
Version:
PhloxUI Ng2+ Framework
202 lines (201 loc) • 15.9 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, ElementRef, Input, EventEmitter } from '@angular/core';
import { WizardModel } from './model/WizardModel';
import { PhloxAppService } from '../service/PhloxAppService.service';
import { AbstractWizardPane } from './AbstractWizardPane';
import { Option } from '../decorator/Option.decorator';
const /** @type {?} */ TYPE_NAME = "phx-pagination-wizard-pane";
export class PaginationWizardPane extends AbstractWizardPane {
/**
* @param {?} appSvc
* @param {?} elementRef
*/
constructor(appSvc, elementRef) {
super(appSvc, elementRef);
}
/**
* @return {?}
*/
ngOnInit() {
super.ngOnInit();
}
/**
* @param {?} index
* @return {?}
*/
showStepContent(index) { }
/**
* @param {?} index
* @return {?}
*/
getStepInstance(index) { }
}
PaginationWizardPane.TYPE_NAME = TYPE_NAME;
PaginationWizardPane.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: `<div class="phx-pagination-wizard-pane">
<div class="left" [style.padding-top]="getHeaderHeight() + 'pt'" [style.padding-bottom]="getFooterHeight() + 'pt'">
<div class="header" [style.height]="getHeaderHeight() + 'pt'">
<ng-template [ngIf]="getModel() !== null && getModel().header !== null">
<ng-template [ngIf]="getModel().header.type === null">
<div *ngIf="getModel().header.imageURL !== null && getModel().header.imageURL !== ''" class="header-image">
<img src="{{getModel().header.imageURL}}">
</div>
<div class="header-label">{{getModel().header.label}}</div>
</ng-template>
<ng-template [ngIf]="getModel().header.type !== null">
<phx-component-wrapper [type]="getModel().header.type" [data]="getModel().header.model"></phx-component-wrapper>
</ng-template>
</ng-template>
</div>
<div class="body">
<ng-template [ngIf]="getModel() !== null && getModel().steps !== null">
<div *ngFor="let item of getModel().steps; let i = index;" class="step" [class.active]="isStepSelected(i)" >
<ng-template [ngIf]="item.type === null">
<div (click)="stepSelected(i)"> {{item.label}} </div>
</ng-template>
<ng-template [ngIf]="item.type !== null">
<phx-component-wrapper [type]="item.type" [data]="item.model" (click)="stepSelected(i)"></phx-component-wrapper>
</ng-template>
</div>
</ng-template>
</div>
<div class="footer" [style.height]="getFooterHeight() + 'pt'">
<ng-template [ngIf]="getModel() !== null && getModel().footer !== null">
<ng-template [ngIf]="getModel().footer.type === null">
{{getModel().footer.label}}
</ng-template>
<ng-template [ngIf]="getModel().footer.type !== null">
<phx-component-wrapper [type]="getModel().footer.type" [data]="getModel().footer.model"></phx-component-wrapper>
</ng-template>
</ng-template>
</div>
</div>
<div class="right">
<ng-template [ngIf]="getModel() !== null && getModel().steps !== null">
<!-- <phx-component-wrapper *ngFor="let item of model.steps; let i = index;" [class.active]="isStepSelected(i)" [type]="item.componentType"
[data]="data" [model]="item.componentModel" [dataParent]="this" [handler]="stepsComponentHandler"></phx-component-wrapper> -->
<phx-component-wrapper *ngFor="let item of getModel().steps; let i = index;" [class.active]="isStepSelected(i)" [type]="item.componentType"
[data]="getData()" [model]="item.componentModel" [dataParent]="this"></phx-component-wrapper>
</ng-template>
</div>
</div>
`
},] },
];
/** @nocollapse */
PaginationWizardPane.ctorParameters = () => [
{ type: PhloxAppService, },
{ type: ElementRef, },
];
PaginationWizardPane.propDecorators = {
"model": [{ type: Input },],
"dataParent": [{ type: Input },],
"ignoreParentData": [{ type: Input },],
"data": [{ type: Input },],
"ignoreParentDisabled": [{ type: Input },],
"delegateHistory": [{ type: Input },],
"onDisabled": [{ type: Input },],
"onEnabled": [{ type: Input },],
"loadingEnabled": [{ type: Input },],
"i18nKey": [{ type: Input },],
"bypass": [{ type: Input, args: ['i18nBypass',] },],
"options": [{ type: Input },],
"disabled": [{ type: Input },],
};
tslib_1.__decorate([
Option('change'),
tslib_1.__metadata("design:type", EventEmitter)
], PaginationWizardPane.prototype, "changeEvent", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], PaginationWizardPane.prototype, "dataParent", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], PaginationWizardPane.prototype, "ignoreParentData", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], PaginationWizardPane.prototype, "data", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], PaginationWizardPane.prototype, "ignoreParentDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], PaginationWizardPane.prototype, "delegateHistory", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], PaginationWizardPane.prototype, "onDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], PaginationWizardPane.prototype, "onEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], PaginationWizardPane.prototype, "loadingEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], PaginationWizardPane.prototype, "i18nKey", void 0);
tslib_1.__decorate([
Option('i18nBypass'),
tslib_1.__metadata("design:type", Boolean)
], PaginationWizardPane.prototype, "bypass", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], PaginationWizardPane.prototype, "disabled", void 0);
function PaginationWizardPane_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
PaginationWizardPane.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
PaginationWizardPane.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
PaginationWizardPane.propDecorators;
/** @type {?} */
PaginationWizardPane.TYPE_NAME;
/** @type {?} */
PaginationWizardPane.prototype.model;
/** @type {?} */
PaginationWizardPane.prototype.changeEvent;
/** @type {?} */
PaginationWizardPane.prototype.dataParent;
/** @type {?} */
PaginationWizardPane.prototype.ignoreParentData;
/** @type {?} */
PaginationWizardPane.prototype.data;
/** @type {?} */
PaginationWizardPane.prototype.ignoreParentDisabled;
/** @type {?} */
PaginationWizardPane.prototype.delegateHistory;
/** @type {?} */
PaginationWizardPane.prototype.onDisabled;
/** @type {?} */
PaginationWizardPane.prototype.onEnabled;
/** @type {?} */
PaginationWizardPane.prototype.loadingEnabled;
/** @type {?} */
PaginationWizardPane.prototype.i18nKey;
/** @type {?} */
PaginationWizardPane.prototype.bypass;
/** @type {?} */
PaginationWizardPane.prototype.options;
/** @type {?} */
PaginationWizardPane.prototype.disabled;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnaW5hdGlvbldpemFyZFBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L1BhZ2luYXRpb25XaXphcmRQYW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsVUFBVSxFQUFFLEtBQUssRUFBYSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUlyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJdkQsdUJBQU0sU0FBUyxHQUFXLDRCQUE0QixDQUFDO0FBc0R2RCxNQUFNLDJCQUE0QixTQUFRLGtCQUFrQjs7Ozs7SUE4QzFELFlBQVksTUFBdUIsRUFBRSxVQUFzQjtRQUN6RCxLQUFLLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0tBQzNCOzs7O0lBRU0sUUFBUTtRQUNiLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQzs7Ozs7O0lBR1osZUFBZSxDQUFDLEtBQWE7Ozs7O0lBRTdCLGVBQWUsQ0FBQyxLQUFhOztpQ0F0RE8sU0FBUzs7WUF0RHJELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUU7Z0JBQ25CLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBK0NYO2FBQ0E7Ozs7WUEvRFEsZUFBZTtZQUZJLFVBQVU7OztzQkFzRW5DLEtBQUs7MkJBTUwsS0FBSztpQ0FHTCxLQUFLO3FCQUdMLEtBQUs7cUNBR0wsS0FBSztnQ0FHTCxLQUFLOzJCQUdMLEtBQUs7MEJBR0wsS0FBSzsrQkFHTCxLQUFLO3dCQUdMLEtBQUs7dUJBR0wsS0FBSyxTQUFDLFlBQVk7d0JBR2xCLEtBQUs7eUJBRUwsS0FBSzs7O0lBcENMLE1BQU0sQ0FBQyxRQUFRLENBQUM7c0NBQ00sWUFBWTs7O0lBSWxDLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTtzQ0FDYSxRQUFROzs7SUFFN0IsTUFBTSxFQUFFO3NDQUNZLFFBQVE7OztJQUU1QixNQUFNLEVBQUU7Ozs7SUFHUixNQUFNLEVBQUU7Ozs7SUFHUixNQUFNLENBQUMsWUFBWSxDQUFDOzs7O0lBS3BCLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdpemFyZE1vZGVsIH0gZnJvbSAnLi9tb2RlbC9XaXphcmRNb2RlbCc7XG5pbXBvcnQgeyBQaGxveEFwcFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL1BobG94QXBwU2VydmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IElIYXNNb2RlbCB9IGZyb20gJy4vSUhhc01vZGVsJztcbmltcG9ydCB7IElIYXNEYXRhIH0gZnJvbSAnLi9JSGFzRGF0YSc7XG5pbXBvcnQgeyBQaGxveEFwcCB9IGZyb20gJy4vUGhsb3hBcHAuY29tcG9uZW50JztcbmltcG9ydCB7IEFic3RyYWN0V2l6YXJkUGFuZSB9IGZyb20gJy4vQWJzdHJhY3RXaXphcmRQYW5lJztcbmltcG9ydCB7IElDaGFuZ2VhYmxlIH0gZnJvbSAnLi9JQ2hhbmdlYWJsZSc7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICcuLi9kZWNvcmF0b3IvT3B0aW9uLmRlY29yYXRvcic7XG5cbmRlY2xhcmUgdmFyICQ6IGFueTtcblxuY29uc3QgVFlQRV9OQU1FOiBzdHJpbmcgPSBcInBoeC1wYWdpbmF0aW9uLXdpemFyZC1wYW5lXCI7XG5cbkBDb21wb25lbnQoe1xuICBtb2R1bGVJZDogbW9kdWxlLmlkLFxuICBzZWxlY3RvcjogVFlQRV9OQU1FLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJwaHgtcGFnaW5hdGlvbi13aXphcmQtcGFuZVwiPlxuXHQ8ZGl2IGNsYXNzPVwibGVmdFwiIFtzdHlsZS5wYWRkaW5nLXRvcF09XCJnZXRIZWFkZXJIZWlnaHQoKSArICdwdCdcIiBbc3R5bGUucGFkZGluZy1ib3R0b21dPVwiZ2V0Rm9vdGVySGVpZ2h0KCkgKyAncHQnXCI+XG5cdFx0PGRpdiBjbGFzcz1cImhlYWRlclwiIFtzdHlsZS5oZWlnaHRdPVwiZ2V0SGVhZGVySGVpZ2h0KCkgKyAncHQnXCI+XG5cdFx0XHQ8bmctdGVtcGxhdGUgW25nSWZdPVwiZ2V0TW9kZWwoKSAhPT0gbnVsbCAmJiBnZXRNb2RlbCgpLmhlYWRlciAhPT0gbnVsbFwiPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgW25nSWZdPVwiZ2V0TW9kZWwoKS5oZWFkZXIudHlwZSA9PT0gbnVsbFwiPlxuXHRcdFx0XHRcdDxkaXYgKm5nSWY9XCJnZXRNb2RlbCgpLmhlYWRlci5pbWFnZVVSTCAhPT0gbnVsbCAmJiBnZXRNb2RlbCgpLmhlYWRlci5pbWFnZVVSTCAhPT0gJydcIiBjbGFzcz1cImhlYWRlci1pbWFnZVwiPlxuXHRcdFx0XHRcdFx0PGltZyBzcmM9XCJ7e2dldE1vZGVsKCkuaGVhZGVyLmltYWdlVVJMfX1cIj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaGVhZGVyLWxhYmVsXCI+e3tnZXRNb2RlbCgpLmhlYWRlci5sYWJlbH19PC9kaXY+XG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJnZXRNb2RlbCgpLmhlYWRlci50eXBlICE9PSBudWxsXCI+XG5cdFx0XHRcdFx0PHBoeC1jb21wb25lbnQtd3JhcHBlciBbdHlwZV09XCJnZXRNb2RlbCgpLmhlYWRlci50eXBlXCIgW2RhdGFdPVwiZ2V0TW9kZWwoKS5oZWFkZXIubW9kZWxcIj48L3BoeC1jb21wb25lbnQtd3JhcHBlcj5cblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cImJvZHlcIj5cblx0XHRcdDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJnZXRNb2RlbCgpICE9PSBudWxsICYmIGdldE1vZGVsKCkuc3RlcHMgIT09IG51bGxcIj5cblx0XHRcdFx0PGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRNb2RlbCgpLnN0ZXBzOyBsZXQgaSA9IGluZGV4O1wiIGNsYXNzPVwic3RlcFwiIFtjbGFzcy5hY3RpdmVdPVwiaXNTdGVwU2VsZWN0ZWQoaSlcIiA+XG5cdFx0XHRcdFx0PG5nLXRlbXBsYXRlIFtuZ0lmXT1cIml0ZW0udHlwZSA9PT0gbnVsbFwiPlxuXHRcdFx0XHRcdFx0PGRpdiAoY2xpY2spPVwic3RlcFNlbGVjdGVkKGkpXCI+IHt7aXRlbS5sYWJlbH19IDwvZGl2PlxuXHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdFx0PG5nLXRlbXBsYXRlIFtuZ0lmXT1cIml0ZW0udHlwZSAhPT0gbnVsbFwiPlxuXHRcdFx0XHRcdFx0PHBoeC1jb21wb25lbnQtd3JhcHBlciBbdHlwZV09XCJpdGVtLnR5cGVcIiBbZGF0YV09XCJpdGVtLm1vZGVsXCIgKGNsaWNrKT1cInN0ZXBTZWxlY3RlZChpKVwiPjwvcGh4LWNvbXBvbmVudC13cmFwcGVyPlxuXHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwiZm9vdGVyXCIgW3N0eWxlLmhlaWdodF09XCJnZXRGb290ZXJIZWlnaHQoKSArICdwdCdcIj5cblx0XHRcdDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJnZXRNb2RlbCgpICE9PSBudWxsICYmIGdldE1vZGVsKCkuZm9vdGVyICE9PSBudWxsXCI+XG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJnZXRNb2RlbCgpLmZvb3Rlci50eXBlID09PSBudWxsXCI+XG5cdFx0XHRcdFx0e3tnZXRNb2RlbCgpLmZvb3Rlci5sYWJlbH19XG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJnZXRNb2RlbCgpLmZvb3Rlci50eXBlICE9PSBudWxsXCI+XG5cdFx0XHRcdFx0PHBoeC1jb21wb25lbnQtd3JhcHBlciBbdHlwZV09XCJnZXRNb2RlbCgpLmZvb3Rlci50eXBlXCIgW2RhdGFdPVwiZ2V0TW9kZWwoKS5mb290ZXIubW9kZWxcIj48L3BoeC1jb21wb25lbnQtd3JhcHBlcj5cblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuXHQ8ZGl2IGNsYXNzPVwicmlnaHRcIj5cblx0XHQ8bmctdGVtcGxhdGUgW25nSWZdPVwiZ2V0TW9kZWwoKSAhPT0gbnVsbCAmJiBnZXRNb2RlbCgpLnN0ZXBzICE9PSBudWxsXCI+XG5cdFx0XHQ8IS0tIDxwaHgtY29tcG9uZW50LXdyYXBwZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWwuc3RlcHM7IGxldCBpID0gaW5kZXg7XCIgW2NsYXNzLmFjdGl2ZV09XCJpc1N0ZXBTZWxlY3RlZChpKVwiIFt0eXBlXT1cIml0ZW0uY29tcG9uZW50VHlwZVwiXG5cdFx0XHRcdFtkYXRhXT1cImRhdGFcIiBbbW9kZWxdPVwiaXRlbS5jb21wb25lbnRNb2RlbFwiIFtkYXRhUGFyZW50XT1cInRoaXNcIiBbaGFuZGxlcl09XCJzdGVwc0NvbXBvbmVudEhhbmRsZXJcIj48L3BoeC1jb21wb25lbnQtd3JhcHBlcj4gLS0+XG5cdFx0XHRcdDxwaHgtY29tcG9uZW50LXdyYXBwZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0TW9kZWwoKS5zdGVwczsgbGV0IGkgPSBpbmRleDtcIiBbY2xhc3MuYWN0aXZlXT1cImlzU3RlcFNlbGVjdGVkKGkpXCIgW3R5cGVdPVwiaXRlbS5jb21wb25lbnRUeXBlXCJcblx0XHRcdFx0XHRbZGF0YV09XCJnZXREYXRhKClcIiBbbW9kZWxdPVwiaXRlbS5jb21wb25lbnRNb2RlbFwiIFtkYXRhUGFyZW50XT1cInRoaXNcIj48L3BoeC1jb21wb25lbnQtd3JhcHBlcj5cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHQ8L2Rpdj5cbjwvZGl2PlxuYFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uV2l6YXJkUGFuZSBleHRlbmRzIEFic3RyYWN0V2l6YXJkUGFuZSBpbXBsZW1lbnRzIE9uSW5pdCwgSUhhc01vZGVsLCBJQ2hhbmdlYWJsZSB7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUWVBFX05BTUU6IHN0cmluZyA9IFRZUEVfTkFNRTtcblxuICBASW5wdXQoKVxuICBwcm90ZWN0ZWQgbW9kZWw6IFdpemFyZE1vZGVsO1xuICBAT3B0aW9uKCdjaGFuZ2UnKVxuICBwcm90ZWN0ZWQgY2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICAvLyBSZS1kZWNsYXJlIGZpZWxkIHRvIGRlY2xhcmUgbmcgQElucHV0LlxuICAvLyAtLS0gZnJvbSBBYnN0cmFjdEhhc0RhdGFcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBkYXRhUGFyZW50OiBJSGFzRGF0YTtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpZ25vcmVQYXJlbnREYXRhOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGRhdGE6IGFueTtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpZ25vcmVQYXJlbnREaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBkZWxlZ2F0ZUhpc3Rvcnk6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgb25EaXNhYmxlZDogRnVuY3Rpb247XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgb25FbmFibGVkOiBGdW5jdGlvbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBsb2FkaW5nRW5hYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpMThuS2V5OiBzdHJpbmc7XG4gIEBJbnB1dCgnaTE4bkJ5cGFzcycpXG4gIEBPcHRpb24oJ2kxOG5CeXBhc3MnKVxuICBwcm90ZWN0ZWQgYnlwYXNzOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBwcm90ZWN0ZWQgb3B0aW9uczogYW55O1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKGFwcFN2YzogUGhsb3hBcHBTZXJ2aWNlLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoYXBwU3ZjLCBlbGVtZW50UmVmKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbiAgcHVibGljIHNob3dTdGVwQ29udGVudChpbmRleDogbnVtYmVyKTogdm9pZCB7IH1cblxuICBwdWJsaWMgZ2V0U3RlcEluc3RhbmNlKGluZGV4OiBudW1iZXIpOiBhbnkgeyB9XG59XG4iXX0=