com.phloxui
Version:
PhloxUI Ng2+ Framework
298 lines (297 loc) • 19.7 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, Input } from '@angular/core';
import { LoaderStatus } from '../../../component/LoaderStatus';
import { Option } from '../../../decorator/decorators';
import { AbstractHasOptions } from '../../../share/AbstractHasOptions';
var /** @type {?} */ TYPE_NAME = "material-icon-loader";
var /** @type {?} */ BALL_PULSE = "ball-pulse";
var /** @type {?} */ BALL_GRID_PULSE = "ball-grid-pulse";
var /** @type {?} */ BALL_PULSE_SYNC = "ball-pulse-sync";
var /** @type {?} */ BALL_CLIP_ROTATE_MULTIPLE = "ball-clip-rotate-multiple";
var /** @type {?} */ BALL_PULSE_RISE = "ball-pulse-rise";
var /** @type {?} */ BALL_CLIP_ROTATE_PULSE = "ball-clip-rotate-pulse";
var /** @type {?} */ BALL_CLIP_ROTATE = "ball-clip-rotate";
var /** @type {?} */ BALL_SCALE_RIPPLE_MULTIPLE = "ball-scale-ripple-multiple";
var /** @type {?} */ BALL_SCALE_MULTIPLE = "ball-scale-multiple";
var /** @type {?} */ LINE_SPIN_FADE_LOADER = "line-spin-fade-loader";
var /** @type {?} */ LINE_SCALE = "line-scale";
var /** @type {?} */ LINE_SCALE_PARTY = "line-scale-party";
var /** @type {?} */ LINE_SCALE_PULSE_OUT = "line-scale-pulse-out";
var /** @type {?} */ LINE_SCALE_PULSE_OUT_RAPID = "line-scale-pulse-out-rapid";
var /** @type {?} */ SQUARE_SPIN = "square-spin";
var MaterialIconLoader = /** @class */ (function (_super) {
tslib_1.__extends(MaterialIconLoader, _super);
function MaterialIconLoader() {
var _this = _super.call(this) || this;
_this.status = LoaderStatus.STOPPED;
return _this;
}
/**
* @return {?}
*/
MaterialIconLoader.prototype.ngOnInit = /**
* @return {?}
*/
function () {
};
/**
* @return {?}
*/
MaterialIconLoader.prototype._getIconName = /**
* @return {?}
*/
function () {
if (this.iconName !== null && typeof this.iconName !== 'undefined') {
return this.iconName;
}
return MaterialIconLoader.BALL_CLIP_ROTATE_PULSE;
};
/**
* @return {?}
*/
MaterialIconLoader.prototype.start = /**
* @return {?}
*/
function () {
if (this.isStopped()) {
this.status = LoaderStatus.RUNNING;
}
return Promise.resolve();
};
/**
* @return {?}
*/
MaterialIconLoader.prototype.pause = /**
* @return {?}
*/
function () {
if (this.isRunning()) {
this.status = LoaderStatus.PAUSED;
}
};
/**
* @return {?}
*/
MaterialIconLoader.prototype.resume = /**
* @return {?}
*/
function () {
if (this.isPaused()) {
this.status = LoaderStatus.RUNNING;
}
};
/**
* @return {?}
*/
MaterialIconLoader.prototype.stop = /**
* @return {?}
*/
function () {
if (this.isRunning() || this.isPaused()) {
this.status = LoaderStatus.STOPPED;
}
};
/**
* @return {?}
*/
MaterialIconLoader.prototype.getState = /**
* @return {?}
*/
function () {
return this.status;
};
/**
* @return {?}
*/
MaterialIconLoader.prototype.isRunning = /**
* @return {?}
*/
function () {
return this.status === LoaderStatus.RUNNING;
};
/**
* @return {?}
*/
MaterialIconLoader.prototype.isPaused = /**
* @return {?}
*/
function () {
return this.status === LoaderStatus.PAUSED;
};
/**
* @return {?}
*/
MaterialIconLoader.prototype.isStopped = /**
* @return {?}
*/
function () {
return this.status === LoaderStatus.STOPPED;
};
/**
* @return {?}
*/
MaterialIconLoader.prototype.getSize = /**
* @return {?}
*/
function () {
return this.size;
};
/**
* @param {?} size
* @return {?}
*/
MaterialIconLoader.prototype.setSize = /**
* @param {?} size
* @return {?}
*/
function (size) {
this.size = size;
};
/**
* @return {?}
*/
MaterialIconLoader.prototype.getLoaderClass = /**
* @return {?}
*/
function () {
return this.loaderClass;
};
/**
* @param {?} loaderClass
* @return {?}
*/
MaterialIconLoader.prototype.setLoaderClass = /**
* @param {?} loaderClass
* @return {?}
*/
function (loaderClass) {
this.loaderClass = loaderClass;
};
/**
* @return {?}
*/
MaterialIconLoader.prototype.isDisabled = /**
* @return {?}
*/
function () {
return this.disabled;
};
/**
* @param {?} disabled
* @return {?}
*/
MaterialIconLoader.prototype.setDisabled = /**
* @param {?} disabled
* @return {?}
*/
function (disabled) {
this.disabled = disabled;
};
MaterialIconLoader.TYPE_NAME = TYPE_NAME;
MaterialIconLoader.BALL_PULSE = BALL_PULSE;
MaterialIconLoader.BALL_GRID_PULSE = BALL_GRID_PULSE;
MaterialIconLoader.BALL_CLIP_ROTATE_MULTIPLE = BALL_CLIP_ROTATE_MULTIPLE;
MaterialIconLoader.BALL_PULSE_RISE = BALL_PULSE_RISE;
MaterialIconLoader.BALL_CLIP_ROTATE_PULSE = BALL_CLIP_ROTATE_PULSE;
MaterialIconLoader.BALL_CLIP_ROTATE = BALL_CLIP_ROTATE;
MaterialIconLoader.BALL_SCALE_RIPPLE_MULTIPLE = BALL_SCALE_RIPPLE_MULTIPLE;
MaterialIconLoader.BALL_SCALE_MULTIPLE = BALL_SCALE_MULTIPLE;
MaterialIconLoader.BALL_PULSE_SYNC = BALL_PULSE_SYNC;
MaterialIconLoader.LINE_SPIN_FADE_LOADER = LINE_SPIN_FADE_LOADER;
MaterialIconLoader.LINE_SCALE = LINE_SCALE;
MaterialIconLoader.LINE_SCALE_PARTY = LINE_SCALE_PARTY;
MaterialIconLoader.LINE_SCALE_PULSE_OUT = LINE_SCALE_PULSE_OUT;
MaterialIconLoader.LINE_SCALE_PULSE_OUT_RAPID = LINE_SCALE_PULSE_OUT_RAPID;
MaterialIconLoader.SQUARE_SPIN = SQUARE_SPIN;
MaterialIconLoader.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: "<div class=\"material-icon-loader\" [style.width]=\"getSize()\" [style.height]=\"getSize()\" [class.disable]=\"isDisabled()\" [class.running]=\"isRunning()\" [class.pause]=\"isPaused()\" [class.stop]=\"isStopped()\">\n <loaders-css [loader]=\"_getIconName()\" [loaderClass]=\"getLoaderClass()\"></loaders-css>\n</div>\n"
},] },
];
/** @nocollapse */
MaterialIconLoader.ctorParameters = function () { return []; };
MaterialIconLoader.propDecorators = {
"iconName": [{ type: Input },],
"size": [{ type: Input },],
"loaderClass": [{ type: Input },],
"disabled": [{ type: Input },],
};
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialIconLoader.prototype, "iconName", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialIconLoader.prototype, "size", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialIconLoader.prototype, "loaderClass", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialIconLoader.prototype, "disabled", void 0);
return MaterialIconLoader;
}(AbstractHasOptions));
export { MaterialIconLoader };
function MaterialIconLoader_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
MaterialIconLoader.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
MaterialIconLoader.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
MaterialIconLoader.propDecorators;
/** @type {?} */
MaterialIconLoader.TYPE_NAME;
/** @type {?} */
MaterialIconLoader.BALL_PULSE;
/** @type {?} */
MaterialIconLoader.BALL_GRID_PULSE;
/** @type {?} */
MaterialIconLoader.BALL_CLIP_ROTATE_MULTIPLE;
/** @type {?} */
MaterialIconLoader.BALL_PULSE_RISE;
/** @type {?} */
MaterialIconLoader.BALL_CLIP_ROTATE_PULSE;
/** @type {?} */
MaterialIconLoader.BALL_CLIP_ROTATE;
/** @type {?} */
MaterialIconLoader.BALL_SCALE_RIPPLE_MULTIPLE;
/** @type {?} */
MaterialIconLoader.BALL_SCALE_MULTIPLE;
/** @type {?} */
MaterialIconLoader.BALL_PULSE_SYNC;
/** @type {?} */
MaterialIconLoader.LINE_SPIN_FADE_LOADER;
/** @type {?} */
MaterialIconLoader.LINE_SCALE;
/** @type {?} */
MaterialIconLoader.LINE_SCALE_PARTY;
/** @type {?} */
MaterialIconLoader.LINE_SCALE_PULSE_OUT;
/** @type {?} */
MaterialIconLoader.LINE_SCALE_PULSE_OUT_RAPID;
/** @type {?} */
MaterialIconLoader.SQUARE_SPIN;
/** @type {?} */
MaterialIconLoader.prototype.iconName;
/** @type {?} */
MaterialIconLoader.prototype.size;
/** @type {?} */
MaterialIconLoader.prototype.loaderClass;
/** @type {?} */
MaterialIconLoader.prototype.disabled;
/** @type {?} */
MaterialIconLoader.prototype.status;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0ZXJpYWxJY29uTG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL3RoZW1lL21hdGVyaWFsL2NvbXBvbmVudC9NYXRlcmlhbEljb25Mb2FkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUl2RSxxQkFBTSxTQUFTLEdBQVcsc0JBQXNCLENBQUM7QUFFakQscUJBQU0sVUFBVSxHQUFXLFlBQVksQ0FBQztBQUN4QyxxQkFBTSxlQUFlLEdBQVcsaUJBQWlCLENBQUM7QUFDbEQscUJBQU0sZUFBZSxHQUFXLGlCQUFpQixDQUFDO0FBQ2xELHFCQUFNLHlCQUF5QixHQUFXLDJCQUEyQixDQUFDO0FBQ3RFLHFCQUFNLGVBQWUsR0FBVyxpQkFBaUIsQ0FBQztBQUNsRCxxQkFBTSxzQkFBc0IsR0FBVyx3QkFBd0IsQ0FBQztBQUNoRSxxQkFBTSxnQkFBZ0IsR0FBVyxrQkFBa0IsQ0FBQztBQUNwRCxxQkFBTSwwQkFBMEIsR0FBVyw0QkFBNEIsQ0FBQztBQUN4RSxxQkFBTSxtQkFBbUIsR0FBVyxxQkFBcUIsQ0FBQztBQUMxRCxxQkFBTSxxQkFBcUIsR0FBVyx1QkFBdUIsQ0FBQztBQUM5RCxxQkFBTSxVQUFVLEdBQVcsWUFBWSxDQUFDO0FBQ3hDLHFCQUFNLGdCQUFnQixHQUFXLGtCQUFrQixDQUFDO0FBQ3BELHFCQUFNLG9CQUFvQixHQUFXLHNCQUFzQixDQUFDO0FBQzVELHFCQUFNLDBCQUEwQixHQUFXLDRCQUE0QixDQUFDO0FBQ3hFLHFCQUFNLFdBQVcsR0FBVyxhQUFhLENBQUM7O0lBVUYsOENBQWtCO0lBbUN4RDtRQUFBLFlBQ0UsaUJBQU8sU0FHUjtRQURDLEtBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQzs7S0FDcEM7Ozs7SUFFTSxxQ0FBUTs7Ozs7Ozs7SUFHUix5Q0FBWTs7OztRQUNqQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNuRSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN0QjtRQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQzs7Ozs7SUFHNUMsa0NBQUs7Ozs7UUFDVixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQztTQUNwQztRQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7Ozs7O0lBR3BCLGtDQUFLOzs7O1FBQ1YsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7U0FDbkM7Ozs7O0lBR0ksbUNBQU07Ozs7UUFDWCxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQztTQUNwQzs7Ozs7SUFHSSxpQ0FBSTs7OztRQUNULEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQztTQUNwQzs7Ozs7SUFHSSxxQ0FBUTs7OztRQUNiLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDOzs7OztJQUdkLHNDQUFTOzs7O1FBQ2QsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssWUFBWSxDQUFDLE9BQU8sQ0FBQzs7Ozs7SUFHdkMscUNBQVE7Ozs7UUFDYixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxZQUFZLENBQUMsTUFBTSxDQUFDOzs7OztJQUd0QyxzQ0FBUzs7OztRQUNkLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLFlBQVksQ0FBQyxPQUFPLENBQUM7Ozs7O0lBR3ZDLG9DQUFPOzs7O1FBQ1osTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Ozs7OztJQUdaLG9DQUFPOzs7O2NBQUMsSUFBWTtRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQzs7Ozs7SUFHWiwyQ0FBYzs7OztRQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQzs7Ozs7O0lBR25CLDJDQUFjOzs7O2NBQUMsV0FBbUI7UUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7Ozs7O0lBRzFCLHVDQUFVOzs7O1FBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7Ozs7OztJQUdoQix3Q0FBVzs7OztjQUFDLFFBQWlCO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDOzttQ0FqSGdCLFNBQVM7b0NBRVIsVUFBVTt5Q0FDTCxlQUFlO21EQUNMLHlCQUF5Qjt5Q0FDbkMsZUFBZTtnREFDUixzQkFBc0I7MENBQzVCLGdCQUFnQjtvREFDTiwwQkFBMEI7NkNBQ2pDLG1CQUFtQjt5Q0FDdkIsZUFBZTsrQ0FDVCxxQkFBcUI7b0NBQ2hDLFVBQVU7MENBQ0osZ0JBQWdCOzhDQUNaLG9CQUFvQjtvREFDZCwwQkFBMEI7cUNBQ3pDLFdBQVc7O2dCQTFCekQsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRTtvQkFDbkIsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFFBQVEsRUFBRSxrVUFHWDtpQkFDQTs7Ozs7NkJBcUJFLEtBQUs7eUJBR0wsS0FBSztnQ0FHTCxLQUFLOzZCQUdMLEtBQUs7OztRQVJMLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sRUFBRTs7OzZCQWhFWDtFQWtDd0Msa0JBQWtCO1NBQTdDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUxvYWRlciB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudC9JTG9hZGVyJztcbmltcG9ydCB7IExvYWRlclN0YXR1cyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudC9Mb2FkZXJTdGF0dXMnO1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZGVjb3JhdG9yL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RIYXNPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmUvQWJzdHJhY3RIYXNPcHRpb25zJztcblxuZGVjbGFyZSB2YXIgJDogYW55O1xuXG5jb25zdCBUWVBFX05BTUU6IHN0cmluZyA9IFwibWF0ZXJpYWwtaWNvbi1sb2FkZXJcIjtcblxuY29uc3QgQkFMTF9QVUxTRTogc3RyaW5nID0gXCJiYWxsLXB1bHNlXCI7XG5jb25zdCBCQUxMX0dSSURfUFVMU0U6IHN0cmluZyA9IFwiYmFsbC1ncmlkLXB1bHNlXCI7XG5jb25zdCBCQUxMX1BVTFNFX1NZTkM6IHN0cmluZyA9IFwiYmFsbC1wdWxzZS1zeW5jXCI7XG5jb25zdCBCQUxMX0NMSVBfUk9UQVRFX01VTFRJUExFOiBzdHJpbmcgPSBcImJhbGwtY2xpcC1yb3RhdGUtbXVsdGlwbGVcIjtcbmNvbnN0IEJBTExfUFVMU0VfUklTRTogc3RyaW5nID0gXCJiYWxsLXB1bHNlLXJpc2VcIjtcbmNvbnN0IEJBTExfQ0xJUF9ST1RBVEVfUFVMU0U6IHN0cmluZyA9IFwiYmFsbC1jbGlwLXJvdGF0ZS1wdWxzZVwiO1xuY29uc3QgQkFMTF9DTElQX1JPVEFURTogc3RyaW5nID0gXCJiYWxsLWNsaXAtcm90YXRlXCI7XG5jb25zdCBCQUxMX1NDQUxFX1JJUFBMRV9NVUxUSVBMRTogc3RyaW5nID0gXCJiYWxsLXNjYWxlLXJpcHBsZS1tdWx0aXBsZVwiO1xuY29uc3QgQkFMTF9TQ0FMRV9NVUxUSVBMRTogc3RyaW5nID0gXCJiYWxsLXNjYWxlLW11bHRpcGxlXCI7XG5jb25zdCBMSU5FX1NQSU5fRkFERV9MT0FERVI6IHN0cmluZyA9IFwibGluZS1zcGluLWZhZGUtbG9hZGVyXCI7XG5jb25zdCBMSU5FX1NDQUxFOiBzdHJpbmcgPSBcImxpbmUtc2NhbGVcIjtcbmNvbnN0IExJTkVfU0NBTEVfUEFSVFk6IHN0cmluZyA9IFwibGluZS1zY2FsZS1wYXJ0eVwiO1xuY29uc3QgTElORV9TQ0FMRV9QVUxTRV9PVVQ6IHN0cmluZyA9IFwibGluZS1zY2FsZS1wdWxzZS1vdXRcIjtcbmNvbnN0IExJTkVfU0NBTEVfUFVMU0VfT1VUX1JBUElEOiBzdHJpbmcgPSBcImxpbmUtc2NhbGUtcHVsc2Utb3V0LXJhcGlkXCI7XG5jb25zdCBTUVVBUkVfU1BJTjogc3RyaW5nID0gXCJzcXVhcmUtc3BpblwiO1xuIFxuQENvbXBvbmVudCh7XG4gIG1vZHVsZUlkOiBtb2R1bGUuaWQsXG4gIHNlbGVjdG9yOiBUWVBFX05BTUUsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cIm1hdGVyaWFsLWljb24tbG9hZGVyXCIgW3N0eWxlLndpZHRoXT1cImdldFNpemUoKVwiIFtzdHlsZS5oZWlnaHRdPVwiZ2V0U2l6ZSgpXCIgW2NsYXNzLmRpc2FibGVdPVwiaXNEaXNhYmxlZCgpXCIgW2NsYXNzLnJ1bm5pbmddPVwiaXNSdW5uaW5nKClcIiBbY2xhc3MucGF1c2VdPVwiaXNQYXVzZWQoKVwiIFtjbGFzcy5zdG9wXT1cImlzU3RvcHBlZCgpXCI+XG4gIDxsb2FkZXJzLWNzcyBbbG9hZGVyXT1cIl9nZXRJY29uTmFtZSgpXCIgW2xvYWRlckNsYXNzXT1cImdldExvYWRlckNsYXNzKClcIj48L2xvYWRlcnMtY3NzPlxuPC9kaXY+XG5gXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsSWNvbkxvYWRlciBleHRlbmRzIEFic3RyYWN0SGFzT3B0aW9ucyBpbXBsZW1lbnRzIE9uSW5pdCwgSUxvYWRlciB7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUWVBFX05BTUU6IHN0cmluZyA9IFRZUEVfTkFNRTtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJBTExfUFVMU0U6IHN0cmluZyA9IEJBTExfUFVMU0U7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFMTF9HUklEX1BVTFNFOiBzdHJpbmcgPSBCQUxMX0dSSURfUFVMU0U7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFMTF9DTElQX1JPVEFURV9NVUxUSVBMRTogc3RyaW5nID0gQkFMTF9DTElQX1JPVEFURV9NVUxUSVBMRTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBCQUxMX1BVTFNFX1JJU0U6IHN0cmluZyA9IEJBTExfUFVMU0VfUklTRTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBCQUxMX0NMSVBfUk9UQVRFX1BVTFNFOiBzdHJpbmcgPSBCQUxMX0NMSVBfUk9UQVRFX1BVTFNFO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJBTExfQ0xJUF9ST1RBVEU6IHN0cmluZyA9IEJBTExfQ0xJUF9ST1RBVEU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFMTF9TQ0FMRV9SSVBQTEVfTVVMVElQTEU6IHN0cmluZyA9IEJBTExfU0NBTEVfUklQUExFX01VTFRJUExFO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJBTExfU0NBTEVfTVVMVElQTEU6IHN0cmluZyA9IEJBTExfU0NBTEVfTVVMVElQTEU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFMTF9QVUxTRV9TWU5DOiBzdHJpbmcgPSBCQUxMX1BVTFNFX1NZTkM7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTElORV9TUElOX0ZBREVfTE9BREVSOiBzdHJpbmcgPSBMSU5FX1NQSU5fRkFERV9MT0FERVI7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTElORV9TQ0FMRTogc3RyaW5nID0gTElORV9TQ0FMRTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMSU5FX1NDQUxFX1BBUlRZOiBzdHJpbmcgPSBMSU5FX1NDQUxFX1BBUlRZO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IExJTkVfU0NBTEVfUFVMU0VfT1VUOiBzdHJpbmcgPSBMSU5FX1NDQUxFX1BVTFNFX09VVDtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMSU5FX1NDQUxFX1BVTFNFX09VVF9SQVBJRDogc3RyaW5nID0gTElORV9TQ0FMRV9QVUxTRV9PVVRfUkFQSUQ7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU1FVQVJFX1NQSU46IHN0cmluZyA9IFNRVUFSRV9TUElOO1xuXG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcml2YXRlIGljb25OYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcml2YXRlIHNpemU6IHN0cmluZztcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByaXZhdGUgbG9hZGVyQ2xhc3M6IHN0cmluZztcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByaXZhdGUgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBzdGF0dXM6IExvYWRlclN0YXR1cztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5zdGF0dXMgPSBMb2FkZXJTdGF0dXMuU1RPUFBFRDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIHB1YmxpYyBfZ2V0SWNvbk5hbWUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pY29uTmFtZSAhPT0gbnVsbCAmJiB0eXBlb2YgdGhpcy5pY29uTmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB0aGlzLmljb25OYW1lO1xuICAgIH1cblxuICAgIHJldHVybiBNYXRlcmlhbEljb25Mb2FkZXIuQkFMTF9DTElQX1JPVEFURV9QVUxTRTtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydCgpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICh0aGlzLmlzU3RvcHBlZCgpKSB7XG4gICAgICB0aGlzLnN0YXR1cyA9IExvYWRlclN0YXR1cy5SVU5OSU5HO1xuICAgIH1cblxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXVzZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1J1bm5pbmcoKSkge1xuICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkZXJTdGF0dXMuUEFVU0VEO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZXN1bWUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNQYXVzZWQoKSkge1xuICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkZXJTdGF0dXMuUlVOTklORztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RvcCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1J1bm5pbmcoKSB8fCB0aGlzLmlzUGF1c2VkKCkpIHtcbiAgICAgIHRoaXMuc3RhdHVzID0gTG9hZGVyU3RhdHVzLlNUT1BQRUQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFN0YXRlKCk6IExvYWRlclN0YXR1cyB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzO1xuICB9XG5cbiAgcHVibGljIGlzUnVubmluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IExvYWRlclN0YXR1cy5SVU5OSU5HO1xuICB9XG5cbiAgcHVibGljIGlzUGF1c2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gTG9hZGVyU3RhdHVzLlBBVVNFRDtcbiAgfVxuXG4gIHB1YmxpYyBpc1N0b3BwZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBMb2FkZXJTdGF0dXMuU1RPUFBFRDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaXplKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTaXplKHNpemU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2l6ZSA9IHNpemU7XG4gIH1cblxuICBwdWJsaWMgZ2V0TG9hZGVyQ2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5sb2FkZXJDbGFzcztcbiAgfVxuXG4gIHB1YmxpYyBzZXRMb2FkZXJDbGFzcyhsb2FkZXJDbGFzczogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkZXJDbGFzcyA9IGxvYWRlckNsYXNzO1xuICB9XG5cbiAgcHVibGljIGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gIH1cbn1cbiJdfQ==