@kontur.candy/tools 2.189.2 → 2.190.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/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js +2 -2
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js.map +1 -1
- package/distr/Tools/src/CandyCLI.js +1 -8
- package/distr/Tools/src/CandyCLI.js.map +1 -1
- package/distr/Tools/src/Commons/GetCpuLimits.js +28 -0
- package/distr/Tools/src/Commons/GetCpuLimits.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js +5 -5
- package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js.map +1 -1
- package/distr/Tools/src/Keys/localhost-key.pem +111 -30
- package/distr/Tools/src/Keys/localhost.pem +30 -75
- package/package.json +1 -1
|
@@ -46,7 +46,7 @@ async function runFormCompilationViaWebpackDevServer(gfv, farmDirectory, formPat
|
|
|
46
46
|
webSocketURL: `wss://localhost.testkontur.ru:${port}/ws`
|
|
47
47
|
}
|
|
48
48
|
}, compiler);
|
|
49
|
-
server.
|
|
49
|
+
await server.start();
|
|
50
50
|
await (0, _AsyncUtils.delay)(1000);
|
|
51
51
|
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2VicGFjayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3dlYnBhY2tEZXZTZXJ2ZXIiLCJfQXN5bmNVdGlscyIsIl9jcmVhdGVGb3JtV2VicGFja0NvbmZpZ3VyYXRpb24iLCJydW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyIiwiZ2Z2IiwiZmFybURpcmVjdG9yeSIsImZvcm1QYXRoIiwicmVzb3VyY2VzRGlyZWN0b3J5IiwicmVzb3VyY2VzSGFzaCIsImJ1aWxkRGVidWdPbmx5IiwiZmlsZVN5c3RlbSIsInBvcnQiLCJjb25maWdzIiwiY3JlYXRlQ29uZmlnIiwibW9kZXMiLCJyZXNvdXJjZXNEaXJlY3RvcnlQYXRoIiwiY29tcGlsZXIiLCJ3ZWJwYWNrIiwiaW5wdXRGaWxlU3lzdGVtIiwiY29tcGlsZXJzIiwic2V0SW5uZXJJbnB1dEZpbGVTeXN0ZW0iLCJzaW5nbGVDb21waWxlciIsIndhdGNoRmlsZVN5c3RlbSIsInNlcnZlciIsIldlYnBhY2tEZXZTZXJ2ZXIiLCJhbGxvd2VkSG9zdHMiLCJ0eXBlIiwib3B0aW9ucyIsImNlcnQiLCJyZXNvbHZlIiwia2V5IiwiY2xpZW50Iiwib3ZlcmxheSIsIndlYlNvY2tldFVSTCIsInN0YXJ0IiwiZGVsYXkiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUmVzb3VyY2VzQ29udHJvbGxlcnMvRGV2U2VydmVycy9SdW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB3ZWJwYWNrIGZyb20gXCJ3ZWJwYWNrXCI7XG5pbXBvcnQgV2VicGFja0RldlNlcnZlciBmcm9tIFwid2VicGFjay1kZXYtc2VydmVyXCI7XG5cbmltcG9ydCB7IGRlbGF5IH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9Bc3luY1V0aWxzXCI7XG5pbXBvcnQgeyBjcmVhdGVDb25maWcgfSBmcm9tIFwiLi4vLi4vLi4vLi4vRm9ybVdlYnBhY2tDb25maWd1cmF0aW9uL2NyZWF0ZUZvcm1XZWJwYWNrQ29uZmlndXJhdGlvblwiO1xuXG5pbXBvcnQgeyBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSB9IGZyb20gXCIuL1dlYnBhY2tJbk1lbW9yeVV0aWxzL1dlYnBhY2tIeWJyaWRGaWxlU3lzdGVtXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyKFxuICAgIGdmdjogc3RyaW5nLFxuICAgIGZhcm1EaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBmb3JtUGF0aDogc3RyaW5nLFxuICAgIHJlc291cmNlc0RpcmVjdG9yeTogc3RyaW5nLFxuICAgIHJlc291cmNlc0hhc2g6IHN0cmluZyxcbiAgICBidWlsZERlYnVnT25seTogYm9vbGVhbixcbiAgICBmaWxlU3lzdGVtOiBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSxcbiAgICBwb3J0OiBudW1iZXJcbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbmZpZ3MgPSBhd2FpdCBjcmVhdGVDb25maWcoe1xuICAgICAgICBnZnY6IGdmdixcbiAgICAgICAgcmVzb3VyY2VzSGFzaDogcmVzb3VyY2VzSGFzaCxcbiAgICAgICAgZm9ybVBhdGg6IGZvcm1QYXRoLFxuICAgICAgICBtb2RlczogYnVpbGREZWJ1Z09ubHkgPyBbXCJkZXZlbG9wbWVudFwiXSA6IFtcInByb2R1Y3Rpb25cIiwgXCJkZXZlbG9wbWVudFwiXSxcbiAgICAgICAgcmVzb3VyY2VzRGlyZWN0b3J5UGF0aDogcmVzb3VyY2VzRGlyZWN0b3J5LFxuICAgIH0pO1xuXG4gICAgY29uc3QgY29tcGlsZXIgPSB3ZWJwYWNrKGNvbmZpZ3MpO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGNvbnN0IGlucHV0RmlsZVN5c3RlbSA9IGNvbXBpbGVyLmNvbXBpbGVyc1swXS5pbnB1dEZpbGVTeXN0ZW0gYXMgYW55O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFyZ3VtZW50XG4gICAgZmlsZVN5c3RlbS5zZXRJbm5lcklucHV0RmlsZVN5c3RlbShpbnB1dEZpbGVTeXN0ZW0pO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZm9yIChjb25zdCBzaW5nbGVDb21waWxlciBvZiBjb21waWxlci5jb21waWxlcnMgYXMgYW55W10pIHtcbiAgICAgICAgc2luZ2xlQ29tcGlsZXIuaW5wdXRGaWxlU3lzdGVtID0gZmlsZVN5c3RlbTtcbiAgICAgICAgc2luZ2xlQ29tcGlsZXIud2F0Y2hGaWxlU3lzdGVtID0gZmlsZVN5c3RlbTtcbiAgICB9XG4gICAgLy8gdHNsaW50OmVuYWJsZSBuby1hbnkgbm8tdW5zYWZlLWFueVxuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHNlcnZlciA9IG5ldyBXZWJwYWNrRGV2U2VydmVyKFxuICAgICAgICB7XG4gICAgICAgICAgICBwb3J0OiBwb3J0LFxuICAgICAgICAgICAgYWxsb3dlZEhvc3RzOiBcImFsbFwiLFxuICAgICAgICAgICAgc2VydmVyOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJodHRwc1wiLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgY2VydDogcmVxdWlyZS5yZXNvbHZlKFwiLi4vLi4vLi4vLi4vS2V5cy9sb2NhbGhvc3QucGVtXCIpLFxuICAgICAgICAgICAgICAgICAgICBrZXk6IHJlcXVpcmUucmVzb2x2ZShcIi4uLy4uLy4uLy4uL0tleXMvbG9jYWxob3N0LWtleS5wZW1cIiksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjbGllbnQ6IHtcbiAgICAgICAgICAgICAgICBvdmVybGF5OiBmYWxzZSxcbiAgICAgICAgICAgICAgICB3ZWJTb2NrZXRVUkw6IGB3c3M6Ly9sb2NhbGhvc3QudGVzdGtvbnR1ci5ydToke3BvcnR9L3dzYCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGNvbXBpbGVyXG4gICAgKTtcbiAgICBhd2FpdCBzZXJ2ZXIuc3RhcnQoKTtcbiAgICBhd2FpdCBkZWxheSgxMDAwKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRywrQkFBQSxHQUFBSCxPQUFBO0FBSU8sZUFBZUkscUNBQXFDQSxDQUN2REMsR0FBVyxFQUNYQyxhQUFxQixFQUNyQkMsUUFBZ0IsRUFDaEJDLGtCQUEwQixFQUMxQkMsYUFBcUIsRUFDckJDLGNBQXVCLEVBQ3ZCQyxVQUFtQyxFQUNuQ0MsSUFBWSxFQUNDO0VBQ2IsTUFBTUMsT0FBTyxHQUFHLE1BQU0sSUFBQUMsNENBQVksRUFBQztJQUMvQlQsR0FBRyxFQUFFQSxHQUFHO0lBQ1JJLGFBQWEsRUFBRUEsYUFBYTtJQUM1QkYsUUFBUSxFQUFFQSxRQUFRO0lBQ2xCUSxLQUFLLEVBQUVMLGNBQWMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztJQUN2RU0sc0JBQXNCLEVBQUVSO0VBQzVCLENBQUMsQ0FBQztFQUVGLE1BQU1TLFFBQVEsR0FBRyxJQUFBQyxnQkFBTyxFQUFDTCxPQUFPLENBQUM7RUFDakM7RUFDQTtFQUNBLE1BQU1NLGVBQWUsR0FBR0YsUUFBUSxDQUFDRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUNELGVBQXNCO0VBQ3BFO0VBQ0FSLFVBQVUsQ0FBQ1UsdUJBQXVCLENBQUNGLGVBQWUsQ0FBQztFQUNuRDtFQUNBLEtBQUssTUFBTUcsY0FBYyxJQUFJTCxRQUFRLENBQUNHLFNBQVMsRUFBVztJQUN0REUsY0FBYyxDQUFDSCxlQUFlLEdBQUdSLFVBQVU7SUFDM0NXLGNBQWMsQ0FBQ0MsZUFBZSxHQUFHWixVQUFVO0VBQy9DO0VBQ0E7O0VBRUE7RUFDQSxNQUFNYSxNQUFNLEdBQUcsSUFBSUMseUJBQWdCLENBQy9CO0lBQ0liLElBQUksRUFBRUEsSUFBSTtJQUNWYyxZQUFZLEVBQUUsS0FBSztJQUNuQkYsTUFBTSxFQUFFO01BQ0pHLElBQUksRUFBRSxPQUFPO01BQ2JDLE9BQU8sRUFBRTtRQUNMQyxJQUFJLEVBQUU3QixPQUFPLENBQUM4QixPQUFPLGlDQUFpQyxDQUFDO1FBQ3ZEQyxHQUFHLEVBQUUvQixPQUFPLENBQUM4QixPQUFPLHFDQUFxQztNQUM3RDtJQUNKLENBQUM7SUFDREUsTUFBTSxFQUFFO01BQ0pDLE9BQU8sRUFBRSxLQUFLO01BQ2RDLFlBQVksRUFBRSxpQ0FBaUN0QixJQUFJO0lBQ3ZEO0VBQ0osQ0FBQyxFQUNESyxRQUNKLENBQUM7RUFDRCxNQUFNTyxNQUFNLENBQUNXLEtBQUssQ0FBQyxDQUFDO0VBQ3BCLE1BQU0sSUFBQUMsaUJBQUssRUFBQyxJQUFJLENBQUM7QUFDckIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunFormCompilationViaWebpackDevServer.js","names":["_webpack","_interopRequireDefault","require","_webpackDevServer","_AsyncUtils","_createFormWebpackConfiguration","runFormCompilationViaWebpackDevServer","gfv","farmDirectory","formPath","resourcesDirectory","resourcesHash","buildDebugOnly","fileSystem","port","configs","createConfig","modes","resourcesDirectoryPath","compiler","webpack","inputFileSystem","compilers","setInnerInputFileSystem","singleCompiler","watchFileSystem","server","WebpackDevServer","allowedHosts","type","options","cert","resolve","key","client","overlay","webSocketURL","
|
|
1
|
+
{"version":3,"file":"RunFormCompilationViaWebpackDevServer.js","names":["_webpack","_interopRequireDefault","require","_webpackDevServer","_AsyncUtils","_createFormWebpackConfiguration","runFormCompilationViaWebpackDevServer","gfv","farmDirectory","formPath","resourcesDirectory","resourcesHash","buildDebugOnly","fileSystem","port","configs","createConfig","modes","resourcesDirectoryPath","compiler","webpack","inputFileSystem","compilers","setInnerInputFileSystem","singleCompiler","watchFileSystem","server","WebpackDevServer","allowedHosts","type","options","cert","resolve","key","client","overlay","webSocketURL","start","delay"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.ts"],"sourcesContent":["import webpack from \"webpack\";\nimport WebpackDevServer from \"webpack-dev-server\";\n\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { createConfig } from \"../../../../FormWebpackConfiguration/createFormWebpackConfiguration\";\n\nimport { WebpackHybridFileSystem } from \"./WebpackInMemoryUtils/WebpackHybridFileSystem\";\n\nexport async function runFormCompilationViaWebpackDevServer(\n gfv: string,\n farmDirectory: string,\n formPath: string,\n resourcesDirectory: string,\n resourcesHash: string,\n buildDebugOnly: boolean,\n fileSystem: WebpackHybridFileSystem,\n port: number\n): Promise<void> {\n const configs = await createConfig({\n gfv: gfv,\n resourcesHash: resourcesHash,\n formPath: formPath,\n modes: buildDebugOnly ? [\"development\"] : [\"production\", \"development\"],\n resourcesDirectoryPath: resourcesDirectory,\n });\n\n const compiler = webpack(configs);\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const inputFileSystem = compiler.compilers[0].inputFileSystem as any;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n fileSystem.setInnerInputFileSystem(inputFileSystem);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n for (const singleCompiler of compiler.compilers as any[]) {\n singleCompiler.inputFileSystem = fileSystem;\n singleCompiler.watchFileSystem = fileSystem;\n }\n // tslint:enable no-any no-unsafe-any\n\n // @ts-ignore\n const server = new WebpackDevServer(\n {\n port: port,\n allowedHosts: \"all\",\n server: {\n type: \"https\",\n options: {\n cert: require.resolve(\"../../../../Keys/localhost.pem\"),\n key: require.resolve(\"../../../../Keys/localhost-key.pem\"),\n },\n },\n client: {\n overlay: false,\n webSocketURL: `wss://localhost.testkontur.ru:${port}/ws`,\n },\n },\n compiler\n );\n await server.start();\n await delay(1000);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,+BAAA,GAAAH,OAAA;AAIO,eAAeI,qCAAqCA,CACvDC,GAAW,EACXC,aAAqB,EACrBC,QAAgB,EAChBC,kBAA0B,EAC1BC,aAAqB,EACrBC,cAAuB,EACvBC,UAAmC,EACnCC,IAAY,EACC;EACb,MAAMC,OAAO,GAAG,MAAM,IAAAC,4CAAY,EAAC;IAC/BT,GAAG,EAAEA,GAAG;IACRI,aAAa,EAAEA,aAAa;IAC5BF,QAAQ,EAAEA,QAAQ;IAClBQ,KAAK,EAAEL,cAAc,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC;IACvEM,sBAAsB,EAAER;EAC5B,CAAC,CAAC;EAEF,MAAMS,QAAQ,GAAG,IAAAC,gBAAO,EAACL,OAAO,CAAC;EACjC;EACA;EACA,MAAMM,eAAe,GAAGF,QAAQ,CAACG,SAAS,CAAC,CAAC,CAAC,CAACD,eAAsB;EACpE;EACAR,UAAU,CAACU,uBAAuB,CAACF,eAAe,CAAC;EACnD;EACA,KAAK,MAAMG,cAAc,IAAIL,QAAQ,CAACG,SAAS,EAAW;IACtDE,cAAc,CAACH,eAAe,GAAGR,UAAU;IAC3CW,cAAc,CAACC,eAAe,GAAGZ,UAAU;EAC/C;EACA;;EAEA;EACA,MAAMa,MAAM,GAAG,IAAIC,yBAAgB,CAC/B;IACIb,IAAI,EAAEA,IAAI;IACVc,YAAY,EAAE,KAAK;IACnBF,MAAM,EAAE;MACJG,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE;QACLC,IAAI,EAAE7B,OAAO,CAAC8B,OAAO,iCAAiC,CAAC;QACvDC,GAAG,EAAE/B,OAAO,CAAC8B,OAAO,qCAAqC;MAC7D;IACJ,CAAC;IACDE,MAAM,EAAE;MACJC,OAAO,EAAE,KAAK;MACdC,YAAY,EAAE,iCAAiCtB,IAAI;IACvD;EACJ,CAAC,EACDK,QACJ,CAAC;EACD,MAAMO,MAAM,CAACW,KAAK,CAAC,CAAC;EACpB,MAAM,IAAAC,iBAAK,EAAC,IAAI,CAAC;AACrB","ignoreList":[]}
|
|
@@ -80,14 +80,7 @@ const validateAndPrepareFarmDirectoriesPath = async (allFarmDirectories, current
|
|
|
80
80
|
return result;
|
|
81
81
|
};
|
|
82
82
|
(0, _ConsoleApplication.runConsoleApplication)(async (argv, context) => {
|
|
83
|
-
var _process$env$NODE_OPT;
|
|
84
83
|
remoteInspectFlagToDisableDebuggerInChildProcess();
|
|
85
|
-
context.logger.log("NODE_OPTIONS: " + ((_process$env$NODE_OPT = process.env["NODE_OPTIONS"]) !== null && _process$env$NODE_OPT !== void 0 ? _process$env$NODE_OPT : "<empty>"));
|
|
86
|
-
context.logger.log("execArgv : " + process.execArgv.join(" "));
|
|
87
|
-
setInterval(x => {
|
|
88
|
-
context.logger.log("memoryUsage: ");
|
|
89
|
-
context.logger.log(JSON.stringify(process.memoryUsage(), null, 2));
|
|
90
|
-
}, 1000 * 30);
|
|
91
84
|
context.logger.log("@kontur.candy/tools: " + (await (0, _SelfUpdate.getCurrentVersion)()));
|
|
92
85
|
const parsedArgs = (0, _CandyToolOptions.parseOptions)(argv);
|
|
93
86
|
context.setConsoleLoggingVerbosity(parsedArgs.options.logVerbosity);
|
|
@@ -144,4 +137,4 @@ const validateAndPrepareFarmDirectoriesPath = async (allFarmDirectories, current
|
|
|
144
137
|
await (0, _RunLocalization.runLocalization)(context, parsedArgs.options, farmDirectory, engineDirectory, candyModulesDirectory, farmConfig.hlFarmDirectoryPath);
|
|
145
138
|
}
|
|
146
139
|
});
|
|
147
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3BhdGgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2ZzRXh0cmEiLCJfc2hlbGxqcyIsIl9SdW5CdWlsZEZvcm1zIiwiX1J1bkJ1aWxkU2VydmVyIiwiX1J1bkRldkJ1aWxkIiwiX1J1bkZvcm1TdGF0cyIsIl9SdW5Jbml0Rm9ybSIsIl9SdW5Mb2NhbGl6YXRpb24iLCJfUnVuVXBncmFkZUZvcm0iLCJfQ29uc29sZUFwcGxpY2F0aW9uIiwiX1N0YXRpY0xvZ2dlciIsIl9DYW5keVRvb2xPcHRpb25zIiwiX1JlYWRGYXJtQ29uZmlnIiwiX1NlbGZVcGRhdGUiLCJfUnVuUmVuYW1lRmlsZXMiLCJjb25maWciLCJmYXRhbCIsInJlbW90ZUluc3BlY3RGbGFnVG9EaXNhYmxlRGVidWdnZXJJbkNoaWxkUHJvY2VzcyIsImRlYnVnQXJnSWR4IiwicHJvY2VzcyIsImV4ZWNBcmd2IiwiaW5kZXhPZiIsInNwbGljZSIsImRlYnVnQXJnMklkeCIsInJlbW92ZVRlbXBvcmFyeVdlYnBhY2tDb25maWdGaWxlcyIsImZhcm1EaXJlY3RvcnkiLCJsb2dnZXIiLCJmaWxlcyIsInJlYWRkaXIiLCJvbGRUZW1wRmlsZU5hbWVzIiwiZmlsdGVyIiwieCIsImVuZHNXaXRoIiwibGVuZ3RoIiwibG9nIiwiZmlsZU5hbWUiLCJ1bmxpbmsiLCJwYXRoIiwiam9pbiIsInZhbGlkYXRlRmFybUNvbmZpZyIsImZhcm1Db25maWciLCJyZWFkRmFybUNvbmZpZyIsImVuZ2luZURpcmVjdG9yeSIsInVuZGVmaW5lZCIsIkVycm9yIiwicmVzb3VyY2VzRGlyZWN0b3J5IiwiY2FuZHlNb2R1bGVzRGlyZWN0b3J5IiwicmVzb2x2ZSIsInZhbGlkYXRlQW5kUHJlcGFyZUZhcm1EaXJlY3Rvcmllc1BhdGgiLCJhbGxGYXJtRGlyZWN0b3JpZXMiLCJjdXJyZW50RGlyIiwiY29udGV4dCIsInJlc3VsdCIsInB0aCIsInBhdGhFeGlzdHMiLCJwdXNoIiwicGF0aFRvRmFybSIsInJ1bkNvbnNvbGVBcHBsaWNhdGlvbiIsImFyZ3YiLCJfcHJvY2VzcyRlbnYkTk9ERV9PUFQiLCJlbnYiLCJzZXRJbnRlcnZhbCIsIkpTT04iLCJzdHJpbmdpZnkiLCJtZW1vcnlVc2FnZSIsImdldEN1cnJlbnRWZXJzaW9uIiwicGFyc2VkQXJncyIsInBhcnNlT3B0aW9ucyIsInNldENvbnNvbGVMb2dnaW5nVmVyYm9zaXR5Iiwib3B0aW9ucyIsImxvZ1ZlcmJvc2l0eSIsInNldExvZ2dlciIsInZlcmJvc2UiLCJ0eXBlIiwicnVuSW5pdEZvcm0iLCJjd2QiLCJhbGxGYXJtc0RpciIsIndhcm5pbmciLCJhbGxGYXJtQ29uZmlnIiwiQXJyYXkiLCJpc0FycmF5IiwicnVuRGV2QnVpbGRTZXJ2ZXIiLCJydW5CdWlsZFNlcnZlciIsInJ1bkJ1aWxkRm9ybXMiLCJobEZhcm1EaXJlY3RvcnlQYXRoIiwicnVuRGV2QnVpbGQiLCJydW5Gb3JtU3RhdHMiLCJydW5VcGdyYWRlRm9ybSIsInJ1blJlbmFtZUZpbGVzIiwicnVuTG9jYWxpemF0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0NhbmR5Q0xJLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcImNvcmUtanMvZmVhdHVyZXMvYXJyYXkvZmxhdFwiO1xuaW1wb3J0IFwiY29yZS1qcy9wcm9wb3NhbHMvaXRlcmF0b3ItaGVscGVyc1wiO1xuaW1wb3J0IFwiY29yZS1qcy9zdGFibGVcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IHBhdGhFeGlzdHMsIHJlYWRkaXIsIHVubGluayB9IGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IFwicmVmbGVjdC1tZXRhZGF0YVwiO1xuaW1wb3J0IFwicmVnZW5lcmF0b3ItcnVudGltZS9ydW50aW1lXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwic2hlbGxqc1wiO1xuXG5pbXBvcnQgeyBydW5CdWlsZEZvcm1zIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvQnVpbGRGb3Jtcy9SdW5CdWlsZEZvcm1zXCI7XG5pbXBvcnQgeyBydW5CdWlsZFNlcnZlciwgcnVuRGV2QnVpbGRTZXJ2ZXIgfSBmcm9tIFwiLi9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SdW5CdWlsZFNlcnZlclwiO1xuaW1wb3J0IHsgcnVuRGV2QnVpbGQgfSBmcm9tIFwiLi9DTElDb21tYW5kcy9EZXZCdWlsZC9SdW5EZXZCdWlsZFwiO1xuaW1wb3J0IHsgcnVuRm9ybVN0YXRzIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvRm9ybVN0YXRzL1J1bkZvcm1TdGF0c1wiO1xuaW1wb3J0IHsgcnVuSW5pdEZvcm0gfSBmcm9tIFwiLi9DTElDb21tYW5kcy9Jbml0Rm9ybS9SdW5Jbml0Rm9ybVwiO1xuaW1wb3J0IHsgcnVuTG9jYWxpemF0aW9uIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvTG9jYWxpemF0aW9uL1J1bkxvY2FsaXphdGlvblwiO1xuaW1wb3J0IHsgcnVuVXBncmFkZUZvcm0gfSBmcm9tIFwiLi9DTElDb21tYW5kcy9VcGdyYWRlRm9ybS9SdW5VcGdyYWRlRm9ybVwiO1xuaW1wb3J0IHsgcnVuQ29uc29sZUFwcGxpY2F0aW9uIH0gZnJvbSBcIi4vQ29tbW9ucy9Db25zb2xlQXBwbGljYXRpb24vQ29uc29sZUFwcGxpY2F0aW9uXCI7XG5pbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSBcIi4vQ29tbW9ucy9Mb2dnaW5nL0lMb2dnZXJcIjtcbmltcG9ydCB7IHNldExvZ2dlciB9IGZyb20gXCIuL0NvbW1vbnMvTG9nZ2luZy9TdGF0aWNMb2dnZXJcIjtcbmltcG9ydCB7IHBhcnNlT3B0aW9ucyB9IGZyb20gXCIuL09wdGlvbnMvQ2FuZHlUb29sT3B0aW9uc1wiO1xuaW1wb3J0IHsgcmVhZEZhcm1Db25maWcgfSBmcm9tIFwiLi9SZWFkRmFybUNvbmZpZ1wiO1xuaW1wb3J0IHsgZ2V0Q3VycmVudFZlcnNpb24gfSBmcm9tIFwiLi9TZWxmVXBkYXRlXCI7XG5pbXBvcnQgeyBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSBcIi4vQ29tbW9ucy9Db25zb2xlQXBwbGljYXRpb24vQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dFwiO1xuaW1wb3J0IHsgcnVuUmVuYW1lRmlsZXMgfSBmcm9tIFwiLi9DTElDb21tYW5kcy9SZW5hbWVGaWxlcy9SdW5SZW5hbWVGaWxlc1wiO1xuXG5jb25maWcuZmF0YWwgPSB0cnVlO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZhcm1Db25maWcge1xuICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogc3RyaW5nO1xuICAgIGZhcm1EaXJlY3Rvcnk6IHN0cmluZztcbiAgICBlbmdpbmVEaXJlY3Rvcnk/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgcmVzb3VyY2VzRGlyZWN0b3J5Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGhsRmFybURpcmVjdG9yeVBhdGg6IHN0cmluZztcbn1cblxuZnVuY3Rpb24gcmVtb3RlSW5zcGVjdEZsYWdUb0Rpc2FibGVEZWJ1Z2dlckluQ2hpbGRQcm9jZXNzKCk6IHZvaWQge1xuICAgIGNvbnN0IGRlYnVnQXJnSWR4ID0gcHJvY2Vzcy5leGVjQXJndi5pbmRleE9mKFwiLS1pbnNwZWN0LWJya1wiKTtcbiAgICBpZiAoZGVidWdBcmdJZHggIT09IC0xKSB7XG4gICAgICAgIHByb2Nlc3MuZXhlY0FyZ3Yuc3BsaWNlKGRlYnVnQXJnSWR4LCAxKTtcbiAgICB9XG4gICAgY29uc3QgZGVidWdBcmcySWR4ID0gcHJvY2Vzcy5leGVjQXJndi5pbmRleE9mKFwiLS1pbnNwZWN0XCIpO1xuICAgIGlmIChkZWJ1Z0FyZzJJZHggIT09IC0xKSB7XG4gICAgICAgIHByb2Nlc3MuZXhlY0FyZ3Yuc3BsaWNlKGRlYnVnQXJnMklkeCwgMSk7XG4gICAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiByZW1vdmVUZW1wb3JhcnlXZWJwYWNrQ29uZmlnRmlsZXMoZmFybURpcmVjdG9yeTogc3RyaW5nLCBsb2dnZXI6IElMb2dnZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmaWxlcyA9IGF3YWl0IHJlYWRkaXIoZmFybURpcmVjdG9yeSk7XG4gICAgY29uc3Qgb2xkVGVtcEZpbGVOYW1lcyA9IGZpbGVzLmZpbHRlcih4ID0+IHguZW5kc1dpdGgoXCIuY2FuZHktdG1wLndlYnBhY2suY29uZmlnLmpzXCIpKTtcbiAgICBpZiAob2xkVGVtcEZpbGVOYW1lcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGxvZ2dlci5sb2coXCJSZW1vdmluZyBvbGQgd2VicGFjay5jb25maWcuanMgZmlsZXNcIik7XG4gICAgICAgIGZvciAoY29uc3QgZmlsZU5hbWUgb2Ygb2xkVGVtcEZpbGVOYW1lcykge1xuICAgICAgICAgICAgYXdhaXQgdW5saW5rKHBhdGguam9pbihmYXJtRGlyZWN0b3J5LCBmaWxlTmFtZSkpO1xuICAgICAgICB9XG4gICAgICAgIGxvZ2dlci5sb2coXCJSZW1vdmVkIG9sZCB3ZWJwYWNrLmNvbmZpZy5qcyBmaWxlc1wiKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlRmFybUNvbmZpZyhmYXJtRGlyZWN0b3J5OiBzdHJpbmcpOiBGYXJtQ29uZmlnIHtcbiAgICBjb25zdCBmYXJtQ29uZmlnID0gcmVhZEZhcm1Db25maWcoZmFybURpcmVjdG9yeSk7XG5cbiAgICBpZiAoZmFybUNvbmZpZy5lbmdpbmVEaXJlY3RvcnkgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkVuZ2luZURpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkXCIpO1xuICAgIH1cbiAgICBpZiAoZmFybUNvbmZpZy5yZXNvdXJjZXNEaXJlY3RvcnkgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlJlc291cmNlc0RpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IHBhdGgucmVzb2x2ZShmYXJtRGlyZWN0b3J5LCBcIi4uXCIsIFwiLmNhbmR5X21vZHVsZXNcIik7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZmFybUNvbmZpZyxcbiAgICAgICAgZmFybURpcmVjdG9yeTogZmFybURpcmVjdG9yeSxcbiAgICAgICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBjYW5keU1vZHVsZXNEaXJlY3RvcnksXG4gICAgfTtcbn1cblxuY29uc3QgdmFsaWRhdGVBbmRQcmVwYXJlRmFybURpcmVjdG9yaWVzUGF0aCA9IGFzeW5jIChcbiAgICBhbGxGYXJtRGlyZWN0b3JpZXM6IHN0cmluZ1tdLFxuICAgIGN1cnJlbnREaXI6IHN0cmluZyxcbiAgICBjb250ZXh0OiBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0XG4pOiBQcm9taXNlPEZhcm1Db25maWdbXT4gPT4ge1xuICAgIGNvbnN0IHJlc3VsdDogRmFybUNvbmZpZ1tdID0gW107XG4gICAgZm9yIChjb25zdCBwdGggb2YgYWxsRmFybURpcmVjdG9yaWVzKSB7XG4gICAgICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKHBhdGguam9pbihwdGgsIFwiY29uZmlnLmpzXCIpKSkge1xuICAgICAgICAgICAgYXdhaXQgcmVtb3ZlVGVtcG9yYXJ5V2VicGFja0NvbmZpZ0ZpbGVzKHB0aCwgY29udGV4dC5sb2dnZXIpO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godmFsaWRhdGVGYXJtQ29uZmlnKHB0aCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8g0JLRgdC1INC00LXQu9C+INCyINGC0L7QvCwg0YfRgtC+INGB0LLRj9C30LrQsCBzZXJ2aWNlLXJ1bm5lci0yICsgdG9vbHMg0LrQvtGA0YDQtdC60YLQvdC+INGA0LDQsdC+0YLQsNC10YIg0YLQvtC70YzQutC+INCyINC/0LDQv9C60LUg0YEg0YTQvtGA0LzQvtC5XG4gICAgICAgICAgICAvLyDQuNC3INC30LAg0YfQtdCz0L4sINCy0L3Rg9GC0YDQuCDRgNCw0L3QvdC10YDQsCDQvdCw0L/QuNC70LXQvSDRhdC40YLRgNGL0Lkg0LzQtdGF0LDQvdC40LfQvCDQv9C+0LjRgdC60LAg0L/Rg9GC0LXQuSDRhNC+0YDQvNGLLiDQn9C10YDQtdC/0LjQu9C40LLQsNGC0Ywg0LLRgdC1INC80LXRhdCw0L3QuNC60LhcbiAgICAgICAgICAgIC8vINGB0L7QstGB0LXQvCDQvdC1INGF0L7Rh9C10YLRgdGPLCDQv9C+0Y3RgtC+0LzRgyDQtNC70Y8g0L3QsNGBLCDRgdGH0LjRgtCw0Y4g0L/QvtC00L3Rj9GC0LjQtSDQtNC+INGD0YDQvtCy0L3RjyBlbmdpbmUg0LLQv9C+0LvQvdC1INC/0YDQuNC10LzQu9C10LzRi9C8INGA0LXRiNC10L3QuNC10LxcbiAgICAgICAgICAgIGNvbnN0IHBhdGhUb0Zhcm0gPSBwYXRoLmpvaW4oY3VycmVudERpciwgXCIuLlwiLCBcIi4uXCIsIFwiLi5cIiwgcHRoKTtcbiAgICAgICAgICAgIGlmICghKGF3YWl0IHBhdGhFeGlzdHMocGF0aFRvRmFybSkpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoYGFsbEZhcm1EaXJlY3RvcmllcyBwYXRoID0gJHtwYXRoVG9GYXJtfSBub3QgZXhpc3RgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF3YWl0IHJlbW92ZVRlbXBvcmFyeVdlYnBhY2tDb25maWdGaWxlcyhwYXRoVG9GYXJtLCBjb250ZXh0LmxvZ2dlcik7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh2YWxpZGF0ZUZhcm1Db25maWcocGF0aFRvRmFybSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59O1xuXG5ydW5Db25zb2xlQXBwbGljYXRpb24oYXN5bmMgKGFyZ3YsIGNvbnRleHQpID0+IHtcbiAgICByZW1vdGVJbnNwZWN0RmxhZ1RvRGlzYWJsZURlYnVnZ2VySW5DaGlsZFByb2Nlc3MoKTtcblxuICAgIGNvbnRleHQubG9nZ2VyLmxvZyhcIk5PREVfT1BUSU9OUzogXCIgKyAocHJvY2Vzcy5lbnZbXCJOT0RFX09QVElPTlNcIl0gPz8gXCI8ZW1wdHk+XCIpKTtcbiAgICBjb250ZXh0LmxvZ2dlci5sb2coXCJleGVjQXJndiAgICA6IFwiICsgcHJvY2Vzcy5leGVjQXJndi5qb2luKFwiIFwiKSk7XG5cbiAgICBzZXRJbnRlcnZhbCh4ID0+IHtcbiAgICAgICAgY29udGV4dC5sb2dnZXIubG9nKFwibWVtb3J5VXNhZ2U6IFwiKTtcbiAgICAgICAgY29udGV4dC5sb2dnZXIubG9nKEpTT04uc3RyaW5naWZ5KHByb2Nlc3MubWVtb3J5VXNhZ2UoKSwgbnVsbCwgMikpO1xuICAgIH0sIDEwMDAgKiAzMCk7XG5cbiAgICBjb250ZXh0LmxvZ2dlci5sb2coXCJAa29udHVyLmNhbmR5L3Rvb2xzOiBcIiArIChhd2FpdCBnZXRDdXJyZW50VmVyc2lvbigpKSk7XG4gICAgY29uc3QgcGFyc2VkQXJncyA9IHBhcnNlT3B0aW9ucyhhcmd2KTtcblxuICAgIGNvbnRleHQuc2V0Q29uc29sZUxvZ2dpbmdWZXJib3NpdHkocGFyc2VkQXJncy5vcHRpb25zLmxvZ1ZlcmJvc2l0eSk7XG4gICAgc2V0TG9nZ2VyKGNvbnRleHQubG9nZ2VyKTtcbiAgICBjb250ZXh0LmxvZ2dlci52ZXJib3NlKGBWZXJib3NlIGxldmVsOiAke3BhcnNlZEFyZ3Mub3B0aW9ucy5sb2dWZXJib3NpdHl9YCk7XG5cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcImluaXQtZm9ybVwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkluaXRGb3JtKGNvbnRleHQsIHBhcnNlZEFyZ3Mub3B0aW9ucyk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmYXJtRGlyZWN0b3J5ID0gcHJvY2Vzcy5jd2QoKTtcbiAgICBhd2FpdCByZW1vdmVUZW1wb3JhcnlXZWJwYWNrQ29uZmlnRmlsZXMoZmFybURpcmVjdG9yeSwgY29udGV4dC5sb2dnZXIpO1xuICAgIGNvbnN0IGZhcm1Db25maWcgPSByZWFkRmFybUNvbmZpZyhmYXJtRGlyZWN0b3J5KTtcblxuICAgIGlmIChmYXJtQ29uZmlnLmVuZ2luZURpcmVjdG9yeSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW5naW5lRGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWRcIik7XG4gICAgfVxuICAgIGlmIChmYXJtQ29uZmlnLnJlc291cmNlc0RpcmVjdG9yeSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVzb3VyY2VzRGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWRcIik7XG4gICAgfVxuXG4gICAgY29uc3QgZW5naW5lRGlyZWN0b3J5ID0gcGF0aC5yZXNvbHZlKGZhcm1Db25maWcuZW5naW5lRGlyZWN0b3J5KTtcbiAgICBjb25zdCByZXNvdXJjZXNEaXJlY3RvcnkgPSBwYXRoLnJlc29sdmUoZmFybUNvbmZpZy5yZXNvdXJjZXNEaXJlY3RvcnkpO1xuICAgIGNvbnN0IGNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IHBhdGgucmVzb2x2ZShmYXJtRGlyZWN0b3J5LCBcIi4uXCIsIFwiLmNhbmR5X21vZHVsZXNcIik7XG5cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcImJ1aWxkLXNlcnZlclwiIHx8IHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJkZXYtYnVpbGQtc2VydmVyXCIpIHtcbiAgICAgICAgY29uc3QgYWxsRmFybURpcmVjdG9yaWVzID0gcGFyc2VkQXJncy5vcHRpb25zLmFsbEZhcm1zRGlyO1xuICAgICAgICBjb250ZXh0LmxvZ2dlci53YXJuaW5nKGBhbGxGYXJtRGlyZWN0b3JpZXMgPSAke3BhcnNlZEFyZ3Mub3B0aW9ucy5hbGxGYXJtc0Rpcn1gKTtcbiAgICAgICAgbGV0IGFsbEZhcm1Db25maWc7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFsbEZhcm1EaXJlY3RvcmllcykgJiYgYWxsRmFybURpcmVjdG9yaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGFsbEZhcm1Db25maWcgPSBhd2FpdCB2YWxpZGF0ZUFuZFByZXBhcmVGYXJtRGlyZWN0b3JpZXNQYXRoKGFsbEZhcm1EaXJlY3RvcmllcywgZmFybURpcmVjdG9yeSwgY29udGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250ZXh0LmxvZ2dlci53YXJuaW5nKGBVc2UgZGVmYXVsdCBjYW5keUZhcm0gcGF0aCBkaXIgPSAke2Zhcm1EaXJlY3Rvcnl9YCk7XG4gICAgICAgICAgICBhbGxGYXJtQ29uZmlnID0gYXdhaXQgdmFsaWRhdGVBbmRQcmVwYXJlRmFybURpcmVjdG9yaWVzUGF0aChbZmFybURpcmVjdG9yeV0sIGZhcm1EaXJlY3RvcnksIGNvbnRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJkZXYtYnVpbGQtc2VydmVyXCIpIHtcbiAgICAgICAgICAgIGF3YWl0IHJ1bkRldkJ1aWxkU2VydmVyKGNvbnRleHQsIHBhcnNlZEFyZ3Mub3B0aW9ucywgYWxsRmFybUNvbmZpZyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhd2FpdCBydW5CdWlsZFNlcnZlcihjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIGFsbEZhcm1Db25maWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJidWlsZFwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkJ1aWxkRm9ybXMoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcGFyc2VkQXJncy5vcHRpb25zLFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIHJlc291cmNlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwiZGV2LWJ1aWxkXCIpIHtcbiAgICAgICAgYXdhaXQgcnVuRGV2QnVpbGQoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcGFyc2VkQXJncy5vcHRpb25zLFxuICAgICAgICAgICAgZW5naW5lRGlyZWN0b3J5LFxuICAgICAgICAgICAgcmVzb3VyY2VzRGlyZWN0b3J5LFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwiZm9ybS1zdGF0c1wiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkZvcm1TdGF0cyhjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIGZhcm1EaXJlY3RvcnkpO1xuICAgIH1cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcInVwZ3JhZGVcIikge1xuICAgICAgICBhd2FpdCBydW5VcGdyYWRlRm9ybShjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIHJlc291cmNlc0RpcmVjdG9yeSwgZmFybURpcmVjdG9yeSk7XG4gICAgfVxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwicmVuYW1lXCIpIHtcbiAgICAgICAgYXdhaXQgcnVuUmVuYW1lRmlsZXMoY29udGV4dCwgcGFyc2VkQXJncy5vcHRpb25zLCByZXNvdXJjZXNEaXJlY3RvcnksIGZhcm1EaXJlY3RvcnkpO1xuICAgIH1cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcImxvY2FsaXplXCIpIHtcbiAgICAgICAgYXdhaXQgcnVuTG9jYWxpemF0aW9uKFxuICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgIHBhcnNlZEFyZ3Mub3B0aW9ucyxcbiAgICAgICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICBlbmdpbmVEaXJlY3RvcnksXG4gICAgICAgICAgICBjYW5keU1vZHVsZXNEaXJlY3RvcnksXG4gICAgICAgICAgICBmYXJtQ29uZmlnLmhsRmFybURpcmVjdG9yeVBhdGhcbiAgICAgICAgKTtcbiAgICB9XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUFBLE9BQUE7QUFDQUEsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsUUFBQSxHQUFBSCxPQUFBO0FBQ0FBLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLGNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFlBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLGFBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFlBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGdCQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxlQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxtQkFBQSxHQUFBWixPQUFBO0FBRUEsSUFBQWEsYUFBQSxHQUFBYixPQUFBO0FBQ0EsSUFBQWMsaUJBQUEsR0FBQWQsT0FBQTtBQUNBLElBQUFlLGVBQUEsR0FBQWYsT0FBQTtBQUNBLElBQUFnQixXQUFBLEdBQUFoQixPQUFBO0FBRUEsSUFBQWlCLGVBQUEsR0FBQWpCLE9BQUE7QUFFQWtCLGVBQU0sQ0FBQ0MsS0FBSyxHQUFHLElBQUk7QUFVbkIsU0FBU0MsZ0RBQWdEQSxDQUFBLEVBQVM7RUFDOUQsTUFBTUMsV0FBVyxHQUFHQyxPQUFPLENBQUNDLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDLGVBQWUsQ0FBQztFQUM3RCxJQUFJSCxXQUFXLEtBQUssQ0FBQyxDQUFDLEVBQUU7SUFDcEJDLE9BQU8sQ0FBQ0MsUUFBUSxDQUFDRSxNQUFNLENBQUNKLFdBQVcsRUFBRSxDQUFDLENBQUM7RUFDM0M7RUFDQSxNQUFNSyxZQUFZLEdBQUdKLE9BQU8sQ0FBQ0MsUUFBUSxDQUFDQyxPQUFPLENBQUMsV0FBVyxDQUFDO0VBQzFELElBQUlFLFlBQVksS0FBSyxDQUFDLENBQUMsRUFBRTtJQUNyQkosT0FBTyxDQUFDQyxRQUFRLENBQUNFLE1BQU0sQ0FBQ0MsWUFBWSxFQUFFLENBQUMsQ0FBQztFQUM1QztBQUNKO0FBRUEsZUFBZUMsaUNBQWlDQSxDQUFDQyxhQUFxQixFQUFFQyxNQUFlLEVBQWlCO0VBQ3BHLE1BQU1DLEtBQUssR0FBRyxNQUFNLElBQUFDLGdCQUFPLEVBQUNILGFBQWEsQ0FBQztFQUMxQyxNQUFNSSxnQkFBZ0IsR0FBR0YsS0FBSyxDQUFDRyxNQUFNLENBQUNDLENBQUMsSUFBSUEsQ0FBQyxDQUFDQyxRQUFRLENBQUMsOEJBQThCLENBQUMsQ0FBQztFQUN0RixJQUFJSCxnQkFBZ0IsQ0FBQ0ksTUFBTSxHQUFHLENBQUMsRUFBRTtJQUM3QlAsTUFBTSxDQUFDUSxHQUFHLENBQUMsc0NBQXNDLENBQUM7SUFDbEQsS0FBSyxNQUFNQyxRQUFRLElBQUlOLGdCQUFnQixFQUFFO01BQ3JDLE1BQU0sSUFBQU8sZUFBTSxFQUFDQyxhQUFJLENBQUNDLElBQUksQ0FBQ2IsYUFBYSxFQUFFVSxRQUFRLENBQUMsQ0FBQztJQUNwRDtJQUNBVCxNQUFNLENBQUNRLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQztFQUNyRDtBQUNKO0FBRUEsU0FBU0ssa0JBQWtCQSxDQUFDZCxhQUFxQixFQUFjO0VBQzNELE1BQU1lLFVBQVUsR0FBRyxJQUFBQyw4QkFBYyxFQUFDaEIsYUFBYSxDQUFDO0VBRWhELElBQUllLFVBQVUsQ0FBQ0UsZUFBZSxJQUFJQyxTQUFTLEVBQUU7SUFDekMsTUFBTSxJQUFJQyxLQUFLLENBQUMsa0NBQWtDLENBQUM7RUFDdkQ7RUFDQSxJQUFJSixVQUFVLENBQUNLLGtCQUFrQixJQUFJRixTQUFTLEVBQUU7SUFDNUMsTUFBTSxJQUFJQyxLQUFLLENBQUMscUNBQXFDLENBQUM7RUFDMUQ7RUFFQSxNQUFNRSxxQkFBcUIsR0FBR1QsYUFBSSxDQUFDVSxPQUFPLENBQUN0QixhQUFhLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixDQUFDO0VBQ2pGLE9BQU87SUFDSCxHQUFHZSxVQUFVO0lBQ2JmLGFBQWEsRUFBRUEsYUFBYTtJQUM1QnFCLHFCQUFxQixFQUFFQTtFQUMzQixDQUFDO0FBQ0w7QUFFQSxNQUFNRSxxQ0FBcUMsR0FBRyxNQUFBQSxDQUMxQ0Msa0JBQTRCLEVBQzVCQyxVQUFrQixFQUNsQkMsT0FBa0MsS0FDVjtFQUN4QixNQUFNQyxNQUFvQixHQUFHLEVBQUU7RUFDL0IsS0FBSyxNQUFNQyxHQUFHLElBQUlKLGtCQUFrQixFQUFFO0lBQ2xDLElBQUksTUFBTSxJQUFBSyxtQkFBVSxFQUFDakIsYUFBSSxDQUFDQyxJQUFJLENBQUNlLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQyxFQUFFO01BQy9DLE1BQU03QixpQ0FBaUMsQ0FBQzZCLEdBQUcsRUFBRUYsT0FBTyxDQUFDekIsTUFBTSxDQUFDO01BQzVEMEIsTUFBTSxDQUFDRyxJQUFJLENBQUNoQixrQkFBa0IsQ0FBQ2MsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxNQUFNO01BQ0g7TUFDQTtNQUNBO01BQ0EsTUFBTUcsVUFBVSxHQUFHbkIsYUFBSSxDQUFDQyxJQUFJLENBQUNZLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRUcsR0FBRyxDQUFDO01BQy9ELElBQUksRUFBRSxNQUFNLElBQUFDLG1CQUFVLEVBQUNFLFVBQVUsQ0FBQyxDQUFDLEVBQUU7UUFDakMsTUFBTVosS0FBSyxDQUFDLDZCQUE2QlksVUFBVSxZQUFZLENBQUM7TUFDcEU7TUFDQSxNQUFNaEMsaUNBQWlDLENBQUNnQyxVQUFVLEVBQUVMLE9BQU8sQ0FBQ3pCLE1BQU0sQ0FBQztNQUNuRTBCLE1BQU0sQ0FBQ0csSUFBSSxDQUFDaEIsa0JBQWtCLENBQUNpQixVQUFVLENBQUMsQ0FBQztJQUMvQztFQUNKO0VBQ0EsT0FBT0osTUFBTTtBQUNqQixDQUFDO0FBRUQsSUFBQUsseUNBQXFCLEVBQUMsT0FBT0MsSUFBSSxFQUFFUCxPQUFPLEtBQUs7RUFBQSxJQUFBUSxxQkFBQTtFQUMzQzFDLGdEQUFnRCxDQUFDLENBQUM7RUFFbERrQyxPQUFPLENBQUN6QixNQUFNLENBQUNRLEdBQUcsQ0FBQyxnQkFBZ0IsS0FBQXlCLHFCQUFBLEdBQUl4QyxPQUFPLENBQUN5QyxHQUFHLENBQUMsY0FBYyxDQUFDLGNBQUFELHFCQUFBLGNBQUFBLHFCQUFBLEdBQUksU0FBUyxDQUFDLENBQUM7RUFDakZSLE9BQU8sQ0FBQ3pCLE1BQU0sQ0FBQ1EsR0FBRyxDQUFDLGdCQUFnQixHQUFHZixPQUFPLENBQUNDLFFBQVEsQ0FBQ2tCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUVqRXVCLFdBQVcsQ0FBQzlCLENBQUMsSUFBSTtJQUNib0IsT0FBTyxDQUFDekIsTUFBTSxDQUFDUSxHQUFHLENBQUMsZUFBZSxDQUFDO0lBQ25DaUIsT0FBTyxDQUFDekIsTUFBTSxDQUFDUSxHQUFHLENBQUM0QixJQUFJLENBQUNDLFNBQVMsQ0FBQzVDLE9BQU8sQ0FBQzZDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0VBQ3RFLENBQUMsRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDO0VBRWJiLE9BQU8sQ0FBQ3pCLE1BQU0sQ0FBQ1EsR0FBRyxDQUFDLHVCQUF1QixJQUFJLE1BQU0sSUFBQStCLDZCQUFpQixFQUFDLENBQUMsQ0FBQyxDQUFDO0VBQ3pFLE1BQU1DLFVBQVUsR0FBRyxJQUFBQyw4QkFBWSxFQUFDVCxJQUFJLENBQUM7RUFFckNQLE9BQU8sQ0FBQ2lCLDBCQUEwQixDQUFDRixVQUFVLENBQUNHLE9BQU8sQ0FBQ0MsWUFBWSxDQUFDO0VBQ25FLElBQUFDLHVCQUFTLEVBQUNwQixPQUFPLENBQUN6QixNQUFNLENBQUM7RUFDekJ5QixPQUFPLENBQUN6QixNQUFNLENBQUM4QyxPQUFPLENBQUMsa0JBQWtCTixVQUFVLENBQUNHLE9BQU8sQ0FBQ0MsWUFBWSxFQUFFLENBQUM7RUFFM0UsSUFBSUosVUFBVSxDQUFDTyxJQUFJLEtBQUssV0FBVyxFQUFFO0lBQ2pDLE1BQU0sSUFBQUMsd0JBQVcsRUFBQ3ZCLE9BQU8sRUFBRWUsVUFBVSxDQUFDRyxPQUFPLENBQUM7SUFDOUM7RUFDSjtFQUVBLE1BQU01QyxhQUFhLEdBQUdOLE9BQU8sQ0FBQ3dELEdBQUcsQ0FBQyxDQUFDO0VBQ25DLE1BQU1uRCxpQ0FBaUMsQ0FBQ0MsYUFBYSxFQUFFMEIsT0FBTyxDQUFDekIsTUFBTSxDQUFDO0VBQ3RFLE1BQU1jLFVBQVUsR0FBRyxJQUFBQyw4QkFBYyxFQUFDaEIsYUFBYSxDQUFDO0VBRWhELElBQUllLFVBQVUsQ0FBQ0UsZUFBZSxJQUFJQyxTQUFTLEVBQUU7SUFDekMsTUFBTSxJQUFJQyxLQUFLLENBQUMsa0NBQWtDLENBQUM7RUFDdkQ7RUFDQSxJQUFJSixVQUFVLENBQUNLLGtCQUFrQixJQUFJRixTQUFTLEVBQUU7SUFDNUMsTUFBTSxJQUFJQyxLQUFLLENBQUMscUNBQXFDLENBQUM7RUFDMUQ7RUFFQSxNQUFNRixlQUFlLEdBQUdMLGFBQUksQ0FBQ1UsT0FBTyxDQUFDUCxVQUFVLENBQUNFLGVBQWUsQ0FBQztFQUNoRSxNQUFNRyxrQkFBa0IsR0FBR1IsYUFBSSxDQUFDVSxPQUFPLENBQUNQLFVBQVUsQ0FBQ0ssa0JBQWtCLENBQUM7RUFDdEUsTUFBTUMscUJBQXFCLEdBQUdULGFBQUksQ0FBQ1UsT0FBTyxDQUFDdEIsYUFBYSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsQ0FBQztFQUVqRixJQUFJeUMsVUFBVSxDQUFDTyxJQUFJLEtBQUssY0FBYyxJQUFJUCxVQUFVLENBQUNPLElBQUksS0FBSyxrQkFBa0IsRUFBRTtJQUM5RSxNQUFNeEIsa0JBQWtCLEdBQUdpQixVQUFVLENBQUNHLE9BQU8sQ0FBQ08sV0FBVztJQUN6RHpCLE9BQU8sQ0FBQ3pCLE1BQU0sQ0FBQ21ELE9BQU8sQ0FBQyx3QkFBd0JYLFVBQVUsQ0FBQ0csT0FBTyxDQUFDTyxXQUFXLEVBQUUsQ0FBQztJQUNoRixJQUFJRSxhQUFhO0lBQ2pCLElBQUlDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDL0Isa0JBQWtCLENBQUMsSUFBSUEsa0JBQWtCLENBQUNoQixNQUFNLEdBQUcsQ0FBQyxFQUFFO01BQ3BFNkMsYUFBYSxHQUFHLE1BQU05QixxQ0FBcUMsQ0FBQ0Msa0JBQWtCLEVBQUV4QixhQUFhLEVBQUUwQixPQUFPLENBQUM7SUFDM0csQ0FBQyxNQUFNO01BQ0hBLE9BQU8sQ0FBQ3pCLE1BQU0sQ0FBQ21ELE9BQU8sQ0FBQyxvQ0FBb0NwRCxhQUFhLEVBQUUsQ0FBQztNQUMzRXFELGFBQWEsR0FBRyxNQUFNOUIscUNBQXFDLENBQUMsQ0FBQ3ZCLGFBQWEsQ0FBQyxFQUFFQSxhQUFhLEVBQUUwQixPQUFPLENBQUM7SUFDeEc7SUFFQSxJQUFJZSxVQUFVLENBQUNPLElBQUksS0FBSyxrQkFBa0IsRUFBRTtNQUN4QyxNQUFNLElBQUFRLGlDQUFpQixFQUFDOUIsT0FBTyxFQUFFZSxVQUFVLENBQUNHLE9BQU8sRUFBRVMsYUFBYSxDQUFDO0lBQ3ZFLENBQUMsTUFBTTtNQUNILE1BQU0sSUFBQUksOEJBQWMsRUFBQy9CLE9BQU8sRUFBRWUsVUFBVSxDQUFDRyxPQUFPLEVBQUVTLGFBQWEsQ0FBQztJQUNwRTtFQUNKO0VBRUEsSUFBSVosVUFBVSxDQUFDTyxJQUFJLEtBQUssT0FBTyxFQUFFO0lBQzdCLE1BQU0sSUFBQVUsNEJBQWEsRUFDZmhDLE9BQU8sRUFDUGUsVUFBVSxDQUFDRyxPQUFPLEVBQ2xCNUMsYUFBYSxFQUNib0Isa0JBQWtCLEVBQ2xCSCxlQUFlLEVBQ2ZJLHFCQUFxQixFQUNyQk4sVUFBVSxDQUFDNEMsbUJBQ2YsQ0FBQztFQUNMO0VBRUEsSUFBSWxCLFVBQVUsQ0FBQ08sSUFBSSxLQUFLLFdBQVcsRUFBRTtJQUNqQyxNQUFNLElBQUFZLHdCQUFXLEVBQ2JsQyxPQUFPLEVBQ1BlLFVBQVUsQ0FBQ0csT0FBTyxFQUNsQjNCLGVBQWUsRUFDZkcsa0JBQWtCLEVBQ2xCcEIsYUFBYSxFQUNicUIscUJBQXFCLEVBQ3JCTixVQUFVLENBQUM0QyxtQkFDZixDQUFDO0VBQ0w7RUFFQSxJQUFJbEIsVUFBVSxDQUFDTyxJQUFJLEtBQUssWUFBWSxFQUFFO0lBQ2xDLE1BQU0sSUFBQWEsMEJBQVksRUFBQ25DLE9BQU8sRUFBRWUsVUFBVSxDQUFDRyxPQUFPLEVBQUU1QyxhQUFhLENBQUM7RUFDbEU7RUFDQSxJQUFJeUMsVUFBVSxDQUFDTyxJQUFJLEtBQUssU0FBUyxFQUFFO0lBQy9CLE1BQU0sSUFBQWMsOEJBQWMsRUFBQ3BDLE9BQU8sRUFBRWUsVUFBVSxDQUFDRyxPQUFPLEVBQUV4QixrQkFBa0IsRUFBRXBCLGFBQWEsQ0FBQztFQUN4RjtFQUNBLElBQUl5QyxVQUFVLENBQUNPLElBQUksS0FBSyxRQUFRLEVBQUU7SUFDOUIsTUFBTSxJQUFBZSw4QkFBYyxFQUFDckMsT0FBTyxFQUFFZSxVQUFVLENBQUNHLE9BQU8sRUFBRXhCLGtCQUFrQixFQUFFcEIsYUFBYSxDQUFDO0VBQ3hGO0VBQ0EsSUFBSXlDLFVBQVUsQ0FBQ08sSUFBSSxLQUFLLFVBQVUsRUFBRTtJQUNoQyxNQUFNLElBQUFnQixnQ0FBZSxFQUNqQnRDLE9BQU8sRUFDUGUsVUFBVSxDQUFDRyxPQUFPLEVBQ2xCNUMsYUFBYSxFQUNiaUIsZUFBZSxFQUNmSSxxQkFBcUIsRUFDckJOLFVBQVUsQ0FBQzRDLG1CQUNmLENBQUM7RUFDTDtBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
140
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3BhdGgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2ZzRXh0cmEiLCJfc2hlbGxqcyIsIl9SdW5CdWlsZEZvcm1zIiwiX1J1bkJ1aWxkU2VydmVyIiwiX1J1bkRldkJ1aWxkIiwiX1J1bkZvcm1TdGF0cyIsIl9SdW5Jbml0Rm9ybSIsIl9SdW5Mb2NhbGl6YXRpb24iLCJfUnVuVXBncmFkZUZvcm0iLCJfQ29uc29sZUFwcGxpY2F0aW9uIiwiX1N0YXRpY0xvZ2dlciIsIl9DYW5keVRvb2xPcHRpb25zIiwiX1JlYWRGYXJtQ29uZmlnIiwiX1NlbGZVcGRhdGUiLCJfUnVuUmVuYW1lRmlsZXMiLCJjb25maWciLCJmYXRhbCIsInJlbW90ZUluc3BlY3RGbGFnVG9EaXNhYmxlRGVidWdnZXJJbkNoaWxkUHJvY2VzcyIsImRlYnVnQXJnSWR4IiwicHJvY2VzcyIsImV4ZWNBcmd2IiwiaW5kZXhPZiIsInNwbGljZSIsImRlYnVnQXJnMklkeCIsInJlbW92ZVRlbXBvcmFyeVdlYnBhY2tDb25maWdGaWxlcyIsImZhcm1EaXJlY3RvcnkiLCJsb2dnZXIiLCJmaWxlcyIsInJlYWRkaXIiLCJvbGRUZW1wRmlsZU5hbWVzIiwiZmlsdGVyIiwieCIsImVuZHNXaXRoIiwibGVuZ3RoIiwibG9nIiwiZmlsZU5hbWUiLCJ1bmxpbmsiLCJwYXRoIiwiam9pbiIsInZhbGlkYXRlRmFybUNvbmZpZyIsImZhcm1Db25maWciLCJyZWFkRmFybUNvbmZpZyIsImVuZ2luZURpcmVjdG9yeSIsInVuZGVmaW5lZCIsIkVycm9yIiwicmVzb3VyY2VzRGlyZWN0b3J5IiwiY2FuZHlNb2R1bGVzRGlyZWN0b3J5IiwicmVzb2x2ZSIsInZhbGlkYXRlQW5kUHJlcGFyZUZhcm1EaXJlY3Rvcmllc1BhdGgiLCJhbGxGYXJtRGlyZWN0b3JpZXMiLCJjdXJyZW50RGlyIiwiY29udGV4dCIsInJlc3VsdCIsInB0aCIsInBhdGhFeGlzdHMiLCJwdXNoIiwicGF0aFRvRmFybSIsInJ1bkNvbnNvbGVBcHBsaWNhdGlvbiIsImFyZ3YiLCJnZXRDdXJyZW50VmVyc2lvbiIsInBhcnNlZEFyZ3MiLCJwYXJzZU9wdGlvbnMiLCJzZXRDb25zb2xlTG9nZ2luZ1ZlcmJvc2l0eSIsIm9wdGlvbnMiLCJsb2dWZXJib3NpdHkiLCJzZXRMb2dnZXIiLCJ2ZXJib3NlIiwidHlwZSIsInJ1bkluaXRGb3JtIiwiY3dkIiwiYWxsRmFybXNEaXIiLCJ3YXJuaW5nIiwiYWxsRmFybUNvbmZpZyIsIkFycmF5IiwiaXNBcnJheSIsInJ1bkRldkJ1aWxkU2VydmVyIiwicnVuQnVpbGRTZXJ2ZXIiLCJydW5CdWlsZEZvcm1zIiwiaGxGYXJtRGlyZWN0b3J5UGF0aCIsInJ1bkRldkJ1aWxkIiwicnVuRm9ybVN0YXRzIiwicnVuVXBncmFkZUZvcm0iLCJydW5SZW5hbWVGaWxlcyIsInJ1bkxvY2FsaXphdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9DYW5keUNMSS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJjb3JlLWpzL2ZlYXR1cmVzL2FycmF5L2ZsYXRcIjtcbmltcG9ydCBcImNvcmUtanMvcHJvcG9zYWxzL2l0ZXJhdG9yLWhlbHBlcnNcIjtcbmltcG9ydCBcImNvcmUtanMvc3RhYmxlXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBwYXRoRXhpc3RzLCByZWFkZGlyLCB1bmxpbmsgfSBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCBcInJlZmxlY3QtbWV0YWRhdGFcIjtcbmltcG9ydCBcInJlZ2VuZXJhdG9yLXJ1bnRpbWUvcnVudGltZVwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcInNoZWxsanNcIjtcblxuaW1wb3J0IHsgcnVuQnVpbGRGb3JtcyB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0J1aWxkRm9ybXMvUnVuQnVpbGRGb3Jtc1wiO1xuaW1wb3J0IHsgcnVuQnVpbGRTZXJ2ZXIsIHJ1bkRldkJ1aWxkU2VydmVyIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUnVuQnVpbGRTZXJ2ZXJcIjtcbmltcG9ydCB7IHJ1bkRldkJ1aWxkIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvRGV2QnVpbGQvUnVuRGV2QnVpbGRcIjtcbmltcG9ydCB7IHJ1bkZvcm1TdGF0cyB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0Zvcm1TdGF0cy9SdW5Gb3JtU3RhdHNcIjtcbmltcG9ydCB7IHJ1bkluaXRGb3JtIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvSW5pdEZvcm0vUnVuSW5pdEZvcm1cIjtcbmltcG9ydCB7IHJ1bkxvY2FsaXphdGlvbiB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0xvY2FsaXphdGlvbi9SdW5Mb2NhbGl6YXRpb25cIjtcbmltcG9ydCB7IHJ1blVwZ3JhZGVGb3JtIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvVXBncmFkZUZvcm0vUnVuVXBncmFkZUZvcm1cIjtcbmltcG9ydCB7IHJ1bkNvbnNvbGVBcHBsaWNhdGlvbiB9IGZyb20gXCIuL0NvbW1vbnMvQ29uc29sZUFwcGxpY2F0aW9uL0NvbnNvbGVBcHBsaWNhdGlvblwiO1xuaW1wb3J0IHsgSUxvZ2dlciB9IGZyb20gXCIuL0NvbW1vbnMvTG9nZ2luZy9JTG9nZ2VyXCI7XG5pbXBvcnQgeyBzZXRMb2dnZXIgfSBmcm9tIFwiLi9Db21tb25zL0xvZ2dpbmcvU3RhdGljTG9nZ2VyXCI7XG5pbXBvcnQgeyBwYXJzZU9wdGlvbnMgfSBmcm9tIFwiLi9PcHRpb25zL0NhbmR5VG9vbE9wdGlvbnNcIjtcbmltcG9ydCB7IHJlYWRGYXJtQ29uZmlnIH0gZnJvbSBcIi4vUmVhZEZhcm1Db25maWdcIjtcbmltcG9ydCB7IGdldEN1cnJlbnRWZXJzaW9uIH0gZnJvbSBcIi4vU2VsZlVwZGF0ZVwiO1xuaW1wb3J0IHsgQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gXCIuL0NvbW1vbnMvQ29uc29sZUFwcGxpY2F0aW9uL0NvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHRcIjtcbmltcG9ydCB7IHJ1blJlbmFtZUZpbGVzIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvUmVuYW1lRmlsZXMvUnVuUmVuYW1lRmlsZXNcIjtcblxuY29uZmlnLmZhdGFsID0gdHJ1ZTtcblxuZXhwb3J0IGludGVyZmFjZSBGYXJtQ29uZmlnIHtcbiAgICBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgZW5naW5lRGlyZWN0b3J5Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIHJlc291cmNlc0RpcmVjdG9yeT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBobEZhcm1EaXJlY3RvcnlQYXRoOiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIHJlbW90ZUluc3BlY3RGbGFnVG9EaXNhYmxlRGVidWdnZXJJbkNoaWxkUHJvY2VzcygpOiB2b2lkIHtcbiAgICBjb25zdCBkZWJ1Z0FyZ0lkeCA9IHByb2Nlc3MuZXhlY0FyZ3YuaW5kZXhPZihcIi0taW5zcGVjdC1icmtcIik7XG4gICAgaWYgKGRlYnVnQXJnSWR4ICE9PSAtMSkge1xuICAgICAgICBwcm9jZXNzLmV4ZWNBcmd2LnNwbGljZShkZWJ1Z0FyZ0lkeCwgMSk7XG4gICAgfVxuICAgIGNvbnN0IGRlYnVnQXJnMklkeCA9IHByb2Nlc3MuZXhlY0FyZ3YuaW5kZXhPZihcIi0taW5zcGVjdFwiKTtcbiAgICBpZiAoZGVidWdBcmcySWR4ICE9PSAtMSkge1xuICAgICAgICBwcm9jZXNzLmV4ZWNBcmd2LnNwbGljZShkZWJ1Z0FyZzJJZHgsIDEpO1xuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVtb3ZlVGVtcG9yYXJ5V2VicGFja0NvbmZpZ0ZpbGVzKGZhcm1EaXJlY3Rvcnk6IHN0cmluZywgbG9nZ2VyOiBJTG9nZ2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZmlsZXMgPSBhd2FpdCByZWFkZGlyKGZhcm1EaXJlY3RvcnkpO1xuICAgIGNvbnN0IG9sZFRlbXBGaWxlTmFtZXMgPSBmaWxlcy5maWx0ZXIoeCA9PiB4LmVuZHNXaXRoKFwiLmNhbmR5LXRtcC53ZWJwYWNrLmNvbmZpZy5qc1wiKSk7XG4gICAgaWYgKG9sZFRlbXBGaWxlTmFtZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBsb2dnZXIubG9nKFwiUmVtb3Zpbmcgb2xkIHdlYnBhY2suY29uZmlnLmpzIGZpbGVzXCIpO1xuICAgICAgICBmb3IgKGNvbnN0IGZpbGVOYW1lIG9mIG9sZFRlbXBGaWxlTmFtZXMpIHtcbiAgICAgICAgICAgIGF3YWl0IHVubGluayhwYXRoLmpvaW4oZmFybURpcmVjdG9yeSwgZmlsZU5hbWUpKTtcbiAgICAgICAgfVxuICAgICAgICBsb2dnZXIubG9nKFwiUmVtb3ZlZCBvbGQgd2VicGFjay5jb25maWcuanMgZmlsZXNcIik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZhcm1Db25maWcoZmFybURpcmVjdG9yeTogc3RyaW5nKTogRmFybUNvbmZpZyB7XG4gICAgY29uc3QgZmFybUNvbmZpZyA9IHJlYWRGYXJtQ29uZmlnKGZhcm1EaXJlY3RvcnkpO1xuXG4gICAgaWYgKGZhcm1Db25maWcuZW5naW5lRGlyZWN0b3J5ID09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFbmdpbmVEaXJlY3RvcnkgaXMgbm90IHNwZWNpZmllZFwiKTtcbiAgICB9XG4gICAgaWYgKGZhcm1Db25maWcucmVzb3VyY2VzRGlyZWN0b3J5ID09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZXNvdXJjZXNEaXJlY3RvcnkgaXMgbm90IHNwZWNpZmllZFwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBjYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBwYXRoLnJlc29sdmUoZmFybURpcmVjdG9yeSwgXCIuLlwiLCBcIi5jYW5keV9tb2R1bGVzXCIpO1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmZhcm1Db25maWcsXG4gICAgICAgIGZhcm1EaXJlY3Rvcnk6IGZhcm1EaXJlY3RvcnksXG4gICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogY2FuZHlNb2R1bGVzRGlyZWN0b3J5LFxuICAgIH07XG59XG5cbmNvbnN0IHZhbGlkYXRlQW5kUHJlcGFyZUZhcm1EaXJlY3Rvcmllc1BhdGggPSBhc3luYyAoXG4gICAgYWxsRmFybURpcmVjdG9yaWVzOiBzdHJpbmdbXSxcbiAgICBjdXJyZW50RGlyOiBzdHJpbmcsXG4gICAgY29udGV4dDogQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dFxuKTogUHJvbWlzZTxGYXJtQ29uZmlnW10+ID0+IHtcbiAgICBjb25zdCByZXN1bHQ6IEZhcm1Db25maWdbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgcHRoIG9mIGFsbEZhcm1EaXJlY3Rvcmllcykge1xuICAgICAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhwYXRoLmpvaW4ocHRoLCBcImNvbmZpZy5qc1wiKSkpIHtcbiAgICAgICAgICAgIGF3YWl0IHJlbW92ZVRlbXBvcmFyeVdlYnBhY2tDb25maWdGaWxlcyhwdGgsIGNvbnRleHQubG9nZ2VyKTtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbGlkYXRlRmFybUNvbmZpZyhwdGgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vINCS0YHQtSDQtNC10LvQviDQsiDRgtC+0LwsINGH0YLQviDRgdCy0Y/Qt9C60LAgc2VydmljZS1ydW5uZXItMiArIHRvb2xzINC60L7RgNGA0LXQutGC0L3QviDRgNCw0LHQvtGC0LDQtdGCINGC0L7Qu9GM0LrQviDQsiDQv9Cw0L/QutC1INGBINGE0L7RgNC80L7QuVxuICAgICAgICAgICAgLy8g0LjQtyDQt9CwINGH0LXQs9C+LCDQstC90YPRgtGA0Lgg0YDQsNC90L3QtdGA0LAg0L3QsNC/0LjQu9C10L0g0YXQuNGC0YDRi9C5INC80LXRhdCw0L3QuNC30Lwg0L/QvtC40YHQutCwINC/0YPRgtC10Lkg0YTQvtGA0LzRiy4g0J/QtdGA0LXQv9C40LvQuNCy0LDRgtGMINCy0YHQtSDQvNC10YXQsNC90LjQutC4XG4gICAgICAgICAgICAvLyDRgdC+0LLRgdC10Lwg0L3QtSDRhdC+0YfQtdGC0YHRjywg0L/QvtGN0YLQvtC80YMg0LTQu9GPINC90LDRgSwg0YHRh9C40YLQsNGOINC/0L7QtNC90Y/RgtC40LUg0LTQviDRg9GA0L7QstC90Y8gZW5naW5lINCy0L/QvtC70L3QtSDQv9GA0LjQtdC80LvQtdC80YvQvCDRgNC10YjQtdC90LjQtdC8XG4gICAgICAgICAgICBjb25zdCBwYXRoVG9GYXJtID0gcGF0aC5qb2luKGN1cnJlbnREaXIsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIHB0aCk7XG4gICAgICAgICAgICBpZiAoIShhd2FpdCBwYXRoRXhpc3RzKHBhdGhUb0Zhcm0pKSkge1xuICAgICAgICAgICAgICAgIHRocm93IEVycm9yKGBhbGxGYXJtRGlyZWN0b3JpZXMgcGF0aCA9ICR7cGF0aFRvRmFybX0gbm90IGV4aXN0YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCByZW1vdmVUZW1wb3JhcnlXZWJwYWNrQ29uZmlnRmlsZXMocGF0aFRvRmFybSwgY29udGV4dC5sb2dnZXIpO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godmFsaWRhdGVGYXJtQ29uZmlnKHBhdGhUb0Zhcm0pKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufTtcblxucnVuQ29uc29sZUFwcGxpY2F0aW9uKGFzeW5jIChhcmd2LCBjb250ZXh0KSA9PiB7XG4gICAgcmVtb3RlSW5zcGVjdEZsYWdUb0Rpc2FibGVEZWJ1Z2dlckluQ2hpbGRQcm9jZXNzKCk7XG5cbiAgICBjb250ZXh0LmxvZ2dlci5sb2coXCJAa29udHVyLmNhbmR5L3Rvb2xzOiBcIiArIChhd2FpdCBnZXRDdXJyZW50VmVyc2lvbigpKSk7XG4gICAgY29uc3QgcGFyc2VkQXJncyA9IHBhcnNlT3B0aW9ucyhhcmd2KTtcblxuICAgIGNvbnRleHQuc2V0Q29uc29sZUxvZ2dpbmdWZXJib3NpdHkocGFyc2VkQXJncy5vcHRpb25zLmxvZ1ZlcmJvc2l0eSk7XG4gICAgc2V0TG9nZ2VyKGNvbnRleHQubG9nZ2VyKTtcbiAgICBjb250ZXh0LmxvZ2dlci52ZXJib3NlKGBWZXJib3NlIGxldmVsOiAke3BhcnNlZEFyZ3Mub3B0aW9ucy5sb2dWZXJib3NpdHl9YCk7XG5cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcImluaXQtZm9ybVwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkluaXRGb3JtKGNvbnRleHQsIHBhcnNlZEFyZ3Mub3B0aW9ucyk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmYXJtRGlyZWN0b3J5ID0gcHJvY2Vzcy5jd2QoKTtcbiAgICBhd2FpdCByZW1vdmVUZW1wb3JhcnlXZWJwYWNrQ29uZmlnRmlsZXMoZmFybURpcmVjdG9yeSwgY29udGV4dC5sb2dnZXIpO1xuICAgIGNvbnN0IGZhcm1Db25maWcgPSByZWFkRmFybUNvbmZpZyhmYXJtRGlyZWN0b3J5KTtcblxuICAgIGlmIChmYXJtQ29uZmlnLmVuZ2luZURpcmVjdG9yeSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW5naW5lRGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWRcIik7XG4gICAgfVxuICAgIGlmIChmYXJtQ29uZmlnLnJlc291cmNlc0RpcmVjdG9yeSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVzb3VyY2VzRGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWRcIik7XG4gICAgfVxuXG4gICAgY29uc3QgZW5naW5lRGlyZWN0b3J5ID0gcGF0aC5yZXNvbHZlKGZhcm1Db25maWcuZW5naW5lRGlyZWN0b3J5KTtcbiAgICBjb25zdCByZXNvdXJjZXNEaXJlY3RvcnkgPSBwYXRoLnJlc29sdmUoZmFybUNvbmZpZy5yZXNvdXJjZXNEaXJlY3RvcnkpO1xuICAgIGNvbnN0IGNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IHBhdGgucmVzb2x2ZShmYXJtRGlyZWN0b3J5LCBcIi4uXCIsIFwiLmNhbmR5X21vZHVsZXNcIik7XG5cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcImJ1aWxkLXNlcnZlclwiIHx8IHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJkZXYtYnVpbGQtc2VydmVyXCIpIHtcbiAgICAgICAgY29uc3QgYWxsRmFybURpcmVjdG9yaWVzID0gcGFyc2VkQXJncy5vcHRpb25zLmFsbEZhcm1zRGlyO1xuICAgICAgICBjb250ZXh0LmxvZ2dlci53YXJuaW5nKGBhbGxGYXJtRGlyZWN0b3JpZXMgPSAke3BhcnNlZEFyZ3Mub3B0aW9ucy5hbGxGYXJtc0Rpcn1gKTtcbiAgICAgICAgbGV0IGFsbEZhcm1Db25maWc7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFsbEZhcm1EaXJlY3RvcmllcykgJiYgYWxsRmFybURpcmVjdG9yaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGFsbEZhcm1Db25maWcgPSBhd2FpdCB2YWxpZGF0ZUFuZFByZXBhcmVGYXJtRGlyZWN0b3JpZXNQYXRoKGFsbEZhcm1EaXJlY3RvcmllcywgZmFybURpcmVjdG9yeSwgY29udGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250ZXh0LmxvZ2dlci53YXJuaW5nKGBVc2UgZGVmYXVsdCBjYW5keUZhcm0gcGF0aCBkaXIgPSAke2Zhcm1EaXJlY3Rvcnl9YCk7XG4gICAgICAgICAgICBhbGxGYXJtQ29uZmlnID0gYXdhaXQgdmFsaWRhdGVBbmRQcmVwYXJlRmFybURpcmVjdG9yaWVzUGF0aChbZmFybURpcmVjdG9yeV0sIGZhcm1EaXJlY3RvcnksIGNvbnRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJkZXYtYnVpbGQtc2VydmVyXCIpIHtcbiAgICAgICAgICAgIGF3YWl0IHJ1bkRldkJ1aWxkU2VydmVyKGNvbnRleHQsIHBhcnNlZEFyZ3Mub3B0aW9ucywgYWxsRmFybUNvbmZpZyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhd2FpdCBydW5CdWlsZFNlcnZlcihjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIGFsbEZhcm1Db25maWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJidWlsZFwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkJ1aWxkRm9ybXMoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcGFyc2VkQXJncy5vcHRpb25zLFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIHJlc291cmNlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwiZGV2LWJ1aWxkXCIpIHtcbiAgICAgICAgYXdhaXQgcnVuRGV2QnVpbGQoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcGFyc2VkQXJncy5vcHRpb25zLFxuICAgICAgICAgICAgZW5naW5lRGlyZWN0b3J5LFxuICAgICAgICAgICAgcmVzb3VyY2VzRGlyZWN0b3J5LFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwiZm9ybS1zdGF0c1wiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkZvcm1TdGF0cyhjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIGZhcm1EaXJlY3RvcnkpO1xuICAgIH1cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcInVwZ3JhZGVcIikge1xuICAgICAgICBhd2FpdCBydW5VcGdyYWRlRm9ybShjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIHJlc291cmNlc0RpcmVjdG9yeSwgZmFybURpcmVjdG9yeSk7XG4gICAgfVxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwicmVuYW1lXCIpIHtcbiAgICAgICAgYXdhaXQgcnVuUmVuYW1lRmlsZXMoY29udGV4dCwgcGFyc2VkQXJncy5vcHRpb25zLCByZXNvdXJjZXNEaXJlY3RvcnksIGZhcm1EaXJlY3RvcnkpO1xuICAgIH1cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcImxvY2FsaXplXCIpIHtcbiAgICAgICAgYXdhaXQgcnVuTG9jYWxpemF0aW9uKFxuICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgIHBhcnNlZEFyZ3Mub3B0aW9ucyxcbiAgICAgICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICBlbmdpbmVEaXJlY3RvcnksXG4gICAgICAgICAgICBjYW5keU1vZHVsZXNEaXJlY3RvcnksXG4gICAgICAgICAgICBmYXJtQ29uZmlnLmhsRmFybURpcmVjdG9yeVBhdGhcbiAgICAgICAgKTtcbiAgICB9XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUFBLE9BQUE7QUFDQUEsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsUUFBQSxHQUFBSCxPQUFBO0FBQ0FBLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLGNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFlBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLGFBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFlBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGdCQUFBLEdBQUFWLE9BQUE7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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CandyCLI.js","names":["require","_path","_interopRequireDefault","_fsExtra","_shelljs","_RunBuildForms","_RunBuildServer","_RunDevBuild","_RunFormStats","_RunInitForm","_RunLocalization","_RunUpgradeForm","_ConsoleApplication","_StaticLogger","_CandyToolOptions","_ReadFarmConfig","_SelfUpdate","_RunRenameFiles","config","fatal","remoteInspectFlagToDisableDebuggerInChildProcess","debugArgIdx","process","execArgv","indexOf","splice","debugArg2Idx","removeTemporaryWebpackConfigFiles","farmDirectory","logger","files","readdir","oldTempFileNames","filter","x","endsWith","length","log","fileName","unlink","path","join","validateFarmConfig","farmConfig","readFarmConfig","engineDirectory","undefined","Error","resourcesDirectory","candyModulesDirectory","resolve","validateAndPrepareFarmDirectoriesPath","allFarmDirectories","currentDir","context","result","pth","pathExists","push","pathToFarm","runConsoleApplication","argv","_process$env$NODE_OPT","env","setInterval","JSON","stringify","memoryUsage","getCurrentVersion","parsedArgs","parseOptions","setConsoleLoggingVerbosity","options","logVerbosity","setLogger","verbose","type","runInitForm","cwd","allFarmsDir","warning","allFarmConfig","Array","isArray","runDevBuildServer","runBuildServer","runBuildForms","hlFarmDirectoryPath","runDevBuild","runFormStats","runUpgradeForm","runRenameFiles","runLocalization"],"sources":["../../../src/CandyCLI.ts"],"sourcesContent":["import \"core-js/features/array/flat\";\nimport \"core-js/proposals/iterator-helpers\";\nimport \"core-js/stable\";\nimport path from \"path\";\n\nimport { pathExists, readdir, unlink } from \"fs-extra\";\nimport \"reflect-metadata\";\nimport \"regenerator-runtime/runtime\";\nimport { config } from \"shelljs\";\n\nimport { runBuildForms } from \"./CLICommands/BuildForms/RunBuildForms\";\nimport { runBuildServer, runDevBuildServer } from \"./CLICommands/BuildServer/RunBuildServer\";\nimport { runDevBuild } from \"./CLICommands/DevBuild/RunDevBuild\";\nimport { runFormStats } from \"./CLICommands/FormStats/RunFormStats\";\nimport { runInitForm } from \"./CLICommands/InitForm/RunInitForm\";\nimport { runLocalization } from \"./CLICommands/Localization/RunLocalization\";\nimport { runUpgradeForm } from \"./CLICommands/UpgradeForm/RunUpgradeForm\";\nimport { runConsoleApplication } from \"./Commons/ConsoleApplication/ConsoleApplication\";\nimport { ILogger } from \"./Commons/Logging/ILogger\";\nimport { setLogger } from \"./Commons/Logging/StaticLogger\";\nimport { parseOptions } from \"./Options/CandyToolOptions\";\nimport { readFarmConfig } from \"./ReadFarmConfig\";\nimport { getCurrentVersion } from \"./SelfUpdate\";\nimport { ConsoleApplicationContext } from \"./Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { runRenameFiles } from \"./CLICommands/RenameFiles/RunRenameFiles\";\n\nconfig.fatal = true;\n\nexport interface FarmConfig {\n candyModulesDirectory: string;\n farmDirectory: string;\n engineDirectory?: string | undefined;\n resourcesDirectory?: string | undefined;\n hlFarmDirectoryPath: string;\n}\n\nfunction remoteInspectFlagToDisableDebuggerInChildProcess(): void {\n const debugArgIdx = process.execArgv.indexOf(\"--inspect-brk\");\n if (debugArgIdx !== -1) {\n process.execArgv.splice(debugArgIdx, 1);\n }\n const debugArg2Idx = process.execArgv.indexOf(\"--inspect\");\n if (debugArg2Idx !== -1) {\n process.execArgv.splice(debugArg2Idx, 1);\n }\n}\n\nasync function removeTemporaryWebpackConfigFiles(farmDirectory: string, logger: ILogger): Promise<void> {\n const files = await readdir(farmDirectory);\n const oldTempFileNames = files.filter(x => x.endsWith(\".candy-tmp.webpack.config.js\"));\n if (oldTempFileNames.length > 0) {\n logger.log(\"Removing old webpack.config.js files\");\n for (const fileName of oldTempFileNames) {\n await unlink(path.join(farmDirectory, fileName));\n }\n logger.log(\"Removed old webpack.config.js files\");\n }\n}\n\nfunction validateFarmConfig(farmDirectory: string): FarmConfig {\n const farmConfig = readFarmConfig(farmDirectory);\n\n if (farmConfig.engineDirectory == undefined) {\n throw new Error(\"EngineDirectory is not specified\");\n }\n if (farmConfig.resourcesDirectory == undefined) {\n throw new Error(\"ResourcesDirectory is not specified\");\n }\n\n const candyModulesDirectory = path.resolve(farmDirectory, \"..\", \".candy_modules\");\n return {\n ...farmConfig,\n farmDirectory: farmDirectory,\n candyModulesDirectory: candyModulesDirectory,\n };\n}\n\nconst validateAndPrepareFarmDirectoriesPath = async (\n allFarmDirectories: string[],\n currentDir: string,\n context: ConsoleApplicationContext\n): Promise<FarmConfig[]> => {\n const result: FarmConfig[] = [];\n for (const pth of allFarmDirectories) {\n if (await pathExists(path.join(pth, \"config.js\"))) {\n await removeTemporaryWebpackConfigFiles(pth, context.logger);\n result.push(validateFarmConfig(pth));\n } else {\n // Все дело в том, что связка service-runner-2 + tools корректно работает только в папке с формой\n // из за чего, внутри раннера напилен хитрый механизм поиска путей формы. Перепиливать все механики\n // совсем не хочется, поэтому для нас, считаю поднятие до уровня engine вполне приемлемым решением\n const pathToFarm = path.join(currentDir, \"..\", \"..\", \"..\", pth);\n if (!(await pathExists(pathToFarm))) {\n throw Error(`allFarmDirectories path = ${pathToFarm} not exist`);\n }\n await removeTemporaryWebpackConfigFiles(pathToFarm, context.logger);\n result.push(validateFarmConfig(pathToFarm));\n }\n }\n return result;\n};\n\nrunConsoleApplication(async (argv, context) => {\n remoteInspectFlagToDisableDebuggerInChildProcess();\n\n context.logger.log(\"NODE_OPTIONS: \" + (process.env[\"NODE_OPTIONS\"] ?? \"<empty>\"));\n context.logger.log(\"execArgv : \" + process.execArgv.join(\" \"));\n\n setInterval(x => {\n context.logger.log(\"memoryUsage: \");\n context.logger.log(JSON.stringify(process.memoryUsage(), null, 2));\n }, 1000 * 30);\n\n context.logger.log(\"@kontur.candy/tools: \" + (await getCurrentVersion()));\n const parsedArgs = parseOptions(argv);\n\n context.setConsoleLoggingVerbosity(parsedArgs.options.logVerbosity);\n setLogger(context.logger);\n context.logger.verbose(`Verbose level: ${parsedArgs.options.logVerbosity}`);\n\n if (parsedArgs.type === \"init-form\") {\n await runInitForm(context, parsedArgs.options);\n return;\n }\n\n const farmDirectory = process.cwd();\n await removeTemporaryWebpackConfigFiles(farmDirectory, context.logger);\n const farmConfig = readFarmConfig(farmDirectory);\n\n if (farmConfig.engineDirectory == undefined) {\n throw new Error(\"EngineDirectory is not specified\");\n }\n if (farmConfig.resourcesDirectory == undefined) {\n throw new Error(\"ResourcesDirectory is not specified\");\n }\n\n const engineDirectory = path.resolve(farmConfig.engineDirectory);\n const resourcesDirectory = path.resolve(farmConfig.resourcesDirectory);\n const candyModulesDirectory = path.resolve(farmDirectory, \"..\", \".candy_modules\");\n\n if (parsedArgs.type === \"build-server\" || parsedArgs.type === \"dev-build-server\") {\n const allFarmDirectories = parsedArgs.options.allFarmsDir;\n context.logger.warning(`allFarmDirectories = ${parsedArgs.options.allFarmsDir}`);\n let allFarmConfig;\n if (Array.isArray(allFarmDirectories) && allFarmDirectories.length > 0) {\n allFarmConfig = await validateAndPrepareFarmDirectoriesPath(allFarmDirectories, farmDirectory, context);\n } else {\n context.logger.warning(`Use default candyFarm path dir = ${farmDirectory}`);\n allFarmConfig = await validateAndPrepareFarmDirectoriesPath([farmDirectory], farmDirectory, context);\n }\n\n if (parsedArgs.type === \"dev-build-server\") {\n await runDevBuildServer(context, parsedArgs.options, allFarmConfig);\n } else {\n await runBuildServer(context, parsedArgs.options, allFarmConfig);\n }\n }\n\n if (parsedArgs.type === \"build\") {\n await runBuildForms(\n context,\n parsedArgs.options,\n farmDirectory,\n resourcesDirectory,\n engineDirectory,\n candyModulesDirectory,\n farmConfig.hlFarmDirectoryPath\n );\n }\n\n if (parsedArgs.type === \"dev-build\") {\n await runDevBuild(\n context,\n parsedArgs.options,\n engineDirectory,\n resourcesDirectory,\n farmDirectory,\n candyModulesDirectory,\n farmConfig.hlFarmDirectoryPath\n );\n }\n\n if (parsedArgs.type === \"form-stats\") {\n await runFormStats(context, parsedArgs.options, farmDirectory);\n }\n if (parsedArgs.type === \"upgrade\") {\n await runUpgradeForm(context, parsedArgs.options, resourcesDirectory, farmDirectory);\n }\n if (parsedArgs.type === \"rename\") {\n await runRenameFiles(context, parsedArgs.options, resourcesDirectory, farmDirectory);\n }\n if (parsedArgs.type === \"localize\") {\n await runLocalization(\n context,\n parsedArgs.options,\n farmDirectory,\n engineDirectory,\n candyModulesDirectory,\n farmConfig.hlFarmDirectoryPath\n );\n }\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CandyCLI.js","names":["require","_path","_interopRequireDefault","_fsExtra","_shelljs","_RunBuildForms","_RunBuildServer","_RunDevBuild","_RunFormStats","_RunInitForm","_RunLocalization","_RunUpgradeForm","_ConsoleApplication","_StaticLogger","_CandyToolOptions","_ReadFarmConfig","_SelfUpdate","_RunRenameFiles","config","fatal","remoteInspectFlagToDisableDebuggerInChildProcess","debugArgIdx","process","execArgv","indexOf","splice","debugArg2Idx","removeTemporaryWebpackConfigFiles","farmDirectory","logger","files","readdir","oldTempFileNames","filter","x","endsWith","length","log","fileName","unlink","path","join","validateFarmConfig","farmConfig","readFarmConfig","engineDirectory","undefined","Error","resourcesDirectory","candyModulesDirectory","resolve","validateAndPrepareFarmDirectoriesPath","allFarmDirectories","currentDir","context","result","pth","pathExists","push","pathToFarm","runConsoleApplication","argv","getCurrentVersion","parsedArgs","parseOptions","setConsoleLoggingVerbosity","options","logVerbosity","setLogger","verbose","type","runInitForm","cwd","allFarmsDir","warning","allFarmConfig","Array","isArray","runDevBuildServer","runBuildServer","runBuildForms","hlFarmDirectoryPath","runDevBuild","runFormStats","runUpgradeForm","runRenameFiles","runLocalization"],"sources":["../../../src/CandyCLI.ts"],"sourcesContent":["import \"core-js/features/array/flat\";\nimport \"core-js/proposals/iterator-helpers\";\nimport \"core-js/stable\";\nimport path from \"path\";\n\nimport { pathExists, readdir, unlink } from \"fs-extra\";\nimport \"reflect-metadata\";\nimport \"regenerator-runtime/runtime\";\nimport { config } from \"shelljs\";\n\nimport { runBuildForms } from \"./CLICommands/BuildForms/RunBuildForms\";\nimport { runBuildServer, runDevBuildServer } from \"./CLICommands/BuildServer/RunBuildServer\";\nimport { runDevBuild } from \"./CLICommands/DevBuild/RunDevBuild\";\nimport { runFormStats } from \"./CLICommands/FormStats/RunFormStats\";\nimport { runInitForm } from \"./CLICommands/InitForm/RunInitForm\";\nimport { runLocalization } from \"./CLICommands/Localization/RunLocalization\";\nimport { runUpgradeForm } from \"./CLICommands/UpgradeForm/RunUpgradeForm\";\nimport { runConsoleApplication } from \"./Commons/ConsoleApplication/ConsoleApplication\";\nimport { ILogger } from \"./Commons/Logging/ILogger\";\nimport { setLogger } from \"./Commons/Logging/StaticLogger\";\nimport { parseOptions } from \"./Options/CandyToolOptions\";\nimport { readFarmConfig } from \"./ReadFarmConfig\";\nimport { getCurrentVersion } from \"./SelfUpdate\";\nimport { ConsoleApplicationContext } from \"./Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { runRenameFiles } from \"./CLICommands/RenameFiles/RunRenameFiles\";\n\nconfig.fatal = true;\n\nexport interface FarmConfig {\n candyModulesDirectory: string;\n farmDirectory: string;\n engineDirectory?: string | undefined;\n resourcesDirectory?: string | undefined;\n hlFarmDirectoryPath: string;\n}\n\nfunction remoteInspectFlagToDisableDebuggerInChildProcess(): void {\n const debugArgIdx = process.execArgv.indexOf(\"--inspect-brk\");\n if (debugArgIdx !== -1) {\n process.execArgv.splice(debugArgIdx, 1);\n }\n const debugArg2Idx = process.execArgv.indexOf(\"--inspect\");\n if (debugArg2Idx !== -1) {\n process.execArgv.splice(debugArg2Idx, 1);\n }\n}\n\nasync function removeTemporaryWebpackConfigFiles(farmDirectory: string, logger: ILogger): Promise<void> {\n const files = await readdir(farmDirectory);\n const oldTempFileNames = files.filter(x => x.endsWith(\".candy-tmp.webpack.config.js\"));\n if (oldTempFileNames.length > 0) {\n logger.log(\"Removing old webpack.config.js files\");\n for (const fileName of oldTempFileNames) {\n await unlink(path.join(farmDirectory, fileName));\n }\n logger.log(\"Removed old webpack.config.js files\");\n }\n}\n\nfunction validateFarmConfig(farmDirectory: string): FarmConfig {\n const farmConfig = readFarmConfig(farmDirectory);\n\n if (farmConfig.engineDirectory == undefined) {\n throw new Error(\"EngineDirectory is not specified\");\n }\n if (farmConfig.resourcesDirectory == undefined) {\n throw new Error(\"ResourcesDirectory is not specified\");\n }\n\n const candyModulesDirectory = path.resolve(farmDirectory, \"..\", \".candy_modules\");\n return {\n ...farmConfig,\n farmDirectory: farmDirectory,\n candyModulesDirectory: candyModulesDirectory,\n };\n}\n\nconst validateAndPrepareFarmDirectoriesPath = async (\n allFarmDirectories: string[],\n currentDir: string,\n context: ConsoleApplicationContext\n): Promise<FarmConfig[]> => {\n const result: FarmConfig[] = [];\n for (const pth of allFarmDirectories) {\n if (await pathExists(path.join(pth, \"config.js\"))) {\n await removeTemporaryWebpackConfigFiles(pth, context.logger);\n result.push(validateFarmConfig(pth));\n } else {\n // Все дело в том, что связка service-runner-2 + tools корректно работает только в папке с формой\n // из за чего, внутри раннера напилен хитрый механизм поиска путей формы. Перепиливать все механики\n // совсем не хочется, поэтому для нас, считаю поднятие до уровня engine вполне приемлемым решением\n const pathToFarm = path.join(currentDir, \"..\", \"..\", \"..\", pth);\n if (!(await pathExists(pathToFarm))) {\n throw Error(`allFarmDirectories path = ${pathToFarm} not exist`);\n }\n await removeTemporaryWebpackConfigFiles(pathToFarm, context.logger);\n result.push(validateFarmConfig(pathToFarm));\n }\n }\n return result;\n};\n\nrunConsoleApplication(async (argv, context) => {\n remoteInspectFlagToDisableDebuggerInChildProcess();\n\n context.logger.log(\"@kontur.candy/tools: \" + (await getCurrentVersion()));\n const parsedArgs = parseOptions(argv);\n\n context.setConsoleLoggingVerbosity(parsedArgs.options.logVerbosity);\n setLogger(context.logger);\n context.logger.verbose(`Verbose level: ${parsedArgs.options.logVerbosity}`);\n\n if (parsedArgs.type === \"init-form\") {\n await runInitForm(context, parsedArgs.options);\n return;\n }\n\n const farmDirectory = process.cwd();\n await removeTemporaryWebpackConfigFiles(farmDirectory, context.logger);\n const farmConfig = readFarmConfig(farmDirectory);\n\n if (farmConfig.engineDirectory == undefined) {\n throw new Error(\"EngineDirectory is not specified\");\n }\n if (farmConfig.resourcesDirectory == undefined) {\n throw new Error(\"ResourcesDirectory is not specified\");\n }\n\n const engineDirectory = path.resolve(farmConfig.engineDirectory);\n const resourcesDirectory = path.resolve(farmConfig.resourcesDirectory);\n const candyModulesDirectory = path.resolve(farmDirectory, \"..\", \".candy_modules\");\n\n if (parsedArgs.type === \"build-server\" || parsedArgs.type === \"dev-build-server\") {\n const allFarmDirectories = parsedArgs.options.allFarmsDir;\n context.logger.warning(`allFarmDirectories = ${parsedArgs.options.allFarmsDir}`);\n let allFarmConfig;\n if (Array.isArray(allFarmDirectories) && allFarmDirectories.length > 0) {\n allFarmConfig = await validateAndPrepareFarmDirectoriesPath(allFarmDirectories, farmDirectory, context);\n } else {\n context.logger.warning(`Use default candyFarm path dir = ${farmDirectory}`);\n allFarmConfig = await validateAndPrepareFarmDirectoriesPath([farmDirectory], farmDirectory, context);\n }\n\n if (parsedArgs.type === \"dev-build-server\") {\n await runDevBuildServer(context, parsedArgs.options, allFarmConfig);\n } else {\n await runBuildServer(context, parsedArgs.options, allFarmConfig);\n }\n }\n\n if (parsedArgs.type === \"build\") {\n await runBuildForms(\n context,\n parsedArgs.options,\n farmDirectory,\n resourcesDirectory,\n engineDirectory,\n candyModulesDirectory,\n farmConfig.hlFarmDirectoryPath\n );\n }\n\n if (parsedArgs.type === \"dev-build\") {\n await runDevBuild(\n context,\n parsedArgs.options,\n engineDirectory,\n resourcesDirectory,\n farmDirectory,\n candyModulesDirectory,\n farmConfig.hlFarmDirectoryPath\n );\n }\n\n if (parsedArgs.type === \"form-stats\") {\n await runFormStats(context, parsedArgs.options, farmDirectory);\n }\n if (parsedArgs.type === \"upgrade\") {\n await runUpgradeForm(context, parsedArgs.options, resourcesDirectory, farmDirectory);\n }\n if (parsedArgs.type === \"rename\") {\n await runRenameFiles(context, parsedArgs.options, resourcesDirectory, farmDirectory);\n }\n if (parsedArgs.type === \"localize\") {\n await runLocalization(\n context,\n parsedArgs.options,\n farmDirectory,\n engineDirectory,\n candyModulesDirectory,\n farmConfig.hlFarmDirectoryPath\n );\n }\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getCpuLimits = getCpuLimits;
|
|
7
|
+
var fs = _interopRequireWildcard(require("fs"));
|
|
8
|
+
var os = _interopRequireWildcard(require("os"));
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
+
function readNumberFromFile(file) {
|
|
12
|
+
return Number(fs.readFileSync(file, "utf-8"));
|
|
13
|
+
}
|
|
14
|
+
function getCpuLimitsIntenal() {
|
|
15
|
+
try {
|
|
16
|
+
return readNumberFromFile("/sys/fs/cgroup/cpu/cpu.cfs_quota_us") / readNumberFromFile("/sys/fs/cgroup/cpu/cpu.cfs_period_us");
|
|
17
|
+
} catch (err) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function getCpuLimits() {
|
|
22
|
+
var _getCpuLimitsIntenal;
|
|
23
|
+
if (process.platform !== "linux") {
|
|
24
|
+
return os.cpus().length;
|
|
25
|
+
}
|
|
26
|
+
return (_getCpuLimitsIntenal = getCpuLimitsIntenal()) !== null && _getCpuLimitsIntenal !== void 0 ? _getCpuLimitsIntenal : os.cpus().length;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIm9zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwicmVhZE51bWJlckZyb21GaWxlIiwiZmlsZSIsIk51bWJlciIsInJlYWRGaWxlU3luYyIsImdldENwdUxpbWl0c0ludGVuYWwiLCJlcnIiLCJnZXRDcHVMaW1pdHMiLCJfZ2V0Q3B1TGltaXRzSW50ZW5hbCIsInByb2Nlc3MiLCJwbGF0Zm9ybSIsImNwdXMiLCJsZW5ndGgiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvQ29tbW9ucy9HZXRDcHVMaW1pdHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBvcyBmcm9tIFwib3NcIjtcblxuZnVuY3Rpb24gcmVhZE51bWJlckZyb21GaWxlKGZpbGU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIE51bWJlcihmcy5yZWFkRmlsZVN5bmMoZmlsZSwgXCJ1dGYtOFwiKSk7XG59XG5cbmZ1bmN0aW9uIGdldENwdUxpbWl0c0ludGVuYWwoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHJlYWROdW1iZXJGcm9tRmlsZShcIi9zeXMvZnMvY2dyb3VwL2NwdS9jcHUuY2ZzX3F1b3RhX3VzXCIpIC9cbiAgICAgICAgICAgIHJlYWROdW1iZXJGcm9tRmlsZShcIi9zeXMvZnMvY2dyb3VwL2NwdS9jcHUuY2ZzX3BlcmlvZF91c1wiKVxuICAgICAgICApO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDcHVMaW1pdHMoKTogbnVtYmVyIHtcbiAgICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSAhPT0gXCJsaW51eFwiKSB7XG4gICAgICAgIHJldHVybiBvcy5jcHVzKCkubGVuZ3RoO1xuICAgIH1cbiAgICByZXR1cm4gZ2V0Q3B1TGltaXRzSW50ZW5hbCgpID8/IG9zLmNwdXMoKS5sZW5ndGg7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLEVBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLEVBQUEsR0FBQUYsdUJBQUEsQ0FBQUMsT0FBQTtBQUF5QixTQUFBRSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBSix3QkFBQUksQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLHVCQUFBQSxDQUFBLHlCQUFBQSxDQUFBLFdBQUFLLE9BQUEsRUFBQUwsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLENBQUEsU0FBQUcsQ0FBQSxHQUFBUCxDQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBYyxDQUFBLFVBQUFHLENBQUEsS0FBQUEsQ0FBQSxDQUFBVixHQUFBLElBQUFVLENBQUEsQ0FBQUMsR0FBQSxJQUFBUCxNQUFBLENBQUFDLGNBQUEsQ0FBQUosQ0FBQSxFQUFBTSxDQUFBLEVBQUFHLENBQUEsSUFBQVQsQ0FBQSxDQUFBTSxDQUFBLElBQUFkLENBQUEsQ0FBQWMsQ0FBQSxZQUFBTixDQUFBLENBQUFILE9BQUEsR0FBQUwsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQWUsR0FBQSxDQUFBbEIsQ0FBQSxFQUFBUSxDQUFBLEdBQUFBLENBQUE7QUFFekIsU0FBU1csa0JBQWtCQSxDQUFDQyxJQUFZLEVBQVU7RUFDOUMsT0FBT0MsTUFBTSxDQUFDMUIsRUFBRSxDQUFDMkIsWUFBWSxDQUFDRixJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDakQ7QUFFQSxTQUFTRyxtQkFBbUJBLENBQUEsRUFBa0I7RUFDMUMsSUFBSTtJQUNBLE9BQ0lKLGtCQUFrQixDQUFDLHFDQUFxQyxDQUFDLEdBQ3pEQSxrQkFBa0IsQ0FBQyxzQ0FBc0MsQ0FBQztFQUVsRSxDQUFDLENBQUMsT0FBT0ssR0FBRyxFQUFFO0lBQ1YsT0FBTyxJQUFJO0VBQ2Y7QUFDSjtBQUVPLFNBQVNDLFlBQVlBLENBQUEsRUFBVztFQUFBLElBQUFDLG9CQUFBO0VBQ25DLElBQUlDLE9BQU8sQ0FBQ0MsUUFBUSxLQUFLLE9BQU8sRUFBRTtJQUM5QixPQUFPOUIsRUFBRSxDQUFDK0IsSUFBSSxDQUFDLENBQUMsQ0FBQ0MsTUFBTTtFQUMzQjtFQUNBLFFBQUFKLG9CQUFBLEdBQU9ILG1CQUFtQixDQUFDLENBQUMsY0FBQUcsb0JBQUEsY0FBQUEsb0JBQUEsR0FBSTVCLEVBQUUsQ0FBQytCLElBQUksQ0FBQyxDQUFDLENBQUNDLE1BQU07QUFDcEQiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetCpuLimits.js","names":["fs","_interopRequireWildcard","require","os","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","readNumberFromFile","file","Number","readFileSync","getCpuLimitsIntenal","err","getCpuLimits","_getCpuLimitsIntenal","process","platform","cpus","length"],"sources":["../../../../src/Commons/GetCpuLimits.ts"],"sourcesContent":["import * as fs from \"fs\";\nimport * as os from \"os\";\n\nfunction readNumberFromFile(file: string): number {\n return Number(fs.readFileSync(file, \"utf-8\"));\n}\n\nfunction getCpuLimitsIntenal(): number | null {\n try {\n return (\n readNumberFromFile(\"/sys/fs/cgroup/cpu/cpu.cfs_quota_us\") /\n readNumberFromFile(\"/sys/fs/cgroup/cpu/cpu.cfs_period_us\")\n );\n } catch (err) {\n return null;\n }\n}\n\nexport function getCpuLimits(): number {\n if (process.platform !== \"linux\") {\n return os.cpus().length;\n }\n return getCpuLimitsIntenal() ?? os.cpus().length;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,EAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,EAAA,GAAAF,uBAAA,CAAAC,OAAA;AAAyB,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEzB,SAASW,kBAAkBA,CAACC,IAAY,EAAU;EAC9C,OAAOC,MAAM,CAAC1B,EAAE,CAAC2B,YAAY,CAACF,IAAI,EAAE,OAAO,CAAC,CAAC;AACjD;AAEA,SAASG,mBAAmBA,CAAA,EAAkB;EAC1C,IAAI;IACA,OACIJ,kBAAkB,CAAC,qCAAqC,CAAC,GACzDA,kBAAkB,CAAC,sCAAsC,CAAC;EAElE,CAAC,CAAC,OAAOK,GAAG,EAAE;IACV,OAAO,IAAI;EACf;AACJ;AAEO,SAASC,YAAYA,CAAA,EAAW;EAAA,IAAAC,oBAAA;EACnC,IAAIC,OAAO,CAACC,QAAQ,KAAK,OAAO,EAAE;IAC9B,OAAO9B,EAAE,CAAC+B,IAAI,CAAC,CAAC,CAACC,MAAM;EAC3B;EACA,QAAAJ,oBAAA,GAAOH,mBAAmB,CAAC,CAAC,cAAAG,oBAAA,cAAAA,oBAAA,GAAI5B,EAAE,CAAC+B,IAAI,CAAC,CAAC,CAACC,MAAM;AACpD","ignoreList":[]}
|