UNPKG

ng-zorro-antd-mobile

Version:

An enterprise-class mobile UI components based on Ant Design and Angular

219 lines 16.5 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, ContentChildren, QueryList, HostBinding, Renderer2, ElementRef } from '@angular/core'; import { StepStatusEnum, StepDirectionEnum } from './step/step.component'; import { StepComponent } from './step/step.component'; export class StepsComponent { /** * @param {?} _elf * @param {?} _render */ constructor(_elf, _render) { this._elf = _elf; this._render = _render; this.prefixCls = 'am-steps'; this._current = 0; this._status = StepStatusEnum.PROCESS; this._direction = StepDirectionEnum.VERTICAL; this.clsSteps = true; } /** * @param {?} value * @return {?} */ set current(value) { if (value >= 0) { this._current = value; } } /** * @param {?} value * @return {?} */ set size(value) { this._size = value; this.setCls(); } /** * @param {?} value * @return {?} */ set status(value) { this._status = value; if (this.stepItems) { this.setStepStyle(); } } /** * @param {?} value * @return {?} */ set direction(value) { this._direction = value; this.setCls(); } /** * @return {?} */ setStepStyle() { /** @type {?} */ const itemCount = this.stepItems.length; /** @type {?} */ const itemArr = this.stepItems['_results']; for (let index = 0; index < itemCount; index++) { /** @type {?} */ const step = itemArr[index]; step.stepNumber = index + 1; if (index < itemCount - 1 && itemArr[index + 1].status === StepStatusEnum.ERROR) { step.stepItemCls = step.stepItemCls ? Object.assign(step.stepItemCls, { 'error-tail': true }) : { 'error-tail': true }; } /** @type {?} */ let icon = step.icon; if (!step.status) { if (index === this._current) { step.status = this._status; } else if (index < this._current) { step.status = StepStatusEnum.FINISH; } else { step.status = StepStatusEnum.WAIT; } } if (!icon) { if (index < this._current) { icon = 'check-circle-o'; } else if (index > this._current) { icon = 'ellipsis'; step.stepItemCls = step.stepItemCls ? Object.assign(step.stepItemCls, { 'ellipsis-item': true }) : { 'ellipsis-item': true }; } if ((this._status === StepStatusEnum.ERROR && index === this._current) || step.status === StepStatusEnum.ERROR) { icon = 'cross-circle-o'; } } step.icon = icon; step.iconSize = this._size === 'small' ? (this._status === StepStatusEnum.WAIT ? 'xxs' : 'xs') : 'md'; step.setClass(); } } /** * @return {?} */ setCls() { if (this._direction === StepDirectionEnum.HORIZONTAL) { this.clsStepsLabelVtl = true; this.clsStepsHztl = true; this.clsStepsVtl = false; } else if (this._direction === StepDirectionEnum.VERTICAL) { this.clsStepsVtl = true; this.clsStepsHztl = false; } if (this._size === 'small') { this.clsStepsSmall = true; } else { this.clsStepsSmall = false; } } /** * @return {?} */ ngOnInit() { this.setCls(); } /** * @return {?} */ ngAfterContentInit() { setTimeout((/** * @return {?} */ () => { this.setStepStyle(); }), 0); } } StepsComponent.decorators = [ { type: Component, args: [{ selector: 'Steps,nzm-steps', template: "<ng-content></ng-content>\n" }] } ]; /** @nocollapse */ StepsComponent.ctorParameters = () => [ { type: ElementRef }, { type: Renderer2 } ]; StepsComponent.propDecorators = { stepItems: [{ type: ContentChildren, args: [StepComponent,] }], current: [{ type: Input }], size: [{ type: Input }], status: [{ type: Input }], direction: [{ type: Input }], clsSteps: [{ type: HostBinding, args: ['class.am-steps',] }], clsStepsSmall: [{ type: HostBinding, args: ['class.am-steps-small',] }], clsStepsLabelVtl: [{ type: HostBinding, args: ['class.am-steps-label-vertical',] }], clsStepsVtl: [{ type: HostBinding, args: ['class.am-steps-vertical',] }], clsStepsHztl: [{ type: HostBinding, args: ['class.am-steps-horizontal',] }] }; if (false) { /** @type {?} */ StepsComponent.prototype.prefixCls; /** * @type {?} * @private */ StepsComponent.prototype._current; /** * @type {?} * @private */ StepsComponent.prototype._size; /** * @type {?} * @private */ StepsComponent.prototype._status; /** * @type {?} * @private */ StepsComponent.prototype._direction; /** * @type {?} * @private */ StepsComponent.prototype._stepsCls; /** @type {?} */ StepsComponent.prototype.stepItems; /** @type {?} */ StepsComponent.prototype.clsSteps; /** @type {?} */ StepsComponent.prototype.clsStepsSmall; /** @type {?} */ StepsComponent.prototype.clsStepsLabelVtl; /** @type {?} */ StepsComponent.prototype.clsStepsVtl; /** @type {?} */ StepsComponent.prototype.clsStepsHztl; /** * @type {?} * @private */ StepsComponent.prototype._elf; /** * @type {?} * @private */ StepsComponent.prototype._render; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctem9ycm8tYW50ZC1tb2JpbGUvIiwic291cmNlcyI6WyJzdGVwcy9zdGVwcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBRVQsV0FBVyxFQUNYLFNBQVMsRUFDVCxVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU10RCxNQUFNLE9BQU8sY0FBYzs7Ozs7SUErQ3pCLFlBQW9CLElBQWdCLEVBQVUsT0FBa0I7UUFBNUMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVc7UUE5Q2hFLGNBQVMsR0FBVyxVQUFVLENBQUM7UUFFdkIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUVyQixZQUFPLEdBQW1CLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFDakQsZUFBVSxHQUFzQixpQkFBaUIsQ0FBQyxRQUFRLENBQUM7UUErQm5FLGFBQVEsR0FBWSxJQUFJLENBQUM7SUFVMEMsQ0FBQzs7Ozs7SUFuQ3BFLElBQ0ksT0FBTyxDQUFDLEtBQUs7UUFDZixJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjtJQUNILENBQUM7Ozs7O0lBQ0QsSUFDSSxJQUFJLENBQUMsS0FBSztRQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDOzs7OztJQUNELElBQ0ksTUFBTSxDQUFDLEtBQXFCO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDOzs7OztJQUNELElBQ0ksU0FBUyxDQUFDLEtBQXdCO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDOzs7O0lBZUQsWUFBWTs7Y0FDSixTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNOztjQUNqQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7UUFDMUMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFNBQVMsRUFBRSxLQUFLLEVBQUUsRUFBRTs7a0JBQ3hDLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUM1QixJQUFJLEtBQUssR0FBRyxTQUFTLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLGNBQWMsQ0FBQyxLQUFLLEVBQUU7Z0JBQy9FLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVc7b0JBQ2pDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUM7b0JBQ3pELENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUM1Qjs7Z0JBQ0csSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNoQixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7aUJBQzVCO3FCQUFNLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQztpQkFDckM7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDO2lCQUNuQzthQUNGO1lBQ0QsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDVCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUN6QixJQUFJLEdBQUcsZ0JBQWdCLENBQUM7aUJBQ3pCO3FCQUFNLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ2hDLElBQUksR0FBRyxVQUFVLENBQUM7b0JBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVc7d0JBQ2pDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7d0JBQzVELENBQUMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQztpQkFDL0I7Z0JBQ0QsSUFDRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssY0FBYyxDQUFDLEtBQUssSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDbEUsSUFBSSxDQUFDLE1BQU0sS0FBSyxjQUFjLENBQUMsS0FBSyxFQUNwQztvQkFDQSxJQUFJLEdBQUcsZ0JBQWdCLENBQUM7aUJBQ3pCO2FBQ0Y7WUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3RHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7Ozs7SUFFRCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLGlCQUFpQixDQUFDLFVBQVUsRUFBRTtZQUNwRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1lBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1NBQzFCO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUN6RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjtRQUNELElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDM0I7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQzs7OztJQUVELGtCQUFrQjtRQUNoQixVQUFVOzs7UUFBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs7O1lBeEhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQix1Q0FBcUM7YUFDdEM7Ozs7WUFSQyxVQUFVO1lBRFYsU0FBUzs7O3dCQW1CUixlQUFlLFNBQUMsYUFBYTtzQkFHN0IsS0FBSzttQkFNTCxLQUFLO3FCQUtMLEtBQUs7d0JBT0wsS0FBSzt1QkFNTCxXQUFXLFNBQUMsZ0JBQWdCOzRCQUU1QixXQUFXLFNBQUMsc0JBQXNCOytCQUVsQyxXQUFXLFNBQUMsK0JBQStCOzBCQUUzQyxXQUFXLFNBQUMseUJBQXlCOzJCQUVyQyxXQUFXLFNBQUMsMkJBQTJCOzs7O0lBM0N4QyxtQ0FBK0I7Ozs7O0lBRS9CLGtDQUE2Qjs7Ozs7SUFDN0IsK0JBQXNCOzs7OztJQUN0QixpQ0FBeUQ7Ozs7O0lBQ3pELG9DQUFtRTs7Ozs7SUFDbkUsbUNBQTBCOztJQUUxQixtQ0FDb0M7O0lBMEJwQyxrQ0FDeUI7O0lBQ3pCLHVDQUN1Qjs7SUFDdkIsMENBQzBCOztJQUMxQixxQ0FDcUI7O0lBQ3JCLHNDQUNzQjs7Ozs7SUFFViw4QkFBd0I7Ozs7O0lBQUUsaUNBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgSG9zdEJpbmRpbmcsXG4gIFJlbmRlcmVyMixcbiAgRWxlbWVudFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0ZXBTdGF0dXNFbnVtLCBTdGVwRGlyZWN0aW9uRW51bSB9IGZyb20gJy4vc3RlcC9zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwL3N0ZXAuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnU3RlcHMsbnptLXN0ZXBzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0ZXBzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTdGVwc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIHByZWZpeENsczogc3RyaW5nID0gJ2FtLXN0ZXBzJztcblxuICBwcml2YXRlIF9jdXJyZW50OiBudW1iZXIgPSAwO1xuICBwcml2YXRlIF9zaXplOiBzdHJpbmc7XG4gIHByaXZhdGUgX3N0YXR1czogU3RlcFN0YXR1c0VudW0gPSBTdGVwU3RhdHVzRW51bS5QUk9DRVNTO1xuICBwcml2YXRlIF9kaXJlY3Rpb246IFN0ZXBEaXJlY3Rpb25FbnVtID0gU3RlcERpcmVjdGlvbkVudW0uVkVSVElDQUw7XG4gIHByaXZhdGUgX3N0ZXBzQ2xzOiBvYmplY3Q7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihTdGVwQ29tcG9uZW50KVxuICBzdGVwSXRlbXM6IFF1ZXJ5TGlzdDxTdGVwQ29tcG9uZW50PjtcblxuICBASW5wdXQoKVxuICBzZXQgY3VycmVudCh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA+PSAwKSB7XG4gICAgICB0aGlzLl9jdXJyZW50ID0gdmFsdWU7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBzaXplKHZhbHVlKSB7XG4gICAgdGhpcy5fc2l6ZSA9IHZhbHVlO1xuICAgIHRoaXMuc2V0Q2xzKCk7XG4gIH1cbiAgQElucHV0KClcbiAgc2V0IHN0YXR1cyh2YWx1ZTogU3RlcFN0YXR1c0VudW0pIHtcbiAgICB0aGlzLl9zdGF0dXMgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5zdGVwSXRlbXMpIHtcbiAgICAgIHRoaXMuc2V0U3RlcFN0eWxlKCk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBkaXJlY3Rpb24odmFsdWU6IFN0ZXBEaXJlY3Rpb25FbnVtKSB7XG4gICAgdGhpcy5fZGlyZWN0aW9uID0gdmFsdWU7XG4gICAgdGhpcy5zZXRDbHMoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW0tc3RlcHMnKVxuICBjbHNTdGVwczogYm9vbGVhbiA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW0tc3RlcHMtc21hbGwnKVxuICBjbHNTdGVwc1NtYWxsOiBib29sZWFuO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFtLXN0ZXBzLWxhYmVsLXZlcnRpY2FsJylcbiAgY2xzU3RlcHNMYWJlbFZ0bDogYm9vbGVhbjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hbS1zdGVwcy12ZXJ0aWNhbCcpXG4gIGNsc1N0ZXBzVnRsOiBib29sZWFuO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFtLXN0ZXBzLWhvcml6b250YWwnKVxuICBjbHNTdGVwc0h6dGw6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxmOiBFbGVtZW50UmVmLCBwcml2YXRlIF9yZW5kZXI6IFJlbmRlcmVyMikge31cblxuICBzZXRTdGVwU3R5bGUoKSB7XG4gICAgY29uc3QgaXRlbUNvdW50ID0gdGhpcy5zdGVwSXRlbXMubGVuZ3RoO1xuICAgIGNvbnN0IGl0ZW1BcnIgPSB0aGlzLnN0ZXBJdGVtc1snX3Jlc3VsdHMnXTtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgaXRlbUNvdW50OyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBzdGVwID0gaXRlbUFycltpbmRleF07XG4gICAgICBzdGVwLnN0ZXBOdW1iZXIgPSBpbmRleCArIDE7XG4gICAgICBpZiAoaW5kZXggPCBpdGVtQ291bnQgLSAxICYmIGl0ZW1BcnJbaW5kZXggKyAxXS5zdGF0dXMgPT09IFN0ZXBTdGF0dXNFbnVtLkVSUk9SKSB7XG4gICAgICAgIHN0ZXAuc3RlcEl0ZW1DbHMgPSBzdGVwLnN0ZXBJdGVtQ2xzXG4gICAgICAgICAgPyBPYmplY3QuYXNzaWduKHN0ZXAuc3RlcEl0ZW1DbHMsIHsgJ2Vycm9yLXRhaWwnOiB0cnVlIH0pXG4gICAgICAgICAgOiB7ICdlcnJvci10YWlsJzogdHJ1ZSB9O1xuICAgICAgfVxuICAgICAgbGV0IGljb24gPSBzdGVwLmljb247XG4gICAgICBpZiAoIXN0ZXAuc3RhdHVzKSB7XG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5fY3VycmVudCkge1xuICAgICAgICAgIHN0ZXAuc3RhdHVzID0gdGhpcy5fc3RhdHVzO1xuICAgICAgICB9IGVsc2UgaWYgKGluZGV4IDwgdGhpcy5fY3VycmVudCkge1xuICAgICAgICAgIHN0ZXAuc3RhdHVzID0gU3RlcFN0YXR1c0VudW0uRklOSVNIO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0ZXAuc3RhdHVzID0gU3RlcFN0YXR1c0VudW0uV0FJVDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFpY29uKSB7XG4gICAgICAgIGlmIChpbmRleCA8IHRoaXMuX2N1cnJlbnQpIHtcbiAgICAgICAgICBpY29uID0gJ2NoZWNrLWNpcmNsZS1vJztcbiAgICAgICAgfSBlbHNlIGlmIChpbmRleCA+IHRoaXMuX2N1cnJlbnQpIHtcbiAgICAgICAgICBpY29uID0gJ2VsbGlwc2lzJztcbiAgICAgICAgICBzdGVwLnN0ZXBJdGVtQ2xzID0gc3RlcC5zdGVwSXRlbUNsc1xuICAgICAgICAgICAgPyBPYmplY3QuYXNzaWduKHN0ZXAuc3RlcEl0ZW1DbHMsIHsgJ2VsbGlwc2lzLWl0ZW0nOiB0cnVlIH0pXG4gICAgICAgICAgICA6IHsgJ2VsbGlwc2lzLWl0ZW0nOiB0cnVlIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0aGlzLl9zdGF0dXMgPT09IFN0ZXBTdGF0dXNFbnVtLkVSUk9SICYmIGluZGV4ID09PSB0aGlzLl9jdXJyZW50KSB8fFxuICAgICAgICAgIHN0ZXAuc3RhdHVzID09PSBTdGVwU3RhdHVzRW51bS5FUlJPUlxuICAgICAgICApIHtcbiAgICAgICAgICBpY29uID0gJ2Nyb3NzLWNpcmNsZS1vJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3RlcC5pY29uID0gaWNvbjtcbiAgICAgIHN0ZXAuaWNvblNpemUgPSB0aGlzLl9zaXplID09PSAnc21hbGwnID8gKHRoaXMuX3N0YXR1cyA9PT0gU3RlcFN0YXR1c0VudW0uV0FJVCA/ICd4eHMnIDogJ3hzJykgOiAnbWQnO1xuICAgICAgc3RlcC5zZXRDbGFzcygpO1xuICAgIH1cbiAgfVxuXG4gIHNldENscygpIHtcbiAgICBpZiAodGhpcy5fZGlyZWN0aW9uID09PSBTdGVwRGlyZWN0aW9uRW51bS5IT1JJWk9OVEFMKSB7XG4gICAgICB0aGlzLmNsc1N0ZXBzTGFiZWxWdGwgPSB0cnVlO1xuICAgICAgdGhpcy5jbHNTdGVwc0h6dGwgPSB0cnVlO1xuICAgICAgdGhpcy5jbHNTdGVwc1Z0bCA9IGZhbHNlO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fZGlyZWN0aW9uID09PSBTdGVwRGlyZWN0aW9uRW51bS5WRVJUSUNBTCkge1xuICAgICAgdGhpcy5jbHNTdGVwc1Z0bCA9IHRydWU7XG4gICAgICB0aGlzLmNsc1N0ZXBzSHp0bCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5fc2l6ZSA9PT0gJ3NtYWxsJykge1xuICAgICAgdGhpcy5jbHNTdGVwc1NtYWxsID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbHNTdGVwc1NtYWxsID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRDbHMoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RlcFN0eWxlKCk7XG4gICAgfSwgMCk7XG4gIH1cbn1cbiJdfQ==