UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

446 lines (445 loc) 37.6 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { Injectable } from '@angular/core'; var MIMETypeService = /** @class */ (function () { function MIMETypeService() { this.MIMETypeModel = [ { "name": 'text/plain', "displayName": 'plain' }, { "name": 'text/html', "displayName": 'html' }, { "name": 'text/css', "displayName": 'css' }, { "name": 'text/javascript', "displayName": 'javascript' }, { "name": 'image/gif', "displayName": 'gif' }, { "name": 'image/png', "displayName": 'png' }, { "name": 'image/jpeg', "displayName": 'jpeg' }, { "name": 'image/bmp', "displayName": 'bmp' }, { "name": 'image/webp', "displayName": 'webp' }, { "name": 'x-image/icon', "displayName": 'icon' }, { "name": 'image/vnd.microsoft.icon', "displayName": 'vnd.microsoft.icon' }, { "name": 'audio/midi', "displayName": 'midi' }, { "name": 'audio/mpeg', "displayName": 'mpeg' }, { "name": 'audio/webm', "displayName": 'webm' }, { "name": 'audio/ogg', "displayName": 'ogg' }, { "name": 'audio/wav', "displayName": 'wav' }, { "name": 'video/webm', "displayName": 'webm' }, { "name": 'video/ogg', "displayName": 'ogg' }, { "name": 'application/javascript', "displayName": 'javascript' }, { "name": 'application/octet-stream', "displayName": 'octet-stream' }, { "name": 'application/pkcs12', "displayName": 'pkcs12' }, { "name": 'application/vnd.mspowerpoint', "displayName": 'vnd.mspowerpoint' }, { "name": 'application/xhtml+xml', "displayName": 'xhtml+xml' }, { "name": 'application/xml', "displayName": 'xml' }, { "name": 'application/pdf ', "displayName": 'PDF ' }, { "name": 'application/msword', "displayName": 'doc' }, { "name": 'application/msword', "displayName": 'dot' }, { "name": 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', "displayName": 'docx' }, { "name": 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', "displayName": 'dotx' }, { "name": 'application/vnd.ms-word.document.macroEnabled.12', "displayName": 'docm' }, { "name": 'application/vnd.ms-word.template.macroEnabled.12', "displayName": 'dotm' }, { "name": 'application/vnd.ms-excel', "displayName": 'xls' }, { "name": 'application/vnd.ms-excel', "displayName": 'xlt' }, { "name": 'application/vnd.ms-excel', "displayName": 'xla' }, { "name": 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', "displayName": 'xlsx' }, { "name": 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', "displayName": 'xltx' }, { "name": 'application/vnd.ms-excel.sheet.macroEnabled.12', "displayName": 'xlsm' }, { "name": 'application/vnd.ms-excel.template.macroEnabled.12', "displayName": 'xltm' }, { "name": 'application/vnd.ms-excel.addin.macroEnabled.12', "displayName": 'xlam' }, { "name": 'application/vnd.ms-excel.sheet.binary.macroEnabled.12.xlsb; Dhivehi;', "displayName": 'xlsb' }, { "name": 'application/Dutch; vnd.ms-powerpoint', "displayName": 'ppt' }, { "name": 'application/vnd.ms-powerpoint', "displayName": 'pot' }, { "name": 'application/Modern vnd.ms-powerpoint', "displayName": 'pps' }, { "name": 'application/vnd.ms-powerpoint', "displayName": 'ppa' }, { "name": 'application/vnd.openxmlformats-officedocument.presentationml.presentation', "displayName": 'pptx' }, { "name": 'application/vnd.openxmlformats-officedocument.presentationml.template', "displayName": 'potx' }, { "name": 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', "displayName": 'ppsx' }, { "name": 'application/vnd.ms-powerpoint.addin.macroEnabled.12', "displayName": 'ppam' }, { "name": 'application/vnd.ms-powerpoint.presentation.macroEnabled.12', "displayName": 'pptm' }, { "name": 'application/vnd.ms-powerpoint.template.macroEnabled.12', "displayName": 'potm' }, { "name": 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12', "displayName": 'ppsm' } ]; } /** * @return {?} */ MIMETypeService.prototype.loadNameMIMEType = /** * @return {?} */ function () { // ! TODO: Edit this on PRODUCTION return null; }; /** * @return {?} */ MIMETypeService.prototype.reloadNameMIMEType = /** * @return {?} */ function () { this.MIMETypeModel = null; return this.getNameMIMEType(); }; /** * @return {?} */ MIMETypeService.prototype.loadDisplayNameMIMEType = /** * @return {?} */ function () { // ! TODO: Edit this on PRODUCTION return null; }; /** * @return {?} */ MIMETypeService.prototype.reloadDisplayNameMIMEType = /** * @return {?} */ function () { this.MIMETypeModel = null; return this.getDisplayNameMIMEType(); }; /** * @return {?} */ MIMETypeService.prototype.loadTypeMIMEType = /** * @return {?} */ function () { // ! TODO: Edit this on PRODUCTION return null; }; /** * @return {?} */ MIMETypeService.prototype.reloadTypeMIMEType = /** * @return {?} */ function () { this.MIMETypeModel = null; return this.getTypeMIMEType(); }; /** * @return {?} */ MIMETypeService.prototype.getNameMIMEType = /** * @return {?} */ function () { var _this = this; if (this.MIMETypeModel !== null && typeof this.MIMETypeModel !== 'undefined') { var /** @type {?} */ MIMETypes = JSON.parse(JSON.stringify(this.MIMETypeModel)); var /** @type {?} */ getName = []; try { for (var MIMETypes_1 = tslib_1.__values(MIMETypes), MIMETypes_1_1 = MIMETypes_1.next(); !MIMETypes_1_1.done; MIMETypes_1_1 = MIMETypes_1.next()) { var MIMEType = MIMETypes_1_1.value; getName.push(MIMEType.name); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (MIMETypes_1_1 && !MIMETypes_1_1.done && (_a = MIMETypes_1.return)) _a.call(MIMETypes_1); } finally { if (e_1) throw e_1.error; } } return Promise.resolve(getName); } else { return this.loadNameMIMEType().then(function (result) { _this.MIMETypeModel = result; var /** @type {?} */ MIMETypes = JSON.parse(JSON.stringify(_this.MIMETypeModel)); var /** @type {?} */ getName = []; try { for (var MIMETypes_2 = tslib_1.__values(MIMETypes), MIMETypes_2_1 = MIMETypes_2.next(); !MIMETypes_2_1.done; MIMETypes_2_1 = MIMETypes_2.next()) { var MIMEType = MIMETypes_2_1.value; getName.push(MIMEType.name); } } catch (e_2_1) { e_2 = { error: e_2_1 }; } finally { try { if (MIMETypes_2_1 && !MIMETypes_2_1.done && (_a = MIMETypes_2.return)) _a.call(MIMETypes_2); } finally { if (e_2) throw e_2.error; } } return Promise.resolve(getName); var e_2, _a; }); } var e_1, _a; }; /** * @return {?} */ MIMETypeService.prototype.getDisplayNameMIMEType = /** * @return {?} */ function () { var _this = this; if (this.MIMETypeModel !== null && typeof this.MIMETypeModel !== 'undefined') { var /** @type {?} */ MIMETypes = JSON.parse(JSON.stringify(this.MIMETypeModel)); var /** @type {?} */ getDisplayName = []; try { for (var MIMETypes_3 = tslib_1.__values(MIMETypes), MIMETypes_3_1 = MIMETypes_3.next(); !MIMETypes_3_1.done; MIMETypes_3_1 = MIMETypes_3.next()) { var MIMEType = MIMETypes_3_1.value; getDisplayName.push(MIMEType.displayName); } } catch (e_3_1) { e_3 = { error: e_3_1 }; } finally { try { if (MIMETypes_3_1 && !MIMETypes_3_1.done && (_a = MIMETypes_3.return)) _a.call(MIMETypes_3); } finally { if (e_3) throw e_3.error; } } return Promise.resolve(getDisplayName); } else { return this.loadDisplayNameMIMEType().then(function (result) { _this.MIMETypeModel = result; var /** @type {?} */ MIMETypes = JSON.parse(JSON.stringify(_this.MIMETypeModel)); var /** @type {?} */ getDisplayName = []; try { for (var MIMETypes_4 = tslib_1.__values(MIMETypes), MIMETypes_4_1 = MIMETypes_4.next(); !MIMETypes_4_1.done; MIMETypes_4_1 = MIMETypes_4.next()) { var MIMEType = MIMETypes_4_1.value; getDisplayName.push(MIMEType.displayName); } } catch (e_4_1) { e_4 = { error: e_4_1 }; } finally { try { if (MIMETypes_4_1 && !MIMETypes_4_1.done && (_a = MIMETypes_4.return)) _a.call(MIMETypes_4); } finally { if (e_4) throw e_4.error; } } return Promise.resolve(getDisplayName); var e_4, _a; }); } var e_3, _a; }; /** * @return {?} */ MIMETypeService.prototype.getTypeMIMEType = /** * @return {?} */ function () { var _this = this; if (this.MIMETypeModel !== null && typeof this.MIMETypeModel !== 'undefined') { var /** @type {?} */ MIMETypes = JSON.parse(JSON.stringify(this.MIMETypeModel)); var /** @type {?} */ getType = []; try { for (var MIMETypes_5 = tslib_1.__values(MIMETypes), MIMETypes_5_1 = MIMETypes_5.next(); !MIMETypes_5_1.done; MIMETypes_5_1 = MIMETypes_5.next()) { var type = MIMETypes_5_1.value; var /** @type {?} */ typeName = type.name.split("/"); getType.push(typeName[0]); } } catch (e_5_1) { e_5 = { error: e_5_1 }; } finally { try { if (MIMETypes_5_1 && !MIMETypes_5_1.done && (_a = MIMETypes_5.return)) _a.call(MIMETypes_5); } finally { if (e_5) throw e_5.error; } } return Promise.resolve(getType); } else { return this.loadTypeMIMEType().then(function (result) { _this.MIMETypeModel = result; var /** @type {?} */ MIMETypes = JSON.parse(JSON.stringify(_this.MIMETypeModel)); var /** @type {?} */ getType = []; try { for (var MIMETypes_6 = tslib_1.__values(MIMETypes), MIMETypes_6_1 = MIMETypes_6.next(); !MIMETypes_6_1.done; MIMETypes_6_1 = MIMETypes_6.next()) { var type = MIMETypes_6_1.value; var /** @type {?} */ typeName = type.name.split("/"); getType.push(typeName[0]); } } catch (e_6_1) { e_6 = { error: e_6_1 }; } finally { try { if (MIMETypes_6_1 && !MIMETypes_6_1.done && (_a = MIMETypes_6.return)) _a.call(MIMETypes_6); } finally { if (e_6) throw e_6.error; } } return Promise.resolve(getType); var e_6, _a; }); } var e_5, _a; }; MIMETypeService.decorators = [ { type: Injectable }, ]; return MIMETypeService; }()); export { MIMETypeService }; function MIMETypeService_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ MIMETypeService.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ MIMETypeService.ctorParameters; /** @type {?} */ MIMETypeService.prototype.MIMETypeModel; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUlNRVR5cGVTZXJ2aWNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9jb20ucGhsb3h1aS8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlL01JTUVUeXBlU2VydmljZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OzZCQVVWO1lBQ3pCO2dCQUNJLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixhQUFhLEVBQUUsT0FBTzthQUN6QjtZQUNEO2dCQUNJLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixhQUFhLEVBQUUsTUFBTTthQUN4QjtZQUNEO2dCQUNJLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixhQUFhLEVBQUUsS0FBSzthQUN2QjtZQUNEO2dCQUNJLE1BQU0sRUFBRSxpQkFBaUI7Z0JBQ3pCLGFBQWEsRUFBRSxZQUFZO2FBQzlCO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLGFBQWEsRUFBRSxLQUFLO2FBQ3ZCO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLGFBQWEsRUFBRSxLQUFLO2FBQ3ZCO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLGFBQWEsRUFBRSxNQUFNO2FBQ3hCO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLGFBQWEsRUFBRSxLQUFLO2FBQ3ZCO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLGFBQWEsRUFBRSxNQUFNO2FBQ3hCO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLGNBQWM7Z0JBQ3RCLGFBQWEsRUFBRSxNQUFNO2FBQ3hCO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLDBCQUEwQjtnQkFDbEMsYUFBYSxFQUFFLG9CQUFvQjthQUN0QztZQUNEO2dCQUNJLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixhQUFhLEVBQUUsTUFBTTthQUN4QjtZQUNEO2dCQUNJLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixh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QU8sQ0FBQyxDQUFDOzthQUNuQyxDQUFDLENBQUM7U0FDTjs7OztnQkFyVFIsVUFBVTs7MEJBSFg7O1NBSWEsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1JTUVUeXBlTW9kZWwgfSBmcm9tICcuLi9jb21wb25lbnQvbW9kZWwvbW9kZWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1JTUVUeXBlU2VydmljZSB7XG5cbiAgICAvLyAhIFRPRE86IEVkaXQgdGhpcyBvbiBQUk9EVUNUSU9OXG4gICAgLy8gcHJpdmF0ZSBNSU1FVHlwZU1vZGVsOiBNSU1FVHlwZU1vZGVsW107XG5cbiAgICAvLyAhIFRPRE86IEZPUiBURVNUXG4gICAgcHJpdmF0ZSBNSU1FVHlwZU1vZGVsOiBhbnkgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAndGV4dC9wbGFpbicsXHRcbiAgICAgICAgICAgIFwiZGlzcGxheU5hbWVcIjogJ3BsYWluJ1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAndGV4dC9odG1sJyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAnaHRtbCdcdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ3RleHQvY3NzJyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAnY3NzJ1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAndGV4dC9qYXZhc2NyaXB0JyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAnamF2YXNjcmlwdCdcdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2ltYWdlL2dpZicsXHRcbiAgICAgICAgICAgIFwiZGlzcGxheU5hbWVcIjogJ2dpZidcdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2ltYWdlL3BuZycsXHRcbiAgICAgICAgICAgIFwiZGlzcGxheU5hbWVcIjogJ3BuZydcdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2ltYWdlL2pwZWcnLFx0XG4gICAgICAgICAgICBcImRpc3BsYXlOYW1lXCI6ICdqcGVnJ1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnaW1hZ2UvYm1wJyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAnYm1wJ1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnaW1hZ2Uvd2VicCcsXHRcbiAgICAgICAgICAgIFwiZGlzcGxheU5hbWVcIjogJ3dlYnAnXHRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6ICd4LWltYWdlL2ljb24nLFx0XG4gICAgICAgICAgICBcImRpc3BsYXlOYW1lXCI6ICdpY29uJ1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnaW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uJyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAndm5kLm1pY3Jvc29mdC5pY29uJ1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnYXVkaW8vbWlkaScsXHRcbiAgICAgICAgICAgIFwiZGlzcGxheU5hbWVcIjogJ21pZGknXHRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6ICdhdWRpby9tcGVnJyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAnbXBlZydcdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2F1ZGlvL3dlYm0nLFx0XG4gICAgICAgICAgICBcImRpc3BsYXlOYW1lXCI6ICd3ZWJtJ1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnYXVkaW8vb2dnJyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAnb2dnJ1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnYXVkaW8vd2F2JyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAnd2F2J1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAndmlkZW8vd2VibScsXHRcbiAgICAgICAgICAgIFwiZGlzcGxheU5hbWVcIjogJ3dlYm0nXHRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6ICd2aWRlby9vZ2cnLFx0XG4gICAgICAgICAgICBcImRpc3BsYXlOYW1lXCI6ICdvZ2cnXHRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6ICdhcHBsaWNhdGlvbi9qYXZhc2NyaXB0JyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAnamF2YXNjcmlwdCdcdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsXHRcbiAgICAgICAgICAgIFwiZGlzcGxheU5hbWVcIjogJ29jdGV0LXN0cmVhbSdcdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2FwcGxpY2F0aW9uL3BrY3MxMicsXHRcbiAgICAgICAgICAgIFwiZGlzcGxheU5hbWVcIjogJ3BrY3MxMidcdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2FwcGxpY2F0aW9uL3ZuZC5tc3Bvd2VycG9pbnQnLFx0XG4gICAgICAgICAgICBcImRpc3BsYXlOYW1lXCI6ICd2bmQubXNwb3dlcnBvaW50J1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnYXBwbGljYXRpb24veGh0bWwreG1sJyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAneGh0bWwreG1sJ1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnYXBwbGljYXRpb24veG1sJyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAneG1sJ1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnYXBwbGljYXRpb24vcGRmICcsXHRcbiAgICAgICAgICAgIFwiZGlzcGxheU5hbWVcIjogJ1BERiAnXHRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6ICdhcHBsaWNhdGlvbi9tc3dvcmQnLFx0XG4gICAgICAgICAgICBcImRpc3BsYXlOYW1lXCI6ICdkb2MnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnYXBwbGljYXRpb24vbXN3b3JkJyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAnZG90J1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnLFx0XG4gICAgICAgICAgICBcImRpc3BsYXlOYW1lXCI6ICdkb2N4J1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwudGVtcGxhdGUnLFx0XG4gICAgICAgICAgICBcImRpc3BsYXlOYW1lXCI6ICdkb3R4J1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnYXBwbGljYXRpb24vdm5kLm1zLXdvcmQuZG9jdW1lbnQubWFjcm9FbmFibGVkLjEyJyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAnZG9jbSdcdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2FwcGxpY2F0aW9uL3ZuZC5tcy13b3JkLnRlbXBsYXRlLm1hY3JvRW5hYmxlZC4xMicsXHRcbiAgICAgICAgICAgIFwiZGlzcGxheU5hbWVcIjogJ2RvdG0nIFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsXHRcbiAgICAgICAgICAgIFwiZGlzcGxheU5hbWVcIjogJ3hscydcdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsXHRcbiAgICAgICAgICAgIFwiZGlzcGxheU5hbWVcIjogJ3hsdCdcdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsXHRcbiAgICAgICAgICAgIFwiZGlzcGxheU5hbWVcIjogJ3hsYSdcdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAneGxzeCdcdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnRlbXBsYXRlJyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAneGx0eCdcdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zaGVldC5tYWNyb0VuYWJsZWQuMTInLFx0XG4gICAgICAgICAgICBcImRpc3BsYXlOYW1lXCI6ICd4bHNtJ1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnRlbXBsYXRlLm1hY3JvRW5hYmxlZC4xMicsXHRcbiAgICAgICAgICAgIFwiZGlzcGxheU5hbWVcIjogJ3hsdG0nXHRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuYWRkaW4ubWFjcm9FbmFibGVkLjEyJyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAneGxhbSdcdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zaGVldC5iaW5hcnkubWFjcm9FbmFibGVkLjEyLnhsc2I7IERoaXZlaGk7JyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAneGxzYidcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6ICdhcHBsaWNhdGlvbi9EdXRjaDsgdm5kLm1zLXBvd2VycG9pbnQnLFx0XG4gICAgICAgICAgICBcImRpc3BsYXlOYW1lXCI6ICdwcHQnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQnLFx0XG4gICAgICAgICAgICBcImRpc3BsYXlOYW1lXCI6ICdwb3QnXHRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6ICdhcHBsaWNhdGlvbi9Nb2Rlcm4gdm5kLm1zLXBvd2VycG9pbnQnLFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAncHBzJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50JyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAncHBhJ1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNlbnRhdGlvbicsXHRcbiAgICAgICAgICAgIFwiZGlzcGxheU5hbWVcIjogJ3BwdHgnXHRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwudGVtcGxhdGUnLFx0XG4gICAgICAgICAgICBcImRpc3BsYXlOYW1lXCI6ICdwb3R4J1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnNsaWRlc2hvdycsXHRcbiAgICAgICAgICAgIFwiZGlzcGxheU5hbWVcIjogJ3Bwc3gnXHRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6ICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC5hZGRpbi5tYWNyb0VuYWJsZWQuMTInLFx0XG4gICAgICAgICAgICBcImRpc3BsYXlOYW1lXCI6ICdwcGFtJ1x0IFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LnByZXNlbnRhdGlvbi5tYWNyb0VuYWJsZWQuMTInLFx0XG4gICAgICAgICAgICBcImRpc3BsYXlOYW1lXCI6ICdwcHRtJ1x0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiAnYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQudGVtcGxhdGUubWFjcm9FbmFibGVkLjEyJyxcdFxuICAgICAgICAgICAgXCJkaXNwbGF5TmFtZVwiOiAncG90bSdcdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LnNsaWRlc2hvdy5tYWNyb0VuYWJsZWQuMTInLFx0XG4gICAgICAgICAgICBcImRpc3BsYXlOYW1lXCI6ICdwcHNtJ1x0XG4gICAgICAgIH0gXG4gICAgXTsgXG5cbiAgICBwcml2YXRlIGxvYWROYW1lTUlNRVR5cGUoKTogUHJvbWlzZTxNSU1FVHlwZU1vZGVsW10+IHtcbiAgICAgICAgLy8gISBUT0RPOiBFZGl0IHRoaXMgb24gUFJPRFVDVElPTlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVsb2FkTmFtZU1JTUVUeXBlKCk6IFByb21pc2U8TUlNRVR5cGVNb2RlbFtdPiB7XG4gICAgICAgIHRoaXMuTUlNRVR5cGVNb2RlbCA9IG51bGw7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TmFtZU1JTUVUeXBlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkRGlzcGxheU5hbWVNSU1FVHlwZSgpOiBQcm9taXNlPE1JTUVUeXBlTW9kZWxbXT4ge1xuICAgICAgICAvLyAhIFRPRE86IEVkaXQgdGhpcyBvbiBQUk9EVUNUSU9OXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWxvYWREaXNwbGF5TmFtZU1JTUVUeXBlKCk6IFByb21pc2U8TUlNRVR5cGVNb2RlbFtdPiB7XG4gICAgICAgIHRoaXMuTUlNRVR5cGVNb2RlbCA9IG51bGw7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGlzcGxheU5hbWVNSU1FVHlwZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFR5cGVNSU1FVHlwZSgpOiBQcm9taXNlPE1JTUVUeXBlTW9kZWxbXT4ge1xuICAgICAgICAvLyAhIFRPRE86IEVkaXQgdGhpcyBvbiBQUk9EVUNUSU9OXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWxvYWRUeXBlTUlNRVR5cGUoKTogUHJvbWlzZTxNSU1FVHlwZU1vZGVsW10+IHtcbiAgICAgICAgdGhpcy5NSU1FVHlwZU1vZGVsID0gbnVsbDtcblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRUeXBlTUlNRVR5cGUoKTtcbiAgICB9IFxuXG4gICAgcHVibGljIGdldE5hbWVNSU1FVHlwZSgpOiBQcm9taXNlPE1JTUVUeXBlTW9kZWxbXT4ge1xuICAgICAgICBpZiAodGhpcy5NSU1FVHlwZU1vZGVsICE9PSBudWxsICYmIHR5cGVvZiB0aGlzLk1JTUVUeXBlTW9kZWwgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBsZXQgTUlNRVR5cGVzOiBhbnlbXSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5NSU1FVHlwZU1vZGVsKSk7XG4gICAgICAgICAgICBsZXQgZ2V0TmFtZTogYW55W10gPSBbXTtcbiAgICAgICAgICAgIGZvcihsZXQgTUlNRVR5cGUgb2YgTUlNRVR5cGVzKXsgXG4gICAgICAgICAgICAgICAgZ2V0TmFtZS5wdXNoKE1JTUVUeXBlLm5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShnZXROYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWROYW1lTUlNRVR5cGUoKS50aGVuKChyZXN1bHQ6IE1JTUVUeXBlTW9kZWxbXSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuTUlNRVR5cGVNb2RlbCA9IHJlc3VsdDtcbiAgICAgICAgICAgICAgICBsZXQgTUlNRVR5cGVzOiBhbnlbXSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5NSU1FVHlwZU1vZGVsKSk7XG4gICAgICAgICAgICAgICAgbGV0IGdldE5hbWU6IGFueVtdID0gW107XG4gICAgICAgICAgICAgICAgZm9yKGxldCBNSU1FVHlwZSBvZiBNSU1FVHlwZXMpeyBcbiAgICAgICAgICAgICAgICAgICAgZ2V0TmFtZS5wdXNoKE1JTUVUeXBlLm5hbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGdldE5hbWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RGlzcGxheU5hbWVNSU1FVHlwZSgpOiBQcm9taXNlPE1JTUVUeXBlTW9kZWxbXT4ge1xuICAgICAgICBpZiAodGhpcy5NSU1FVHlwZU1vZGVsICE9PSBudWxsICYmIHR5cGVvZiB0aGlzLk1JTUVUeXBlTW9kZWwgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBsZXQgTUlNRVR5cGVzOiBhbnlbXSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5NSU1FVHlwZU1vZGVsKSk7XG4gICAgICAgICAgICBsZXQgZ2V0RGlzcGxheU5hbWU6IGFueVtdID0gW107XG4gICAgICAgICAgICBmb3IobGV0IE1JTUVUeXBlIG9mIE1JTUVUeXBlcyl7IFxuICAgICAgICAgICAgICAgIGdldERpc3BsYXlOYW1lLnB1c2goTUlNRVR5cGUuZGlzcGxheU5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShnZXREaXNwbGF5TmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkRGlzcGxheU5hbWVNSU1FVHlwZSgpLnRoZW4oKHJlc3VsdDogTUlNRVR5cGVNb2RlbFtdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5NSU1FVHlwZU1vZGVsID0gcmVzdWx0O1xuICAgICAgICAgICAgICAgIGxldCBNSU1FVHlwZXM6IGFueVtdID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLk1JTUVUeXBlTW9kZWwpKTtcbiAgICAgICAgICAgICAgICBsZXQgZ2V0RGlzcGxheU5hbWU6IGFueVtdID0gW107XG4gICAgICAgICAgICAgICAgZm9yKGxldCBNSU1FVHlwZSBvZiBNSU1FVHlwZXMpeyBcbiAgICAgICAgICAgICAgICAgICAgZ2V0RGlzcGxheU5hbWUucHVzaChNSU1FVHlwZS5kaXNwbGF5TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZ2V0RGlzcGxheU5hbWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VHlwZU1JTUVUeXBlKCk6IFByb21pc2U8TUlNRVR5cGVNb2RlbFtdPiB7XG4gICAgICAgIGlmICh0aGlzLk1JTUVUeXBlTW9kZWwgIT09IG51bGwgJiYgdHlwZW9mIHRoaXMuTUlNRVR5cGVNb2RlbCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGxldCBNSU1FVHlwZXM6IGFueVtdID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLk1JTUVUeXBlTW9kZWwpKTtcbiAgICAgICAgICAgIGxldCBnZXRUeXBlOiBhbnlbXSA9IFtdO1xuICAgICAgICAgICAgZm9yKGxldCB0eXBlIG9mIE1JTUVUeXBlcyl7XG4gICAgICAgICAgICAgICAgbGV0IHR5cGVOYW1lID0gdHlwZS5uYW1lLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgICAgICAgICBnZXRUeXBlLnB1c2godHlwZU5hbWVbMF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShnZXRUeXBlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWRUeXBlTUlNRVR5cGUoKS50aGVuKChyZXN1bHQ6IE1JTUVUeXBlTW9kZWxbXSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuTUlNRVR5cGVNb2RlbCA9IHJlc3VsdDtcbiAgICAgICAgICAgICAgICBsZXQgTUlNRVR5cGVzOiBhbnlbXSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5NSU1FVHlwZU1vZGVsKSk7XG4gICAgICAgICAgICAgICAgbGV0IGdldFR5cGU6IGFueVtdID0gW107XG4gICAgICAgICAgICAgICAgZm9yKGxldCB0eXBlIG9mIE1JTUVUeXBlcyl7XG4gICAgICAgICAgICAgICAgICAgIGxldCB0eXBlTmFtZSA9IHR5cGUubmFtZS5zcGxpdChcIi9cIik7XG4gICAgICAgICAgICAgICAgICAgIGdldFR5cGUucHVzaCh0eXBlTmFtZVswXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZ2V0VHlwZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==