UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

102 lines 14.2 kB
import { Pipe } from '@angular/core'; import { LogLevel } from '@microsoft/windows-admin-center-sdk/core/diagnostics/log-level'; import { Logging } from '@microsoft/windows-admin-center-sdk/core/diagnostics/logging'; import * as i0 from "@angular/core"; /** * @smeDoc {@label EnumConverterPipe @id smeEnumConverter} * * @overview * @file {@filepath ./examples/enum-converter-overview.md} * * @example {@label Example Enum Converter @id enum-converter-example } * @file {@filename component.html @filepath ./examples/enum-converter-example.component.html} * @file {@filename component.ts @filepath ./examples/enum-converter-example.component.ts} * * @example {@label Example Color Enum Converter @id color-enum-color-converter } * @file {@filename color.ts @filepath ./examples/enum-converter-example-color.ts} * @file {@filename color.component.html @filepath ./examples/enum-converter-example-color.component.html} * @file {@filename color.component.ts @filepath ./examples/enum-converter-example-color.component.ts} */ export class EnumConverterPipe { /** * Registers an Extended enum for use with this pipe */ static registerEnum(extendedEnum) { EnumConverterPipe.enums.set(extendedEnum.enumId, extendedEnum); } transform(value, lookupMapOrEnumId, lookupType) { if (MsftSme.isNullOrUndefined(value) || isNaN(value)) { return null; } if (!lookupMapOrEnumId) { Logging.log({ level: LogLevel.Warning, message: `No map or enum id defined to translate value ${value}`, params: { lookupMapOrEnumId: lookupMapOrEnumId, value: value }, source: 'EnumConverterPipe' }); return value.toString(); } if (typeof lookupMapOrEnumId === 'string') { return this.transformEnumId(value, lookupMapOrEnumId, lookupType || 'localized'); } else { return this.transformLookupMap(value, lookupMapOrEnumId); } } /** * Translates a value using a registered extended enum * @param value the current value being piped in * @param enumId ths id of the extended enum to use for value translation * @param lookupType the type of lookup to perform using the extended enum */ transformEnumId(value, enumId, lookupType) { const extendedEnum = EnumConverterPipe.enums.get(enumId); if (!MsftSme.isNullOrUndefined(extendedEnum)) { if (lookupType === 'localized' && extendedEnum.toLocaleString) { return extendedEnum.toLocaleString(value); } if (extendedEnum.toString) { return extendedEnum.toString(value); } } return value.toString(); } /** * Transforms the pipe value from the provided lookup map * @param value the piped value * @param lookupMap the map to lookup the value */ transformLookupMap(value, lookupMap) { const stringValue = lookupMap.get(value); if (stringValue !== undefined) { return stringValue; } else { Logging.log({ level: LogLevel.Warning, message: `Value '${value}' is not defined in map ${lookupMap}`, params: { args: lookupMap, stringValue: stringValue, value: value }, source: 'EnumConverterPipe.transformLookupMap' }); return value.toString(); } } } EnumConverterPipe.enums = new Map(); /** @nocollapse */ EnumConverterPipe.ɵfac = function EnumConverterPipe_Factory(t) { return new (t || EnumConverterPipe)(); }; /** @nocollapse */ EnumConverterPipe.ɵpipe = /** @pureOrBreakMyCode */ i0.ɵɵdefinePipe({ name: "smeEnumConverter", type: EnumConverterPipe, pure: true }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EnumConverterPipe, [{ type: Pipe, args: [{ name: 'smeEnumConverter' }] }], null, null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1jb252ZXJ0ZXItcGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL3BpcGVzL2VudW0tY29udmVydGVyLXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7QUFldkY7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBSTFCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUEwQjtRQUNqRCxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQWVNLFNBQVMsQ0FBQyxLQUFhLEVBQUUsaUJBQStDLEVBQUUsVUFBMkI7UUFDeEcsSUFBSSxPQUFPLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xELE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDUixLQUFLLEVBQUUsUUFBUSxDQUFDLE9BQU87Z0JBQ3ZCLE9BQU8sRUFBRSxnREFBZ0QsS0FBSyxFQUFFO2dCQUNoRSxNQUFNLEVBQUU7b0JBQ0osaUJBQWlCLEVBQUUsaUJBQWlCO29CQUNwQyxLQUFLLEVBQUUsS0FBSztpQkFDZjtnQkFDRCxNQUFNLEVBQUUsbUJBQW1CO2FBQzlCLENBQUMsQ0FBQztZQUNILE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzNCO1FBRUQsSUFBSSxPQUFPLGlCQUFpQixLQUFLLFFBQVEsRUFBRTtZQUN2QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsSUFBSSxXQUFXLENBQUMsQ0FBQztTQUNwRjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLENBQUM7U0FDNUQ7SUFFTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxlQUFlLENBQUMsS0FBYSxFQUFFLE1BQWMsRUFBRSxVQUEwQjtRQUM3RSxNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDMUMsSUFBSSxVQUFVLEtBQUssV0FBVyxJQUFJLFlBQVksQ0FBQyxjQUFjLEVBQUU7Z0JBQzNELE9BQU8sWUFBWSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM3QztZQUNELElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRTtnQkFDdkIsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3ZDO1NBQ0o7UUFFRCxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGtCQUFrQixDQUFDLEtBQWEsRUFBRSxTQUE4QjtRQUNwRSxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLElBQUksV0FBVyxLQUFLLFNBQVMsRUFBRTtZQUMzQixPQUFPLFdBQVcsQ0FBQztTQUN0QjthQUFNO1lBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDUixLQUFLLEVBQUUsUUFBUSxDQUFDLE9BQU87Z0JBQ3ZCLE9BQU8sRUFBRSxVQUFVLEtBQUssMkJBQTJCLFNBQVMsRUFBRTtnQkFDOUQsTUFBTSxFQUFFO29CQUNKLElBQUksRUFBRSxTQUFTO29CQUNmLFdBQVcsRUFBRSxXQUFXO29CQUN4QixLQUFLLEVBQUUsS0FBSztpQkFDZjtnQkFDRCxNQUFNLEVBQUUsc0NBQXNDO2FBQ2pELENBQUMsQ0FBQztZQUNILE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQzs7QUExRmMsdUJBQUssR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztxR0FGOUMsaUJBQWlCO3lIQUFqQixpQkFBaUI7dUZBQWpCLGlCQUFpQjtjQUg3QixJQUFJO2VBQUM7Z0JBQ0YsSUFBSSxFQUFFLGtCQUFrQjthQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTG9nTGV2ZWwgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL2RpYWdub3N0aWNzL2xvZy1sZXZlbCc7XHJcbmltcG9ydCB7IExvZ2dpbmcgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL2RpYWdub3N0aWNzL2xvZ2dpbmcnO1xyXG5cclxuZXhwb3J0IHR5cGUgRW51bUxvb2t1cFR5cGUgPSAncmF3JyB8ICdsb2NhbGl6ZWQnO1xyXG5cclxuLyoqXHJcbiAqIEludGVyZmFjZSBkZWZpbmluZyBleHRlbmRlZCBlbnVtIGZ1bmN0aW9uYWxpdHlcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kZWRFbnVtIHtcclxuICAgIGVudW1JZDogc3RyaW5nO1xyXG4gICAgdmFsdWVzPzogTnVtYmVyW107XHJcbiAgICB0b0xvY2FsZVN0cmluZz86ICh0eXBlOiBudW1iZXIpID0+IHN0cmluZztcclxuICAgIHRvU3RyaW5nPzogKHR5cGU6IG51bWJlcikgPT4gc3RyaW5nO1xyXG4gICAgY29tcGFyZT86IChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogQHNtZURvYyB7QGxhYmVsIEVudW1Db252ZXJ0ZXJQaXBlIEBpZCBzbWVFbnVtQ29udmVydGVyfVxyXG4gKlxyXG4gKiBAb3ZlcnZpZXdcclxuICogQGZpbGUge0BmaWxlcGF0aCAuL2V4YW1wbGVzL2VudW0tY29udmVydGVyLW92ZXJ2aWV3Lm1kfVxyXG4gKlxyXG4gKiBAZXhhbXBsZSB7QGxhYmVsIEV4YW1wbGUgRW51bSBDb252ZXJ0ZXIgQGlkIGVudW0tY29udmVydGVyLWV4YW1wbGUgfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL2VudW0tY29udmVydGVyLWV4YW1wbGUuY29tcG9uZW50Lmh0bWx9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50LnRzIEBmaWxlcGF0aCAuL2V4YW1wbGVzL2VudW0tY29udmVydGVyLWV4YW1wbGUuY29tcG9uZW50LnRzfVxyXG4gKlxyXG4gKiBAZXhhbXBsZSB7QGxhYmVsIEV4YW1wbGUgQ29sb3IgRW51bSBDb252ZXJ0ZXIgQGlkIGNvbG9yLWVudW0tY29sb3ItY29udmVydGVyIH1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb2xvci50cyBAZmlsZXBhdGggLi9leGFtcGxlcy9lbnVtLWNvbnZlcnRlci1leGFtcGxlLWNvbG9yLnRzfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbG9yLmNvbXBvbmVudC5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL2VudW0tY29udmVydGVyLWV4YW1wbGUtY29sb3IuY29tcG9uZW50Lmh0bWx9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29sb3IuY29tcG9uZW50LnRzIEBmaWxlcGF0aCAuL2V4YW1wbGVzL2VudW0tY29udmVydGVyLWV4YW1wbGUtY29sb3IuY29tcG9uZW50LnRzfVxyXG4gKi9cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogJ3NtZUVudW1Db252ZXJ0ZXInXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnVtQ29udmVydGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGVudW1zID0gbmV3IE1hcDxzdHJpbmcsIEV4dGVuZGVkRW51bT4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlZ2lzdGVycyBhbiBFeHRlbmRlZCBlbnVtIGZvciB1c2Ugd2l0aCB0aGlzIHBpcGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyByZWdpc3RlckVudW0oZXh0ZW5kZWRFbnVtOiBFeHRlbmRlZEVudW0pIHtcclxuICAgICAgICBFbnVtQ29udmVydGVyUGlwZS5lbnVtcy5zZXQoZXh0ZW5kZWRFbnVtLmVudW1JZCwgZXh0ZW5kZWRFbnVtKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFuZ3VsYXIgcGlwZSB0cmFuc2Zvcm0gaW1wbGVtZW50YXRpb25cclxuICAgICAqIEBwYXJhbSB2YWx1ZSB0aGUgY3VycmVudCB2YWx1ZSBiZWluZyBwaXBlZCBpblxyXG4gICAgICogQHBhcmFtIGxvb2t1cE1hcCBhIG1hcCB0byBsb29rdXAgYSByZWxldmFudCBzdHJpbmcgZm9yIHRoZSBjdXJyZW50IHZhbHVlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IG51bWJlciwgbG9va3VwTWFwOiBNYXA8bnVtYmVyLCBzdHJpbmc+KTogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBBbmd1bGFyIHBpcGUgdHJhbnNmb3JtIGltcGxlbWVudGF0aW9uXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgdGhlIGN1cnJlbnQgdmFsdWUgYmVpbmcgcGlwZWQgaW5cclxuICAgICAqIEBwYXJhbSBlbnVtSWQgdGhzIGlkIG9mIHRoZSBleHRlbmRlZCBlbnVtIHRvIHVzZSBmb3IgdmFsdWUgdHJhbnNsYXRpb25cclxuICAgICAqIEBwYXJhbSBsb29rdXBUeXBlIHRoZSB0eXBlIG9mIGxvb2t1cCB0byBwZXJmb3JtIHVzaW5nIHRoZSBleHRlbmRlZCBlbnVtXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IG51bWJlciwgZW51bUlkOiBzdHJpbmcsIGxvb2t1cFR5cGU6IEVudW1Mb29rdXBUeXBlKTogc3RyaW5nO1xyXG4gICAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogbnVtYmVyLCBsb29rdXBNYXBPckVudW1JZDogTWFwPG51bWJlciwgc3RyaW5nPiB8IHN0cmluZywgbG9va3VwVHlwZT86IEVudW1Mb29rdXBUeXBlKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoTXNmdFNtZS5pc051bGxPclVuZGVmaW5lZCh2YWx1ZSkgfHwgaXNOYU4odmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFsb29rdXBNYXBPckVudW1JZCkge1xyXG4gICAgICAgICAgICBMb2dnaW5nLmxvZyh7XHJcbiAgICAgICAgICAgICAgICBsZXZlbDogTG9nTGV2ZWwuV2FybmluZyxcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGBObyBtYXAgb3IgZW51bSBpZCBkZWZpbmVkIHRvIHRyYW5zbGF0ZSB2YWx1ZSAke3ZhbHVlfWAsXHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHtcclxuICAgICAgICAgICAgICAgICAgICBsb29rdXBNYXBPckVudW1JZDogbG9va3VwTWFwT3JFbnVtSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgc291cmNlOiAnRW51bUNvbnZlcnRlclBpcGUnXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgbG9va3VwTWFwT3JFbnVtSWQgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybUVudW1JZCh2YWx1ZSwgbG9va3VwTWFwT3JFbnVtSWQsIGxvb2t1cFR5cGUgfHwgJ2xvY2FsaXplZCcpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybUxvb2t1cE1hcCh2YWx1ZSwgbG9va3VwTWFwT3JFbnVtSWQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUcmFuc2xhdGVzIGEgdmFsdWUgdXNpbmcgYSByZWdpc3RlcmVkIGV4dGVuZGVkIGVudW1cclxuICAgICAqIEBwYXJhbSB2YWx1ZSB0aGUgY3VycmVudCB2YWx1ZSBiZWluZyBwaXBlZCBpblxyXG4gICAgICogQHBhcmFtIGVudW1JZCB0aHMgaWQgb2YgdGhlIGV4dGVuZGVkIGVudW0gdG8gdXNlIGZvciB2YWx1ZSB0cmFuc2xhdGlvblxyXG4gICAgICogQHBhcmFtIGxvb2t1cFR5cGUgdGhlIHR5cGUgb2YgbG9va3VwIHRvIHBlcmZvcm0gdXNpbmcgdGhlIGV4dGVuZGVkIGVudW1cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB0cmFuc2Zvcm1FbnVtSWQodmFsdWU6IG51bWJlciwgZW51bUlkOiBzdHJpbmcsIGxvb2t1cFR5cGU6IEVudW1Mb29rdXBUeXBlKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBleHRlbmRlZEVudW0gPSBFbnVtQ29udmVydGVyUGlwZS5lbnVtcy5nZXQoZW51bUlkKTtcclxuICAgICAgICBpZiAoIU1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQoZXh0ZW5kZWRFbnVtKSkge1xyXG4gICAgICAgICAgICBpZiAobG9va3VwVHlwZSA9PT0gJ2xvY2FsaXplZCcgJiYgZXh0ZW5kZWRFbnVtLnRvTG9jYWxlU3RyaW5nKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZXh0ZW5kZWRFbnVtLnRvTG9jYWxlU3RyaW5nKHZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZXh0ZW5kZWRFbnVtLnRvU3RyaW5nKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZXh0ZW5kZWRFbnVtLnRvU3RyaW5nKHZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUcmFuc2Zvcm1zIHRoZSBwaXBlIHZhbHVlIGZyb20gdGhlIHByb3ZpZGVkIGxvb2t1cCBtYXBcclxuICAgICAqIEBwYXJhbSB2YWx1ZSB0aGUgcGlwZWQgdmFsdWVcclxuICAgICAqIEBwYXJhbSBsb29rdXBNYXAgdGhlIG1hcCB0byBsb29rdXAgdGhlIHZhbHVlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdHJhbnNmb3JtTG9va3VwTWFwKHZhbHVlOiBudW1iZXIsIGxvb2t1cE1hcDogTWFwPG51bWJlciwgc3RyaW5nPik6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3Qgc3RyaW5nVmFsdWUgPSBsb29rdXBNYXAuZ2V0KHZhbHVlKTtcclxuICAgICAgICBpZiAoc3RyaW5nVmFsdWUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gc3RyaW5nVmFsdWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgTG9nZ2luZy5sb2coe1xyXG4gICAgICAgICAgICAgICAgbGV2ZWw6IExvZ0xldmVsLldhcm5pbmcsXHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBgVmFsdWUgJyR7dmFsdWV9JyBpcyBub3QgZGVmaW5lZCBpbiBtYXAgJHtsb29rdXBNYXB9YCxcclxuICAgICAgICAgICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgICAgICAgICAgIGFyZ3M6IGxvb2t1cE1hcCxcclxuICAgICAgICAgICAgICAgICAgICBzdHJpbmdWYWx1ZTogc3RyaW5nVmFsdWUsXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgc291cmNlOiAnRW51bUNvbnZlcnRlclBpcGUudHJhbnNmb3JtTG9va3VwTWFwJ1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==