@kontur.candy/tools 2.190.0 → 2.191.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,10 +17,10 @@ var _Params = require("../../../Commons/HttpServer/AttributeRouting/Params");
17
17
  var _Results = require("../../../Commons/HttpServer/AttributeRouting/Results");
18
18
  var _StreamResultHandler = require("../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler");
19
19
  var _SingletonController = require("../../../Commons/HttpServer/ExpressWrapper/SingletonController");
20
- var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class;
20
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class;
21
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
22
22
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
23
- let BuildServerPublishedEngineController = exports.BuildServerPublishedEngineController = (_dec = (0, _Methods.httpGet)("/public/scripts/candy_v:engineName.js", _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("engineName", _Params.httpType.String)), _dec2 = (0, _Methods.httpGet)("/public/styles/candy_v:engineName.css", _Results.httpReturn.StreamWithMime("text/css"), (0, _Params.httpUrlParam)("engineName", _Params.httpType.String)), _dec3 = (0, _Methods.httpGet)("/public/scripts/candy_v:engineName.js.map", _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("engineName", _Params.httpType.String)), _dec4 = (0, _Methods.httpGet)("/public/styles/candy_v:engineName.css.map", _Results.httpReturn.StreamWithMime("text/css"), (0, _Params.httpUrlParam)("engineName", _Params.httpType.String)), _dec5 = (0, _Methods.httpGet)("/public/fonts/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec6 = (0, _Methods.httpGet)("/public/images/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), (_class = class BuildServerPublishedEngineController extends _SingletonController.SingletonController {
23
+ let BuildServerPublishedEngineController = exports.BuildServerPublishedEngineController = (_dec = (0, _Methods.httpGet)("/public/scripts/candy_v:engineName.js", _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("engineName", _Params.httpType.String)), _dec2 = (0, _Methods.httpGet)("/public/scripts/:chunkname.candy_v:engineName.js", _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("chunkname", _Params.httpType.String), (0, _Params.httpUrlParam)("engineName", _Params.httpType.String)), _dec3 = (0, _Methods.httpGet)("/public/styles/candy_v:engineName.css", _Results.httpReturn.StreamWithMime("text/css"), (0, _Params.httpUrlParam)("engineName", _Params.httpType.String)), _dec4 = (0, _Methods.httpGet)("/public/scripts/candy_v:engineName.js.map", _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("engineName", _Params.httpType.String)), _dec5 = (0, _Methods.httpGet)("/public/scripts/:chunkname.candy_v:engineName.js.map", _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("chunkname", _Params.httpType.String), (0, _Params.httpUrlParam)("engineName", _Params.httpType.String)), _dec6 = (0, _Methods.httpGet)("/public/styles/candy_v:engineName.css.map", _Results.httpReturn.StreamWithMime("text/css"), (0, _Params.httpUrlParam)("engineName", _Params.httpType.String)), _dec7 = (0, _Methods.httpGet)("/public/fonts/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec8 = (0, _Methods.httpGet)("/public/images/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), (_class = class BuildServerPublishedEngineController extends _SingletonController.SingletonController {
24
24
  constructor(candyModulesDirectory) {
25
25
  super();
26
26
  this.candyModulesDirectory = void 0;
@@ -33,6 +33,12 @@ let BuildServerPublishedEngineController = exports.BuildServerPublishedEngineCon
33
33
  const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);
34
34
  return new _StreamResultHandler.FileStreamResult(`${pathToPublishedEngine}/scripts/${fileName}`);
35
35
  }
36
+ async getEngineChunk(chunkname, engineName) {
37
+ const fileName = `${chunkname}.candy_v${engineName}.js`;
38
+ const engineVersion = _EngineVersionUtils.EngineVersionUtils.extractVersionFromEngineFileName(fileName);
39
+ const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);
40
+ return new _StreamResultHandler.FileStreamResult(`${pathToPublishedEngine}/scripts/${fileName}`);
41
+ }
36
42
  async getEngineStyles(engineName) {
37
43
  const fileName = `candy_v${engineName}.css`;
38
44
  const engineVersion = _EngineVersionUtils.EngineVersionUtils.extractVersionFromEngineFileName(fileName);
@@ -45,6 +51,12 @@ let BuildServerPublishedEngineController = exports.BuildServerPublishedEngineCon
45
51
  const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);
46
52
  return new _StreamResultHandler.FileStreamResult(`${pathToPublishedEngine}/scripts/${fileName}`);
47
53
  }
54
+ async getEngineChunkSourceMap(chunkname, engineName) {
55
+ const fileName = `${chunkname}.candy_v${engineName}.js.map`;
56
+ const engineVersion = _EngineVersionUtils.EngineVersionUtils.extractVersionFromEngineFileName(fileName);
57
+ const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);
58
+ return new _StreamResultHandler.FileStreamResult(`${pathToPublishedEngine}/scripts/${fileName}`);
59
+ }
48
60
  async getEngineStylesSourceMap(engineName) {
49
61
  const fileName = `candy_v${engineName}.css.map`;
50
62
  const engineVersion = _EngineVersionUtils.EngineVersionUtils.extractVersionFromEngineFileName(fileName);
@@ -80,5 +92,5 @@ let BuildServerPublishedEngineController = exports.BuildServerPublishedEngineCon
80
92
  }
81
93
  return result;
82
94
  }
83
- }, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getEngineScript", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getEngineScript"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getEngineStyles", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "getEngineStyles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getEngineScriptSourceMap", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "getEngineScriptSourceMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getEngineStylesSourceMap", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "getEngineStylesSourceMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormFont", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, "getFormFont"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormImages", [_dec6], Object.getOwnPropertyDescriptor(_class.prototype, "getFormImages"), _class.prototype)), _class));
84
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2ZzRXh0cmEiLCJfbWltZVR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9BY3F1aXJlRm9ybUVuZ2luZSIsIl9FbmdpbmVWZXJzaW9uVXRpbHMiLCJfTWV0aG9kcyIsIl9Ob3RGb3VuZFdlYkVycm9yIiwiX1BhcmFtcyIsIl9SZXN1bHRzIiwiX1N0cmVhbVJlc3VsdEhhbmRsZXIiLCJfU2luZ2xldG9uQ29udHJvbGxlciIsIl9kZWMiLCJfZGVjMiIsIl9kZWMzIiwiX2RlYzQiLCJfZGVjNSIsIl9kZWM2IiwiX2NsYXNzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyIiwiZXhwb3J0cyIsImh0dHBHZXQiLCJodHRwUmV0dXJuIiwiU3RyZWFtV2l0aE1pbWUiLCJodHRwVXJsUGFyYW0iLCJodHRwVHlwZSIsIlN0cmluZyIsIlN0cmVhbSIsIlNpbmdsZXRvbkNvbnRyb2xsZXIiLCJjb25zdHJ1Y3RvciIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsInVzZWRFbmdpbmVzIiwiZ2V0RW5naW5lU2NyaXB0IiwiZW5naW5lTmFtZSIsImZpbGVOYW1lIiwiZW5naW5lVmVyc2lvbiIsIkVuZ2luZVZlcnNpb25VdGlscyIsImV4dHJhY3RWZXJzaW9uRnJvbUVuZ2luZUZpbGVOYW1lIiwicGF0aFRvUHVibGlzaGVkRW5naW5lIiwiZ2V0UGF0aFRvUHVibGlzaGVkRW5naW5lIiwiRmlsZVN0cmVhbVJlc3VsdCIsImdldEVuZ2luZVN0eWxlcyIsImdldEVuZ2luZVNjcmlwdFNvdXJjZU1hcCIsImdldEVuZ2luZVN0eWxlc1NvdXJjZU1hcCIsImdldEZvcm1Gb250IiwicGF0aFRvRW5naW5lIiwiZmlsZU5hbWVQYXRoIiwiam9pbiIsInBhdGhFeGlzdHMiLCJtaW1lIiwibG9va3VwIiwiTm90Rm91bmRXZWJFcnJvciIsImdldEZvcm1JbWFnZXMiLCJlbmdpbmUiLCJlbmdpbmVGYWN0b3J5IiwidHlwZSIsInZlcnNpb24iLCJyZXN1bHQiLCJjdXJyZW50VmFsdWUiLCJpbmNsdWRlcyIsInB1c2giLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yMiIsInByb3RvdHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlclB1Ymxpc2hlZEVuZ2luZUNvbnRyb2xsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBwYXRoRXhpc3RzIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgbWltZSBmcm9tIFwibWltZS10eXBlc1wiO1xuXG5pbXBvcnQgeyBlbmdpbmVGYWN0b3J5IH0gZnJvbSBcIi4uLy4uLy4uL0J1aWxkVGFza3MvRW5naW5lL0FjcXVpcmVGb3JtRW5naW5lXCI7XG5pbXBvcnQgeyBFbmdpbmVWZXJzaW9uVXRpbHMgfSBmcm9tIFwiLi4vLi4vLi4vQnVpbGRUYXNrcy9FbmdpbmVWZXJzaW9uVXRpbHNcIjtcbmltcG9ydCB7IGh0dHBHZXQgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvTWV0aG9kc1wiO1xuaW1wb3J0IHsgTm90Rm91bmRXZWJFcnJvciB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9Ob3RGb3VuZFdlYkVycm9yXCI7XG5pbXBvcnQgeyBodHRwVHlwZSwgaHR0cFVybFBhcmFtIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1BhcmFtc1wiO1xuaW1wb3J0IHsgaHR0cFJldHVybiB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9SZXN1bHRzXCI7XG5pbXBvcnQge1xuICAgIEZpbGVTdHJlYW1SZXN1bHQsXG4gICAgU3RyZWFtUmV0dXJuUmVzdWx0LFxufSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvUmVzdWx0cy9TdHJlYW1SZXN1bHRIYW5kbGVyXCI7XG5pbXBvcnQgeyBTaW5nbGV0b25Db250cm9sbGVyIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9FeHByZXNzV3JhcHBlci9TaW5nbGV0b25Db250cm9sbGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBCdWlsZFNlcnZlclB1Ymxpc2hlZEVuZ2luZUNvbnRyb2xsZXIgZXh0ZW5kcyBTaW5nbGV0b25Db250cm9sbGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlZEVuZ2luZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5jYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBjYW5keU1vZHVsZXNEaXJlY3Rvcnk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXG4gICAgICAgIFwiL3B1YmxpYy9zY3JpcHRzL2NhbmR5X3Y6ZW5naW5lTmFtZS5qc1wiLFxuICAgICAgICBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwiZW5naW5lTmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXRFbmdpbmVTY3JpcHQoZW5naW5lTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBgY2FuZHlfdiR7ZW5naW5lTmFtZX0uanNgO1xuICAgICAgICBjb25zdCBlbmdpbmVWZXJzaW9uID0gRW5naW5lVmVyc2lvblV0aWxzLmV4dHJhY3RWZXJzaW9uRnJvbUVuZ2luZUZpbGVOYW1lKGZpbGVOYW1lKTtcbiAgICAgICAgY29uc3QgcGF0aFRvUHVibGlzaGVkRW5naW5lID0gYXdhaXQgdGhpcy5nZXRQYXRoVG9QdWJsaXNoZWRFbmdpbmUoZW5naW5lVmVyc2lvbik7XG4gICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChgJHtwYXRoVG9QdWJsaXNoZWRFbmdpbmV9L3NjcmlwdHMvJHtmaWxlTmFtZX1gKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgXCIvcHVibGljL3N0eWxlcy9jYW5keV92OmVuZ2luZU5hbWUuY3NzXCIsXG4gICAgICAgIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJ0ZXh0L2Nzc1wiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwiZW5naW5lTmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXRFbmdpbmVTdHlsZXMoZW5naW5lTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBgY2FuZHlfdiR7ZW5naW5lTmFtZX0uY3NzYDtcbiAgICAgICAgY29uc3QgZW5naW5lVmVyc2lvbiA9IEVuZ2luZVZlcnNpb25VdGlscy5leHRyYWN0VmVyc2lvbkZyb21FbmdpbmVGaWxlTmFtZShmaWxlTmFtZSk7XG4gICAgICAgIGNvbnN0IHBhdGhUb1B1Ymxpc2hlZEVuZ2luZSA9IGF3YWl0IHRoaXMuZ2V0UGF0aFRvUHVibGlzaGVkRW5naW5lKGVuZ2luZVZlcnNpb24pO1xuICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoYCR7cGF0aFRvUHVibGlzaGVkRW5naW5lfS9zdHlsZXMvJHtmaWxlTmFtZX1gKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgXCIvcHVibGljL3NjcmlwdHMvY2FuZHlfdjplbmdpbmVOYW1lLmpzLm1hcFwiLFxuICAgICAgICBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwiZW5naW5lTmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXRFbmdpbmVTY3JpcHRTb3VyY2VNYXAoZW5naW5lTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBgY2FuZHlfdiR7ZW5naW5lTmFtZX0uanMubWFwYDtcbiAgICAgICAgY29uc3QgZW5naW5lVmVyc2lvbiA9IEVuZ2luZVZlcnNpb25VdGlscy5leHRyYWN0VmVyc2lvbkZyb21FbmdpbmVGaWxlTmFtZShmaWxlTmFtZSk7XG4gICAgICAgIGNvbnN0IHBhdGhUb1B1Ymxpc2hlZEVuZ2luZSA9IGF3YWl0IHRoaXMuZ2V0UGF0aFRvUHVibGlzaGVkRW5naW5lKGVuZ2luZVZlcnNpb24pO1xuICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoYCR7cGF0aFRvUHVibGlzaGVkRW5naW5lfS9zY3JpcHRzLyR7ZmlsZU5hbWV9YCk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXG4gICAgICAgIFwiL3B1YmxpYy9zdHlsZXMvY2FuZHlfdjplbmdpbmVOYW1lLmNzcy5tYXBcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcInRleHQvY3NzXCIpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCJlbmdpbmVOYW1lXCIsIGh0dHBUeXBlLlN0cmluZylcbiAgICApXG4gICAgcHVibGljIGFzeW5jIGdldEVuZ2luZVN0eWxlc1NvdXJjZU1hcChlbmdpbmVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGBjYW5keV92JHtlbmdpbmVOYW1lfS5jc3MubWFwYDtcbiAgICAgICAgY29uc3QgZW5naW5lVmVyc2lvbiA9IEVuZ2luZVZlcnNpb25VdGlscy5leHRyYWN0VmVyc2lvbkZyb21FbmdpbmVGaWxlTmFtZShmaWxlTmFtZSk7XG4gICAgICAgIGNvbnN0IHBhdGhUb1B1Ymxpc2hlZEVuZ2luZSA9IGF3YWl0IHRoaXMuZ2V0UGF0aFRvUHVibGlzaGVkRW5naW5lKGVuZ2luZVZlcnNpb24pO1xuICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoYCR7cGF0aFRvUHVibGlzaGVkRW5naW5lfS9zdHlsZXMvJHtmaWxlTmFtZX1gKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wdWJsaWMvZm9udHMvOmZpbGVuYW1lXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJmaWxlbmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRGb3JtRm9udChmaWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgZm9yIChjb25zdCBwYXRoVG9FbmdpbmUgb2YgdGhpcy51c2VkRW5naW5lcykge1xuICAgICAgICAgICAgY29uc3QgZmlsZU5hbWVQYXRoID0gcGF0aC5qb2luKHBhdGhUb0VuZ2luZSwgYGZvbnRzLyR7ZmlsZU5hbWV9YCk7XG4gICAgICAgICAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhmaWxlTmFtZVBhdGgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KGZpbGVOYW1lUGF0aCwgbWltZS5sb29rdXAoZmlsZU5hbWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRXZWJFcnJvcihcIkZpbGUgbm90IGZvdW5kXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3B1YmxpYy9pbWFnZXMvOmZpbGVuYW1lXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJmaWxlbmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRGb3JtSW1hZ2VzKGZpbGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICBmb3IgKGNvbnN0IHBhdGhUb0VuZ2luZSBvZiB0aGlzLnVzZWRFbmdpbmVzKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlTmFtZVBhdGggPSBwYXRoLmpvaW4ocGF0aFRvRW5naW5lLCBgaW1hZ2VzLyR7ZmlsZU5hbWV9YCk7XG4gICAgICAgICAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhmaWxlTmFtZVBhdGgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KGZpbGVOYW1lUGF0aCwgbWltZS5sb29rdXAoZmlsZU5hbWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRXZWJFcnJvcihcIkZpbGUgbm90IGZvdW5kXCIsIHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZ2V0UGF0aFRvUHVibGlzaGVkRW5naW5lKGVuZ2luZVZlcnNpb246IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IGVuZ2luZSA9IGVuZ2luZUZhY3RvcnkoXG4gICAgICAgICAgICB7IHR5cGU6IFwiUHVibGlzaGVkRW5naW5lXCIsIHZlcnNpb246IGVuZ2luZVZlcnNpb24gfSxcbiAgICAgICAgICAgIHRoaXMuY2FuZHlNb2R1bGVzRGlyZWN0b3J5LFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZW5naW5lLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgaWYgKCF0aGlzLnVzZWRFbmdpbmVzLmluY2x1ZGVzKHJlc3VsdCkpIHtcbiAgICAgICAgICAgIHRoaXMudXNlZEVuZ2luZXMucHVzaChyZXN1bHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLElBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLElBQUFJLGtCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxtQkFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sUUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8saUJBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLE9BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFFBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLG9CQUFBLEdBQUFWLE9BQUE7QUFJQSxJQUFBVyxvQkFBQSxHQUFBWCxPQUFBO0FBQXFHLElBQUFZLElBQUEsRUFBQUMsS0FBQSxFQUFBQyxLQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxLQUFBLEVBQUFDLE1BQUE7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBckIsd0JBQUFxQixDQUFBLEVBQUFF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LGdDQUFhLEVBQ3hCO01BQUVDLElBQUksRUFBRSxpQkFBaUI7TUFBRUMsT0FBTyxFQUFFckI7SUFBYyxDQUFDLEVBQ25ELElBQUksQ0FBQ0wscUJBQXFCLEVBQzFCLEtBQ0osQ0FBQztJQUNELE1BQU0yQixNQUFNLEdBQUcsTUFBTUosTUFBTSxDQUFDSyxZQUFZO0lBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMzQixXQUFXLENBQUM0QixRQUFRLENBQUNGLE1BQU0sQ0FBQyxFQUFFO01BQ3BDLElBQUksQ0FBQzFCLFdBQVcsQ0FBQzZCLElBQUksQ0FBQ0gsTUFBTSxDQUFDO0lBQ2pDO0lBQ0EsT0FBT0EsTUFBTTtFQUNqQjtBQUNKLENBQUMsT0FBQUksMEJBQUEsQ0FBQXhELE9BQUEsRUFBQVAsTUFBQSxDQUFBZ0UsU0FBQSxzQkFBQXRFLElBQUEsR0FBQW1CLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBZ0UsU0FBQSxzQkFBQWhFLE1BQUEsQ0FBQWdFLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXhELE9BQUEsRUFBQVAsTUFBQSxDQUFBZ0UsU0FBQSxzQkFBQXJFLEtBQUEsR0FBQWtCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBZ0UsU0FBQSxzQkFBQWhFLE1BQUEsQ0FBQWdFLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXhELE9BQUEsRUFBQVAsTUFBQSxDQUFBZ0UsU0FBQSwrQkFBQXBFLEtBQUEsR0FBQWlCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBZ0UsU0FBQSwrQkFBQWhFLE1BQUEsQ0FBQWdFLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXhELE9BQUEsRUFBQVAsTUFBQSxDQUFBZ0UsU0FBQSwrQkFBQW5FLEtBQUEsR0FBQWdCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBZ0UsU0FBQSwrQkFBQWhFLE1BQUEsQ0FBQWdFLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXhELE9BQUEsRUFBQVAsTUFBQSxDQUFBZ0UsU0FBQSxrQkFBQWxFLEtBQUEsR0FBQWUsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixNQUFBLENBQUFnRSxTQUFBLGtCQUFBaEUsTUFBQSxDQUFBZ0UsU0FBQSxPQUFBRCwwQkFBQSxDQUFBeEQsT0FBQSxFQUFBUCxNQUFBLENBQUFnRSxTQUFBLG9CQUFBakUsS0FBQSxHQUFBYyxNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQWdFLFNBQUEsb0JBQUFoRSxNQUFBLENBQUFnRSxTQUFBLElBQUFoRSxNQUFBIiwiaWdub3JlTGlzdCI6W119
95
+ }, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getEngineScript", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getEngineScript"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getEngineChunk", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "getEngineChunk"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getEngineStyles", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "getEngineStyles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getEngineScriptSourceMap", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "getEngineScriptSourceMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getEngineChunkSourceMap", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, "getEngineChunkSourceMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getEngineStylesSourceMap", [_dec6], Object.getOwnPropertyDescriptor(_class.prototype, "getEngineStylesSourceMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormFont", [_dec7], Object.getOwnPropertyDescriptor(_class.prototype, "getFormFont"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormImages", [_dec8], Object.getOwnPropertyDescriptor(_class.prototype, "getFormImages"), _class.prototype)), _class));
96
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2ZzRXh0cmEiLCJfbWltZVR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9BY3F1aXJlRm9ybUVuZ2luZSIsIl9FbmdpbmVWZXJzaW9uVXRpbHMiLCJfTWV0aG9kcyIsIl9Ob3RGb3VuZFdlYkVycm9yIiwiX1BhcmFtcyIsIl9SZXN1bHRzIiwiX1N0cmVhbVJlc3VsdEhhbmRsZXIiLCJfU2luZ2xldG9uQ29udHJvbGxlciIsIl9kZWMiLCJfZGVjMiIsIl9kZWMzIiwiX2RlYzQiLCJfZGVjNSIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsIl9jbGFzcyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkJ1aWxkU2VydmVyUHVibGlzaGVkRW5naW5lQ29udHJvbGxlciIsImV4cG9ydHMiLCJodHRwR2V0IiwiaHR0cFJldHVybiIsIlN0cmVhbVdpdGhNaW1lIiwiaHR0cFVybFBhcmFtIiwiaHR0cFR5cGUiLCJTdHJpbmciLCJTdHJlYW0iLCJTaW5nbGV0b25Db250cm9sbGVyIiwiY29uc3RydWN0b3IiLCJjYW5keU1vZHVsZXNEaXJlY3RvcnkiLCJ1c2VkRW5naW5lcyIsImdldEVuZ2luZVNjcmlwdCIsImVuZ2luZU5hbWUiLCJmaWxlTmFtZSIsImVuZ2luZVZlcnNpb24iLCJFbmdpbmVWZXJzaW9uVXRpbHMiLCJleHRyYWN0VmVyc2lvbkZyb21FbmdpbmVGaWxlTmFtZSIsInBhdGhUb1B1Ymxpc2hlZEVuZ2luZSIsImdldFBhdGhUb1B1Ymxpc2hlZEVuZ2luZSIsIkZpbGVTdHJlYW1SZXN1bHQiLCJnZXRFbmdpbmVDaHVuayIsImNodW5rbmFtZSIsImdldEVuZ2luZVN0eWxlcyIsImdldEVuZ2luZVNjcmlwdFNvdXJjZU1hcCIsImdldEVuZ2luZUNodW5rU291cmNlTWFwIiwiZ2V0RW5naW5lU3R5bGVzU291cmNlTWFwIiwiZ2V0Rm9ybUZvbnQiLCJwYXRoVG9FbmdpbmUiLCJmaWxlTmFtZVBhdGgiLCJqb2luIiwicGF0aEV4aXN0cyIsIm1pbWUiLCJsb29rdXAiLCJOb3RGb3VuZFdlYkVycm9yIiwiZ2V0Rm9ybUltYWdlcyIsImVuZ2luZSIsImVuZ2luZUZhY3RvcnkiLCJ0eXBlIiwidmVyc2lvbiIsInJlc3VsdCIsImN1cnJlbnRWYWx1ZSIsImluY2x1ZGVzIiwicHVzaCIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IyIiwicHJvdG90eXBlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkU2VydmVyL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyUHVibGlzaGVkRW5naW5lQ29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IHBhdGhFeGlzdHMgfSBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCBtaW1lIGZyb20gXCJtaW1lLXR5cGVzXCI7XG5cbmltcG9ydCB7IGVuZ2luZUZhY3RvcnkgfSBmcm9tIFwiLi4vLi4vLi4vQnVpbGRUYXNrcy9FbmdpbmUvQWNxdWlyZUZvcm1FbmdpbmVcIjtcbmltcG9ydCB7IEVuZ2luZVZlcnNpb25VdGlscyB9IGZyb20gXCIuLi8uLi8uLi9CdWlsZFRhc2tzL0VuZ2luZVZlcnNpb25VdGlsc1wiO1xuaW1wb3J0IHsgaHR0cEdldCB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9NZXRob2RzXCI7XG5pbXBvcnQgeyBOb3RGb3VuZFdlYkVycm9yIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL05vdEZvdW5kV2ViRXJyb3JcIjtcbmltcG9ydCB7IGh0dHBUeXBlLCBodHRwVXJsUGFyYW0gfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvUGFyYW1zXCI7XG5pbXBvcnQgeyBodHRwUmV0dXJuIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1Jlc3VsdHNcIjtcbmltcG9ydCB7XG4gICAgRmlsZVN0cmVhbVJlc3VsdCxcbiAgICBTdHJlYW1SZXR1cm5SZXN1bHQsXG59IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9SZXN1bHRzL1N0cmVhbVJlc3VsdEhhbmRsZXJcIjtcbmltcG9ydCB7IFNpbmdsZXRvbkNvbnRyb2xsZXIgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0V4cHJlc3NXcmFwcGVyL1NpbmdsZXRvbkNvbnRyb2xsZXJcIjtcblxuZXhwb3J0IGNsYXNzIEJ1aWxkU2VydmVyUHVibGlzaGVkRW5naW5lQ29udHJvbGxlciBleHRlbmRzIFNpbmdsZXRvbkNvbnRyb2xsZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VkRW5naW5lczogc3RyaW5nW10gPSBbXTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IGNhbmR5TW9kdWxlc0RpcmVjdG9yeTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgXCIvcHVibGljL3NjcmlwdHMvY2FuZHlfdjplbmdpbmVOYW1lLmpzXCIsXG4gICAgICAgIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XCIpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCJlbmdpbmVOYW1lXCIsIGh0dHBUeXBlLlN0cmluZylcbiAgICApXG4gICAgcHVibGljIGFzeW5jIGdldEVuZ2luZVNjcmlwdChlbmdpbmVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGBjYW5keV92JHtlbmdpbmVOYW1lfS5qc2A7XG4gICAgICAgIGNvbnN0IGVuZ2luZVZlcnNpb24gPSBFbmdpbmVWZXJzaW9uVXRpbHMuZXh0cmFjdFZlcnNpb25Gcm9tRW5naW5lRmlsZU5hbWUoZmlsZU5hbWUpO1xuICAgICAgICBjb25zdCBwYXRoVG9QdWJsaXNoZWRFbmdpbmUgPSBhd2FpdCB0aGlzLmdldFBhdGhUb1B1Ymxpc2hlZEVuZ2luZShlbmdpbmVWZXJzaW9uKTtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KGAke3BhdGhUb1B1Ymxpc2hlZEVuZ2luZX0vc2NyaXB0cy8ke2ZpbGVOYW1lfWApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi9wdWJsaWMvc2NyaXB0cy86Y2h1bmtuYW1lLmNhbmR5X3Y6ZW5naW5lTmFtZS5qc1wiLFxuICAgICAgICBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwiY2h1bmtuYW1lXCIsIGh0dHBUeXBlLlN0cmluZyksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcImVuZ2luZU5hbWVcIiwgaHR0cFR5cGUuU3RyaW5nKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RW5naW5lQ2h1bmsoY2h1bmtuYW1lOiBzdHJpbmcsIGVuZ2luZU5hbWU6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7Y2h1bmtuYW1lfS5jYW5keV92JHtlbmdpbmVOYW1lfS5qc2A7XG4gICAgICAgIGNvbnN0IGVuZ2luZVZlcnNpb24gPSBFbmdpbmVWZXJzaW9uVXRpbHMuZXh0cmFjdFZlcnNpb25Gcm9tRW5naW5lRmlsZU5hbWUoZmlsZU5hbWUpO1xuICAgICAgICBjb25zdCBwYXRoVG9QdWJsaXNoZWRFbmdpbmUgPSBhd2FpdCB0aGlzLmdldFBhdGhUb1B1Ymxpc2hlZEVuZ2luZShlbmdpbmVWZXJzaW9uKTtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KGAke3BhdGhUb1B1Ymxpc2hlZEVuZ2luZX0vc2NyaXB0cy8ke2ZpbGVOYW1lfWApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi9wdWJsaWMvc3R5bGVzL2NhbmR5X3Y6ZW5naW5lTmFtZS5jc3NcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcInRleHQvY3NzXCIpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCJlbmdpbmVOYW1lXCIsIGh0dHBUeXBlLlN0cmluZylcbiAgICApXG4gICAgcHVibGljIGFzeW5jIGdldEVuZ2luZVN0eWxlcyhlbmdpbmVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGBjYW5keV92JHtlbmdpbmVOYW1lfS5jc3NgO1xuICAgICAgICBjb25zdCBlbmdpbmVWZXJzaW9uID0gRW5naW5lVmVyc2lvblV0aWxzLmV4dHJhY3RWZXJzaW9uRnJvbUVuZ2luZUZpbGVOYW1lKGZpbGVOYW1lKTtcbiAgICAgICAgY29uc3QgcGF0aFRvUHVibGlzaGVkRW5naW5lID0gYXdhaXQgdGhpcy5nZXRQYXRoVG9QdWJsaXNoZWRFbmdpbmUoZW5naW5lVmVyc2lvbik7XG4gICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChgJHtwYXRoVG9QdWJsaXNoZWRFbmdpbmV9L3N0eWxlcy8ke2ZpbGVOYW1lfWApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi9wdWJsaWMvc2NyaXB0cy9jYW5keV92OmVuZ2luZU5hbWUuanMubWFwXCIsXG4gICAgICAgIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XCIpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCJlbmdpbmVOYW1lXCIsIGh0dHBUeXBlLlN0cmluZylcbiAgICApXG4gICAgcHVibGljIGFzeW5jIGdldEVuZ2luZVNjcmlwdFNvdXJjZU1hcChlbmdpbmVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGBjYW5keV92JHtlbmdpbmVOYW1lfS5qcy5tYXBgO1xuICAgICAgICBjb25zdCBlbmdpbmVWZXJzaW9uID0gRW5naW5lVmVyc2lvblV0aWxzLmV4dHJhY3RWZXJzaW9uRnJvbUVuZ2luZUZpbGVOYW1lKGZpbGVOYW1lKTtcbiAgICAgICAgY29uc3QgcGF0aFRvUHVibGlzaGVkRW5naW5lID0gYXdhaXQgdGhpcy5nZXRQYXRoVG9QdWJsaXNoZWRFbmdpbmUoZW5naW5lVmVyc2lvbik7XG4gICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChgJHtwYXRoVG9QdWJsaXNoZWRFbmdpbmV9L3NjcmlwdHMvJHtmaWxlTmFtZX1gKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgXCIvcHVibGljL3NjcmlwdHMvOmNodW5rbmFtZS5jYW5keV92OmVuZ2luZU5hbWUuanMubWFwXCIsXG4gICAgICAgIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XCIpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCJjaHVua25hbWVcIiwgaHR0cFR5cGUuU3RyaW5nKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwiZW5naW5lTmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXRFbmdpbmVDaHVua1NvdXJjZU1hcChjaHVua25hbWU6IHN0cmluZywgZW5naW5lTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBgJHtjaHVua25hbWV9LmNhbmR5X3Yke2VuZ2luZU5hbWV9LmpzLm1hcGA7XG4gICAgICAgIGNvbnN0IGVuZ2luZVZlcnNpb24gPSBFbmdpbmVWZXJzaW9uVXRpbHMuZXh0cmFjdFZlcnNpb25Gcm9tRW5naW5lRmlsZU5hbWUoZmlsZU5hbWUpO1xuICAgICAgICBjb25zdCBwYXRoVG9QdWJsaXNoZWRFbmdpbmUgPSBhd2FpdCB0aGlzLmdldFBhdGhUb1B1Ymxpc2hlZEVuZ2luZShlbmdpbmVWZXJzaW9uKTtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KGAke3BhdGhUb1B1Ymxpc2hlZEVuZ2luZX0vc2NyaXB0cy8ke2ZpbGVOYW1lfWApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi9wdWJsaWMvc3R5bGVzL2NhbmR5X3Y6ZW5naW5lTmFtZS5jc3MubWFwXCIsXG4gICAgICAgIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJ0ZXh0L2Nzc1wiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwiZW5naW5lTmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXRFbmdpbmVTdHlsZXNTb3VyY2VNYXAoZW5naW5lTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBgY2FuZHlfdiR7ZW5naW5lTmFtZX0uY3NzLm1hcGA7XG4gICAgICAgIGNvbnN0IGVuZ2luZVZlcnNpb24gPSBFbmdpbmVWZXJzaW9uVXRpbHMuZXh0cmFjdFZlcnNpb25Gcm9tRW5naW5lRmlsZU5hbWUoZmlsZU5hbWUpO1xuICAgICAgICBjb25zdCBwYXRoVG9QdWJsaXNoZWRFbmdpbmUgPSBhd2FpdCB0aGlzLmdldFBhdGhUb1B1Ymxpc2hlZEVuZ2luZShlbmdpbmVWZXJzaW9uKTtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KGAke3BhdGhUb1B1Ymxpc2hlZEVuZ2luZX0vc3R5bGVzLyR7ZmlsZU5hbWV9YCk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcHVibGljL2ZvbnRzLzpmaWxlbmFtZVwiLCBodHRwUmV0dXJuLlN0cmVhbSwgaHR0cFVybFBhcmFtKFwiZmlsZW5hbWVcIiwgaHR0cFR5cGUuU3RyaW5nKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0Rm9ybUZvbnQoZmlsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIGZvciAoY29uc3QgcGF0aFRvRW5naW5lIG9mIHRoaXMudXNlZEVuZ2luZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVOYW1lUGF0aCA9IHBhdGguam9pbihwYXRoVG9FbmdpbmUsIGBmb250cy8ke2ZpbGVOYW1lfWApO1xuICAgICAgICAgICAgaWYgKGF3YWl0IHBhdGhFeGlzdHMoZmlsZU5hbWVQYXRoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChmaWxlTmFtZVBhdGgsIG1pbWUubG9va3VwKGZpbGVOYW1lKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wdWJsaWMvaW1hZ2VzLzpmaWxlbmFtZVwiLCBodHRwUmV0dXJuLlN0cmVhbSwgaHR0cFVybFBhcmFtKFwiZmlsZW5hbWVcIiwgaHR0cFR5cGUuU3RyaW5nKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0Rm9ybUltYWdlcyhmaWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgZm9yIChjb25zdCBwYXRoVG9FbmdpbmUgb2YgdGhpcy51c2VkRW5naW5lcykge1xuICAgICAgICAgICAgY29uc3QgZmlsZU5hbWVQYXRoID0gcGF0aC5qb2luKHBhdGhUb0VuZ2luZSwgYGltYWdlcy8ke2ZpbGVOYW1lfWApO1xuICAgICAgICAgICAgaWYgKGF3YWl0IHBhdGhFeGlzdHMoZmlsZU5hbWVQYXRoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChmaWxlTmFtZVBhdGgsIG1pbWUubG9va3VwKGZpbGVOYW1lKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGdldFBhdGhUb1B1Ymxpc2hlZEVuZ2luZShlbmdpbmVWZXJzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBlbmdpbmUgPSBlbmdpbmVGYWN0b3J5KFxuICAgICAgICAgICAgeyB0eXBlOiBcIlB1Ymxpc2hlZEVuZ2luZVwiLCB2ZXJzaW9uOiBlbmdpbmVWZXJzaW9uIH0sXG4gICAgICAgICAgICB0aGlzLmNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGVuZ2luZS5jdXJyZW50VmFsdWU7XG4gICAgICAgIGlmICghdGhpcy51c2VkRW5naW5lcy5pbmNsdWRlcyhyZXN1bHQpKSB7XG4gICAgICAgICAgICB0aGlzLnVzZWRFbmdpbmVzLnB1c2gocmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbiJdLCJtYXBwaW5n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
@@ -1 +1 @@
1
- {"version":3,"file":"BuildServerPublishedEngineController.js","names":["path","_interopRequireWildcard","require","_fsExtra","_mimeTypes","_interopRequireDefault","_AcquireFormEngine","_EngineVersionUtils","_Methods","_NotFoundWebError","_Params","_Results","_StreamResultHandler","_SingletonController","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BuildServerPublishedEngineController","exports","httpGet","httpReturn","StreamWithMime","httpUrlParam","httpType","String","Stream","SingletonController","constructor","candyModulesDirectory","usedEngines","getEngineScript","engineName","fileName","engineVersion","EngineVersionUtils","extractVersionFromEngineFileName","pathToPublishedEngine","getPathToPublishedEngine","FileStreamResult","getEngineStyles","getEngineScriptSourceMap","getEngineStylesSourceMap","getFormFont","pathToEngine","fileNamePath","join","pathExists","mime","lookup","NotFoundWebError","getFormImages","engine","engineFactory","type","version","result","currentValue","includes","push","_applyDecoratedDescriptor2","prototype"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport { pathExists } from \"fs-extra\";\nimport mime from \"mime-types\";\n\nimport { engineFactory } from \"../../../BuildTasks/Engine/AcquireFormEngine\";\nimport { EngineVersionUtils } from \"../../../BuildTasks/EngineVersionUtils\";\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { NotFoundWebError } from \"../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\nimport { httpType, httpUrlParam } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport {\n FileStreamResult,\n StreamReturnResult,\n} from \"../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\n\nexport class BuildServerPublishedEngineController extends SingletonController {\n private readonly candyModulesDirectory: string;\n private readonly usedEngines: string[] = [];\n\n public constructor(candyModulesDirectory: string) {\n super();\n this.candyModulesDirectory = candyModulesDirectory;\n }\n\n @httpGet(\n \"/public/scripts/candy_v:engineName.js\",\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"engineName\", httpType.String)\n )\n public async getEngineScript(engineName: string): Promise<StreamReturnResult> {\n const fileName = `candy_v${engineName}.js`;\n const engineVersion = EngineVersionUtils.extractVersionFromEngineFileName(fileName);\n const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);\n return new FileStreamResult(`${pathToPublishedEngine}/scripts/${fileName}`);\n }\n\n @httpGet(\n \"/public/styles/candy_v:engineName.css\",\n httpReturn.StreamWithMime(\"text/css\"),\n httpUrlParam(\"engineName\", httpType.String)\n )\n public async getEngineStyles(engineName: string): Promise<StreamReturnResult> {\n const fileName = `candy_v${engineName}.css`;\n const engineVersion = EngineVersionUtils.extractVersionFromEngineFileName(fileName);\n const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);\n return new FileStreamResult(`${pathToPublishedEngine}/styles/${fileName}`);\n }\n\n @httpGet(\n \"/public/scripts/candy_v:engineName.js.map\",\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"engineName\", httpType.String)\n )\n public async getEngineScriptSourceMap(engineName: string): Promise<StreamReturnResult> {\n const fileName = `candy_v${engineName}.js.map`;\n const engineVersion = EngineVersionUtils.extractVersionFromEngineFileName(fileName);\n const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);\n return new FileStreamResult(`${pathToPublishedEngine}/scripts/${fileName}`);\n }\n\n @httpGet(\n \"/public/styles/candy_v:engineName.css.map\",\n httpReturn.StreamWithMime(\"text/css\"),\n httpUrlParam(\"engineName\", httpType.String)\n )\n public async getEngineStylesSourceMap(engineName: string): Promise<StreamReturnResult> {\n const fileName = `candy_v${engineName}.css.map`;\n const engineVersion = EngineVersionUtils.extractVersionFromEngineFileName(fileName);\n const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);\n return new FileStreamResult(`${pathToPublishedEngine}/styles/${fileName}`);\n }\n\n @httpGet(\"/public/fonts/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getFormFont(fileName: string): Promise<StreamReturnResult> {\n for (const pathToEngine of this.usedEngines) {\n const fileNamePath = path.join(pathToEngine, `fonts/${fileName}`);\n if (await pathExists(fileNamePath)) {\n return new FileStreamResult(fileNamePath, mime.lookup(fileName));\n }\n }\n throw new NotFoundWebError(\"File not found\");\n }\n\n @httpGet(\"/public/images/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getFormImages(fileName: string): Promise<StreamReturnResult> {\n for (const pathToEngine of this.usedEngines) {\n const fileNamePath = path.join(pathToEngine, `images/${fileName}`);\n if (await pathExists(fileNamePath)) {\n return new FileStreamResult(fileNamePath, mime.lookup(fileName));\n }\n }\n throw new NotFoundWebError(\"File not found\", true);\n }\n\n private async getPathToPublishedEngine(engineVersion: string): Promise<string> {\n const engine = engineFactory(\n { type: \"PublishedEngine\", version: engineVersion },\n this.candyModulesDirectory,\n false\n );\n const result = await engine.currentValue;\n if (!this.usedEngines.includes(result)) {\n this.usedEngines.push(result);\n }\n return result;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BuildServerPublishedEngineController.js","names":["path","_interopRequireWildcard","require","_fsExtra","_mimeTypes","_interopRequireDefault","_AcquireFormEngine","_EngineVersionUtils","_Methods","_NotFoundWebError","_Params","_Results","_StreamResultHandler","_SingletonController","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BuildServerPublishedEngineController","exports","httpGet","httpReturn","StreamWithMime","httpUrlParam","httpType","String","Stream","SingletonController","constructor","candyModulesDirectory","usedEngines","getEngineScript","engineName","fileName","engineVersion","EngineVersionUtils","extractVersionFromEngineFileName","pathToPublishedEngine","getPathToPublishedEngine","FileStreamResult","getEngineChunk","chunkname","getEngineStyles","getEngineScriptSourceMap","getEngineChunkSourceMap","getEngineStylesSourceMap","getFormFont","pathToEngine","fileNamePath","join","pathExists","mime","lookup","NotFoundWebError","getFormImages","engine","engineFactory","type","version","result","currentValue","includes","push","_applyDecoratedDescriptor2","prototype"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport { pathExists } from \"fs-extra\";\nimport mime from \"mime-types\";\n\nimport { engineFactory } from \"../../../BuildTasks/Engine/AcquireFormEngine\";\nimport { EngineVersionUtils } from \"../../../BuildTasks/EngineVersionUtils\";\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { NotFoundWebError } from \"../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\nimport { httpType, httpUrlParam } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport {\n FileStreamResult,\n StreamReturnResult,\n} from \"../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\n\nexport class BuildServerPublishedEngineController extends SingletonController {\n private readonly candyModulesDirectory: string;\n private readonly usedEngines: string[] = [];\n\n public constructor(candyModulesDirectory: string) {\n super();\n this.candyModulesDirectory = candyModulesDirectory;\n }\n\n @httpGet(\n \"/public/scripts/candy_v:engineName.js\",\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"engineName\", httpType.String)\n )\n public async getEngineScript(engineName: string): Promise<StreamReturnResult> {\n const fileName = `candy_v${engineName}.js`;\n const engineVersion = EngineVersionUtils.extractVersionFromEngineFileName(fileName);\n const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);\n return new FileStreamResult(`${pathToPublishedEngine}/scripts/${fileName}`);\n }\n\n @httpGet(\n \"/public/scripts/:chunkname.candy_v:engineName.js\",\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"chunkname\", httpType.String),\n httpUrlParam(\"engineName\", httpType.String)\n )\n public async getEngineChunk(chunkname: string, engineName: string): Promise<StreamReturnResult> {\n const fileName = `${chunkname}.candy_v${engineName}.js`;\n const engineVersion = EngineVersionUtils.extractVersionFromEngineFileName(fileName);\n const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);\n return new FileStreamResult(`${pathToPublishedEngine}/scripts/${fileName}`);\n }\n\n @httpGet(\n \"/public/styles/candy_v:engineName.css\",\n httpReturn.StreamWithMime(\"text/css\"),\n httpUrlParam(\"engineName\", httpType.String)\n )\n public async getEngineStyles(engineName: string): Promise<StreamReturnResult> {\n const fileName = `candy_v${engineName}.css`;\n const engineVersion = EngineVersionUtils.extractVersionFromEngineFileName(fileName);\n const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);\n return new FileStreamResult(`${pathToPublishedEngine}/styles/${fileName}`);\n }\n\n @httpGet(\n \"/public/scripts/candy_v:engineName.js.map\",\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"engineName\", httpType.String)\n )\n public async getEngineScriptSourceMap(engineName: string): Promise<StreamReturnResult> {\n const fileName = `candy_v${engineName}.js.map`;\n const engineVersion = EngineVersionUtils.extractVersionFromEngineFileName(fileName);\n const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);\n return new FileStreamResult(`${pathToPublishedEngine}/scripts/${fileName}`);\n }\n\n @httpGet(\n \"/public/scripts/:chunkname.candy_v:engineName.js.map\",\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"chunkname\", httpType.String),\n httpUrlParam(\"engineName\", httpType.String)\n )\n public async getEngineChunkSourceMap(chunkname: string, engineName: string): Promise<StreamReturnResult> {\n const fileName = `${chunkname}.candy_v${engineName}.js.map`;\n const engineVersion = EngineVersionUtils.extractVersionFromEngineFileName(fileName);\n const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);\n return new FileStreamResult(`${pathToPublishedEngine}/scripts/${fileName}`);\n }\n\n @httpGet(\n \"/public/styles/candy_v:engineName.css.map\",\n httpReturn.StreamWithMime(\"text/css\"),\n httpUrlParam(\"engineName\", httpType.String)\n )\n public async getEngineStylesSourceMap(engineName: string): Promise<StreamReturnResult> {\n const fileName = `candy_v${engineName}.css.map`;\n const engineVersion = EngineVersionUtils.extractVersionFromEngineFileName(fileName);\n const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);\n return new FileStreamResult(`${pathToPublishedEngine}/styles/${fileName}`);\n }\n\n @httpGet(\"/public/fonts/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getFormFont(fileName: string): Promise<StreamReturnResult> {\n for (const pathToEngine of this.usedEngines) {\n const fileNamePath = path.join(pathToEngine, `fonts/${fileName}`);\n if (await pathExists(fileNamePath)) {\n return new FileStreamResult(fileNamePath, mime.lookup(fileName));\n }\n }\n throw new NotFoundWebError(\"File not found\");\n }\n\n @httpGet(\"/public/images/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getFormImages(fileName: string): Promise<StreamReturnResult> {\n for (const pathToEngine of this.usedEngines) {\n const fileNamePath = path.join(pathToEngine, `images/${fileName}`);\n if (await pathExists(fileNamePath)) {\n return new FileStreamResult(fileNamePath, mime.lookup(fileName));\n }\n }\n throw new NotFoundWebError(\"File not found\", true);\n }\n\n private async getPathToPublishedEngine(engineVersion: string): Promise<string> {\n const engine = engineFactory(\n { type: \"PublishedEngine\", version: engineVersion },\n this.candyModulesDirectory,\n false\n );\n const result = await engine.currentValue;\n if (!this.usedEngines.includes(result)) {\n this.usedEngines.push(result);\n }\n return result;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -35,7 +35,7 @@ async function runInitForm(context, options) {
35
35
  } = splitGfv(gfv);
36
36
  const formPath = path.join(repositoryRoot, _WellKnownDirectories.WellKnownDirectories.FormsDirectory, g.toString(), f.toString().padStart(3, "0"), gfv.toString(), _WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName);
37
37
  if (await (0, _fsExtra.pathExists)(formPath)) {
38
- const errorMessage = `Directory for '${gfv}' already exists.`;
38
+ const errorMessage = `Directory for '${gfv}' already exists in Candy folder.`;
39
39
  gfvLogger.error(errorMessage);
40
40
  throw new Error(errorMessage);
41
41
  }
@@ -114,4 +114,4 @@ function splitGfv(gfv) {
114
114
  v: gfvNumber % 100
115
115
  };
116
116
  }
117
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsInBhdGgiLCJfZnNFeHRyYSIsIl9QdWJsaXNoZWRWZXJzaW9uVXRpbHMiLCJfUmVzb2x2ZUZvcm1JbmZvIiwiX0ZzVXRpbHMiLCJfQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlciIsIl9XZWxsS25vd25EaXJlY3RvcmllcyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsInJ1bkluaXRGb3JtIiwiY29udGV4dCIsIm9wdGlvbnMiLCJsb2dnZXIiLCJnZnZzIiwidW5kZWZpbmVkIiwiSW52YWxpZENvbW1hbmRMaW5lQXJndW1lbnRzRXJyb3IiLCJyZXBvc2l0b3J5Um9vdCIsInByb2Nlc3MiLCJjd2QiLCJ0ZW1wbGF0ZURpciIsImpvaW4iLCJfX2Rpcm5hbWUiLCJiYXNlbmFtZSIsIm5vcm1hbGl6ZSIsImlzRGlyZWN0b3J5RXhpc3RzIiwiV2VsbEtub3duRGlyZWN0b3JpZXMiLCJGb3Jtc0RpcmVjdG9yeSIsIkVycm9yIiwiZ2Z2IiwiZ2Z2TG9nZ2VyIiwid2l0aFByZWZpeCIsImciLCJmIiwic3BsaXRHZnYiLCJmb3JtUGF0aCIsInRvU3RyaW5nIiwicGFkU3RhcnQiLCJDYW5keVN1YmRpcmVjdG9yeU5hbWUiLCJwYXRoRXhpc3RzIiwiZXJyb3JNZXNzYWdlIiwiZXJyb3IiLCJ0ZW1wT3V0cHV0RGlyIiwicm1kaXIiLCJyZWN1cnNpdmUiLCJsb2ciLCJlbnN1cmVEaXIiLCJoaWdobGFuZGVyRmFybVBhdGgiLCJobFJuZ1BhdGgxIiwiaGxSbmdQYXRoMiIsInJlbGF0aXZlRmlsZVBhdGgiLCJnbG9iQXN5bmMiLCJ0YXJnZXRSZWxhdGl2ZVBhdGgiLCJyZXBsYWNlIiwidmVyYm9zZSIsInN0YXQiLCJpc0RpcmVjdG9yeSIsImhscm5nIiwiZXhpc3RzSGxSbmdQYXRoIiwiY29udGVudCIsInJlYWRGaWxlIiwidGFyZ2V0Q29udGVudCIsIndyaXRlRmlsZSIsImluY2x1ZGVzIiwiZm9ybUpzb25QYXRoIiwiRm9ybUpzb25GaWxlTmFtZSIsImZvcm1Db25maWciLCJyZWFkRm9ybUNvbmZpZyIsImRlcGVuZGVuY2llcyIsImVuZ2luZSIsImdldExhc3RTdGFibGVFbmdpbmVWZXJzaW9uIiwiZ2VuZXJhdG9yIiwiZ2V0TGFzdFN0YWJsZUdlbmVyYXRvclZlcnNpb24iLCJ3cml0ZUpzb24iLCJzcGFjZXMiLCJtb3ZlRGlyZWN0b3J5Iiwic291cmNlUGF0aCIsInRhcmdldFBhdGgiLCJiYXNlZGlyIiwiZGlybmFtZSIsInBsYXRmb3JtIiwicmVuYW1lIiwibW92ZSIsImdmdk51bWJlciIsIk51bWJlciIsIk1hdGgiLCJmbG9vciIsInYiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvSW5pdEZvcm0vUnVuSW5pdEZvcm0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgb3MgZnJvbSBcIm9zXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IGVuc3VyZURpciwgbW92ZSwgcGF0aEV4aXN0cywgcmVhZEZpbGUsIHJlbmFtZSwgcm1kaXIsIHN0YXQsIHdyaXRlRmlsZSwgd3JpdGVKc29uIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5cbmltcG9ydCB7IGdldExhc3RTdGFibGVFbmdpbmVWZXJzaW9uLCBnZXRMYXN0U3RhYmxlR2VuZXJhdG9yVmVyc2lvbiB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1B1Ymxpc2hlZFZlcnNpb25VdGlsc1wiO1xuaW1wb3J0IHsgcmVhZEZvcm1Db25maWcgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9SZXNvbHZlRm9ybUluZm9cIjtcbmltcG9ydCB7IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9Db25zb2xlQXBwbGljYXRpb24vQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dFwiO1xuaW1wb3J0IHsgZ2xvYkFzeW5jLCBpc0RpcmVjdG9yeUV4aXN0cyB9IGZyb20gXCIuLi8uLi9Db21tb25zL0ZzVXRpbHNcIjtcbmltcG9ydCB7IEludmFsaWRDb21tYW5kTGluZUFyZ3VtZW50c0Vycm9yIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvT3B0aW9ucy9Db21tYW5kQmFzZWRPcHRpb25zUGFyc2VyXCI7XG5pbXBvcnQgeyBXZWxsS25vd25EaXJlY3RvcmllcyB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb24vV2VsbEtub3duRGlyZWN0b3JpZXNcIjtcblxuaW1wb3J0IHsgSW5pdEZvcm1PcHRpb25zIH0gZnJvbSBcIi4vSW5pdEZvcm1PcHRpb25zXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5Jbml0Rm9ybShjb250ZXh0OiBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0LCBvcHRpb25zOiBJbml0Rm9ybU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBsb2dnZXIgPSBjb250ZXh0LmxvZ2dlcjtcbiAgICBpZiAob3B0aW9ucy5nZnZzID09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZENvbW1hbmRMaW5lQXJndW1lbnRzRXJyb3IoXCLQndC1INGD0LrQsNC30LDQvdCwIEdWRiDQtNC70Y8g0YHQvtC30LTQsNC90LjRj1wiLCBcIlwiKTtcbiAgICB9XG5cbiAgICBsZXQgcmVwb3NpdG9yeVJvb3QgPSBwcm9jZXNzLmN3ZCgpO1xuICAgIGNvbnN0IHRlbXBsYXRlRGlyID0gcGF0aC5qb2luKF9fZGlybmFtZSwgXCJFbXB0eUZvcm1UZW1wbGF0ZVwiKTtcbiAgICBpZiAoXG4gICAgICAgIHBhdGguYmFzZW5hbWUocHJvY2Vzcy5jd2QoKSkgPT09IFwiY2FuZHkuZmFybVwiIHx8XG4gICAgICAgIHBhdGguYmFzZW5hbWUocHJvY2Vzcy5jd2QoKSkgPT09IFwiY2FuZHkuZGlhZG9jLmZhcm1cIiB8fFxuICAgICAgICBwYXRoLmJhc2VuYW1lKHByb2Nlc3MuY3dkKCkpID09PSBcImNhbmR5LnJwbi5mYXJtXCIgfHxcbiAgICAgICAgcGF0aC5iYXNlbmFtZShwcm9jZXNzLmN3ZCgpKSA9PT0gXCJUZXN0RmFybVwiXG4gICAgKSB7XG4gICAgICAgIHJlcG9zaXRvcnlSb290ID0gcGF0aC5ub3JtYWxpemUocGF0aC5qb2luKHJlcG9zaXRvcnlSb290LCBcIi4uXCIpKTtcbiAgICB9XG5cbiAgICBpZiAoIShhd2FpdCBpc0RpcmVjdG9yeUV4aXN0cyhwYXRoLmpvaW4ocmVwb3NpdG9yeVJvb3QsIFdlbGxLbm93bkRpcmVjdG9yaWVzLkZvcm1zRGlyZWN0b3J5KSkpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcItCi0LXQutGD0YnQsNGPINC00LjRgNC10LrRgtC+0YDQuNGPINC90LUg0L/QvtGF0L7QttCwINC90LAg0LrQsNGC0LDQu9C+0LMg0YEg0LjRgdGF0L7QtNC90LjQutCw0LzQuCDRhNC+0YDQvFwiKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGdmdiBvZiBvcHRpb25zLmdmdnMpIHtcbiAgICAgICAgY29uc3QgZ2Z2TG9nZ2VyID0gbG9nZ2VyLndpdGhQcmVmaXgoZ2Z2KTtcbiAgICAgICAgY29uc3QgeyBnLCBmIH0gPSBzcGxpdEdmdihnZnYpO1xuICAgICAgICBjb25zdCBmb3JtUGF0aCA9IHBhdGguam9pbihcbiAgICAgICAgICAgIHJlcG9zaXRvcnlSb290LFxuICAgICAgICAgICAgV2VsbEtub3duRGlyZWN0b3JpZXMuRm9ybXNEaXJlY3RvcnksXG4gICAgICAgICAgICBnLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBmLnRvU3RyaW5nKCkucGFkU3RhcnQoMywgXCIwXCIpLFxuICAgICAgICAgICAgZ2Z2LnRvU3RyaW5nKCksXG4gICAgICAgICAgICBXZWxsS25vd25EaXJlY3Rvcmllcy5DYW5keVN1YmRpcmVjdG9yeU5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGF3YWl0IHBhdGhFeGlzdHMoZm9ybVBhdGgpKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgRGlyZWN0b3J5IGZvciAnJHtnZnZ9JyBhbHJlYWR5IGV4aXN0cy5gO1xuICAgICAgICAgICAgZ2Z2TG9nZ2VyLmVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0ZW1wT3V0cHV0RGlyID0gcGF0aC5qb2luKF9fZGlybmFtZSwgXCIudG1wXCIsIGdmdik7XG4gICAgICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKHRlbXBPdXRwdXREaXIpKSB7XG4gICAgICAgICAgICBhd2FpdCBybWRpcih0ZW1wT3V0cHV0RGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBnZnZMb2dnZXIubG9nKGBDcmVhdGluZyBkaXJlY3Rvcnkgd2l0aCBzb3VyY2VzIGZyb20gdGVtcGxhdGVgKTtcbiAgICAgICAgYXdhaXQgZW5zdXJlRGlyKHRlbXBPdXRwdXREaXIpO1xuICAgICAgICBjb25zdCBoaWdobGFuZGVyRmFybVBhdGggPSBwYXRoLmpvaW4ocmVwb3NpdG9yeVJvb3QsIFwiaGlnaGxhbmRlci5mYXJtXCIsIFwiRm9ybXNcIiwgZ2Z2KTtcbiAgICAgICAgY29uc3QgaGxSbmdQYXRoMSA9IHBhdGguam9pbihoaWdobGFuZGVyRmFybVBhdGgsIGAke2dmdn0u0YHRhdC10LzQsC5ybmcueG1sYCk7XG4gICAgICAgIGNvbnN0IGhsUm5nUGF0aDIgPSBwYXRoLmpvaW4oaGlnaGxhbmRlckZhcm1QYXRoLCBcIkhpZ2hsYW5kZXJcIiwgYCR7Z2Z2fS7RgdGF0LXQvNCwLnJuZy54bWxgKTtcbiAgICAgICAgZm9yIChjb25zdCByZWxhdGl2ZUZpbGVQYXRoIG9mIGF3YWl0IGdsb2JBc3luYyhcIioqLypcIiwgeyBjd2Q6IHRlbXBsYXRlRGlyIH0pKSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXRSZWxhdGl2ZVBhdGggPSByZWxhdGl2ZUZpbGVQYXRoLnJlcGxhY2UoL3tnZnZ9L2csIGdmdik7XG4gICAgICAgICAgICBnZnZMb2dnZXIudmVyYm9zZShgUHJvY2Vzc2luZyB0ZW1wbGF0ZSBwYXRoICR7cmVsYXRpdmVGaWxlUGF0aH1gKTtcbiAgICAgICAgICAgIGlmICgoYXdhaXQgc3RhdChwYXRoLmpvaW4odGVtcGxhdGVEaXIsIHJlbGF0aXZlRmlsZVBhdGgpKSkuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgICAgICAgICAgIGF3YWl0IGVuc3VyZURpcihwYXRoLmpvaW4odGVtcE91dHB1dERpciwgdGFyZ2V0UmVsYXRpdmVQYXRoKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5obHJuZyAmJlxuICAgICAgICAgICAgICAgICAgICB0YXJnZXRSZWxhdGl2ZVBhdGggPT09IGBzY2hlbWFzLyR7Z2Z2fS4wLnJuZy54bWxgICYmXG4gICAgICAgICAgICAgICAgICAgICgoYXdhaXQgcGF0aEV4aXN0cyhobFJuZ1BhdGgxKSkgfHwgKGF3YWl0IHBhdGhFeGlzdHMoaGxSbmdQYXRoMikpKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleGlzdHNIbFJuZ1BhdGggPSAoYXdhaXQgcGF0aEV4aXN0cyhobFJuZ1BhdGgxKSkgPyBobFJuZ1BhdGgxIDogaGxSbmdQYXRoMjtcbiAgICAgICAgICAgICAgICAgICAgZ2Z2TG9nZ2VyLmxvZyhgQ29weSBzY2hlbWEgcm5nIGZpbGUgZnJvbSBoaWdobGFuZGVyLmZhcm0uYCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZShleGlzdHNIbFJuZ1BhdGgsIFwidXRmLThcIik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldENvbnRlbnQgPSBjb250ZW50LnJlcGxhY2UoL3tnZnZ9L2csIGdmdik7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShwYXRoLmpvaW4odGVtcE91dHB1dERpciwgdGFyZ2V0UmVsYXRpdmVQYXRoKSwgdGFyZ2V0Q29udGVudCwgXCJ1dGYtOFwiKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGFyZ2V0UmVsYXRpdmVQYXRoLmluY2x1ZGVzKFwiaGVscGVycy9hZGRQcmlsMS50eHRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8v0L/RgNC4INC60L7Qv9C40YDQvtCy0LDQvdC40LgganMg0YTQsNC50LvQvtCyIGJhYmVsINC90LDRgdC+0LLRi9Cy0LDQtdGCIHVzZSBzdHJpY3QsINC+0LHQvtGI0LvQuCDRgtCw0LrQuNC8INC/0YPRgtC10LxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZShwYXRoLmpvaW4odGVtcGxhdGVEaXIsIHJlbGF0aXZlRmlsZVBhdGgpLCBcInV0Zi04XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgd3JpdGVGaWxlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGguam9pbih0ZW1wT3V0cHV0RGlyLCB0YXJnZXRSZWxhdGl2ZVBhdGgucmVwbGFjZShcIi50eHRcIiwgXCIuanNcIikpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ1dGYtOFwiXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IGF3YWl0IHJlYWRGaWxlKHBhdGguam9pbih0ZW1wbGF0ZURpciwgcmVsYXRpdmVGaWxlUGF0aCksIFwidXRmLThcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRDb250ZW50ID0gY29udGVudC5yZXBsYWNlKC97Z2Z2fS9nLCBnZnYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgd3JpdGVGaWxlKHBhdGguam9pbih0ZW1wT3V0cHV0RGlyLCB0YXJnZXRSZWxhdGl2ZVBhdGgpLCB0YXJnZXRDb250ZW50LCBcInV0Zi04XCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZ2Z2TG9nZ2VyLnZlcmJvc2UoYFByb2Nlc3NlZCB0ZW1wbGF0ZSBwYXRoICR7cmVsYXRpdmVGaWxlUGF0aH1gKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb3JtSnNvblBhdGggPSBwYXRoLmpvaW4odGVtcE91dHB1dERpciwgV2VsbEtub3duRGlyZWN0b3JpZXMuRm9ybUpzb25GaWxlTmFtZSk7XG4gICAgICAgIGNvbnN0IGZvcm1Db25maWcgPSBhd2FpdCByZWFkRm9ybUNvbmZpZyhmb3JtSnNvblBhdGgsIGdmdkxvZ2dlcik7XG4gICAgICAgIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzID0ge1xuICAgICAgICAgICAgZW5naW5lOiBhd2FpdCBnZXRMYXN0U3RhYmxlRW5naW5lVmVyc2lvbigpLFxuICAgICAgICAgICAgZ2VuZXJhdG9yOiBhd2FpdCBnZXRMYXN0U3RhYmxlR2VuZXJhdG9yVmVyc2lvbigpLFxuICAgICAgICB9O1xuICAgICAgICBnZnZMb2dnZXIubG9nKGBTZXQgbGFzdCBzdGFibGUgdmVyc2lvbiAke2Zvcm1Db25maWcuZGVwZW5kZW5jaWVzLmVuZ2luZX1gKTtcbiAgICAgICAgYXdhaXQgd3JpdGVKc29uKGZvcm1Kc29uUGF0aCwgZm9ybUNvbmZpZywgeyBzcGFjZXM6IDIgfSk7XG4gICAgICAgIGdmdkxvZ2dlci5sb2coYE1vdmluZyBwcmVwYXJlZCBzb3VyY2VzIHRvICcke3JlcG9zaXRvcnlSb290fSdgKTtcbiAgICAgICAgYXdhaXQgbW92ZURpcmVjdG9yeSh0ZW1wT3V0cHV0RGlyLCBmb3JtUGF0aCk7XG4gICAgICAgIGdmdkxvZ2dlci5sb2coYEZvcm0gY3JlYXRpbmcgY29tcGxldGVkLiBQYXRoOiAnJHtmb3JtUGF0aH0nYCk7XG4gICAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBtb3ZlRGlyZWN0b3J5KHNvdXJjZVBhdGg6IHN0cmluZywgdGFyZ2V0UGF0aDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYmFzZWRpciA9IHBhdGguZGlybmFtZSh0YXJnZXRQYXRoKTtcbiAgICBhd2FpdCBlbnN1cmVEaXIoYmFzZWRpcik7XG4gICAgaWYgKG9zLnBsYXRmb3JtKCkgIT09IFwid2luMzJcIikge1xuICAgICAgICBhd2FpdCByZW5hbWUoc291cmNlUGF0aCwgdGFyZ2V0UGF0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHNvdXJjZVBhdGhbMF0gPT09IHRhcmdldFBhdGhbMF0pIHtcbiAgICAgICAgICAgIGF3YWl0IHJlbmFtZShzb3VyY2VQYXRoLCB0YXJnZXRQYXRoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF3YWl0IG1vdmUoc291cmNlUGF0aCwgdGFyZ2V0UGF0aCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIHNwbGl0R2Z2KGdmdjogc3RyaW5nIHwgbnVtYmVyKTogeyBnOiBudW1iZXI7IGY6IG51bWJlcjsgdjogbnVtYmVyIH0ge1xuICAgIGNvbnN0IGdmdk51bWJlciA9IHR5cGVvZiBnZnYgPT09IFwic3RyaW5nXCIgPyBOdW1iZXIoZ2Z2KSA6IGdmdjtcbiAgICByZXR1cm4ge1xuICAgICAgICBnOiBNYXRoLmZsb29yKGdmdk51bWJlciAvIDEwMDAwMCksXG4gICAgICAgIGY6IE1hdGguZmxvb3IoKGdmdk51bWJlciAlIDEwMDAwMCkgLyAxMDApLFxuICAgICAgICB2OiBnZnZOdW1iZXIgJSAxMDAsXG4gICAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsRUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsSUFBQSxHQUFBRix1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsc0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGdCQUFBLEdBQUFKLE9BQUE7QUFFQSxJQUFBSyxRQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSwwQkFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8scUJBQUEsR0FBQVAsT0FBQTtBQUErRSxTQUFBUSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBVix3QkFBQVUsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLHVCQUFBQSxDQUFBLHlCQUFBQSxDQUFBLFdBQUFLLE9BQUEsRUFBQUwsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFB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
117
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsInBhdGgiLCJfZnNFeHRyYSIsIl9QdWJsaXNoZWRWZXJzaW9uVXRpbHMiLCJfUmVzb2x2ZUZvcm1JbmZvIiwiX0ZzVXRpbHMiLCJfQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlciIsIl9XZWxsS25vd25EaXJlY3RvcmllcyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsInJ1bkluaXRGb3JtIiwiY29udGV4dCIsIm9wdGlvbnMiLCJsb2dnZXIiLCJnZnZzIiwidW5kZWZpbmVkIiwiSW52YWxpZENvbW1hbmRMaW5lQXJndW1lbnRzRXJyb3IiLCJyZXBvc2l0b3J5Um9vdCIsInByb2Nlc3MiLCJjd2QiLCJ0ZW1wbGF0ZURpciIsImpvaW4iLCJfX2Rpcm5hbWUiLCJiYXNlbmFtZSIsIm5vcm1hbGl6ZSIsImlzRGlyZWN0b3J5RXhpc3RzIiwiV2VsbEtub3duRGlyZWN0b3JpZXMiLCJGb3Jtc0RpcmVjdG9yeSIsIkVycm9yIiwiZ2Z2IiwiZ2Z2TG9nZ2VyIiwid2l0aFByZWZpeCIsImciLCJmIiwic3BsaXRHZnYiLCJmb3JtUGF0aCIsInRvU3RyaW5nIiwicGFkU3RhcnQiLCJDYW5keVN1YmRpcmVjdG9yeU5hbWUiLCJwYXRoRXhpc3RzIiwiZXJyb3JNZXNzYWdlIiwiZXJyb3IiLCJ0ZW1wT3V0cHV0RGlyIiwicm1kaXIiLCJyZWN1cnNpdmUiLCJsb2ciLCJlbnN1cmVEaXIiLCJoaWdobGFuZGVyRmFybVBhdGgiLCJobFJuZ1BhdGgxIiwiaGxSbmdQYXRoMiIsInJlbGF0aXZlRmlsZVBhdGgiLCJnbG9iQXN5bmMiLCJ0YXJnZXRSZWxhdGl2ZVBhdGgiLCJyZXBsYWNlIiwidmVyYm9zZSIsInN0YXQiLCJpc0RpcmVjdG9yeSIsImhscm5nIiwiZXhpc3RzSGxSbmdQYXRoIiwiY29udGVudCIsInJlYWRGaWxlIiwidGFyZ2V0Q29udGVudCIsIndyaXRlRmlsZSIsImluY2x1ZGVzIiwiZm9ybUpzb25QYXRoIiwiRm9ybUpzb25GaWxlTmFtZSIsImZvcm1Db25maWciLCJyZWFkRm9ybUNvbmZpZyIsImRlcGVuZGVuY2llcyIsImVuZ2luZSIsImdldExhc3RTdGFibGVFbmdpbmVWZXJzaW9uIiwiZ2VuZXJhdG9yIiwiZ2V0TGFzdFN0YWJsZUdlbmVyYXRvclZlcnNpb24iLCJ3cml0ZUpzb24iLCJzcGFjZXMiLCJtb3ZlRGlyZWN0b3J5Iiwic291cmNlUGF0aCIsInRhcmdldFBhdGgiLCJiYXNlZGlyIiwiZGlybmFtZSIsInBsYXRmb3JtIiwicmVuYW1lIiwibW92ZSIsImdmdk51bWJlciIsIk51bWJlciIsIk1hdGgiLCJmbG9vciIsInYiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvSW5pdEZvcm0vUnVuSW5pdEZvcm0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgb3MgZnJvbSBcIm9zXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IGVuc3VyZURpciwgbW92ZSwgcGF0aEV4aXN0cywgcmVhZEZpbGUsIHJlbmFtZSwgcm1kaXIsIHN0YXQsIHdyaXRlRmlsZSwgd3JpdGVKc29uIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5cbmltcG9ydCB7IGdldExhc3RTdGFibGVFbmdpbmVWZXJzaW9uLCBnZXRMYXN0U3RhYmxlR2VuZXJhdG9yVmVyc2lvbiB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1B1Ymxpc2hlZFZlcnNpb25VdGlsc1wiO1xuaW1wb3J0IHsgcmVhZEZvcm1Db25maWcgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9SZXNvbHZlRm9ybUluZm9cIjtcbmltcG9ydCB7IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9Db25zb2xlQXBwbGljYXRpb24vQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dFwiO1xuaW1wb3J0IHsgZ2xvYkFzeW5jLCBpc0RpcmVjdG9yeUV4aXN0cyB9IGZyb20gXCIuLi8uLi9Db21tb25zL0ZzVXRpbHNcIjtcbmltcG9ydCB7IEludmFsaWRDb21tYW5kTGluZUFyZ3VtZW50c0Vycm9yIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvT3B0aW9ucy9Db21tYW5kQmFzZWRPcHRpb25zUGFyc2VyXCI7XG5pbXBvcnQgeyBXZWxsS25vd25EaXJlY3RvcmllcyB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb24vV2VsbEtub3duRGlyZWN0b3JpZXNcIjtcblxuaW1wb3J0IHsgSW5pdEZvcm1PcHRpb25zIH0gZnJvbSBcIi4vSW5pdEZvcm1PcHRpb25zXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5Jbml0Rm9ybShjb250ZXh0OiBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0LCBvcHRpb25zOiBJbml0Rm9ybU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBsb2dnZXIgPSBjb250ZXh0LmxvZ2dlcjtcbiAgICBpZiAob3B0aW9ucy5nZnZzID09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZENvbW1hbmRMaW5lQXJndW1lbnRzRXJyb3IoXCLQndC1INGD0LrQsNC30LDQvdCwIEdWRiDQtNC70Y8g0YHQvtC30LTQsNC90LjRj1wiLCBcIlwiKTtcbiAgICB9XG5cbiAgICBsZXQgcmVwb3NpdG9yeVJvb3QgPSBwcm9jZXNzLmN3ZCgpO1xuICAgIGNvbnN0IHRlbXBsYXRlRGlyID0gcGF0aC5qb2luKF9fZGlybmFtZSwgXCJFbXB0eUZvcm1UZW1wbGF0ZVwiKTtcbiAgICBpZiAoXG4gICAgICAgIHBhdGguYmFzZW5hbWUocHJvY2Vzcy5jd2QoKSkgPT09IFwiY2FuZHkuZmFybVwiIHx8XG4gICAgICAgIHBhdGguYmFzZW5hbWUocHJvY2Vzcy5jd2QoKSkgPT09IFwiY2FuZHkuZGlhZG9jLmZhcm1cIiB8fFxuICAgICAgICBwYXRoLmJhc2VuYW1lKHByb2Nlc3MuY3dkKCkpID09PSBcImNhbmR5LnJwbi5mYXJtXCIgfHxcbiAgICAgICAgcGF0aC5iYXNlbmFtZShwcm9jZXNzLmN3ZCgpKSA9PT0gXCJUZXN0RmFybVwiXG4gICAgKSB7XG4gICAgICAgIHJlcG9zaXRvcnlSb290ID0gcGF0aC5ub3JtYWxpemUocGF0aC5qb2luKHJlcG9zaXRvcnlSb290LCBcIi4uXCIpKTtcbiAgICB9XG5cbiAgICBpZiAoIShhd2FpdCBpc0RpcmVjdG9yeUV4aXN0cyhwYXRoLmpvaW4ocmVwb3NpdG9yeVJvb3QsIFdlbGxLbm93bkRpcmVjdG9yaWVzLkZvcm1zRGlyZWN0b3J5KSkpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcItCi0LXQutGD0YnQsNGPINC00LjRgNC10LrRgtC+0YDQuNGPINC90LUg0L/QvtGF0L7QttCwINC90LAg0LrQsNGC0LDQu9C+0LMg0YEg0LjRgdGF0L7QtNC90LjQutCw0LzQuCDRhNC+0YDQvFwiKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGdmdiBvZiBvcHRpb25zLmdmdnMpIHtcbiAgICAgICAgY29uc3QgZ2Z2TG9nZ2VyID0gbG9nZ2VyLndpdGhQcmVmaXgoZ2Z2KTtcbiAgICAgICAgY29uc3QgeyBnLCBmIH0gPSBzcGxpdEdmdihnZnYpO1xuICAgICAgICBjb25zdCBmb3JtUGF0aCA9IHBhdGguam9pbihcbiAgICAgICAgICAgIHJlcG9zaXRvcnlSb290LFxuICAgICAgICAgICAgV2VsbEtub3duRGlyZWN0b3JpZXMuRm9ybXNEaXJlY3RvcnksXG4gICAgICAgICAgICBnLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBmLnRvU3RyaW5nKCkucGFkU3RhcnQoMywgXCIwXCIpLFxuICAgICAgICAgICAgZ2Z2LnRvU3RyaW5nKCksXG4gICAgICAgICAgICBXZWxsS25vd25EaXJlY3Rvcmllcy5DYW5keVN1YmRpcmVjdG9yeU5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGF3YWl0IHBhdGhFeGlzdHMoZm9ybVBhdGgpKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgRGlyZWN0b3J5IGZvciAnJHtnZnZ9JyBhbHJlYWR5IGV4aXN0cyBpbiBDYW5keSBmb2xkZXIuYDtcbiAgICAgICAgICAgIGdmdkxvZ2dlci5lcnJvcihlcnJvck1lc3NhZ2UpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGVtcE91dHB1dERpciA9IHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLnRtcFwiLCBnZnYpO1xuICAgICAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyh0ZW1wT3V0cHV0RGlyKSkge1xuICAgICAgICAgICAgYXdhaXQgcm1kaXIodGVtcE91dHB1dERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZ2Z2TG9nZ2VyLmxvZyhgQ3JlYXRpbmcgZGlyZWN0b3J5IHdpdGggc291cmNlcyBmcm9tIHRlbXBsYXRlYCk7XG4gICAgICAgIGF3YWl0IGVuc3VyZURpcih0ZW1wT3V0cHV0RGlyKTtcbiAgICAgICAgY29uc3QgaGlnaGxhbmRlckZhcm1QYXRoID0gcGF0aC5qb2luKHJlcG9zaXRvcnlSb290LCBcImhpZ2hsYW5kZXIuZmFybVwiLCBcIkZvcm1zXCIsIGdmdik7XG4gICAgICAgIGNvbnN0IGhsUm5nUGF0aDEgPSBwYXRoLmpvaW4oaGlnaGxhbmRlckZhcm1QYXRoLCBgJHtnZnZ9LtGB0YXQtdC80LAucm5nLnhtbGApO1xuICAgICAgICBjb25zdCBobFJuZ1BhdGgyID0gcGF0aC5qb2luKGhpZ2hsYW5kZXJGYXJtUGF0aCwgXCJIaWdobGFuZGVyXCIsIGAke2dmdn0u0YHRhdC10LzQsC5ybmcueG1sYCk7XG4gICAgICAgIGZvciAoY29uc3QgcmVsYXRpdmVGaWxlUGF0aCBvZiBhd2FpdCBnbG9iQXN5bmMoXCIqKi8qXCIsIHsgY3dkOiB0ZW1wbGF0ZURpciB9KSkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0UmVsYXRpdmVQYXRoID0gcmVsYXRpdmVGaWxlUGF0aC5yZXBsYWNlKC97Z2Z2fS9nLCBnZnYpO1xuICAgICAgICAgICAgZ2Z2TG9nZ2VyLnZlcmJvc2UoYFByb2Nlc3NpbmcgdGVtcGxhdGUgcGF0aCAke3JlbGF0aXZlRmlsZVBhdGh9YCk7XG4gICAgICAgICAgICBpZiAoKGF3YWl0IHN0YXQocGF0aC5qb2luKHRlbXBsYXRlRGlyLCByZWxhdGl2ZUZpbGVQYXRoKSkpLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBlbnN1cmVEaXIocGF0aC5qb2luKHRlbXBPdXRwdXREaXIsIHRhcmdldFJlbGF0aXZlUGF0aCkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuaGxybmcgJiZcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0UmVsYXRpdmVQYXRoID09PSBgc2NoZW1hcy8ke2dmdn0uMC5ybmcueG1sYCAmJlxuICAgICAgICAgICAgICAgICAgICAoKGF3YWl0IHBhdGhFeGlzdHMoaGxSbmdQYXRoMSkpIHx8IChhd2FpdCBwYXRoRXhpc3RzKGhsUm5nUGF0aDIpKSlcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhpc3RzSGxSbmdQYXRoID0gKGF3YWl0IHBhdGhFeGlzdHMoaGxSbmdQYXRoMSkpID8gaGxSbmdQYXRoMSA6IGhsUm5nUGF0aDI7XG4gICAgICAgICAgICAgICAgICAgIGdmdkxvZ2dlci5sb2coYENvcHkgc2NoZW1hIHJuZyBmaWxlIGZyb20gaGlnaGxhbmRlci5mYXJtLmApO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZEZpbGUoZXhpc3RzSGxSbmdQYXRoLCBcInV0Zi04XCIpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRDb250ZW50ID0gY29udGVudC5yZXBsYWNlKC97Z2Z2fS9nLCBnZnYpO1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB3cml0ZUZpbGUocGF0aC5qb2luKHRlbXBPdXRwdXREaXIsIHRhcmdldFJlbGF0aXZlUGF0aCksIHRhcmdldENvbnRlbnQsIFwidXRmLThcIik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldFJlbGF0aXZlUGF0aC5pbmNsdWRlcyhcImhlbHBlcnMvYWRkUHJpbDEudHh0XCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL9C/0YDQuCDQutC+0L/QuNGA0L7QstCw0L3QuNC4IGpzINGE0LDQudC70L7QsiBiYWJlbCDQvdCw0YHQvtCy0YvQstCw0LXRgiB1c2Ugc3RyaWN0LCDQvtCx0L7RiNC70Lgg0YLQsNC60LjQvCDQv9GD0YLQtdC8XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZEZpbGUocGF0aC5qb2luKHRlbXBsYXRlRGlyLCByZWxhdGl2ZUZpbGVQYXRoKSwgXCJ1dGYtOFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLmpvaW4odGVtcE91dHB1dERpciwgdGFyZ2V0UmVsYXRpdmVQYXRoLnJlcGxhY2UoXCIudHh0XCIsIFwiLmpzXCIpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidXRmLThcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZShwYXRoLmpvaW4odGVtcGxhdGVEaXIsIHJlbGF0aXZlRmlsZVBhdGgpLCBcInV0Zi04XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0Q29udGVudCA9IGNvbnRlbnQucmVwbGFjZSgve2dmdn0vZywgZ2Z2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShwYXRoLmpvaW4odGVtcE91dHB1dERpciwgdGFyZ2V0UmVsYXRpdmVQYXRoKSwgdGFyZ2V0Q29udGVudCwgXCJ1dGYtOFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGdmdkxvZ2dlci52ZXJib3NlKGBQcm9jZXNzZWQgdGVtcGxhdGUgcGF0aCAke3JlbGF0aXZlRmlsZVBhdGh9YCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm9ybUpzb25QYXRoID0gcGF0aC5qb2luKHRlbXBPdXRwdXREaXIsIFdlbGxLbm93bkRpcmVjdG9yaWVzLkZvcm1Kc29uRmlsZU5hbWUpO1xuICAgICAgICBjb25zdCBmb3JtQ29uZmlnID0gYXdhaXQgcmVhZEZvcm1Db25maWcoZm9ybUpzb25QYXRoLCBnZnZMb2dnZXIpO1xuICAgICAgICBmb3JtQ29uZmlnLmRlcGVuZGVuY2llcyA9IHtcbiAgICAgICAgICAgIGVuZ2luZTogYXdhaXQgZ2V0TGFzdFN0YWJsZUVuZ2luZVZlcnNpb24oKSxcbiAgICAgICAgICAgIGdlbmVyYXRvcjogYXdhaXQgZ2V0TGFzdFN0YWJsZUdlbmVyYXRvclZlcnNpb24oKSxcbiAgICAgICAgfTtcbiAgICAgICAgZ2Z2TG9nZ2VyLmxvZyhgU2V0IGxhc3Qgc3RhYmxlIHZlcnNpb24gJHtmb3JtQ29uZmlnLmRlcGVuZGVuY2llcy5lbmdpbmV9YCk7XG4gICAgICAgIGF3YWl0IHdyaXRlSnNvbihmb3JtSnNvblBhdGgsIGZvcm1Db25maWcsIHsgc3BhY2VzOiAyIH0pO1xuICAgICAgICBnZnZMb2dnZXIubG9nKGBNb3ZpbmcgcHJlcGFyZWQgc291cmNlcyB0byAnJHtyZXBvc2l0b3J5Um9vdH0nYCk7XG4gICAgICAgIGF3YWl0IG1vdmVEaXJlY3RvcnkodGVtcE91dHB1dERpciwgZm9ybVBhdGgpO1xuICAgICAgICBnZnZMb2dnZXIubG9nKGBGb3JtIGNyZWF0aW5nIGNvbXBsZXRlZC4gUGF0aDogJyR7Zm9ybVBhdGh9J2ApO1xuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gbW92ZURpcmVjdG9yeShzb3VyY2VQYXRoOiBzdHJpbmcsIHRhcmdldFBhdGg6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJhc2VkaXIgPSBwYXRoLmRpcm5hbWUodGFyZ2V0UGF0aCk7XG4gICAgYXdhaXQgZW5zdXJlRGlyKGJhc2VkaXIpO1xuICAgIGlmIChvcy5wbGF0Zm9ybSgpICE9PSBcIndpbjMyXCIpIHtcbiAgICAgICAgYXdhaXQgcmVuYW1lKHNvdXJjZVBhdGgsIHRhcmdldFBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChzb3VyY2VQYXRoWzBdID09PSB0YXJnZXRQYXRoWzBdKSB7XG4gICAgICAgICAgICBhd2FpdCByZW5hbWUoc291cmNlUGF0aCwgdGFyZ2V0UGF0aCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhd2FpdCBtb3ZlKHNvdXJjZVBhdGgsIHRhcmdldFBhdGgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiBzcGxpdEdmdihnZnY6IHN0cmluZyB8IG51bWJlcik6IHsgZzogbnVtYmVyOyBmOiBudW1iZXI7IHY6IG51bWJlciB9IHtcbiAgICBjb25zdCBnZnZOdW1iZXIgPSB0eXBlb2YgZ2Z2ID09PSBcInN0cmluZ1wiID8gTnVtYmVyKGdmdikgOiBnZnY7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZzogTWF0aC5mbG9vcihnZnZOdW1iZXIgLyAxMDAwMDApLFxuICAgICAgICBmOiBNYXRoLmZsb29yKChnZnZOdW1iZXIgJSAxMDAwMDApIC8gMTAwKSxcbiAgICAgICAgdjogZ2Z2TnVtYmVyICUgMTAwLFxuICAgIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLEVBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLElBQUEsR0FBQUYsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLHNCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxnQkFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssUUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sMEJBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLHFCQUFBLEdBQUFQLE9BQUE7QUFBK0UsU0FBQVEseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVYsd0JBQUFVLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxXQUFBSyxPQUFBLEVBQUFMLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFB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
@@ -1 +1 @@
1
- {"version":3,"file":"RunInitForm.js","names":["os","_interopRequireWildcard","require","path","_fsExtra","_PublishedVersionUtils","_ResolveFormInfo","_FsUtils","_CommandBasedOptionsParser","_WellKnownDirectories","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","runInitForm","context","options","logger","gfvs","undefined","InvalidCommandLineArgumentsError","repositoryRoot","process","cwd","templateDir","join","__dirname","basename","normalize","isDirectoryExists","WellKnownDirectories","FormsDirectory","Error","gfv","gfvLogger","withPrefix","g","f","splitGfv","formPath","toString","padStart","CandySubdirectoryName","pathExists","errorMessage","error","tempOutputDir","rmdir","recursive","log","ensureDir","highlanderFarmPath","hlRngPath1","hlRngPath2","relativeFilePath","globAsync","targetRelativePath","replace","verbose","stat","isDirectory","hlrng","existsHlRngPath","content","readFile","targetContent","writeFile","includes","formJsonPath","FormJsonFileName","formConfig","readFormConfig","dependencies","engine","getLastStableEngineVersion","generator","getLastStableGeneratorVersion","writeJson","spaces","moveDirectory","sourcePath","targetPath","basedir","dirname","platform","rename","move","gfvNumber","Number","Math","floor","v"],"sources":["../../../../../src/CLICommands/InitForm/RunInitForm.ts"],"sourcesContent":["import * as os from \"os\";\nimport * as path from \"path\";\n\nimport { ensureDir, move, pathExists, readFile, rename, rmdir, stat, writeFile, writeJson } from \"fs-extra\";\n\nimport { getLastStableEngineVersion, getLastStableGeneratorVersion } from \"../../BuildTasks/PublishedVersionUtils\";\nimport { readFormConfig } from \"../../BuildTasks/ResolveFormInfo\";\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { globAsync, isDirectoryExists } from \"../../Commons/FsUtils\";\nimport { InvalidCommandLineArgumentsError } from \"../../Commons/Options/CommandBasedOptionsParser\";\nimport { WellKnownDirectories } from \"../../../../Common/WellKnownDirectories\";\n\nimport { InitFormOptions } from \"./InitFormOptions\";\n\nexport async function runInitForm(context: ConsoleApplicationContext, options: InitFormOptions): Promise<void> {\n const logger = context.logger;\n if (options.gfvs == undefined) {\n throw new InvalidCommandLineArgumentsError(\"Не указана GVF для создания\", \"\");\n }\n\n let repositoryRoot = process.cwd();\n const templateDir = path.join(__dirname, \"EmptyFormTemplate\");\n if (\n path.basename(process.cwd()) === \"candy.farm\" ||\n path.basename(process.cwd()) === \"candy.diadoc.farm\" ||\n path.basename(process.cwd()) === \"candy.rpn.farm\" ||\n path.basename(process.cwd()) === \"TestFarm\"\n ) {\n repositoryRoot = path.normalize(path.join(repositoryRoot, \"..\"));\n }\n\n if (!(await isDirectoryExists(path.join(repositoryRoot, WellKnownDirectories.FormsDirectory)))) {\n throw new Error(\"Текущая директория не похожа на каталог с исходниками форм\");\n }\n\n for (const gfv of options.gfvs) {\n const gfvLogger = logger.withPrefix(gfv);\n const { g, f } = splitGfv(gfv);\n const formPath = path.join(\n repositoryRoot,\n WellKnownDirectories.FormsDirectory,\n g.toString(),\n f.toString().padStart(3, \"0\"),\n gfv.toString(),\n WellKnownDirectories.CandySubdirectoryName\n );\n if (await pathExists(formPath)) {\n const errorMessage = `Directory for '${gfv}' already exists.`;\n gfvLogger.error(errorMessage);\n throw new Error(errorMessage);\n }\n const tempOutputDir = path.join(__dirname, \".tmp\", gfv);\n if (await pathExists(tempOutputDir)) {\n await rmdir(tempOutputDir, { recursive: true });\n }\n gfvLogger.log(`Creating directory with sources from template`);\n await ensureDir(tempOutputDir);\n const highlanderFarmPath = path.join(repositoryRoot, \"highlander.farm\", \"Forms\", gfv);\n const hlRngPath1 = path.join(highlanderFarmPath, `${gfv}.схема.rng.xml`);\n const hlRngPath2 = path.join(highlanderFarmPath, \"Highlander\", `${gfv}.схема.rng.xml`);\n for (const relativeFilePath of await globAsync(\"**/*\", { cwd: templateDir })) {\n const targetRelativePath = relativeFilePath.replace(/{gfv}/g, gfv);\n gfvLogger.verbose(`Processing template path ${relativeFilePath}`);\n if ((await stat(path.join(templateDir, relativeFilePath))).isDirectory()) {\n await ensureDir(path.join(tempOutputDir, targetRelativePath));\n } else {\n if (\n options.hlrng &&\n targetRelativePath === `schemas/${gfv}.0.rng.xml` &&\n ((await pathExists(hlRngPath1)) || (await pathExists(hlRngPath2)))\n ) {\n const existsHlRngPath = (await pathExists(hlRngPath1)) ? hlRngPath1 : hlRngPath2;\n gfvLogger.log(`Copy schema rng file from highlander.farm.`);\n const content = await readFile(existsHlRngPath, \"utf-8\");\n const targetContent = content.replace(/{gfv}/g, gfv);\n await writeFile(path.join(tempOutputDir, targetRelativePath), targetContent, \"utf-8\");\n } else {\n if (targetRelativePath.includes(\"helpers/addPril1.txt\")) {\n //при копировании js файлов babel насовывает use strict, обошли таким путем\n const content = await readFile(path.join(templateDir, relativeFilePath), \"utf-8\");\n await writeFile(\n path.join(tempOutputDir, targetRelativePath.replace(\".txt\", \".js\")),\n content,\n \"utf-8\"\n );\n } else {\n const content = await readFile(path.join(templateDir, relativeFilePath), \"utf-8\");\n const targetContent = content.replace(/{gfv}/g, gfv);\n await writeFile(path.join(tempOutputDir, targetRelativePath), targetContent, \"utf-8\");\n }\n }\n }\n gfvLogger.verbose(`Processed template path ${relativeFilePath}`);\n }\n const formJsonPath = path.join(tempOutputDir, WellKnownDirectories.FormJsonFileName);\n const formConfig = await readFormConfig(formJsonPath, gfvLogger);\n formConfig.dependencies = {\n engine: await getLastStableEngineVersion(),\n generator: await getLastStableGeneratorVersion(),\n };\n gfvLogger.log(`Set last stable version ${formConfig.dependencies.engine}`);\n await writeJson(formJsonPath, formConfig, { spaces: 2 });\n gfvLogger.log(`Moving prepared sources to '${repositoryRoot}'`);\n await moveDirectory(tempOutputDir, formPath);\n gfvLogger.log(`Form creating completed. Path: '${formPath}'`);\n }\n}\n\nasync function moveDirectory(sourcePath: string, targetPath: string): Promise<void> {\n const basedir = path.dirname(targetPath);\n await ensureDir(basedir);\n if (os.platform() !== \"win32\") {\n await rename(sourcePath, targetPath);\n } else {\n if (sourcePath[0] === targetPath[0]) {\n await rename(sourcePath, targetPath);\n } else {\n await move(sourcePath, targetPath);\n }\n }\n}\n\nfunction splitGfv(gfv: string | number): { g: number; f: number; v: number } {\n const gfvNumber = typeof gfv === \"string\" ? Number(gfv) : gfv;\n return {\n g: Math.floor(gfvNumber / 100000),\n f: Math.floor((gfvNumber % 100000) / 100),\n v: gfvNumber % 100,\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"RunInitForm.js","names":["os","_interopRequireWildcard","require","path","_fsExtra","_PublishedVersionUtils","_ResolveFormInfo","_FsUtils","_CommandBasedOptionsParser","_WellKnownDirectories","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","runInitForm","context","options","logger","gfvs","undefined","InvalidCommandLineArgumentsError","repositoryRoot","process","cwd","templateDir","join","__dirname","basename","normalize","isDirectoryExists","WellKnownDirectories","FormsDirectory","Error","gfv","gfvLogger","withPrefix","g","f","splitGfv","formPath","toString","padStart","CandySubdirectoryName","pathExists","errorMessage","error","tempOutputDir","rmdir","recursive","log","ensureDir","highlanderFarmPath","hlRngPath1","hlRngPath2","relativeFilePath","globAsync","targetRelativePath","replace","verbose","stat","isDirectory","hlrng","existsHlRngPath","content","readFile","targetContent","writeFile","includes","formJsonPath","FormJsonFileName","formConfig","readFormConfig","dependencies","engine","getLastStableEngineVersion","generator","getLastStableGeneratorVersion","writeJson","spaces","moveDirectory","sourcePath","targetPath","basedir","dirname","platform","rename","move","gfvNumber","Number","Math","floor","v"],"sources":["../../../../../src/CLICommands/InitForm/RunInitForm.ts"],"sourcesContent":["import * as os from \"os\";\nimport * as path from \"path\";\n\nimport { ensureDir, move, pathExists, readFile, rename, rmdir, stat, writeFile, writeJson } from \"fs-extra\";\n\nimport { getLastStableEngineVersion, getLastStableGeneratorVersion } from \"../../BuildTasks/PublishedVersionUtils\";\nimport { readFormConfig } from \"../../BuildTasks/ResolveFormInfo\";\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { globAsync, isDirectoryExists } from \"../../Commons/FsUtils\";\nimport { InvalidCommandLineArgumentsError } from \"../../Commons/Options/CommandBasedOptionsParser\";\nimport { WellKnownDirectories } from \"../../../../Common/WellKnownDirectories\";\n\nimport { InitFormOptions } from \"./InitFormOptions\";\n\nexport async function runInitForm(context: ConsoleApplicationContext, options: InitFormOptions): Promise<void> {\n const logger = context.logger;\n if (options.gfvs == undefined) {\n throw new InvalidCommandLineArgumentsError(\"Не указана GVF для создания\", \"\");\n }\n\n let repositoryRoot = process.cwd();\n const templateDir = path.join(__dirname, \"EmptyFormTemplate\");\n if (\n path.basename(process.cwd()) === \"candy.farm\" ||\n path.basename(process.cwd()) === \"candy.diadoc.farm\" ||\n path.basename(process.cwd()) === \"candy.rpn.farm\" ||\n path.basename(process.cwd()) === \"TestFarm\"\n ) {\n repositoryRoot = path.normalize(path.join(repositoryRoot, \"..\"));\n }\n\n if (!(await isDirectoryExists(path.join(repositoryRoot, WellKnownDirectories.FormsDirectory)))) {\n throw new Error(\"Текущая директория не похожа на каталог с исходниками форм\");\n }\n\n for (const gfv of options.gfvs) {\n const gfvLogger = logger.withPrefix(gfv);\n const { g, f } = splitGfv(gfv);\n const formPath = path.join(\n repositoryRoot,\n WellKnownDirectories.FormsDirectory,\n g.toString(),\n f.toString().padStart(3, \"0\"),\n gfv.toString(),\n WellKnownDirectories.CandySubdirectoryName\n );\n if (await pathExists(formPath)) {\n const errorMessage = `Directory for '${gfv}' already exists in Candy folder.`;\n gfvLogger.error(errorMessage);\n throw new Error(errorMessage);\n }\n const tempOutputDir = path.join(__dirname, \".tmp\", gfv);\n if (await pathExists(tempOutputDir)) {\n await rmdir(tempOutputDir, { recursive: true });\n }\n gfvLogger.log(`Creating directory with sources from template`);\n await ensureDir(tempOutputDir);\n const highlanderFarmPath = path.join(repositoryRoot, \"highlander.farm\", \"Forms\", gfv);\n const hlRngPath1 = path.join(highlanderFarmPath, `${gfv}.схема.rng.xml`);\n const hlRngPath2 = path.join(highlanderFarmPath, \"Highlander\", `${gfv}.схема.rng.xml`);\n for (const relativeFilePath of await globAsync(\"**/*\", { cwd: templateDir })) {\n const targetRelativePath = relativeFilePath.replace(/{gfv}/g, gfv);\n gfvLogger.verbose(`Processing template path ${relativeFilePath}`);\n if ((await stat(path.join(templateDir, relativeFilePath))).isDirectory()) {\n await ensureDir(path.join(tempOutputDir, targetRelativePath));\n } else {\n if (\n options.hlrng &&\n targetRelativePath === `schemas/${gfv}.0.rng.xml` &&\n ((await pathExists(hlRngPath1)) || (await pathExists(hlRngPath2)))\n ) {\n const existsHlRngPath = (await pathExists(hlRngPath1)) ? hlRngPath1 : hlRngPath2;\n gfvLogger.log(`Copy schema rng file from highlander.farm.`);\n const content = await readFile(existsHlRngPath, \"utf-8\");\n const targetContent = content.replace(/{gfv}/g, gfv);\n await writeFile(path.join(tempOutputDir, targetRelativePath), targetContent, \"utf-8\");\n } else {\n if (targetRelativePath.includes(\"helpers/addPril1.txt\")) {\n //при копировании js файлов babel насовывает use strict, обошли таким путем\n const content = await readFile(path.join(templateDir, relativeFilePath), \"utf-8\");\n await writeFile(\n path.join(tempOutputDir, targetRelativePath.replace(\".txt\", \".js\")),\n content,\n \"utf-8\"\n );\n } else {\n const content = await readFile(path.join(templateDir, relativeFilePath), \"utf-8\");\n const targetContent = content.replace(/{gfv}/g, gfv);\n await writeFile(path.join(tempOutputDir, targetRelativePath), targetContent, \"utf-8\");\n }\n }\n }\n gfvLogger.verbose(`Processed template path ${relativeFilePath}`);\n }\n const formJsonPath = path.join(tempOutputDir, WellKnownDirectories.FormJsonFileName);\n const formConfig = await readFormConfig(formJsonPath, gfvLogger);\n formConfig.dependencies = {\n engine: await getLastStableEngineVersion(),\n generator: await getLastStableGeneratorVersion(),\n };\n gfvLogger.log(`Set last stable version ${formConfig.dependencies.engine}`);\n await writeJson(formJsonPath, formConfig, { spaces: 2 });\n gfvLogger.log(`Moving prepared sources to '${repositoryRoot}'`);\n await moveDirectory(tempOutputDir, formPath);\n gfvLogger.log(`Form creating completed. Path: '${formPath}'`);\n }\n}\n\nasync function moveDirectory(sourcePath: string, targetPath: string): Promise<void> {\n const basedir = path.dirname(targetPath);\n await ensureDir(basedir);\n if (os.platform() !== \"win32\") {\n await rename(sourcePath, targetPath);\n } else {\n if (sourcePath[0] === targetPath[0]) {\n await rename(sourcePath, targetPath);\n } else {\n await move(sourcePath, targetPath);\n }\n }\n}\n\nfunction splitGfv(gfv: string | number): { g: number; f: number; v: number } {\n const gfvNumber = typeof gfv === \"string\" ? Number(gfv) : gfv;\n return {\n g: Math.floor(gfvNumber / 100000),\n f: Math.floor((gfvNumber % 100000) / 100),\n v: gfvNumber % 100,\n };\n}\n"],"mappings":"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","ignoreList":[]}