UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

362 lines (361 loc) 22.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, ElementRef, Input, EventEmitter } from '@angular/core'; import { AbstractDataView } from '../../../component/dataview/AbstractDataView'; import { MaterialStepperModel } from '../model/MaterialStepperModel'; import { Option } from '../../../decorator/Option.decorator'; import { I18N } from '../../../decorator/I18N.decorator'; var /** @type {?} */ TYPE_NAME = "material-stepper"; var MaterialStepper = /** @class */ (function (_super) { tslib_1.__extends(MaterialStepper, _super); function MaterialStepper(elementRef) { var _this = _super.call(this, elementRef) || this; _this.editable = true; _this.linear = false; _this.stepInstances = !_this.stepInstances ? [] : _this.stepInstances; _this.handler = function (result) { _this.stepInstances.push(result.instance); }; return _this; } /** * @return {?} */ MaterialStepper.prototype.ngOnInit = /** * @return {?} */ function () { _super.prototype.ngOnInit.call(this); if (!this.model) { this.model = new MaterialStepperModel(); } }; /** * @return {?} */ MaterialStepper.prototype.isSelfDataDirty = /** * @return {?} */ function () { return false; }; /** * @return {?} */ MaterialStepper.prototype.selfSaveData = /** * @return {?} */ function () { }; /** * @return {?} */ MaterialStepper.prototype.selfResetData = /** * @return {?} */ function () { }; /** * @return {?} */ MaterialStepper.prototype.isHorizontal = /** * @return {?} */ function () { return this.horizontal; }; /** * @param {?} horizontal * @return {?} */ MaterialStepper.prototype.setHorizontal = /** * @param {?} horizontal * @return {?} */ function (horizontal) { return this.horizontal = horizontal; }; /** * @return {?} */ MaterialStepper.prototype.isLinear = /** * @return {?} */ function () { return this.linear; }; /** * @param {?} linear * @return {?} */ MaterialStepper.prototype.setLinear = /** * @param {?} linear * @return {?} */ function (linear) { return this.linear = linear; }; /** * @return {?} */ MaterialStepper.prototype.getModel = /** * @return {?} */ function () { return this.model; }; /** * @param {?} model * @return {?} */ MaterialStepper.prototype.setModel = /** * @param {?} model * @return {?} */ function (model) { this.model = model; }; /** * @return {?} */ MaterialStepper.prototype.isEditable = /** * @return {?} */ function () { return this.editable; }; /** * @param {?} editable * @return {?} */ MaterialStepper.prototype.setEditable = /** * @param {?} editable * @return {?} */ function (editable) { return this.editable = editable; }; /** * @return {?} */ MaterialStepper.prototype.getEditIcon = /** * @return {?} */ function () { return this.editIcon; }; /** * @param {?} editIcon * @return {?} */ MaterialStepper.prototype.setEditIcon = /** * @param {?} editIcon * @return {?} */ function (editIcon) { return this.editIcon = editIcon; }; /** * @return {?} */ MaterialStepper.prototype.getDoneIcon = /** * @return {?} */ function () { return this.doneIcon; }; /** * @param {?} doneIcon * @return {?} */ MaterialStepper.prototype.setDoneIcon = /** * @param {?} doneIcon * @return {?} */ function (doneIcon) { return this.doneIcon = doneIcon; }; /** * @return {?} */ MaterialStepper.prototype.getStepInstances = /** * @return {?} */ function () { return this.getDataChildren(); }; /** * @param {?} index * @return {?} */ MaterialStepper.prototype.getStepInstance = /** * @param {?} index * @return {?} */ function (index) { var /** @type {?} */ steps = this.getStepInstances(); if (!steps || index < 0 || steps.length <= index) { return null; } return steps[index]; }; MaterialStepper.TYPE_NAME = TYPE_NAME; MaterialStepper.decorators = [ { type: Component, args: [{ moduleId: module.id, selector: TYPE_NAME, template: "<mat-horizontal-stepper [linear]=\"true\" #stepper>\n <mat-step label=\"Fill out your name\">\n <mat-form-field>\n <input matInput placeholder=\"Last name, First name\">\n </mat-form-field>\n <div>\n <button mat-button matStepperNext>Next</button>\n </div>\n </mat-step>\n <mat-step>\n <ng-template matStepLabel>Fill out your address</ng-template>\n <mat-form-field>\n <input matInput placeholder=\"Address\">\n </mat-form-field>\n <div>\n <button mat-button matStepperPrevious>Back</button>\n <button mat-button matStepperNext>Next</button>\n </div>\n </mat-step>\n <mat-step>\n <ng-template matStepLabel>Done</ng-template>\n You are now done.\n <div>\n <button mat-button matStepperPrevious>Back</button>\n <button mat-button (click)=\"stepper.reset()\">Reset</button>\n </div>\n </mat-step>\n</mat-horizontal-stepper>\n" },] }, ]; /** @nocollapse */ MaterialStepper.ctorParameters = function () { return [ { type: ElementRef, }, ]; }; MaterialStepper.propDecorators = { "dataParent": [{ type: Input },], "model": [{ type: Input },], "horizontal": [{ type: Input },], "linear": [{ type: Input },], "handler": [{ type: Input },], "editable": [{ type: Input },], "editIcon": [{ type: Input },], "doneIcon": [{ type: Input },], "stepInstances": [{ type: Input },], }; tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialStepper.prototype, "field", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], MaterialStepper.prototype, "dataParent", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialStepper.prototype, "ignoreParentData", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialStepper.prototype, "ignoreParentDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], MaterialStepper.prototype, "onDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], MaterialStepper.prototype, "onEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialStepper.prototype, "loadingEnabled", void 0); tslib_1.__decorate([ Option('load'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialStepper.prototype, "loadEvent", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialStepper.prototype, "delegateHistory", void 0); tslib_1.__decorate([ Option(), I18N(), tslib_1.__metadata("design:type", MaterialStepperModel) ], MaterialStepper.prototype, "model", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialStepper.prototype, "horizontal", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialStepper.prototype, "linear", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], MaterialStepper.prototype, "handler", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialStepper.prototype, "editable", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialStepper.prototype, "editIcon", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialStepper.prototype, "doneIcon", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Array) ], MaterialStepper.prototype, "stepInstances", void 0); return MaterialStepper; }(AbstractDataView)); export { MaterialStepper }; function MaterialStepper_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ MaterialStepper.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ MaterialStepper.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ MaterialStepper.propDecorators; /** @type {?} */ MaterialStepper.TYPE_NAME; /** @type {?} */ MaterialStepper.prototype.field; /** @type {?} */ MaterialStepper.prototype.dataParent; /** @type {?} */ MaterialStepper.prototype.ignoreParentData; /** @type {?} */ MaterialStepper.prototype.ignoreParentDisabled; /** @type {?} */ MaterialStepper.prototype.onDisabled; /** @type {?} */ MaterialStepper.prototype.onEnabled; /** @type {?} */ MaterialStepper.prototype.loadingEnabled; /** @type {?} */ MaterialStepper.prototype.loadEvent; /** @type {?} */ MaterialStepper.prototype.delegateHistory; /** @type {?} */ MaterialStepper.prototype.historyCursor; /** @type {?} */ MaterialStepper.prototype.histories; /** @type {?} */ MaterialStepper.prototype.elementRef; /** @type {?} */ MaterialStepper.prototype.dataChildren; /** @type {?} */ MaterialStepper.prototype.data; /** @type {?} */ MaterialStepper.prototype.kbShortcutService; /** @type {?} */ MaterialStepper.prototype._loaded; /** @type {?} */ MaterialStepper.prototype.model; /** @type {?} */ MaterialStepper.prototype.horizontal; /** @type {?} */ MaterialStepper.prototype.linear; /** @type {?} */ MaterialStepper.prototype.handler; /** @type {?} */ MaterialStepper.prototype.editable; /** @type {?} */ MaterialStepper.prototype.editIcon; /** @type {?} */ MaterialStepper.prototype.doneIcon; /** @type {?} */ MaterialStepper.prototype.stepInstances; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0ZXJpYWxTdGVwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL3RoZW1lL21hdGVyaWFsL2NvbXBvbmVudC9NYXRlcmlhbFN0ZXBwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxVQUFVLEVBQUUsS0FBSyxFQUFtQyxZQUFZLEVBQUcsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQVF6RCxxQkFBTSxTQUFTLEdBQVcsa0JBQWtCLENBQUM7O0lBb0NSLDJDQUFnQjtJQWlFbkQseUJBQVksVUFBc0I7UUFBbEMsWUFDRSxrQkFBTSxVQUFVLENBQUMsU0FVbEI7UUFSQyxLQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixLQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVwQixLQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsS0FBSSxDQUFDLGFBQWEsQ0FBQSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsYUFBYSxDQUFDO1FBRWxFLEtBQUksQ0FBQyxPQUFPLEdBQUcsVUFBQyxNQUFNO1lBQ3BCLEtBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMxQyxDQUFBOztLQUNGOzs7O0lBRU0sa0NBQVE7Ozs7UUFDYixpQkFBTSxRQUFRLFdBQUUsQ0FBQztRQUVqQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFL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RTs7OztRQUdSLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sRUFBRTs7OzBCQTlHWDtFQWdEcUMsZ0JBQWdCO1NBQXhDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgRWxlbWVudFJlZiwgSW5wdXQsIE91dHB1dCwgSG9zdExpc3RlbmVyLCBWaWV3Q2hpbGQsIEV2ZW50RW1pdHRlciAgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3REYXRhVmlldyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudC9kYXRhdmlldy9BYnN0cmFjdERhdGFWaWV3JztcclxuaW1wb3J0IHsgTWF0ZXJpYWxTdGVwcGVyTW9kZWwgfSBmcm9tICcuLi9tb2RlbC9NYXRlcmlhbFN0ZXBwZXJNb2RlbCc7XHJcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL2RlY29yYXRvci9PcHRpb24uZGVjb3JhdG9yJztcclxuaW1wb3J0IHsgSTE4TiB9IGZyb20gJy4uLy4uLy4uL2RlY29yYXRvci9JMThOLmRlY29yYXRvcic7XHJcbmltcG9ydCB7IElIYXNEYXRhIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50L0lIYXNEYXRhJztcclxuaW1wb3J0IHsgVUlIaXN0b3J5IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50L21vZGVsL1VJSGlzdG9yeSc7XHJcbmltcG9ydCB7IEtleWJvYXJkU2hvcnRjdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9LZXlib2FyZFNob3J0Y3V0U2VydmljZS5zZXJ2aWNlJztcclxuXHJcblxyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcblxyXG5jb25zdCBUWVBFX05BTUU6IHN0cmluZyA9IFwibWF0ZXJpYWwtc3RlcHBlclwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIG1vZHVsZUlkOiBtb2R1bGUuaWQsXHJcbiAgc2VsZWN0b3I6IFRZUEVfTkFNRSxcclxuICB0ZW1wbGF0ZTogYDxtYXQtaG9yaXpvbnRhbC1zdGVwcGVyIFtsaW5lYXJdPVwidHJ1ZVwiICNzdGVwcGVyPlxyXG4gIDxtYXQtc3RlcCBsYWJlbD1cIkZpbGwgb3V0IHlvdXIgbmFtZVwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJMYXN0IG5hbWUsIEZpcnN0IG5hbWVcIj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gbWF0U3RlcHBlck5leHQ+TmV4dDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtc3RlcD5cclxuICA8bWF0LXN0ZXA+XHJcbiAgICA8bmctdGVtcGxhdGUgbWF0U3RlcExhYmVsPkZpbGwgb3V0IHlvdXIgYWRkcmVzczwvbmctdGVtcGxhdGU+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIkFkZHJlc3NcIj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gbWF0U3RlcHBlclByZXZpb3VzPkJhY2s8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdFN0ZXBwZXJOZXh0Pk5leHQ8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbWF0LXN0ZXA+XHJcbiAgPG1hdC1zdGVwPlxyXG4gICAgPG5nLXRlbXBsYXRlIG1hdFN0ZXBMYWJlbD5Eb25lPC9uZy10ZW1wbGF0ZT5cclxuICAgIFlvdSBhcmUgbm93IGRvbmUuXHJcbiAgICA8ZGl2PlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gbWF0U3RlcHBlclByZXZpb3VzPkJhY2s8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJzdGVwcGVyLnJlc2V0KClcIj5SZXNldDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtc3RlcD5cclxuPC9tYXQtaG9yaXpvbnRhbC1zdGVwcGVyPlxyXG5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbFN0ZXBwZXIgZXh0ZW5kcyBBYnN0cmFjdERhdGFWaWV3IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUWVBFX05BTUU6IHN0cmluZyA9IFRZUEVfTkFNRTtcclxuXHJcbiAgLy8gLS0tIGZyb20gQWJzdHJhY3REYXRhVmlld1xyXG4gIEBPcHRpb24oKVxyXG4gIHByb3RlY3RlZCBmaWVsZDogc3RyaW5nO1xyXG5cclxuICAvLyAtLS0gZnJvbSBBYnN0cmFjdEhhc0RhdGFcclxuICBAT3B0aW9uKClcclxuICBASW5wdXQoKVxyXG4gIHByb3RlY3RlZCBkYXRhUGFyZW50OiBJSGFzRGF0YTtcclxuICBAT3B0aW9uKClcclxuICBwcm90ZWN0ZWQgaWdub3JlUGFyZW50RGF0YTogYm9vbGVhbjtcclxuICBAT3B0aW9uKClcclxuICBwcm90ZWN0ZWQgaWdub3JlUGFyZW50RGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgQE9wdGlvbigpXHJcbiAgcHJvdGVjdGVkIG9uRGlzYWJsZWQ6IEZ1bmN0aW9uO1xyXG4gIEBPcHRpb24oKVxyXG4gIHByb3RlY3RlZCBvbkVuYWJsZWQ6IEZ1bmN0aW9uO1xyXG4gIEBPcHRpb24oKVxyXG4gIHByb3RlY3RlZCBsb2FkaW5nRW5hYmxlZDogYm9vbGVhbjtcclxuICBAT3B0aW9uKCdsb2FkJylcclxuICBwcm90ZWN0ZWQgbG9hZEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcclxuICBAT3B0aW9uKClcclxuICBwcm90ZWN0ZWQgZGVsZWdhdGVIaXN0b3J5OiBib29sZWFuO1xyXG5cclxuICBwcm90ZWN0ZWQgaGlzdG9yeUN1cnNvcjogbnVtYmVyO1xyXG4gIHByb3RlY3RlZCBoaXN0b3JpZXM6IFVJSGlzdG9yeVtdO1xyXG4gIHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xyXG4gIHByb3RlY3RlZCBkYXRhQ2hpbGRyZW46IElIYXNEYXRhW107XHJcbiAgcHJvdGVjdGVkIGRhdGE6IGFueTtcclxuXHJcbiAgcHJvdGVjdGVkIGtiU2hvcnRjdXRTZXJ2aWNlOiBLZXlib2FyZFNob3J0Y3V0U2VydmljZTtcclxuXHJcbiAgcHJvdGVjdGVkIF9sb2FkZWQ6IGJvb2xlYW47XHJcblxyXG4gIC8vIC0tLSBmcm9tIFNlbGZcclxuICBAT3B0aW9uKClcclxuICBASW5wdXQoKVxyXG4gIEBJMThOKClcclxuICBwcm90ZWN0ZWQgbW9kZWw6IE1hdGVyaWFsU3RlcHBlck1vZGVsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIEBPcHRpb24oKVxyXG4gIHByb3RlY3RlZCBob3Jpem9udGFsOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpXHJcbiAgQE9wdGlvbigpXHJcbiAgcHJvdGVjdGVkIGxpbmVhcjogYm9vbGVhbjtcclxuICBASW5wdXQoKVxyXG4gIEBPcHRpb24oKVxyXG4gIHByb3RlY3RlZCBoYW5kbGVyOiBGdW5jdGlvbjtcclxuICBASW5wdXQoKVxyXG4gIEBPcHRpb24oKVxyXG4gIHByb3RlY3RlZCBlZGl0YWJsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKVxyXG4gIEBPcHRpb24oKVxyXG4gIHByb3RlY3RlZCBlZGl0SWNvbjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgQE9wdGlvbigpXHJcbiAgcHJvdGVjdGVkIGRvbmVJY29uOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBAT3B0aW9uKClcclxuICBwcm90ZWN0ZWQgc3RlcEluc3RhbmNlczogYW55W107XHJcblxyXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcclxuICAgIHN1cGVyKGVsZW1lbnRSZWYpO1xyXG5cclxuICAgIHRoaXMuZWRpdGFibGUgPSB0cnVlO1xyXG4gICAgdGhpcy5saW5lYXIgPSBmYWxzZTtcclxuXHJcbiAgICB0aGlzLnN0ZXBJbnN0YW5jZXMgPSAhdGhpcy5zdGVwSW5zdGFuY2VzPyBbXSA6IHRoaXMuc3RlcEluc3RhbmNlcztcclxuXHJcbiAgICB0aGlzLmhhbmRsZXIgPSAocmVzdWx0KSA9PiB7XHJcbiAgICAgIHRoaXMuc3RlcEluc3RhbmNlcy5wdXNoKHJlc3VsdC5pbnN0YW5jZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG5cclxuICAgIGlmICghdGhpcy5tb2RlbCkge1xyXG4gICAgICB0aGlzLm1vZGVsID0gbmV3IE1hdGVyaWFsU3RlcHBlck1vZGVsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNTZWxmRGF0YURpcnR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGZTYXZlRGF0YSgpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZlJlc2V0RGF0YSgpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNIb3Jpem9udGFsKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaG9yaXpvbnRhbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRIb3Jpem9udGFsKGhvcml6b250YWw6IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmhvcml6b250YWwgPSBob3Jpem9udGFsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTGluZWFyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubGluZWFyO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldExpbmVhcihsaW5lYXI6IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmxpbmVhciA9IGxpbmVhcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRNb2RlbCgpOiBNYXRlcmlhbFN0ZXBwZXJNb2RlbCB7XHJcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRNb2RlbChtb2RlbDogTWF0ZXJpYWxTdGVwcGVyTW9kZWwpOiB2b2lkIHtcclxuICAgIHRoaXMubW9kZWwgPSBtb2RlbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0VkaXRhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZWRpdGFibGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RWRpdGFibGUoZWRpdGFibGU6IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmVkaXRhYmxlID0gZWRpdGFibGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RWRpdEljb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmVkaXRJY29uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEVkaXRJY29uKGVkaXRJY29uOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZWRpdEljb24gPSBlZGl0SWNvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXREb25lSWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZG9uZUljb247XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RG9uZUljb24oZG9uZUljb246IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5kb25lSWNvbiA9IGRvbmVJY29uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0ZXBJbnN0YW5jZXMoKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0RGF0YUNoaWxkcmVuKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U3RlcEluc3RhbmNlKGluZGV4OiBudW1iZXIpOiBhbnkge1xyXG4gICAgbGV0IHN0ZXBzOiBhbnlbXSA9IHRoaXMuZ2V0U3RlcEluc3RhbmNlcygpO1xyXG5cclxuICAgIGlmICghc3RlcHMgfHwgaW5kZXggPCAwIHx8IHN0ZXBzLmxlbmd0aCA8PSBpbmRleCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc3RlcHNbaW5kZXhdO1xyXG4gIH1cclxuXHJcbn1cclxuIl19