@kontur.candy/tools 2.143.0 → 2.144.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
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
<a name="2.144.0"></a>
|
|
2
|
+
# [2.144.0](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.143.0...release/tools/v2.144.0) (2023-01-27)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* **Tools:** Исправлена регулярка поиска пререлизной версии при обновлении движка ([ebb13e1](https://git.skbkontur.ru/ke/candy-utils/commit/ebb13e1))
|
|
8
|
+
|
|
1
9
|
<a name="2.143.0"></a>
|
|
2
10
|
# [2.143.0](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.142.0...release/tools/v2.143.0) (2023-01-26)
|
|
3
11
|
|
|
@@ -69,7 +69,7 @@ async function upgradeFormEngine(farmDirectory, gfv, engineVersion, skipPreVersi
|
|
|
69
69
|
const engineVersionSpec = (0, _Version.parseCandyVersionSpec)((_formConfig$dependenc3 = formConfig.dependencies) === null || _formConfig$dependenc3 === void 0 ? void 0 : _formConfig$dependenc3.engine);
|
|
70
70
|
const generatorVersionSpec = (0, _Version.parseCandyVersionSpec)((_formConfig$dependenc4 = formConfig.dependencies) === null || _formConfig$dependenc4 === void 0 ? void 0 : _formConfig$dependenc4.generator);
|
|
71
71
|
|
|
72
|
-
if (engineVersionSpec.type === "pre" || generatorVersionSpec.type === "pre" || engineVersionSpec.type === "version" &&
|
|
72
|
+
if (engineVersionSpec.type === "pre" || generatorVersionSpec.type === "pre" || engineVersionSpec.type === "version" && /[a-zA-Z]/.test(engineVersionSpec.version) || generatorVersionSpec.type === "version" && /[a-zA-Z]/.test(generatorVersionSpec.version)) {
|
|
73
73
|
logger.log("Form version has prerelease version: Upgrade skipped due to flag skipPreVersions (--skip-pre-versions) specified");
|
|
74
74
|
return;
|
|
75
75
|
}
|
|
@@ -175,4 +175,4 @@ async function upgradeFormPrerelease(farmDirectory, gfv, preid, logger) {
|
|
|
175
175
|
throw new Error(`Версии ${preid} не существует.`);
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9VcGdyYWRlRm9ybS9SdW5VcGdyYWRlRm9ybS50cyJdLCJuYW1lcyI6WyJydW5VcGdyYWRlRm9ybSIsImNvbnRleHQiLCJvcHRpb25zIiwicmVzb3VyY2VzRGlyZWN0b3J5IiwiZmFybURpcmVjdG9yeSIsImZvcm1HbG9icyIsIkZvcm1HbG9icyIsInZhbGlkYXRlR2xvYnMiLCJyZXNvbHZlU3BlY2lmaWVycyIsImdmdiIsInJlc29sdmVHbG9ic1RvR2Z2cyIsImxvZ2dlciIsIndpdGhQcmVmaXgiLCJ1c2VDaUJ1aWxkIiwibG9nIiwidXBncmFkZUZvcm1Ub0NpQnVpbGRNb2RlIiwiZW5naW5lIiwidW5kZWZpbmVkIiwidXBncmFkZUZvcm1FbmdpbmUiLCJza2lwUHJlVmVyc2lvbnMiLCJwcmVpZCIsInVwZ3JhZGVGb3JtUHJlcmVsZWFzZSIsImVuZ2luZVZlcnNpb24iLCJmb3JtRGlyUGF0aCIsInBhdGgiLCJqb2luIiwiZm9ybUpzb25QYXRoIiwid2FybmluZyIsImZvcm1Db25maWciLCJkZXBlbmRlbmNpZXMiLCJnZW5lcmF0b3IiLCJlbmdpbmVWZXJzaW9uU3BlYyIsImdlbmVyYXRvclZlcnNpb25TcGVjIiwidHlwZSIsInRlc3QiLCJ2ZXJzaW9uIiwibW9kZSIsInNwYWNlcyIsIkVycm9yIiwiZ2VuZXJhdGVkRm9ybURpcmVjdG9yeSIsImJ1aWxkIiwiZm9ybUdpdElnbm9yZVBhdGgiLCJnaXRJZ25vcmVDb250ZW50Iiwic3BsaXQiLCJpbmNsdWRlcyIsInRyaW1SaWdodCIsInByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFFQTs7QUFNQTs7QUFFQTs7QUFFQTs7QUFDQTs7Ozs7O0FBSU8sZUFBZUEsY0FBZixDQUNIQyxPQURHLEVBRUhDLE9BRkcsRUFHSEMsa0JBSEcsRUFJSEMsYUFKRyxFQUtVO0FBQ2IsUUFBTUMsU0FBUyxHQUFH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MEIseUJBQXlCLElBQUk3QixTQUFqQyxFQUE0QztBQUN4Q1csSUFBQUEsVUFBVSxDQUFDQyxZQUFYLEdBQTBCO0FBQUViLE1BQUFBLE1BQU0sRUFBRThCLHlCQUFWO0FBQXFDaEIsTUFBQUEsU0FBUyxFQUFFZ0I7QUFBaEQsS0FBMUI7QUFDQW5DLElBQUFBLE1BQU0sQ0FBQ0csR0FBUCxDQUFZLGlDQUFnQ2MsVUFBVSxDQUFDQyxZQUFYLENBQXdCYixNQUFPLEVBQTNFO0FBQ0EsVUFBTSx3QkFBVVUsWUFBVixFQUF3QkUsVUFBeEIsRUFBb0M7QUFBRVMsTUFBQUEsTUFBTSxFQUFFO0FBQVYsS0FBcEMsQ0FBTjtBQUNILEdBSkQsTUFJTztBQUNILFVBQU0sSUFBSUMsS0FBSixDQUFXLFVBQVNsQixLQUFNLGlCQUExQixDQUFOO0FBQ0g7QUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgcGF0aEV4aXN0cywgcmVhZEZpbGUsIHJlbW92ZSwgd3JpdGVGaWxlLCB3cml0ZUpzb24gfSBmcm9tIFwiZnMtZXh0cmFcIjtcblxuaW1wb3J0IHtcbiAgICBnZXRMYXN0U3RhYmxlRW5naW5lVmVyc2lvbixcbiAgICBnZXRMYXN0U3RhYmxlR2VuZXJhdG9yVmVyc2lvbixcbiAgICBnZXRQcmVyZWxlYXNlVmVyc2lvbkZvcm1Kc29uLFxuICAgIGlzRW5naW5lVmVyc2lvbkV4aXN0cyxcbn0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvUHVibGlzaGVkVmVyc2lvblV0aWxzXCI7XG5pbXBvcnQgeyBpc05ld0Zvcm1Kc29uRm9ybWF0LCByZWFkRm9ybUNvbmZpZyB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1Jlc29sdmVGb3JtSW5mb1wiO1xuaW1wb3J0IHsgQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gXCIuLi8uLi9Db21tb25zL0NvbnNvbGVBcHBsaWNhdGlvbi9Db25zb2xlQXBwbGljYXRpb25Db250ZXh0XCI7XG5pbXBvcnQgeyBGb3JtR2xvYnMgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9Gb3JtR2xvYnNVdGlsc1wiO1xuaW1wb3J0IHsgSUxvZ2dlciB9IGZyb20gXCIuLi8uLi9Db21tb25zL0xvZ2dpbmcvSUxvZ2dlclwiO1xuaW1wb3J0IHsgZ2V0TG9nZ2VyIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvTG9nZ2luZy9TdGF0aWNMb2dnZXJcIjtcbmltcG9ydCB7IHBhcnNlQ2FuZHlWZXJzaW9uU3BlYyB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1ZlcnNpb25cIjtcblxuaW1wb3J0IHsgVXBncmFkZUZvcm1PcHRpb25zIH0gZnJvbSBcIi4vVXBncmFkZUZvcm1PcHRpb25zXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5VcGdyYWRlRm9ybShcbiAgICBjb250ZXh0OiBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0LFxuICAgIG9wdGlvbnM6IFVwZ3JhZGVGb3JtT3B0aW9ucyxcbiAgICByZXNvdXJjZXNEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZvcm1HbG9icyA9IGF3YWl0IEZvcm1HbG9icy52YWxpZGF0ZUdsb2JzKFxuICAgICAgICBhd2FpdCBGb3JtR2xvYnMucmVzb2x2ZVNwZWNpZmllcnMob3B0aW9ucy5mb3JtR2xvYnMsIGZhcm1EaXJlY3RvcnkpLFxuICAgICAgICBmYXJtRGlyZWN0b3J5XG4gICAgKTtcbiAgICBmb3IgKGNvbnN0IGdmdiBvZiBhd2FpdCBGb3JtR2xvYnMucmVzb2x2ZUdsb2JzVG9HZnZzKGZvcm1HbG9icywgZmFybURpcmVjdG9yeSkpIHtcbiAgICAgICAgY29uc3QgbG9nZ2VyID0gY29udGV4dC5sb2dnZXIud2l0aFByZWZpeChgRk9STToke2dmdn1gKTtcbiAgICAgICAgaWYgKG9wdGlvbnMudXNlQ2lCdWlsZCkge1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIkJlZ2luIHVwZ3JhZGluZyBidWlsZCBtb2RlXCIpO1xuICAgICAgICAgICAgYXdhaXQgdXBncmFkZUZvcm1Ub0NpQnVpbGRNb2RlKHJlc291cmNlc0RpcmVjdG9yeSwgZmFybURpcmVjdG9yeSwgZ2Z2LCBsb2dnZXIpO1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIkZpbmlzaCB1cGdyYWRpbmcgYnVpbGQgbW9kZVwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5lbmdpbmUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBsb2dnZXIubG9nKFwiQmVnaW4gdXBncmFkaW5nIGVuZ2luZSB2ZXJzaW9uXCIpO1xuICAgICAgICAgICAgYXdhaXQgdXBncmFkZUZvcm1FbmdpbmUoZmFybURpcmVjdG9yeSwgZ2Z2LCBvcHRpb25zLmVuZ2luZSwgb3B0aW9ucy5za2lwUHJlVmVyc2lvbnMsIGxvZ2dlcik7XG4gICAgICAgICAgICBsb2dnZXIubG9nKFwiRmluaXNoIHVwZ3JhZGluZyBlbmdpbmUgdmVyc2lvblwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5wcmVpZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvZ2dlci5sb2coXCJCZWdpbiB1cGdyYWRpbmcgZW5naW5lIHZlcnNpb25cIik7XG4gICAgICAgICAgICBhd2FpdCB1cGdyYWRlRm9ybVByZXJlbGVhc2UoZmFybURpcmVjdG9yeSwgZ2Z2LCBvcHRpb25zLnByZWlkLCBsb2dnZXIpO1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIkZpbmlzaCB1cGdyYWRpbmcgZW5naW5lIHZlcnNpb25cIik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHVwZ3JhZGVGb3JtRW5naW5lKFxuICAgIGZhcm1EaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBnZnY6IHN0cmluZyxcbiAgICBlbmdpbmVWZXJzaW9uOiBzdHJpbmcsXG4gICAgc2tpcFByZVZlcnNpb25zOiBib29sZWFuLFxuICAgIGxvZ2dlcjogSUxvZ2dlclxuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZm9ybURpclBhdGggPSBwYXRoLmpvaW4oZmFybURpcmVjdG9yeSwgXCJmb3Jtc1wiLCBnZnYpO1xuICAgIGNvbnN0IGZvcm1Kc29uUGF0aCA9IHBhdGguam9pbihmb3JtRGlyUGF0aCwgXCJmb3JtLmpzb25cIik7XG4gICAgaWYgKCEoYXdhaXQgcGF0aEV4aXN0cyhmb3JtSnNvblBhdGgpKSkge1xuICAgICAgICBsb2dnZXIud2FybmluZyhcIkZvcm0gZG9lcyBub3QgaGF2ZSBmb3JtLmpzb246IFVwZ3JhZGUgc2tpcHBlZFwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmb3JtQ29uZmlnID0gYXdhaXQgcmVhZEZvcm1Db25maWcoZm9ybUpzb25QYXRoLCBsb2dnZXIpO1xuICAgIGlmIChza2lwUHJlVmVyc2lvbnMpIHtcbiAgICAgICAgaWYgKGZvcm1Db25maWcuZGVwZW5kZW5jaWVzPy5lbmdpbmUgIT0gdW5kZWZpbmVkICYmIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzPy5nZW5lcmF0b3IgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zdCBlbmdpbmVWZXJzaW9uU3BlYyA9IHBhcnNlQ2FuZHlWZXJzaW9uU3BlYyhmb3JtQ29uZmlnLmRlcGVuZGVuY2llcz8uZW5naW5lKTtcbiAgICAgICAgICAgIGNvbnN0IGdlbmVyYXRvclZlcnNpb25TcGVjID0gcGFyc2VDYW5keVZlcnNpb25TcGVjKGZvcm1Db25maWcuZGVwZW5kZW5jaWVzPy5nZW5lcmF0b3IpO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGVuZ2luZVZlcnNpb25TcGVjLnR5cGUgPT09IFwicHJlXCIgfHxcbiAgICAgICAgICAgICAgICBnZW5lcmF0b3JWZXJzaW9uU3BlYy50eXBlID09PSBcInByZVwiIHx8XG4gICAgICAgICAgICAgICAgKGVuZ2luZVZlcnNpb25TcGVjLnR5cGUgPT09IFwidmVyc2lvblwiICYmIC9cXHcvLnRlc3QoZW5naW5lVmVyc2lvblNwZWMudmVyc2lvbikpIHx8XG4gICAgICAgICAgICAgICAgKGdlbmVyYXRvclZlcnNpb25TcGVjLnR5cGUgPT09IFwidmVyc2lvblwiICYmIC9cXHcvLnRlc3QoZ2VuZXJhdG9yVmVyc2lvblNwZWMudmVyc2lvbikpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBsb2dnZXIubG9nKFxuICAgICAgICAgICAgICAgICAgICBcIkZvcm0gdmVyc2lvbiBoYXMgcHJlcmVsZWFzZSB2ZXJzaW9uOiBVcGdyYWRlIHNraXBwZWQgZHVlIHRvIGZsYWcgc2tpcFByZVZlcnNpb25zICgtLXNraXAtcHJlLXZlcnNpb25zKSBzcGVjaWZpZWRcIlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChmb3JtQ29uZmlnLm1vZGUgPT09IFwibm8tZWRpdG9yXCIpIHtcbiAgICAgICAgbG9nZ2VyLmxvZyhcIkZvcm0gZG9lcyBub3QgaGF2ZSBlZGl0b3I6IFVwZ3JhZGUgc2tpcHBlZFwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZm9ybUNvbmZpZy5tb2RlID09PSBcImNvcHktbGVnYWN5LXByZWJ1aWx0LXJlc291cmNlc1wiKSB7XG4gICAgICAgIGxvZ2dlci5sb2coXCJGb3JtIGRvZXMgbm90IGhhdmUgZWRpdG9yOiBVcGdyYWRlIHNraXBwZWRcIik7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGVuZ2luZVZlcnNpb24gPT09IFwibGF0ZXN0XCIpIHtcbiAgICAgICAgZm9ybUNvbmZpZy5kZXBlbmRlbmNpZXMgPSB7XG4gICAgICAgICAgICBlbmdpbmU6IGF3YWl0IGdldExhc3RTdGFibGVFbmdpbmVWZXJzaW9uKCksXG4gICAgICAgICAgICBnZW5lcmF0b3I6IGF3YWl0IGdldExhc3RTdGFibGVHZW5lcmF0b3JWZXJzaW9uKCksXG4gICAgICAgIH07XG4gICAgICAgIGxvZ2dlci5sb2coYFVwZGF0ZWQgdG8gbGFzdCBzdGFibGUgdmVyc2lvbiAke2Zvcm1Db25maWcuZGVwZW5kZW5jaWVzLmVuZ2luZX1gKTtcbiAgICAgICAgYXdhaXQgd3JpdGVKc29uKGZvcm1Kc29uUGF0aCwgZm9ybUNvbmZpZywgeyBzcGFjZXM6IDIgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGF3YWl0IGlzRW5naW5lVmVyc2lvbkV4aXN0cyhlbmdpbmVWZXJzaW9uKSkge1xuICAgICAgICAgICAgZm9ybUNvbmZpZy5kZXBlbmRlbmNpZXMgPSB7IGVuZ2luZTogZW5naW5lVmVyc2lvbiwgZ2VuZXJhdG9yOiBlbmdpbmVWZXJzaW9uIH07XG4gICAgICAgICAgICBsb2dnZXIubG9nKGBVcGRhdGVkIHRvIHZlcnNpb24gJHtmb3JtQ29uZmlnLmRlcGVuZGVuY2llcy5lbmdpbmV9YCk7XG4gICAgICAgICAgICBhd2FpdCB3cml0ZUpzb24oZm9ybUpzb25QYXRoLCBmb3JtQ29uZmlnLCB7IHNwYWNlczogMiB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihg0JLQtdGA0YHQuNC4ICR7ZW5naW5lVmVyc2lvbn0g0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgi5gKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gdXBncmFkZUZvcm1Ub0NpQnVpbGRNb2RlKFxuICAgIHJlc291cmNlc0RpcmVjdG9yeTogc3RyaW5nLFxuICAgIGZhcm1EaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBnZnY6IHN0cmluZyxcbiAgICBsb2dnZXI6IElMb2dnZXJcbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZvcm1EaXJQYXRoID0gcGF0aC5qb2luKGZhcm1EaXJlY3RvcnksIFwiZm9ybXNcIiwgZ2Z2KTtcbiAgICBjb25zdCBmb3JtSnNvblBhdGggPSBwYXRoLmpvaW4oZm9ybURpclBhdGgsIFwiZm9ybS5qc29uXCIpO1xuICAgIGlmICghKGF3YWl0IHBhdGhFeGlzdHMoZm9ybUpzb25QYXRoKSkpIHtcbiAgICAgICAgbG9nZ2VyLndhcm5pbmcoXCJmb3JtLmpzb24gZG9lcyBub3QgZXhpc3RzLiBVcGdyYWRlIHNraXBwZWQuXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGdlbmVyYXRlZEZvcm1EaXJlY3RvcnkgPSBwYXRoLmpvaW4oZm9ybURpclBhdGgsIFwiZm9ybVwiKTtcbiAgICBpZiAoIWlzTmV3Rm9ybUpzb25Gb3JtYXQoZm9ybUpzb25QYXRoKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBcItCk0LDQudC7IGZvcm0uanNvbiDRhNC+0YDQvNGLINC00L7Qu9C20LXQvSDQuNC80LXRgtGMINC90L7QstGL0Lkg0YTQvtGA0LzQsNGCINC30LDQstC40YHQuNC80L7RgdGC0LguINCe0LHRgNCw0YLQuNGC0LXRgdGMINC6INGA0LDRgdC30YDQsNCx0L7RgtGH0LjQutCw0Lwg0LfQsCDRgNCw0LfRitGP0YHQvdC10L3QuNGP0LzQuC5cIlxuICAgICAgICApO1xuICAgIH1cbiAgICBjb25zdCBmb3JtQ29uZmlnID0gYXdhaXQgcmVhZEZvcm1Db25maWcoZm9ybUpzb25QYXRoLCBnZXRMb2dnZXIoKSk7XG4gICAgaWYgKGZvcm1Db25maWcuYnVpbGQgIT09IFwiY2lcIikge1xuICAgICAgICBmb3JtQ29uZmlnLmJ1aWxkID0gXCJjaVwiO1xuICAgICAgICBhd2FpdCB3cml0ZUpzb24oZm9ybUpzb25QYXRoLCBmb3JtQ29uZmlnLCB7IHNwYWNlczogMiB9KTtcbiAgICAgICAgbG9nZ2VyLmxvZyhcIlVwZGF0ZWQgZm9ybS5qc29uXCIpO1xuICAgIH1cbiAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhnZW5lcmF0ZWRGb3JtRGlyZWN0b3J5KSkge1xuICAgICAgICBhd2FpdCByZW1vdmUoZ2VuZXJhdGVkRm9ybURpcmVjdG9yeSk7XG4gICAgICAgIGxvZ2dlci5sb2coXCJSZW1vdmVkIGZvcm0gZGlyZWN0b3J5XCIpO1xuICAgIH1cbiAgICBjb25zdCBmb3JtR2l0SWdub3JlUGF0aCA9IHBhdGguam9pbihmb3JtRGlyUGF0aCwgXCIuZ2l0aWdub3JlXCIpO1xuICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKGZvcm1HaXRJZ25vcmVQYXRoKSkge1xuICAgICAgICBjb25zdCBnaXRJZ25vcmVDb250ZW50ID0gYXdhaXQgcmVhZEZpbGUoZm9ybUdpdElnbm9yZVBhdGgsIFwidXRmOFwiKTtcbiAgICAgICAgaWYgKCFnaXRJZ25vcmVDb250ZW50LnNwbGl0KFwiXFxuXCIpLmluY2x1ZGVzKFwiZm9ybVwiKSkge1xuICAgICAgICAgICAgYXdhaXQgd3JpdGVGaWxlKGZvcm1HaXRJZ25vcmVQYXRoLCBnaXRJZ25vcmVDb250ZW50LnRyaW1SaWdodCgpICsgXCJcXG5cIiArIFwiZm9ybVxcblwiKTtcbiAgICAgICAgICAgIGxvZ2dlci5sb2coXCJVcGRhdGVkIC5naXRpZ25vcmVcIik7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBhd2FpdCB3cml0ZUZpbGUoZm9ybUdpdElnbm9yZVBhdGgsIFwiZm9ybVxcblwiKTtcbiAgICAgICAgbG9nZ2VyLmxvZyhcIkNyZWF0ZWQgLmdpdGlnbm9yZVwiKTtcbiAgICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHVwZ3JhZGVGb3JtUHJlcmVsZWFzZShcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgZ2Z2OiBzdHJpbmcsXG4gICAgcHJlaWQ6IHN0cmluZyxcbiAgICBsb2dnZXI6IElMb2dnZXJcbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZvcm1EaXJQYXRoID0gcGF0aC5qb2luKGZhcm1EaXJlY3RvcnksIFwiZm9ybXNcIiwgZ2Z2KTtcbiAgICBjb25zdCBmb3JtSnNvblBhdGggPSBwYXRoLmpvaW4oZm9ybURpclBhdGgsIFwiZm9ybS5qc29uXCIpO1xuICAgIGNvbnN0IGZvcm1Db25maWcgPSBhd2FpdCByZWFkRm9ybUNvbmZpZyhmb3JtSnNvblBhdGgsIGxvZ2dlcik7XG4gICAgY29uc3QgcHJlcmVsZWFzZVZlcnNpb25Gb3JtSnNvbiA9IGF3YWl0IGdldFByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24ocHJlaWQpO1xuXG4gICAgaWYgKHByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24gIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzID0geyBlbmdpbmU6IHByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24sIGdlbmVyYXRvcjogcHJlcmVsZWFzZVZlcnNpb25Gb3JtSnNvbiB9O1xuICAgICAgICBsb2dnZXIubG9nKGBVcGRhdGVkIHRvIHByZXJlbGVhc2UgdmVyc2lvbiAke2Zvcm1Db25maWcuZGVwZW5kZW5jaWVzLmVuZ2luZX1gKTtcbiAgICAgICAgYXdhaXQgd3JpdGVKc29uKGZvcm1Kc29uUGF0aCwgZm9ybUNvbmZpZywgeyBzcGFjZXM6IDIgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGDQktC10YDRgdC40LggJHtwcmVpZH0g0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgi5gKTtcbiAgICB9XG59XG4iXX0=
|
|
178
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9VcGdyYWRlRm9ybS9SdW5VcGdyYWRlRm9ybS50cyJdLCJuYW1lcyI6WyJydW5VcGdyYWRlRm9ybSIsImNvbnRleHQiLCJvcHRpb25zIiwicmVzb3VyY2VzRGlyZWN0b3J5IiwiZmFybURpcmVjdG9yeSIsImZvcm1HbG9icyIsIkZvcm1HbG9icyIsInZhbGlkYXRlR2xvYnMiLCJyZXNvbHZlU3BlY2lmaWVycyIsImdmdiIsInJlc29sdmVHbG9ic1RvR2Z2cyIsImxvZ2dlciIsIndpdGhQcmVmaXgiLCJ1c2VDaUJ1aWxkIiwibG9nIiwidXBncmFkZUZvcm1Ub0NpQnVpbGRNb2RlIiwiZW5naW5lIiwidW5kZWZpbmVkIiwidXBncmFkZUZvcm1FbmdpbmUiLCJza2lwUHJlVmVyc2lvbnMiLCJwcmVpZCIsInVwZ3JhZGVGb3JtUHJlcmVsZWFzZSIsImVuZ2luZVZlcnNpb24iLCJmb3JtRGlyUGF0aCIsInBhdGgiLCJqb2luIiwiZm9ybUpzb25QYXRoIiwid2FybmluZyIsImZvcm1Db25maWciLCJkZXBlbmRlbmNpZXMiLCJnZW5lcmF0b3IiLCJlbmdpbmVWZXJzaW9uU3BlYyIsImdlbmVyYXRvclZlcnNpb25TcGVjIiwidHlwZSIsInRlc3QiLCJ2ZXJzaW9uIiwibW9kZSIsInNwYWNlcyIsIkVycm9yIiwiZ2VuZXJhdGVkRm9ybURpcmVjdG9yeSIsImJ1aWxkIiwiZm9ybUdpdElnbm9yZVBhdGgiLCJnaXRJZ25vcmVDb250ZW50Iiwic3BsaXQiLCJpbmNsdWRlcyIsInRyaW1SaWdodCIsInByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFFQTs7QUFNQTs7QUFFQTs7QUFFQTs7QUFDQTs7Ozs7O0FBSU8sZUFBZUEsY0FBZixDQUNIQyxPQURHLEVBRUhDLE9BRkcsRUFHSEMsa0JBSEcsRUFJSEMsYUFKRyxFQUtVO0FBQ2IsUUFBTUMsU0FBUyxHQUFH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QUkwQix5QkFBeUIsSUFBSTdCLFNBQWpDLEVBQTRDO0FBQ3hDVyxJQUFBQSxVQUFVLENBQUNDLFlBQVgsR0FBMEI7QUFBRWIsTUFBQUEsTUFBTSxFQUFFOEIseUJBQVY7QUFBcUNoQixNQUFBQSxTQUFTLEVBQUVnQjtBQUFoRCxLQUExQjtBQUNBbkMsSUFBQUEsTUFBTSxDQUFDRyxHQUFQLENBQVksaUNBQWdDYyxVQUFVLENBQUNDLFlBQVgsQ0FBd0JiLE1BQU8sRUFBM0U7QUFDQSxVQUFNLHdCQUFVVSxZQUFWLEVBQXdCRSxVQUF4QixFQUFvQztBQUFFUyxNQUFBQSxNQUFNLEVBQUU7QUFBVixLQUFwQyxDQUFOO0FBQ0gsR0FKRCxNQUlPO0FBQ0gsVUFBTSxJQUFJQyxLQUFKLENBQVcsVUFBU2xCLEtBQU0saUJBQTFCLENBQU47QUFDSDtBQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBwYXRoRXhpc3RzLCByZWFkRmlsZSwgcmVtb3ZlLCB3cml0ZUZpbGUsIHdyaXRlSnNvbiB9IGZyb20gXCJmcy1leHRyYVwiO1xuXG5pbXBvcnQge1xuICAgIGdldExhc3RTdGFibGVFbmdpbmVWZXJzaW9uLFxuICAgIGdldExhc3RTdGFibGVHZW5lcmF0b3JWZXJzaW9uLFxuICAgIGdldFByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24sXG4gICAgaXNFbmdpbmVWZXJzaW9uRXhpc3RzLFxufSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9QdWJsaXNoZWRWZXJzaW9uVXRpbHNcIjtcbmltcG9ydCB7IGlzTmV3Rm9ybUpzb25Gb3JtYXQsIHJlYWRGb3JtQ29uZmlnIH0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvUmVzb2x2ZUZvcm1JbmZvXCI7XG5pbXBvcnQgeyBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvQ29uc29sZUFwcGxpY2F0aW9uL0NvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHRcIjtcbmltcG9ydCB7IEZvcm1HbG9icyB9IGZyb20gXCIuLi8uLi9Db21tb25zL0Zvcm1HbG9ic1V0aWxzXCI7XG5pbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvTG9nZ2luZy9JTG9nZ2VyXCI7XG5pbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9Mb2dnaW5nL1N0YXRpY0xvZ2dlclwiO1xuaW1wb3J0IHsgcGFyc2VDYW5keVZlcnNpb25TcGVjIH0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvVmVyc2lvblwiO1xuXG5pbXBvcnQgeyBVcGdyYWRlRm9ybU9wdGlvbnMgfSBmcm9tIFwiLi9VcGdyYWRlRm9ybU9wdGlvbnNcIjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1blVwZ3JhZGVGb3JtKFxuICAgIGNvbnRleHQ6IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQsXG4gICAgb3B0aW9uczogVXBncmFkZUZvcm1PcHRpb25zLFxuICAgIHJlc291cmNlc0RpcmVjdG9yeTogc3RyaW5nLFxuICAgIGZhcm1EaXJlY3Rvcnk6IHN0cmluZ1xuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZm9ybUdsb2JzID0gYXdhaXQgRm9ybUdsb2JzLnZhbGlkYXRlR2xvYnMoXG4gICAgICAgIGF3YWl0IEZvcm1HbG9icy5yZXNvbHZlU3BlY2lmaWVycyhvcHRpb25zLmZvcm1HbG9icywgZmFybURpcmVjdG9yeSksXG4gICAgICAgIGZhcm1EaXJlY3RvcnlcbiAgICApO1xuICAgIGZvciAoY29uc3QgZ2Z2IG9mIGF3YWl0IEZvcm1HbG9icy5yZXNvbHZlR2xvYnNUb0dmdnMoZm9ybUdsb2JzLCBmYXJtRGlyZWN0b3J5KSkge1xuICAgICAgICBjb25zdCBsb2dnZXIgPSBjb250ZXh0LmxvZ2dlci53aXRoUHJlZml4KGBGT1JNOiR7Z2Z2fWApO1xuICAgICAgICBpZiAob3B0aW9ucy51c2VDaUJ1aWxkKSB7XG4gICAgICAgICAgICBsb2dnZXIubG9nKFwiQmVnaW4gdXBncmFkaW5nIGJ1aWxkIG1vZGVcIik7XG4gICAgICAgICAgICBhd2FpdCB1cGdyYWRlRm9ybVRvQ2lCdWlsZE1vZGUocmVzb3VyY2VzRGlyZWN0b3J5LCBmYXJtRGlyZWN0b3J5LCBnZnYsIGxvZ2dlcik7XG4gICAgICAgICAgICBsb2dnZXIubG9nKFwiRmluaXNoIHVwZ3JhZGluZyBidWlsZCBtb2RlXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zLmVuZ2luZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvZ2dlci5sb2coXCJCZWdpbiB1cGdyYWRpbmcgZW5naW5lIHZlcnNpb25cIik7XG4gICAgICAgICAgICBhd2FpdCB1cGdyYWRlRm9ybUVuZ2luZShmYXJtRGlyZWN0b3J5LCBnZnYsIG9wdGlvbnMuZW5naW5lLCBvcHRpb25zLnNraXBQcmVWZXJzaW9ucywgbG9nZ2VyKTtcbiAgICAgICAgICAgIGxvZ2dlci5sb2coXCJGaW5pc2ggdXBncmFkaW5nIGVuZ2luZSB2ZXJzaW9uXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zLnByZWlkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhcIkJlZ2luIHVwZ3JhZGluZyBlbmdpbmUgdmVyc2lvblwiKTtcbiAgICAgICAgICAgIGF3YWl0IHVwZ3JhZGVGb3JtUHJlcmVsZWFzZShmYXJtRGlyZWN0b3J5LCBnZnYsIG9wdGlvbnMucHJlaWQsIGxvZ2dlcik7XG4gICAgICAgICAgICBsb2dnZXIubG9nKFwiRmluaXNoIHVwZ3JhZGluZyBlbmdpbmUgdmVyc2lvblwiKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gdXBncmFkZUZvcm1FbmdpbmUoXG4gICAgZmFybURpcmVjdG9yeTogc3RyaW5nLFxuICAgIGdmdjogc3RyaW5nLFxuICAgIGVuZ2luZVZlcnNpb246IHN0cmluZyxcbiAgICBza2lwUHJlVmVyc2lvbnM6IGJvb2xlYW4sXG4gICAgbG9nZ2VyOiBJTG9nZ2VyXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmb3JtRGlyUGF0aCA9IHBhdGguam9pbihmYXJtRGlyZWN0b3J5LCBcImZvcm1zXCIsIGdmdik7XG4gICAgY29uc3QgZm9ybUpzb25QYXRoID0gcGF0aC5qb2luKGZvcm1EaXJQYXRoLCBcImZvcm0uanNvblwiKTtcbiAgICBpZiAoIShhd2FpdCBwYXRoRXhpc3RzKGZvcm1Kc29uUGF0aCkpKSB7XG4gICAgICAgIGxvZ2dlci53YXJuaW5nKFwiRm9ybSBkb2VzIG5vdCBoYXZlIGZvcm0uanNvbjogVXBncmFkZSBza2lwcGVkXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZvcm1Db25maWcgPSBhd2FpdCByZWFkRm9ybUNvbmZpZyhmb3JtSnNvblBhdGgsIGxvZ2dlcik7XG4gICAgaWYgKHNraXBQcmVWZXJzaW9ucykge1xuICAgICAgICBpZiAoZm9ybUNvbmZpZy5kZXBlbmRlbmNpZXM/LmVuZ2luZSAhPSB1bmRlZmluZWQgJiYgZm9ybUNvbmZpZy5kZXBlbmRlbmNpZXM/LmdlbmVyYXRvciAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVuZ2luZVZlcnNpb25TcGVjID0gcGFyc2VDYW5keVZlcnNpb25TcGVjKGZvcm1Db25maWcuZGVwZW5kZW5jaWVzPy5lbmdpbmUpO1xuICAgICAgICAgICAgY29uc3QgZ2VuZXJhdG9yVmVyc2lvblNwZWMgPSBwYXJzZUNhbmR5VmVyc2lvblNwZWMoZm9ybUNvbmZpZy5kZXBlbmRlbmNpZXM/LmdlbmVyYXRvcik7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgZW5naW5lVmVyc2lvblNwZWMudHlwZSA9PT0gXCJwcmVcIiB8fFxuICAgICAgICAgICAgICAgIGdlbmVyYXRvclZlcnNpb25TcGVjLnR5cGUgPT09IFwicHJlXCIgfHxcbiAgICAgICAgICAgICAgICAoZW5naW5lVmVyc2lvblNwZWMudHlwZSA9PT0gXCJ2ZXJzaW9uXCIgJiYgL1thLXpBLVpdLy50ZXN0KGVuZ2luZVZlcnNpb25TcGVjLnZlcnNpb24pKSB8fFxuICAgICAgICAgICAgICAgIChnZW5lcmF0b3JWZXJzaW9uU3BlYy50eXBlID09PSBcInZlcnNpb25cIiAmJiAvW2EtekEtWl0vLnRlc3QoZ2VuZXJhdG9yVmVyc2lvblNwZWMudmVyc2lvbikpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBsb2dnZXIubG9nKFxuICAgICAgICAgICAgICAgICAgICBcIkZvcm0gdmVyc2lvbiBoYXMgcHJlcmVsZWFzZSB2ZXJzaW9uOiBVcGdyYWRlIHNraXBwZWQgZHVlIHRvIGZsYWcgc2tpcFByZVZlcnNpb25zICgtLXNraXAtcHJlLXZlcnNpb25zKSBzcGVjaWZpZWRcIlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChmb3JtQ29uZmlnLm1vZGUgPT09IFwibm8tZWRpdG9yXCIpIHtcbiAgICAgICAgbG9nZ2VyLmxvZyhcIkZvcm0gZG9lcyBub3QgaGF2ZSBlZGl0b3I6IFVwZ3JhZGUgc2tpcHBlZFwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZm9ybUNvbmZpZy5tb2RlID09PSBcImNvcHktbGVnYWN5LXByZWJ1aWx0LXJlc291cmNlc1wiKSB7XG4gICAgICAgIGxvZ2dlci5sb2coXCJGb3JtIGRvZXMgbm90IGhhdmUgZWRpdG9yOiBVcGdyYWRlIHNraXBwZWRcIik7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGVuZ2luZVZlcnNpb24gPT09IFwibGF0ZXN0XCIpIHtcbiAgICAgICAgZm9ybUNvbmZpZy5kZXBlbmRlbmNpZXMgPSB7XG4gICAgICAgICAgICBlbmdpbmU6IGF3YWl0IGdldExhc3RTdGFibGVFbmdpbmVWZXJzaW9uKCksXG4gICAgICAgICAgICBnZW5lcmF0b3I6IGF3YWl0IGdldExhc3RTdGFibGVHZW5lcmF0b3JWZXJzaW9uKCksXG4gICAgICAgIH07XG4gICAgICAgIGxvZ2dlci5sb2coYFVwZGF0ZWQgdG8gbGFzdCBzdGFibGUgdmVyc2lvbiAke2Zvcm1Db25maWcuZGVwZW5kZW5jaWVzLmVuZ2luZX1gKTtcbiAgICAgICAgYXdhaXQgd3JpdGVKc29uKGZvcm1Kc29uUGF0aCwgZm9ybUNvbmZpZywgeyBzcGFjZXM6IDIgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGF3YWl0IGlzRW5naW5lVmVyc2lvbkV4aXN0cyhlbmdpbmVWZXJzaW9uKSkge1xuICAgICAgICAgICAgZm9ybUNvbmZpZy5kZXBlbmRlbmNpZXMgPSB7IGVuZ2luZTogZW5naW5lVmVyc2lvbiwgZ2VuZXJhdG9yOiBlbmdpbmVWZXJzaW9uIH07XG4gICAgICAgICAgICBsb2dnZXIubG9nKGBVcGRhdGVkIHRvIHZlcnNpb24gJHtmb3JtQ29uZmlnLmRlcGVuZGVuY2llcy5lbmdpbmV9YCk7XG4gICAgICAgICAgICBhd2FpdCB3cml0ZUpzb24oZm9ybUpzb25QYXRoLCBmb3JtQ29uZmlnLCB7IHNwYWNlczogMiB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihg0JLQtdGA0YHQuNC4ICR7ZW5naW5lVmVyc2lvbn0g0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgi5gKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gdXBncmFkZUZvcm1Ub0NpQnVpbGRNb2RlKFxuICAgIHJlc291cmNlc0RpcmVjdG9yeTogc3RyaW5nLFxuICAgIGZhcm1EaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBnZnY6IHN0cmluZyxcbiAgICBsb2dnZXI6IElMb2dnZXJcbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZvcm1EaXJQYXRoID0gcGF0aC5qb2luKGZhcm1EaXJlY3RvcnksIFwiZm9ybXNcIiwgZ2Z2KTtcbiAgICBjb25zdCBmb3JtSnNvblBhdGggPSBwYXRoLmpvaW4oZm9ybURpclBhdGgsIFwiZm9ybS5qc29uXCIpO1xuICAgIGlmICghKGF3YWl0IHBhdGhFeGlzdHMoZm9ybUpzb25QYXRoKSkpIHtcbiAgICAgICAgbG9nZ2VyLndhcm5pbmcoXCJmb3JtLmpzb24gZG9lcyBub3QgZXhpc3RzLiBVcGdyYWRlIHNraXBwZWQuXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGdlbmVyYXRlZEZvcm1EaXJlY3RvcnkgPSBwYXRoLmpvaW4oZm9ybURpclBhdGgsIFwiZm9ybVwiKTtcbiAgICBpZiAoIWlzTmV3Rm9ybUpzb25Gb3JtYXQoZm9ybUpzb25QYXRoKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBcItCk0LDQudC7IGZvcm0uanNvbiDRhNC+0YDQvNGLINC00L7Qu9C20LXQvSDQuNC80LXRgtGMINC90L7QstGL0Lkg0YTQvtGA0LzQsNGCINC30LDQstC40YHQuNC80L7RgdGC0LguINCe0LHRgNCw0YLQuNGC0LXRgdGMINC6INGA0LDRgdC30YDQsNCx0L7RgtGH0LjQutCw0Lwg0LfQsCDRgNCw0LfRitGP0YHQvdC10L3QuNGP0LzQuC5cIlxuICAgICAgICApO1xuICAgIH1cbiAgICBjb25zdCBmb3JtQ29uZmlnID0gYXdhaXQgcmVhZEZvcm1Db25maWcoZm9ybUpzb25QYXRoLCBnZXRMb2dnZXIoKSk7XG4gICAgaWYgKGZvcm1Db25maWcuYnVpbGQgIT09IFwiY2lcIikge1xuICAgICAgICBmb3JtQ29uZmlnLmJ1aWxkID0gXCJjaVwiO1xuICAgICAgICBhd2FpdCB3cml0ZUpzb24oZm9ybUpzb25QYXRoLCBmb3JtQ29uZmlnLCB7IHNwYWNlczogMiB9KTtcbiAgICAgICAgbG9nZ2VyLmxvZyhcIlVwZGF0ZWQgZm9ybS5qc29uXCIpO1xuICAgIH1cbiAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhnZW5lcmF0ZWRGb3JtRGlyZWN0b3J5KSkge1xuICAgICAgICBhd2FpdCByZW1vdmUoZ2VuZXJhdGVkRm9ybURpcmVjdG9yeSk7XG4gICAgICAgIGxvZ2dlci5sb2coXCJSZW1vdmVkIGZvcm0gZGlyZWN0b3J5XCIpO1xuICAgIH1cbiAgICBjb25zdCBmb3JtR2l0SWdub3JlUGF0aCA9IHBhdGguam9pbihmb3JtRGlyUGF0aCwgXCIuZ2l0aWdub3JlXCIpO1xuICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKGZvcm1HaXRJZ25vcmVQYXRoKSkge1xuICAgICAgICBjb25zdCBnaXRJZ25vcmVDb250ZW50ID0gYXdhaXQgcmVhZEZpbGUoZm9ybUdpdElnbm9yZVBhdGgsIFwidXRmOFwiKTtcbiAgICAgICAgaWYgKCFnaXRJZ25vcmVDb250ZW50LnNwbGl0KFwiXFxuXCIpLmluY2x1ZGVzKFwiZm9ybVwiKSkge1xuICAgICAgICAgICAgYXdhaXQgd3JpdGVGaWxlKGZvcm1HaXRJZ25vcmVQYXRoLCBnaXRJZ25vcmVDb250ZW50LnRyaW1SaWdodCgpICsgXCJcXG5cIiArIFwiZm9ybVxcblwiKTtcbiAgICAgICAgICAgIGxvZ2dlci5sb2coXCJVcGRhdGVkIC5naXRpZ25vcmVcIik7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBhd2FpdCB3cml0ZUZpbGUoZm9ybUdpdElnbm9yZVBhdGgsIFwiZm9ybVxcblwiKTtcbiAgICAgICAgbG9nZ2VyLmxvZyhcIkNyZWF0ZWQgLmdpdGlnbm9yZVwiKTtcbiAgICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHVwZ3JhZGVGb3JtUHJlcmVsZWFzZShcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgZ2Z2OiBzdHJpbmcsXG4gICAgcHJlaWQ6IHN0cmluZyxcbiAgICBsb2dnZXI6IElMb2dnZXJcbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZvcm1EaXJQYXRoID0gcGF0aC5qb2luKGZhcm1EaXJlY3RvcnksIFwiZm9ybXNcIiwgZ2Z2KTtcbiAgICBjb25zdCBmb3JtSnNvblBhdGggPSBwYXRoLmpvaW4oZm9ybURpclBhdGgsIFwiZm9ybS5qc29uXCIpO1xuICAgIGNvbnN0IGZvcm1Db25maWcgPSBhd2FpdCByZWFkRm9ybUNvbmZpZyhmb3JtSnNvblBhdGgsIGxvZ2dlcik7XG4gICAgY29uc3QgcHJlcmVsZWFzZVZlcnNpb25Gb3JtSnNvbiA9IGF3YWl0IGdldFByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24ocHJlaWQpO1xuXG4gICAgaWYgKHByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24gIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzID0geyBlbmdpbmU6IHByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24sIGdlbmVyYXRvcjogcHJlcmVsZWFzZVZlcnNpb25Gb3JtSnNvbiB9O1xuICAgICAgICBsb2dnZXIubG9nKGBVcGRhdGVkIHRvIHByZXJlbGVhc2UgdmVyc2lvbiAke2Zvcm1Db25maWcuZGVwZW5kZW5jaWVzLmVuZ2luZX1gKTtcbiAgICAgICAgYXdhaXQgd3JpdGVKc29uKGZvcm1Kc29uUGF0aCwgZm9ybUNvbmZpZywgeyBzcGFjZXM6IDIgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGDQktC10YDRgdC40LggJHtwcmVpZH0g0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgi5gKTtcbiAgICB9XG59XG4iXX0=
|