UNPKG

gravitlauncher-remotecontrol-js

Version:
71 lines 13.6 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isException = exports.getSuccess = exports.isError = exports.request = void 0; const node_https_1 = require("node:https"); const node_http_1 = require("node:http"); exports.default = request; function request(params, extractData) { return __awaiter(this, void 0, void 0, function* () { const url = new URL(params.rawUrl); if (url.pathname == '/') url.pathname = '/webapi/remotecontrol/command'; url.searchParams.append('token', params.token); url.searchParams.append('command', params.command); url.searchParams.append('log', `${!!params.log}`); const get = url.protocol === 'https:' ? node_https_1.get : url.protocol === 'http:' ? node_http_1.get : null; const req = new Promise((resolve, reject) => { get(url, response => { response.on('error', reject); response.setEncoding('utf-8'); response.on('data', dataChunk => resolve(Object.freeze(JSON.parse(dataChunk.toString())))); response.on('end', () => reject('No data!')); }) .on('error', reject); }); if (!extractData) return req; const lines = []; let data = ''; const extractedData = req.then(apiResponse => { var _a; if ((0, exports.isError)(apiResponse)) return extractData.onError(apiResponse.error); if ((0, exports.isException)(apiResponse)) return extractData.onException(apiResponse.data.exception, apiResponse.data.lines); apiResponse = (0, exports.getSuccess)(apiResponse); (_a = apiResponse.data.lines) === null || _a === void 0 ? void 0 : _a.forEach(line => { var _a; if ((_a = extractData.filter) === null || _a === void 0 ? void 0 : _a[line.level.toLowerCase()]) return; if (extractData.removeColors) line.message = line.message.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, ''); lines.push(line); data += `[${line.level}${' '.repeat(5 - line.level.length)}] ${line.message}\n`; }); return { lines, data }; }); if (!(yield extractedData)) throw 'Exception or error is resolved.'; return extractedData; }); } exports.request = request; const isError = (response) => 'error' in response; exports.isError = isError; const getSuccess = (response) => (!(0, exports.isError)(response) && !(0, exports.isException)(response)) ? response : null; exports.getSuccess = getSuccess; const isException = (response) => 'data' in response && 'success' in response.data && !response.data.success; exports.isException = isException; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE2QztBQUM3Qyx5Q0FBMkM7QUF1QjNDLGtCQUFlLE9BQU8sQ0FBQztBQU12QixTQUFzQixPQUFPLENBQW9CLE1BQXdCLEVBQUUsV0FBbUM7O1FBQzVHLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLElBQUksR0FBRztZQUFFLEdBQUcsQ0FBQyxRQUFRLEdBQUcsK0JBQStCLENBQUM7UUFFeEUsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUVsRCxNQUFNLEdBQUcsR0FDUCxHQUFHLENBQUMsUUFBUSxLQUFLLFFBQVE7WUFDdkIsQ0FBQyxDQUFDLGdCQUFRO1lBQ1YsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssT0FBTztnQkFDeEIsQ0FBQyxDQUFDLGVBQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRXZCLE1BQU0sR0FBRyxHQUFHLElBQUksT0FBTyxDQUFpQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMxRCxHQUFHLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFO2dCQUNsQixRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFFN0IsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDOUIsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUUzRixRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUMvQyxDQUFDLENBQUM7aUJBQ0QsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFFN0IsTUFBTSxLQUFLLEdBQWMsRUFBRSxDQUFDO1FBQzVCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVkLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7O1lBQzNDLElBQUksSUFBQSxlQUFPLEVBQUMsV0FBVyxDQUFDO2dCQUFFLE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEUsSUFBSSxJQUFBLG1CQUFXLEVBQUMsV0FBVyxDQUFDO2dCQUFFLE9BQU8sV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRWpILFdBQVcsR0FBRyxJQUFBLGtCQUFVLEVBQUMsV0FBVyxDQUFDLENBQUM7WUFDdEMsTUFBQSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssMENBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFOztnQkFDckMsSUFBSSxNQUFBLFdBQVcsQ0FBQyxNQUFNLDBDQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQUUsT0FBTztnQkFDM0QsSUFBSSxXQUFXLENBQUMsWUFBWTtvQkFBRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDZFQUE2RSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNySixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNqQixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDO1lBQ2xGLENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQXNCLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsQ0FBQSxNQUFNLGFBQWEsQ0FBQTtZQUFFLE1BQU0saUNBQWlDLENBQUM7UUFFbEUsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztDQUFBO0FBakRELDBCQWlEQztBQUVNLE1BQU0sT0FBTyxHQUFHLENBQUMsUUFBOEIsRUFBZ0MsRUFBRSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUM7QUFBaEcsUUFBQSxPQUFPLFdBQXlGO0FBQ3RHLE1BQU0sVUFBVSxHQUFHLENBQTZCLFFBQWlDLEVBQWtDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBQSxlQUFPLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFBLG1CQUFXLEVBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBMEMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQW5OLFFBQUEsVUFBVSxjQUF5TTtBQUN6TixNQUFNLFdBQVcsR0FBRyxDQUE2QixRQUFpQyxFQUFnRCxFQUFFLENBQUMsTUFBTSxJQUFJLFFBQVEsSUFBSSxTQUFTLElBQUksUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQTFNLFFBQUEsV0FBVyxlQUErTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldCBhcyBodHRwc0dldCB9IGZyb20gJ25vZGU6aHR0cHMnO1xuaW1wb3J0IHsgZ2V0IGFzIGh0dHBHZXQgfSBmcm9tICdub2RlOmh0dHAnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RQYXJhbXM8TG9nRW5hYmxlZCBleHRlbmRzIGJvb2xlYW4+IHtcbiAgcmF3VXJsOiBzdHJpbmdcbiAgdG9rZW46IHN0cmluZ1xuICBjb21tYW5kOiBzdHJpbmdcbiAgbG9nPzogTG9nRW5hYmxlZFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4dHJhY3REYXRhT3B0aW9uczxMb2dFbmFibGVkIGV4dGVuZHMgYm9vbGVhbj4ge1xuICBvbkV4Y2VwdGlvbjogKGV4Y2VwdGlvbjogc3RyaW5nLCBsaW5lczogTGluZTxMb2dFbmFibGVkPltdKSA9PiB2b2lkXG4gIG9uRXJyb3I6IChlcnJvcjogQXBpRXJyb3JSZXNwb25zZVsnZXJyb3InXSkgPT4gdm9pZFxuICByZW1vdmVDb2xvcnM/OiB0cnVlXG4gIGZpbHRlcj86IHtcbiAgICBkZXY/OiB0cnVlXG4gICAgZGVidWc/OiB0cnVlXG4gICAgaW5mbz86IHRydWVcbiAgICBlcnJvcj86IHRydWVcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBFeHRyYWN0ZWREYXRhPExvZ0VuYWJsZWQgZXh0ZW5kcyBib29sZWFuPiA9IHsgbGluZXM6IExpbmU8TG9nRW5hYmxlZD5bXSwgZGF0YTogc3RyaW5nIH1cblxuZXhwb3J0IGRlZmF1bHQgcmVxdWVzdDtcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXF1ZXN0PEwgZXh0ZW5kcyBib29sZWFuID0gdHJ1ZSA+KHBhcmFtczogUmVxdWVzdFBhcmFtczxMPiwgZXh0cmFjdERhdGE6IEV4dHJhY3REYXRhT3B0aW9uczxMPik6IFByb21pc2U8RXh0cmFjdGVkRGF0YTxMPj5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXF1ZXN0PEwgZXh0ZW5kcyBib29sZWFuID0gZmFsc2U+KHBhcmFtczogUmVxdWVzdFBhcmFtczxMPiwgZXh0cmFjdERhdGE6IEV4dHJhY3REYXRhT3B0aW9uczxMPik6IFByb21pc2U8RXh0cmFjdGVkRGF0YTxMPj5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXF1ZXN0PEwgZXh0ZW5kcyBib29sZWFuID0gdHJ1ZSA+KHBhcmFtczogUmVxdWVzdFBhcmFtczxMPiwgZXh0cmFjdERhdGE/OiAgICAgICAgICAgICB1bmRlZmluZWQpOiBQcm9taXNlPEFwaVJlc3BvbnNlPEw+PlxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlcXVlc3Q8TCBleHRlbmRzIGJvb2xlYW4gPSBmYWxzZT4ocGFyYW1zOiBSZXF1ZXN0UGFyYW1zPEw+LCBleHRyYWN0RGF0YT86ICAgICAgICAgICAgIHVuZGVmaW5lZCk6IFByb21pc2U8QXBpUmVzcG9uc2U8TD4+XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXF1ZXN0PEwgZXh0ZW5kcyBib29sZWFuPihwYXJhbXM6IFJlcXVlc3RQYXJhbXM8TD4sIGV4dHJhY3REYXRhPzogRXh0cmFjdERhdGFPcHRpb25zPEw+KSB7XG4gIGNvbnN0IHVybCA9IG5ldyBVUkwocGFyYW1zLnJhd1VybCk7XG4gIGlmICh1cmwucGF0aG5hbWUgPT0gJy8nKSB1cmwucGF0aG5hbWUgPSAnL3dlYmFwaS9yZW1vdGVjb250cm9sL2NvbW1hbmQnO1xuXG4gIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd0b2tlbicsIHBhcmFtcy50b2tlbik7XG4gIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdjb21tYW5kJywgcGFyYW1zLmNvbW1hbmQpO1xuICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbG9nJywgYCR7ISFwYXJhbXMubG9nfWApO1xuXG4gIGNvbnN0IGdldDogdHlwZW9mIGh0dHBHZXQgPVxuICAgIHVybC5wcm90b2NvbCA9PT0gJ2h0dHBzOidcbiAgICAgID8gaHR0cHNHZXRcbiAgICAgIDogdXJsLnByb3RvY29sID09PSAnaHR0cDonXG4gICAgICAgID8gaHR0cEdldCA6IG51bGw7XG5cbiAgY29uc3QgcmVxID0gbmV3IFByb21pc2U8QXBpUmVzcG9uc2U8TD4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBnZXQodXJsLCByZXNwb25zZSA9PiB7XG4gICAgICByZXNwb25zZS5vbignZXJyb3InLCByZWplY3QpO1xuXG4gICAgICByZXNwb25zZS5zZXRFbmNvZGluZygndXRmLTgnKTtcbiAgICAgIHJlc3BvbnNlLm9uKCdkYXRhJywgZGF0YUNodW5rID0+IHJlc29sdmUoT2JqZWN0LmZyZWV6ZShKU09OLnBhcnNlKGRhdGFDaHVuay50b1N0cmluZygpKSkpKTsgLy8gVGhhdCdzIHdpbGwgd29yayBwZXJmZWN0LCBqdXN0IHRydXN0IG1lXG5cbiAgICAgIHJlc3BvbnNlLm9uKCdlbmQnLCAoKSA9PiByZWplY3QoJ05vIGRhdGEhJykpO1xuICAgIH0pXG4gICAgLm9uKCdlcnJvcicsIHJlamVjdCk7XG4gIH0pO1xuXG4gIGlmICghZXh0cmFjdERhdGEpIHJldHVybiByZXE7XG5cbiAgY29uc3QgbGluZXM6IExpbmU8TD5bXSA9IFtdO1xuICBsZXQgZGF0YSA9ICcnO1xuXG4gIGNvbnN0IGV4dHJhY3RlZERhdGEgPSByZXEudGhlbihhcGlSZXNwb25zZSA9PiB7XG4gICAgaWYgKGlzRXJyb3IoYXBpUmVzcG9uc2UpKSByZXR1cm4gZXh0cmFjdERhdGEub25FcnJvcihhcGlSZXNwb25zZS5lcnJvcik7XG4gICAgaWYgKGlzRXhjZXB0aW9uKGFwaVJlc3BvbnNlKSkgcmV0dXJuIGV4dHJhY3REYXRhLm9uRXhjZXB0aW9uKGFwaVJlc3BvbnNlLmRhdGEuZXhjZXB0aW9uLCBhcGlSZXNwb25zZS5kYXRhLmxpbmVzKTtcblxuICAgIGFwaVJlc3BvbnNlID0gZ2V0U3VjY2VzcyhhcGlSZXNwb25zZSk7XG4gICAgYXBpUmVzcG9uc2UuZGF0YS5saW5lcz8uZm9yRWFjaChsaW5lID0+IHtcbiAgICAgIGlmIChleHRyYWN0RGF0YS5maWx0ZXI/LltsaW5lLmxldmVsLnRvTG93ZXJDYXNlKCldKSByZXR1cm47XG4gICAgICBpZiAoZXh0cmFjdERhdGEucmVtb3ZlQ29sb3JzKSBsaW5lLm1lc3NhZ2UgPSBsaW5lLm1lc3NhZ2UucmVwbGFjZSgvW1xcdTAwMWJcXHUwMDliXVtbKCkjOz9dKig/OlswLTldezEsNH0oPzo7WzAtOV17MCw0fSkqKT9bMC05QS1PUlpjZi1ucXJ5PT48XS9nLCAnJyk7XG4gICAgICBsaW5lcy5wdXNoKGxpbmUpO1xuICAgICAgZGF0YSArPSBgWyR7bGluZS5sZXZlbH0keycgJy5yZXBlYXQoNSAtIGxpbmUubGV2ZWwubGVuZ3RoKX1dICR7bGluZS5tZXNzYWdlfVxcbmA7XG4gICAgfSk7XG5cbiAgICByZXR1cm4geyBsaW5lcywgZGF0YSB9IGFzIEV4dHJhY3RlZERhdGE8TD47XG4gIH0pO1xuXG4gIGlmICghYXdhaXQgZXh0cmFjdGVkRGF0YSkgdGhyb3cgJ0V4Y2VwdGlvbiBvciBlcnJvciBpcyByZXNvbHZlZC4nO1xuXG4gIHJldHVybiBleHRyYWN0ZWREYXRhO1xufVxuXG5leHBvcnQgY29uc3QgaXNFcnJvciA9IChyZXNwb25zZTogQXBpUmVzcG9uc2U8Ym9vbGVhbj4pOiByZXNwb25zZSBpcyBBcGlFcnJvclJlc3BvbnNlID0+ICdlcnJvcicgaW4gcmVzcG9uc2U7XG5leHBvcnQgY29uc3QgZ2V0U3VjY2VzcyA9IDxMb2dFbmFibGVkIGV4dGVuZHMgYm9vbGVhbj4ocmVzcG9uc2U6IEFwaVJlc3BvbnNlPExvZ0VuYWJsZWQ+KTogQXBpU3VjY2Vzc1Jlc3BvbnNlPExvZ0VuYWJsZWQ+ID0+ICghaXNFcnJvcihyZXNwb25zZSkgJiYgIWlzRXhjZXB0aW9uKHJlc3BvbnNlKSkgPyByZXNwb25zZSBhcyBBcGlTdWNjZXNzUmVzcG9uc2U8TG9nRW5hYmxlZD4gOiBudWxsO1xuZXhwb3J0IGNvbnN0IGlzRXhjZXB0aW9uID0gPExvZ0VuYWJsZWQgZXh0ZW5kcyBib29sZWFuPihyZXNwb25zZTogQXBpUmVzcG9uc2U8TG9nRW5hYmxlZD4pOiByZXNwb25zZSBpcyBBcGlFeGNlcHRpb25SZXNwb25zZTxMb2dFbmFibGVkPiA9PiAnZGF0YScgaW4gcmVzcG9uc2UgJiYgJ3N1Y2Nlc3MnIGluIHJlc3BvbnNlLmRhdGEgJiYgIXJlc3BvbnNlLmRhdGEuc3VjY2VzcztcblxuZXhwb3J0IHR5cGUgQXBpUmVzcG9uc2U8TG9nRW5hYmxlZCBleHRlbmRzIGJvb2xlYW4+ID0gUmVhZG9ubHk8QXBpU3VjY2Vzc1Jlc3BvbnNlPExvZ0VuYWJsZWQ+IHwgQXBpRXhjZXB0aW9uUmVzcG9uc2U8TG9nRW5hYmxlZD4gfCBBcGlFcnJvclJlc3BvbnNlPjtcblxuZXhwb3J0IHR5cGUgTGluZTxMb2dFbmFibGVkIGV4dGVuZHMgYm9vbGVhbj4gPSBMb2dFbmFibGVkIGV4dGVuZHMgdHJ1ZSA/IHsgbGV2ZWw6ICdERVYnIHwgJ0RFQlVHJyB8ICdJTkZPJyB8ICdFUlJPUicsIG1lc3NhZ2U6IHN0cmluZyB9IDogdW5kZWZpbmVkO1xuZXhwb3J0IGludGVyZmFjZSBBcGlTdWNjZXNzUmVzcG9uc2U8TG9nRW5hYmxlZCBleHRlbmRzIGJvb2xlYW4+IHtcbiAgZGF0YToge1xuICAgIGxpbmVzOiBMaW5lPExvZ0VuYWJsZWQ+W11cbiAgICBzdWNjZXNzOiB0cnVlXG4gIH1cbn1cbmV4cG9ydCBpbnRlcmZhY2UgQXBpRXhjZXB0aW9uUmVzcG9uc2U8TG9nRW5hYmxlZCBleHRlbmRzIGJvb2xlYW4+IHtcbiAgZGF0YToge1xuICAgIGxpbmVzOiBMaW5lPExvZ0VuYWJsZWQ+W11cbiAgICBleGNlcHRpb246IHN0cmluZ1xuICAgIHN1Y2Nlc3M6IGZhbHNlXG4gIH1cbn1cbmV4cG9ydCBpbnRlcmZhY2UgQXBpRXJyb3JSZXNwb25zZSB7XG4gIGVycm9yOiAnUmVtb3RlQ29udHJvbCBkaXNhYmxlZCcgICAgICAgICAgICAgfFxuICAgICdZb3UgY2FuIHVzZWQgb25seSBHRVQgYW5kIFBPU1QgcmVxdWVzdHMnIHxcbiAgICAnTWlzc2luZyByZXF1aXJlZCBwYXJhbWV0ZXI6IHRva2VuJyAgICAgICB8XG4gICAgJ1Rva2VuIG5vdCB2YWxpZCcgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICdNaXNzaW5nIHJlcXVpcmVkIHBhcmFtZXRlcjogY29tbWFuZCcgICAgIHxcbiAgICAnWW91IGNhbm5vdCBleGVjdXRlIHRoaXMgY29tbWFuZCdcbn1cbiJdfQ==