@decaf-ts/utils 0.1.7 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/slogans.json +802 -0
- package/dist/utils.cjs +4474 -0
- package/dist/utils.esm.cjs +4427 -0
- package/lib/bin/build-scripts.cjs +11 -0
- package/lib/bin/build-scripts.d.ts +1 -0
- package/lib/bin/tag-release.cjs +1 -3
- package/lib/bin/tag-release.d.ts +1 -0
- package/lib/bin/update-scripts.cjs +1 -3
- package/lib/bin/update-scripts.d.ts +1 -0
- package/lib/cli/command.cjs +1 -2
- package/lib/cli/commands/build-scripts.cjs +273 -0
- package/lib/cli/commands/build-scripts.d.ts +50 -0
- package/lib/cli/commands/index.cjs +2 -2
- package/{dist/types → lib}/cli/commands/index.d.ts +1 -0
- package/lib/cli/commands/tag-release.cjs +1 -2
- package/lib/cli/commands/update-scripts.cjs +6 -3
- package/lib/cli/constants.cjs +1 -2
- package/lib/cli/index.cjs +1 -2
- package/lib/cli/types.cjs +1 -2
- package/lib/esm/assets/slogans.json +801 -801
- package/lib/esm/bin/build-scripts.d.ts +1 -0
- package/lib/esm/bin/build-scripts.js +9 -0
- package/lib/esm/bin/tag-release.d.ts +1 -0
- package/lib/esm/bin/tag-release.js +1 -3
- package/lib/esm/bin/update-scripts.d.ts +1 -0
- package/lib/esm/bin/update-scripts.js +1 -3
- package/lib/esm/cli/command.d.ts +110 -0
- package/lib/esm/cli/command.js +1 -2
- package/lib/esm/cli/commands/build-scripts.d.ts +50 -0
- package/lib/esm/cli/commands/build-scripts.js +266 -0
- package/lib/esm/cli/commands/index.d.ts +3 -0
- package/lib/esm/cli/commands/index.js +2 -2
- package/lib/esm/cli/commands/tag-release.d.ts +105 -0
- package/lib/esm/cli/commands/tag-release.js +1 -2
- package/lib/esm/cli/commands/update-scripts.d.ts +211 -0
- package/lib/esm/cli/commands/update-scripts.js +6 -3
- package/lib/esm/cli/constants.d.ts +73 -0
- package/lib/esm/cli/constants.js +1 -2
- package/lib/esm/cli/index.d.ts +4 -0
- package/lib/esm/cli/index.js +1 -2
- package/lib/esm/cli/types.d.ts +28 -0
- package/lib/esm/cli/types.js +1 -2
- package/{dist/types → lib/esm}/index.d.ts +2 -2
- package/lib/esm/index.js +3 -4
- package/lib/esm/input/index.js +1 -2
- package/{dist/types → lib/esm}/input/input.d.ts +3 -3
- package/lib/esm/input/input.js +1 -2
- package/lib/esm/input/types.js +1 -2
- package/lib/esm/output/common.js +1 -2
- package/lib/esm/output/index.js +1 -2
- package/lib/esm/output/logging.js +1 -2
- package/lib/esm/output/types.js +1 -2
- package/lib/esm/utils/accumulator.js +1 -2
- package/lib/esm/utils/constants.js +1 -2
- package/lib/esm/utils/environment.js +1 -2
- package/{dist/types → lib/esm}/utils/fs.d.ts +16 -0
- package/lib/esm/utils/fs.js +115 -2
- package/lib/esm/utils/http.js +1 -2
- package/lib/esm/utils/index.js +1 -2
- package/lib/esm/utils/md.js +1 -2
- package/lib/esm/utils/tests.js +1 -2
- package/lib/esm/utils/text.js +1 -2
- package/lib/esm/utils/timeout.js +1 -2
- package/lib/esm/utils/types.js +1 -2
- package/lib/esm/utils/utils.js +1 -2
- package/lib/esm/utils/web.js +1 -2
- package/lib/esm/writers/OutputWriter.js +1 -2
- package/lib/esm/writers/RegexpOutputWriter.js +1 -2
- package/lib/esm/writers/StandardOutputWriter.js +2 -4
- package/lib/esm/writers/index.js +1 -2
- package/lib/esm/writers/types.js +1 -2
- package/lib/index.cjs +3 -4
- package/lib/index.d.ts +39 -0
- package/lib/input/index.cjs +1 -2
- package/lib/input/index.d.ts +2 -0
- package/lib/input/input.cjs +1 -2
- package/lib/input/input.d.ts +472 -0
- package/lib/input/types.cjs +1 -2
- package/lib/input/types.d.ts +76 -0
- package/lib/output/common.cjs +1 -2
- package/lib/output/common.d.ts +51 -0
- package/lib/output/index.cjs +1 -2
- package/lib/output/index.d.ts +3 -0
- package/lib/output/logging.cjs +1 -2
- package/lib/output/logging.d.ts +177 -0
- package/lib/output/types.cjs +1 -2
- package/lib/output/types.d.ts +203 -0
- package/lib/utils/accumulator.cjs +1 -2
- package/lib/utils/accumulator.d.ts +105 -0
- package/lib/utils/constants.cjs +1 -2
- package/lib/utils/constants.d.ts +136 -0
- package/lib/utils/environment.cjs +1 -2
- package/lib/utils/environment.d.ts +57 -0
- package/lib/utils/fs.cjs +119 -2
- package/lib/utils/fs.d.ts +149 -0
- package/lib/utils/http.cjs +1 -2
- package/lib/utils/http.d.ts +41 -0
- package/lib/utils/index.cjs +1 -2
- package/lib/utils/index.d.ts +7 -0
- package/lib/utils/md.cjs +1 -2
- package/lib/utils/md.d.ts +156 -0
- package/lib/utils/tests.cjs +1 -2
- package/lib/utils/tests.d.ts +170 -0
- package/lib/utils/text.cjs +1 -2
- package/lib/utils/text.d.ts +106 -0
- package/lib/utils/timeout.cjs +1 -2
- package/lib/utils/timeout.d.ts +1 -0
- package/lib/utils/types.cjs +1 -2
- package/lib/utils/types.d.ts +81 -0
- package/lib/utils/utils.cjs +1 -2
- package/lib/utils/utils.d.ts +91 -0
- package/lib/utils/web.cjs +1 -2
- package/lib/utils/web.d.ts +7 -0
- package/lib/writers/OutputWriter.cjs +1 -2
- package/lib/writers/OutputWriter.d.ts +49 -0
- package/lib/writers/RegexpOutputWriter.cjs +1 -2
- package/lib/writers/RegexpOutputWriter.d.ts +69 -0
- package/lib/writers/StandardOutputWriter.cjs +2 -4
- package/lib/writers/StandardOutputWriter.d.ts +91 -0
- package/lib/writers/index.cjs +1 -2
- package/lib/writers/index.d.ts +4 -0
- package/lib/writers/types.cjs +1 -2
- package/lib/writers/types.d.ts +29 -0
- package/package.json +21 -31
- package/dist/esm/utils.js +0 -1
- package/dist/types/bin/tag-release.d.ts +0 -2
- package/dist/types/bin/update-scripts.d.ts +0 -2
- package/dist/utils.js +0 -1
- /package/{dist/types → lib}/cli/command.d.ts +0 -0
- /package/{dist/types → lib}/cli/commands/tag-release.d.ts +0 -0
- /package/{dist/types → lib}/cli/commands/update-scripts.d.ts +0 -0
- /package/{dist/types → lib}/cli/constants.d.ts +0 -0
- /package/{dist/types → lib}/cli/index.d.ts +0 -0
- /package/{dist/types → lib}/cli/types.d.ts +0 -0
- /package/{dist/types → lib/esm}/input/index.d.ts +0 -0
- /package/{dist/types → lib/esm}/input/types.d.ts +0 -0
- /package/{dist/types → lib/esm}/output/common.d.ts +0 -0
- /package/{dist/types → lib/esm}/output/index.d.ts +0 -0
- /package/{dist/types → lib/esm}/output/logging.d.ts +0 -0
- /package/{dist/types → lib/esm}/output/types.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/accumulator.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/constants.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/environment.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/http.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/index.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/md.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/tests.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/text.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/timeout.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/types.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/utils.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/web.d.ts +0 -0
- /package/{dist/types → lib/esm}/writers/OutputWriter.d.ts +0 -0
- /package/{dist/types → lib/esm}/writers/RegexpOutputWriter.d.ts +0 -0
- /package/{dist/types → lib/esm}/writers/StandardOutputWriter.d.ts +0 -0
- /package/{dist/types → lib/esm}/writers/index.d.ts +0 -0
- /package/{dist/types → lib/esm}/writers/types.d.ts +0 -0
|
@@ -51,7 +51,11 @@ const options = {
|
|
|
51
51
|
"workdocs/readme-md.json",
|
|
52
52
|
],
|
|
53
53
|
styles: [".prettierrc", "eslint.config.js"],
|
|
54
|
-
scripts: [
|
|
54
|
+
scripts: [
|
|
55
|
+
"bin/update-scripts.cjs",
|
|
56
|
+
"bin/tag-release.cjs",
|
|
57
|
+
"bin/build-scripts.cjs",
|
|
58
|
+
],
|
|
55
59
|
tests: ["jest.config.ts", "workdocs/reports/jest.coverage.config.ts"],
|
|
56
60
|
typescript: ["tsconfig.json"],
|
|
57
61
|
docker: ["Dockerfile"],
|
|
@@ -507,5 +511,4 @@ class TemplateSync extends command_1.Command {
|
|
|
507
511
|
}
|
|
508
512
|
}
|
|
509
513
|
exports.TemplateSync = TemplateSync;
|
|
510
|
-
|
|
511
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9jbGkvY29tbWFuZHMvdXBkYXRlLXNjcmlwdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0RBQXdCO0FBQ3hCLHdDQUFxQztBQUVyQyx1Q0FVcUI7QUFHckIsdUNBQXdDO0FBQ3hDLDRDQUFvQjtBQUVwQixNQUFNLE9BQU8sR0FDWCxnRUFBZ0UsQ0FBQztBQUVuRSxNQUFNLE9BQU8sR0FBRztJQUNkLFNBQVMsRUFBRTtRQUNULHNDQUFzQztRQUN0QywyQ0FBMkM7UUFDM0MscUJBQXFCO0tBQ3RCO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsdUNBQXVDO1FBQ3ZDLHNDQUFzQztRQUN0QywwQ0FBMEM7UUFDMUMsOEJBQThCO1FBQzlCLDJDQUEyQztRQUMzQyx1Q0FBdUM7UUFDdkMsc0NBQXNDO0tBQ3ZDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsMkNBQTJDO1FBQzNDLHVDQUF1QztRQUN2Qyw0Q0FBNEM7UUFDNUMsMENBQTBDO1FBQzFDLHNDQUFzQztRQUN0QywwQ0FBMEM7UUFDMUMsK0NBQStDO1FBQy9DLG1EQUFtRDtRQUNuRCxnREFBZ0Q7UUFDaEQsMENBQTBDO1FBQzFDLHlDQUF5QztRQUN6QywrQ0FBK0M7UUFDL0MscUNBQXFDO1FBQ3JDLDRDQUE0QztRQUM1QyxnREFBZ0Q7S0FDakQ7SUFDRCxJQUFJLEVBQUU7UUFDSixvQ0FBb0M7UUFDcEMscUNBQXFDO1FBQ3JDLHNDQUFzQztRQUN0QyxzQkFBc0I7UUFDdEIsc0JBQXNCO1FBQ3RCLHlCQUF5QjtLQUMxQjtJQUNELE1BQU0sRUFBRSxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQztJQUMzQyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSxxQkFBcUIsQ0FBQztJQUMxRCxLQUFLLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSwwQ0FBMEMsQ0FBQztJQUNyRSxVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUM7SUFDN0IsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQ3RCLFVBQVUsRUFB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Q0FBQztJQUNwRCxDQUFDO0NBQ0Y7QUE1ZkQsb0NBNGZDIiwiZmlsZSI6ImNsaS9jb21tYW5kcy91cGRhdGUtc2NyaXB0cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSBcIi4uL2NvbW1hbmRcIjtcbmltcG9ydCB7IENvbW1hbmRPcHRpb25zIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQge1xuICBnZXRQYWNrYWdlLFxuICBIdHRwQ2xpZW50LFxuICBwYXRjaEZpbGUsXG4gIHBhdGNoU3RyaW5nLFxuICBydW5Db21tYW5kLFxuICBzZXRQYWNrYWdlQXR0cmlidXRlLFxuICBTZXR1cFNjcmlwdEtleSxcbiAgVG9rZW5zLFxuICB3cml0ZUZpbGUsXG59IGZyb20gXCIuLi8uLi91dGlsc1wiO1xuaW1wb3J0IHsgTG9nZ2luZ0NvbmZpZyB9IGZyb20gXCIuLi8uLi9vdXRwdXRcIjtcbmltcG9ydCB7IERlZmF1bHRDb21tYW5kVmFsdWVzIH0gZnJvbSBcIi4uL2luZGV4XCI7XG5pbXBvcnQgeyBVc2VySW5wdXQgfSBmcm9tIFwiLi4vLi4vaW5wdXRcIjtcbmltcG9ydCBmcyBmcm9tIFwiZnNcIjtcblxuY29uc3QgYmFzZVVybCA9XG4gIFwiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2RlY2FmLXRzL3RzLXdvcmtzcGFjZS9tYXN0ZXJcIjtcblxuY29uc3Qgb3B0aW9ucyA9IHtcbiAgdGVtcGxhdGVzOiBbXG4gICAgXCIuZ2l0aHViL0lTU1VFX1RFTVBMQVRFL2J1Z19yZXBvcnQubWRcIixcbiAgICBcIi5naXRodWIvSVNTVUVfVEVNUExBVEUvZmVhdHVyZV9yZXF1ZXN0Lm1kXCIsXG4gICAgXCIuZ2l0aHViL0ZVTkRJTkcueW1sXCIsXG4gIF0sXG4gIHdvcmtmbG93czogW1xuICAgIFwiLmdpdGh1Yi93b3JrZmxvd3MvY29kZXFsLWFuYWx5c2lzLnltbFwiLFxuICAgIFwiLmdpdGh1Yi93b3JrZmxvd3MvamVzdC1jb3ZlcmFnZS55YW1sXCIsXG4gICAgXCIuZ2l0aHViL3dvcmtmbG93cy9ub2RlanMtYnVpbGQtcHJvZC55YW1sXCIsXG4gICAgXCIuZ2l0aHViL3dvcmtmbG93cy9wYWdlcy55YW1sXCIsXG4gICAgXCIuZ2l0aHViL3dvcmtmbG93cy9wdWJsaXNoLW9uLXJlbGVhc2UueWFtbFwiLFxuICAgIFwiLmdpdGh1Yi93b3JrZmxvd3MvcmVsZWFzZS1vbi10YWcueWFtbFwiLFxuICAgIFwiLmdpdGh1Yi93b3JrZmxvd3Mvc255ay1hbmFseXNpcy55YW1sXCIsXG4gIF0sXG4gIGlkZTogW1xuICAgIFwiLmlkZWEvcnVuQ29uZmlndXJhdGlvbnMvQWxsIFRlc3RzLnJ1bi54bWxcIixcbiAgICBcIi5pZGVhL3J1bkNvbmZpZ3VyYXRpb25zL2J1aWxkLnJ1bi54bWxcIixcbiAgICBcIi5pZGVhL3J1bkNvbmZpZ3VyYXRpb25zL2J1aWxkX3Byb2QucnVuLnhtbFwiLFxuICAgIFwiLmlkZWEvcnVuQ29uZmlndXJhdGlvbnMvY292ZXJhZ2UucnVuLnhtbFwiLFxuICAgIFwiLmlkZWEvcnVuQ29uZmlndXJhdGlvbnMvZG9jcy5ydW4ueG1sXCIsXG4gICAgXCIuaWRlYS9ydW5Db25maWd1cmF0aW9ucy9kcmF3aW5ncy5ydW4ueG1sXCIsXG4gICAgXCIuaWRlYS9ydW5Db25maWd1cmF0aW9ucy9mbGFzaC1mb3J3YXJkLnJ1bi54bWxcIixcbiAgICBcIi5pZGVhL3J1bkNvbmZpZ3VyYXRpb25zL0ludGVncmF0aW9uX1Rlc3RzLnJ1bi54bWxcIixcbiAgICBcIi5pZGVhL3J1bkNvbmZpZ3VyYXRpb25zL0J1bmRsaW5nX1Rlc3RzLnJ1bi54bWxcIixcbiAgICBcIi5pZGVhL3J1bkNvbmZpZ3VyYXRpb25zL2xpbnQtZml4LnJ1bi54bWxcIixcbiAgICBcIi5pZGVhL3J1bkNvbmZpZ3VyYXRpb25zL3JlbGVhc2UucnVuLnhtbFwiLFxuICAgIFwiLmlkZWEvcnVuQ29uZmlndXJhdGlvbnMvdGVzdF9jaXJjdWxhci5ydW4ueG1sXCIsXG4gICAgXCIuaWRlYS9ydW5Db25maWd1cmF0aW9ucy91bWwucnVuLnhtbFwiLFxuICAgIFwiLmlkZWEvcnVuQ29uZmlndXJhdGlvbnMvVW5pdCBUZXN0cy5ydW4ueG1sXCIsXG4gICAgXCIuaWRlYS9ydW5Db25maWd1cmF0aW9ucy91cGRhdGUtc2NyaXB0cy5ydW4ueG1sXCIsXG4gIF0sXG4gIGRvY3M6IFtcbiAgICBcIndvcmtkb2NzL3R1dG9yaWFscy9Db250cmlidXRpbmcubWRcIixcbiAgICBcIndvcmtkb2NzL3R1dG9yaWFscy9Eb2N1bWVudGF0aW9uLm1kXCIsXG4gICAgXCJ3b3JrZG9jcy90dXRvcmlhbHMvRm9yIERldmVsb3BlcnMubWRcIixcbiAgICBcIndvcmtkb2NzLzItQmFkZ2VzLm1kXCIsXG4gICAgXCJ3b3JrZG9jcy9qc2RvY3MuanNvblwiLFxuICAgIFwid29ya2RvY3MvcmVhZG1lLW1kLmpzb25cIixcbiAgXSxcbiAgc3R5bGVzOiBbXCIucHJldHRpZXJyY1wiLCBcImVzbGludC5jb25maWcuanNcIl0sXG4gIHNjcmlwdHM6IFtcImJpbi91cGRhdGUtc2NyaXB0cy5janNcIiwgXCJiaW4vdGFnLXJlbGVhc2UuY2pzXCJdLFxuICB0ZXN0czogW1wiamVzdC5jb25maWcudHNcIiwgXCJ3b3JrZG9jcy9yZXBvcnRzL2plc3QuY292ZXJhZ2UuY29uZmlnLnRzXCJdLFxuICB0eXBlc2NyaXB0OiBbXCJ0c2NvbmZpZy5qc29uXCJdLFxuICBkb2NrZXI6IFtcIkRvY2tlcmZpbGVcIl0sXG4gIGF1dG9tYXRpb246IFtcbiAgICBcIndvcmtkb2NzL2NvbmZsdWVuY2UvQ29udGludW91cyBJbnRlZ3JhdGlvbi1EZXBsb3ltZW50L0dpdEh1Yi5tZFwiLFxuICAgIFwid29ya2RvY3MvY29uZmx1ZW5jZS9Db250aW51b3VzIEludGVncmF0aW9uLURlcGxveW1lbnQvSmlyYS5tZFwiLFxuICAgIFwid29ya2RvY3MvY29uZmx1ZW5jZS9Db250aW51b3VzIEludGVncmF0aW9uLURlcGxveW1lbnQvVGVhbXMubWRcIixcbiAgXSxcbn07XG5cbmNvbnN0IGFyZ3p6ID0ge1xuICAvLyBpbml0IGF0dHJpYnV0ZXNcbiAgYm9vdDoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICB9LFxuICBvcmc6IHtcbiAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgIHNob3J0OiBcIm9cIixcbiAgfSxcbiAgbmFtZToge1xuICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgc2hvcnQ6IFwiblwiLFxuICAgIGRlZmF1bHQ6IHVuZGVmaW5lZCxcbiAgfSxcbiAgYXV0aG9yOiB7XG4gICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICBzaG9ydDogXCJhXCIsXG4gICAgZGVmYXVsdDogdW5kZWZpbmVkLFxuICB9LFxuICAvLyB1cGRhdGUgYXR0cmlidXRlc1xuICBhbGw6IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgfSxcbiAgbGljZW5zZToge1xuICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgbWVzc2FnZTogXCJQaWNrIHRoZSBsaWNlbnNlXCIsXG4gIH0sXG4gIHNjcmlwdHM6IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgfSxcbiAgc3R5bGVzOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gIH0sXG4gIGRvY3M6IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgfSxcbiAgaWRlOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gIH0sXG4gIHdvcmtmbG93czoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICB9LFxuICB0ZW1wbGF0ZXM6IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgfSxcbiAgdHlwZXNjcmlwdDoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICB9LFxuICBkb2NrZXI6IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgfSxcbiAgcGtnOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gIH0sXG4gIGRlcGVuZGVuY2llczoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICB9LFxuICB0ZXN0czoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICB9LFxuICBhdXRvbWF0aW9uOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gIH0sXG59O1xuXG4vKipcbiAqIEBjbGFzcyBUZW1wbGF0ZVN5bmNcbiAqIEBleHRlbmRzIHtDb21tYW5kfVxuICogQGNhdGVnb3J5IHNjcmlwdHNcbiAqIEBkZXNjcmlwdGlvbiBBIGNvbW1hbmQtbGluZSB0b29sIGZvciBzeW5jaHJvbml6aW5nIHByb2plY3QgdGVtcGxhdGVzIGFuZCBjb25maWd1cmF0aW9ucy5cbiAqIEBzdW1tYXJ5IFRoaXMgY2xhc3MgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSB0byBkb3dubG9hZCBhbmQgdXBkYXRlIHZhcmlvdXMgcHJvamVjdCBmaWxlcyBhbmQgY29uZmlndXJhdGlvbnMgZnJvbSBhIHJlbW90ZSByZXBvc2l0b3J5LlxuICogSXQgc3VwcG9ydHMgdXBkYXRpbmcgbGljZW5zZXMsIElERSBjb25maWd1cmF0aW9ucywgc2NyaXB0cywgc3R5bGVzLCBkb2N1bWVudGF0aW9uLCB3b3JrZmxvd3MsIGFuZCB0ZW1wbGF0ZXMuXG4gKlxuICogQHBhcmFtIHtDb21tYW5kT3B0aW9uc30gYXJncyAtIFRoZSBjb21tYW5kIG9wdGlvbnMgZm9yIFRlbXBsYXRlU3luY1xuICovXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVTeW5jIGV4dGVuZHMgQ29tbWFuZDxDb21tYW5kT3B0aW9uczx0eXBlb2YgYXJneno+LCB2b2lkPiB7XG4gIHByaXZhdGUgcmVwbGFjZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+ID0ge307XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJUZW1wbGF0ZVN5bmNcIiwgYXJnenopO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkVmFsdWVzRnJvbVBhY2thZ2UoKSB7XG4gICAgY29uc3QgcCA9IHByb2Nlc3MuY3dkKCk7XG4gICAgY29uc3QgYXV0aG9yID0gZ2V0UGFja2FnZShwLCBcImF1dGhvclwiKSBhcyBzdHJpbmc7XG4gICAgY29uc3Qgc2NvcGVkTmFtZSA9IGdldFBhY2thZ2UocCwgXCJuYW1lXCIpO1xuICAgIGxldCBuYW1lOiBzdHJpbmcgPSBzY29wZWROYW1lIGFzIHN0cmluZztcbiAgICBsZXQgb3JnOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKG5hbWUuc3RhcnRzV2l0aChcIkBcIikpIHtcbiAgICAgIGNvbnN0IHNwbGl0ID0gbmFtZS5zcGxpdChcIi9cIik7XG4gICAgICBuYW1lID0gc3BsaXRbMV07XG4gICAgICBvcmcgPSBzcGxpdFswXS5yZXBsYWNlKFwiQFwiLCBcIlwiKTtcbiAgICB9XG4gICAgW1wiVGlhZ28gVmVuY2VzbGF1XCIsIFwiVGlhZ29WZW5jZXNsYXVcIiwgXCIke2F1dGhvcn1cIl0uZm9yRWFjaChcbiAgICAgIChlbCkgPT4gKHRoaXMucmVwbGFjZW1lbnRzW2VsXSA9IGF1dGhvcilcbiAgICApO1xuICAgIFtcIlRTLVdvcmtzcGFjZVwiLCBcInRzLXdvcmtzcGFjZVwiLCBcIiR7bmFtZX1cIl0uZm9yRWFjaChcbiAgICAgIChlbCkgPT4gKHRoaXMucmVwbGFjZW1lbnRzW2VsXSA9IG5hbWUpXG4gICAgKTtcbiAgICBbXCJkZWNhZi10c1wiLCBcIiR7b3JnfVwiXS5mb3JFYWNoKFxuICAgICAgKGVsKSA9PiAodGhpcy5yZXBsYWNlbWVudHNbZWxdID0gKG9yZyBhcyBzdHJpbmcpIHx8ICdcIlwiJylcbiAgICApO1xuICAgIHRoaXMucmVwbGFjZW1lbnRzW1wiJHtvcmdfb3Jfb3duZXJ9XCJdID0gb3JnIHx8IG5hbWU7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERvd25sb2FkcyBmaWxlcyBmb3IgYSBzcGVjaWZpYyBvcHRpb24gY2F0ZWdvcnkuXG4gICAqIEBzdW1tYXJ5IFRoaXMgbWV0aG9kIGRvd25sb2FkcyBhbGwgZmlsZXMgYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gb3B0aW9uIGtleSBmcm9tIHRoZSByZW1vdGUgcmVwb3NpdG9yeS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIFRoZSBrZXkgcmVwcmVzZW50aW5nIHRoZSBvcHRpb24gY2F0ZWdvcnkgdG8gZG93bmxvYWRcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgc3BlY2lmaWVkIG9wdGlvbiBrZXkgaXMgbm90IGZvdW5kXG4gICAqL1xuICBhc3luYyBkb3dubG9hZE9wdGlvbihrZXk6IGtleW9mIHR5cGVvZiBvcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCEoa2V5IGluIG9wdGlvbnMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE9wdGlvbiBcIiR7a2V5fVwiIG5vdCBmb3VuZCBpbiBvcHRpb25zYCk7XG4gICAgfVxuICAgIGNvbnN0IGZpbGVzID0gb3B0aW9uc1trZXkgYXMga2V5b2YgdHlwZW9mIG9wdGlvbnNdO1xuXG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICB0aGlzLmxvZy5pbmZvKGBEb3dubG9hZGluZyAke2ZpbGV9YCk7XG5cbiAgICAgIGxldCBkYXRhID0gYXdhaXQgSHR0cENsaWVudC5kb3dubG9hZEZpbGUoYCR7YmFzZVVybH0vJHtmaWxlfWApO1xuICAgICAgZGF0YSA9IHBhdGNoU3RyaW5nKGRhdGEsIHRoaXMucmVwbGFjZW1lbnRzKTtcbiAgICAgIHdyaXRlRmlsZShwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgZmlsZSksIGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRG93bmxvYWRzIGFuZCBzZXRzIHVwIHRoZSBzcGVjaWZpZWQgbGljZW5zZS5cbiAgICogQHN1bW1hcnkgVGhpcyBtZXRob2QgZG93bmxvYWRzIHRoZSBjaG9zZW4gbGljZW5zZSBmaWxlLCBzYXZlcyBpdCB0byB0aGUgcHJvamVjdCwgYW5kIHVwZGF0ZXMgdGhlIHBhY2thZ2UuanNvbiBsaWNlbnNlIGZpZWxkLlxuICAgKiBAcGFyYW0ge1wiTUlUXCIgfCBcIkdQTFwiIHwgXCJBcGFjaGVcIiB8IFwiTEdQTFwiIHwgXCJBR1BMXCJ9IGxpY2Vuc2UgLSBUaGUgbGljZW5zZSB0byBkb3dubG9hZCBhbmQgc2V0IHVwXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgYXN5bmMgZ2V0TGljZW5zZShsaWNlbnNlOiBcIk1JVFwiIHwgXCJHUExcIiB8IFwiQXBhY2hlXCIgfCBcIkxHUExcIiB8IFwiQUdQTFwiKSB7XG4gICAgdGhpcy5sb2cuaW5mbyhgRG93bmxvYWRpbmcgJHtsaWNlbnNlfSBsaWNlbnNlYCk7XG4gICAgY29uc3QgdXJsID0gYCR7YmFzZVVybH0vd29ya2RvY3MvbGljZW5zZXMvJHtsaWNlbnNlfS5tZGA7XG4gICAgbGV0IGRhdGEgPSBhd2FpdCBIdHRwQ2xpZW50LmRvd25sb2FkRmlsZSh1cmwpO1xuICAgIGRhdGEgPSBwYXRjaFN0cmluZyhkYXRhLCB0aGlzLnJlcGxhY2VtZW50cyk7XG4gICAgd3JpdGVGaWxlKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIkxJQ0VOU0UubWRcIiksIGRhdGEpO1xuICAgIHNldFBhY2thZ2VBdHRyaWJ1dGUoXCJsaWNlbnNlXCIsIGxpY2Vuc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEb3dubG9hZHMgSURFIGNvbmZpZ3VyYXRpb24gZmlsZXMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgYXN5bmMgZ2V0SWRlKCkge1xuICAgIGZzLm1rZGlyU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCIuaWRlYVwiLCBcInJ1bkNvbmZpZ3VyYXRpb25zXCIpLCB7XG4gICAgICByZWN1cnNpdmU6IHRydWUsXG4gICAgfSk7XG4gICAgYXdhaXQgdGhpcy5kb3dubG9hZE9wdGlvbihcImlkZVwiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVXBkYXRlIG5wbSBzY3JpcHRzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgYXN5bmMgZ2V0U2NyaXB0cygpIHtcbiAgICBhd2FpdCB0aGlzLmRvd25sb2FkT3B0aW9uKFwic2NyaXB0c1wiKTtcbiAgICB0aGlzLmxvZy5pbmZvKFwicGxlYXNlIHJlLXJ1biB0aGUgY29tbWFuZFwiKTtcbiAgICBwcm9jZXNzLmV4aXQoMCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERvd25sb2FkcyBzdHlsZSBjb25maWd1cmF0aW9uIGZpbGVzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGdldFN0eWxlcyA9ICgpID0+IHRoaXMuZG93bmxvYWRPcHRpb24oXCJzdHlsZXNcIik7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEb3dubG9hZHMgdGVtcGxhdGUgZmlsZXMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgZ2V0VGVtcGxhdGVzID0gKCkgPT4gdGhpcy5kb3dubG9hZE9wdGlvbihcInRlbXBsYXRlc1wiKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERvd25sb2FkcyB3b3JrZmxvdyBjb25maWd1cmF0aW9uIGZpbGVzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGdldFdvcmtmbG93cyA9ICgpID0+IHRoaXMuZG93bmxvYWRPcHRpb24oXCJ3b3JrZmxvd3NcIik7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEb3dubG9hZHMgZG9jdW1lbnRhdGlvbiBmaWxlcy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBnZXREb2NzID0gKCkgPT4gdGhpcy5kb3dubG9hZE9wdGlvbihcImRvY3NcIik7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEb3dubG9hZHMgdHlwZXNjcmlwdCBjb25maWcgZmlsZXMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgZ2V0VHlwZXNjcmlwdCA9ICgpID0+IHRoaXMuZG93bmxvYWRPcHRpb24oXCJ0eXBlc2NyaXB0XCIpO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRG93bmxvYWRzIGF1dG9tYXRpb24gZG9jdW1lbnRhdGlvbiBmaWxlcy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBnZXRBdXRvbWF0aW9uID0gKCkgPT4gdGhpcy5kb3dubG9hZE9wdGlvbihcImF1dG9tYXRpb25cIik7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEb3dubG9hZHMgYXV0b21hdGlvbiBkb2N1bWVudGF0aW9uIGZpbGVzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGdldFRlc3RzID0gKCkgPT4gdGhpcy5kb3dubG9hZE9wdGlvbihcInRlc3RzXCIpO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRG93bmxvYWRzIGRvY2tlciBpbWFnZSBmaWxlcy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBnZXREb2NrZXIgPSAoKSA9PiB0aGlzLmRvd25sb2FkT3B0aW9uKFwiZG9ja2VyXCIpO1xuXG4gIGFzeW5jIGluaXRQYWNrYWdlKHBrZ05hbWU6IHN0cmluZywgYXV0aG9yOiBzdHJpbmcsIGxpY2Vuc2U6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwa2cgPSBnZXRQYWNrYWdlKCkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgICBkZWxldGUgcGtnW1NldHVwU2NyaXB0S2V5XTtcbiAgICAgIHBrZy5uYW1lID0gcGtnTmFtZTtcbiAgICAgIHBrZy52ZXJzaW9uID0gXCIwLjAuMVwiO1xuICAgICAgcGtnLmF1dGhvciA9IGF1dGhvcjtcbiAgICAgIHBrZy5saWNlbnNlID0gbGljZW5zZTtcbiAgICAgIGZzLndyaXRlRmlsZVN5bmMoXCJwYWNrYWdlLmpzb25cIiwgSlNPTi5zdHJpbmdpZnkocGtnLCBudWxsLCAyKSk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciBmaXhpbmcgcGFja2FnZS5qc29uOiAke2V9YCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgdXBkYXRlUGFja2FnZVNjcmlwcygpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3JpZ2luYWxQa2cgPSBKU09OLnBhcnNlKFxuICAgICAgICBhd2FpdCBIdHRwQ2xpZW50LmRvd25sb2FkRmlsZShgJHtiYXNlVXJsfS9wYWNrYWdlLmpzb25gKVxuICAgICAgKTtcbiAgICAgIGNvbnN0IHsgc2NyaXB0cyB9ID0gb3JpZ2luYWxQa2c7XG5cbiAgICAgIGNvbnN0IHBrZzogdHlwZW9mIG9yaWdpbmFsUGtnID0gZ2V0UGFja2FnZSgpIGFzIHtcbiAgICAgICAgc2NyaXB0czogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICAgIH07XG4gICAgICBPYmplY3Qua2V5cyhwa2cuc2NyaXB0cykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGlmIChrZXkgaW4gc2NyaXB0cykge1xuICAgICAgICAgIGNvbnN0IHJlcGxhY2VkID0gcGF0Y2hTdHJpbmcoc2NyaXB0c1trZXldLCB0aGlzLnJlcGxhY2VtZW50cyk7XG4gICAgICAgICAgaWYgKHJlcGxhY2VkICE9PSBzY3JpcHRzW2tleV0pIHtcbiAgICAgICAgICAgIHBrZy5zY3JpcHRzW2tleV0gPSByZXBsYWNlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBwa2dbXCJleHBvcnRzXCJdW1wicmVxdWlyZVwiXSA9IG9yaWdpbmFsUGtnW1wiZXhwb3J0c1wiXVtcInJlcXVpcmVcIl07XG4gICAgICBwa2dbXCJleHBvcnRzXCJdW1wiaW1wb3J0XCJdID0gb3JpZ2luYWxQa2dbXCJleHBvcnRzXCJdW1wiaW1wb3J0XCJdO1xuICAgICAgcGtnW1widHlwZXNcIl0gPSBvcmlnaW5hbFBrZ1tcInR5cGVzXCJdO1xuXG4gICAgICBmcy53cml0ZUZpbGVTeW5jKFwicGFja2FnZS5qc29uXCIsIEpTT04uc3RyaW5naWZ5KHBrZywgbnVsbCwgMikpO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3IgZml4aW5nIHBhY2thZ2UuanNvbiBzY3JpcHRzOiAke2V9YCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY3JlYXRlVG9rZW5GaWxlcygpIHtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5jcmVhdGVUb2tlbkZpbGVzKTtcbiAgICBjb25zdCBnaXRUb2tlbiA9IGF3YWl0IFVzZXJJbnB1dC5pbnNpc3RGb3JUZXh0KFxuICAgICAgXCJ0b2tlblwiLFxuICAgICAgXCJwbGVhc2UgaW5wdXQgeW91ciBnaXRodWIgdG9rZW5cIixcbiAgICAgIChyZXM6IHN0cmluZykgPT4ge1xuICAgICAgICByZXR1cm4gISFyZXMubWF0Y2goL15naHBfWzAtOWEtekEtWl17MzZ9JC9nKTtcbiAgICAgIH1cbiAgICApO1xuICAgIE9iamVjdC52YWx1ZXMoVG9rZW5zKS5mb3JFYWNoKCh0b2tlbikgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgbGV0IHN0YXR1cztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBzdGF0dXMgPSBmcy5leGlzdHNTeW5jKHRva2VuKTtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgICBsb2cuaW5mbyhgVG9rZW4gZmlsZSAke3Rva2VufSBub3QgZm91bmQuIENyZWF0aW5nIGEgbmV3IG9uZS4uLmApO1xuICAgICAgICAgIGZzLndyaXRlRmlsZVN5bmModG9rZW4sIHRva2VuID09PSBcIi50b2tlblwiID8gZ2l0VG9rZW4gOiBcIlwiKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHRva2VuLCB0b2tlbiA9PT0gXCIudG9rZW5cIiA/IGdpdFRva2VuIDogXCJcIik7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciBjcmVhdGluZyB0b2tlbiBmaWxlICR7dG9rZW59OiAke2V9YCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBnZXRPcmcoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBvcmcgPSBhd2FpdCBVc2VySW5wdXQuYXNrVGV4dChcbiAgICAgIFwiT3JnYW5pemF0aW9uXCIsXG4gICAgICBcIkVudGVyIHRoZSBvcmdhbml6YXRpb24gbmFtZSAod2lsbCBiZSB1c2VkIHRvIHNjb3BlIHlvdXIgbnBtIHByb2plY3QuIGxlYXZlIGJsYW5rIHRvIGNyZWF0ZSBhIHVuc2NvcGVkIHByb2plY3QpOlwiXG4gICAgKTtcbiAgICBjb25zdCBjb25maXJtYXRpb24gPSBhd2FpdCBVc2VySW5wdXQuYXNrQ29uZmlybWF0aW9uKFxuICAgICAgXCJDb25maXJtIG9yZ2FuaXphdGlvblwiLFxuICAgICAgXCJJcyB0aGlzIG9yZ2FuaXphdGlvbiBjb3JyZWN0P1wiLFxuICAgICAgdHJ1ZVxuICAgICk7XG4gICAgaWYgKCFjb25maXJtYXRpb24pIHJldHVybiB0aGlzLmdldE9yZygpO1xuXG4gICAgcmV0dXJuIG9yZztcbiAgfVxuXG4gIGFzeW5jIGF1ZGl0Rml4KCkge1xuICAgIHJldHVybiBhd2FpdCBydW5Db21tYW5kKFwibnBtIGF1ZGl0IGZpeCAtLWZvcmNlXCIpLnByb21pc2U7XG4gIH1cblxuICBwYXRjaEZpbGVzKCkge1xuICAgIGNvbnN0IGZpbGVzID0gW1xuICAgICAgLi4uZnNcbiAgICAgICAgLnJlYWRkaXJTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInNyY1wiKSwge1xuICAgICAgICAgIHJlY3Vyc2l2ZTogdHJ1ZSxcbiAgICAgICAgICB3aXRoRmlsZVR5cGVzOiB0cnVlLFxuICAgICAgICB9KVxuICAgICAgICAuZmlsdGVyKChlbnRyeSkgPT4gZW50cnkuaXNGaWxlKCkpXG4gICAgICAgIC5tYXAoKGVudHJ5KSA9PiBwYXRoLmpvaW4oZW50cnkucGFyZW50UGF0aCwgZW50cnkubmFtZSkpLFxuICAgICAgLi4uZnNcbiAgICAgICAgLnJlYWRkaXJTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIndvcmtkb2NzXCIpLCB7XG4gICAgICAgICAgcmVjdXJzaXZlOiB0cnVlLFxuICAgICAgICAgIHdpdGhGaWxlVHlwZXM6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoKGVudHJ5KSA9PiBlbnRyeS5pc0ZpbGUoKSAmJiBlbnRyeS5uYW1lLmVuZHNXaXRoKFwiLm1kXCIpKVxuICAgICAgICAubWFwKChlbnRyeSkgPT4gcGF0aC5qb2luKGVudHJ5LnBhcmVudFBhdGgsIGVudHJ5Lm5hbWUpKSxcbiAgICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIi5naXRsYWItY2kueW1sXCIpLFxuICAgICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwid29ya2RvY3NcIiwgXCJqc2RvY3MuanNvblwiKSxcbiAgICBdO1xuXG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICBwYXRjaEZpbGUoZmlsZSBhcyBzdHJpbmcsIHRoaXMucmVwbGFjZW1lbnRzKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB1cGRhdGVEZXBlbmRlbmNpZXMoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsUGtnID0gSlNPTi5wYXJzZShcbiAgICAgICAgYXdhaXQgSHR0cENsaWVudC5kb3dubG9hZEZpbGUoYCR7YmFzZVVybH0vcGFja2FnZS5qc29uYClcbiAgICAgICk7XG4gICAgICBjb25zdCB7IGRldkRlcGVuZGVuY2llcyB9ID0gb3JpZ2luYWxQa2c7XG5cbiAgICAgIGNvbnN0IHBrZzogdHlwZW9mIG9yaWdpbmFsUGtnID0gZ2V0UGFja2FnZSgpIGFzIHtcbiAgICAgICAgc2NyaXB0czogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICAgIH07XG4gICAgICBPYmplY3Qua2V5cyhwa2cuc2NyaXB0cykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGlmIChrZXkgaW4gZGV2RGVwZW5kZW5jaWVzKSB7XG4gICAgICAgICAgY29uc3QgcmVwbGFjZWQgPSBkZXZEZXBlbmRlbmNpZXNba2V5XTtcbiAgICAgICAgICBpZiAocmVwbGFjZWQgIT09IGRldkRlcGVuZGVuY2llc1trZXldKSB7XG4gICAgICAgICAgICAocGtnIGFzIGFueSlbXCJkZXZEZXBlbmRlbmNpZXNcIl0gPVxuICAgICAgICAgICAgICAocGtnIGFzIGFueSlbXCJkZXZEZXBlbmRlbmNpZXNcIl0gfHwge307XG4gICAgICAgICAgICAocGtnIGFzIGFueSlbXCJkZXZEZXBlbmRlbmNpZXNcIl1ba2V5XSA9IHJlcGxhY2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGZzLndyaXRlRmlsZVN5bmMoXCJwYWNrYWdlLmpzb25cIiwgSlNPTi5zdHJpbmdpZnkocGtnLCBudWxsLCAyKSk7XG4gICAgICBhd2FpdCBydW5Db21tYW5kKFwibnBtIGluc3RhbGxcIikucHJvbWlzZTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yIGZpeGluZyBwYWNrYWdlLmpzb24gZGVwZW5kZW5jaWVzOiAke2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSdW5zIHRoZSB0ZW1wbGF0ZSBzeW5jaHJvbml6YXRpb24gcHJvY2Vzcy5cbiAgICogQHN1bW1hcnkgVGhpcyBtZXRob2Qgb3JjaGVzdHJhdGVzIHRoZSBkb3dubG9hZGluZyBvZiB2YXJpb3VzIHByb2plY3QgY29tcG9uZW50cyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgYXJndW1lbnRzLlxuICAgKiBAcGFyYW0ge1BhcnNlQXJnc1Jlc3VsdH0gYXJncyAtIFRoZSBwYXJzZWQgY29tbWFuZC1saW5lIGFyZ3VtZW50c1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICpcbiAgICogQG1lcm1haWRcbiAgICogc2VxdWVuY2VEaWFncmFtXG4gICAqICAgcGFydGljaXBhbnQgVCBhcyBUZW1wbGF0ZVN5bmNcbiAgICogICBwYXJ0aWNpcGFudCBMIGFzIGdldExpY2Vuc2VcbiAgICogICBwYXJ0aWNpcGFudCBJIGFzIGdldElkZVxuICAgKiAgIHBhcnRpY2lwYW50IFMgYXMgZ2V0U2NyaXB0c1xuICAgKiAgIHBhcnRpY2lwYW50IFN0IGFzIGdldFN0eWxlc1xuICAgKiAgIHBhcnRpY2lwYW50IEQgYXMgZ2V0RG9jc1xuICAgKiAgIHBhcnRpY2lwYW50IFcgYXMgZ2V0V29ya2Zsb3dzXG4gICAqICAgcGFydGljaXBhbnQgVGUgYXMgZ2V0VGVtcGxhdGVzXG4gICAqICAgVC0+PlQ6IFBhcnNlIGFyZ3VtZW50c1xuICAgKiAgIGFsdCBhbGwgZmxhZyBpcyB0cnVlXG4gICAqICAgICBULT4+VDogU2V0IGFsbCBjb21wb25lbnQgZmxhZ3MgdG8gdHJ1ZVxuICAgKiAgIGVuZFxuICAgKiAgIGFsdCBsaWNlbnNlIGlzIHNwZWNpZmllZFxuICAgKiAgICAgVC0+Pkw6IGdldExpY2Vuc2UobGljZW5zZSlcbiAgICogICBlbmRcbiAgICogICBhbHQgaWRlIGZsYWcgaXMgdHJ1ZVxuICAgKiAgICAgVC0+Pkk6IGdldElkZSgpXG4gICAqICAgZW5kXG4gICAqICAgYWx0IHNjcmlwdHMgZmxhZyBpcyB0cnVlXG4gICAqICAgICBULT4+UzogZ2V0U2NyaXB0cygpXG4gICAqICAgZW5kXG4gICAqICAgYWx0IHN0eWxlcyBmbGFnIGlzIHRydWVcbiAgICogICAgIFQtPj5TdDogZ2V0U3R5bGVzKClcbiAgICogICBlbmRcbiAgICogICBhbHQgZG9jcyBmbGFnIGlzIHRydWVcbiAgICogICAgIFQtPj5EOiBnZXREb2NzKClcbiAgICogICBlbmRcbiAgICogICBhbHQgd29ya2Zsb3dzIGZsYWcgaXMgdHJ1ZVxuICAgKiAgICAgVC0+Plc6IGdldFdvcmtmbG93cygpXG4gICAqICAgZW5kXG4gICAqICAgYWx0IHRlbXBsYXRlcyBmbGFnIGlzIHRydWVcbiAgICogICAgIFQtPj5UZTogZ2V0VGVtcGxhdGVzKClcbiAgICogICBlbmRcbiAgICovXG4gIGFzeW5jIHJ1bihcbiAgICBhcmdzOiBMb2dnaW5nQ29uZmlnICZcbiAgICAgIHR5cGVvZiBEZWZhdWx0Q29tbWFuZFZhbHVlcyAmIHsgW2sgaW4ga2V5b2YgdHlwZW9mIGFyZ3p6XTogdW5rbm93biB9XG4gICkge1xuICAgIGxldCB7IGxpY2Vuc2UgfSA9IGFyZ3M7XG4gICAgY29uc3QgeyBib290IH0gPSBhcmdzO1xuICAgIGxldCB7XG4gICAgICBhbGwsXG4gICAgICBzY3JpcHRzLFxuICAgICAgc3R5bGVzLFxuICAgICAgZG9jcyxcbiAgICAgIGlkZSxcbiAgICAgIHdvcmtmbG93cyxcbiAgICAgIHRlbXBsYXRlcyxcbiAgICAgIGRvY2tlcixcbiAgICAgIHR5cGVzY3JpcHQsXG4gICAgICBkZXBlbmRlbmNpZXMsXG4gICAgICB0ZXN0cyxcbiAgICAgIGF1dG9tYXRpb24sXG4gICAgICBwa2csXG4gICAgfSA9IGFyZ3M7XG4gICAgaWYgKFxuICAgICAgc2NyaXB0cyB8fFxuICAgICAgc3R5bGVzIHx8XG4gICAgICBkb2NzIHx8XG4gICAgICBpZGUgfHxcbiAgICAgIHdvcmtmbG93cyB8fFxuICAgICAgdGVtcGxhdGVzIHx8XG4gICAgICBkb2NrZXIgfHxcbiAgICAgIHR5cGVzY3JpcHQgfHxcbiAgICAgIGF1dG9tYXRpb24gfHxcbiAgICAgIGRlcGVuZGVuY2llcyB8fFxuICAgICAgdGVzdHMgfHxcbiAgICAgIHBrZ1xuICAgIClcbiAgICAgIGFsbCA9IGZhbHNlO1xuXG4gICAgaWYgKGJvb3QpIHtcbiAgICAgIGNvbnN0IG9yZyA9IGF3YWl0IHRoaXMuZ2V0T3JnKCk7XG4gICAgICBjb25zdCBuYW1lID0gYXdhaXQgVXNlcklucHV0Lmluc2lzdEZvclRleHQoXG4gICAgICAgIFwiUHJvamVjdCBuYW1lXCIsXG4gICAgICAgIFwiRW50ZXIgdGhlIHByb2plY3QgbmFtZTpcIixcbiAgICAgICAgKHJlczogc3RyaW5nKSA9PiByZXMubGVuZ3RoID4gMVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGF1dGhvciA9IGF3YWl0IFVzZXJJbnB1dC5pbnNpc3RGb3JUZXh0KFxuICAgICAgICBcIkF1dGhvclwiLFxuICAgICAgICBcIkVudGVyIHRoZSBhdXRob3IgbmFtZTpcIixcbiAgICAgICAgKHJlczogc3RyaW5nKSA9PiByZXMubGVuZ3RoID4gMVxuICAgICAgKTtcbiAgICAgIGNvbnN0IHBrZ05hbWUgPSBvcmcgPyBgQCR7b3JnfS8ke25hbWV9YCA6IG5hbWU7XG5cbiAgICAgIGF3YWl0IHRoaXMuaW5pdFBhY2thZ2UocGtnTmFtZSwgYXV0aG9yLCBsaWNlbnNlIGFzIHN0cmluZyk7XG4gICAgICBhd2FpdCB0aGlzLmNyZWF0ZVRva2VuRmlsZXMoKTtcbiAgICAgIGF3YWl0IHRoaXMuYXVkaXRGaXgoKTtcbiAgICAgIHRoaXMucGF0Y2hGaWxlcygpO1xuICAgIH1cblxuICAgIGlmIChhbGwpIHtcbiAgICAgIHNjcmlwdHMgPSBmYWxzZTtcbiAgICAgIHN0eWxlcyA9IHRydWU7XG4gICAgICBkb2NzID0gdHJ1ZTtcbiAgICAgIGlkZSA9IHRydWU7XG4gICAgICB3b3JrZmxvd3MgPSB0cnVlO1xuICAgICAgdGVtcGxhdGVzID0gdHJ1ZTtcbiAgICAgIGRvY2tlciA9IHRydWU7XG4gICAgICB0eXBlc2NyaXB0ID0gdHJ1ZTtcbiAgICAgIHBrZyA9IHRydWU7XG4gICAgICBkZXBlbmRlbmNpZXMgPSB0cnVlO1xuICAgICAgdGVzdHMgPSB0cnVlO1xuICAgICAgYXV0b21hdGlvbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2Ygc2NyaXB0cyA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgIHNjcmlwdHMgPSBhd2FpdCBVc2VySW5wdXQuYXNrQ29uZmlybWF0aW9uKFxuICAgICAgICBcInNjcmlwdHNcIixcbiAgICAgICAgXCJEbyB5b3Ugd2FudCB0byBnZXQgc2NyaXB0cz9cIixcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcblxuICAgIGlmIChzY3JpcHRzKSBhd2FpdCB0aGlzLmdldFNjcmlwdHMoKTtcblxuICAgIHRoaXMubG9hZFZhbHVlc0Zyb21QYWNrYWdlKCk7XG4gICAgaWYgKCFhbGwgJiYgdHlwZW9mIGxpY2Vuc2UgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIGNvbnN0IGNvbmZpcm1hdGlvbiA9IGF3YWl0IFVzZXJJbnB1dC5hc2tDb25maXJtYXRpb24oXG4gICAgICAgIFwibGljZW5zZVwiLFxuICAgICAgICBcIkRvIHlvdSB3YW50IHRvIHNldCBhIGxpY2Vuc2U/XCIsXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgICBpZiAoY29uZmlybWF0aW9uKVxuICAgICAgICBsaWNlbnNlID0gYXdhaXQgVXNlcklucHV0Lmluc2lzdEZvclRleHQoXG4gICAgICAgICAgXCJsaWNlbnNlXCIsXG4gICAgICAgICAgXCJFbnRlciB0aGUgZGVzaXJlZCBMaWNlbnNlIChNSVR8R1BMfEFwYWNoZXxMR1BMfEFHUEwpOlwiLFxuICAgICAgICAgICh2YWwpID0+ICEhdmFsICYmICEhdmFsLm1hdGNoKC9eKE1JVHxHUEx8QXBhY2hlfExHUEx8QUdQTCkkL2cpXG4gICAgICAgICk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgbGljZW5zZSAhPT0gXCJ1bmRlZmluZWRcIilcbiAgICAgIGF3YWl0IHRoaXMuZ2V0TGljZW5zZShcbiAgICAgICAgbGljZW5zZSBhcyBcIk1JVFwiIHwgXCJHUExcIiB8IFwiQXBhY2hlXCIgfCBcIkxHUExcIiB8IFwiQUdQTFwiXG4gICAgICApO1xuXG4gICAgaWYgKHR5cGVvZiBpZGUgPT09IFwidW5kZWZpbmVkXCIpXG4gICAgICBpZGUgPSBhd2FpdCBVc2VySW5wdXQuYXNrQ29uZmlybWF0aW9uKFxuICAgICAgICBcImlkZVwiLFxuICAgICAgICBcIkRvIHlvdSB3YW50IHRvIGdldCBpZGUgY29uZmlncz9cIixcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcblxuICAgIGlmIChpZGUpIGF3YWl0IHRoaXMuZ2V0SWRlKCk7XG5cbiAgICBpZiAodHlwZW9mIHR5cGVzY3JpcHQgPT09IFwidW5kZWZpbmVkXCIpXG4gICAgICB0eXBlc2NyaXB0ID0gYXdhaXQgVXNlcklucHV0LmFza0NvbmZpcm1hdGlvbihcbiAgICAgICAgXCJ0eXBlc2NyaXB0XCIsXG4gICAgICAgIFwiRG8geW91IHdhbnQgdG8gZ2V0IHR5cGVzY3JpcHQgY29uZmlncz9cIixcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICBpZiAodHlwZXNjcmlwdCkgYXdhaXQgdGhpcy5nZXRUeXBlc2NyaXB0KCk7XG5cbiAgICBpZiAodHlwZW9mIGRvY2tlciA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgIGRvY2tlciA9IGF3YWl0IFVzZXJJbnB1dC5hc2tDb25maXJtYXRpb24oXG4gICAgICAgIFwiZG9ja2VyXCIsXG4gICAgICAgIFwiRG8geW91IHdhbnQgdG8gZ2V0IGRvY2tlciBjb25maWdzP1wiLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuXG4gICAgaWYgKGRvY2tlcikgYXdhaXQgdGhpcy5nZXREb2NrZXIoKTtcbiAgICBpZiAodHlwZW9mIGF1dG9tYXRpb24gPT09IFwidW5kZWZpbmVkXCIpXG4gICAgICBhdXRvbWF0aW9uID0gYXdhaXQgVXNlcklucHV0LmFza0NvbmZpcm1hdGlvbihcbiAgICAgICAgXCJhdXRvbWF0aW9uXCIsXG4gICAgICAgIFwiRG8geW91IHdhbnQgdG8gZ2V0IGF1dG9tYXRpb24gY29uZmlncz9cIixcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICBpZiAoYXV0b21hdGlvbikgYXdhaXQgdGhpcy5nZXRBdXRvbWF0aW9uKCk7XG5cbiAgICBpZiAodHlwZW9mIHN0eWxlcyA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgIHN0eWxlcyA9IGF3YWl0IFVzZXJJbnB1dC5hc2tDb25maXJtYXRpb24oXG4gICAgICAgIFwic3R5bGVzXCIsXG4gICAgICAgIFwiRG8geW91IHdhbnQgdG8gZ2V0IHN0eWxlcz9cIixcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICBpZiAoc3R5bGVzKSBhd2FpdCB0aGlzLmdldFN0eWxlcygpO1xuXG4gICAgaWYgKHR5cGVvZiBkb2NzID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgZG9jcyA9IGF3YWl0IFVzZXJJbnB1dC5hc2tDb25maXJtYXRpb24oXG4gICAgICAgIFwiZG9jc1wiLFxuICAgICAgICBcIkRvIHlvdSB3YW50IHRvIGdldCBkb2NzP1wiLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuICAgIGlmIChkb2NzKSBhd2FpdCB0aGlzLmdldERvY3MoKTtcbiAgICBpZiAodHlwZW9mIHdvcmtmbG93cyA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgIHdvcmtmbG93cyA9IGF3YWl0IFVzZXJJbnB1dC5hc2tDb25maXJtYXRpb24oXG4gICAgICAgIFwid29ya2Zsb3dzXCIsXG4gICAgICAgIFwiRG8geW91IHdhbnQgdG8gZ2V0IHdvcmtmbG93cz9cIixcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICBpZiAod29ya2Zsb3dzKSBhd2FpdCB0aGlzLmdldFdvcmtmbG93cygpO1xuICAgIGlmICh0eXBlb2YgdGVtcGxhdGVzID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgdGVtcGxhdGVzID0gYXdhaXQgVXNlcklucHV0LmFza0NvbmZpcm1hdGlvbihcbiAgICAgICAgXCJ0ZW1wbGF0ZXNcIixcbiAgICAgICAgXCJEbyB5b3Ugd2FudCB0byBnZXQgdGVtcGxhdGVzP1wiLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuICAgIGlmICh0ZW1wbGF0ZXMpIGF3YWl0IHRoaXMuZ2V0VGVtcGxhdGVzKCk7XG4gICAgaWYgKHR5cGVvZiBwa2cgPT09IFwidW5kZWZpbmVkXCIpXG4gICAgICBwa2cgPSBhd2FpdCBVc2VySW5wdXQuYXNrQ29uZmlybWF0aW9uKFxuICAgICAgICBcInBrZ1wiLFxuICAgICAgICBcIkRvIHlvdSB3YW50IHRvIHVwZGF0ZSB5b3VyIHBhY2thZ2UuanNvbiBzY3JpcHRzP1wiLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuICAgIGlmIChwa2cpIGF3YWl0IHRoaXMudXBkYXRlUGFja2FnZVNjcmlwcygpO1xuXG4gICAgaWYgKHR5cGVvZiB0ZXN0cyA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgIHRlc3RzID0gYXdhaXQgVXNlcklucHV0LmFza0NvbmZpcm1hdGlvbihcbiAgICAgICAgXCJwa2dcIixcbiAgICAgICAgXCJEbyB5b3Ugd2FudCB0byB1cGRhdGUgeW91ciB0ZXN0IGNvbmZpZ3M/XCIsXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgaWYgKHRlc3RzKSBhd2FpdCB0aGlzLmdldFRlc3RzKCk7XG5cbiAgICBpZiAodHlwZW9mIGRlcGVuZGVuY2llcyA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgIGRlcGVuZGVuY2llcyA9IGF3YWl0IFVzZXJJbnB1dC5hc2tDb25maXJtYXRpb24oXG4gICAgICAgIFwicGtnXCIsXG4gICAgICAgIFwiRG8geW91IHdhbnQgdG8gdXBkYXRlIGRldiBkZXBlbmRlbmNpZXM/XCIsXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgaWYgKGRlcGVuZGVuY2llcykgYXdhaXQgdGhpcy51cGRhdGVEZXBlbmRlbmNpZXMoKTtcbiAgfVxufVxuIl19
|
|
514
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXNjcmlwdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpL2NvbW1hbmRzL3VwZGF0ZS1zY3JpcHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdEQUF3QjtBQUN4Qix3Q0FBcUM7QUFFckMsdUNBVXFCO0FBR3JCLHVDQUF3QztBQUN4Qyw0Q0FBb0I7QUFFcEIsTUFBTSxPQUFPLEdBQ1gsZ0VBQWdFLENBQUM7QUFFbkUsTUFBTSxPQUFPLEdBQUc7SUFDZCxTQUFTLEVBQUU7UUFDVCxzQ0FBc0M7UUFDdEMsMkNBQTJDO1FBQzNDLHFCQUFxQjtLQUN0QjtJQUNELFNBQVMsRUFBRTtRQUNULHVDQUF1QztRQUN2QyxzQ0FBc0M7UUFDdEMsMENBQTBDO1FBQzFDLDhCQUE4QjtRQUM5QiwyQ0FBMkM7UUFDM0MsdUNBQXVDO1FBQ3ZDLHNDQUFzQztLQUN2QztJQUNELEdBQUcsRUFBRTtRQUNILDJDQUEyQztRQUMzQyx1Q0FBdUM7UUFDdkMsNENBQTRDO1FBQzVDLDBDQUEwQztRQUMxQyxzQ0FBc0M7UUFDdEMsMENBQTBDO1FBQzFDLCtDQUErQztRQUMvQyxtREFBbUQ7UUFDbkQsZ0RBQWdEO1FBQ2hELDBDQUEwQztRQUMxQyx5Q0FBeUM7UUFDekMsK0NBQStDO1FBQy9DLHFDQUFxQztRQUNyQyw0Q0FBNEM7UUFDNUMsZ0RBQWdEO0tBQ2pEO0lBQ0QsSUFBSSxFQUFFO1FBQ0osb0NBQW9DO1FBQ3BDLHFDQUFxQztRQUNyQyxzQ0FBc0M7UUFDdEMsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0Qix5QkFBeUI7S0FDMUI7SUFDRCxNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLENBQUM7SUFDM0MsT0FBTyxFQUFFO1FBQ1Asd0JBQXdCO1FBQ3hCLHFCQUFxQjtRQUNyQix1QkFBdUI7S0FDeEI7SUFDRCxLQUFLLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSwwQ0FBMEMsQ0FBQztJQUNyRSxVQUFV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Q3pDLElBQUksQ0FDTCxDQUFDO1FBQ0osSUFBSSxZQUFZO1lBQUUsTUFBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0NBQ0Y7QUE1ZkQsb0NBNGZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tIFwiLi4vY29tbWFuZFwiO1xuaW1wb3J0IHsgQ29tbWFuZE9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7XG4gIGdldFBhY2thZ2UsXG4gIEh0dHBDbGllbnQsXG4gIHBhdGNoRmlsZSxcbiAgcGF0Y2hTdHJpbmcsXG4gIHJ1bkNvbW1hbmQsXG4gIHNldFBhY2thZ2VBdHRyaWJ1dGUsXG4gIFNldHVwU2NyaXB0S2V5LFxuICBUb2tlbnMsXG4gIHdyaXRlRmlsZSxcbn0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5pbXBvcnQgeyBMb2dnaW5nQ29uZmlnIH0gZnJvbSBcIi4uLy4uL291dHB1dFwiO1xuaW1wb3J0IHsgRGVmYXVsdENvbW1hbmRWYWx1ZXMgfSBmcm9tIFwiLi4vaW5kZXhcIjtcbmltcG9ydCB7IFVzZXJJbnB1dCB9IGZyb20gXCIuLi8uLi9pbnB1dFwiO1xuaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuXG5jb25zdCBiYXNlVXJsID1cbiAgXCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZGVjYWYtdHMvdHMtd29ya3NwYWNlL21hc3RlclwiO1xuXG5jb25zdCBvcHRpb25zID0ge1xuICB0ZW1wbGF0ZXM6IFtcbiAgICBcIi5naXRodWIvSVNTVUVfVEVNUExBVEUvYnVnX3JlcG9ydC5tZFwiLFxuICAgIFwiLmdpdGh1Yi9JU1NVRV9URU1QTEFURS9mZWF0dXJlX3JlcXVlc3QubWRcIixcbiAgICBcIi5naXRodWIvRlVORElORy55bWxcIixcbiAgXSxcbiAgd29ya2Zsb3dzOiBbXG4gICAgXCIuZ2l0aHViL3dvcmtmbG93cy9jb2RlcWwtYW5hbHlzaXMueW1sXCIsXG4gICAgXCIuZ2l0aHViL3dvcmtmbG93cy9qZXN0LWNvdmVyYWdlLnlhbWxcIixcbiAgICBcIi5naXRodWIvd29ya2Zsb3dzL25vZGVqcy1idWlsZC1wcm9kLnlhbWxcIixcbiAgICBcIi5naXRodWIvd29ya2Zsb3dzL3BhZ2VzLnlhbWxcIixcbiAgICBcIi5naXRodWIvd29ya2Zsb3dzL3B1Ymxpc2gtb24tcmVsZWFzZS55YW1sXCIsXG4gICAgXCIuZ2l0aHViL3dvcmtmbG93cy9yZWxlYXNlLW9uLXRhZy55YW1sXCIsXG4gICAgXCIuZ2l0aHViL3dvcmtmbG93cy9zbnlrLWFuYWx5c2lzLnlhbWxcIixcbiAgXSxcbiAgaWRlOiBbXG4gICAgXCIuaWRlYS9ydW5Db25maWd1cmF0aW9ucy9BbGwgVGVzdHMucnVuLnhtbFwiLFxuICAgIFwiLmlkZWEvcnVuQ29uZmlndXJhdGlvbnMvYnVpbGQucnVuLnhtbFwiLFxuICAgIFwiLmlkZWEvcnVuQ29uZmlndXJhdGlvbnMvYnVpbGRfcHJvZC5ydW4ueG1sXCIsXG4gICAgXCIuaWRlYS9ydW5Db25maWd1cmF0aW9ucy9jb3ZlcmFnZS5ydW4ueG1sXCIsXG4gICAgXCIuaWRlYS9ydW5Db25maWd1cmF0aW9ucy9kb2NzLnJ1bi54bWxcIixcbiAgICBcIi5pZGVhL3J1bkNvbmZpZ3VyYXRpb25zL2RyYXdpbmdzLnJ1bi54bWxcIixcbiAgICBcIi5pZGVhL3J1bkNvbmZpZ3VyYXRpb25zL2ZsYXNoLWZvcndhcmQucnVuLnhtbFwiLFxuICAgIFwiLmlkZWEvcnVuQ29uZmlndXJhdGlvbnMvSW50ZWdyYXRpb25fVGVzdHMucnVuLnhtbFwiLFxuICAgIFwiLmlkZWEvcnVuQ29uZmlndXJhdGlvbnMvQnVuZGxpbmdfVGVzdHMucnVuLnhtbFwiLFxuICAgIFwiLmlkZWEvcnVuQ29uZmlndXJhdGlvbnMvbGludC1maXgucnVuLnhtbFwiLFxuICAgIFwiLmlkZWEvcnVuQ29uZmlndXJhdGlvbnMvcmVsZWFzZS5ydW4ueG1sXCIsXG4gICAgXCIuaWRlYS9ydW5Db25maWd1cmF0aW9ucy90ZXN0X2NpcmN1bGFyLnJ1bi54bWxcIixcbiAgICBcIi5pZGVhL3J1bkNvbmZpZ3VyYXRpb25zL3VtbC5ydW4ueG1sXCIsXG4gICAgXCIuaWRlYS9ydW5Db25maWd1cmF0aW9ucy9Vbml0IFRlc3RzLnJ1bi54bWxcIixcbiAgICBcIi5pZGVhL3J1bkNvbmZpZ3VyYXRpb25zL3VwZGF0ZS1zY3JpcHRzLnJ1bi54bWxcIixcbiAgXSxcbiAgZG9jczogW1xuICAgIFwid29ya2RvY3MvdHV0b3JpYWxzL0NvbnRyaWJ1dGluZy5tZFwiLFxuICAgIFwid29ya2RvY3MvdHV0b3JpYWxzL0RvY3VtZW50YXRpb24ubWRcIixcbiAgICBcIndvcmtkb2NzL3R1dG9yaWFscy9Gb3IgRGV2ZWxvcGVycy5tZFwiLFxuICAgIFwid29ya2RvY3MvMi1CYWRnZXMubWRcIixcbiAgICBcIndvcmtkb2NzL2pzZG9jcy5qc29uXCIsXG4gICAgXCJ3b3JrZG9jcy9yZWFkbWUtbWQuanNvblwiLFxuICBdLFxuICBzdHlsZXM6IFtcIi5wcmV0dGllcnJjXCIsIFwiZXNsaW50LmNvbmZpZy5qc1wiXSxcbiAgc2NyaXB0czogW1xuICAgIFwiYmluL3VwZGF0ZS1zY3JpcHRzLmNqc1wiLFxuICAgIFwiYmluL3RhZy1yZWxlYXNlLmNqc1wiLFxuICAgIFwiYmluL2J1aWxkLXNjcmlwdHMuY2pzXCIsXG4gIF0sXG4gIHRlc3RzOiBbXCJqZXN0LmNvbmZpZy50c1wiLCBcIndvcmtkb2NzL3JlcG9ydHMvamVzdC5jb3ZlcmFnZS5jb25maWcudHNcIl0sXG4gIHR5cGVzY3JpcHQ6IFtcInRzY29uZmlnLmpzb25cIl0sXG4gIGRvY2tlcjogW1wiRG9ja2VyZmlsZVwiXSxcbiAgYXV0b21hdGlvbjogW1xuICAgIFwid29ya2RvY3MvY29uZmx1ZW5jZS9Db250aW51b3VzIEludGVncmF0aW9uLURlcGxveW1lbnQvR2l0SHViLm1kXCIsXG4gICAgXCJ3b3JrZG9jcy9jb25mbHVlbmNlL0NvbnRpbnVvdXMgSW50ZWdyYXRpb24tRGVwbG95bWVudC9KaXJhLm1kXCIsXG4gICAgXCJ3b3JrZG9jcy9jb25mbHVlbmNlL0NvbnRpbnVvdXMgSW50ZWdyYXRpb24tRGVwbG95bWVudC9UZWFtcy5tZFwiLFxuICBdLFxufTtcblxuY29uc3QgYXJnenogPSB7XG4gIC8vIGluaXQgYXR0cmlidXRlc1xuICBib290OiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gIH0sXG4gIG9yZzoge1xuICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgc2hvcnQ6IFwib1wiLFxuICB9LFxuICBuYW1lOiB7XG4gICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICBzaG9ydDogXCJuXCIsXG4gICAgZGVmYXVsdDogdW5kZWZpbmVkLFxuICB9LFxuICBhdXRob3I6IHtcbiAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgIHNob3J0OiBcImFcIixcbiAgICBkZWZhdWx0OiB1bmRlZmluZWQsXG4gIH0sXG4gIC8vIHVwZGF0ZSBhdHRyaWJ1dGVzXG4gIGFsbDoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICB9LFxuICBsaWNlbnNlOiB7XG4gICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICBtZXNzYWdlOiBcIlBpY2sgdGhlIGxpY2Vuc2VcIixcbiAgfSxcbiAgc2NyaXB0czoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICB9LFxuICBzdHlsZXM6IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgfSxcbiAgZG9jczoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICB9LFxuICBpZGU6IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgfSxcbiAgd29ya2Zsb3dzOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gIH0sXG4gIHRlbXBsYXRlczoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICB9LFxuICB0eXBlc2NyaXB0OiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gIH0sXG4gIGRvY2tlcjoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICB9LFxuICBwa2c6IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgfSxcbiAgZGVwZW5kZW5jaWVzOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gIH0sXG4gIHRlc3RzOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gIH0sXG4gIGF1dG9tYXRpb246IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgfSxcbn07XG5cbi8qKlxuICogQGNsYXNzIFRlbXBsYXRlU3luY1xuICogQGV4dGVuZHMge0NvbW1hbmR9XG4gKiBAY2F0ZWdvcnkgc2NyaXB0c1xuICogQGRlc2NyaXB0aW9uIEEgY29tbWFuZC1saW5lIHRvb2wgZm9yIHN5bmNocm9uaXppbmcgcHJvamVjdCB0ZW1wbGF0ZXMgYW5kIGNvbmZpZ3VyYXRpb25zLlxuICogQHN1bW1hcnkgVGhpcyBjbGFzcyBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IHRvIGRvd25sb2FkIGFuZCB1cGRhdGUgdmFyaW91cyBwcm9qZWN0IGZpbGVzIGFuZCBjb25maWd1cmF0aW9ucyBmcm9tIGEgcmVtb3RlIHJlcG9zaXRvcnkuXG4gKiBJdCBzdXBwb3J0cyB1cGRhdGluZyBsaWNlbnNlcywgSURFIGNvbmZpZ3VyYXRpb25zLCBzY3JpcHRzLCBzdHlsZXMsIGRvY3VtZW50YXRpb24sIHdvcmtmbG93cywgYW5kIHRlbXBsYXRlcy5cbiAqXG4gKiBAcGFyYW0ge0NvbW1hbmRPcHRpb25zfSBhcmdzIC0gVGhlIGNvbW1hbmQgb3B0aW9ucyBmb3IgVGVtcGxhdGVTeW5jXG4gKi9cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZVN5bmMgZXh0ZW5kcyBDb21tYW5kPENvbW1hbmRPcHRpb25zPHR5cGVvZiBhcmd6ej4sIHZvaWQ+IHtcbiAgcHJpdmF0ZSByZXBsYWNlbWVudHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4gPSB7fTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcIlRlbXBsYXRlU3luY1wiLCBhcmd6eik7XG4gIH1cblxuICBwcml2YXRlIGxvYWRWYWx1ZXNGcm9tUGFja2FnZSgpIHtcbiAgICBjb25zdCBwID0gcHJvY2Vzcy5jd2QoKTtcbiAgICBjb25zdCBhdXRob3IgPSBnZXRQYWNrYWdlKHAsIFwiYXV0aG9yXCIpIGFzIHN0cmluZztcbiAgICBjb25zdCBzY29wZWROYW1lID0gZ2V0UGFja2FnZShwLCBcIm5hbWVcIik7XG4gICAgbGV0IG5hbWU6IHN0cmluZyA9IHNjb3BlZE5hbWUgYXMgc3RyaW5nO1xuICAgIGxldCBvcmc6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBpZiAobmFtZS5zdGFydHNXaXRoKFwiQFwiKSkge1xuICAgICAgY29uc3Qgc3BsaXQgPSBuYW1lLnNwbGl0KFwiL1wiKTtcbiAgICAgIG5hbWUgPSBzcGxpdFsxXTtcbiAgICAgIG9yZyA9IHNwbGl0WzBdLnJlcGxhY2UoXCJAXCIsIFwiXCIpO1xuICAgIH1cbiAgICBbXCJUaWFnbyBWZW5jZXNsYXVcIiwgXCJUaWFnb1ZlbmNlc2xhdVwiLCBcIiR7YXV0aG9yfVwiXS5mb3JFYWNoKFxuICAgICAgKGVsKSA9PiAodGhpcy5yZXBsYWNlbWVudHNbZWxdID0gYXV0aG9yKVxuICAgICk7XG4gICAgW1wiVFMtV29ya3NwYWNlXCIsIFwidHMtd29ya3NwYWNlXCIsIFwiJHtuYW1lfVwiXS5mb3JFYWNoKFxuICAgICAgKGVsKSA9PiAodGhpcy5yZXBsYWNlbWVudHNbZWxdID0gbmFtZSlcbiAgICApO1xuICAgIFtcImRlY2FmLXRzXCIsIFwiJHtvcmd9XCJdLmZvckVhY2goXG4gICAgICAoZWwpID0+ICh0aGlzLnJlcGxhY2VtZW50c1tlbF0gPSAob3JnIGFzIHN0cmluZykgfHwgJ1wiXCInKVxuICAgICk7XG4gICAgdGhpcy5yZXBsYWNlbWVudHNbXCIke29yZ19vcl9vd25lcn1cIl0gPSBvcmcgfHwgbmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRG93bmxvYWRzIGZpbGVzIGZvciBhIHNwZWNpZmljIG9wdGlvbiBjYXRlZ29yeS5cbiAgICogQHN1bW1hcnkgVGhpcyBtZXRob2QgZG93bmxvYWRzIGFsbCBmaWxlcyBhc3NvY2lhdGVkIHdpdGggYSBnaXZlbiBvcHRpb24ga2V5IGZyb20gdGhlIHJlbW90ZSByZXBvc2l0b3J5LlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gVGhlIGtleSByZXByZXNlbnRpbmcgdGhlIG9wdGlvbiBjYXRlZ29yeSB0byBkb3dubG9hZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBzcGVjaWZpZWQgb3B0aW9uIGtleSBpcyBub3QgZm91bmRcbiAgICovXG4gIGFzeW5jIGRvd25sb2FkT3B0aW9uKGtleToga2V5b2YgdHlwZW9mIG9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIShrZXkgaW4gb3B0aW9ucykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgT3B0aW9uIFwiJHtrZXl9XCIgbm90IGZvdW5kIGluIG9wdGlvbnNgKTtcbiAgICB9XG4gICAgY29uc3QgZmlsZXMgPSBvcHRpb25zW2tleSBhcyBrZXlvZiB0eXBlb2Ygb3B0aW9uc107XG5cbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIHRoaXMubG9nLmluZm8oYERvd25sb2FkaW5nICR7ZmlsZX1gKTtcblxuICAgICAgbGV0IGRhdGEgPSBhd2FpdCBIdHRwQ2xpZW50LmRvd25sb2FkRmlsZShgJHtiYXNlVXJsfS8ke2ZpbGV9YCk7XG4gICAgICBkYXRhID0gcGF0Y2hTdHJpbmcoZGF0YSwgdGhpcy5yZXBsYWNlbWVudHMpO1xuICAgICAgd3JpdGVGaWxlKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBmaWxlKSwgZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEb3dubG9hZHMgYW5kIHNldHMgdXAgdGhlIHNwZWNpZmllZCBsaWNlbnNlLlxuICAgKiBAc3VtbWFyeSBUaGlzIG1ldGhvZCBkb3dubG9hZHMgdGhlIGNob3NlbiBsaWNlbnNlIGZpbGUsIHNhdmVzIGl0IHRvIHRoZSBwcm9qZWN0LCBhbmQgdXBkYXRlcyB0aGUgcGFja2FnZS5qc29uIGxpY2Vuc2UgZmllbGQuXG4gICAqIEBwYXJhbSB7XCJNSVRcIiB8IFwiR1BMXCIgfCBcIkFwYWNoZVwiIHwgXCJMR1BMXCIgfCBcIkFHUExcIn0gbGljZW5zZSAtIFRoZSBsaWNlbnNlIHRvIGRvd25sb2FkIGFuZCBzZXQgdXBcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyBnZXRMaWNlbnNlKGxpY2Vuc2U6IFwiTUlUXCIgfCBcIkdQTFwiIHwgXCJBcGFjaGVcIiB8IFwiTEdQTFwiIHwgXCJBR1BMXCIpIHtcbiAgICB0aGlzLmxvZy5pbmZvKGBEb3dubG9hZGluZyAke2xpY2Vuc2V9IGxpY2Vuc2VgKTtcbiAgICBjb25zdCB1cmwgPSBgJHtiYXNlVXJsfS93b3JrZG9jcy9saWNlbnNlcy8ke2xpY2Vuc2V9Lm1kYDtcbiAgICBsZXQgZGF0YSA9IGF3YWl0IEh0dHBDbGllbnQuZG93bmxvYWRGaWxlKHVybCk7XG4gICAgZGF0YSA9IHBhdGNoU3RyaW5nKGRhdGEsIHRoaXMucmVwbGFjZW1lbnRzKTtcbiAgICB3cml0ZUZpbGUocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiTElDRU5TRS5tZFwiKSwgZGF0YSk7XG4gICAgc2V0UGFja2FnZUF0dHJpYnV0ZShcImxpY2Vuc2VcIiwgbGljZW5zZSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERvd25sb2FkcyBJREUgY29uZmlndXJhdGlvbiBmaWxlcy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyBnZXRJZGUoKSB7XG4gICAgZnMubWtkaXJTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIi5pZGVhXCIsIFwicnVuQ29uZmlndXJhdGlvbnNcIiksIHtcbiAgICAgIHJlY3Vyc2l2ZTogdHJ1ZSxcbiAgICB9KTtcbiAgICBhd2FpdCB0aGlzLmRvd25sb2FkT3B0aW9uKFwiaWRlXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVcGRhdGUgbnBtIHNjcmlwdHNcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyBnZXRTY3JpcHRzKCkge1xuICAgIGF3YWl0IHRoaXMuZG93bmxvYWRPcHRpb24oXCJzY3JpcHRzXCIpO1xuICAgIHRoaXMubG9nLmluZm8oXCJwbGVhc2UgcmUtcnVuIHRoZSBjb21tYW5kXCIpO1xuICAgIHByb2Nlc3MuZXhpdCgwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRG93bmxvYWRzIHN0eWxlIGNvbmZpZ3VyYXRpb24gZmlsZXMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgZ2V0U3R5bGVzID0gKCkgPT4gdGhpcy5kb3dubG9hZE9wdGlvbihcInN0eWxlc1wiKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERvd25sb2FkcyB0ZW1wbGF0ZSBmaWxlcy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBnZXRUZW1wbGF0ZXMgPSAoKSA9PiB0aGlzLmRvd25sb2FkT3B0aW9uKFwidGVtcGxhdGVzXCIpO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRG93bmxvYWRzIHdvcmtmbG93IGNvbmZpZ3VyYXRpb24gZmlsZXMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgZ2V0V29ya2Zsb3dzID0gKCkgPT4gdGhpcy5kb3dubG9hZE9wdGlvbihcIndvcmtmbG93c1wiKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERvd25sb2FkcyBkb2N1bWVudGF0aW9uIGZpbGVzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGdldERvY3MgPSAoKSA9PiB0aGlzLmRvd25sb2FkT3B0aW9uKFwiZG9jc1wiKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERvd25sb2FkcyB0eXBlc2NyaXB0IGNvbmZpZyBmaWxlcy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBnZXRUeXBlc2NyaXB0ID0gKCkgPT4gdGhpcy5kb3dubG9hZE9wdGlvbihcInR5cGVzY3JpcHRcIik7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEb3dubG9hZHMgYXV0b21hdGlvbiBkb2N1bWVudGF0aW9uIGZpbGVzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGdldEF1dG9tYXRpb24gPSAoKSA9PiB0aGlzLmRvd25sb2FkT3B0aW9uKFwiYXV0b21hdGlvblwiKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERvd25sb2FkcyBhdXRvbWF0aW9uIGRvY3VtZW50YXRpb24gZmlsZXMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgZ2V0VGVzdHMgPSAoKSA9PiB0aGlzLmRvd25sb2FkT3B0aW9uKFwidGVzdHNcIik7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEb3dubG9hZHMgZG9ja2VyIGltYWdlIGZpbGVzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGdldERvY2tlciA9ICgpID0+IHRoaXMuZG93bmxvYWRPcHRpb24oXCJkb2NrZXJcIik7XG5cbiAgYXN5bmMgaW5pdFBhY2thZ2UocGtnTmFtZTogc3RyaW5nLCBhdXRob3I6IHN0cmluZywgbGljZW5zZTogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBrZyA9IGdldFBhY2thZ2UoKSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICAgIGRlbGV0ZSBwa2dbU2V0dXBTY3JpcHRLZXldO1xuICAgICAgcGtnLm5hbWUgPSBwa2dOYW1lO1xuICAgICAgcGtnLnZlcnNpb24gPSBcIjAuMC4xXCI7XG4gICAgICBwa2cuYXV0aG9yID0gYXV0aG9yO1xuICAgICAgcGtnLmxpY2Vuc2UgPSBsaWNlbnNlO1xuICAgICAgZnMud3JpdGVGaWxlU3luYyhcInBhY2thZ2UuanNvblwiLCBKU09OLnN0cmluZ2lmeShwa2csIG51bGwsIDIpKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yIGZpeGluZyBwYWNrYWdlLmpzb246ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB1cGRhdGVQYWNrYWdlU2NyaXBzKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBvcmlnaW5hbFBrZyA9IEpTT04ucGFyc2UoXG4gICAgICAgIGF3YWl0IEh0dHBDbGllbnQuZG93bmxvYWRGaWxlKGAke2Jhc2VVcmx9L3BhY2thZ2UuanNvbmApXG4gICAgICApO1xuICAgICAgY29uc3QgeyBzY3JpcHRzIH0gPSBvcmlnaW5hbFBrZztcblxuICAgICAgY29uc3QgcGtnOiB0eXBlb2Ygb3JpZ2luYWxQa2cgPSBnZXRQYWNrYWdlKCkgYXMge1xuICAgICAgICBzY3JpcHRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgICAgfTtcbiAgICAgIE9iamVjdC5rZXlzKHBrZy5zY3JpcHRzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgaWYgKGtleSBpbiBzY3JpcHRzKSB7XG4gICAgICAgICAgY29uc3QgcmVwbGFjZWQgPSBwYXRjaFN0cmluZyhzY3JpcHRzW2tleV0sIHRoaXMucmVwbGFjZW1lbnRzKTtcbiAgICAgICAgICBpZiAocmVwbGFjZWQgIT09IHNjcmlwdHNba2V5XSkge1xuICAgICAgICAgICAgcGtnLnNjcmlwdHNba2V5XSA9IHJlcGxhY2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHBrZ1tcImV4cG9ydHNcIl1bXCJyZXF1aXJlXCJdID0gb3JpZ2luYWxQa2dbXCJleHBvcnRzXCJdW1wicmVxdWlyZVwiXTtcbiAgICAgIHBrZ1tcImV4cG9ydHNcIl1bXCJpbXBvcnRcIl0gPSBvcmlnaW5hbFBrZ1tcImV4cG9ydHNcIl1bXCJpbXBvcnRcIl07XG4gICAgICBwa2dbXCJ0eXBlc1wiXSA9IG9yaWdpbmFsUGtnW1widHlwZXNcIl07XG5cbiAgICAgIGZzLndyaXRlRmlsZVN5bmMoXCJwYWNrYWdlLmpzb25cIiwgSlNPTi5zdHJpbmdpZnkocGtnLCBudWxsLCAyKSk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciBmaXhpbmcgcGFja2FnZS5qc29uIHNjcmlwdHM6ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjcmVhdGVUb2tlbkZpbGVzKCkge1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLmNyZWF0ZVRva2VuRmlsZXMpO1xuICAgIGNvbnN0IGdpdFRva2VuID0gYXdhaXQgVXNlcklucHV0Lmluc2lzdEZvclRleHQoXG4gICAgICBcInRva2VuXCIsXG4gICAgICBcInBsZWFzZSBpbnB1dCB5b3VyIGdpdGh1YiB0b2tlblwiLFxuICAgICAgKHJlczogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiAhIXJlcy5tYXRjaCgvXmdocF9bMC05YS16QS1aXXszNn0kL2cpO1xuICAgICAgfVxuICAgICk7XG4gICAgT2JqZWN0LnZhbHVlcyhUb2tlbnMpLmZvckVhY2goKHRva2VuKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBsZXQgc3RhdHVzO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHN0YXR1cyA9IGZzLmV4aXN0c1N5bmModG9rZW4pO1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgIGxvZy5pbmZvKGBUb2tlbiBmaWxlICR7dG9rZW59IG5vdCBmb3VuZC4gQ3JlYXRpbmcgYSBuZXcgb25lLi4uYCk7XG4gICAgICAgICAgZnMud3JpdGVGaWxlU3luYyh0b2tlbiwgdG9rZW4gPT09IFwiLnRva2VuXCIgPyBnaXRUb2tlbiA6IFwiXCIpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXN0YXR1cykge1xuICAgICAgICAgIGZzLndyaXRlRmlsZVN5bmModG9rZW4sIHRva2VuID09PSBcIi50b2tlblwiID8gZ2l0VG9rZW4gOiBcIlwiKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yIGNyZWF0aW5nIHRva2VuIGZpbGUgJHt0b2tlbn06ICR7ZX1gKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGdldE9yZygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IG9yZyA9IGF3YWl0IFVzZXJJbnB1dC5hc2tUZXh0KFxuICAgICAgXCJPcmdhbml6YXRpb25cIixcbiAgICAgIFwiRW50ZXIgdGhlIG9yZ2FuaXphdGlvbiBuYW1lICh3aWxsIGJlIHVzZWQgdG8gc2NvcGUgeW91ciBucG0gcHJvamVjdC4gbGVhdmUgYmxhbmsgdG8gY3JlYXRlIGEgdW5zY29wZWQgcHJvamVjdCk6XCJcbiAgICApO1xuICAgIGNvbnN0IGNvbmZpcm1hdGlvbiA9IGF3YWl0IFVzZXJJbnB1dC5hc2tDb25maXJtYXRpb24oXG4gICAgICBcIkNvbmZpcm0gb3JnYW5pemF0aW9uXCIsXG4gICAgICBcIklzIHRoaXMgb3JnYW5pemF0aW9uIGNvcnJlY3Q/XCIsXG4gICAgICB0cnVlXG4gICAgKTtcbiAgICBpZiAoIWNvbmZpcm1hdGlvbikgcmV0dXJuIHRoaXMuZ2V0T3JnKCk7XG5cbiAgICByZXR1cm4gb3JnO1xuICB9XG5cbiAgYXN5bmMgYXVkaXRGaXgoKSB7XG4gICAgcmV0dXJuIGF3YWl0IHJ1bkNvbW1hbmQoXCJucG0gYXVkaXQgZml4IC0tZm9yY2VcIikucHJvbWlzZTtcbiAgfVxuXG4gIHBhdGNoRmlsZXMoKSB7XG4gICAgY29uc3QgZmlsZXMgPSBbXG4gICAgICAuLi5mc1xuICAgICAgICAucmVhZGRpclN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwic3JjXCIpLCB7XG4gICAgICAgICAgcmVjdXJzaXZlOiB0cnVlLFxuICAgICAgICAgIHdpdGhGaWxlVHlwZXM6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoKGVudHJ5KSA9PiBlbnRyeS5pc0ZpbGUoKSlcbiAgICAgICAgLm1hcCgoZW50cnkpID0+IHBhdGguam9pbihlbnRyeS5wYXJlbnRQYXRoLCBlbnRyeS5uYW1lKSksXG4gICAgICAuLi5mc1xuICAgICAgICAucmVhZGRpclN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwid29ya2RvY3NcIiksIHtcbiAgICAgICAgICByZWN1cnNpdmU6IHRydWUsXG4gICAgICAgICAgd2l0aEZpbGVUeXBlczogdHJ1ZSxcbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcigoZW50cnkpID0+IGVudHJ5LmlzRmlsZSgpICYmIGVudHJ5Lm5hbWUuZW5kc1dpdGgoXCIubWRcIikpXG4gICAgICAgIC5tYXAoKGVudHJ5KSA9PiBwYXRoLmpvaW4oZW50cnkucGFyZW50UGF0aCwgZW50cnkubmFtZSkpLFxuICAgICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiLmdpdGxhYi1jaS55bWxcIiksXG4gICAgICBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJ3b3JrZG9jc1wiLCBcImpzZG9jcy5qc29uXCIpLFxuICAgIF07XG5cbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIHBhdGNoRmlsZShmaWxlIGFzIHN0cmluZywgdGhpcy5yZXBsYWNlbWVudHMpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZURlcGVuZGVuY2llcygpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3JpZ2luYWxQa2cgPSBKU09OLnBhcnNlKFxuICAgICAgICBhd2FpdCBIdHRwQ2xpZW50LmRvd25sb2FkRmlsZShgJHtiYXNlVXJsfS9wYWNrYWdlLmpzb25gKVxuICAgICAgKTtcbiAgICAgIGNvbnN0IHsgZGV2RGVwZW5kZW5jaWVzIH0gPSBvcmlnaW5hbFBrZztcblxuICAgICAgY29uc3QgcGtnOiB0eXBlb2Ygb3JpZ2luYWxQa2cgPSBnZXRQYWNrYWdlKCkgYXMge1xuICAgICAgICBzY3JpcHRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgICAgfTtcbiAgICAgIE9iamVjdC5rZXlzKHBrZy5zY3JpcHRzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgaWYgKGtleSBpbiBkZXZEZXBlbmRlbmNpZXMpIHtcbiAgICAgICAgICBjb25zdCByZXBsYWNlZCA9IGRldkRlcGVuZGVuY2llc1trZXldO1xuICAgICAgICAgIGlmIChyZXBsYWNlZCAhPT0gZGV2RGVwZW5kZW5jaWVzW2tleV0pIHtcbiAgICAgICAgICAgIChwa2cgYXMgYW55KVtcImRldkRlcGVuZGVuY2llc1wiXSA9XG4gICAgICAgICAgICAgIChwa2cgYXMgYW55KVtcImRldkRlcGVuZGVuY2llc1wiXSB8fCB7fTtcbiAgICAgICAgICAgIChwa2cgYXMgYW55KVtcImRldkRlcGVuZGVuY2llc1wiXVtrZXldID0gcmVwbGFjZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgZnMud3JpdGVGaWxlU3luYyhcInBhY2thZ2UuanNvblwiLCBKU09OLnN0cmluZ2lmeShwa2csIG51bGwsIDIpKTtcbiAgICAgIGF3YWl0IHJ1bkNvbW1hbmQoXCJucG0gaW5zdGFsbFwiKS5wcm9taXNlO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3IgZml4aW5nIHBhY2thZ2UuanNvbiBkZXBlbmRlbmNpZXM6ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJ1bnMgdGhlIHRlbXBsYXRlIHN5bmNocm9uaXphdGlvbiBwcm9jZXNzLlxuICAgKiBAc3VtbWFyeSBUaGlzIG1ldGhvZCBvcmNoZXN0cmF0ZXMgdGhlIGRvd25sb2FkaW5nIG9mIHZhcmlvdXMgcHJvamVjdCBjb21wb25lbnRzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBhcmd1bWVudHMuXG4gICAqIEBwYXJhbSB7UGFyc2VBcmdzUmVzdWx0fSBhcmdzIC0gVGhlIHBhcnNlZCBjb21tYW5kLWxpbmUgYXJndW1lbnRzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKlxuICAgKiBAbWVybWFpZFxuICAgKiBzZXF1ZW5jZURpYWdyYW1cbiAgICogICBwYXJ0aWNpcGFudCBUIGFzIFRlbXBsYXRlU3luY1xuICAgKiAgIHBhcnRpY2lwYW50IEwgYXMgZ2V0TGljZW5zZVxuICAgKiAgIHBhcnRpY2lwYW50IEkgYXMgZ2V0SWRlXG4gICAqICAgcGFydGljaXBhbnQgUyBhcyBnZXRTY3JpcHRzXG4gICAqICAgcGFydGljaXBhbnQgU3QgYXMgZ2V0U3R5bGVzXG4gICAqICAgcGFydGljaXBhbnQgRCBhcyBnZXREb2NzXG4gICAqICAgcGFydGljaXBhbnQgVyBhcyBnZXRXb3JrZmxvd3NcbiAgICogICBwYXJ0aWNpcGFudCBUZSBhcyBnZXRUZW1wbGF0ZXNcbiAgICogICBULT4+VDogUGFyc2UgYXJndW1lbnRzXG4gICAqICAgYWx0IGFsbCBmbGFnIGlzIHRydWVcbiAgICogICAgIFQtPj5UOiBTZXQgYWxsIGNvbXBvbmVudCBmbGFncyB0byB0cnVlXG4gICAqICAgZW5kXG4gICAqICAgYWx0IGxpY2Vuc2UgaXMgc3BlY2lmaWVkXG4gICAqICAgICBULT4+TDogZ2V0TGljZW5zZShsaWNlbnNlKVxuICAgKiAgIGVuZFxuICAgKiAgIGFsdCBpZGUgZmxhZyBpcyB0cnVlXG4gICAqICAgICBULT4+STogZ2V0SWRlKClcbiAgICogICBlbmRcbiAgICogICBhbHQgc2NyaXB0cyBmbGFnIGlzIHRydWVcbiAgICogICAgIFQtPj5TOiBnZXRTY3JpcHRzKClcbiAgICogICBlbmRcbiAgICogICBhbHQgc3R5bGVzIGZsYWcgaXMgdHJ1ZVxuICAgKiAgICAgVC0+PlN0OiBnZXRTdHlsZXMoKVxuICAgKiAgIGVuZFxuICAgKiAgIGFsdCBkb2NzIGZsYWcgaXMgdHJ1ZVxuICAgKiAgICAgVC0+PkQ6IGdldERvY3MoKVxuICAgKiAgIGVuZFxuICAgKiAgIGFsdCB3b3JrZmxvd3MgZmxhZyBpcyB0cnVlXG4gICAqICAgICBULT4+VzogZ2V0V29ya2Zsb3dzKClcbiAgICogICBlbmRcbiAgICogICBhbHQgdGVtcGxhdGVzIGZsYWcgaXMgdHJ1ZVxuICAgKiAgICAgVC0+PlRlOiBnZXRUZW1wbGF0ZXMoKVxuICAgKiAgIGVuZFxuICAgKi9cbiAgYXN5bmMgcnVuKFxuICAgIGFyZ3M6IExvZ2dpbmdDb25maWcgJlxuICAgICAgdHlwZW9mIERlZmF1bHRDb21tYW5kVmFsdWVzICYgeyBbayBpbiBrZXlvZiB0eXBlb2YgYXJnenpdOiB1bmtub3duIH1cbiAgKSB7XG4gICAgbGV0IHsgbGljZW5zZSB9ID0gYXJncztcbiAgICBjb25zdCB7IGJvb3QgfSA9IGFyZ3M7XG4gICAgbGV0IHtcbiAgICAgIGFsbCxcbiAgICAgIHNjcmlwdHMsXG4gICAgICBzdHlsZXMsXG4gICAgICBkb2NzLFxuICAgICAgaWRlLFxuICAgICAgd29ya2Zsb3dzLFxuICAgICAgdGVtcGxhdGVzLFxuICAgICAgZG9ja2VyLFxuICAgICAgdHlwZXNjcmlwdCxcbiAgICAgIGRlcGVuZGVuY2llcyxcbiAgICAgIHRlc3RzLFxuICAgICAgYXV0b21hdGlvbixcbiAgICAgIHBrZyxcbiAgICB9ID0gYXJncztcbiAgICBpZiAoXG4gICAgICBzY3JpcHRzIHx8XG4gICAgICBzdHlsZXMgfHxcbiAgICAgIGRvY3MgfHxcbiAgICAgIGlkZSB8fFxuICAgICAgd29ya2Zsb3dzIHx8XG4gICAgICB0ZW1wbGF0ZXMgfHxcbiAgICAgIGRvY2tlciB8fFxuICAgICAgdHlwZXNjcmlwdCB8fFxuICAgICAgYXV0b21hdGlvbiB8fFxuICAgICAgZGVwZW5kZW5jaWVzIHx8XG4gICAgICB0ZXN0cyB8fFxuICAgICAgcGtnXG4gICAgKVxuICAgICAgYWxsID0gZmFsc2U7XG5cbiAgICBpZiAoYm9vdCkge1xuICAgICAgY29uc3Qgb3JnID0gYXdhaXQgdGhpcy5nZXRPcmcoKTtcbiAgICAgIGNvbnN0IG5hbWUgPSBhd2FpdCBVc2VySW5wdXQuaW5zaXN0Rm9yVGV4dChcbiAgICAgICAgXCJQcm9qZWN0IG5hbWVcIixcbiAgICAgICAgXCJFbnRlciB0aGUgcHJvamVjdCBuYW1lOlwiLFxuICAgICAgICAocmVzOiBzdHJpbmcpID0+IHJlcy5sZW5ndGggPiAxXG4gICAgICApO1xuICAgICAgY29uc3QgYXV0aG9yID0gYXdhaXQgVXNlcklucHV0Lmluc2lzdEZvclRleHQoXG4gICAgICAgIFwiQXV0aG9yXCIsXG4gICAgICAgIFwiRW50ZXIgdGhlIGF1dGhvciBuYW1lOlwiLFxuICAgICAgICAocmVzOiBzdHJpbmcpID0+IHJlcy5sZW5ndGggPiAxXG4gICAgICApO1xuICAgICAgY29uc3QgcGtnTmFtZSA9IG9yZyA/IGBAJHtvcmd9LyR7bmFtZX1gIDogbmFtZTtcblxuICAgICAgYXdhaXQgdGhpcy5pbml0UGFja2FnZShwa2dOYW1lLCBhdXRob3IsIGxpY2Vuc2UgYXMgc3RyaW5nKTtcbiAgICAgIGF3YWl0IHRoaXMuY3JlYXRlVG9rZW5GaWxlcygpO1xuICAgICAgYXdhaXQgdGhpcy5hdWRpdEZpeCgpO1xuICAgICAgdGhpcy5wYXRjaEZpbGVzKCk7XG4gICAgfVxuXG4gICAgaWYgKGFsbCkge1xuICAgICAgc2NyaXB0cyA9IGZhbHNlO1xuICAgICAgc3R5bGVzID0gdHJ1ZTtcbiAgICAgIGRvY3MgPSB0cnVlO1xuICAgICAgaWRlID0gdHJ1ZTtcbiAgICAgIHdvcmtmbG93cyA9IHRydWU7XG4gICAgICB0ZW1wbGF0ZXMgPSB0cnVlO1xuICAgICAgZG9ja2VyID0gdHJ1ZTtcbiAgICAgIHR5cGVzY3JpcHQgPSB0cnVlO1xuICAgICAgcGtnID0gdHJ1ZTtcbiAgICAgIGRlcGVuZGVuY2llcyA9IHRydWU7XG4gICAgICB0ZXN0cyA9IHRydWU7XG4gICAgICBhdXRvbWF0aW9uID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBzY3JpcHRzID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgc2NyaXB0cyA9IGF3YWl0IFVzZXJJbnB1dC5hc2tDb25maXJtYXRpb24oXG4gICAgICAgIFwic2NyaXB0c1wiLFxuICAgICAgICBcIkRvIHlvdSB3YW50IHRvIGdldCBzY3JpcHRzP1wiLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuXG4gICAgaWYgKHNjcmlwdHMpIGF3YWl0IHRoaXMuZ2V0U2NyaXB0cygpO1xuXG4gICAgdGhpcy5sb2FkVmFsdWVzRnJvbVBhY2thZ2UoKTtcbiAgICBpZiAoIWFsbCAmJiB0eXBlb2YgbGljZW5zZSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgY29uc3QgY29uZmlybWF0aW9uID0gYXdhaXQgVXNlcklucHV0LmFza0NvbmZpcm1hdGlvbihcbiAgICAgICAgXCJsaWNlbnNlXCIsXG4gICAgICAgIFwiRG8geW91IHdhbnQgdG8gc2V0IGEgbGljZW5zZT9cIixcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICAgIGlmIChjb25maXJtYXRpb24pXG4gICAgICAgIGxpY2Vuc2UgPSBhd2FpdCBVc2VySW5wdXQuaW5zaXN0Rm9yVGV4dChcbiAgICAgICAgICBcImxpY2Vuc2VcIixcbiAgICAgICAgICBcIkVudGVyIHRoZSBkZXNpcmVkIExpY2Vuc2UgKE1JVHxHUEx8QXBhY2hlfExHUEx8QUdQTCk6XCIsXG4gICAgICAgICAgKHZhbCkgPT4gISF2YWwgJiYgISF2YWwubWF0Y2goL14oTUlUfEdQTHxBcGFjaGV8TEdQTHxBR1BMKSQvZylcbiAgICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBsaWNlbnNlICE9PSBcInVuZGVmaW5lZFwiKVxuICAgICAgYXdhaXQgdGhpcy5nZXRMaWNlbnNlKFxuICAgICAgICBsaWNlbnNlIGFzIFwiTUlUXCIgfCBcIkdQTFwiIHwgXCJBcGFjaGVcIiB8IFwiTEdQTFwiIHwgXCJBR1BMXCJcbiAgICAgICk7XG5cbiAgICBpZiAodHlwZW9mIGlkZSA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgIGlkZSA9IGF3YWl0IFVzZXJJbnB1dC5hc2tDb25maXJtYXRpb24oXG4gICAgICAgIFwiaWRlXCIsXG4gICAgICAgIFwiRG8geW91IHdhbnQgdG8gZ2V0IGlkZSBjb25maWdzP1wiLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuXG4gICAgaWYgKGlkZSkgYXdhaXQgdGhpcy5nZXRJZGUoKTtcblxuICAgIGlmICh0eXBlb2YgdHlwZXNjcmlwdCA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgIHR5cGVzY3JpcHQgPSBhd2FpdCBVc2VySW5wdXQuYXNrQ29uZmlybWF0aW9uKFxuICAgICAgICBcInR5cGVzY3JpcHRcIixcbiAgICAgICAgXCJEbyB5b3Ugd2FudCB0byBnZXQgdHlwZXNjcmlwdCBjb25maWdzP1wiLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuICAgIGlmICh0eXBlc2NyaXB0KSBhd2FpdCB0aGlzLmdldFR5cGVzY3JpcHQoKTtcblxuICAgIGlmICh0eXBlb2YgZG9ja2VyID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgZG9ja2VyID0gYXdhaXQgVXNlcklucHV0LmFza0NvbmZpcm1hdGlvbihcbiAgICAgICAgXCJkb2NrZXJcIixcbiAgICAgICAgXCJEbyB5b3Ugd2FudCB0byBnZXQgZG9ja2VyIGNvbmZpZ3M/XCIsXG4gICAgICAgIHRydWVcbiAgICAgICk7XG5cbiAgICBpZiAoZG9ja2VyKSBhd2FpdCB0aGlzLmdldERvY2tlcigpO1xuICAgIGlmICh0eXBlb2YgYXV0b21hdGlvbiA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgIGF1dG9tYXRpb24gPSBhd2FpdCBVc2VySW5wdXQuYXNrQ29uZmlybWF0aW9uKFxuICAgICAgICBcImF1dG9tYXRpb25cIixcbiAgICAgICAgXCJEbyB5b3Ugd2FudCB0byBnZXQgYXV0b21hdGlvbiBjb25maWdzP1wiLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuICAgIGlmIChhdXRvbWF0aW9uKSBhd2FpdCB0aGlzLmdldEF1dG9tYXRpb24oKTtcblxuICAgIGlmICh0eXBlb2Ygc3R5bGVzID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgc3R5bGVzID0gYXdhaXQgVXNlcklucHV0LmFza0NvbmZpcm1hdGlvbihcbiAgICAgICAgXCJzdHlsZXNcIixcbiAgICAgICAgXCJEbyB5b3Ugd2FudCB0byBnZXQgc3R5bGVzP1wiLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuICAgIGlmIChzdHlsZXMpIGF3YWl0IHRoaXMuZ2V0U3R5bGVzKCk7XG5cbiAgICBpZiAodHlwZW9mIGRvY3MgPT09IFwidW5kZWZpbmVkXCIpXG4gICAgICBkb2NzID0gYXdhaXQgVXNlcklucHV0LmFza0NvbmZpcm1hdGlvbihcbiAgICAgICAgXCJkb2NzXCIsXG4gICAgICAgIFwiRG8geW91IHdhbnQgdG8gZ2V0IGRvY3M/XCIsXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgaWYgKGRvY3MpIGF3YWl0IHRoaXMuZ2V0RG9jcygpO1xuICAgIGlmICh0eXBlb2Ygd29ya2Zsb3dzID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgd29ya2Zsb3dzID0gYXdhaXQgVXNlcklucHV0LmFza0NvbmZpcm1hdGlvbihcbiAgICAgICAgXCJ3b3JrZmxvd3NcIixcbiAgICAgICAgXCJEbyB5b3Ugd2FudCB0byBnZXQgd29ya2Zsb3dzP1wiLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuICAgIGlmICh3b3JrZmxvd3MpIGF3YWl0IHRoaXMuZ2V0V29ya2Zsb3dzKCk7XG4gICAgaWYgKHR5cGVvZiB0ZW1wbGF0ZXMgPT09IFwidW5kZWZpbmVkXCIpXG4gICAgICB0ZW1wbGF0ZXMgPSBhd2FpdCBVc2VySW5wdXQuYXNrQ29uZmlybWF0aW9uKFxuICAgICAgICBcInRlbXBsYXRlc1wiLFxuICAgICAgICBcIkRvIHlvdSB3YW50IHRvIGdldCB0ZW1wbGF0ZXM/XCIsXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgaWYgKHRlbXBsYXRlcykgYXdhaXQgdGhpcy5nZXRUZW1wbGF0ZXMoKTtcbiAgICBpZiAodHlwZW9mIHBrZyA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgIHBrZyA9IGF3YWl0IFVzZXJJbnB1dC5hc2tDb25maXJtYXRpb24oXG4gICAgICAgIFwicGtnXCIsXG4gICAgICAgIFwiRG8geW91IHdhbnQgdG8gdXBkYXRlIHlvdXIgcGFja2FnZS5qc29uIHNjcmlwdHM/XCIsXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgaWYgKHBrZykgYXdhaXQgdGhpcy51cGRhdGVQYWNrYWdlU2NyaXBzKCk7XG5cbiAgICBpZiAodHlwZW9mIHRlc3RzID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgdGVzdHMgPSBhd2FpdCBVc2VySW5wdXQuYXNrQ29uZmlybWF0aW9uKFxuICAgICAgICBcInBrZ1wiLFxuICAgICAgICBcIkRvIHlvdSB3YW50IHRvIHVwZGF0ZSB5b3VyIHRlc3QgY29uZmlncz9cIixcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICBpZiAodGVzdHMpIGF3YWl0IHRoaXMuZ2V0VGVzdHMoKTtcblxuICAgIGlmICh0eXBlb2YgZGVwZW5kZW5jaWVzID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgZGVwZW5kZW5jaWVzID0gYXdhaXQgVXNlcklucHV0LmFza0NvbmZpcm1hdGlvbihcbiAgICAgICAgXCJwa2dcIixcbiAgICAgICAgXCJEbyB5b3Ugd2FudCB0byB1cGRhdGUgZGV2IGRlcGVuZGVuY2llcz9cIixcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICBpZiAoZGVwZW5kZW5jaWVzKSBhd2FpdCB0aGlzLnVwZGF0ZURlcGVuZGVuY2llcygpO1xuICB9XG59XG4iXX0=
|
package/lib/cli/constants.cjs
CHANGED
|
@@ -76,5 +76,4 @@ exports.DefaultCommandValues = Object.keys(exports.DefaultCommandOptions).reduce
|
|
|
76
76
|
exports.DefaultCommandOptions[key].default;
|
|
77
77
|
return acc;
|
|
78
78
|
}, {});
|
|
79
|
-
|
|
80
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9jbGkvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZCRztBQUNVLFFBQUEscUJBQXFCLEdBQUc7SUFDbkMsT0FBTyxFQUFFO1FBQ1AsSUFBSSxFQUFFLFNBQVM7UUFDZixLQUFLLEVBQUUsR0FBRztRQUNWLE9BQU8sRUFBRSxTQUFTO0tBQ25CO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsSUFBSSxFQUFFLFNBQVM7UUFDZixLQUFLLEVBQUUsR0FBRztRQUNWLE9BQU8sRUFBRSxTQUFTO0tBQ25CO0lBQ0QsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFLFNBQVM7UUFDZixLQUFLLEVBQUUsR0FBRztRQUNWLE9BQU8sRUFBRSxLQUFLO0tBQ2Y7SUFDRCxRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsUUFBUTtRQUNkLE9BQU8sRUFBRSxNQUFNO0tBQ2hCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsSUFBSSxFQUFFLFNBQVM7UUFDZixPQUFPLEVBQUUsSUFBSTtLQUNkO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsSUFBSSxFQUFFLFNBQVM7UUFDZixPQUFPLEVBQUUsSUFBSTtLQUNkO0lBQ0QsTUFBTSxFQUFFO1FBQ04sSUFBSSxFQUFFLFNBQVM7UUFDZixPQUFPLEVBQUUsSUFBSTtLQUNkO0NBQ0YsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNVLFFBQUEsb0JBQW9CLEdBRTdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkJBQXFCLENBQUMsQ0FBQyxNQUFNLENBQzNDLENBQUMsR0FBd0QsRUFBRSxHQUFXLEVBQUUsRUFBRTtJQUN4RSxHQUFHLENBQUMsR0FBeUMsQ0FBQztRQUM1Qyw2QkFBcUIsQ0FBQyxHQUF5QyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzNFLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxFQUNELEVBQXdELENBQ3pELENBQUMiLCJmaWxlIjoiY2xpL2NvbnN0YW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uIERlZmF1bHQgY29tbWFuZCBvcHRpb25zIGZvciBDTEkgY29tbWFuZHMuXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgYW5kIGRlZmF1bHQgdmFsdWVzIGZvciBjb21tb24gY29tbWFuZC1saW5lIG9wdGlvbnMgdXNlZCBhY3Jvc3MgdmFyaW91cyBDTEkgY29tbWFuZHMuXG4gKiBAY29uc3QgRGVmYXVsdENvbW1hbmRPcHRpb25zXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBEZWZhdWx0Q29tbWFuZE9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSB2ZXJib3NlIC0gVmVyYm9zaXR5IGxldmVsIG9wdGlvbi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB2ZXJib3NlLnR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgdmVyYm9zZSBvcHRpb24gKG51bWJlcikuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdmVyYm9zZS5zaG9ydCAtIFRoZSBzaG9ydCBmbGFnIGZvciB0aGUgdmVyYm9zZSBvcHRpb24gKFYpLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IHZlcmJvc2UuZGVmYXVsdCAtIFRoZSBkZWZhdWx0IHZhbHVlIGZvciB2ZXJib3NpdHkgKDApLlxuICogQHByb3BlcnR5IHtPYmplY3R9IHZlcnNpb24gLSBWZXJzaW9uIGRpc3BsYXkgb3B0aW9uLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHZlcnNpb24udHlwZSAtIFRoZSB0eXBlIG9mIHRoZSB2ZXJzaW9uIG9wdGlvbiAoYm9vbGVhbikuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdmVyc2lvbi5zaG9ydCAtIFRoZSBzaG9ydCBmbGFnIGZvciB0aGUgdmVyc2lvbiBvcHRpb24gKHYpLlxuICogQHByb3BlcnR5IHt1bmRlZmluZWR9IHZlcnNpb24uZGVmYXVsdCAtIFRoZSBkZWZhdWx0IHZhbHVlIGZvciB2ZXJzaW9uIGRpc3BsYXkgKHVuZGVmaW5lZCkuXG4gKiBAcHJvcGVydHkge09iamVjdH0gaGVscCAtIEhlbHAgZGlzcGxheSBvcHRpb24uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gaGVscC50eXBlIC0gVGhlIHR5cGUgb2YgdGhlIGhlbHAgb3B0aW9uIChib29sZWFuKS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBoZWxwLnNob3J0IC0gVGhlIHNob3J0IGZsYWcgZm9yIHRoZSBoZWxwIG9wdGlvbiAoaCkuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGhlbHAuZGVmYXVsdCAtIFRoZSBkZWZhdWx0IHZhbHVlIGZvciBoZWxwIGRpc3BsYXkgKGZhbHNlKS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBsb2dMZXZlbCAtIExvZyBsZXZlbCBvcHRpb24uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbG9nTGV2ZWwudHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBsb2dMZXZlbCBvcHRpb24gKHN0cmluZykuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbG9nTGV2ZWwuZGVmYXVsdCAtIFRoZSBkZWZhdWx0IHZhbHVlIGZvciBsb2cgbGV2ZWwgKFwiaW5mb1wiKS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBsb2dTdHlsZSAtIExvZyBzdHlsaW5nIG9wdGlvbi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBsb2dTdHlsZS50eXBlIC0gVGhlIHR5cGUgb2YgdGhlIGxvZ1N0eWxlIG9wdGlvbiAoYm9vbGVhbikuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGxvZ1N0eWxlLmRlZmF1bHQgLSBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgbG9nIHN0eWxpbmcgKHRydWUpLlxuICogQHByb3BlcnR5IHtPYmplY3R9IHRpbWVzdGFtcCAtIFRpbWVzdGFtcCBkaXNwbGF5IG9wdGlvbi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0aW1lc3RhbXAudHlwZSAtIFRoZSB0eXBlIG9mIHRoZSB0aW1lc3RhbXAgb3B0aW9uIChib29sZWFuKS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gdGltZXN0YW1wLmRlZmF1bHQgLSBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGltZXN0YW1wIGRpc3BsYXkgKHRydWUpLlxuICogQHByb3BlcnR5IHtPYmplY3R9IGJhbm5lciAtIEJhbm5lciBkaXNwbGF5IG9wdGlvbi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBiYW5uZXIudHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBiYW5uZXIgb3B0aW9uIChib29sZWFuKS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gYmFubmVyLmRlZmF1bHQgLSBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgYmFubmVyIGRpc3BsYXkgKGZhbHNlKS5cbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRDb21tYW5kT3B0aW9ucyA9IHtcbiAgdmVyYm9zZToge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgIHNob3J0OiBcIlZcIixcbiAgICBkZWZhdWx0OiB1bmRlZmluZWQsXG4gIH0sXG4gIHZlcnNpb246IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICBzaG9ydDogXCJ2XCIsXG4gICAgZGVmYXVsdDogdW5kZWZpbmVkLFxuICB9LFxuICBoZWxwOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgc2hvcnQ6IFwiaFwiLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBsb2dMZXZlbDoge1xuICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgZGVmYXVsdDogXCJpbmZvXCIsXG4gIH0sXG4gIGxvZ1N0eWxlOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgdGltZXN0YW1wOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgYmFubmVyOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlZmF1bHQgY29tbWFuZCB2YWx1ZXMgZGVyaXZlZCBmcm9tIERlZmF1bHRDb21tYW5kT3B0aW9ucy5cbiAqIEBzdW1tYXJ5IENyZWF0ZXMgYW4gb2JqZWN0IHdpdGggdGhlIGRlZmF1bHQgdmFsdWVzIG9mIGFsbCBvcHRpb25zIGRlZmluZWQgaW4gRGVmYXVsdENvbW1hbmRPcHRpb25zLlxuICogQGNvbnN0IERlZmF1bHRDb21tYW5kVmFsdWVzXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBEZWZhdWx0Q29tbWFuZFZhbHVlc1xuICogQHByb3BlcnR5IHt1bmtub3dufSBba2V5OiBzdHJpbmddIC0gVGhlIGRlZmF1bHQgdmFsdWUgZm9yIGVhY2ggb3B0aW9uIGluIERlZmF1bHRDb21tYW5kT3B0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRDb21tYW5kVmFsdWVzOiB7XG4gIFtrIGluIGtleW9mIHR5cGVvZiBEZWZhdWx0Q29tbWFuZE9wdGlvbnNdOiB1bmtub3duO1xufSA9IE9iamVjdC5rZXlzKERlZmF1bHRDb21tYW5kT3B0aW9ucykucmVkdWNlKFxuICAoYWNjOiBSZWNvcmQ8a2V5b2YgdHlwZW9mIERlZmF1bHRDb21tYW5kT3B0aW9ucywgdW5rbm93bj4sIGtleTogc3RyaW5nKSA9PiB7XG4gICAgYWNjW2tleSBhcyBrZXlvZiB0eXBlb2YgRGVmYXVsdENvbW1hbmRPcHRpb25zXSA9XG4gICAgICBEZWZhdWx0Q29tbWFuZE9wdGlvbnNba2V5IGFzIGtleW9mIHR5cGVvZiBEZWZhdWx0Q29tbWFuZE9wdGlvbnNdLmRlZmF1bHQ7XG4gICAgcmV0dXJuIGFjYztcbiAgfSxcbiAge30gYXMgUmVjb3JkPGtleW9mIHR5cGVvZiBEZWZhdWx0Q29tbWFuZFZhbHVlcywgdW5rbm93bj5cbik7XG4iXX0=
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRztJQUNuQyxPQUFPLEVBQUU7UUFDUCxJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUssRUFBRSxHQUFHO1FBQ1YsT0FBTyxFQUFFLFNBQVM7S0FDbkI7SUFDRCxPQUFPLEVBQUU7UUFDUCxJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUssRUFBRSxHQUFHO1FBQ1YsT0FBTyxFQUFFLFNBQVM7S0FDbkI7SUFDRCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUssRUFBRSxHQUFHO1FBQ1YsT0FBTyxFQUFFLEtBQUs7S0FDZjtJQUNELFFBQVEsRUFBRTtRQUNSLElBQUksRUFBRSxRQUFRO1FBQ2QsT0FBTyxFQUFFLE1BQU07S0FDaEI7SUFDRCxRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRCxTQUFTLEVBQUU7UUFDVCxJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRCxNQUFNLEVBQUU7UUFDTixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7Q0FDRixDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ1UsUUFBQSxvQkFBb0IsR0FFN0IsTUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBcUIsQ0FBQyxDQUFDLE1BQU0sQ0FDM0MsQ0FBQyxHQUF3RCxFQUFFLEdBQVcsRUFBRSxFQUFFO0lBQ3hFLEdBQUcsQ0FBQyxHQUF5QyxDQUFDO1FBQzVDLDZCQUFxQixDQUFDLEdBQXlDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDM0UsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLEVBQ0QsRUFBd0QsQ0FDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uIERlZmF1bHQgY29tbWFuZCBvcHRpb25zIGZvciBDTEkgY29tbWFuZHMuXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgYW5kIGRlZmF1bHQgdmFsdWVzIGZvciBjb21tb24gY29tbWFuZC1saW5lIG9wdGlvbnMgdXNlZCBhY3Jvc3MgdmFyaW91cyBDTEkgY29tbWFuZHMuXG4gKiBAY29uc3QgRGVmYXVsdENvbW1hbmRPcHRpb25zXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBEZWZhdWx0Q29tbWFuZE9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSB2ZXJib3NlIC0gVmVyYm9zaXR5IGxldmVsIG9wdGlvbi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB2ZXJib3NlLnR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgdmVyYm9zZSBvcHRpb24gKG51bWJlcikuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdmVyYm9zZS5zaG9ydCAtIFRoZSBzaG9ydCBmbGFnIGZvciB0aGUgdmVyYm9zZSBvcHRpb24gKFYpLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IHZlcmJvc2UuZGVmYXVsdCAtIFRoZSBkZWZhdWx0IHZhbHVlIGZvciB2ZXJib3NpdHkgKDApLlxuICogQHByb3BlcnR5IHtPYmplY3R9IHZlcnNpb24gLSBWZXJzaW9uIGRpc3BsYXkgb3B0aW9uLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHZlcnNpb24udHlwZSAtIFRoZSB0eXBlIG9mIHRoZSB2ZXJzaW9uIG9wdGlvbiAoYm9vbGVhbikuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdmVyc2lvbi5zaG9ydCAtIFRoZSBzaG9ydCBmbGFnIGZvciB0aGUgdmVyc2lvbiBvcHRpb24gKHYpLlxuICogQHByb3BlcnR5IHt1bmRlZmluZWR9IHZlcnNpb24uZGVmYXVsdCAtIFRoZSBkZWZhdWx0IHZhbHVlIGZvciB2ZXJzaW9uIGRpc3BsYXkgKHVuZGVmaW5lZCkuXG4gKiBAcHJvcGVydHkge09iamVjdH0gaGVscCAtIEhlbHAgZGlzcGxheSBvcHRpb24uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gaGVscC50eXBlIC0gVGhlIHR5cGUgb2YgdGhlIGhlbHAgb3B0aW9uIChib29sZWFuKS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBoZWxwLnNob3J0IC0gVGhlIHNob3J0IGZsYWcgZm9yIHRoZSBoZWxwIG9wdGlvbiAoaCkuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGhlbHAuZGVmYXVsdCAtIFRoZSBkZWZhdWx0IHZhbHVlIGZvciBoZWxwIGRpc3BsYXkgKGZhbHNlKS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBsb2dMZXZlbCAtIExvZyBsZXZlbCBvcHRpb24uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbG9nTGV2ZWwudHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBsb2dMZXZlbCBvcHRpb24gKHN0cmluZykuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbG9nTGV2ZWwuZGVmYXVsdCAtIFRoZSBkZWZhdWx0IHZhbHVlIGZvciBsb2cgbGV2ZWwgKFwiaW5mb1wiKS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBsb2dTdHlsZSAtIExvZyBzdHlsaW5nIG9wdGlvbi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBsb2dTdHlsZS50eXBlIC0gVGhlIHR5cGUgb2YgdGhlIGxvZ1N0eWxlIG9wdGlvbiAoYm9vbGVhbikuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGxvZ1N0eWxlLmRlZmF1bHQgLSBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgbG9nIHN0eWxpbmcgKHRydWUpLlxuICogQHByb3BlcnR5IHtPYmplY3R9IHRpbWVzdGFtcCAtIFRpbWVzdGFtcCBkaXNwbGF5IG9wdGlvbi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0aW1lc3RhbXAudHlwZSAtIFRoZSB0eXBlIG9mIHRoZSB0aW1lc3RhbXAgb3B0aW9uIChib29sZWFuKS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gdGltZXN0YW1wLmRlZmF1bHQgLSBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGltZXN0YW1wIGRpc3BsYXkgKHRydWUpLlxuICogQHByb3BlcnR5IHtPYmplY3R9IGJhbm5lciAtIEJhbm5lciBkaXNwbGF5IG9wdGlvbi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBiYW5uZXIudHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBiYW5uZXIgb3B0aW9uIChib29sZWFuKS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gYmFubmVyLmRlZmF1bHQgLSBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgYmFubmVyIGRpc3BsYXkgKGZhbHNlKS5cbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRDb21tYW5kT3B0aW9ucyA9IHtcbiAgdmVyYm9zZToge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgIHNob3J0OiBcIlZcIixcbiAgICBkZWZhdWx0OiB1bmRlZmluZWQsXG4gIH0sXG4gIHZlcnNpb246IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICBzaG9ydDogXCJ2XCIsXG4gICAgZGVmYXVsdDogdW5kZWZpbmVkLFxuICB9LFxuICBoZWxwOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgc2hvcnQ6IFwiaFwiLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBsb2dMZXZlbDoge1xuICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgZGVmYXVsdDogXCJpbmZvXCIsXG4gIH0sXG4gIGxvZ1N0eWxlOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgdGltZXN0YW1wOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgYmFubmVyOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlZmF1bHQgY29tbWFuZCB2YWx1ZXMgZGVyaXZlZCBmcm9tIERlZmF1bHRDb21tYW5kT3B0aW9ucy5cbiAqIEBzdW1tYXJ5IENyZWF0ZXMgYW4gb2JqZWN0IHdpdGggdGhlIGRlZmF1bHQgdmFsdWVzIG9mIGFsbCBvcHRpb25zIGRlZmluZWQgaW4gRGVmYXVsdENvbW1hbmRPcHRpb25zLlxuICogQGNvbnN0IERlZmF1bHRDb21tYW5kVmFsdWVzXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBEZWZhdWx0Q29tbWFuZFZhbHVlc1xuICogQHByb3BlcnR5IHt1bmtub3dufSBba2V5OiBzdHJpbmddIC0gVGhlIGRlZmF1bHQgdmFsdWUgZm9yIGVhY2ggb3B0aW9uIGluIERlZmF1bHRDb21tYW5kT3B0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRDb21tYW5kVmFsdWVzOiB7XG4gIFtrIGluIGtleW9mIHR5cGVvZiBEZWZhdWx0Q29tbWFuZE9wdGlvbnNdOiB1bmtub3duO1xufSA9IE9iamVjdC5rZXlzKERlZmF1bHRDb21tYW5kT3B0aW9ucykucmVkdWNlKFxuICAoYWNjOiBSZWNvcmQ8a2V5b2YgdHlwZW9mIERlZmF1bHRDb21tYW5kT3B0aW9ucywgdW5rbm93bj4sIGtleTogc3RyaW5nKSA9PiB7XG4gICAgYWNjW2tleSBhcyBrZXlvZiB0eXBlb2YgRGVmYXVsdENvbW1hbmRPcHRpb25zXSA9XG4gICAgICBEZWZhdWx0Q29tbWFuZE9wdGlvbnNba2V5IGFzIGtleW9mIHR5cGVvZiBEZWZhdWx0Q29tbWFuZE9wdGlvbnNdLmRlZmF1bHQ7XG4gICAgcmV0dXJuIGFjYztcbiAgfSxcbiAge30gYXMgUmVjb3JkPGtleW9mIHR5cGVvZiBEZWZhdWx0Q29tbWFuZFZhbHVlcywgdW5rbm93bj5cbik7XG4iXX0=
|
package/lib/cli/index.cjs
CHANGED
|
@@ -18,5 +18,4 @@ __exportStar(require("./commands/index.cjs"), exports);
|
|
|
18
18
|
__exportStar(require("./command.cjs"), exports);
|
|
19
19
|
__exportStar(require("./constants.cjs"), exports);
|
|
20
20
|
__exportStar(require("./types.cjs"), exports);
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9jbGkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEyQjtBQUMzQiw0Q0FBMEI7QUFDMUIsOENBQTRCO0FBQzVCLDBDQUF3QiIsImZpbGUiOiJjbGkvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuIl19
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBMkI7QUFDM0IsNENBQTBCO0FBQzFCLDhDQUE0QjtBQUM1QiwwQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuIl19
|
package/lib/cli/types.cjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9jbGkvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJjbGkvdHlwZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dnaW5nQ29uZmlnIH0gZnJvbSBcIi4uL291dHB1dC90eXBlc1wiO1xuaW1wb3J0IHsgUGFyc2VBcmdzT3B0aW9uQ29uZmlnIH0gZnJvbSBcIi4uL2lucHV0L3R5cGVzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEludGVyZmFjZSBmb3IgaW5wdXQgb3B0aW9ucy5cbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIHN0cnVjdHVyZSBvZiBpbnB1dCBvcHRpb25zIGZvciBDTEkgY29tbWFuZHMuXG4gKiBAaW50ZXJmYWNlIElucHV0T3B0aW9uc1xuICogQHByb3BlcnR5IHtudW1iZXJ9IFt2ZXJib3NlXSAtIFRoZSB2ZXJib3NpdHkgbGV2ZWwuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFt2ZXJzaW9uXSAtIEZsYWcgdG8gc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbYmFubmVyXSAtIEZsYWcgdG8gc2hvdyBiYW5uZXIuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtoZWxwXSAtIEZsYWcgdG8gc2hvdyBoZWxwIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgdHlwZSBJbnB1dE9wdGlvbnMgPSB7XG4gIHZlcmJvc2U/OiBudW1iZXI7XG4gIHZlcnNpb24/OiBib29sZWFuO1xuICBiYW5uZXI/OiBib29sZWFuO1xuICBoZWxwPzogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFR5cGUgZGVmaW5pdGlvbiBmb3IgY29tbWFuZCBvcHRpb25zLlxuICogQHN1bW1hcnkgQ29tYmluZXMgaW5wdXQgb3B0aW9ucywgaW5wdXQgb3B0aW9uIGNvbmZpZ3VyYXRpb25zLCBhbmQgbG9nZ2luZyBjb25maWd1cmF0aW9ucyBpbnRvIGEgc2luZ2xlIHR5cGUuXG4gKiBAdGVtcGxhdGUgSSAtIFRoZSB0eXBlIG9mIGFkZGl0aW9uYWwgaW5wdXQgb3B0aW9ucyBzcGVjaWZpYyB0byB0aGUgY29tbWFuZC5cbiAqIEB0eXBlZGVmIHtPYmplY3R9IENvbW1hbmRPcHRpb25zXG4gKi9cbmV4cG9ydCB0eXBlIENvbW1hbmRPcHRpb25zPEk+ID0gSSAmXG4gIFBhcnRpYWw8eyBbayBpbiBrZXlvZiBJbnB1dE9wdGlvbnNdOiBQYXJzZUFyZ3NPcHRpb25Db25maWcgfT4gJlxuICBQYXJ0aWFsPHsgW2sgaW4ga2V5b2YgTG9nZ2luZ0NvbmZpZ106IFBhcnNlQXJnc09wdGlvbkNvbmZpZyB9PjtcbiJdfQ==
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dnaW5nQ29uZmlnIH0gZnJvbSBcIi4uL291dHB1dC90eXBlc1wiO1xuaW1wb3J0IHsgUGFyc2VBcmdzT3B0aW9uQ29uZmlnIH0gZnJvbSBcIi4uL2lucHV0L3R5cGVzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEludGVyZmFjZSBmb3IgaW5wdXQgb3B0aW9ucy5cbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIHN0cnVjdHVyZSBvZiBpbnB1dCBvcHRpb25zIGZvciBDTEkgY29tbWFuZHMuXG4gKiBAaW50ZXJmYWNlIElucHV0T3B0aW9uc1xuICogQHByb3BlcnR5IHtudW1iZXJ9IFt2ZXJib3NlXSAtIFRoZSB2ZXJib3NpdHkgbGV2ZWwuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFt2ZXJzaW9uXSAtIEZsYWcgdG8gc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbYmFubmVyXSAtIEZsYWcgdG8gc2hvdyBiYW5uZXIuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtoZWxwXSAtIEZsYWcgdG8gc2hvdyBoZWxwIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgdHlwZSBJbnB1dE9wdGlvbnMgPSB7XG4gIHZlcmJvc2U/OiBudW1iZXI7XG4gIHZlcnNpb24/OiBib29sZWFuO1xuICBiYW5uZXI/OiBib29sZWFuO1xuICBoZWxwPzogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFR5cGUgZGVmaW5pdGlvbiBmb3IgY29tbWFuZCBvcHRpb25zLlxuICogQHN1bW1hcnkgQ29tYmluZXMgaW5wdXQgb3B0aW9ucywgaW5wdXQgb3B0aW9uIGNvbmZpZ3VyYXRpb25zLCBhbmQgbG9nZ2luZyBjb25maWd1cmF0aW9ucyBpbnRvIGEgc2luZ2xlIHR5cGUuXG4gKiBAdGVtcGxhdGUgSSAtIFRoZSB0eXBlIG9mIGFkZGl0aW9uYWwgaW5wdXQgb3B0aW9ucyBzcGVjaWZpYyB0byB0aGUgY29tbWFuZC5cbiAqIEB0eXBlZGVmIHtPYmplY3R9IENvbW1hbmRPcHRpb25zXG4gKi9cbmV4cG9ydCB0eXBlIENvbW1hbmRPcHRpb25zPEk+ID0gSSAmXG4gIFBhcnRpYWw8eyBbayBpbiBrZXlvZiBJbnB1dE9wdGlvbnNdOiBQYXJzZUFyZ3NPcHRpb25Db25maWcgfT4gJlxuICBQYXJ0aWFsPHsgW2sgaW4ga2V5b2YgTG9nZ2luZ0NvbmZpZ106IFBhcnNlQXJnc09wdGlvbkNvbmZpZyB9PjtcbiJdfQ==
|