@kontur.candy/tools 2.174.0 → 2.176.0
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.
- package/CHANGELOG.md +22 -1
- package/distr/Common/FormPathUtils.js +15 -0
- package/distr/Common/WellKnownDirectories.js +13 -0
- package/distr/Tools/src/BuildTasks/Form/CompileForm.js +3 -3
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +3 -2
- package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js +3 -3
- package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js +3 -3
- package/distr/Tools/src/BuildTasks/ReadFormSource.js +3 -2
- package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +3 -4
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +14 -10
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +59 -115
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +34 -7
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +13 -15
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js +2 -2
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +6 -4
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +76 -30
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js +3 -6
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +207 -18
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js +7 -1
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +11 -7
- package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js +9 -6
- package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js +3 -2
- package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +3 -2
- package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js +11 -9
- package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js +18 -17
- package/distr/Tools/src/Commons/FormGlobsUtils.js +113 -65
- package/distr/Tools/src/Commons/FormLocationInfo.js +6 -0
- package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js +16 -4
- package/distr/Tools/src/Commons/TasksCore/Observe.js +4 -3
- package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +4 -4
- package/package.json +1 -1
|
@@ -11,6 +11,7 @@ var _PublishedVersionUtils = require("../../BuildTasks/PublishedVersionUtils");
|
|
|
11
11
|
var _ResolveFormInfo = require("../../BuildTasks/ResolveFormInfo");
|
|
12
12
|
var _FsUtils = require("../../Commons/FsUtils");
|
|
13
13
|
var _CommandBasedOptionsParser = require("../../Commons/Options/CommandBasedOptionsParser");
|
|
14
|
+
var _WellKnownDirectories = require("../../../../Common/WellKnownDirectories");
|
|
14
15
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
16
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
17
|
async function runInitForm(context, options, farmDirectory) {
|
|
@@ -64,7 +65,7 @@ async function runInitForm(context, options, farmDirectory) {
|
|
|
64
65
|
}
|
|
65
66
|
gfvLogger.verbose(`Processed template path ${relativeFilePath}`);
|
|
66
67
|
}
|
|
67
|
-
const formJsonPath = path.join(tempOutputDir,
|
|
68
|
+
const formJsonPath = path.join(tempOutputDir, _WellKnownDirectories.WellKnownDirectories.FormJsonFileName);
|
|
68
69
|
const formConfig = await (0, _ResolveFormInfo.readFormConfig)(formJsonPath, gfvLogger);
|
|
69
70
|
formConfig.dependencies = {
|
|
70
71
|
engine: await (0, _PublishedVersionUtils.getLastStableEngineVersion)(),
|
|
@@ -90,4 +91,4 @@ async function moveDirectory(sourcePath, targetPath) {
|
|
|
90
91
|
}
|
|
91
92
|
}
|
|
92
93
|
}
|
|
93
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsInBhdGgiLCJfZnNFeHRyYSIsIl9QdWJsaXNoZWRWZXJzaW9uVXRpbHMiLCJfUmVzb2x2ZUZvcm1JbmZvIiwiX0ZzVXRpbHMiLCJfQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlciIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJydW5Jbml0Rm9ybSIsImNvbnRleHQiLCJvcHRpb25zIiwiZmFybURpcmVjdG9yeSIsImxvZ2dlciIsImdmdnMiLCJ1bmRlZmluZWQiLCJJbnZhbGlkQ29tbWFuZExpbmVBcmd1bWVudHNFcnJvciIsInRlbXBsYXRlRGlyIiwiam9pbiIsIl9fZGlybmFtZSIsImdmdiIsImdmdkxvZ2dlciIsIndpdGhQcmVmaXgiLCJmYXJtRGlyZWN0b3J5Rm9ybVBhdGgiLCJwYXRoRXhpc3RzIiwiZXJyb3JNZXNzYWdlIiwiZXJyb3IiLCJFcnJvciIsInRlbXBPdXRwdXREaXIiLCJybWRpciIsImxvZyIsImVuc3VyZURpciIsImhpZ2hsYW5kZXJGYXJtUGF0aCIsImhsUm5nUGF0aDEiLCJobFJuZ1BhdGgyIiwicmVsYXRpdmVGaWxlUGF0aCIsImdsb2JBc3luYyIsImN3ZCIsInRhcmdldFJlbGF0aXZlUGF0aCIsInJlcGxhY2UiLCJ2ZXJib3NlIiwic3RhdCIsImlzRGlyZWN0b3J5IiwiaGxybmciLCJleGlzdHNIbFJuZ1BhdGgiLCJjb250ZW50IiwicmVhZEZpbGUiLCJ0YXJnZXRDb250ZW50Iiwid3JpdGVGaWxlIiwiaW5jbHVkZXMiLCJmb3JtSnNvblBhdGgiLCJmb3JtQ29uZmlnIiwicmVhZEZvcm1Db25maWciLCJkZXBlbmRlbmNpZXMiLCJlbmdpbmUiLCJnZXRMYXN0U3RhYmxlRW5naW5lVmVyc2lvbiIsImdlbmVyYXRvciIsImdldExhc3RTdGFibGVHZW5lcmF0b3JWZXJzaW9uIiwid3JpdGVKc29uIiwic3BhY2VzIiwibW92ZURpcmVjdG9yeSIsInNvdXJjZVBhdGgiLCJ0YXJnZXRQYXRoIiwicGxhdGZvcm0iLCJyZW5hbWUiLCJtb3ZlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0luaXRGb3JtL1J1bkluaXRGb3JtLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9zIGZyb20gXCJvc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBlbnN1cmVEaXIsIG1vdmUsIHBhdGhFeGlzdHMsIHJlYWRGaWxlLCByZW5hbWUsIHJtZGlyLCBzdGF0LCB3cml0ZUZpbGUsIHdyaXRlSnNvbiB9IGZyb20gXCJmcy1leHRyYVwiO1xuXG5pbXBvcnQgeyBnZXRMYXN0U3RhYmxlRW5naW5lVmVyc2lvbiwgZ2V0TGFzdFN0YWJsZUdlbmVyYXRvclZlcnNpb24gfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9QdWJsaXNoZWRWZXJzaW9uVXRpbHNcIjtcbmltcG9ydCB7IHJlYWRGb3JtQ29uZmlnIH0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvUmVzb2x2ZUZvcm1JbmZvXCI7XG5pbXBvcnQgeyBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvQ29uc29sZUFwcGxpY2F0aW9uL0NvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHRcIjtcbmltcG9ydCB7IGdsb2JBc3luYyB9IGZyb20gXCIuLi8uLi9Db21tb25zL0ZzVXRpbHNcIjtcbmltcG9ydCB7IEludmFsaWRDb21tYW5kTGluZUFyZ3VtZW50c0Vycm9yIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvT3B0aW9ucy9Db21tYW5kQmFzZWRPcHRpb25zUGFyc2VyXCI7XG5cbmltcG9ydCB7IEluaXRGb3JtT3B0aW9ucyB9IGZyb20gXCIuL0luaXRGb3JtT3B0aW9uc1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuSW5pdEZvcm0oXG4gICAgY29udGV4dDogQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCxcbiAgICBvcHRpb25zOiBJbml0Rm9ybU9wdGlvbnMsXG4gICAgZmFybURpcmVjdG9yeTogc3RyaW5nXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBsb2dnZXIgPSBjb250ZXh0LmxvZ2dlcjtcbiAgICBpZiAob3B0aW9ucy5nZnZzID09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZENvbW1hbmRMaW5lQXJndW1lbnRzRXJyb3IoXCLQndC1INGD0LrQsNC30LDQvdCwIEdWRiDQtNC70Y8g0YHQvtC30LTQsNC90LjRj1wiLCBcIlwiKTtcbiAgICB9XG5cbiAgICBjb25zdCB0ZW1wbGF0ZURpciA9IHBhdGguam9pbihfX2Rpcm5hbWUsIFwiRW1wdHlGb3JtVGVtcGxhdGVcIik7XG5cbiAgICBmb3IgKGNvbnN0IGdmdiBvZiBvcHRpb25zLmdmdnMpIHtcbiAgICAgICAgY29uc3QgZ2Z2TG9nZ2VyID0gbG9nZ2VyLndpdGhQcmVmaXgoZ2Z2KTtcbiAgICAgICAgY29uc3QgZmFybURpcmVjdG9yeUZvcm1QYXRoID0gcGF0aC5qb2luKGZhcm1EaXJlY3RvcnksIFwiZm9ybXNcIiwgZ2Z2KTtcbiAgICAgICAgaWYgKGF3YWl0IHBhdGhFeGlzdHMoZmFybURpcmVjdG9yeUZvcm1QYXRoKSkge1xuICAgICAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYERpcmVjdG9yeSBmb3IgJyR7Z2Z2fScgYWxyZWFkeSBleGlzdHMuYDtcbiAgICAgICAgICAgIGdmdkxvZ2dlci5lcnJvcihlcnJvck1lc3NhZ2UpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGVtcE91dHB1dERpciA9IHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLnRtcFwiLCBnZnYpO1xuICAgICAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyh0ZW1wT3V0cHV0RGlyKSkge1xuICAgICAgICAgICAgYXdhaXQgcm1kaXIodGVtcE91dHB1dERpcik7XG4gICAgICAgIH1cbiAgICAgICAgZ2Z2TG9nZ2VyLmxvZyhgQ3JlYXRpbmcgZGlyZWN0b3J5IHdpdGggc291cmNlcyBmcm9tIHRlbXBsYXRlYCk7XG4gICAgICAgIGF3YWl0IGVuc3VyZURpcih0ZW1wT3V0cHV0RGlyKTtcbiAgICAgICAgY29uc3QgaGlnaGxhbmRlckZhcm1QYXRoID0gcGF0aC5qb2luKGZhcm1EaXJlY3RvcnksIFwiLi5cIiwgXCJoaWdobGFuZGVyLmZhcm1cIiwgXCJGb3Jtc1wiLCBnZnYpO1xuICAgICAgICBjb25zdCBobFJuZ1BhdGgxID0gcGF0aC5qb2luKGhpZ2hsYW5kZXJGYXJtUGF0aCwgYCR7Z2Z2fS7RgdGF0LXQvNCwLnJuZy54bWxgKTtcbiAgICAgICAgY29uc3QgaGxSbmdQYXRoMiA9IHBhdGguam9pbihoaWdobGFuZGVyRmFybVBhdGgsIFwiSGlnaGxhbmRlclwiLCBgJHtnZnZ9LtGB0YXQtdC80LAucm5nLnhtbGApO1xuICAgICAgICBmb3IgKGNvbnN0IHJlbGF0aXZlRmlsZVBhdGggb2YgYXdhaXQgZ2xvYkFzeW5jKFwiKiovKlwiLCB7IGN3ZDogdGVtcGxhdGVEaXIgfSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldFJlbGF0aXZlUGF0aCA9IHJlbGF0aXZlRmlsZVBhdGgucmVwbGFjZSgve2dmdn0vZywgZ2Z2KTtcbiAgICAgICAgICAgIGdmdkxvZ2dlci52ZXJib3NlKGBQcm9jZXNzaW5nIHRlbXBsYXRlIHBhdGggJHtyZWxhdGl2ZUZpbGVQYXRofWApO1xuICAgICAgICAgICAgaWYgKChhd2FpdCBzdGF0KHBhdGguam9pbih0ZW1wbGF0ZURpciwgcmVsYXRpdmVGaWxlUGF0aCkpKS5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgZW5zdXJlRGlyKHBhdGguam9pbih0ZW1wT3V0cHV0RGlyLCB0YXJnZXRSZWxhdGl2ZVBhdGgpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmhscm5nICYmXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFJlbGF0aXZlUGF0aCA9PT0gYHNjaGVtYXMvJHtnZnZ9LjAucm5nLnhtbGAgJiZcbiAgICAgICAgICAgICAgICAgICAgKChhd2FpdCBwYXRoRXhpc3RzKGhsUm5nUGF0aDEpKSB8fCAoYXdhaXQgcGF0aEV4aXN0cyhobFJuZ1BhdGgyKSkpXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4aXN0c0hsUm5nUGF0aCA9IChhd2FpdCBwYXRoRXhpc3RzKGhsUm5nUGF0aDEpKSA/IGhsUm5nUGF0aDEgOiBobFJuZ1BhdGgyO1xuICAgICAgICAgICAgICAgICAgICBnZnZMb2dnZXIubG9nKGBDb3B5IHNjaGVtYSBybmcgZmlsZSBmcm9tIGhpZ2hsYW5kZXIuZmFybS5gKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IGF3YWl0IHJlYWRGaWxlKGV4aXN0c0hsUm5nUGF0aCwgXCJ1dGYtOFwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0Q29udGVudCA9IGNvbnRlbnQucmVwbGFjZSgve2dmdn0vZywgZ2Z2KTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgd3JpdGVGaWxlKHBhdGguam9pbih0ZW1wT3V0cHV0RGlyLCB0YXJnZXRSZWxhdGl2ZVBhdGgpLCB0YXJnZXRDb250ZW50LCBcInV0Zi04XCIpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXRSZWxhdGl2ZVBhdGguaW5jbHVkZXMoXCJoZWxwZXJzL2FkZFByaWwxLnR4dFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy/Qv9GA0Lgg0LrQvtC/0LjRgNC+0LLQsNC90LjQuCBqcyDRhNCw0LnQu9C+0LIgYmFiZWwg0L3QsNGB0L7QstGL0LLQsNC10YIgdXNlIHN0cmljdCwg0L7QsdC+0YjQu9C4INGC0LDQutC40Lwg0L/Rg9GC0LXQvFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IGF3YWl0IHJlYWRGaWxlKHBhdGguam9pbih0ZW1wbGF0ZURpciwgcmVsYXRpdmVGaWxlUGF0aCksIFwidXRmLThcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB3cml0ZUZpbGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHRlbXBPdXRwdXREaXIsIHRhcmdldFJlbGF0aXZlUGF0aC5yZXBsYWNlKFwiLnR4dFwiLCBcIi5qc1wiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInV0Zi04XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZEZpbGUocGF0aC5qb2luKHRlbXBsYXRlRGlyLCByZWxhdGl2ZUZpbGVQYXRoKSwgXCJ1dGYtOFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldENvbnRlbnQgPSBjb250ZW50LnJlcGxhY2UoL3tnZnZ9L2csIGdmdik7XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB3cml0ZUZpbGUocGF0aC5qb2luKHRlbXBPdXRwdXREaXIsIHRhcmdldFJlbGF0aXZlUGF0aCksIHRhcmdldENvbnRlbnQsIFwidXRmLThcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBnZnZMb2dnZXIudmVyYm9zZShgUHJvY2Vzc2VkIHRlbXBsYXRlIHBhdGggJHtyZWxhdGl2ZUZpbGVQYXRofWApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZvcm1Kc29uUGF0aCA9IHBhdGguam9pbih0ZW1wT3V0cHV0RGlyLCBcImZvcm0uanNvblwiKTtcbiAgICAgICAgY29uc3QgZm9ybUNvbmZpZyA9IGF3YWl0IHJlYWRGb3JtQ29uZmlnKGZvcm1Kc29uUGF0aCwgZ2Z2TG9nZ2VyKTtcbiAgICAgICAgZm9ybUNvbmZpZy5kZXBlbmRlbmNpZXMgPSB7XG4gICAgICAgICAgICBlbmdpbmU6IGF3YWl0IGdldExhc3RTdGFibGVFbmdpbmVWZXJzaW9uKCksXG4gICAgICAgICAgICBnZW5lcmF0b3I6IGF3YWl0IGdldExhc3RTdGFibGVHZW5lcmF0b3JWZXJzaW9uKCksXG4gICAgICAgIH07XG4gICAgICAgIGdmdkxvZ2dlci5sb2coYFNldCBsYXN0IHN0YWJsZSB2ZXJzaW9uICR7Zm9ybUNvbmZpZy5kZXBlbmRlbmNpZXMuZW5naW5lfWApO1xuICAgICAgICBhd2FpdCB3cml0ZUpzb24oZm9ybUpzb25QYXRoLCBmb3JtQ29uZmlnLCB7IHNwYWNlczogMiB9KTtcbiAgICAgICAgZ2Z2TG9nZ2VyLmxvZyhgTW92aW5nIHByZXBhcmVkIHNvdXJjZXMgdG8gJyR7ZmFybURpcmVjdG9yeX0nYCk7XG4gICAgICAgIGF3YWl0IG1vdmVEaXJlY3RvcnkodGVtcE91dHB1dERpciwgZmFybURpcmVjdG9yeUZvcm1QYXRoKTtcbiAgICAgICAgZ2Z2TG9nZ2VyLmxvZyhgRm9ybSBjcmVhdGluZyBjb21wbGV0ZWQuIFBhdGg6ICcke2Zhcm1EaXJlY3RvcnlGb3JtUGF0aH0nYCk7XG4gICAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBtb3ZlRGlyZWN0b3J5KHNvdXJjZVBhdGg6IHN0cmluZywgdGFyZ2V0UGF0aDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKG9zLnBsYXRmb3JtKCkgIT09IFwid2luMzJcIikge1xuICAgICAgICBhd2FpdCByZW5hbWUoc291cmNlUGF0aCwgdGFyZ2V0UGF0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHNvdXJjZVBhdGhbMF0gPT09IHRhcmdldFBhdGhbMF0pIHtcbiAgICAgICAgICAgIGF3YWl0IHJlbmFtZShzb3VyY2VQYXRoLCB0YXJnZXRQYXRoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF3YWl0IG1vdmUoc291cmNlUGF0aCwgdGFyZ2V0UGF0aCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLEVBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLElBQUEsR0FBQUYsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLHNCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxnQkFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssUUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sMEJBQUEsR0FBQU4sT0FBQTtBQUFtRyxTQUFBTyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBVCx3QkFBQWEsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdC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
|
|
94
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsInBhdGgiLCJfZnNFeHRyYSIsIl9QdWJsaXNoZWRWZXJzaW9uVXRpbHMiLCJfUmVzb2x2ZUZvcm1JbmZvIiwiX0ZzVXRpbHMiLCJfQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlciIsIl9XZWxsS25vd25EaXJlY3RvcmllcyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJydW5Jbml0Rm9ybSIsImNvbnRleHQiLCJvcHRpb25zIiwiZmFybURpcmVjdG9yeSIsImxvZ2dlciIsImdmdnMiLCJ1bmRlZmluZWQiLCJJbnZhbGlkQ29tbWFuZExpbmVBcmd1bWVudHNFcnJvciIsInRlbXBsYXRlRGlyIiwiam9pbiIsIl9fZGlybmFtZSIsImdmdiIsImdmdkxvZ2dlciIsIndpdGhQcmVmaXgiLCJmYXJtRGlyZWN0b3J5Rm9ybVBhdGgiLCJwYXRoRXhpc3RzIiwiZXJyb3JNZXNzYWdlIiwiZXJyb3IiLCJFcnJvciIsInRlbXBPdXRwdXREaXIiLCJybWRpciIsImxvZyIsImVuc3VyZURpciIsImhpZ2hsYW5kZXJGYXJtUGF0aCIsImhsUm5nUGF0aDEiLCJobFJuZ1BhdGgyIiwicmVsYXRpdmVGaWxlUGF0aCIsImdsb2JBc3luYyIsImN3ZCIsInRhcmdldFJlbGF0aXZlUGF0aCIsInJlcGxhY2UiLCJ2ZXJib3NlIiwic3RhdCIsImlzRGlyZWN0b3J5IiwiaGxybmciLCJleGlzdHNIbFJuZ1BhdGgiLCJjb250ZW50IiwicmVhZEZpbGUiLCJ0YXJnZXRDb250ZW50Iiwid3JpdGVGaWxlIiwiaW5jbHVkZXMiLCJmb3JtSnNvblBhdGgiLCJXZWxsS25vd25EaXJlY3RvcmllcyIsIkZvcm1Kc29uRmlsZU5hbWUiLCJmb3JtQ29uZmlnIiwicmVhZEZvcm1Db25maWciLCJkZXBlbmRlbmNpZXMiLCJlbmdpbmUiLCJnZXRMYXN0U3RhYmxlRW5naW5lVmVyc2lvbiIsImdlbmVyYXRvciIsImdldExhc3RTdGFibGVHZW5lcmF0b3JWZXJzaW9uIiwid3JpdGVKc29uIiwic3BhY2VzIiwibW92ZURpcmVjdG9yeSIsInNvdXJjZVBhdGgiLCJ0YXJnZXRQYXRoIiwicGxhdGZvcm0iLCJyZW5hbWUiLCJtb3ZlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0luaXRGb3JtL1J1bkluaXRGb3JtLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9zIGZyb20gXCJvc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBlbnN1cmVEaXIsIG1vdmUsIHBhdGhFeGlzdHMsIHJlYWRGaWxlLCByZW5hbWUsIHJtZGlyLCBzdGF0LCB3cml0ZUZpbGUsIHdyaXRlSnNvbiB9IGZyb20gXCJmcy1leHRyYVwiO1xuXG5pbXBvcnQgeyBnZXRMYXN0U3RhYmxlRW5naW5lVmVyc2lvbiwgZ2V0TGFzdFN0YWJsZUdlbmVyYXRvclZlcnNpb24gfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9QdWJsaXNoZWRWZXJzaW9uVXRpbHNcIjtcbmltcG9ydCB7IHJlYWRGb3JtQ29uZmlnIH0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvUmVzb2x2ZUZvcm1JbmZvXCI7XG5pbXBvcnQgeyBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvQ29uc29sZUFwcGxpY2F0aW9uL0NvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHRcIjtcbmltcG9ydCB7IGdsb2JBc3luYyB9IGZyb20gXCIuLi8uLi9Db21tb25zL0ZzVXRpbHNcIjtcbmltcG9ydCB7IEludmFsaWRDb21tYW5kTGluZUFyZ3VtZW50c0Vycm9yIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvT3B0aW9ucy9Db21tYW5kQmFzZWRPcHRpb25zUGFyc2VyXCI7XG5pbXBvcnQgeyBXZWxsS25vd25EaXJlY3RvcmllcyB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb24vV2VsbEtub3duRGlyZWN0b3JpZXNcIjtcblxuaW1wb3J0IHsgSW5pdEZvcm1PcHRpb25zIH0gZnJvbSBcIi4vSW5pdEZvcm1PcHRpb25zXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5Jbml0Rm9ybShcbiAgICBjb250ZXh0OiBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0LFxuICAgIG9wdGlvbnM6IEluaXRGb3JtT3B0aW9ucyxcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGxvZ2dlciA9IGNvbnRleHQubG9nZ2VyO1xuICAgIGlmIChvcHRpb25zLmdmdnMgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkQ29tbWFuZExpbmVBcmd1bWVudHNFcnJvcihcItCd0LUg0YPQutCw0LfQsNC90LAgR1ZGINC00LvRjyDRgdC+0LfQtNCw0L3QuNGPXCIsIFwiXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IHRlbXBsYXRlRGlyID0gcGF0aC5qb2luKF9fZGlybmFtZSwgXCJFbXB0eUZvcm1UZW1wbGF0ZVwiKTtcblxuICAgIGZvciAoY29uc3QgZ2Z2IG9mIG9wdGlvbnMuZ2Z2cykge1xuICAgICAgICBjb25zdCBnZnZMb2dnZXIgPSBsb2dnZXIud2l0aFByZWZpeChnZnYpO1xuICAgICAgICBjb25zdCBmYXJtRGlyZWN0b3J5Rm9ybVBhdGggPSBwYXRoLmpvaW4oZmFybURpcmVjdG9yeSwgXCJmb3Jtc1wiLCBnZnYpO1xuICAgICAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhmYXJtRGlyZWN0b3J5Rm9ybVBhdGgpKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgRGlyZWN0b3J5IGZvciAnJHtnZnZ9JyBhbHJlYWR5IGV4aXN0cy5gO1xuICAgICAgICAgICAgZ2Z2TG9nZ2VyLmVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0ZW1wT3V0cHV0RGlyID0gcGF0aC5qb2luKF9fZGlybmFtZSwgXCIudG1wXCIsIGdmdik7XG4gICAgICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKHRlbXBPdXRwdXREaXIpKSB7XG4gICAgICAgICAgICBhd2FpdCBybWRpcih0ZW1wT3V0cHV0RGlyKTtcbiAgICAgICAgfVxuICAgICAgICBnZnZMb2dnZXIubG9nKGBDcmVhdGluZyBkaXJlY3Rvcnkgd2l0aCBzb3VyY2VzIGZyb20gdGVtcGxhdGVgKTtcbiAgICAgICAgYXdhaXQgZW5zdXJlRGlyKHRlbXBPdXRwdXREaXIpO1xuICAgICAgICBjb25zdCBoaWdobGFuZGVyRmFybVBhdGggPSBwYXRoLmpvaW4oZmFybURpcmVjdG9yeSwgXCIuLlwiLCBcImhpZ2hsYW5kZXIuZmFybVwiLCBcIkZvcm1zXCIsIGdmdik7XG4gICAgICAgIGNvbnN0IGhsUm5nUGF0aDEgPSBwYXRoLmpvaW4oaGlnaGxhbmRlckZhcm1QYXRoLCBgJHtnZnZ9LtGB0YXQtdC80LAucm5nLnhtbGApO1xuICAgICAgICBjb25zdCBobFJuZ1BhdGgyID0gcGF0aC5qb2luKGhpZ2hsYW5kZXJGYXJtUGF0aCwgXCJIaWdobGFuZGVyXCIsIGAke2dmdn0u0YHRhdC10LzQsC5ybmcueG1sYCk7XG4gICAgICAgIGZvciAoY29uc3QgcmVsYXRpdmVGaWxlUGF0aCBvZiBhd2FpdCBnbG9iQXN5bmMoXCIqKi8qXCIsIHsgY3dkOiB0ZW1wbGF0ZURpciB9KSkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0UmVsYXRpdmVQYXRoID0gcmVsYXRpdmVGaWxlUGF0aC5yZXBsYWNlKC97Z2Z2fS9nLCBnZnYpO1xuICAgICAgICAgICAgZ2Z2TG9nZ2VyLnZlcmJvc2UoYFByb2Nlc3NpbmcgdGVtcGxhdGUgcGF0aCAke3JlbGF0aXZlRmlsZVBhdGh9YCk7XG4gICAgICAgICAgICBpZiAoKGF3YWl0IHN0YXQocGF0aC5qb2luKHRlbXBsYXRlRGlyLCByZWxhdGl2ZUZpbGVQYXRoKSkpLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBlbnN1cmVEaXIocGF0aC5qb2luKHRlbXBPdXRwdXREaXIsIHRhcmdldFJlbGF0aXZlUGF0aCkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuaGxybmcgJiZcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0UmVsYXRpdmVQYXRoID09PSBgc2NoZW1hcy8ke2dmdn0uMC5ybmcueG1sYCAmJlxuICAgICAgICAgICAgICAgICAgICAoKGF3YWl0IHBhdGhFeGlzdHMoaGxSbmdQYXRoMSkpIHx8IChhd2FpdCBwYXRoRXhpc3RzKGhsUm5nUGF0aDIpKSlcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhpc3RzSGxSbmdQYXRoID0gKGF3YWl0IHBhdGhFeGlzdHMoaGxSbmdQYXRoMSkpID8gaGxSbmdQYXRoMSA6IGhsUm5nUGF0aDI7XG4gICAgICAgICAgICAgICAgICAgIGdmdkxvZ2dlci5sb2coYENvcHkgc2NoZW1hIHJuZyBmaWxlIGZyb20gaGlnaGxhbmRlci5mYXJtLmApO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZEZpbGUoZXhpc3RzSGxSbmdQYXRoLCBcInV0Zi04XCIpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRDb250ZW50ID0gY29udGVudC5yZXBsYWNlKC97Z2Z2fS9nLCBnZnYpO1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB3cml0ZUZpbGUocGF0aC5qb2luKHRlbXBPdXRwdXREaXIsIHRhcmdldFJlbGF0aXZlUGF0aCksIHRhcmdldENvbnRlbnQsIFwidXRmLThcIik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldFJlbGF0aXZlUGF0aC5pbmNsdWRlcyhcImhlbHBlcnMvYWRkUHJpbDEudHh0XCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL9C/0YDQuCDQutC+0L/QuNGA0L7QstCw0L3QuNC4IGpzINGE0LDQudC70L7QsiBiYWJlbCDQvdCw0YHQvtCy0YvQstCw0LXRgiB1c2Ugc3RyaWN0LCDQvtCx0L7RiNC70Lgg0YLQsNC60LjQvCDQv9GD0YLQtdC8XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZEZpbGUocGF0aC5qb2luKHRlbXBsYXRlRGlyLCByZWxhdGl2ZUZpbGVQYXRoKSwgXCJ1dGYtOFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLmpvaW4odGVtcE91dHB1dERpciwgdGFyZ2V0UmVsYXRpdmVQYXRoLnJlcGxhY2UoXCIudHh0XCIsIFwiLmpzXCIpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidXRmLThcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZShwYXRoLmpvaW4odGVtcGxhdGVEaXIsIHJlbGF0aXZlRmlsZVBhdGgpLCBcInV0Zi04XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0Q29udGVudCA9IGNvbnRlbnQucmVwbGFjZSgve2dmdn0vZywgZ2Z2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShwYXRoLmpvaW4odGVtcE91dHB1dERpciwgdGFyZ2V0UmVsYXRpdmVQYXRoKSwgdGFyZ2V0Q29udGVudCwgXCJ1dGYtOFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGdmdkxvZ2dlci52ZXJib3NlKGBQcm9jZXNzZWQgdGVtcGxhdGUgcGF0aCAke3JlbGF0aXZlRmlsZVBhdGh9YCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm9ybUpzb25QYXRoID0gcGF0aC5qb2luKHRlbXBPdXRwdXREaXIsIFdlbGxLbm93bkRpcmVjdG9yaWVzLkZvcm1Kc29uRmlsZU5hbWUpO1xuICAgICAgICBjb25zdCBmb3JtQ29uZmlnID0gYXdhaXQgcmVhZEZvcm1Db25maWcoZm9ybUpzb25QYXRoLCBnZnZMb2dnZXIpO1xuICAgICAgICBmb3JtQ29uZmlnLmRlcGVuZGVuY2llcyA9IHtcbiAgICAgICAgICAgIGVuZ2luZTogYXdhaXQgZ2V0TGFzdFN0YWJsZUVuZ2luZVZlcnNpb24oKSxcbiAgICAgICAgICAgIGdlbmVyYXRvcjogYXdhaXQgZ2V0TGFzdFN0YWJsZUdlbmVyYXRvclZlcnNpb24oKSxcbiAgICAgICAgfTtcbiAgICAgICAgZ2Z2TG9nZ2VyLmxvZyhgU2V0IGxhc3Qgc3RhYmxlIHZlcnNpb24gJHtmb3JtQ29uZmlnLmRlcGVuZGVuY2llcy5lbmdpbmV9YCk7XG4gICAgICAgIGF3YWl0IHdyaXRlSnNvbihmb3JtSnNvblBhdGgsIGZvcm1Db25maWcsIHsgc3BhY2VzOiAyIH0pO1xuICAgICAgICBnZnZMb2dnZXIubG9nKGBNb3ZpbmcgcHJlcGFyZWQgc291cmNlcyB0byAnJHtmYXJtRGlyZWN0b3J5fSdgKTtcbiAgICAgICAgYXdhaXQgbW92ZURpcmVjdG9yeSh0ZW1wT3V0cHV0RGlyLCBmYXJtRGlyZWN0b3J5Rm9ybVBhdGgpO1xuICAgICAgICBnZnZMb2dnZXIubG9nKGBGb3JtIGNyZWF0aW5nIGNvbXBsZXRlZC4gUGF0aDogJyR7ZmFybURpcmVjdG9yeUZvcm1QYXRofSdgKTtcbiAgICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIG1vdmVEaXJlY3Rvcnkoc291cmNlUGF0aDogc3RyaW5nLCB0YXJnZXRQYXRoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAob3MucGxhdGZvcm0oKSAhPT0gXCJ3aW4zMlwiKSB7XG4gICAgICAgIGF3YWl0IHJlbmFtZShzb3VyY2VQYXRoLCB0YXJnZXRQYXRoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoc291cmNlUGF0aFswXSA9PT0gdGFyZ2V0UGF0aFswXSkge1xuICAgICAgICAgICAgYXdhaXQgcmVuYW1lKHNvdXJjZVBhdGgsIHRhcmdldFBhdGgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXdhaXQgbW92ZShzb3VyY2VQYXRoLCB0YXJnZXRQYXRoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsRUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsSUFBQSxHQUFBRix1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsc0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGdCQUFBLEdBQUFKLE9BQUE7QUFFQSxJQUFBSyxRQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSwwQkFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8scUJBQUEsR0FBQVAsT0FBQTtBQUErRSxTQUFBUSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFB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
|
|
@@ -12,12 +12,13 @@ var _PublishedVersionUtils = require("../../BuildTasks/PublishedVersionUtils");
|
|
|
12
12
|
var _ResolveFormInfo = require("../../BuildTasks/ResolveFormInfo");
|
|
13
13
|
var _FsUtils = require("../../Commons/FsUtils");
|
|
14
14
|
var _Observe = require("../../Commons/TasksCore/Observe");
|
|
15
|
+
var _WellKnownDirectories = require("../../../../Common/WellKnownDirectories");
|
|
15
16
|
async function runLocalization(context, options, farmDirectory, engineDirectory, candyModulesDirectory, hlFarmDirectoryPath) {
|
|
16
17
|
const formDirPath = _path.default.join(farmDirectory, "forms", options.gfv);
|
|
17
18
|
if (!(await (0, _fsExtra.pathExists)(formDirPath))) {
|
|
18
19
|
throw new Error(`GFV ${options.gfv} don't exist`);
|
|
19
20
|
}
|
|
20
|
-
const localizeChain = _Observe.Observe.file(_path.default.join(formDirPath,
|
|
21
|
+
const localizeChain = _Observe.Observe.file(_path.default.join(formDirPath, _WellKnownDirectories.WellKnownDirectories.FormJsonFileName)).transform(formJsonFile => (0, _ResolveFormInfo.resolveFormInfo)(formJsonFile, formDirPath, engineDirectory, context.logger.withPrefix(`FORM:${options.gfv}`))).transform(async x => {
|
|
21
22
|
if (options.useLocalGeneratorSources) {
|
|
22
23
|
return {
|
|
23
24
|
...x,
|
|
@@ -69,4 +70,4 @@ async function writeFilesBatch(filesBatch, outputDirectory) {
|
|
|
69
70
|
}
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2ZzRXh0cmEiLCJfQWNxdWlyZUZvcm1HZW5lcmF0b3IiLCJfUHVibGlzaGVkVmVyc2lvblV0aWxzIiwiX1Jlc29sdmVGb3JtSW5mbyIsIl9Gc1V0aWxzIiwiX09ic2VydmUiLCJydW5Mb2NhbGl6YXRpb24iLCJjb250ZXh0Iiwib3B0aW9ucyIsImZhcm1EaXJlY3RvcnkiLCJlbmdpbmVEaXJlY3RvcnkiLCJjYW5keU1vZHVsZXNEaXJlY3RvcnkiLCJobEZhcm1EaXJlY3RvcnlQYXRoIiwiZm9ybURpclBhdGgiLCJwYXRoIiwiam9pbiIsImdmdiIsInBhdGhFeGlzdHMiLCJFcnJvciIsImxvY2FsaXplQ2hhaW4iLCJPYnNlcnZlIiwiZmlsZSIsInRyYW5zZm9ybSIsImZvcm1Kc29uRmlsZSIsInJlc29sdmVGb3JtSW5mbyIsImxvZ2dlciIsIndpdGhQcmVmaXgiLCJ4IiwidXNlTG9jYWxHZW5lcmF0b3JTb3VyY2VzIiwiZ2VuZXJhdG9yU291cmNlIiwicmVzb2x2ZUxvY2FsR2VuZXJhdG9yU291cmNlIiwiZ2VuZXJhdG9yVmVyc2lvbiIsInVuZGVmaW5lZCIsInJlc29sdmVHZW5lcmF0b3JWZXJzaW9uIiwiYXR0YWNoIiwiZmkiLCJnZW5lcmF0b3JGYWN0b3J5IiwieSIsImdlbmVyYXRvciIsImdldEdlbmVyYXRvclNvdXJjZUtleSIsImRvIiwiZm9ybVNvdXJjZSIsInJlYWRTb3VyY2VzIiwiZGljdGlvbmFyeU9ubHkiLCJsb2ciLCJsb2NhbGl6YXRpb25EaWN0aW9uYXJ5IiwiZ2V0RGljdGlvbmFyeSIsInN1Z2FyQ29udGVudCIsInJlc291cmNlcyIsIndyaXRlRmlsZXNCYXRjaCIsImxvY2FsaXplZFN1Z2FyIiwiZ2V0TG9jYWxpemVkU3VnYXIiLCJvbGRTdWdhckRpcmVjdG9yeSIsImVuc3VyZURpciIsIlByb21pc2UiLCJhbGwiLCJPYmplY3QiLCJlbnRyaWVzIiwibWFwIiwiZmlsZW5hbWUiLCJzdWdhciIsIndyaXRlRmlsZUFzeW5jIiwiY3VycmVudFZhbHVlIiwiZmlsZXNCYXRjaCIsIm91dHB1dERpcmVjdG9yeSIsImZpbGVQYXRoIiwia2V5cyIsImNvbnRlbnQiLCJwYXJzZSIsImRpciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9Mb2NhbGl6YXRpb24vUnVuTG9jYWxpemF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IGVuc3VyZURpciwgcGF0aEV4aXN0cyB9IGZyb20gXCJmcy1leHRyYVwiO1xuXG5pbXBvcnQgeyBnZW5lcmF0b3JGYWN0b3J5LCBnZXRHZW5lcmF0b3JTb3VyY2VLZXkgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9HZW5lcmF0b3IvQWNxdWlyZUZvcm1HZW5lcmF0b3JcIjtcbmltcG9ydCB7IHJlc29sdmVHZW5lcmF0b3JWZXJzaW9uLCByZXNvbHZlTG9jYWxHZW5lcmF0b3JTb3VyY2UgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9QdWJsaXNoZWRWZXJzaW9uVXRpbHNcIjtcbmltcG9ydCB7IHJlc29sdmVGb3JtSW5mbyB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1Jlc29sdmVGb3JtSW5mb1wiO1xuaW1wb3J0IHsgQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gXCIuLi8uLi9Db21tb25zL0NvbnNvbGVBcHBsaWNhdGlvbi9Db25zb2xlQXBwbGljYXRpb25Db250ZXh0XCI7XG5pbXBvcnQgeyB3cml0ZUZpbGVBc3luYyB9IGZyb20gXCIuLi8uLi9Db21tb25zL0ZzVXRpbHNcIjtcbmltcG9ydCB7IE9ic2VydmUgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9UYXNrc0NvcmUvT2JzZXJ2ZVwiO1xuXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25PcHRpb25zIH0gZnJvbSBcIi4vTG9jYWxpemF0aW9uT3B0aW9uc1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuTG9jYWxpemF0aW9uKFxuICAgIGNvbnRleHQ6IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQsXG4gICAgb3B0aW9uczogTG9jYWxpemF0aW9uT3B0aW9ucyxcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgaGxGYXJtRGlyZWN0b3J5UGF0aDogc3RyaW5nXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmb3JtRGlyUGF0aCA9IHBhdGguam9pbihmYXJtRGlyZWN0b3J5LCBcImZvcm1zXCIsIG9wdGlvbnMuZ2Z2KTtcbiAgICBpZiAoIShhd2FpdCBwYXRoRXhpc3RzKGZvcm1EaXJQYXRoKSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBHRlYgJHtvcHRpb25zLmdmdn0gZG9uJ3QgZXhpc3RgKTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2NhbGl6ZUNoYWluID0gT2JzZXJ2ZS5maWxlKHBhdGguam9pbihmb3JtRGlyUGF0aCwgXCJmb3JtLmpzb25cIikpXG4gICAgICAgIC50cmFuc2Zvcm0oZm9ybUpzb25GaWxlID0+XG4gICAgICAgICAgICByZXNvbHZlRm9ybUluZm8oXG4gICAgICAgICAgICAgICAgZm9ybUpzb25GaWxlLFxuICAgICAgICAgICAgICAgIGZvcm1EaXJQYXRoLFxuICAgICAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICBjb250ZXh0LmxvZ2dlci53aXRoUHJlZml4KGBGT1JNOiR7b3B0aW9ucy5nZnZ9YClcbiAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgICAudHJhbnNmb3JtKGFzeW5jIHggPT4ge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMudXNlTG9jYWxHZW5lcmF0b3JTb3VyY2VzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdG9yU291cmNlOiByZXNvbHZlTG9jYWxHZW5lcmF0b3JTb3VyY2UoZW5naW5lRGlyZWN0b3J5KSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoeC5nZW5lcmF0b3JWZXJzaW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImdlbmVyYXRvclZlcnNpb24gaXMgbm8gZGVmaW5lZFwiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi54LFxuICAgICAgICAgICAgICAgIGdlbmVyYXRvclNvdXJjZTogYXdhaXQgcmVzb2x2ZUdlbmVyYXRvclZlcnNpb24oeC5nZW5lcmF0b3JWZXJzaW9uKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICAgIC5hdHRhY2goXG4gICAgICAgICAgICBhc3luYyBmaSA9PiBnZW5lcmF0b3JGYWN0b3J5KGZpLmdlbmVyYXRvclNvdXJjZSwgY2FuZHlNb2R1bGVzRGlyZWN0b3J5LCBmYWxzZSksXG4gICAgICAgICAgICBhc3luYyAoZmksIHkpID0+ICh7IC4uLmZpLCBnZW5lcmF0b3I6IHkgfSksXG4gICAgICAgICAgICBhc3luYyBmaSA9PiBnZXRHZW5lcmF0b3JTb3VyY2VLZXkoZmkuZ2VuZXJhdG9yU291cmNlKVxuICAgICAgICApXG4gICAgICAgIC5kbyhhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsb2dnZXIgPSBjb250ZXh0LmxvZ2dlci53aXRoUHJlZml4KFwiTE9DQUxJWkVcIikud2l0aFByZWZpeChvcHRpb25zLmdmdik7XG5cbiAgICAgICAgICAgIGNvbnN0IGZvcm1Tb3VyY2UgPSBhd2FpdCBmaS5nZW5lcmF0b3IucmVhZFNvdXJjZXMoZm9ybURpclBhdGgsIGZhcm1EaXJlY3RvcnksIGhsRmFybURpcmVjdG9yeVBhdGgpO1xuXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5kaWN0aW9uYXJ5T25seSkge1xuICAgICAgICAgICAgICAgIGxvZ2dlci5sb2coXCJHZW5lcmF0ZSB0cmFuc2xhdGUgZGljdGlvbmFyeVwiKTtcbiAgICAgICAgICAgICAgICBjb25zdCBsb2NhbGl6YXRpb25EaWN0aW9uYXJ5ID0gYXdhaXQgZmkuZ2VuZXJhdG9yLmdldERpY3Rpb25hcnkoXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Tb3VyY2Uuc3VnYXJDb250ZW50LFxuICAgICAgICAgICAgICAgICAgICBmb3JtU291cmNlLnJlc291cmNlc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIldyaXRlIHRyYW5zbGF0ZSBkaWN0aW9uYXJ5XCIpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZXNCYXRjaChsb2NhbGl6YXRpb25EaWN0aW9uYXJ5LCBmb3JtRGlyUGF0aCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxvZ2dlci5sb2coXCJHZW5lcmF0ZSBsb2NhbGl6YXRpb24gc3VnYXJcIik7XG4gICAgICAgICAgICAgICAgY29uc3QgbG9jYWxpemVkU3VnYXIgPSBhd2FpdCBmaS5nZW5lcmF0b3IuZ2V0TG9jYWxpemVkU3VnYXIoXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Tb3VyY2Uuc3VnYXJDb250ZW50LFxuICAgICAgICAgICAgICAgICAgICBmb3JtU291cmNlLnJlc291cmNlc1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBsb2dnZXIubG9nKFwiR2VuZXJhdGUgdHJhbnNsYXRlIGRpY3Rpb25hcnlcIik7XG4gICAgICAgICAgICAgICAgY29uc3QgbG9jYWxpemF0aW9uRGljdGlvbmFyeSA9IGF3YWl0IGZpLmdlbmVyYXRvci5nZXREaWN0aW9uYXJ5KGxvY2FsaXplZFN1Z2FyLCBmb3JtU291cmNlLnJlc291cmNlcyk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBvbGRTdWdhckRpcmVjdG9yeSA9IHBhdGguam9pbihmb3JtRGlyUGF0aCwgXCJvbGRzdWdhclwiKTtcbiAgICAgICAgICAgICAgICBsb2dnZXIubG9nKGBXcml0ZSBwcmV2aW91cyB2ZXJzaW9uIHN1Z2FyIGluIFwiJHtvbGRTdWdhckRpcmVjdG9yeX1cImApO1xuICAgICAgICAgICAgICAgIGF3YWl0IGVuc3VyZURpcihvbGRTdWdhckRpcmVjdG9yeSk7XG4gICAgICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGZvcm1Tb3VyY2Uuc3VnYXJDb250ZW50KS5tYXAoKFtmaWxlbmFtZSwgc3VnYXJdKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVGaWxlQXN5bmMocGF0aC5qb2luKG9sZFN1Z2FyRGlyZWN0b3J5LCBmaWxlbmFtZSArIFwiLnN1Z2FyLnhtbFwiKSwgc3VnYXIpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIldyaXRlIGxvY2FsaXphdGlvbiBzdWdhclwiKTtcbiAgICAgICAgICAgICAgICBhd2FpdCB3cml0ZUZpbGVzQmF0Y2gobG9jYWxpemVkU3VnYXIsIGZvcm1EaXJQYXRoKTtcblxuICAgICAgICAgICAgICAgIGxvZ2dlci5sb2coXCJXcml0ZSB0cmFuc2xhdGUgZGljdGlvbmFyeVwiKTtcbiAgICAgICAgICAgICAgICBhd2FpdCB3cml0ZUZpbGVzQmF0Y2gobG9jYWxpemF0aW9uRGljdGlvbmFyeSwgZm9ybURpclBhdGgpO1xuICAgICAgICAgICAgICAgIGxvZ2dlci5sb2coXCJMb2NhbGl6ZSBzdWNjZXNzZnVsIGNvbXBsZXRlXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgIGF3YWl0IGxvY2FsaXplQ2hhaW4uY3VycmVudFZhbHVlO1xufVxuXG5hc3luYyBmdW5jdGlvbiB3cml0ZUZpbGVzQmF0Y2goXG4gICAgZmlsZXNCYXRjaDoge1xuICAgICAgICBbcmVsYXRpdmVGaWxlTmFtZTogc3RyaW5nXTogc3RyaW5nIHwgQnVmZmVyO1xuICAgIH0sXG4gICAgb3V0cHV0RGlyZWN0b3J5OiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGZvciAoY29uc3QgZmlsZVBhdGggb2YgT2JqZWN0LmtleXMoZmlsZXNCYXRjaCkpIHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IGZpbGVzQmF0Y2hbZmlsZVBhdGhdO1xuICAgICAgICBpZiAoY29udGVudCAhPSB1bmRlZmluZWQgJiYgY29udGVudCAhPT0gXCJcIikge1xuICAgICAgICAgICAgYXdhaXQgZW5zdXJlRGlyKHBhdGguam9pbihvdXRwdXREaXJlY3RvcnksIHBhdGgucGFyc2UoZmlsZVBhdGgpLmRpcikpO1xuICAgICAgICAgICAgYXdhaXQgd3JpdGVGaWxlQXN5bmMocGF0aC5qb2luKG91dHB1dERpcmVjdG9yeSwgZmlsZVBhdGgpLCBjb250ZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLHFCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxzQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksZ0JBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLFFBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUlPLGVBQWVPLGVBQWVBLENBQ2pDQyxPQUFrQyxFQUNsQ0MsT0FBNEIsRUFDNUJDLGFBQXFCLEVBQ3JCQyxlQUF1QixFQUN2QkMscUJBQTZCLEVBQzdCQyxtQkFBMkIsRUFDZDtFQUNiLE1BQU1DLFdBQVcsR0FBR0MsYUFBSSxDQUFDQyxJQUFJLENBQUNOLGFBQWEs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
|
|
73
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2ZzRXh0cmEiLCJfQWNxdWlyZUZvcm1HZW5lcmF0b3IiLCJfUHVibGlzaGVkVmVyc2lvblV0aWxzIiwiX1Jlc29sdmVGb3JtSW5mbyIsIl9Gc1V0aWxzIiwiX09ic2VydmUiLCJfV2VsbEtub3duRGlyZWN0b3JpZXMiLCJydW5Mb2NhbGl6YXRpb24iLCJjb250ZXh0Iiwib3B0aW9ucyIsImZhcm1EaXJlY3RvcnkiLCJlbmdpbmVEaXJlY3RvcnkiLCJjYW5keU1vZHVsZXNEaXJlY3RvcnkiLCJobEZhcm1EaXJlY3RvcnlQYXRoIiwiZm9ybURpclBhdGgiLCJwYXRoIiwiam9pbiIsImdmdiIsInBhdGhFeGlzdHMiLCJFcnJvciIsImxvY2FsaXplQ2hhaW4iLCJPYnNlcnZlIiwiZmlsZSIsIldlbGxLbm93bkRpcmVjdG9yaWVzIiwiRm9ybUpzb25GaWxlTmFtZSIsInRyYW5zZm9ybSIsImZvcm1Kc29uRmlsZSIsInJlc29sdmVGb3JtSW5mbyIsImxvZ2dlciIsIndpdGhQcmVmaXgiLCJ4IiwidXNlTG9jYWxHZW5lcmF0b3JTb3VyY2VzIiwiZ2VuZXJhdG9yU291cmNlIiwicmVzb2x2ZUxvY2FsR2VuZXJhdG9yU291cmNlIiwiZ2VuZXJhdG9yVmVyc2lvbiIsInVuZGVmaW5lZCIsInJlc29sdmVHZW5lcmF0b3JWZXJzaW9uIiwiYXR0YWNoIiwiZmkiLCJnZW5lcmF0b3JGYWN0b3J5IiwieSIsImdlbmVyYXRvciIsImdldEdlbmVyYXRvclNvdXJjZUtleSIsImRvIiwiZm9ybVNvdXJjZSIsInJlYWRTb3VyY2VzIiwiZGljdGlvbmFyeU9ubHkiLCJsb2ciLCJsb2NhbGl6YXRpb25EaWN0aW9uYXJ5IiwiZ2V0RGljdGlvbmFyeSIsInN1Z2FyQ29udGVudCIsInJlc291cmNlcyIsIndyaXRlRmlsZXNCYXRjaCIsImxvY2FsaXplZFN1Z2FyIiwiZ2V0TG9jYWxpemVkU3VnYXIiLCJvbGRTdWdhckRpcmVjdG9yeSIsImVuc3VyZURpciIsIlByb21pc2UiLCJhbGwiLCJPYmplY3QiLCJlbnRyaWVzIiwibWFwIiwiZmlsZW5hbWUiLCJzdWdhciIsIndyaXRlRmlsZUFzeW5jIiwiY3VycmVudFZhbHVlIiwiZmlsZXNCYXRjaCIsIm91dHB1dERpcmVjdG9yeSIsImZpbGVQYXRoIiwia2V5cyIsImNvbnRlbnQiLCJwYXJzZSIsImRpciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9Mb2NhbGl6YXRpb24vUnVuTG9jYWxpemF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IGVuc3VyZURpciwgcGF0aEV4aXN0cyB9IGZyb20gXCJmcy1leHRyYVwiO1xuXG5pbXBvcnQgeyBnZW5lcmF0b3JGYWN0b3J5LCBnZXRHZW5lcmF0b3JTb3VyY2VLZXkgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9HZW5lcmF0b3IvQWNxdWlyZUZvcm1HZW5lcmF0b3JcIjtcbmltcG9ydCB7IHJlc29sdmVHZW5lcmF0b3JWZXJzaW9uLCByZXNvbHZlTG9jYWxHZW5lcmF0b3JTb3VyY2UgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9QdWJsaXNoZWRWZXJzaW9uVXRpbHNcIjtcbmltcG9ydCB7IHJlc29sdmVGb3JtSW5mbyB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1Jlc29sdmVGb3JtSW5mb1wiO1xuaW1wb3J0IHsgQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gXCIuLi8uLi9Db21tb25zL0NvbnNvbGVBcHBsaWNhdGlvbi9Db25zb2xlQXBwbGljYXRpb25Db250ZXh0XCI7XG5pbXBvcnQgeyB3cml0ZUZpbGVBc3luYyB9IGZyb20gXCIuLi8uLi9Db21tb25zL0ZzVXRpbHNcIjtcbmltcG9ydCB7IE9ic2VydmUgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9UYXNrc0NvcmUvT2JzZXJ2ZVwiO1xuXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25PcHRpb25zIH0gZnJvbSBcIi4vTG9jYWxpemF0aW9uT3B0aW9uc1wiO1xuaW1wb3J0IHsgV2VsbEtub3duRGlyZWN0b3JpZXMgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9uL1dlbGxLbm93bkRpcmVjdG9yaWVzXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5Mb2NhbGl6YXRpb24oXG4gICAgY29udGV4dDogQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCxcbiAgICBvcHRpb25zOiBMb2NhbGl6YXRpb25PcHRpb25zLFxuICAgIGZhcm1EaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBobEZhcm1EaXJlY3RvcnlQYXRoOiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZvcm1EaXJQYXRoID0gcGF0aC5qb2luKGZhcm1EaXJlY3RvcnksIFwiZm9ybXNcIiwgb3B0aW9ucy5nZnYpO1xuICAgIGlmICghKGF3YWl0IHBhdGhFeGlzdHMoZm9ybURpclBhdGgpKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEdGViAke29wdGlvbnMuZ2Z2fSBkb24ndCBleGlzdGApO1xuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsaXplQ2hhaW4gPSBPYnNlcnZlLmZpbGUocGF0aC5qb2luKGZvcm1EaXJQYXRoLCBXZWxsS25vd25EaXJlY3Rvcmllcy5Gb3JtSnNvbkZpbGVOYW1lKSlcbiAgICAgICAgLnRyYW5zZm9ybShmb3JtSnNvbkZpbGUgPT5cbiAgICAgICAgICAgIHJlc29sdmVGb3JtSW5mbyhcbiAgICAgICAgICAgICAgICBmb3JtSnNvbkZpbGUsXG4gICAgICAgICAgICAgICAgZm9ybURpclBhdGgsXG4gICAgICAgICAgICAgICAgZW5naW5lRGlyZWN0b3J5LFxuICAgICAgICAgICAgICAgIGNvbnRleHQubG9nZ2VyLndpdGhQcmVmaXgoYEZPUk06JHtvcHRpb25zLmdmdn1gKVxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgICAgIC50cmFuc2Zvcm0oYXN5bmMgeCA9PiB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy51c2VMb2NhbEdlbmVyYXRvclNvdXJjZXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi54LFxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IHJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZShlbmdpbmVEaXJlY3RvcnkpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh4LmdlbmVyYXRvclZlcnNpb24gPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZ2VuZXJhdG9yVmVyc2lvbiBpcyBubyBkZWZpbmVkXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLngsXG4gICAgICAgICAgICAgICAgZ2VuZXJhdG9yU291cmNlOiBhd2FpdCByZXNvbHZlR2VuZXJhdG9yVmVyc2lvbih4LmdlbmVyYXRvclZlcnNpb24pLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSlcbiAgICAgICAgLmF0dGFjaChcbiAgICAgICAgICAgIGFzeW5jIGZpID0+IGdlbmVyYXRvckZhY3RvcnkoZmkuZ2VuZXJhdG9yU291cmNlLCBjYW5keU1vZHVsZXNEaXJlY3RvcnksIGZhbHNlKSxcbiAgICAgICAgICAgIGFzeW5jIChmaSwgeSkgPT4gKHsgLi4uZmksIGdlbmVyYXRvcjogeSB9KSxcbiAgICAgICAgICAgIGFzeW5jIGZpID0+IGdldEdlbmVyYXRvclNvdXJjZUtleShmaS5nZW5lcmF0b3JTb3VyY2UpXG4gICAgICAgIClcbiAgICAgICAgLmRvKGFzeW5jIGZpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxvZ2dlciA9IGNvbnRleHQubG9nZ2VyLndpdGhQcmVmaXgoXCJMT0NBTElaRVwiKS53aXRoUHJlZml4KG9wdGlvbnMuZ2Z2KTtcblxuICAgICAgICAgICAgY29uc3QgZm9ybVNvdXJjZSA9IGF3YWl0IGZpLmdlbmVyYXRvci5yZWFkU291cmNlcyhmb3JtRGlyUGF0aCwgZmFybURpcmVjdG9yeSwgaGxGYXJtRGlyZWN0b3J5UGF0aCk7XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLmRpY3Rpb25hcnlPbmx5KSB7XG4gICAgICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIkdlbmVyYXRlIHRyYW5zbGF0ZSBkaWN0aW9uYXJ5XCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxvY2FsaXphdGlvbkRpY3Rpb25hcnkgPSBhd2FpdCBmaS5nZW5lcmF0b3IuZ2V0RGljdGlvbmFyeShcbiAgICAgICAgICAgICAgICAgICAgZm9ybVNvdXJjZS5zdWdhckNvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Tb3VyY2UucmVzb3VyY2VzXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBsb2dnZXIubG9nKFwiV3JpdGUgdHJhbnNsYXRlIGRpY3Rpb25hcnlcIik7XG4gICAgICAgICAgICAgICAgYXdhaXQgd3JpdGVGaWxlc0JhdGNoKGxvY2FsaXphdGlvbkRpY3Rpb25hcnksIGZvcm1EaXJQYXRoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIkdlbmVyYXRlIGxvY2FsaXphdGlvbiBzdWdhclwiKTtcbiAgICAgICAgICAgICAgICBjb25zdCBsb2NhbGl6ZWRTdWdhciA9IGF3YWl0IGZpLmdlbmVyYXRvci5nZXRMb2NhbGl6ZWRTdWdhcihcbiAgICAgICAgICAgICAgICAgICAgZm9ybVNvdXJjZS5zdWdhckNvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Tb3VyY2UucmVzb3VyY2VzXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGxvZ2dlci5sb2coXCJHZW5lcmF0ZSB0cmFuc2xhdGUgZGljdGlvbmFyeVwiKTtcbiAgICAgICAgICAgICAgICBjb25zdCBsb2NhbGl6YXRpb25EaWN0aW9uYXJ5ID0gYXdhaXQgZmkuZ2VuZXJhdG9yLmdldERpY3Rpb25hcnkobG9jYWxpemVkU3VnYXIsIGZvcm1Tb3VyY2UucmVzb3VyY2VzKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IG9sZFN1Z2FyRGlyZWN0b3J5ID0gcGF0aC5qb2luKGZvcm1EaXJQYXRoLCBcIm9sZHN1Z2FyXCIpO1xuICAgICAgICAgICAgICAgIGxvZ2dlci5sb2coYFdyaXRlIHByZXZpb3VzIHZlcnNpb24gc3VnYXIgaW4gXCIke29sZFN1Z2FyRGlyZWN0b3J5fVwiYCk7XG4gICAgICAgICAgICAgICAgYXdhaXQgZW5zdXJlRGlyKG9sZFN1Z2FyRGlyZWN0b3J5KTtcbiAgICAgICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoZm9ybVNvdXJjZS5zdWdhckNvbnRlbnQpLm1hcCgoW2ZpbGVuYW1lLCBzdWdhcl0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB3cml0ZUZpbGVBc3luYyhwYXRoLmpvaW4ob2xkU3VnYXJEaXJlY3RvcnksIGZpbGVuYW1lICsgXCIuc3VnYXIueG1sXCIpLCBzdWdhcilcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBsb2dnZXIubG9nKFwiV3JpdGUgbG9jYWxpemF0aW9uIHN1Z2FyXCIpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZXNCYXRjaChsb2NhbGl6ZWRTdWdhciwgZm9ybURpclBhdGgpO1xuXG4gICAgICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIldyaXRlIHRyYW5zbGF0ZSBkaWN0aW9uYXJ5XCIpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZXNCYXRjaChsb2NhbGl6YXRpb25EaWN0aW9uYXJ5LCBmb3JtRGlyUGF0aCk7XG4gICAgICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIkxvY2FsaXplIHN1Y2Nlc3NmdWwgY29tcGxldGVcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgYXdhaXQgbG9jYWxpemVDaGFpbi5jdXJyZW50VmFsdWU7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHdyaXRlRmlsZXNCYXRjaChcbiAgICBmaWxlc0JhdGNoOiB7XG4gICAgICAgIFtyZWxhdGl2ZUZpbGVOYW1lOiBzdHJpbmddOiBzdHJpbmcgfCBCdWZmZXI7XG4gICAgfSxcbiAgICBvdXRwdXREaXJlY3Rvcnk6IHN0cmluZ1xuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm9yIChjb25zdCBmaWxlUGF0aCBvZiBPYmplY3Qua2V5cyhmaWxlc0JhdGNoKSkge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gZmlsZXNCYXRjaFtmaWxlUGF0aF07XG4gICAgICAgIGlmIChjb250ZW50ICE9IHVuZGVmaW5lZCAmJiBjb250ZW50ICE9PSBcIlwiKSB7XG4gICAgICAgICAgICBhd2FpdCBlbnN1cmVEaXIocGF0aC5qb2luKG91dHB1dERpcmVjdG9yeSwgcGF0aC5wYXJzZShmaWxlUGF0aCkuZGlyKSk7XG4gICAgICAgICAgICBhd2FpdCB3cml0ZUZpbGVBc3luYyhwYXRoLmpvaW4ob3V0cHV0RGlyZWN0b3J5LCBmaWxlUGF0aCksIGNvbnRlbnQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUscUJBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLHNCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxnQkFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssUUFBQSxHQUFBTCxPQUFBO0FBQ0Es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
|
|
@@ -10,17 +10,20 @@ var _FormGlobsUtils = require("../../Commons/FormGlobsUtils");
|
|
|
10
10
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
11
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
12
12
|
async function runRenameFiles(context, options, resourcesDirectory, farmDirectory) {
|
|
13
|
-
const formGlobs = await _FormGlobsUtils.FormGlobs.
|
|
14
|
-
for (const
|
|
13
|
+
const formGlobs = await _FormGlobsUtils.FormGlobs.ensureEachGlobResolvesIntoExistingForm(await _FormGlobsUtils.FormGlobs.resolveSpecifiers(options.formGlobs, farmDirectory), farmDirectory);
|
|
14
|
+
for (const {
|
|
15
|
+
gfv,
|
|
16
|
+
formPath
|
|
17
|
+
} of await _FormGlobsUtils.FormGlobs.resolveGfvGlobs(formGlobs, farmDirectory)) {
|
|
15
18
|
if (!isNaN(Number(gfv))) {
|
|
16
19
|
const logger = context.logger.withPrefix(`FORM:${gfv}`);
|
|
17
|
-
await renameFiles(farmDirectory, gfv, logger);
|
|
20
|
+
await renameFiles(farmDirectory, gfv, formPath, logger);
|
|
18
21
|
}
|
|
19
22
|
}
|
|
20
23
|
}
|
|
21
|
-
async function renameFiles(farmDirectory, gfv, logger) {
|
|
24
|
+
async function renameFiles(farmDirectory, gfv, formPath, logger) {
|
|
22
25
|
var _maxSubversion;
|
|
23
|
-
const presentationsFile = path.join(
|
|
26
|
+
const presentationsFile = path.join(formPath, "presentations.json");
|
|
24
27
|
if (!(await (0, _fsExtra.pathExists)(presentationsFile))) {
|
|
25
28
|
logger.warning(`Form ${gfv} does not have presentations.json.`);
|
|
26
29
|
return;
|
|
@@ -35,14 +38,13 @@ async function renameFiles(farmDirectory, gfv, logger) {
|
|
|
35
38
|
maxSubversion = (_maxSubversion = maxSubversion) !== null && _maxSubversion !== void 0 ? _maxSubversion : 0;
|
|
36
39
|
const rngXmlFileName = `${gfv}.rng.xml`;
|
|
37
40
|
const newRngXmlFileName = `${gfv}.${maxSubversion}.rng.xml`;
|
|
38
|
-
const
|
|
39
|
-
const fileDirPath = path.join(formDirPath, "schemas", rngXmlFileName);
|
|
41
|
+
const fileDirPath = path.join(formPath, "schemas", rngXmlFileName);
|
|
40
42
|
if (!(await (0, _fsExtra.pathExists)(fileDirPath))) {
|
|
41
43
|
logger.warning(`Form ${gfv} does not have ${rngXmlFileName}.`);
|
|
42
44
|
return;
|
|
43
45
|
}
|
|
44
|
-
const newFileDirPath = path.join(
|
|
46
|
+
const newFileDirPath = path.join(formPath, "schemas", newRngXmlFileName);
|
|
45
47
|
logger.log(`Rename "${rngXmlFileName}" in "${newRngXmlFileName}".`);
|
|
46
48
|
await (0, _fsExtra.rename)(fileDirPath, newFileDirPath);
|
|
47
49
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2ZzRXh0cmEiLCJfRm9ybUdsb2JzVXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwicnVuUmVuYW1lRmlsZXMiLCJjb250ZXh0Iiwib3B0aW9ucyIsInJlc291cmNlc0RpcmVjdG9yeSIsImZhcm1EaXJlY3RvcnkiLCJmb3JtR2xvYnMiLCJGb3JtR2xvYnMiLCJlbnN1cmVFYWNoR2xvYlJlc29sdmVzSW50b0V4aXN0aW5nRm9ybSIsInJlc29sdmVTcGVjaWZpZXJzIiwiZ2Z2IiwiZm9ybVBhdGgiLCJyZXNvbHZlR2Z2R2xvYnMiLCJpc05hTiIsIk51bWJlciIsImxvZ2dlciIsIndpdGhQcmVmaXgiLCJyZW5hbWVGaWxlcyIsIl9tYXhTdWJ2ZXJzaW9uIiwicHJlc2VudGF0aW9uc0ZpbGUiLCJqb2luIiwicGF0aEV4aXN0cyIsIndhcm5pbmciLCJqc29uIiwicmVhZEpzb24iLCJtYXhTdWJ2ZXJzaW9uIiwiaXRlbSIsInVuZGVmaW5lZCIsInJuZ1htbEZpbGVOYW1lIiwibmV3Um5nWG1sRmlsZU5hbWUiLCJmaWxlRGlyUGF0aCIsIm5ld0ZpbGVEaXJQYXRoIiwibG9nIiwicmVuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL1JlbmFtZUZpbGVzL1J1blJlbmFtZUZpbGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgcGF0aEV4aXN0cywgcmVhZEpzb24sIHJlbmFtZSB9IGZyb20gXCJmcy1leHRyYVwiO1xuXG5pbXBvcnQgeyBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvQ29uc29sZUFwcGxpY2F0aW9uL0NvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHRcIjtcbmltcG9ydCB7IEZvcm1HbG9icyB9IGZyb20gXCIuLi8uLi9Db21tb25zL0Zvcm1HbG9ic1V0aWxzXCI7XG5pbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvTG9nZ2luZy9JTG9nZ2VyXCI7XG5cbmltcG9ydCB7IFJlbmFtZUZpbGVzT3B0aW9ucyB9IGZyb20gXCIuL1JlbmFtZUZpbGVzT3B0aW9uc1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuUmVuYW1lRmlsZXMoXG4gICAgY29udGV4dDogQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCxcbiAgICBvcHRpb25zOiBSZW5hbWVGaWxlc09wdGlvbnMsXG4gICAgcmVzb3VyY2VzRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgZmFybURpcmVjdG9yeTogc3RyaW5nXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmb3JtR2xvYnMgPSBhd2FpdCBGb3JtR2xvYnMuZW5zdXJlRWFjaEdsb2JSZXNvbHZlc0ludG9FeGlzdGluZ0Zvcm0oXG4gICAgICAgIGF3YWl0IEZvcm1HbG9icy5yZXNvbHZlU3BlY2lmaWVycyhvcHRpb25zLmZvcm1HbG9icywgZmFybURpcmVjdG9yeSksXG4gICAgICAgIGZhcm1EaXJlY3RvcnlcbiAgICApO1xuICAgIGZvciAoY29uc3QgeyBnZnYsIGZvcm1QYXRoIH0gb2YgYXdhaXQgRm9ybUdsb2JzLnJlc29sdmVHZnZHbG9icyhmb3JtR2xvYnMsIGZhcm1EaXJlY3RvcnkpKSB7XG4gICAgICAgIGlmICghaXNOYU4oTnVtYmVyKGdmdikpKSB7XG4gICAgICAgICAgICBjb25zdCBsb2dnZXIgPSBjb250ZXh0LmxvZ2dlci53aXRoUHJlZml4KGBGT1JNOiR7Z2Z2fWApO1xuICAgICAgICAgICAgYXdhaXQgcmVuYW1lRmlsZXMoZmFybURpcmVjdG9yeSwgZ2Z2LCBmb3JtUGF0aCwgbG9nZ2VyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVuYW1lRmlsZXMoZmFybURpcmVjdG9yeTogc3RyaW5nLCBnZnY6IHN0cmluZywgZm9ybVBhdGg6IHN0cmluZywgbG9nZ2VyOiBJTG9nZ2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcHJlc2VudGF0aW9uc0ZpbGUgPSBwYXRoLmpvaW4oZm9ybVBhdGgsIFwicHJlc2VudGF0aW9ucy5qc29uXCIpO1xuICAgIGlmICghKGF3YWl0IHBhdGhFeGlzdHMocHJlc2VudGF0aW9uc0ZpbGUpKSkge1xuICAgICAgICBsb2dnZXIud2FybmluZyhgRm9ybSAke2dmdn0gZG9lcyBub3QgaGF2ZSBwcmVzZW50YXRpb25zLmpzb24uYCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QganNvbiA9IGF3YWl0IHJlYWRKc29uKHByZXNlbnRhdGlvbnNGaWxlKTtcbiAgICBsZXQgbWF4U3VidmVyc2lvbiA9IDA7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGpzb24pIHtcbiAgICAgICAgaWYgKGl0ZW1bXCJNYXhWZXJzaW9uXCJdICE9PSB1bmRlZmluZWQgJiYgaXRlbVtcIk1heFZlcnNpb25cIl0pIHtcbiAgICAgICAgICAgIG1heFN1YnZlcnNpb24gPSBpdGVtW1wiTWF4VmVyc2lvblwiXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBtYXhTdWJ2ZXJzaW9uID0gbWF4U3VidmVyc2lvbiA/PyAwO1xuICAgIGNvbnN0IHJuZ1htbEZpbGVOYW1lID0gYCR7Z2Z2fS5ybmcueG1sYDtcbiAgICBjb25zdCBuZXdSbmdYbWxGaWxlTmFtZSA9IGAke2dmdn0uJHttYXhTdWJ2ZXJzaW9ufS5ybmcueG1sYDtcbiAgICBjb25zdCBmaWxlRGlyUGF0aCA9IHBhdGguam9pbihmb3JtUGF0aCwgXCJzY2hlbWFzXCIsIHJuZ1htbEZpbGVOYW1lKTtcbiAgICBpZiAoIShhd2FpdCBwYXRoRXhpc3RzKGZpbGVEaXJQYXRoKSkpIHtcbiAgICAgICAgbG9nZ2VyLndhcm5pbmcoYEZvcm0gJHtnZnZ9IGRvZXMgbm90IGhhdmUgJHtybmdYbWxGaWxlTmFtZX0uYCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbmV3RmlsZURpclBhdGggPSBwYXRoLmpvaW4oZm9ybVBhdGgsIFwic2NoZW1hc1wiLCBuZXdSbmdYbWxGaWxlTmFtZSk7XG4gICAgbG9nZ2VyLmxvZyhgUmVuYW1lIFwiJHtybmdYbWxGaWxlTmFtZX1cIiBpbiBcIiR7bmV3Um5nWG1sRmlsZU5hbWV9XCIuYCk7XG4gICAgYXdhaXQgcmVuYW1lKGZpbGVEaXJQYXRoLCBuZXdGaWxlRGlyUGF0aCk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLElBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUdBLElBQUFFLGVBQUEsR0FBQUYsT0FBQTtBQUF5RCxTQUFBRyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBTCx3QkFBQVMsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQUcsS0FBQSxHQUFB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
|
|
@@ -11,32 +11,35 @@ var _ResolveFormInfo = require("../../BuildTasks/ResolveFormInfo");
|
|
|
11
11
|
var _FormGlobsUtils = require("../../Commons/FormGlobsUtils");
|
|
12
12
|
var _StaticLogger = require("../../Commons/Logging/StaticLogger");
|
|
13
13
|
var _Version = require("../../BuildTasks/Version");
|
|
14
|
+
var _WellKnownDirectories = require("../../../../Common/WellKnownDirectories");
|
|
14
15
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
16
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
17
|
async function runUpgradeForm(context, options, resourcesDirectory, farmDirectory) {
|
|
17
|
-
const formGlobs = await _FormGlobsUtils.FormGlobs.
|
|
18
|
-
for (const
|
|
18
|
+
const formGlobs = await _FormGlobsUtils.FormGlobs.ensureEachGlobResolvesIntoExistingForm(await _FormGlobsUtils.FormGlobs.resolveSpecifiers(options.formGlobs, farmDirectory), farmDirectory);
|
|
19
|
+
for (const {
|
|
20
|
+
gfv,
|
|
21
|
+
formPath
|
|
22
|
+
} of await _FormGlobsUtils.FormGlobs.resolveGfvGlobs(formGlobs, farmDirectory)) {
|
|
19
23
|
const logger = context.logger.withPrefix(`FORM:${gfv}`);
|
|
20
24
|
if (options.useCiBuild) {
|
|
21
25
|
logger.log("Begin upgrading build mode");
|
|
22
|
-
await upgradeFormToCiBuildMode(resourcesDirectory, farmDirectory, gfv, logger);
|
|
26
|
+
await upgradeFormToCiBuildMode(resourcesDirectory, farmDirectory, gfv, formPath, logger);
|
|
23
27
|
logger.log("Finish upgrading build mode");
|
|
24
28
|
}
|
|
25
29
|
if (options.engine != undefined) {
|
|
26
30
|
logger.log("Begin upgrading engine version");
|
|
27
|
-
await upgradeFormEngine(farmDirectory, gfv, options.engine, options.skipPreVersions, logger);
|
|
31
|
+
await upgradeFormEngine(farmDirectory, gfv, formPath, options.engine, options.skipPreVersions, logger);
|
|
28
32
|
logger.log("Finish upgrading engine version");
|
|
29
33
|
}
|
|
30
34
|
if (options.preid != undefined) {
|
|
31
35
|
logger.log("Begin upgrading engine version");
|
|
32
|
-
await upgradeFormPrerelease(farmDirectory, gfv, options.preid, logger);
|
|
36
|
+
await upgradeFormPrerelease(farmDirectory, gfv, formPath, options.preid, logger);
|
|
33
37
|
logger.log("Finish upgrading engine version");
|
|
34
38
|
}
|
|
35
39
|
}
|
|
36
40
|
}
|
|
37
|
-
async function upgradeFormEngine(farmDirectory, gfv, engineVersion, skipPreVersions, logger) {
|
|
38
|
-
const
|
|
39
|
-
const formJsonPath = path.join(formDirPath, "form.json");
|
|
41
|
+
async function upgradeFormEngine(farmDirectory, gfv, formPath, engineVersion, skipPreVersions, logger) {
|
|
42
|
+
const formJsonPath = path.join(formPath, _WellKnownDirectories.WellKnownDirectories.FormJsonFileName);
|
|
40
43
|
if (!(await (0, _fsExtra.pathExists)(formJsonPath))) {
|
|
41
44
|
logger.warning("Form does not have form.json: Upgrade skipped");
|
|
42
45
|
return;
|
|
@@ -86,14 +89,13 @@ async function upgradeFormEngine(farmDirectory, gfv, engineVersion, skipPreVersi
|
|
|
86
89
|
}
|
|
87
90
|
}
|
|
88
91
|
}
|
|
89
|
-
async function upgradeFormToCiBuildMode(resourcesDirectory, farmDirectory, gfv, logger) {
|
|
90
|
-
const
|
|
91
|
-
const formJsonPath = path.join(formDirPath, "form.json");
|
|
92
|
+
async function upgradeFormToCiBuildMode(resourcesDirectory, farmDirectory, gfv, formPath, logger) {
|
|
93
|
+
const formJsonPath = path.join(formPath, _WellKnownDirectories.WellKnownDirectories.FormJsonFileName);
|
|
92
94
|
if (!(await (0, _fsExtra.pathExists)(formJsonPath))) {
|
|
93
95
|
logger.warning("form.json does not exists. Upgrade skipped.");
|
|
94
96
|
return;
|
|
95
97
|
}
|
|
96
|
-
const generatedFormDirectory = path.join(
|
|
98
|
+
const generatedFormDirectory = path.join(formPath, "form");
|
|
97
99
|
if (!(0, _ResolveFormInfo.isNewFormJsonFormat)(formJsonPath)) {
|
|
98
100
|
throw new Error("Файл form.json формы должен иметь новый формат зависимости. Обратитесь к расзработчикам за разъяснениями.");
|
|
99
101
|
}
|
|
@@ -109,7 +111,7 @@ async function upgradeFormToCiBuildMode(resourcesDirectory, farmDirectory, gfv,
|
|
|
109
111
|
await (0, _fsExtra.remove)(generatedFormDirectory);
|
|
110
112
|
logger.log("Removed form directory");
|
|
111
113
|
}
|
|
112
|
-
const formGitIgnorePath = path.join(
|
|
114
|
+
const formGitIgnorePath = path.join(formPath, ".gitignore");
|
|
113
115
|
if (await (0, _fsExtra.pathExists)(formGitIgnorePath)) {
|
|
114
116
|
const gitIgnoreContent = await (0, _fsExtra.readFile)(formGitIgnorePath, "utf8");
|
|
115
117
|
if (!gitIgnoreContent.split("\n").includes("form")) {
|
|
@@ -121,9 +123,8 @@ async function upgradeFormToCiBuildMode(resourcesDirectory, farmDirectory, gfv,
|
|
|
121
123
|
logger.log("Created .gitignore");
|
|
122
124
|
}
|
|
123
125
|
}
|
|
124
|
-
async function upgradeFormPrerelease(farmDirectory, gfv, preid, logger) {
|
|
125
|
-
const
|
|
126
|
-
const formJsonPath = path.join(formDirPath, "form.json");
|
|
126
|
+
async function upgradeFormPrerelease(farmDirectory, gfv, formPath, preid, logger) {
|
|
127
|
+
const formJsonPath = path.join(formPath, _WellKnownDirectories.WellKnownDirectories.FormJsonFileName);
|
|
127
128
|
const formConfig = await (0, _ResolveFormInfo.readFormConfig)(formJsonPath, logger);
|
|
128
129
|
const prereleaseVersionFormJson = await (0, _PublishedVersionUtils.getPrereleaseVersionFormJson)(preid);
|
|
129
130
|
if (prereleaseVersionFormJson != undefined) {
|
|
@@ -139,4 +140,4 @@ async function upgradeFormPrerelease(farmDirectory, gfv, preid, logger) {
|
|
|
139
140
|
throw new Error(`Версии ${preid} не существует.`);
|
|
140
141
|
}
|
|
141
142
|
}
|
|
142
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2ZzRXh0cmEiLCJfUHVibGlzaGVkVmVyc2lvblV0aWxzIiwiX1Jlc29sdmVGb3JtSW5mbyIsIl9Gb3JtR2xvYnNVdGlscyIsIl9TdGF0aWNMb2dnZXIiLCJfVmVyc2lvbiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJydW5VcGdyYWRlRm9ybSIsImNvbnRleHQiLCJvcHRpb25zIiwicmVzb3VyY2VzRGlyZWN0b3J5IiwiZmFybURpcmVjdG9yeSIsImZvcm1HbG9icyIsIkZvcm1HbG9icyIsInZhbGlkYXRlR2xvYnMiLCJyZXNvbHZlU3BlY2lmaWVycyIsImdmdiIsInJlc29sdmVHbG9ic1RvR2Z2cyIsImxvZ2dlciIsIndpdGhQcmVmaXgiLCJ1c2VDaUJ1aWxkIiwibG9nIiwidXBncmFkZUZvcm1Ub0NpQnVpbGRNb2RlIiwiZW5naW5lIiwidW5kZWZpbmVkIiwidXBncmFkZUZvcm1FbmdpbmUiLCJza2lwUHJlVmVyc2lvbnMiLCJwcmVpZCIsInVwZ3JhZGVGb3JtUHJlcmVsZWFzZSIsImVuZ2luZVZlcnNpb24iLCJmb3JtRGlyUGF0aCIsImpvaW4iLCJmb3JtSnNvblBhdGgiLCJwYXRoRXhpc3RzIiwid2FybmluZyIsImZvcm1Db25maWciLCJyZWFkRm9ybUNvbmZpZyIsIl9mb3JtQ29uZmlnJGRlcGVuZGVuYyIsIl9mb3JtQ29uZmlnJGRlcGVuZGVuYzIiLCJkZXBlbmRlbmNpZXMiLCJnZW5lcmF0b3IiLCJfZm9ybUNvbmZpZyRkZXBlbmRlbmMzIiwiX2Zvcm1Db25maWckZGVwZW5kZW5jNCIsImVuZ2luZVZlcnNpb25TcGVjIiwicGFyc2VDYW5keVZlcnNpb25TcGVjIiwiZ2VuZXJhdG9yVmVyc2lvblNwZWMiLCJ0eXBlIiwidGVzdCIsInZlcnNpb24iLCJtb2RlIiwiZ2V0TGFzdFN0YWJsZUVuZ2luZVZlcnNpb24iLCJnZXRMYXN0U3RhYmxlR2VuZXJhdG9yVmVyc2lvbiIsIndyaXRlSnNvbiIsInNwYWNlcyIsImlzRW5naW5lVmVyc2lvbkV4aXN0cyIsIkVycm9yIiwiZ2VuZXJhdGVkRm9ybURpcmVjdG9yeSIsImlzTmV3Rm9ybUpzb25Gb3JtYXQiLCJnZXRMb2dnZXIiLCJidWlsZCIsInJlbW92ZSIsImZvcm1HaXRJZ25vcmVQYXRoIiwiZ2l0SWdub3JlQ29udGVudCIsInJlYWRGaWxlIiwic3BsaXQiLCJpbmNsdWRlcyIsIndyaXRlRmlsZSIsInRyaW1SaWdodCIsInByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24iLCJnZXRQcmVyZWxlYXNlVmVyc2lvbkZvcm1Kc29uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL1VwZ3JhZGVGb3JtL1J1blVwZ3JhZGVGb3JtLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgcGF0aEV4aXN0cywgcmVhZEZpbGUsIHJlbW92ZSwgd3JpdGVGaWxlLCB3cml0ZUpzb24gfSBmcm9tIFwiZnMtZXh0cmFcIjtcblxuaW1wb3J0IHtcbiAgICBnZXRMYXN0U3RhYmxlRW5naW5lVmVyc2lvbixcbiAgICBnZXRMYXN0U3RhYmxlR2VuZXJhdG9yVmVyc2lvbixcbiAgICBnZXRQcmVyZWxlYXNlVmVyc2lvbkZvcm1Kc29uLFxuICAgIGlzRW5naW5lVmVyc2lvbkV4aXN0cyxcbn0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvUHVibGlzaGVkVmVyc2lvblV0aWxzXCI7XG5pbXBvcnQgeyBpc05ld0Zvcm1Kc29uRm9ybWF0LCByZWFkRm9ybUNvbmZpZyB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1Jlc29sdmVGb3JtSW5mb1wiO1xuaW1wb3J0IHsgQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gXCIuLi8uLi9Db21tb25zL0NvbnNvbGVBcHBsaWNhdGlvbi9Db25zb2xlQXBwbGljYXRpb25Db250ZXh0XCI7XG5pbXBvcnQgeyBGb3JtR2xvYnMgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9Gb3JtR2xvYnNVdGlsc1wiO1xuaW1wb3J0IHsgSUxvZ2dlciB9IGZyb20gXCIuLi8uLi9Db21tb25zL0xvZ2dpbmcvSUxvZ2dlclwiO1xuaW1wb3J0IHsgZ2V0TG9nZ2VyIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvTG9nZ2luZy9TdGF0aWNMb2dnZXJcIjtcbmltcG9ydCB7IHBhcnNlQ2FuZHlWZXJzaW9uU3BlYyB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1ZlcnNpb25cIjtcblxuaW1wb3J0IHsgVXBncmFkZUZvcm1PcHRpb25zIH0gZnJvbSBcIi4vVXBncmFkZUZvcm1PcHRpb25zXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5VcGdyYWRlRm9ybShcbiAgICBjb250ZXh0OiBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0LFxuICAgIG9wdGlvbnM6IFVwZ3JhZGVGb3JtT3B0aW9ucyxcbiAgICByZXNvdXJjZXNEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZvcm1HbG9icyA9IGF3YWl0IEZvcm1HbG9icy52YWxpZGF0ZUdsb2JzKFxuICAgICAgICBhd2FpdCBGb3JtR2xvYnMucmVzb2x2ZVNwZWNpZmllcnMob3B0aW9ucy5mb3JtR2xvYnMsIGZhcm1EaXJlY3RvcnkpLFxuICAgICAgICBmYXJtRGlyZWN0b3J5XG4gICAgKTtcbiAgICBmb3IgKGNvbnN0IGdmdiBvZiBhd2FpdCBGb3JtR2xvYnMucmVzb2x2ZUdsb2JzVG9HZnZzKGZvcm1HbG9icywgZmFybURpcmVjdG9yeSkpIHtcbiAgICAgICAgY29uc3QgbG9nZ2VyID0gY29udGV4dC5sb2dnZXIud2l0aFByZWZpeChgRk9STToke2dmdn1gKTtcbiAgICAgICAgaWYgKG9wdGlvbnMudXNlQ2lCdWlsZCkge1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIkJlZ2luIHVwZ3JhZGluZyBidWlsZCBtb2RlXCIpO1xuICAgICAgICAgICAgYXdhaXQgdXBncmFkZUZvcm1Ub0NpQnVpbGRNb2RlKHJlc291cmNlc0RpcmVjdG9yeSwgZmFybURpcmVjdG9yeSwgZ2Z2LCBsb2dnZXIpO1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIkZpbmlzaCB1cGdyYWRpbmcgYnVpbGQgbW9kZVwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5lbmdpbmUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBsb2dnZXIubG9nKFwiQmVnaW4gdXBncmFkaW5nIGVuZ2luZSB2ZXJzaW9uXCIpO1xuICAgICAgICAgICAgYXdhaXQgdXBncmFkZUZvcm1FbmdpbmUoZmFybURpcmVjdG9yeSwgZ2Z2LCBvcHRpb25zLmVuZ2luZSwgb3B0aW9ucy5za2lwUHJlVmVyc2lvbnMsIGxvZ2dlcik7XG4gICAgICAgICAgICBsb2dnZXIubG9nKFwiRmluaXNoIHVwZ3JhZGluZyBlbmdpbmUgdmVyc2lvblwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5wcmVpZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvZ2dlci5sb2coXCJCZWdpbiB1cGdyYWRpbmcgZW5naW5lIHZlcnNpb25cIik7XG4gICAgICAgICAgICBhd2FpdCB1cGdyYWRlRm9ybVByZXJlbGVhc2UoZmFybURpcmVjdG9yeSwgZ2Z2LCBvcHRpb25zLnByZWlkLCBsb2dnZXIpO1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIkZpbmlzaCB1cGdyYWRpbmcgZW5naW5lIHZlcnNpb25cIik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHVwZ3JhZGVGb3JtRW5naW5lKFxuICAgIGZhcm1EaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBnZnY6IHN0cmluZyxcbiAgICBlbmdpbmVWZXJzaW9uOiBzdHJpbmcsXG4gICAgc2tpcFByZVZlcnNpb25zOiBib29sZWFuLFxuICAgIGxvZ2dlcjogSUxvZ2dlclxuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZm9ybURpclBhdGggPSBwYXRoLmpvaW4oZmFybURpcmVjdG9yeSwgXCJmb3Jtc1wiLCBnZnYpO1xuICAgIGNvbnN0IGZvcm1Kc29uUGF0aCA9IHBhdGguam9pbihmb3JtRGlyUGF0aCwgXCJmb3JtLmpzb25cIik7XG4gICAgaWYgKCEoYXdhaXQgcGF0aEV4aXN0cyhmb3JtSnNvblBhdGgpKSkge1xuICAgICAgICBsb2dnZXIud2FybmluZyhcIkZvcm0gZG9lcyBub3QgaGF2ZSBmb3JtLmpzb246IFVwZ3JhZGUgc2tpcHBlZFwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmb3JtQ29uZmlnID0gYXdhaXQgcmVhZEZvcm1Db25maWcoZm9ybUpzb25QYXRoLCBsb2dnZXIpO1xuICAgIGlmIChza2lwUHJlVmVyc2lvbnMpIHtcbiAgICAgICAgaWYgKGZvcm1Db25maWcuZGVwZW5kZW5jaWVzPy5lbmdpbmUgIT0gdW5kZWZpbmVkICYmIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzPy5nZW5lcmF0b3IgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zdCBlbmdpbmVWZXJzaW9uU3BlYyA9IHBhcnNlQ2FuZHlWZXJzaW9uU3BlYyhmb3JtQ29uZmlnLmRlcGVuZGVuY2llcz8uZW5naW5lKTtcbiAgICAgICAgICAgIGNvbnN0IGdlbmVyYXRvclZlcnNpb25TcGVjID0gcGFyc2VDYW5keVZlcnNpb25TcGVjKGZvcm1Db25maWcuZGVwZW5kZW5jaWVzPy5nZW5lcmF0b3IpO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGVuZ2luZVZlcnNpb25TcGVjLnR5cGUgPT09IFwicHJlXCIgfHxcbiAgICAgICAgICAgICAgICBnZW5lcmF0b3JWZXJzaW9uU3BlYy50eXBlID09PSBcInByZVwiIHx8XG4gICAgICAgICAgICAgICAgKGVuZ2luZVZlcnNpb25TcGVjLnR5cGUgPT09IFwidmVyc2lvblwiICYmIC9bYS16QS1aXS8udGVzdChlbmdpbmVWZXJzaW9uU3BlYy52ZXJzaW9uKSkgfHxcbiAgICAgICAgICAgICAgICAoZ2VuZXJhdG9yVmVyc2lvblNwZWMudHlwZSA9PT0gXCJ2ZXJzaW9uXCIgJiYgL1thLXpBLVpdLy50ZXN0KGdlbmVyYXRvclZlcnNpb25TcGVjLnZlcnNpb24pKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgbG9nZ2VyLmxvZyhcbiAgICAgICAgICAgICAgICAgICAgXCJGb3JtIHZlcnNpb24gaGFzIHByZXJlbGVhc2UgdmVyc2lvbjogVXBncmFkZSBza2lwcGVkIGR1ZSB0byBmbGFnIHNraXBQcmVWZXJzaW9ucyAoLS1za2lwLXByZS12ZXJzaW9ucykgc3BlY2lmaWVkXCJcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoZm9ybUNvbmZpZy5tb2RlID09PSBcIm5vLWVkaXRvclwiKSB7XG4gICAgICAgIGxvZ2dlci5sb2coXCJGb3JtIGRvZXMgbm90IGhhdmUgZWRpdG9yOiBVcGdyYWRlIHNraXBwZWRcIik7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGZvcm1Db25maWcubW9kZSA9PT0gXCJjb3B5LWxlZ2FjeS1wcmVidWlsdC1yZXNvdXJjZXNcIikge1xuICAgICAgICBsb2dnZXIubG9nKFwiRm9ybSBkb2VzIG5vdCBoYXZlIGVkaXRvcjogVXBncmFkZSBza2lwcGVkXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChlbmdpbmVWZXJzaW9uID09PSBcImxhdGVzdFwiKSB7XG4gICAgICAgIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzID0ge1xuICAgICAgICAgICAgZW5naW5lOiBhd2FpdCBnZXRMYXN0U3RhYmxlRW5naW5lVmVyc2lvbigpLFxuICAgICAgICAgICAgZ2VuZXJhdG9yOiBhd2FpdCBnZXRMYXN0U3RhYmxlR2VuZXJhdG9yVmVyc2lvbigpLFxuICAgICAgICB9O1xuICAgICAgICBsb2dnZXIubG9nKGBVcGRhdGVkIHRvIGxhc3Qgc3RhYmxlIHZlcnNpb24gJHtmb3JtQ29uZmlnLmRlcGVuZGVuY2llcy5lbmdpbmV9YCk7XG4gICAgICAgIGF3YWl0IHdyaXRlSnNvbihmb3JtSnNvblBhdGgsIGZvcm1Db25maWcsIHsgc3BhY2VzOiAyIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChhd2FpdCBpc0VuZ2luZVZlcnNpb25FeGlzdHMoZW5naW5lVmVyc2lvbikpIHtcbiAgICAgICAgICAgIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzID0geyBlbmdpbmU6IGVuZ2luZVZlcnNpb24sIGdlbmVyYXRvcjogZW5naW5lVmVyc2lvbiB9O1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhgVXBkYXRlZCB0byB2ZXJzaW9uICR7Zm9ybUNvbmZpZy5kZXBlbmRlbmNpZXMuZW5naW5lfWApO1xuICAgICAgICAgICAgYXdhaXQgd3JpdGVKc29uKGZvcm1Kc29uUGF0aCwgZm9ybUNvbmZpZywgeyBzcGFjZXM6IDIgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYNCS0LXRgNGB0LjQuCAke2VuZ2luZVZlcnNpb259INC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuYCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHVwZ3JhZGVGb3JtVG9DaUJ1aWxkTW9kZShcbiAgICByZXNvdXJjZXNEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgZ2Z2OiBzdHJpbmcsXG4gICAgbG9nZ2VyOiBJTG9nZ2VyXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmb3JtRGlyUGF0aCA9IHBhdGguam9pbihmYXJtRGlyZWN0b3J5LCBcImZvcm1zXCIsIGdmdik7XG4gICAgY29uc3QgZm9ybUpzb25QYXRoID0gcGF0aC5qb2luKGZvcm1EaXJQYXRoLCBcImZvcm0uanNvblwiKTtcbiAgICBpZiAoIShhd2FpdCBwYXRoRXhpc3RzKGZvcm1Kc29uUGF0aCkpKSB7XG4gICAgICAgIGxvZ2dlci53YXJuaW5nKFwiZm9ybS5qc29uIGRvZXMgbm90IGV4aXN0cy4gVXBncmFkZSBza2lwcGVkLlwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBnZW5lcmF0ZWRGb3JtRGlyZWN0b3J5ID0gcGF0aC5qb2luKGZvcm1EaXJQYXRoLCBcImZvcm1cIik7XG4gICAgaWYgKCFpc05ld0Zvcm1Kc29uRm9ybWF0KGZvcm1Kc29uUGF0aCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgXCLQpNCw0LnQuyBmb3JtLmpzb24g0YTQvtGA0LzRiyDQtNC+0LvQttC10L0g0LjQvNC10YLRjCDQvdC+0LLRi9C5INGE0L7RgNC80LDRgiDQt9Cw0LLQuNGB0LjQvNC+0YHRgtC4LiDQntCx0YDQsNGC0LjRgtC10YHRjCDQuiDRgNCw0YHQt9GA0LDQsdC+0YLRh9C40LrQsNC8INC30LAg0YDQsNC30YrRj9GB0L3QtdC90LjRj9C80LguXCJcbiAgICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgZm9ybUNvbmZpZyA9IGF3YWl0IHJlYWRGb3JtQ29uZmlnKGZvcm1Kc29uUGF0aCwgZ2V0TG9nZ2VyKCkpO1xuICAgIGlmIChmb3JtQ29uZmlnLmJ1aWxkICE9PSBcImNpXCIpIHtcbiAgICAgICAgZm9ybUNvbmZpZy5idWlsZCA9IFwiY2lcIjtcbiAgICAgICAgYXdhaXQgd3JpdGVKc29uKGZvcm1Kc29uUGF0aCwgZm9ybUNvbmZpZywgeyBzcGFjZXM6IDIgfSk7XG4gICAgICAgIGxvZ2dlci5sb2coXCJVcGRhdGVkIGZvcm0uanNvblwiKTtcbiAgICB9XG4gICAgaWYgKGF3YWl0IHBhdGhFeGlzdHMoZ2VuZXJhdGVkRm9ybURpcmVjdG9yeSkpIHtcbiAgICAgICAgYXdhaXQgcmVtb3ZlKGdlbmVyYXRlZEZvcm1EaXJlY3RvcnkpO1xuICAgICAgICBsb2dnZXIubG9nKFwiUmVtb3ZlZCBmb3JtIGRpcmVjdG9yeVwiKTtcbiAgICB9XG4gICAgY29uc3QgZm9ybUdpdElnbm9yZVBhdGggPSBwYXRoLmpvaW4oZm9ybURpclBhdGgsIFwiLmdpdGlnbm9yZVwiKTtcbiAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhmb3JtR2l0SWdub3JlUGF0aCkpIHtcbiAgICAgICAgY29uc3QgZ2l0SWdub3JlQ29udGVudCA9IGF3YWl0IHJlYWRGaWxlKGZvcm1HaXRJZ25vcmVQYXRoLCBcInV0ZjhcIik7XG4gICAgICAgIGlmICghZ2l0SWdub3JlQ29udGVudC5zcGxpdChcIlxcblwiKS5pbmNsdWRlcyhcImZvcm1cIikpIHtcbiAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShmb3JtR2l0SWdub3JlUGF0aCwgZ2l0SWdub3JlQ29udGVudC50cmltUmlnaHQoKSArIFwiXFxuXCIgKyBcImZvcm1cXG5cIik7XG4gICAgICAgICAgICBsb2dnZXIubG9nKFwiVXBkYXRlZCAuZ2l0aWdub3JlXCIpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgYXdhaXQgd3JpdGVGaWxlKGZvcm1HaXRJZ25vcmVQYXRoLCBcImZvcm1cXG5cIik7XG4gICAgICAgIGxvZ2dlci5sb2coXCJDcmVhdGVkIC5naXRpZ25vcmVcIik7XG4gICAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiB1cGdyYWRlRm9ybVByZXJlbGVhc2UoXG4gICAgZmFybURpcmVjdG9yeTogc3RyaW5nLFxuICAgIGdmdjogc3RyaW5nLFxuICAgIHByZWlkOiBzdHJpbmcsXG4gICAgbG9nZ2VyOiBJTG9nZ2VyXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmb3JtRGlyUGF0aCA9IHBhdGguam9pbihmYXJtRGlyZWN0b3J5LCBcImZvcm1zXCIsIGdmdik7XG4gICAgY29uc3QgZm9ybUpzb25QYXRoID0gcGF0aC5qb2luKGZvcm1EaXJQYXRoLCBcImZvcm0uanNvblwiKTtcbiAgICBjb25zdCBmb3JtQ29uZmlnID0gYXdhaXQgcmVhZEZvcm1Db25maWcoZm9ybUpzb25QYXRoLCBsb2dnZXIpO1xuICAgIGNvbnN0IHByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24gPSBhd2FpdCBnZXRQcmVyZWxlYXNlVmVyc2lvbkZvcm1Kc29uKHByZWlkKTtcblxuICAgIGlmIChwcmVyZWxlYXNlVmVyc2lvbkZvcm1Kc29uICE9IHVuZGVmaW5lZCkge1xuICAgICAgICBmb3JtQ29uZmlnLmRlcGVuZGVuY2llcyA9IHsgZW5naW5lOiBwcmVyZWxlYXNlVmVyc2lvbkZvcm1Kc29uLCBnZW5lcmF0b3I6IHByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24gfTtcbiAgICAgICAgbG9nZ2VyLmxvZyhgVXBkYXRlZCB0byBwcmVyZWxlYXNlIHZlcnNpb24gJHtmb3JtQ29uZmlnLmRlcGVuZGVuY2llcy5lbmdpbmV9YCk7XG4gICAgICAgIGF3YWl0IHdyaXRlSnNvbihmb3JtSnNvblBhdGgsIGZvcm1Db25maWcsIHsgc3BhY2VzOiAyIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihg0JLQtdGA0YHQuNC4ICR7cHJlaWR9INC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuYCk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxJQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxzQkFBQSxHQUFBRixPQUFBO0FBTUEsSUFBQUcsZ0JBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLGVBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLGFBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUFpRSxTQUFBTyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBVCx3QkFBQWEsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQUcsS0FBQSxHQUFBUix3QkFBQSxDQUFBQyxXQUFBLE9BQUFPLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFKLEdBQUEsWUFBQUcsS0FBQSxDQUFBRSxHQUFBLENBQUFMLEdBQUEsU0FBQU0sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFYLEdBQUEsUUFBQVcsR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZCxHQUFBLEVBQUFXLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFWLEdBQUEsRUFBQVcsR0FBQSxjQUFBSSxJQUFBLEtBQUFBLElBQUEsQ0FBQVYsR0FBQSxJQUFBVSxJQUFBLENBQUFDLEdBQUEsS0FBQVIsTUFBQSxDQUFBQyxjQUFBLENBQUFILE1BQUEsRUFBQUssR0FBQSxFQUFBSSxJQUFBLFlBQUFULE1BQUEsQ0FBQUssR0FBQSxJQUFBWCxHQUFBLENBQUFXLEdBQUEsU0FBQUwsTUFBQSxDQUFBSixPQUFBLEdBQUFGLEdBQUEsTUFBQUcsS0FBQSxJQUFBQSxLQUFBLENBQUFhLEdBQUEsQ0FBQWhCLEdBQUEsRUFBQU0sTUFBQSxZQUFBQSxNQUFBO0FBSTFELGVBQWVXLGNBQWNBLENBQ2hDQyxPQUFrQyxFQUNsQ0MsT0FBMkIsRUFDM0JDLGtCQUEwQixFQUMxQkMsYUFBcUIsRUFDUjtFQUNiLE1BQU1DLFNBQVMsR0FBRyxNQUFNQyx5QkFBUyxDQUFDQyxhQUFhLENBQzNDLE1BQU1ELHlCQUFTLENBQUNFLGlCQUFpQixDQUFDTixPQUFPLENBQUNHLFNBQVMsRUFBRUQsYUFBYSxDQUFDLEVBQ25FQSxhQUNKLENBQUM7RUFDRCxLQUFLLE1BQU1LLEdBQUcsSUFBSSxNQUFNSCx5QkFBUyxDQUFDSSxrQkFBa0IsQ0FBQ0wsU0FBUyxFQUFFRCxhQUFhLENBQUMsRUFBRTtJQUM1RSxNQUFNTyxNQUFNLEdBQUdWLE9BQU8sQ0FBQ1UsTUFBTSxDQUFDQyxVQUFVLENBQUUsUUFBT0gsR0FBSSxFQUFDLENBQUM7SUFDdkQsSUFBSVAsT0FBTyxDQUFDVyxVQUFVLEVBQUU7TUFDcEJGLE1BQU0sQ0FBQ0csR0FBRyxDQUFDLDRCQUE0QixDQUFDO01BQ3hDLE1BQU1DLHdCQUF3QixDQUFDWixrQkFBa0IsRUFBRUMsYUFBYSxFQUFFSyxHQUFHLEVBQUVFLE1BQU0sQ0FBQztNQUM5RUEsTUFBTSxDQUFDRyxHQUFHLENBQUMsNkJBQTZCLENBQUM7SUFDN0M7SUFDQSxJQUFJWixPQUFPLENBQUNjLE1BQU0sSUFBSUMsU0FBUyxFQUFFO01BQzdCTixNQUFNLENBQUNHLEdBQUcsQ0FBQyxnQ0FBZ0MsQ0FBQztNQUM1QyxNQUFNSSxpQkFBaUIsQ0FBQ2QsYUFBYSxFQUFFSyxHQUFHLEVBQUVQLE9BQU8sQ0FBQ2MsTUFBTSxFQUFFZCxPQUFPLENBQUNpQixlQUFlLEVBQUVSLE1BQU0sQ0FBQztNQUM1RkEsTUFBTSxDQUFDRyxHQUFHLENBQUMsaUNBQWlDLENBQUM7SUFDakQ7SUFDQSxJQUFJWixPQUFPLENBQUNrQixLQUFLLElBQUlILFNBQVMsRUFBRTtNQUM1Qk4sTUFBTSxDQUFDRyxHQUFHLENBQUMsZ0NBQWdDLENBQUM7TUFDNUMsTUFBTU8scUJBQXFCLENBQUNqQixhQUFhLEVBQUVLLEdBQUcsRUFBRVAsT0FBTyxDQUFDa0IsS0FBSyxFQUFFVCxNQUFNLENBQUM7TUFDdEVBLE1BQU0sQ0FBQ0csR0FBRyxDQUFDLGlDQUFpQyxDQUFDO0lBQ2pEO0VBQ0o7QUFDSjtBQUVBLGVBQWVJLGlCQUFpQkEsQ0FDNUJkLGFBQXFCLEVBQ3JCSyxHQUFXLEVBQ1hhLGFBQXFCLEVBQ3JCSCxlQUF3QixFQUN4QlIsTUFBZSxFQUNGO0VBQ2IsTUFBTVksV0FBVyxHQUFHdEQsSUFBSSxDQUFDdUQsSUFBSSxDQUFDcEIsYUFBYSxFQUFFLE9BQU8sRUFBRUssR0FBRyxDQUFDO0VBQzFELE1BQU1nQixZQUFZLEdBQUd4RCxJQUFJLENBQUN1RCxJQUFJLENBQUNELFdBQVcsRUFBRSxXQUFXLENBQUM7RUFDeEQsSUFBSSxFQUFFLE1BQU0sSUFBQUcsbUJBQVUsRUFBQ0QsWUFBWSxDQUFDLENBQUMsRUFBRTtJQUNuQ2QsTUFBTSxDQUFDZ0IsT0FBTyxDQUFDLCtDQUErQyxDQUFDO0lBQy9EO0VBQ0o7RUFDQSxNQUFNQyxVQUFVLEdBQUcsTUFBTSxJQUFBQywrQkFBYyxFQUFDSixZQUFZLEVBQUVkLE1BQU0sQ0FBQztFQUM3RCxJQUFJUSxlQUFlLEVBQUU7SUFBQSxJQUFBVyxxQkFBQSxFQUFBQyxzQkFBQTtJQUNqQixJQUFJLEVBQUFELHFCQUFBLEdBQUFGLFVBQVUsQ0FBQ0ksWUFBWSxjQUFBRixxQkFBQSx1QkFBdkJBLHFCQUFBLENBQXlCZCxNQUFNLEtBQUlDLFNBQVMsSUFBSSxFQUFBYyxzQkFBQSxHQUFBSCxVQUFVLENBQUNJLFlBQVksY0FBQUQsc0JBQUEsdUJBQXZCQSxzQkFBQSxDQUF5QkUsU0FBUyxLQUFJaEIsU0FBUyxFQUFFO01BQUEsSUFBQWlCLHNCQUFBLEVBQUFDLHNCQUFBO01BQ2pHLE1BQU1DLGlCQUFpQixHQUFHLElBQUFDLDhCQUFxQixHQUFBSCxzQkFBQSxHQUFDTixVQUFVLENBQUNJLFlBQVksY0FBQUUsc0JBQUEsdUJBQXZCQSxzQkFBQSxDQUF5QmxCLE1BQU0sQ0FBQztNQUNoRixNQUFNc0Isb0JBQW9CLEdBQUcsSUFBQUQsOEJBQXFCLEdBQUFGLHNCQUFBLEdBQUNQLFVBQVUsQ0FBQ0ksWUFBWSxjQUFBRyxzQkFBQSx1QkFBdkJBLHNCQUFBLENBQXlCRixTQUFTLENBQUM7TUFDdEYsSUFDSUcsaUJBQWlCLENBQUNHLElBQUksS0FBSyxLQUFLLElBQ2hDRCxvQkFBb0IsQ0FBQ0MsSUFBSSxLQUFLLEtBQUssSUFDbENILGlCQUFpQixDQUFDRyxJQUFJLEtBQUssU0FBUyxJQUFJLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDSixpQkFBaUIsQ0FBQ0ssT0FBTyxDQUFFLElBQ25GSCxvQkFBb0IsQ0FBQ0MsSUFBSSxLQUFLLFNBQVMsSUFBSSxVQUFVLENBQUNDLElBQUksQ0FBQ0Ysb0JBQW9CLENBQUNHLE9BQU8sQ0FBRSxFQUM1RjtRQUNFOUIsTUFBTSxDQUFDRyxHQUFHLENBQ04sa0hBQ0osQ0FBQztRQUNEO01BQ0o7SUFDSjtFQUNKO0VBQ0EsSUFBSWMsVUFBVSxDQUFDYyxJQUFJLEtBQUssV0FBVyxFQUFFO0lBQ2pDL0IsTUFBTSxDQUFDRyxHQUFHLENBQUMsNENBQTRDLENBQUM7SUFDeEQ7RUFDSjtFQUNBLElBQUljLFVBQVUsQ0FBQ2MsSUFBSSxLQUFLLGdDQUFnQyxFQUFFO0lBQ3REL0IsTUFBTSxDQUFDRyxHQUFHLENBQUMsNENBQTRDLENBQUM7SUFDeEQ7RUFDSjtFQUNBLElBQUlRLGFBQWEsS0FBSyxRQUFRLEVBQUU7SUFDNUJNLFVBQVUsQ0FBQ0ksWUFBWSxHQUFHO01BQ3RCaEIsTUFBTSxFQUFFLE1BQU0sSUFBQTJCLGlEQUEwQixFQUFDLENBQUM7TUFDMUNWLFNBQVMsRUFBRSxNQUFNLElBQUFXLG9EQUE2QixFQUFDO0lBQ25ELENBQUM7SUFDRGpDLE1BQU0sQ0FBQ0csR0FBRyxDQUFFLGtDQUFpQ2MsVUFBVSxDQUFDSSxZQUFZLENBQUNoQixNQUFPLEVBQUMsQ0FBQztJQUM5RSxNQUFNLElBQUE2QixrQkFBUyxFQUFDcEIsWUFBWSxFQUFFRyxVQUFVLEVBQUU7TUFBRWtCLE1BQU0sRUFBRTtJQUFFLENBQUMsQ0FBQztFQUM1RCxDQUFDLE1BQU07SUFDSCxJQUFJLE1BQU0sSUFBQUMsNENBQXFCLEVBQUN6QixhQUFhLENBQUMsRUFBRTtNQUM1Q00sVUFBVSxDQUFDSSxZQUFZLEdBQUc7UUFBRWhCLE1BQU0sRUFBRU0sYUFBYTtRQUFFVyxTQUFTLEVBQUVYO01BQWMsQ0FBQztNQUM3RVgsTUFBTSxDQUFDRyxHQUFHLENBQUUsc0JBQXFCYyxVQUFVLENBQUNJLFlBQVksQ0FBQ2hCLE1BQU8sRUFBQyxDQUFDO01BQ2xFLE1BQU0sSUFBQTZCLGtCQUFTLEVBQUNwQixZQUFZLEVBQUVHLFVBQVUsRUFBRTtRQUFFa0IsTUFBTSxFQUFFO01BQUUsQ0FBQyxDQUFDO0lBQzVELENBQUMsTUFBTTtNQUNILE1BQU0sSUFBSUUsS0FBSyxDQUFFLFVBQVMxQixhQUFjLGlCQUFnQixDQUFDO0lBQzdEO0VBQ0o7QUFDSjtBQUVBLGVBQWVQLHdCQUF3QkEsQ0FDbkNaLGtCQUEwQixFQUMxQkMsYUFBcUIsRUFDckJLLEdBQVcsRUFDWEUsTUFBZSxFQUNGO0VBQ2IsTUFBTVksV0FBVyxHQUFHdEQsSUFBSSxDQUFDdUQsSUFBSSxDQUFDcEIsYUFBYSxFQUFFLE9BQU8sRUFBRUssR0FBRyxDQUFDO0VBQzFELE1BQU1nQixZQUFZLEdBQUd4RCxJQUFJLENBQUN1RCxJQUFJLENBQUNELFdBQVcsRUFBRSxXQUFXLENBQUM7RUFDeEQsSUFBSSxFQUFFLE1BQU0sSUFBQUcsbUJBQVUsRUFBQ0QsWUFBWSxDQUFDLENBQUMsRUFBRTtJQUNuQ2QsTUFBTSxDQUFDZ0IsT0FBTyxDQUFDLDZDQUE2QyxDQUFDO0lBQzdEO0VBQ0o7RUFDQSxNQUFNc0Isc0JBQXNCLEdBQUdoRixJQUFJLENBQUN1RCxJQUFJLENBQUNELFdBQVcsRUFBRSxNQUFNLENBQUM7RUFDN0QsSUFBSSxDQUFDLElBQUEyQixvQ0FBbUIsRUFBQ3pCLFlBQVksQ0FBQyxFQUFFO0lBQ3BDLE1BQU0sSUFBSXVCLEtBQUssQ0FDWCwyR0FDSixDQUFDO0VBQ0w7RUFDQSxNQUFNcEIsVUFBVSxHQUFHLE1BQU0sSUFBQUMsK0JBQWMsRUFBQ0osWUFBWSxFQUFFLElBQUEwQix1QkFBUyxFQUFDLENBQUMsQ0FBQztFQUNsRSxJQUFJdkIsVUFBVSxDQUFDd0IsS0FBSyxLQUFLLElBQUksRUFBRTtJQUMzQnhCLFVBQVUsQ0FBQ3dCLEtBQUssR0FBRyxJQUFJO0lBQ3ZCLE1BQU0sSUFBQVAsa0JBQVMsRUFBQ3BCLFlBQVksRUFBRUcsVUFBVSxFQUFFO01BQUVrQixNQUFNLEVBQUU7SUFBRSxDQUFDLENBQUM7SUFDeERuQyxNQUFNLENBQUNHLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztFQUNuQztFQUNBLElBQUksTUFBTSxJQUFBWSxtQkFBVSxFQUFDdUIsc0JBQXNCLENBQUMsRUFBRTtJQUMxQyxNQUFNLElBQUFJLGVBQU0sRUFBQ0osc0JBQXNCLENBQUM7SUFDcEN0QyxNQUFNLENBQUNHLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQztFQUN4QztFQUNBLE1BQU13QyxpQkFBaUIsR0FBR3JGLElBQUksQ0FBQ3VELElBQUksQ0FBQ0QsV0FBVyxFQUFFLFlBQVksQ0FBQztFQUM5RCxJQUFJLE1BQU0sSUFBQUcsbUJBQVUsRUFBQzRCLGlCQUFpQixDQUFDLEVBQUU7SUFDckMsTUFBTUMsZ0JBQWdCLEdBQUcsTUFBTSxJQUFBQyxpQkFBUSxFQUFDRixpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDbEUsSUFBSSxDQUFDQyxnQkFBZ0IsQ0FBQ0UsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7TUFDaEQsTUFBTSxJQUFBQyxrQkFBUyxFQUFDTCxpQkFBaUIsRUFBRUMsZ0JBQWdCLENBQUNLLFNBQVMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQztNQUNsRmpELE1BQU0sQ0FBQ0csR0FBRyxDQUFDLG9CQUFvQixDQUFDO0lBQ3BDO0VBQ0osQ0FBQyxNQUFNO0lBQ0gsTUFBTSxJQUFBNkMsa0JBQVMsRUFBQ0wsaUJBQWlCLEVBQUUsUUFBUSxDQUFDO0lBQzVDM0MsTUFBTSxDQUFDRyxHQUFHLENBQUMsb0JBQW9CLENBQUM7RUFDcEM7QUFDSjtBQUVBLGVBQWVPLHFCQUFxQkEsQ0FDaENqQixhQUFxQixFQUNyQkssR0FBVyxFQUNYVyxLQUFhLEVBQ2JULE1BQWUsRUFDRjtFQUNiLE1BQU1ZLFdBQVcsR0FBR3RELElBQUksQ0FBQ3VELElBQUksQ0FBQ3BCLGFBQWEsRUFBRSxPQUFPLEVBQUVLLEdBQUcsQ0FBQztFQUMxRCxNQUFNZ0IsWUFBWSxHQUFHeEQsSUFBSSxDQUFDdUQsSUFBSSxDQUFDRCxXQUFXLEVBQUUsV0FBVyxDQUFDO0VBQ3hELE1BQU1LLFVBQVUsR0FBRyxNQUFNLElBQUFDLCtCQUFjLEVBQUNKLFlBQVksRUFBRWQsTUFBTSxDQUFDO0VBQzdELE1BQU1rRCx5QkFBeUIsR0FBRyxNQUFNLElBQUFDLG1EQUE0QixFQUFDMUMsS0FBSyxDQUFDO0VBRTNFLElBQUl5Qyx5QkFBeUIsSUFBSTVDLFNBQVMsRUFBRTtJQUN4Q1csVUFBVSxDQUFDSSxZQUFZLEdBQUc7TUFBRWhCLE1BQU0sRUFBRTZDLHlCQUF5QjtNQUFFNUIsU0FBUyxFQUFFNEI7SUFBMEIsQ0FBQztJQUNyR2xELE1BQU0sQ0FBQ0csR0FBRyxDQUFFLGlDQUFnQ2MsVUFBVSxDQUFDSSxZQUFZLENBQUNoQixNQUFPLEVBQUMsQ0FBQztJQUM3RSxNQUFNLElBQUE2QixrQkFBUyxFQUFDcEIsWUFBWSxFQUFFRyxVQUFVLEVBQUU7TUFBRWtCLE1BQU0sRUFBRTtJQUFFLENBQUMsQ0FBQztFQUM1RCxDQUFDLE1BQU07SUFDSCxNQUFNLElBQUlFLEtBQUssQ0FBRSxVQUFTNUIsS0FBTSxpQkFBZ0IsQ0FBQztFQUNyRDtBQUNKIn0=
|
|
143
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2ZzRXh0cmEiLCJfUHVibGlzaGVkVmVyc2lvblV0aWxzIiwiX1Jlc29sdmVGb3JtSW5mbyIsIl9Gb3JtR2xvYnNVdGlscyIsIl9TdGF0aWNMb2dnZXIiLCJfVmVyc2lvbiIsIl9XZWxsS25vd25EaXJlY3RvcmllcyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJydW5VcGdyYWRlRm9ybSIsImNvbnRleHQiLCJvcHRpb25zIiwicmVzb3VyY2VzRGlyZWN0b3J5IiwiZmFybURpcmVjdG9yeSIsImZvcm1HbG9icyIsIkZvcm1HbG9icyIsImVuc3VyZUVhY2hHbG9iUmVzb2x2ZXNJbnRvRXhpc3RpbmdGb3JtIiwicmVzb2x2ZVNwZWNpZmllcnMiLCJnZnYiLCJmb3JtUGF0aCIsInJlc29sdmVHZnZHbG9icyIsImxvZ2dlciIsIndpdGhQcmVmaXgiLCJ1c2VDaUJ1aWxkIiwibG9nIiwidXBncmFkZUZvcm1Ub0NpQnVpbGRNb2RlIiwiZW5naW5lIiwidW5kZWZpbmVkIiwidXBncmFkZUZvcm1FbmdpbmUiLCJza2lwUHJlVmVyc2lvbnMiLCJwcmVpZCIsInVwZ3JhZGVGb3JtUHJlcmVsZWFzZSIsImVuZ2luZVZlcnNpb24iLCJmb3JtSnNvblBhdGgiLCJqb2luIiwiV2VsbEtub3duRGlyZWN0b3JpZXMiLCJGb3JtSnNvbkZpbGVOYW1lIiwicGF0aEV4aXN0cyIsIndhcm5pbmciLCJmb3JtQ29uZmlnIiwicmVhZEZvcm1Db25maWciLCJfZm9ybUNvbmZpZyRkZXBlbmRlbmMiLCJfZm9ybUNvbmZpZyRkZXBlbmRlbmMyIiwiZGVwZW5kZW5jaWVzIiwiZ2VuZXJhdG9yIiwiX2Zvcm1Db25maWckZGVwZW5kZW5jMyIsIl9mb3JtQ29uZmlnJGRlcGVuZGVuYzQiLCJlbmdpbmVWZXJzaW9uU3BlYyIsInBhcnNlQ2FuZHlWZXJzaW9uU3BlYyIsImdlbmVyYXRvclZlcnNpb25TcGVjIiwidHlwZSIsInRlc3QiLCJ2ZXJzaW9uIiwibW9kZSIsImdldExhc3RTdGFibGVFbmdpbmVWZXJzaW9uIiwiZ2V0TGFzdFN0YWJsZUdlbmVyYXRvclZlcnNpb24iLCJ3cml0ZUpzb24iLCJzcGFjZXMiLCJpc0VuZ2luZVZlcnNpb25FeGlzdHMiLCJFcnJvciIsImdlbmVyYXRlZEZvcm1EaXJlY3RvcnkiLCJpc05ld0Zvcm1Kc29uRm9ybWF0IiwiZ2V0TG9nZ2VyIiwiYnVpbGQiLCJyZW1vdmUiLCJmb3JtR2l0SWdub3JlUGF0aCIsImdpdElnbm9yZUNvbnRlbnQiLCJyZWFkRmlsZSIsInNwbGl0IiwiaW5jbHVkZXMiLCJ3cml0ZUZpbGUiLCJ0cmltUmlnaHQiLCJwcmVyZWxlYXNlVmVyc2lvbkZvcm1Kc29uIiwiZ2V0UHJlcmVsZWFzZVZlcnNpb25Gb3JtSnNvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9VcGdyYWRlRm9ybS9SdW5VcGdyYWRlRm9ybS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IHBhdGhFeGlzdHMsIHJlYWRGaWxlLCByZW1vdmUsIHdyaXRlRmlsZSwgd3JpdGVKc29uIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5cbmltcG9ydCB7XG4gICAgZ2V0TGFzdFN0YWJsZUVuZ2luZVZlcnNpb24sXG4gICAgZ2V0TGFzdFN0YWJsZUdlbmVyYXRvclZlcnNpb24sXG4gICAgZ2V0UHJlcmVsZWFzZVZlcnNpb25Gb3JtSnNvbixcbiAgICBpc0VuZ2luZVZlcnNpb25FeGlzdHMsXG59IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1B1Ymxpc2hlZFZlcnNpb25VdGlsc1wiO1xuaW1wb3J0IHsgaXNOZXdGb3JtSnNvbkZvcm1hdCwgcmVhZEZvcm1Db25maWcgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9SZXNvbHZlRm9ybUluZm9cIjtcbmltcG9ydCB7IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9Db25zb2xlQXBwbGljYXRpb24vQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dFwiO1xuaW1wb3J0IHsgRm9ybUdsb2JzIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvRm9ybUdsb2JzVXRpbHNcIjtcbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9Mb2dnaW5nL0lMb2dnZXJcIjtcbmltcG9ydCB7IGdldExvZ2dlciB9IGZyb20gXCIuLi8uLi9Db21tb25zL0xvZ2dpbmcvU3RhdGljTG9nZ2VyXCI7XG5pbXBvcnQgeyBwYXJzZUNhbmR5VmVyc2lvblNwZWMgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9WZXJzaW9uXCI7XG5pbXBvcnQgeyBXZWxsS25vd25EaXJlY3RvcmllcyB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb24vV2VsbEtub3duRGlyZWN0b3JpZXNcIjtcblxuaW1wb3J0IHsgVXBncmFkZUZvcm1PcHRpb25zIH0gZnJvbSBcIi4vVXBncmFkZUZvcm1PcHRpb25zXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5VcGdyYWRlRm9ybShcbiAgICBjb250ZXh0OiBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0LFxuICAgIG9wdGlvbnM6IFVwZ3JhZGVGb3JtT3B0aW9ucyxcbiAgICByZXNvdXJjZXNEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZvcm1HbG9icyA9IGF3YWl0IEZvcm1HbG9icy5lbnN1cmVFYWNoR2xvYlJlc29sdmVzSW50b0V4aXN0aW5nRm9ybShcbiAgICAgICAgYXdhaXQgRm9ybUdsb2JzLnJlc29sdmVTcGVjaWZpZXJzKG9wdGlvbnMuZm9ybUdsb2JzLCBmYXJtRGlyZWN0b3J5KSxcbiAgICAgICAgZmFybURpcmVjdG9yeVxuICAgICk7XG4gICAgZm9yIChjb25zdCB7IGdmdiwgZm9ybVBhdGggfSBvZiBhd2FpdCBGb3JtR2xvYnMucmVzb2x2ZUdmdkdsb2JzKGZvcm1HbG9icywgZmFybURpcmVjdG9yeSkpIHtcbiAgICAgICAgY29uc3QgbG9nZ2VyID0gY29udGV4dC5sb2dnZXIud2l0aFByZWZpeChgRk9STToke2dmdn1gKTtcbiAgICAgICAgaWYgKG9wdGlvbnMudXNlQ2lCdWlsZCkge1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIkJlZ2luIHVwZ3JhZGluZyBidWlsZCBtb2RlXCIpO1xuICAgICAgICAgICAgYXdhaXQgdXBncmFkZUZvcm1Ub0NpQnVpbGRNb2RlKHJlc291cmNlc0RpcmVjdG9yeSwgZmFybURpcmVjdG9yeSwgZ2Z2LCBmb3JtUGF0aCwgbG9nZ2VyKTtcbiAgICAgICAgICAgIGxvZ2dlci5sb2coXCJGaW5pc2ggdXBncmFkaW5nIGJ1aWxkIG1vZGVcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMuZW5naW5lICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIkJlZ2luIHVwZ3JhZGluZyBlbmdpbmUgdmVyc2lvblwiKTtcbiAgICAgICAgICAgIGF3YWl0IHVwZ3JhZGVGb3JtRW5naW5lKGZhcm1EaXJlY3RvcnksIGdmdiwgZm9ybVBhdGgsIG9wdGlvbnMuZW5naW5lLCBvcHRpb25zLnNraXBQcmVWZXJzaW9ucywgbG9nZ2VyKTtcbiAgICAgICAgICAgIGxvZ2dlci5sb2coXCJGaW5pc2ggdXBncmFkaW5nIGVuZ2luZSB2ZXJzaW9uXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zLnByZWlkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIkJlZ2luIHVwZ3JhZGluZyBlbmdpbmUgdmVyc2lvblwiKTtcbiAgICAgICAgICAgIGF3YWl0IHVwZ3JhZGVGb3JtUHJlcmVsZWFzZShmYXJtRGlyZWN0b3J5LCBnZnYsIGZvcm1QYXRoLCBvcHRpb25zLnByZWlkLCBsb2dnZXIpO1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIkZpbmlzaCB1cGdyYWRpbmcgZW5naW5lIHZlcnNpb25cIik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHVwZ3JhZGVGb3JtRW5naW5lKFxuICAgIGZhcm1EaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBnZnY6IHN0cmluZyxcbiAgICBmb3JtUGF0aDogc3RyaW5nLFxuICAgIGVuZ2luZVZlcnNpb246IHN0cmluZyxcbiAgICBza2lwUHJlVmVyc2lvbnM6IGJvb2xlYW4sXG4gICAgbG9nZ2VyOiBJTG9nZ2VyXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmb3JtSnNvblBhdGggPSBwYXRoLmpvaW4oZm9ybVBhdGgsIFdlbGxLbm93bkRpcmVjdG9yaWVzLkZvcm1Kc29uRmlsZU5hbWUpO1xuICAgIGlmICghKGF3YWl0IHBhdGhFeGlzdHMoZm9ybUpzb25QYXRoKSkpIHtcbiAgICAgICAgbG9nZ2VyLndhcm5pbmcoXCJGb3JtIGRvZXMgbm90IGhhdmUgZm9ybS5qc29uOiBVcGdyYWRlIHNraXBwZWRcIik7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZm9ybUNvbmZpZyA9IGF3YWl0IHJlYWRGb3JtQ29uZmlnKGZvcm1Kc29uUGF0aCwgbG9nZ2VyKTtcbiAgICBpZiAoc2tpcFByZVZlcnNpb25zKSB7XG4gICAgICAgIGlmIChmb3JtQ29uZmlnLmRlcGVuZGVuY2llcz8uZW5naW5lICE9IHVuZGVmaW5lZCAmJiBmb3JtQ29uZmlnLmRlcGVuZGVuY2llcz8uZ2VuZXJhdG9yICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgZW5naW5lVmVyc2lvblNwZWMgPSBwYXJzZUNhbmR5VmVyc2lvblNwZWMoZm9ybUNvbmZpZy5kZXBlbmRlbmNpZXM/LmVuZ2luZSk7XG4gICAgICAgICAgICBjb25zdCBnZW5lcmF0b3JWZXJzaW9uU3BlYyA9IHBhcnNlQ2FuZHlWZXJzaW9uU3BlYyhmb3JtQ29uZmlnLmRlcGVuZGVuY2llcz8uZ2VuZXJhdG9yKTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBlbmdpbmVWZXJzaW9uU3BlYy50eXBlID09PSBcInByZVwiIHx8XG4gICAgICAgICAgICAgICAgZ2VuZXJhdG9yVmVyc2lvblNwZWMudHlwZSA9PT0gXCJwcmVcIiB8fFxuICAgICAgICAgICAgICAgIChlbmdpbmVWZXJzaW9uU3BlYy50eXBlID09PSBcInZlcnNpb25cIiAmJiAvW2EtekEtWl0vLnRlc3QoZW5naW5lVmVyc2lvblNwZWMudmVyc2lvbikpIHx8XG4gICAgICAgICAgICAgICAgKGdlbmVyYXRvclZlcnNpb25TcGVjLnR5cGUgPT09IFwidmVyc2lvblwiICYmIC9bYS16QS1aXS8udGVzdChnZW5lcmF0b3JWZXJzaW9uU3BlYy52ZXJzaW9uKSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGxvZ2dlci5sb2coXG4gICAgICAgICAgICAgICAgICAgIFwiRm9ybSB2ZXJzaW9uIGhhcyBwcmVyZWxlYXNlIHZlcnNpb246IFVwZ3JhZGUgc2tpcHBlZCBkdWUgdG8gZmxhZyBza2lwUHJlVmVyc2lvbnMgKC0tc2tpcC1wcmUtdmVyc2lvbnMpIHNwZWNpZmllZFwiXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGZvcm1Db25maWcubW9kZSA9PT0gXCJuby1lZGl0b3JcIikge1xuICAgICAgICBsb2dnZXIubG9nKFwiRm9ybSBkb2VzIG5vdCBoYXZlIGVkaXRvcjogVXBncmFkZSBza2lwcGVkXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChmb3JtQ29uZmlnLm1vZGUgPT09IFwiY29weS1sZWdhY3ktcHJlYnVpbHQtcmVzb3VyY2VzXCIpIHtcbiAgICAgICAgbG9nZ2VyLmxvZyhcIkZvcm0gZG9lcyBub3QgaGF2ZSBlZGl0b3I6IFVwZ3JhZGUgc2tpcHBlZFwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZW5naW5lVmVyc2lvbiA9PT0gXCJsYXRlc3RcIikge1xuICAgICAgICBmb3JtQ29uZmlnLmRlcGVuZGVuY2llcyA9IHtcbiAgICAgICAgICAgIGVuZ2luZTogYXdhaXQgZ2V0TGFzdFN0YWJsZUVuZ2luZVZlcnNpb24oKSxcbiAgICAgICAgICAgIGdlbmVyYXRvcjogYXdhaXQgZ2V0TGFzdFN0YWJsZUdlbmVyYXRvclZlcnNpb24oKSxcbiAgICAgICAgfTtcbiAgICAgICAgbG9nZ2VyLmxvZyhgVXBkYXRlZCB0byBsYXN0IHN0YWJsZSB2ZXJzaW9uICR7Zm9ybUNvbmZpZy5kZXBlbmRlbmNpZXMuZW5naW5lfWApO1xuICAgICAgICBhd2FpdCB3cml0ZUpzb24oZm9ybUpzb25QYXRoLCBmb3JtQ29uZmlnLCB7IHNwYWNlczogMiB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoYXdhaXQgaXNFbmdpbmVWZXJzaW9uRXhpc3RzKGVuZ2luZVZlcnNpb24pKSB7XG4gICAgICAgICAgICBmb3JtQ29uZmlnLmRlcGVuZGVuY2llcyA9IHsgZW5naW5lOiBlbmdpbmVWZXJzaW9uLCBnZW5lcmF0b3I6IGVuZ2luZVZlcnNpb24gfTtcbiAgICAgICAgICAgIGxvZ2dlci5sb2coYFVwZGF0ZWQgdG8gdmVyc2lvbiAke2Zvcm1Db25maWcuZGVwZW5kZW5jaWVzLmVuZ2luZX1gKTtcbiAgICAgICAgICAgIGF3YWl0IHdyaXRlSnNvbihmb3JtSnNvblBhdGgsIGZvcm1Db25maWcsIHsgc3BhY2VzOiAyIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGDQktC10YDRgdC40LggJHtlbmdpbmVWZXJzaW9ufSDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCLmApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiB1cGdyYWRlRm9ybVRvQ2lCdWlsZE1vZGUoXG4gICAgcmVzb3VyY2VzRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgZmFybURpcmVjdG9yeTogc3RyaW5nLFxuICAgIGdmdjogc3RyaW5nLFxuICAgIGZvcm1QYXRoOiBzdHJpbmcsXG4gICAgbG9nZ2VyOiBJTG9nZ2VyXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmb3JtSnNvblBhdGggPSBwYXRoLmpvaW4oZm9ybVBhdGgsIFdlbGxLbm93bkRpcmVjdG9yaWVzLkZvcm1Kc29uRmlsZU5hbWUpO1xuICAgIGlmICghKGF3YWl0IHBhdGhFeGlzdHMoZm9ybUpzb25QYXRoKSkpIHtcbiAgICAgICAgbG9nZ2VyLndhcm5pbmcoXCJmb3JtLmpzb24gZG9lcyBub3QgZXhpc3RzLiBVcGdyYWRlIHNraXBwZWQuXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGdlbmVyYXRlZEZvcm1EaXJlY3RvcnkgPSBwYXRoLmpvaW4oZm9ybVBhdGgsIFwiZm9ybVwiKTtcbiAgICBpZiAoIWlzTmV3Rm9ybUpzb25Gb3JtYXQoZm9ybUpzb25QYXRoKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBcItCk0LDQudC7IGZvcm0uanNvbiDRhNC+0YDQvNGLINC00L7Qu9C20LXQvSDQuNC80LXRgtGMINC90L7QstGL0Lkg0YTQvtGA0LzQsNGCINC30LDQstC40YHQuNC80L7RgdGC0LguINCe0LHRgNCw0YLQuNGC0LXRgdGMINC6INGA0LDRgdC30YDQsNCx0L7RgtGH0LjQutCw0Lwg0LfQsCDRgNCw0LfRitGP0YHQvdC10L3QuNGP0LzQuC5cIlxuICAgICAgICApO1xuICAgIH1cbiAgICBjb25zdCBmb3JtQ29uZmlnID0gYXdhaXQgcmVhZEZvcm1Db25maWcoZm9ybUpzb25QYXRoLCBnZXRMb2dnZXIoKSk7XG4gICAgaWYgKGZvcm1Db25maWcuYnVpbGQgIT09IFwiY2lcIikge1xuICAgICAgICBmb3JtQ29uZmlnLmJ1aWxkID0gXCJjaVwiO1xuICAgICAgICBhd2FpdCB3cml0ZUpzb24oZm9ybUpzb25QYXRoLCBmb3JtQ29uZmlnLCB7IHNwYWNlczogMiB9KTtcbiAgICAgICAgbG9nZ2VyLmxvZyhcIlVwZGF0ZWQgZm9ybS5qc29uXCIpO1xuICAgIH1cbiAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhnZW5lcmF0ZWRGb3JtRGlyZWN0b3J5KSkge1xuICAgICAgICBhd2FpdCByZW1vdmUoZ2VuZXJhdGVkRm9ybURpcmVjdG9yeSk7XG4gICAgICAgIGxvZ2dlci5sb2coXCJSZW1vdmVkIGZvcm0gZGlyZWN0b3J5XCIpO1xuICAgIH1cbiAgICBjb25zdCBmb3JtR2l0SWdub3JlUGF0aCA9IHBhdGguam9pbihmb3JtUGF0aCwgXCIuZ2l0aWdub3JlXCIpO1xuICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKGZvcm1HaXRJZ25vcmVQYXRoKSkge1xuICAgICAgICBjb25zdCBnaXRJZ25vcmVDb250ZW50ID0gYXdhaXQgcmVhZEZpbGUoZm9ybUdpdElnbm9yZVBhdGgsIFwidXRmOFwiKTtcbiAgICAgICAgaWYgKCFnaXRJZ25vcmVDb250ZW50LnNwbGl0KFwiXFxuXCIpLmluY2x1ZGVzKFwiZm9ybVwiKSkge1xuICAgICAgICAgICAgYXdhaXQgd3JpdGVGaWxlKGZvcm1HaXRJZ25vcmVQYXRoLCBnaXRJZ25vcmVDb250ZW50LnRyaW1SaWdodCgpICsgXCJcXG5cIiArIFwiZm9ybVxcblwiKTtcbiAgICAgICAgICAgIGxvZ2dlci5sb2coXCJVcGRhdGVkIC5naXRpZ25vcmVcIik7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBhd2FpdCB3cml0ZUZpbGUoZm9ybUdpdElnbm9yZVBhdGgsIFwiZm9ybVxcblwiKTtcbiAgICAgICAgbG9nZ2VyLmxvZyhcIkNyZWF0ZWQgLmdpdGlnbm9yZVwiKTtcbiAgICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHVwZ3JhZGVGb3JtUHJlcmVsZWFzZShcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgZ2Z2OiBzdHJpbmcsXG4gICAgZm9ybVBhdGg6IHN0cmluZyxcbiAgICBwcmVpZDogc3RyaW5nLFxuICAgIGxvZ2dlcjogSUxvZ2dlclxuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZm9ybUpzb25QYXRoID0gcGF0aC5qb2luKGZvcm1QYXRoLCBXZWxsS25vd25EaXJlY3Rvcmllcy5Gb3JtSnNvbkZpbGVOYW1lKTtcbiAgICBjb25zdCBmb3JtQ29uZmlnID0gYXdhaXQgcmVhZEZvcm1Db25maWcoZm9ybUpzb25QYXRoLCBsb2dnZXIpO1xuICAgIGNvbnN0IHByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24gPSBhd2FpdCBnZXRQcmVyZWxlYXNlVmVyc2lvbkZvcm1Kc29uKHByZWlkKTtcblxuICAgIGlmIChwcmVyZWxlYXNlVmVyc2lvbkZvcm1Kc29uICE9IHVuZGVmaW5lZCkge1xuICAgICAgICBmb3JtQ29uZmlnLmRlcGVuZGVuY2llcyA9IHsgZW5naW5lOiBwcmVyZWxlYXNlVmVyc2lvbkZvcm1Kc29uLCBnZW5lcmF0b3I6IHByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24gfTtcbiAgICAgICAgbG9nZ2VyLmxvZyhgVXBkYXRlZCB0byBwcmVyZWxlYXNlIHZlcnNpb24gJHtmb3JtQ29uZmlnLmRlcGVuZGVuY2llcy5lbmdpbmV9YCk7XG4gICAgICAgIGF3YWl0IHdyaXRlSnNvbihmb3JtSnNvblBhdGgsIGZvcm1Db25maWcsIHsgc3BhY2VzOiAyIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihg0JLQtdGA0YHQuNC4ICR7cHJlaWR9INC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuYCk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxJQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxzQkFBQSxHQUFBRixPQUFBO0FBTUEsSUFBQUcsZ0JBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLGVBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLGFBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLHFCQUFBLEdBQUFQLE9BQUE7QUFBK0UsU0FBQVEseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVYsd0JBQUFjLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxvQkFBQUEsR0FBQSx3QkFBQUEsR0FBQSw0QkFBQUUsT0FBQSxFQUFBRixHQUFBLFVBQUFHLEtBQUEsR0FBQVIsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBTyxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBSixHQUFBLFlBQUFHLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTCxHQUFBLFNBQUFNLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWCxHQUFBLFFBQUFXLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWQsR0FBQSxFQUFBVyxH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
|