@raycast/api 0.67.0 → 0.67.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/commands/version/index.js +2 -2
- package/oclif.manifest.json +47 -47
- package/package.json +1 -1
|
@@ -111,7 +111,7 @@ var require_package = __commonJS({
|
|
|
111
111
|
"package.json"(exports2, module2) {
|
|
112
112
|
module2.exports = {
|
|
113
113
|
name: "ray",
|
|
114
|
-
version: "0.67.
|
|
114
|
+
version: "0.67.1",
|
|
115
115
|
private: true,
|
|
116
116
|
description: "Build extensions for Raycast with React and Node.js.",
|
|
117
117
|
license: "MIT",
|
|
@@ -464,4 +464,4 @@ var Version = class _Version extends BaseCommand {
|
|
|
464
464
|
this.log(`${require_package().version}`);
|
|
465
465
|
}
|
|
466
466
|
};
|
|
467
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL3lvY3RvY29sb3JzLWNqc0AyLjEuMy9ub2RlX21vZHVsZXMveW9jdG9jb2xvcnMtY2pzL2luZGV4LmpzIiwgIi4uLy4uLy4uL3BhY2thZ2UuanNvbiIsICIuLi8uLi8uLi9zcmMvY29tbWFuZHMvdmVyc2lvbi9pbmRleC50cyIsICIuLi8uLi8uLi9zcmMvdXRpbHMvQmFzZUNvbW1hbmQudHMiLCAiLi4vLi4vLi4vc3JjL3V0aWxzL291dHB1dC50cyIsICIuLi8uLi8uLi9zcmMvdXRpbHMvcmF5Y2FzdC1yb3V0ZS50cyIsICIuLi8uLi8uLi9zcmMvY29uZmlnLnRzIiwgIi4uLy4uLy4uL3NyYy91dGlscy9tYWNvcy1hcHAudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IHR0eSA9IHJlcXVpcmUoJ25vZGU6dHR5Jyk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgdW5pY29ybi9wcmVmZXItbW9kdWxlXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby13YXJuaW5nLWNvbW1lbnRzXG4vLyBUT0RPOiBVc2UgYSBiZXR0ZXIgbWV0aG9kIHdoZW4gaXQncyBhZGRlZCB0byBOb2RlLmpzIChodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGUvcHVsbC80MDI0MClcbi8vIExvdHMgb2Ygb3B0aW9uYWxzIGhlcmUgdG8gc3VwcG9ydCBEZW5vLlxuY29uc3QgaGFzQ29sb3JzID0gdHR5Py5Xcml0ZVN0cmVhbT8ucHJvdG90eXBlPy5oYXNDb2xvcnM/LigpID8/IGZhbHNlO1xuXG5jb25zdCBmb3JtYXQgPSAob3BlbiwgY2xvc2UpID0+IHtcblx0aWYgKCFoYXNDb2xvcnMpIHtcblx0XHRyZXR1cm4gaW5wdXQgPT4gaW5wdXQ7XG5cdH1cblxuXHRjb25zdCBvcGVuQ29kZSA9IGBcXHUwMDFCWyR7b3Blbn1tYDtcblx0Y29uc3QgY2xvc2VDb2RlID0gYFxcdTAwMUJbJHtjbG9zZX1tYDtcblxuXHRyZXR1cm4gaW5wdXQgPT4ge1xuXHRcdGNvbnN0IHN0cmluZyA9IGlucHV0ICsgJyc7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8taW1wbGljaXQtY29lcmNpb24gLS0gVGhpcyBpcyBmYXN0ZXIuXG5cdFx0bGV0IGluZGV4ID0gc3RyaW5nLmluZGV4T2YoY2xvc2VDb2RlKTtcblxuXHRcdGlmIChpbmRleCA9PT0gLTEpIHtcblx0XHRcdC8vIE5vdGU6IEludGVudGlvbmFsbHkgbm90IHVzaW5nIHN0cmluZyBpbnRlcnBvbGF0aW9uIGZvciBwZXJmb3JtYW5jZSByZWFzb25zLlxuXHRcdFx0cmV0dXJuIG9wZW5Db2RlICsgc3RyaW5nICsgY2xvc2VDb2RlO1xuXHRcdH1cblxuXHRcdC8vIEhhbmRsZSBuZXN0ZWQgY29sb3JzLlxuXG5cdFx0Ly8gV2UgY291bGQgaGF2ZSBkb25lIHRoaXMsIGJ1dCBpdCdzIHRvbyBzbG93IChhcyBvZiBOb2RlLmpzIDIyKS5cblx0XHQvLyByZXR1cm4gb3BlbkNvZGUgKyBzdHJpbmcucmVwbGFjZUFsbChjbG9zZUNvZGUsIG9wZW5Db2RlKSArIGNsb3NlQ29kZTtcblxuXHRcdGxldCByZXN1bHQgPSBvcGVuQ29kZTtcblx0XHRsZXQgbGFzdEluZGV4ID0gMDtcblxuXHRcdC8vIFNHUiAyMiByZXNldHMgYm90aCBib2xkICgxKSBhbmQgZGltICgyKS4gV2hlbiB3ZSBlbmNvdW50ZXIgYSBuZXN0ZWRcblx0XHQvLyBjbG9zZSBmb3Igc3R5bGVzIHRoYXQgdXNlIDIyLCB3ZSBuZWVkIHRvIHJlLW9wZW4gdGhlIG91dGVyIHN0eWxlLlxuXHRcdGNvbnN0IHJlb3Blbk9uTmVzdGVkQ2xvc2UgPSBjbG9zZSA9PT0gMjI7XG5cdFx0Y29uc3QgcmVwbGFjZUNvZGUgPSAocmVvcGVuT25OZXN0ZWRDbG9zZSA/IGNsb3NlQ29kZSA6ICcnKSArIG9wZW5Db2RlO1xuXG5cdFx0d2hpbGUgKGluZGV4ICE9PSAtMSkge1xuXHRcdFx0cmVzdWx0ICs9IHN0cmluZy5zbGljZShsYXN0SW5kZXgsIGluZGV4KSArIHJlcGxhY2VDb2RlO1xuXHRcdFx0bGFzdEluZGV4ID0gaW5kZXggKyBjbG9zZUNvZGUubGVuZ3RoO1xuXHRcdFx0aW5kZXggPSBzdHJpbmcuaW5kZXhPZihjbG9zZUNvZGUsIGxhc3RJbmRleCk7XG5cdFx0fVxuXG5cdFx0cmVzdWx0ICs9IHN0cmluZy5zbGljZShsYXN0SW5kZXgpICsgY2xvc2VDb2RlO1xuXG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fTtcbn07XG5cbmNvbnN0IGNvbG9ycyA9IHt9O1xuXG5jb2xvcnMucmVzZXQgPSBmb3JtYXQoMCwgMCk7XG5jb2xvcnMuYm9sZCA9IGZvcm1hdCgxLCAyMik7XG5jb2xvcnMuZGltID0gZm9ybWF0KDIsIDIyKTtcbmNvbG9ycy5pdGFsaWMgPSBmb3JtYXQoMywgMjMpO1xuY29sb3JzLnVuZGVybGluZSA9IGZvcm1hdCg0LCAyNCk7XG5jb2xvcnMub3ZlcmxpbmUgPSBmb3JtYXQoNTMsIDU1KTtcbmNvbG9ycy5pbnZlcnNlID0gZm9ybWF0KDcsIDI3KTtcbmNvbG9ycy5oaWRkZW4gPSBmb3JtYXQoOCwgMjgpO1xuY29sb3JzLnN0cmlrZXRocm91Z2ggPSBmb3JtYXQoOSwgMjkpO1xuXG5jb2xvcnMuYmxhY2sgPSBmb3JtYXQoMzAsIDM5KTtcbmNvbG9ycy5yZWQgPSBmb3JtYXQoMzEsIDM5KTtcbmNvbG9ycy5ncmVlbiA9IGZvcm1hdCgzMiwgMzkpO1xuY29sb3JzLnllbGxvdyA9IGZvcm1hdCgzMywgMzkpO1xuY29sb3JzLmJsdWUgPSBmb3JtYXQoMzQsIDM5KTtcbmNvbG9ycy5tYWdlbnRhID0gZm9ybWF0KDM1LCAzOSk7XG5jb2xvcnMuY3lhbiA9IGZvcm1hdCgzNiwgMzkpO1xuY29sb3JzLndoaXRlID0gZm9ybWF0KDM3LCAzOSk7XG5jb2xvcnMuZ3JheSA9IGZvcm1hdCg5MCwgMzkpO1xuXG5jb2xvcnMuYmdCbGFjayA9IGZvcm1hdCg0MCwgNDkpO1xuY29sb3JzLmJnUmVkID0gZm9ybWF0KDQxLCA0OSk7XG5jb2xvcnMuYmdHcmVlbiA9IGZvcm1hdCg0MiwgNDkpO1xuY29sb3JzLmJnWWVsbG93ID0gZm9ybWF0KDQzLCA0OSk7XG5jb2xvcnMuYmdCbHVlID0gZm9ybWF0KDQ0LCA0OSk7XG5jb2xvcnMuYmdNYWdlbnRhID0gZm9ybWF0KDQ1LCA0OSk7XG5jb2xvcnMuYmdDeWFuID0gZm9ybWF0KDQ2LCA0OSk7XG5jb2xvcnMuYmdXaGl0ZSA9IGZvcm1hdCg0NywgNDkpO1xuY29sb3JzLmJnR3JheSA9IGZvcm1hdCgxMDAsIDQ5KTtcblxuY29sb3JzLnJlZEJyaWdodCA9IGZvcm1hdCg5MSwgMzkpO1xuY29sb3JzLmdyZWVuQnJpZ2h0ID0gZm9ybWF0KDkyLCAzOSk7XG5jb2xvcnMueWVsbG93QnJpZ2h0ID0gZm9ybWF0KDkzLCAzOSk7XG5jb2xvcnMuYmx1ZUJyaWdodCA9IGZvcm1hdCg5NCwgMzkpO1xuY29sb3JzLm1hZ2VudGFCcmlnaHQgPSBmb3JtYXQoOTUsIDM5KTtcbmNvbG9ycy5jeWFuQnJpZ2h0ID0gZm9ybWF0KDk2LCAzOSk7XG5jb2xvcnMud2hpdGVCcmlnaHQgPSBmb3JtYXQoOTcsIDM5KTtcblxuY29sb3JzLmJnUmVkQnJpZ2h0ID0gZm9ybWF0KDEwMSwgNDkpO1xuY29sb3JzLmJnR3JlZW5CcmlnaHQgPSBmb3JtYXQoMTAyLCA0OSk7XG5jb2xvcnMuYmdZZWxsb3dCcmlnaHQgPSBmb3JtYXQoMTAzLCA0OSk7XG5jb2xvcnMuYmdCbHVlQnJpZ2h0ID0gZm9ybWF0KDEwNCwgNDkpO1xuY29sb3JzLmJnTWFnZW50YUJyaWdodCA9IGZvcm1hdCgxMDUsIDQ5KTtcbmNvbG9ycy5iZ0N5YW5CcmlnaHQgPSBmb3JtYXQoMTA2LCA0OSk7XG5jb2xvcnMuYmdXaGl0ZUJyaWdodCA9IGZvcm1hdCgxMDcsIDQ5KTtcblxubW9kdWxlLmV4cG9ydHMgPSBjb2xvcnM7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgdW5pY29ybi9wcmVmZXItbW9kdWxlXG4iLCAie1xuICBcIm5hbWVcIjogXCJyYXlcIixcbiAgXCJ2ZXJzaW9uXCI6IFwiMC42Ny4wXCIsXG4gIFwicHJpdmF0ZVwiOiB0cnVlLFxuICBcImRlc2NyaXB0aW9uXCI6IFwiQnVpbGQgZXh0ZW5zaW9ucyBmb3IgUmF5Y2FzdCB3aXRoIFJlYWN0IGFuZCBOb2RlLmpzLlwiLFxuICBcImxpY2Vuc2VcIjogXCJNSVRcIixcbiAgXCJhdXRob3JcIjogXCJtYXRoaWV1ZHV0b3VyXCIsXG4gIFwiYmluXCI6IHtcbiAgICBcInJheVwiOiBcIi4vYmluL3J1bi5qc1wiXG4gIH0sXG4gIFwiZmlsZXNcIjogW1xuICAgIFwiL2JpblwiLFxuICAgIFwiL2Rpc3RcIixcbiAgICBcIi9vY2xpZi5tYW5pZmVzdC5qc29uXCJcbiAgXSxcbiAgXCJtYWluXCI6IFwiZGlzdC9pbmRleC5qc1wiLFxuICBcInR5cGVzXCI6IFwiZGlzdC9pbmRleC5kLnRzXCIsXG4gIFwic2NyaXB0c1wiOiB7XG4gICAgXCJqc29uLXNjaGVtYS10by10c1wiOiBcImpzb24ydHMgLi4vLi4vc2NoZW1hLmpzb24gLXkgPiBzcmMvdHlwZXMvbWFuaWZlc3Qtc2NoZW1hLmQudHNcIixcbiAgICBcImJ1aWxkLXNjcmlwdHNcIjogXCJ0c2MgLS1vdXREaXIgLi9zY3JpcHRzL2Rpc3QgLS1wcm9qZWN0IC4vdHNjb25maWcuc2NyaXB0cy5qc29uXCIsXG4gICAgXCJwcmVidWlsZFwiOiBcInBucG0ganNvbi1zY2hlbWEtdG8tdHMgJiYgcG5wbSBydW4gYnVpbGQtc2NyaXB0c1wiLFxuICAgIFwiYnVpbGRcIjogXCJub2RlIC4vc2NyaXB0cy9kaXN0L2J1aWxkLWNvbW1hbmQuanNcIixcbiAgICBcInByZWRldlwiOiBcInBucG0gcnVuIGpzb24tc2NoZW1hLXRvLXRzICYmIHBucG0gcnVuIGJ1aWxkLXNjcmlwdHNcIixcbiAgICBcImRldlwiOiBcIm5vZGUgLi9zY3JpcHRzL2Rpc3QvZGV2LWNvbW1hbmQuanNcIixcbiAgICBcImxpbnRcIjogXCJlc2xpbnQgLiAtLWV4dCAudHNcIixcbiAgICBcInRlc3RcIjogXCJub2RlIC0tZXhwZXJpbWVudGFsLXN0cmlwLXR5cGVzIC0tdGVzdFwiXG4gIH0sXG4gIFwiZGVwZW5kZW5jaWVzXCI6IHtcbiAgICBcIkBvY2xpZi9jb3JlXCI6IFwiXjQuMTEuNFwiLFxuICAgIFwiQG9jbGlmL3BsdWdpbi1hdXRvY29tcGxldGVcIjogXCJeMy4yLjUwXCIsXG4gICAgXCJAb2NsaWYvcGx1Z2luLWhlbHBcIjogXCJeNi4yLjUwXCIsXG4gICAgXCJAb2NsaWYvcGx1Z2luLW5vdC1mb3VuZFwiOiBcIl4zLjIuODdcIixcbiAgICBcIkByYXljYXN0L2VzbGludC1wbHVnaW5cIjogXCJeMi4xLjFcIixcbiAgICBcImFqdlwiOiBcIl44LjIwLjBcIixcbiAgICBcImFyY2hpdmVyXCI6IFwiXjcuMC4xXCIsXG4gICAgXCJjYW1lbGNhc2VcIjogXCJeOC4wLjBcIixcbiAgICBcImNoYWxrXCI6IFwiXjUuNi4yXCIsXG4gICAgXCJjaG9raWRhclwiOiBcIl40LjAuM1wiLFxuICAgIFwiY2xpLXByb2dyZXNzXCI6IFwiXjMuMTIuMFwiLFxuICAgIFwiY2xpcGJvYXJkeVwiOiBcIl4yLjMuMFwiLFxuICAgIFwiZXhlY2FcIjogXCJeOS42LjFcIixcbiAgICBcImpzb24tc291cmNlLW1hcFwiOiBcIl4wLjYuMVwiLFxuICAgIFwianNvbjVcIjogXCJeMi4yLjNcIixcbiAgICBcIm5vZGUtZmV0Y2gtY2pzXCI6IFwiXjMuMy4yXCIsXG4gICAgXCJvcGVuXCI6IFwiXjguNC4yXCIsXG4gICAgXCJvcmFcIjogXCJeOC4yLjBcIixcbiAgICBcInRhaWxcIjogXCJeMi4yLjZcIixcbiAgICBcInRlcm1pbmFsLWxpbmtcIjogXCJeMy4wLjBcIixcbiAgICBcInlhbWxcIjogXCJeMi44LjJcIixcbiAgICBcInlvY3RvY29sb3JzLWNqc1wiOiBcIl4yLjEuM1wiXG4gIH0sXG4gIFwiZGV2RGVwZW5kZW5jaWVzXCI6IHtcbiAgICBcIkB0eXBlcy9hcmNoaXZlclwiOiBcIl43LjAuMFwiLFxuICAgIFwiQHR5cGVzL2NsaS1wcm9ncmVzc1wiOiBcIl4zLjExLjZcIixcbiAgICBcIkB0eXBlcy9ub2RlXCI6IFwiY2F0YWxvZzpcIixcbiAgICBcIkB0eXBlcy90YWlsXCI6IFwiXjIuMi4zXCIsXG4gICAgXCJlc2J1aWxkXCI6IFwiXjAuMjguMFwiLFxuICAgIFwiZXNsaW50XCI6IFwiY2F0YWxvZzpcIixcbiAgICBcImVzbGludC1jb25maWdcIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiZXNsaW50LWZvcm1hdHRlci11bml4XCI6IFwiY2F0YWxvZzpcIixcbiAgICBcImVzbGludC1wbHVnaW4tblwiOiBcIjE3LjIzLjFcIixcbiAgICBcImVzbGludC1wbHVnaW4tbm8tcHJvY2Vzcy1wbGF0Zm9ybVwiOiBcIndvcmtzcGFjZToqXCIsXG4gICAgXCJnbG9iYWxzXCI6IFwiY2F0YWxvZzpcIixcbiAgICBcImpzb24tc2NoZW1hLXRvLXR5cGVzY3JpcHRcIjogXCJeMTUuMC40XCIsXG4gICAgXCJvY2xpZlwiOiBcIl40LjIzLjEwXCIsXG4gICAgXCJ0eXBlc2NyaXB0XCI6IFwiY2F0YWxvZzpcIlxuICB9LFxuICBcIm9jbGlmXCI6IHtcbiAgICBcImJpblwiOiBcInJheVwiLFxuICAgIFwiY29tbWFuZHNcIjogXCIuL2Rpc3QvY29tbWFuZHNcIixcbiAgICBcImRpcm5hbWVcIjogXCJyYXlcIixcbiAgICBcInBsdWdpbnNcIjogW1xuICAgICAgXCJAb2NsaWYvcGx1Z2luLWF1dG9jb21wbGV0ZVwiLFxuICAgICAgXCJAb2NsaWYvcGx1Z2luLWhlbHBcIixcbiAgICAgIFwiQG9jbGlmL3BsdWdpbi1ub3QtZm91bmRcIlxuICAgIF1cbiAgfVxufVxuIiwgImltcG9ydCB7IEJhc2VDb21tYW5kIH0gZnJvbSBcIi4uLy4uL3V0aWxzL0Jhc2VDb21tYW5kXCI7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZGVmYXVsdC1leHBvcnRcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlcnNpb24gZXh0ZW5kcyBCYXNlQ29tbWFuZDx0eXBlb2YgVmVyc2lvbj4ge1xuICBwdWJsaWMgc3RhdGljIGRlc2NyaXB0aW9uID0gXCJQcmludCB0aGUgdmVyc2lvbiBudW1iZXJcIjtcblxuICBwdWJsaWMgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucGFyc2UoVmVyc2lvbik7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICB0aGlzLmxvZyhgJHtyZXF1aXJlKFwiLi4vLi4vLi4vcGFja2FnZS5qc29uXCIpLnZlcnNpb259YCk7XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBDb21tYW5kLCBGbGFncywgSW50ZXJmYWNlcyB9IGZyb20gXCJAb2NsaWYvY29yZVwiO1xuXG5pbXBvcnQgeyBpbml0TG9nZ2VyIH0gZnJvbSBcIi4vb3V0cHV0XCI7XG5pbXBvcnQgeyBSYXljYXN0VGFyZ2V0LCByYXljYXN0VGFyZ2V0cyB9IGZyb20gXCIuL3JheWNhc3Qtcm91dGVcIjtcblxuaW1wb3J0IHsgaW5pdENvbmZpZyB9IGZyb20gXCIuLi9jb25maWdcIjtcblxuZXhwb3J0IHR5cGUgRmxhZ3M8VCBleHRlbmRzIHR5cGVvZiBDb21tYW5kPiA9IEludGVyZmFjZXMuSW5mZXJyZWRGbGFnczxcbiAgT21pdDwodHlwZW9mIEJhc2VDb21tYW5kKVtcImJhc2VGbGFnc1wiXSwgXCJ0YXJnZXRcIj4gJiBUW1wiZmxhZ3NcIl1cbj4gJiB7IHRhcmdldD86IFJheWNhc3RUYXJnZXQgfTtcbmV4cG9ydCB0eXBlIEFyZ3M8VCBleHRlbmRzIHR5cGVvZiBDb21tYW5kPiA9IEludGVyZmFjZXMuSW5mZXJyZWRBcmdzPFRbXCJhcmdzXCJdPjtcbmV4cG9ydCB0eXBlIFByZXR0eVByaW50YWJsZUVycm9yID0ge1xuICAvKipcbiAgICogYSB1bmlxdWUgZXJyb3IgY29kZSBmb3IgdGhpcyBlcnJvciBjbGFzc1xuICAgKi9cbiAgY29kZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIG1lc3NhZ2UgdG8gZGlzcGxheSByZWxhdGVkIHRvIHRoZSBlcnJvclxuICAgKi9cbiAgbWVzc2FnZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIGEgdXJsIHRvIGZpbmQgb3V0IG1vcmUgaW5mb3JtYXRpb24gcmVsYXRlZCB0byB0aGlzIGVycm9yXG4gICAqIG9yIGZpeGluZyB0aGUgZXJyb3JcbiAgICovXG4gIHJlZj86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIGEgc3VnZ2VzdGlvbiB0aGF0IG1heSBiZSB1c2VmdWwgb3IgcHJvdmlkZSBhZGRpdGlvbmFsIGNvbnRleHRcbiAgICovXG4gIHN1Z2dlc3Rpb25zPzogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbW1hbmQ8VCBleHRlbmRzIHR5cGVvZiBDb21tYW5kPiBleHRlbmRzIENvbW1hbmQge1xuICAvLyBkZWZpbmUgZmxhZ3MgdGhhdCBjYW4gYmUgaW5oZXJpdGVkIGJ5IGFueSBjb21tYW5kIHRoYXQgZXh0ZW5kcyBCYXNlQ29tbWFuZFxuICBwdWJsaWMgc3RhdGljIGJhc2VGbGFncyA9IHtcbiAgICBcImV4aXQtb24tZXJyb3JcIjogRmxhZ3MuYm9vbGVhbih7XG4gICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgaGVscEdyb3VwOiBcIkdMT0JBTFwiLFxuICAgICAgYWxpYXNlczogW1wiZXhpdE9uRXJyb3JcIl0sXG4gICAgICBkZXByZWNhdGVBbGlhc2VzOiB0cnVlLFxuICAgICAgc3VtbWFyeTogXCJBbHdheXMgZXhpdCB3aXRoIG5vbi16ZXJvIGNvZGUgb24gZXJyb3JcIixcbiAgICAgIGFsbG93Tm86IHRydWUsXG4gICAgfSksXG4gICAgZW1vamk6IEZsYWdzLmJvb2xlYW4oe1xuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICBoZWxwR3JvdXA6IFwiR0xPQkFMXCIsXG4gICAgICBzdW1tYXJ5OiBcIlByZWZpeCBvdXRwdXQgd2l0aCBlbW9qaXMgXHVEODNDXHVERjA4XCIsXG4gICAgfSksXG4gICAgaGVscDogRmxhZ3MuYm9vbGVhbih7XG4gICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgIGhlbHBHcm91cDogXCJHTE9CQUxcIixcbiAgICAgIHN1bW1hcnk6IFwiU2hvdyB0aGUgaGVscCBtZXNzYWdlIGZvciB0aGUgY29tbWFuZFwiLFxuICAgIH0pLFxuICAgIFwibm9uLWludGVyYWN0aXZlXCI6IEZsYWdzLmJvb2xlYW4oe1xuICAgICAgY2hhcjogXCJJXCIsXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgIGhlbHBHcm91cDogXCJHTE9CQUxcIixcbiAgICAgIHN1bW1hcnk6IFwiRGlzYWJsZSBpbnRlcmFjdGl2ZSBvdXRwdXRzLCB1c2VmdWwgZm9yIENJXCIsXG4gICAgfSksXG4gICAgdGFyZ2V0OiBGbGFncy5vcHRpb24oe1xuICAgICAgY2hhcjogXCJ0XCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJSYXljYXN0IGFwcCB0YXJnZXRcIixcbiAgICAgIGhlbHBHcm91cDogXCJHTE9CQUxcIixcbiAgICAgIG11bHRpcGxlOiBmYWxzZSxcbiAgICAgIG9wdGlvbnM6IFsuLi5yYXljYXN0VGFyZ2V0c10sXG4gICAgICBoaWRkZW46IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIixcbiAgICB9KSgpLFxuICB9O1xuXG4gIHByb3RlY3RlZCBmbGFncyE6IEZsYWdzPFQ+O1xuICBwcm90ZWN0ZWQgYXJncyE6IEFyZ3M8VD47XG5cbiAgcHVibGljIGFzeW5jIGluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIuaW5pdCgpO1xuXG4gICAgcHJvY2Vzcy5vbihcIlNJR0lOVFwiLCAoKSA9PiBwcm9jZXNzLmV4aXQoMSkpO1xuXG4gICAgY29uc3QgeyBhcmdzLCBmbGFncyB9ID0gYXdhaXQgdGhpcy5wYXJzZSh7XG4gICAgICBmbGFnczogdGhpcy5jdG9yLmZsYWdzLFxuICAgICAgYmFzZUZsYWdzOiAoc3VwZXIuY3RvciBhcyB0eXBlb2YgQmFzZUNvbW1hbmQpLmJhc2VGbGFncyxcbiAgICAgIGVuYWJsZUpzb25GbGFnOiB0aGlzLmN0b3IuZW5hYmxlSnNvbkZsYWcsXG4gICAgICBhcmdzOiB0aGlzLmN0b3IuYXJncyxcbiAgICAgIHN0cmljdDogdGhpcy5jdG9yLnN0cmljdCxcbiAgICB9KTtcbiAgICB0aGlzLmZsYWdzID0gZmxhZ3MgYXMgRmxhZ3M8VD47XG4gICAgdGhpcy5hcmdzID0gYXJncyBhcyBBcmdzPFQ+O1xuICAgIGluaXRDb25maWcodGhpcy5mbGFncy50YXJnZXQpO1xuICAgIGluaXRMb2dnZXIodGhpcy5mbGFncy5lbW9qaSwgdGhpcy5mbGFnc1tcIm5vbi1pbnRlcmFjdGl2ZVwiXSk7XG4gIH1cblxuICAvLyBAdHMtZXhwZWN0LWVycm9yIHdlaXJkXG4gIHB1YmxpYyBlcnJvcihcbiAgICBpbnB1dDogRXJyb3IgfCBzdHJpbmcsXG4gICAgb3B0aW9uczoge1xuICAgICAgY29kZT86IHN0cmluZztcbiAgICAgIGV4aXQ6IGZhbHNlO1xuICAgIH0gJiBQcmV0dHlQcmludGFibGVFcnJvcixcbiAgKTogdm9pZDtcbiAgcHVibGljIGVycm9yKFxuICAgIGlucHV0OiBFcnJvciB8IHN0cmluZyxcbiAgICBvcHRpb25zPzoge1xuICAgICAgY29kZT86IHN0cmluZztcbiAgICAgIGV4aXQ/OiBudW1iZXI7XG4gICAgfSAmIFByZXR0eVByaW50YWJsZUVycm9yLFxuICApOiBuZXZlcjtcbiAgcHVibGljIGVycm9yKFxuICAgIGlucHV0OiBFcnJvciB8IHN0cmluZyxcbiAgICBvcHRpb25zPzoge1xuICAgICAgY29kZT86IHN0cmluZztcbiAgICAgIGV4aXQ/OiBudW1iZXI7XG4gICAgfSAmIFByZXR0eVByaW50YWJsZUVycm9yLFxuICApIHtcbiAgICBpZiAob3B0aW9ucz8ubWVzc2FnZSAmJiBpbnB1dCBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICBpbnB1dC5tZXNzYWdlID0gYCR7b3B0aW9ucy5tZXNzYWdlfSAoJHtpbnB1dC5tZXNzYWdlfSlgO1xuICAgICAgZGVsZXRlIG9wdGlvbnMubWVzc2FnZTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLmVycm9yKGlucHV0LCBvcHRpb25zKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBjYXRjaChlcnI6IEVycm9yICYgeyBleGl0Q29kZT86IG51bWJlciB9KTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgLy8gYWRkIGFueSBjdXN0b20gbG9naWMgdG8gaGFuZGxlIGVycm9ycyBmcm9tIHRoZSBjb21tYW5kXG4gICAgLy8gb3Igc2ltcGx5IHJldHVybiB0aGUgcGFyZW50IGNsYXNzIGVycm9yIGhhbmRsaW5nXG4gICAgcmV0dXJuIHN1cGVyLmNhdGNoKGVycik7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZmluYWxseShfOiBFcnJvciB8IHVuZGVmaW5lZCk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIC8vIGNhbGxlZCBhZnRlciBydW4gYW5kIGNhdGNoIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBvciBub3QgdGhlIGNvbW1hbmQgZXJyb3JlZFxuICAgIHJldHVybiBzdXBlci5maW5hbGx5KF8pO1xuICB9XG59XG4iLCAiaW1wb3J0IG9yYSBmcm9tIFwib3JhXCI7XG5pbXBvcnQgeyBibHVlLCBjeWFuLCBkaW0sIGdyZWVuLCBtYWdlbnRhLCByZWQsIHllbGxvdywgeWVsbG93QnJpZ2h0IH0gZnJvbSBcInlvY3RvY29sb3JzLWNqc1wiO1xuXG5jb25zdCBwcmVmaXhlcyA9IHtcbiAgd2FpdDogYFx1RDgzRFx1REQ1MCR7Ymx1ZShcIndhaXRcIil9ICAtIGAsXG4gIGluZm86IGAke3Byb2Nlc3MuZW52LkdJVEhVQl9BQ1RJT05TID09PSBcInRydWVcIiA/IFwiXHUyMTM5XHVGRTBGXCIgOiBcIlx1MjEzOVx1RkUwRiBcIn0ke2N5YW4oXCJpbmZvXCIpfSAgLSBgLFxuICBzdWNjZXNzOiBgXHUyNzA1JHtncmVlbihcInJlYWR5XCIpfSAgLSBgLFxuICB3YXJuOiBgJHtwcm9jZXNzLmVudi5HSVRIVUJfQUNUSU9OUyA9PT0gXCJ0cnVlXCIgPyBcIlx1MjZBMFx1RkUwRlwiIDogXCJcdTI2QTBcdUZFMEYgXCJ9JHt5ZWxsb3coXCJ3YXJuXCIpfSAgLSBgLFxuICBlcnJvcjogYFx1RDgzRFx1RENBNSR7cmVkKFwiZXJyb3JcIil9ICAtIGAsXG4gIGV2ZW50OiBgXHUyNkExXHVGRTBGJHttYWdlbnRhKFwiZXZlbnRcIil9ICAtIGAsXG4gIHBheW1lbnRQcm9tcHQ6IGBcdUQ4M0RcdURDQjAke3llbGxvd0JyaWdodChcInBsYW5cIil9ICAtIGAsXG59O1xubGV0IGludGVyYWN0aXZlID0gdHJ1ZTtcblxuZXhwb3J0IGNvbnN0IGludGVybmFsT25seUhpbnQgPSBibHVlKGRpbShcImludGVybmFsIG9ubHlcIikpO1xuXG5leHBvcnQgZnVuY3Rpb24gbG9nKFxuICBsZXZlbDogXCJ3YWl0XCIgfCBcImluZm9cIiB8IFwic3VjY2Vzc1wiIHwgXCJ3YXJuXCIgfCBcImVycm9yXCIgfCBcImV2ZW50XCIgfCBcInBheW1lbnRQcm9tcHRcIixcbiAgbWVzc2FnZTogc3RyaW5nLFxuICBvcHRpb25zPzogeyBleGl0PzogbnVtYmVyIH0sXG4pIHtcbiAgY29uc29sZS5sb2cocHJlZml4ZXNbbGV2ZWxdICsgbWVzc2FnZSk7XG4gIGlmICh0eXBlb2Ygb3B0aW9ucz8uZXhpdCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIHByb2Nlc3MuZXhpdChvcHRpb25zLmV4aXQpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dPYmplY3Qob2JqOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gIE9iamVjdC5lbnRyaWVzKG9iaikuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgY29uc29sZS5sb2coYCR7Ymx1ZShgLSAke2tleX06IGApfSR7dmFsdWV9YCk7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2FpdChcbiAgbWVzc2FnZTogc3RyaW5nLFxuICBmbjogKCkgPT4gUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQgfCB2b2lkPixcbiAgb3B0aW9ucz86IHsgcHJpbnRFcnJvcj86IGJvb2xlYW4gfSxcbik6IFByb21pc2U8RXJyb3IgfCB1bmRlZmluZWQ+IHtcbiAgaWYgKCFpbnRlcmFjdGl2ZSkge1xuICAgIGxvZyhcIndhaXRcIiwgbWVzc2FnZSk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgZm4oKTtcbiAgICAgIGlmIChvdXRwdXQpIHtcbiAgICAgICAgY29uc29sZS5sb2cob3V0cHV0KTtcbiAgICAgIH1cbiAgICAgIGxvZyhcInN1Y2Nlc3NcIiwgbWVzc2FnZSk7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nKFwiZXJyb3JcIiwgbWVzc2FnZSk7XG4gICAgICBpZiAob3B0aW9ucz8ucHJpbnRFcnJvciAhPT0gZmFsc2UpIHtcbiAgICAgICAgY29uc29sZS5sb2cocmVkKChlcnIgYXMgRXJyb3IpLm1lc3NhZ2UpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBlcnIgYXMgRXJyb3I7XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc3Bpbm5lciA9IG9yYSh7IHNwaW5uZXI6IFwic2ltcGxlRG90c1wiLCBwcmVmaXhUZXh0OiBwcmVmaXhlcy53YWl0ICsgbWVzc2FnZSB9KS5zdGFydCgpO1xuICB0cnkge1xuICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IGZuKCk7XG4gICAgc3Bpbm5lci5zdG9wKCk7XG4gICAgbG9nKFwic3VjY2Vzc1wiLCBtZXNzYWdlKTtcbiAgICBpZiAob3V0cHV0KSB7XG4gICAgICBjb25zb2xlLmxvZyhvdXRwdXQpO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgc3Bpbm5lci5zdG9wKCk7XG4gICAgbG9nKFwiZXJyb3JcIiwgbWVzc2FnZSk7XG4gICAgaWYgKG9wdGlvbnM/LnByaW50RXJyb3IgIT09IGZhbHNlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKChlcnIgYXMgRXJyb3IpLm1lc3NhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gZXJyIGFzIEVycm9yO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0TG9nZ2VyKHByZWZpeEVtb2ppOiBib29sZWFuLCBub25JbnRlcmFjdGl2ZTogYm9vbGVhbikge1xuICBpZiAoIXByZWZpeEVtb2ppKSB7XG4gICAgcHJlZml4ZXMud2FpdCA9IGAke2JsdWUoXCJ3YWl0XCIpfSAgLSBgO1xuICAgIHByZWZpeGVzLmluZm8gPSBgJHtjeWFuKFwiaW5mb1wiKX0gIC0gYDtcbiAgICBwcmVmaXhlcy5zdWNjZXNzID0gYCR7Z3JlZW4oXCJyZWFkeVwiKX0gIC0gYDtcbiAgICBwcmVmaXhlcy53YXJuID0gYCR7eWVsbG93KFwid2FyblwiKX0gIC0gYDtcbiAgICBwcmVmaXhlcy5lcnJvciA9IGAke3JlZChcImVycm9yXCIpfSAgLSBgO1xuICAgIHByZWZpeGVzLmV2ZW50ID0gYCR7bWFnZW50YShcImV2ZW50XCIpfSAgLSBgO1xuICAgIHByZWZpeGVzLnBheW1lbnRQcm9tcHQgPSBgJHt5ZWxsb3dCcmlnaHQoXCJwbGFuXCIpfSAgLSBgO1xuICB9XG5cbiAgaWYgKG5vbkludGVyYWN0aXZlKSB7XG4gICAgaW50ZXJhY3RpdmUgPSBmYWxzZTtcbiAgfVxufVxuIiwgImV4cG9ydCBjb25zdCBSYXljYXN0VGFyZ2V0ID0ge1xuICBkZWJ1ZzogXCJkZWJ1Z1wiLFxuICBpbnRlcm5hbDogXCJpbnRlcm5hbFwiLFxuICByZWxlYXNlOiBcInJlbGVhc2VcIixcbiAgeDogXCJ4XCIsXG4gIHhEZXZlbG9wbWVudDogXCJ4LWRldmVsb3BtZW50XCIsXG4gIHhJbnRlcm5hbDogXCJ4LWludGVybmFsXCIsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBSYXljYXN0VGFyZ2V0ID0gKHR5cGVvZiBSYXljYXN0VGFyZ2V0KVtrZXlvZiB0eXBlb2YgUmF5Y2FzdFRhcmdldF07XG5leHBvcnQgY29uc3QgcmF5Y2FzdFRhcmdldHMgPSBPYmplY3QudmFsdWVzKFJheWNhc3RUYXJnZXQpIGFzIFJheWNhc3RUYXJnZXRbXTtcbmV4cG9ydCB0eXBlIFJheWNhc3RSb3V0ZSA9IHtcbiAgYnVuZGxlSUQ6IHN0cmluZztcbiAgc2NoZW1lOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcmF5Y2FzdFJvdXRlRm9yRmxhdm9yTmFtZShmbGF2b3JOYW1lOiBzdHJpbmcpOiBSYXljYXN0Um91dGUge1xuICBpZiAoZmxhdm9yTmFtZSA9PT0gXCJ4XCIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnVuZGxlSUQ6IFwiY29tLnJheWNhc3QteC5tYWNvc1wiLFxuICAgICAgc2NoZW1lOiBwcm9jZXNzLnBsYXRmb3JtID09PSBcImRhcndpblwiID8gXCJyYXljYXN0LXhcIiA6IFwicmF5Y2FzdFwiLFxuICAgIH07XG4gIH1cblxuICBpZiAoZmxhdm9yTmFtZS5zdGFydHNXaXRoKFwieC1cIikpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnVuZGxlSUQ6IGBjb20ucmF5Y2FzdC14Lm1hY29zLiR7Zmxhdm9yTmFtZS5yZXBsYWNlKFwieC1cIiwgXCJcIil9YCxcbiAgICAgIHNjaGVtZTogYHJheWNhc3QtJHtmbGF2b3JOYW1lfWAsXG4gICAgfTtcbiAgfVxuXG4gIGlmICghZmxhdm9yTmFtZSkge1xuICAgIHJldHVybiB7XG4gICAgICBidW5kbGVJRDogXCJjb20ucmF5Y2FzdC5tYWNvc1wiLFxuICAgICAgc2NoZW1lOiBcInJheWNhc3RcIixcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBidW5kbGVJRDogYGNvbS5yYXljYXN0Lm1hY29zLiR7Zmxhdm9yTmFtZX1gLFxuICAgIHNjaGVtZTogYHJheWNhc3Qke2ZsYXZvck5hbWV9YCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJheWNhc3RSb3V0ZUZvclRhcmdldChyb3V0ZVRhcmdldDogUmF5Y2FzdFRhcmdldCk6IFJheWNhc3RSb3V0ZSB7XG4gIHJldHVybiByYXljYXN0Um91dGVGb3JGbGF2b3JOYW1lKHJheWNhc3RGbGF2b3JOYW1lRm9yVGFyZ2V0KHJvdXRlVGFyZ2V0KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByYXljYXN0Rmxhdm9yTmFtZUZvclRhcmdldCh0YXJnZXQ6IFJheWNhc3RUYXJnZXQpOiBzdHJpbmcge1xuICByZXR1cm4gdGFyZ2V0ID09PSBSYXljYXN0VGFyZ2V0LnJlbGVhc2UgPyBcIlwiIDogdGFyZ2V0O1xufVxuXG5jb25zdCBwcmVmZXJyZWRYVGFyZ2V0c0J5Q2xhc3NpY1RhcmdldDogQXJyYXk8W1JheWNhc3RUYXJnZXQsIFJheWNhc3RUYXJnZXRdPiA9IFtcbiAgW1JheWNhc3RUYXJnZXQucmVsZWFzZSwgUmF5Y2FzdFRhcmdldC54XSxcbiAgW1JheWNhc3RUYXJnZXQuaW50ZXJuYWwsIFJheWNhc3RUYXJnZXQueEludGVybmFsXSxcbiAgW1JheWNhc3RUYXJnZXQuZGVidWcsIFJheWNhc3RUYXJnZXQueERldmVsb3BtZW50XSxcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlUHJlZmVycmVkUmF5Y2FzdEZsYXZvck5hbWUoXG4gIHJlcXVlc3RlZEZsYXZvck5hbWU6IHN0cmluZyxcbiAgaXNCdW5kbGVJRFJ1bm5pbmc6IChidW5kbGVJRDogc3RyaW5nKSA9PiBib29sZWFuLFxuKTogc3RyaW5nIHtcbiAgZm9yIChjb25zdCBbY2xhc3NpY1RhcmdldCwgcHJlZmVycmVkWFRhcmdldF0gb2YgcHJlZmVycmVkWFRhcmdldHNCeUNsYXNzaWNUYXJnZXQpIHtcbiAgICBjb25zdCBjbGFzc2ljRmxhdm9yTmFtZSA9IHJheWNhc3RGbGF2b3JOYW1lRm9yVGFyZ2V0KGNsYXNzaWNUYXJnZXQpO1xuICAgIGlmIChyZXF1ZXN0ZWRGbGF2b3JOYW1lICE9PSBjbGFzc2ljRmxhdm9yTmFtZSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcHJlZmVycmVkWEZsYXZvck5hbWUgPSByYXljYXN0Rmxhdm9yTmFtZUZvclRhcmdldChwcmVmZXJyZWRYVGFyZ2V0KTtcbiAgICBpZiAoaXNCdW5kbGVJRFJ1bm5pbmcocmF5Y2FzdFJvdXRlRm9yRmxhdm9yTmFtZShwcmVmZXJyZWRYRmxhdm9yTmFtZSkuYnVuZGxlSUQpKSB7XG4gICAgICByZXR1cm4gcHJlZmVycmVkWEZsYXZvck5hbWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcXVlc3RlZEZsYXZvck5hbWU7XG4gIH1cblxuICByZXR1cm4gcmVxdWVzdGVkRmxhdm9yTmFtZTtcbn1cbiIsICJpbXBvcnQgKiBhcyBmcyBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IG9zIGZyb20gXCJub2RlOm9zXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcblxuaW1wb3J0IHsgcmVhZE1hbmlmZXN0IH0gZnJvbSBcIi4vbWFuaWZlc3RcIjtcbmltcG9ydCB7IGlzTWFjT1NBcHBSdW5uaW5nIH0gZnJvbSBcIi4vdXRpbHMvbWFjb3MtYXBwXCI7XG5pbXBvcnQge1xuICB0eXBlIFJheWNhc3RSb3V0ZSxcbiAgUmF5Y2FzdFRhcmdldCxcbiAgcmF5Y2FzdEZsYXZvck5hbWVGb3JUYXJnZXQsXG4gIHJheWNhc3RSb3V0ZUZvckZsYXZvck5hbWUsXG4gIHJlc29sdmVQcmVmZXJyZWRSYXljYXN0Rmxhdm9yTmFtZSxcbn0gZnJvbSBcIi4vdXRpbHMvcmF5Y2FzdC1yb3V0ZVwiO1xuXG5leHBvcnQgY29uc3QgQVBJX0VOViA9IHtcbiAgcHJvZHVjdGlvbjoge1xuICAgIHVybDogXCJodHRwczovL3d3dy5yYXljYXN0LmNvbVwiLFxuICAgIGNsaWVudElEOiBcIktxQWRjR2hOZkJLaVVwZmpEM25VM1ZOZ2gxdDBpTVBvWDJoWUVrTjlkNElcIixcbiAgfSxcbiAgc3RhZ2luZzoge1xuICAgIHVybDogXCJodHRwczovL3d3dy5yYXljYS5zdFwiLFxuICAgIGNsaWVudElEOiBcIktxQWRjR2hOZkJLaVVwZmpEM25VM1ZOZ2gxdDBpTVBvWDJoWUVrTjlkNElcIixcbiAgfSxcbiAgZGV2ZWxvcG1lbnQ6IHtcbiAgICB1cmw6IFwiaHR0cDovL2xvY2FsaG9zdDozMDAwXCIsXG4gICAgY2xpZW50SUQ6IFwick9DRF9MaG5YRk9iU0x1OXY3Nzg4cU9HdTI1RlpEcUV6R2pldDRRNDVaWVwiLFxuICB9LFxufVtwcm9jZXNzLmVudi5BUElfRU5WIHx8IFwicHJvZHVjdGlvblwiXSBhcyB7IHVybDogc3RyaW5nOyBjbGllbnRJRDogc3RyaW5nIH07XG5cbmNvbnN0IGRlZmF1bHRHaXRodWJDbGllbnRJZCA9IFwiZTY5YmFlMGVjOTBmNWU4Mzg1NTVcIjtcblxubGV0IGNvbmZpZzoge1xuICBBUElVUkw/OiBzdHJpbmc7XG4gIFRva2VuPzogc3RyaW5nO1xuICAvLyBkZXByZWNhdGVkXG4gIEFjY2Vzc1Rva2VuPzogc3RyaW5nO1xuICBDbGllbnRJRD86IHN0cmluZztcbiAgR2l0aHViQWNjZXNzVG9rZW4/OiBzdHJpbmc7XG4gIEdpdGh1YkNsaWVudElEPzogc3RyaW5nO1xuICBUYXJnZXQ/OiBzdHJpbmc7XG59ID0ge307XG5sZXQgdGFyZ2V0OiBSYXljYXN0VGFyZ2V0IHwgdW5kZWZpbmVkO1xubGV0IHByZWZlcnJlZEZsYXZvck5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IGZ1bmN0aW9uIGV4dGVuc2lvbkJ1aWxkRGlyZWN0b3J5KCk6IHN0cmluZyB7XG4gIGNvbnN0IG1hbmlmZXN0ID0gcmVhZE1hbmlmZXN0KCk7XG5cbiAgaWYgKCFtYW5pZmVzdC5uYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiZXh0ZW5zaW9uIG5hbWUgaW4gbWFuaWZlc3QgY2Fubm90IGJlIGVtcHR5XCIpO1xuICB9XG4gIHJldHVybiBwYXRoLmpvaW4ocmF5Y2FzdEV4dGVuc2lvbkRpcmVjdG9yeSgpLCBcImV4dGVuc2lvbnNcIiwgbWFuaWZlc3QubmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByYXljYXN0QnVuZGxlSUQoKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJheWNhc3RSb3V0ZSgpLmJ1bmRsZUlEO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmF5Y2FzdEFwcFNjaGVtZSgpOiBzdHJpbmcge1xuICByZXR1cm4gcmF5Y2FzdFJvdXRlKCkuc2NoZW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdENvbmZpZyhfdGFyZ2V0OiBSYXljYXN0VGFyZ2V0IHwgdW5kZWZpbmVkKSB7XG4gIHRhcmdldCA9IF90YXJnZXQ7XG4gIHRyeSB7XG4gICAgY29uZmlnID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHJheWNhc3RDb25maWdEaXJlY3RvcnkoKSwgXCJjb25maWcuanNvblwiKSwgXCJ1dGY4XCIpKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBpZiAoIShlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB8fCAoZXJyb3IgYXMgTm9kZUpTLkVycm5vRXhjZXB0aW9uKS5jb2RlICE9PSBcIkVOT0VOVFwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byByZWFkIGNvbmZpZyBmaWxlOiAke2Vycm9yfWApO1xuICAgIH1cbiAgfVxuICBwcmVmZXJyZWRGbGF2b3JOYW1lID0gcmVzb2x2ZVByZWZlcnJlZEZsYXZvck5hbWUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZWZlcnJlZFJheWNhc3RSb3V0ZSgpOiBSYXljYXN0Um91dGUge1xuICByZXR1cm4gcmF5Y2FzdFJvdXRlRm9yRmxhdm9yTmFtZShwcmVmZXJyZWRSYXljYXN0Rmxhdm9yTmFtZSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmZpZyhcbiAgZmllbGQ6XG4gICAgfCBcInJheWNhc3RBcGlVUkxcIlxuICAgIHwgXCJyYXljYXN0QWNjZXNzVG9rZW5cIlxuICAgIHwgXCJyYXljYXN0Q2xpZW50SWRcIlxuICAgIHwgXCJnaXRodWJDbGllbnRJZFwiXG4gICAgfCBcImdpdGh1YkFjY2Vzc1Rva2VuXCJcbiAgICB8IFwiZmxhdm9yTmFtZVwiLFxuKTogc3RyaW5nIHtcbiAgc3dpdGNoIChmaWVsZCkge1xuICAgIGNhc2UgXCJyYXljYXN0QXBpVVJMXCI6XG4gICAgICByZXR1cm4gcHJvY2Vzcy5lbnYuUkFZX0FQSVVSTCB8fCBjb25maWcuQVBJVVJMIHx8IEFQSV9FTlYudXJsO1xuICAgIGNhc2UgXCJyYXljYXN0QWNjZXNzVG9rZW5cIjpcbiAgICAgIHJldHVybiBwcm9jZXNzLmVudi5SQVlfVE9LRU4gfHwgY29uZmlnLlRva2VuIHx8IGNvbmZpZy5BY2Nlc3NUb2tlbiB8fCBcIlwiO1xuICAgIGNhc2UgXCJyYXljYXN0Q2xpZW50SWRcIjpcbiAgICAgIHJldHVybiBwcm9jZXNzLmVudi5SQVlfQ0xJRU5UX0lEIHx8IGNvbmZpZy5DbGllbnRJRCB8fCBBUElfRU5WLmNsaWVudElEO1xuICAgIGNhc2UgXCJnaXRodWJDbGllbnRJZFwiOlxuICAgICAgcmV0dXJuIHByb2Nlc3MuZW52LlJBWV9HaXRodWJDbGllbnRJRCB8fCBjb25maWcuR2l0aHViQ2xpZW50SUQgfHwgZGVmYXVsdEdpdGh1YkNsaWVudElkO1xuICAgIGNhc2UgXCJnaXRodWJBY2Nlc3NUb2tlblwiOlxuICAgICAgcmV0dXJuIHByb2Nlc3MuZW52LkdJVEhVQl9BQ0NFU1NfVE9LRU4gfHwgY29uZmlnLkdpdGh1YkFjY2Vzc1Rva2VuIHx8IFwiXCI7XG4gICAgY2FzZSBcImZsYXZvck5hbWVcIjpcbiAgICAgIGlmIChwcm9jZXNzLmVudi5SQVlfVGFyZ2V0KSB7XG4gICAgICAgIHJldHVybiBwcm9jZXNzLmVudi5SQVlfVGFyZ2V0O1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBjb25maWcuVGFyZ2V0ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIHJldHVybiBjb25maWcuVGFyZ2V0O1xuICAgICAgfVxuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICByZXR1cm4gcmF5Y2FzdEZsYXZvck5hbWUocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJ3aW4zMlwiID8gUmF5Y2FzdFRhcmdldC54IDogUmF5Y2FzdFRhcmdldC5yZWxlYXNlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByYXljYXN0Rmxhdm9yTmFtZShwcm9jZXNzLnBsYXRmb3JtID09PSBcIndpbjMyXCIgPyBSYXljYXN0VGFyZ2V0LnhEZXZlbG9wbWVudCA6IFJheWNhc3RUYXJnZXQuZGVidWcpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRDb25maWcoXG4gIGZpZWxkOlxuICAgIHwgXCJyYXljYXN0QXBpVVJMXCJcbiAgICB8IFwicmF5Y2FzdEFjY2Vzc1Rva2VuXCJcbiAgICB8IFwicmF5Y2FzdENsaWVudElkXCJcbiAgICB8IFwiZ2l0aHViQ2xpZW50SWRcIlxuICAgIHwgXCJnaXRodWJBY2Nlc3NUb2tlblwiXG4gICAgfCBcImZsYXZvck5hbWVcIixcbiAgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbikge1xuICBzd2l0Y2ggKGZpZWxkKSB7XG4gICAgY2FzZSBcInJheWNhc3RBcGlVUkxcIjpcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSBjb25maWcuQVBJVVJMO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uZmlnLkFQSVVSTCA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcInJheWNhc3RBY2Nlc3NUb2tlblwiOlxuICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGVsZXRlIGNvbmZpZy5Ub2tlbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbmZpZy5Ub2tlbiA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgZGVsZXRlIGNvbmZpZy5BY2Nlc3NUb2tlbjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJyYXljYXN0Q2xpZW50SWRcIjpcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSBjb25maWcuQ2xpZW50SUQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25maWcuQ2xpZW50SUQgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJnaXRodWJBY2Nlc3NUb2tlblwiOlxuICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGVsZXRlIGNvbmZpZy5HaXRodWJBY2Nlc3NUb2tlbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbmZpZy5HaXRodWJBY2Nlc3NUb2tlbiA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcImZsYXZvck5hbWVcIjpcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSBjb25maWcuVGFyZ2V0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uZmlnLlRhcmdldCA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gIH1cbiAgY29uc3QgZGlyZWN0b3J5TmFtZSA9IHJheWNhc3RDb25maWdEaXJlY3RvcnkoKTtcbiAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oZGlyZWN0b3J5TmFtZSwgXCJjb25maWcuanNvblwiKSwgSlNPTi5zdHJpbmdpZnkoY29uZmlnLCBudWxsLCBcIiAgXCIpLCBcInV0ZjhcIik7XG59XG5cbmZ1bmN0aW9uIHJheWNhc3RGbGF2b3JOYW1lKHRhcmdldDogUmF5Y2FzdFRhcmdldCB8IHVuZGVmaW5lZCkge1xuICBpZiAodHlwZW9mIHRhcmdldCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIHJldHVybiByYXljYXN0Rmxhdm9yTmFtZUZvclRhcmdldCh0YXJnZXQpO1xuICB9XG5cbiAgcmV0dXJuIGdldENvbmZpZyhcImZsYXZvck5hbWVcIik7XG59XG5cbmZ1bmN0aW9uIHByZWZlcnJlZFJheWNhc3RGbGF2b3JOYW1lKCkge1xuICByZXR1cm4gcHJlZmVycmVkRmxhdm9yTmFtZSA/PyByZXNvbHZlUHJlZmVycmVkRmxhdm9yTmFtZSgpO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlUHJlZmVycmVkRmxhdm9yTmFtZSgpIHtcbiAgY29uc3QgZmxhdm9yTmFtZSA9IHJheWNhc3RGbGF2b3JOYW1lKHRhcmdldCk7XG4gIGlmIChwcm9jZXNzLnBsYXRmb3JtICE9PSBcImRhcndpblwiKSB7XG4gICAgcmV0dXJuIGZsYXZvck5hbWU7XG4gIH1cblxuICByZXR1cm4gcmVzb2x2ZVByZWZlcnJlZFJheWNhc3RGbGF2b3JOYW1lKGZsYXZvck5hbWUsIGlzTWFjT1NBcHBSdW5uaW5nKTtcbn1cblxuZnVuY3Rpb24gcmF5Y2FzdFJvdXRlKCk6IHsgYnVuZGxlSUQ6IHN0cmluZzsgc2NoZW1lOiBzdHJpbmcgfSB7XG4gIHJldHVybiByYXljYXN0Um91dGVGb3JGbGF2b3JOYW1lKHJheWNhc3RGbGF2b3JOYW1lKHRhcmdldCkpO1xufVxuXG5mdW5jdGlvbiByYXljYXN0RGlyZWN0b3J5TmFtZUZvckZsYXZvck5hbWUoZmxhdm9yTmFtZTogc3RyaW5nKSB7XG4gIGlmIChmbGF2b3JOYW1lID09IFwiXCIpIHtcbiAgICByZXR1cm4gXCJyYXljYXN0XCI7XG4gIH1cbiAgcmV0dXJuIGByYXljYXN0LSR7Zmxhdm9yTmFtZX1gO1xufVxuXG5mdW5jdGlvbiBjb25maWdEaXJlY3RvcnlGb3JGbGF2b3JOYW1lKGZsYXZvck5hbWU6IHN0cmluZykge1xuICBjb25zdCBjb25maWdQYXRoID0gcGF0aC5qb2luKG9zLmhvbWVkaXIoKSwgXCIuY29uZmlnXCIsIHJheWNhc3REaXJlY3RvcnlOYW1lRm9yRmxhdm9yTmFtZShmbGF2b3JOYW1lKSk7XG4gIGZzLm1rZGlyU3luYyhjb25maWdQYXRoLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgcmV0dXJuIGNvbmZpZ1BhdGg7XG59XG5cbmZ1bmN0aW9uIHJheWNhc3RFeHRlbnNpb25EaXJlY3RvcnkoKSB7XG4gIHJldHVybiBjb25maWdEaXJlY3RvcnlGb3JGbGF2b3JOYW1lKHByZWZlcnJlZFJheWNhc3RGbGF2b3JOYW1lKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmF5Y2FzdENvbmZpZ0RpcmVjdG9yeSgpIHtcbiAgcmV0dXJuIGNvbmZpZ0RpcmVjdG9yeUZvckZsYXZvck5hbWUocmF5Y2FzdEZsYXZvck5hbWUodGFyZ2V0KSk7XG59XG4iLCAiaW1wb3J0IHsgZXhlY0ZpbGVTeW5jIH0gZnJvbSBcIm5vZGU6Y2hpbGRfcHJvY2Vzc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNNYWNPU0FwcFJ1bm5pbmcoYnVuZGxlSUQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIGNvbnN0IG91dHB1dCA9IGV4ZWNGaWxlU3luYyhcIi91c3IvYmluL2xzYXBwaW5mb1wiLCBbXCJmaW5kXCIsIGBidW5kbGVpZD0ke2J1bmRsZUlEfWBdLCB7XG4gICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICBzdGRpbzogW1wiaWdub3JlXCIsIFwicGlwZVwiLCBcImlnbm9yZVwiXSxcbiAgICB9KTtcbiAgICByZXR1cm4gb3V0cHV0LnRyaW0oKS5sZW5ndGggPiAwO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUEscUdBQUFBLFVBQUFDLFNBQUE7QUFBQSxRQUFNLE1BQU0sUUFBUSxVQUFVO0FBSzlCLFFBQU0sWUFBWSxLQUFLLGFBQWEsV0FBVyxZQUFZLEtBQUs7QUFFaEUsUUFBTSxTQUFTLENBQUMsTUFBTSxVQUFVO0FBQy9CLFVBQUksQ0FBQyxXQUFXO0FBQ2YsZUFBTyxXQUFTO0FBQUEsTUFDakI7QUFFQSxZQUFNLFdBQVcsUUFBVSxJQUFJO0FBQy9CLFlBQU0sWUFBWSxRQUFVLEtB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QUFBQSxNQUNYLFNBQVM7QUFBQSxJQUNYLENBQUM7QUFBQSxJQUNELFFBQVEsa0JBQU0sT0FBTztBQUFBLE1BQ25CLE1BQU07QUFBQSxNQUNOLGFBQWE7QUFBQSxNQUNiLFdBQVc7QUFBQSxNQUNYLFVBQVU7QUFBQSxNQUNWLFNBQVMsQ0FBQyxHQUFHLGNBQWM7QUFBQSxNQUMzQixRQUFRO0FBQUEsSUFDVixDQUFDLEVBQUU7QUFBQSxFQUNMO0FBQUEsRUFFVTtBQUFBLEVBQ0E7QUFBQSxFQUVWLE1BQWEsT0FBc0I7QUFDakMsVUFBTSxNQUFNLEtBQUs7QUFFakIsWUFBUSxHQUFHLFVBQVUsTUFBTSxRQUFRLEtBQUssQ0FBQyxDQUFDO0FBRTFDLFVBQU0sRUFBRSxNQUFNLE1BQU0sSUFBSSxNQUFNLEtBQUssTUFBTTtBQUFBLE1BQ3ZDLE9BQU8sS0FBSyxLQUFLO0FBQUEsTUFDakIsV0FBWSxNQUFNLEtBQTRCO0FBQUEsTUFDOUMsZ0JBQWdCLEtBQUssS0FBSztBQUFBLE1BQzFCLE1BQU0sS0FBSyxLQUFLO0FBQUEsTUFDaEIsUUFBUSxLQUFLLEtBQUs7QUFBQSxJQUNwQixDQUFDO0FBQ0QsU0FBSyxRQUFRO0FBQ2IsU0FBSyxPQUFPO0FBQ1osZUFBVyxLQUFLLE1BQU0sTUFBTTtBQUM1QixlQUFXLEtBQUssTUFBTSxPQUFPLEtBQUssTUFBTSxpQkFBaUIsQ0FBQztBQUFBLEVBQzVEO0FBQUEsRUFpQk8sTUFDTCxPQUNBLFNBSUE7QUFDQSxRQUFJLFNBQVMsV0FBVyxpQkFBaUIsT0FBTztBQUM5QyxZQUFNLFVBQVUsR0FBRyxRQUFRLE9BQU8sS0FBSyxNQUFNLE9BQU87QUFDcEQsYUFBTyxRQUFRO0FBQUEsSUFDakI7QUFDQSxXQUFPLE1BQU0sTUFBTSxPQUFPLE9BQU87QUFBQSxFQUNuQztBQUFBLEVBRUEsTUFBZ0IsTUFBTSxLQUFzRDtBQUcxRSxXQUFPLE1BQU0sTUFBTSxHQUFHO0FBQUEsRUFDeEI7QUFBQSxFQUVBLE1BQWdCLFFBQVEsR0FBd0M7QUFFOUQsV0FBTyxNQUFNLFFBQVEsQ0FBQztBQUFBLEVBQ3hCO0FBQ0Y7OztBRDdIQSxJQUFxQixVQUFyQixNQUFxQixpQkFBZ0IsWUFBNEI7QUFBQSxFQUMvRCxPQUFjLGNBQWM7QUFBQSxFQUU1QixNQUFhLE1BQXFCO0FBQ2hDLFVBQU0sS0FBSyxNQUFNLFFBQU87QUFFeEIsU0FBSyxJQUFJLEdBQUcsa0JBQWlDLE9BQU8sRUFBRTtBQUFBLEVBQ3hEO0FBQ0Y7IiwKICAibmFtZXMiOiBbImV4cG9ydHMiLCAibW9kdWxlIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInRhcmdldCIsICJ0YXJnZXQiLCAib3MiXQp9Cg==
|
|
467
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL3lvY3RvY29sb3JzLWNqc0AyLjEuMy9ub2RlX21vZHVsZXMveW9jdG9jb2xvcnMtY2pzL2luZGV4LmpzIiwgIi4uLy4uLy4uL3BhY2thZ2UuanNvbiIsICIuLi8uLi8uLi9zcmMvY29tbWFuZHMvdmVyc2lvbi9pbmRleC50cyIsICIuLi8uLi8uLi9zcmMvdXRpbHMvQmFzZUNvbW1hbmQudHMiLCAiLi4vLi4vLi4vc3JjL3V0aWxzL291dHB1dC50cyIsICIuLi8uLi8uLi9zcmMvdXRpbHMvcmF5Y2FzdC1yb3V0ZS50cyIsICIuLi8uLi8uLi9zcmMvY29uZmlnLnRzIiwgIi4uLy4uLy4uL3NyYy91dGlscy9tYWNvcy1hcHAudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IHR0eSA9IHJlcXVpcmUoJ25vZGU6dHR5Jyk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgdW5pY29ybi9wcmVmZXItbW9kdWxlXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby13YXJuaW5nLWNvbW1lbnRzXG4vLyBUT0RPOiBVc2UgYSBiZXR0ZXIgbWV0aG9kIHdoZW4gaXQncyBhZGRlZCB0byBOb2RlLmpzIChodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGUvcHVsbC80MDI0MClcbi8vIExvdHMgb2Ygb3B0aW9uYWxzIGhlcmUgdG8gc3VwcG9ydCBEZW5vLlxuY29uc3QgaGFzQ29sb3JzID0gdHR5Py5Xcml0ZVN0cmVhbT8ucHJvdG90eXBlPy5oYXNDb2xvcnM/LigpID8/IGZhbHNlO1xuXG5jb25zdCBmb3JtYXQgPSAob3BlbiwgY2xvc2UpID0+IHtcblx0aWYgKCFoYXNDb2xvcnMpIHtcblx0XHRyZXR1cm4gaW5wdXQgPT4gaW5wdXQ7XG5cdH1cblxuXHRjb25zdCBvcGVuQ29kZSA9IGBcXHUwMDFCWyR7b3Blbn1tYDtcblx0Y29uc3QgY2xvc2VDb2RlID0gYFxcdTAwMUJbJHtjbG9zZX1tYDtcblxuXHRyZXR1cm4gaW5wdXQgPT4ge1xuXHRcdGNvbnN0IHN0cmluZyA9IGlucHV0ICsgJyc7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8taW1wbGljaXQtY29lcmNpb24gLS0gVGhpcyBpcyBmYXN0ZXIuXG5cdFx0bGV0IGluZGV4ID0gc3RyaW5nLmluZGV4T2YoY2xvc2VDb2RlKTtcblxuXHRcdGlmIChpbmRleCA9PT0gLTEpIHtcblx0XHRcdC8vIE5vdGU6IEludGVudGlvbmFsbHkgbm90IHVzaW5nIHN0cmluZyBpbnRlcnBvbGF0aW9uIGZvciBwZXJmb3JtYW5jZSByZWFzb25zLlxuXHRcdFx0cmV0dXJuIG9wZW5Db2RlICsgc3RyaW5nICsgY2xvc2VDb2RlO1xuXHRcdH1cblxuXHRcdC8vIEhhbmRsZSBuZXN0ZWQgY29sb3JzLlxuXG5cdFx0Ly8gV2UgY291bGQgaGF2ZSBkb25lIHRoaXMsIGJ1dCBpdCdzIHRvbyBzbG93IChhcyBvZiBOb2RlLmpzIDIyKS5cblx0XHQvLyByZXR1cm4gb3BlbkNvZGUgKyBzdHJpbmcucmVwbGFjZUFsbChjbG9zZUNvZGUsIG9wZW5Db2RlKSArIGNsb3NlQ29kZTtcblxuXHRcdGxldCByZXN1bHQgPSBvcGVuQ29kZTtcblx0XHRsZXQgbGFzdEluZGV4ID0gMDtcblxuXHRcdC8vIFNHUiAyMiByZXNldHMgYm90aCBib2xkICgxKSBhbmQgZGltICgyKS4gV2hlbiB3ZSBlbmNvdW50ZXIgYSBuZXN0ZWRcblx0XHQvLyBjbG9zZSBmb3Igc3R5bGVzIHRoYXQgdXNlIDIyLCB3ZSBuZWVkIHRvIHJlLW9wZW4gdGhlIG91dGVyIHN0eWxlLlxuXHRcdGNvbnN0IHJlb3Blbk9uTmVzdGVkQ2xvc2UgPSBjbG9zZSA9PT0gMjI7XG5cdFx0Y29uc3QgcmVwbGFjZUNvZGUgPSAocmVvcGVuT25OZXN0ZWRDbG9zZSA/IGNsb3NlQ29kZSA6ICcnKSArIG9wZW5Db2RlO1xuXG5cdFx0d2hpbGUgKGluZGV4ICE9PSAtMSkge1xuXHRcdFx0cmVzdWx0ICs9IHN0cmluZy5zbGljZShsYXN0SW5kZXgsIGluZGV4KSArIHJlcGxhY2VDb2RlO1xuXHRcdFx0bGFzdEluZGV4ID0gaW5kZXggKyBjbG9zZUNvZGUubGVuZ3RoO1xuXHRcdFx0aW5kZXggPSBzdHJpbmcuaW5kZXhPZihjbG9zZUNvZGUsIGxhc3RJbmRleCk7XG5cdFx0fVxuXG5cdFx0cmVzdWx0ICs9IHN0cmluZy5zbGljZShsYXN0SW5kZXgpICsgY2xvc2VDb2RlO1xuXG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fTtcbn07XG5cbmNvbnN0IGNvbG9ycyA9IHt9O1xuXG5jb2xvcnMucmVzZXQgPSBmb3JtYXQoMCwgMCk7XG5jb2xvcnMuYm9sZCA9IGZvcm1hdCgxLCAyMik7XG5jb2xvcnMuZGltID0gZm9ybWF0KDIsIDIyKTtcbmNvbG9ycy5pdGFsaWMgPSBmb3JtYXQoMywgMjMpO1xuY29sb3JzLnVuZGVybGluZSA9IGZvcm1hdCg0LCAyNCk7XG5jb2xvcnMub3ZlcmxpbmUgPSBmb3JtYXQoNTMsIDU1KTtcbmNvbG9ycy5pbnZlcnNlID0gZm9ybWF0KDcsIDI3KTtcbmNvbG9ycy5oaWRkZW4gPSBmb3JtYXQoOCwgMjgpO1xuY29sb3JzLnN0cmlrZXRocm91Z2ggPSBmb3JtYXQoOSwgMjkpO1xuXG5jb2xvcnMuYmxhY2sgPSBmb3JtYXQoMzAsIDM5KTtcbmNvbG9ycy5yZWQgPSBmb3JtYXQoMzEsIDM5KTtcbmNvbG9ycy5ncmVlbiA9IGZvcm1hdCgzMiwgMzkpO1xuY29sb3JzLnllbGxvdyA9IGZvcm1hdCgzMywgMzkpO1xuY29sb3JzLmJsdWUgPSBmb3JtYXQoMzQsIDM5KTtcbmNvbG9ycy5tYWdlbnRhID0gZm9ybWF0KDM1LCAzOSk7XG5jb2xvcnMuY3lhbiA9IGZvcm1hdCgzNiwgMzkpO1xuY29sb3JzLndoaXRlID0gZm9ybWF0KDM3LCAzOSk7XG5jb2xvcnMuZ3JheSA9IGZvcm1hdCg5MCwgMzkpO1xuXG5jb2xvcnMuYmdCbGFjayA9IGZvcm1hdCg0MCwgNDkpO1xuY29sb3JzLmJnUmVkID0gZm9ybWF0KDQxLCA0OSk7XG5jb2xvcnMuYmdHcmVlbiA9IGZvcm1hdCg0MiwgNDkpO1xuY29sb3JzLmJnWWVsbG93ID0gZm9ybWF0KDQzLCA0OSk7XG5jb2xvcnMuYmdCbHVlID0gZm9ybWF0KDQ0LCA0OSk7XG5jb2xvcnMuYmdNYWdlbnRhID0gZm9ybWF0KDQ1LCA0OSk7XG5jb2xvcnMuYmdDeWFuID0gZm9ybWF0KDQ2LCA0OSk7XG5jb2xvcnMuYmdXaGl0ZSA9IGZvcm1hdCg0NywgNDkpO1xuY29sb3JzLmJnR3JheSA9IGZvcm1hdCgxMDAsIDQ5KTtcblxuY29sb3JzLnJlZEJyaWdodCA9IGZvcm1hdCg5MSwgMzkpO1xuY29sb3JzLmdyZWVuQnJpZ2h0ID0gZm9ybWF0KDkyLCAzOSk7XG5jb2xvcnMueWVsbG93QnJpZ2h0ID0gZm9ybWF0KDkzLCAzOSk7XG5jb2xvcnMuYmx1ZUJyaWdodCA9IGZvcm1hdCg5NCwgMzkpO1xuY29sb3JzLm1hZ2VudGFCcmlnaHQgPSBmb3JtYXQoOTUsIDM5KTtcbmNvbG9ycy5jeWFuQnJpZ2h0ID0gZm9ybWF0KDk2LCAzOSk7XG5jb2xvcnMud2hpdGVCcmlnaHQgPSBmb3JtYXQoOTcsIDM5KTtcblxuY29sb3JzLmJnUmVkQnJpZ2h0ID0gZm9ybWF0KDEwMSwgNDkpO1xuY29sb3JzLmJnR3JlZW5CcmlnaHQgPSBmb3JtYXQoMTAyLCA0OSk7XG5jb2xvcnMuYmdZZWxsb3dCcmlnaHQgPSBmb3JtYXQoMTAzLCA0OSk7XG5jb2xvcnMuYmdCbHVlQnJpZ2h0ID0gZm9ybWF0KDEwNCwgNDkpO1xuY29sb3JzLmJnTWFnZW50YUJyaWdodCA9IGZvcm1hdCgxMDUsIDQ5KTtcbmNvbG9ycy5iZ0N5YW5CcmlnaHQgPSBmb3JtYXQoMTA2LCA0OSk7XG5jb2xvcnMuYmdXaGl0ZUJyaWdodCA9IGZvcm1hdCgxMDcsIDQ5KTtcblxubW9kdWxlLmV4cG9ydHMgPSBjb2xvcnM7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgdW5pY29ybi9wcmVmZXItbW9kdWxlXG4iLCAie1xuICBcIm5hbWVcIjogXCJyYXlcIixcbiAgXCJ2ZXJzaW9uXCI6IFwiMC42Ny4xXCIsXG4gIFwicHJpdmF0ZVwiOiB0cnVlLFxuICBcImRlc2NyaXB0aW9uXCI6IFwiQnVpbGQgZXh0ZW5zaW9ucyBmb3IgUmF5Y2FzdCB3aXRoIFJlYWN0IGFuZCBOb2RlLmpzLlwiLFxuICBcImxpY2Vuc2VcIjogXCJNSVRcIixcbiAgXCJhdXRob3JcIjogXCJtYXRoaWV1ZHV0b3VyXCIsXG4gIFwiYmluXCI6IHtcbiAgICBcInJheVwiOiBcIi4vYmluL3J1bi5qc1wiXG4gIH0sXG4gIFwiZmlsZXNcIjogW1xuICAgIFwiL2JpblwiLFxuICAgIFwiL2Rpc3RcIixcbiAgICBcIi9vY2xpZi5tYW5pZmVzdC5qc29uXCJcbiAgXSxcbiAgXCJtYWluXCI6IFwiZGlzdC9pbmRleC5qc1wiLFxuICBcInR5cGVzXCI6IFwiZGlzdC9pbmRleC5kLnRzXCIsXG4gIFwic2NyaXB0c1wiOiB7XG4gICAgXCJqc29uLXNjaGVtYS10by10c1wiOiBcImpzb24ydHMgLi4vLi4vc2NoZW1hLmpzb24gLXkgPiBzcmMvdHlwZXMvbWFuaWZlc3Qtc2NoZW1hLmQudHNcIixcbiAgICBcImJ1aWxkLXNjcmlwdHNcIjogXCJ0c2MgLS1vdXREaXIgLi9zY3JpcHRzL2Rpc3QgLS1wcm9qZWN0IC4vdHNjb25maWcuc2NyaXB0cy5qc29uXCIsXG4gICAgXCJwcmVidWlsZFwiOiBcInBucG0ganNvbi1zY2hlbWEtdG8tdHMgJiYgcG5wbSBydW4gYnVpbGQtc2NyaXB0c1wiLFxuICAgIFwiYnVpbGRcIjogXCJub2RlIC4vc2NyaXB0cy9kaXN0L2J1aWxkLWNvbW1hbmQuanNcIixcbiAgICBcInByZWRldlwiOiBcInBucG0gcnVuIGpzb24tc2NoZW1hLXRvLXRzICYmIHBucG0gcnVuIGJ1aWxkLXNjcmlwdHNcIixcbiAgICBcImRldlwiOiBcIm5vZGUgLi9zY3JpcHRzL2Rpc3QvZGV2LWNvbW1hbmQuanNcIixcbiAgICBcImxpbnRcIjogXCJlc2xpbnQgLiAtLWV4dCAudHNcIixcbiAgICBcInRlc3RcIjogXCJub2RlIC0tZXhwZXJpbWVudGFsLXN0cmlwLXR5cGVzIC0tdGVzdFwiXG4gIH0sXG4gIFwiZGVwZW5kZW5jaWVzXCI6IHtcbiAgICBcIkBvY2xpZi9jb3JlXCI6IFwiXjQuMTEuNFwiLFxuICAgIFwiQG9jbGlmL3BsdWdpbi1hdXRvY29tcGxldGVcIjogXCJeMy4yLjUwXCIsXG4gICAgXCJAb2NsaWYvcGx1Z2luLWhlbHBcIjogXCJeNi4yLjUwXCIsXG4gICAgXCJAb2NsaWYvcGx1Z2luLW5vdC1mb3VuZFwiOiBcIl4zLjIuODdcIixcbiAgICBcIkByYXljYXN0L2VzbGludC1wbHVnaW5cIjogXCJeMi4xLjFcIixcbiAgICBcImFqdlwiOiBcIl44LjIwLjBcIixcbiAgICBcImFyY2hpdmVyXCI6IFwiXjcuMC4xXCIsXG4gICAgXCJjYW1lbGNhc2VcIjogXCJeOC4wLjBcIixcbiAgICBcImNoYWxrXCI6IFwiXjUuNi4yXCIsXG4gICAgXCJjaG9raWRhclwiOiBcIl40LjAuM1wiLFxuICAgIFwiY2xpLXByb2dyZXNzXCI6IFwiXjMuMTIuMFwiLFxuICAgIFwiY2xpcGJvYXJkeVwiOiBcIl4yLjMuMFwiLFxuICAgIFwiZXhlY2FcIjogXCJeOS42LjFcIixcbiAgICBcImpzb24tc291cmNlLW1hcFwiOiBcIl4wLjYuMVwiLFxuICAgIFwianNvbjVcIjogXCJeMi4yLjNcIixcbiAgICBcIm5vZGUtZmV0Y2gtY2pzXCI6IFwiXjMuMy4yXCIsXG4gICAgXCJvcGVuXCI6IFwiXjguNC4yXCIsXG4gICAgXCJvcmFcIjogXCJeOC4yLjBcIixcbiAgICBcInRhaWxcIjogXCJeMi4yLjZcIixcbiAgICBcInRlcm1pbmFsLWxpbmtcIjogXCJeMy4wLjBcIixcbiAgICBcInlhbWxcIjogXCJeMi44LjJcIixcbiAgICBcInlvY3RvY29sb3JzLWNqc1wiOiBcIl4yLjEuM1wiXG4gIH0sXG4gIFwiZGV2RGVwZW5kZW5jaWVzXCI6IHtcbiAgICBcIkB0eXBlcy9hcmNoaXZlclwiOiBcIl43LjAuMFwiLFxuICAgIFwiQHR5cGVzL2NsaS1wcm9ncmVzc1wiOiBcIl4zLjExLjZcIixcbiAgICBcIkB0eXBlcy9ub2RlXCI6IFwiY2F0YWxvZzpcIixcbiAgICBcIkB0eXBlcy90YWlsXCI6IFwiXjIuMi4zXCIsXG4gICAgXCJlc2J1aWxkXCI6IFwiXjAuMjguMFwiLFxuICAgIFwiZXNsaW50XCI6IFwiY2F0YWxvZzpcIixcbiAgICBcImVzbGludC1jb25maWdcIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiZXNsaW50LWZvcm1hdHRlci11bml4XCI6IFwiY2F0YWxvZzpcIixcbiAgICBcImVzbGludC1wbHVnaW4tblwiOiBcIjE3LjIzLjFcIixcbiAgICBcImVzbGludC1wbHVnaW4tbm8tcHJvY2Vzcy1wbGF0Zm9ybVwiOiBcIndvcmtzcGFjZToqXCIsXG4gICAgXCJnbG9iYWxzXCI6IFwiY2F0YWxvZzpcIixcbiAgICBcImpzb24tc2NoZW1hLXRvLXR5cGVzY3JpcHRcIjogXCJeMTUuMC40XCIsXG4gICAgXCJvY2xpZlwiOiBcIl40LjIzLjEwXCIsXG4gICAgXCJ0eXBlc2NyaXB0XCI6IFwiY2F0YWxvZzpcIlxuICB9LFxuICBcIm9jbGlmXCI6IHtcbiAgICBcImJpblwiOiBcInJheVwiLFxuICAgIFwiY29tbWFuZHNcIjogXCIuL2Rpc3QvY29tbWFuZHNcIixcbiAgICBcImRpcm5hbWVcIjogXCJyYXlcIixcbiAgICBcInBsdWdpbnNcIjogW1xuICAgICAgXCJAb2NsaWYvcGx1Z2luLWF1dG9jb21wbGV0ZVwiLFxuICAgICAgXCJAb2NsaWYvcGx1Z2luLWhlbHBcIixcbiAgICAgIFwiQG9jbGlmL3BsdWdpbi1ub3QtZm91bmRcIlxuICAgIF1cbiAgfVxufVxuIiwgImltcG9ydCB7IEJhc2VDb21tYW5kIH0gZnJvbSBcIi4uLy4uL3V0aWxzL0Jhc2VDb21tYW5kXCI7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZGVmYXVsdC1leHBvcnRcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlcnNpb24gZXh0ZW5kcyBCYXNlQ29tbWFuZDx0eXBlb2YgVmVyc2lvbj4ge1xuICBwdWJsaWMgc3RhdGljIGRlc2NyaXB0aW9uID0gXCJQcmludCB0aGUgdmVyc2lvbiBudW1iZXJcIjtcblxuICBwdWJsaWMgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucGFyc2UoVmVyc2lvbik7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICB0aGlzLmxvZyhgJHtyZXF1aXJlKFwiLi4vLi4vLi4vcGFja2FnZS5qc29uXCIpLnZlcnNpb259YCk7XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBDb21tYW5kLCBGbGFncywgSW50ZXJmYWNlcyB9IGZyb20gXCJAb2NsaWYvY29yZVwiO1xuXG5pbXBvcnQgeyBpbml0TG9nZ2VyIH0gZnJvbSBcIi4vb3V0cHV0XCI7XG5pbXBvcnQgeyBSYXljYXN0VGFyZ2V0LCByYXljYXN0VGFyZ2V0cyB9IGZyb20gXCIuL3JheWNhc3Qtcm91dGVcIjtcblxuaW1wb3J0IHsgaW5pdENvbmZpZyB9IGZyb20gXCIuLi9jb25maWdcIjtcblxuZXhwb3J0IHR5cGUgRmxhZ3M8VCBleHRlbmRzIHR5cGVvZiBDb21tYW5kPiA9IEludGVyZmFjZXMuSW5mZXJyZWRGbGFnczxcbiAgT21pdDwodHlwZW9mIEJhc2VDb21tYW5kKVtcImJhc2VGbGFnc1wiXSwgXCJ0YXJnZXRcIj4gJiBUW1wiZmxhZ3NcIl1cbj4gJiB7IHRhcmdldD86IFJheWNhc3RUYXJnZXQgfTtcbmV4cG9ydCB0eXBlIEFyZ3M8VCBleHRlbmRzIHR5cGVvZiBDb21tYW5kPiA9IEludGVyZmFjZXMuSW5mZXJyZWRBcmdzPFRbXCJhcmdzXCJdPjtcbmV4cG9ydCB0eXBlIFByZXR0eVByaW50YWJsZUVycm9yID0ge1xuICAvKipcbiAgICogYSB1bmlxdWUgZXJyb3IgY29kZSBmb3IgdGhpcyBlcnJvciBjbGFzc1xuICAgKi9cbiAgY29kZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIG1lc3NhZ2UgdG8gZGlzcGxheSByZWxhdGVkIHRvIHRoZSBlcnJvclxuICAgKi9cbiAgbWVzc2FnZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIGEgdXJsIHRvIGZpbmQgb3V0IG1vcmUgaW5mb3JtYXRpb24gcmVsYXRlZCB0byB0aGlzIGVycm9yXG4gICAqIG9yIGZpeGluZyB0aGUgZXJyb3JcbiAgICovXG4gIHJlZj86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIGEgc3VnZ2VzdGlvbiB0aGF0IG1heSBiZSB1c2VmdWwgb3IgcHJvdmlkZSBhZGRpdGlvbmFsIGNvbnRleHRcbiAgICovXG4gIHN1Z2dlc3Rpb25zPzogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbW1hbmQ8VCBleHRlbmRzIHR5cGVvZiBDb21tYW5kPiBleHRlbmRzIENvbW1hbmQge1xuICAvLyBkZWZpbmUgZmxhZ3MgdGhhdCBjYW4gYmUgaW5oZXJpdGVkIGJ5IGFueSBjb21tYW5kIHRoYXQgZXh0ZW5kcyBCYXNlQ29tbWFuZFxuICBwdWJsaWMgc3RhdGljIGJhc2VGbGFncyA9IHtcbiAgICBcImV4aXQtb24tZXJyb3JcIjogRmxhZ3MuYm9vbGVhbih7XG4gICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgaGVscEdyb3VwOiBcIkdMT0JBTFwiLFxuICAgICAgYWxpYXNlczogW1wiZXhpdE9uRXJyb3JcIl0sXG4gICAgICBkZXByZWNhdGVBbGlhc2VzOiB0cnVlLFxuICAgICAgc3VtbWFyeTogXCJBbHdheXMgZXhpdCB3aXRoIG5vbi16ZXJvIGNvZGUgb24gZXJyb3JcIixcbiAgICAgIGFsbG93Tm86IHRydWUsXG4gICAgfSksXG4gICAgZW1vamk6IEZsYWdzLmJvb2xlYW4oe1xuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICBoZWxwR3JvdXA6IFwiR0xPQkFMXCIsXG4gICAgICBzdW1tYXJ5OiBcIlByZWZpeCBvdXRwdXQgd2l0aCBlbW9qaXMgXHVEODNDXHVERjA4XCIsXG4gICAgfSksXG4gICAgaGVscDogRmxhZ3MuYm9vbGVhbih7XG4gICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgIGhlbHBHcm91cDogXCJHTE9CQUxcIixcbiAgICAgIHN1bW1hcnk6IFwiU2hvdyB0aGUgaGVscCBtZXNzYWdlIGZvciB0aGUgY29tbWFuZFwiLFxuICAgIH0pLFxuICAgIFwibm9uLWludGVyYWN0aXZlXCI6IEZsYWdzLmJvb2xlYW4oe1xuICAgICAgY2hhcjogXCJJXCIsXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgIGhlbHBHcm91cDogXCJHTE9CQUxcIixcbiAgICAgIHN1bW1hcnk6IFwiRGlzYWJsZSBpbnRlcmFjdGl2ZSBvdXRwdXRzLCB1c2VmdWwgZm9yIENJXCIsXG4gICAgfSksXG4gICAgdGFyZ2V0OiBGbGFncy5vcHRpb24oe1xuICAgICAgY2hhcjogXCJ0XCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJSYXljYXN0IGFwcCB0YXJnZXRcIixcbiAgICAgIGhlbHBHcm91cDogXCJHTE9CQUxcIixcbiAgICAgIG11bHRpcGxlOiBmYWxzZSxcbiAgICAgIG9wdGlvbnM6IFsuLi5yYXljYXN0VGFyZ2V0c10sXG4gICAgICBoaWRkZW46IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIixcbiAgICB9KSgpLFxuICB9O1xuXG4gIHByb3RlY3RlZCBmbGFncyE6IEZsYWdzPFQ+O1xuICBwcm90ZWN0ZWQgYXJncyE6IEFyZ3M8VD47XG5cbiAgcHVibGljIGFzeW5jIGluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIuaW5pdCgpO1xuXG4gICAgcHJvY2Vzcy5vbihcIlNJR0lOVFwiLCAoKSA9PiBwcm9jZXNzLmV4aXQoMSkpO1xuXG4gICAgY29uc3QgeyBhcmdzLCBmbGFncyB9ID0gYXdhaXQgdGhpcy5wYXJzZSh7XG4gICAgICBmbGFnczogdGhpcy5jdG9yLmZsYWdzLFxuICAgICAgYmFzZUZsYWdzOiAoc3VwZXIuY3RvciBhcyB0eXBlb2YgQmFzZUNvbW1hbmQpLmJhc2VGbGFncyxcbiAgICAgIGVuYWJsZUpzb25GbGFnOiB0aGlzLmN0b3IuZW5hYmxlSnNvbkZsYWcsXG4gICAgICBhcmdzOiB0aGlzLmN0b3IuYXJncyxcbiAgICAgIHN0cmljdDogdGhpcy5jdG9yLnN0cmljdCxcbiAgICB9KTtcbiAgICB0aGlzLmZsYWdzID0gZmxhZ3MgYXMgRmxhZ3M8VD47XG4gICAgdGhpcy5hcmdzID0gYXJncyBhcyBBcmdzPFQ+O1xuICAgIGluaXRDb25maWcodGhpcy5mbGFncy50YXJnZXQpO1xuICAgIGluaXRMb2dnZXIodGhpcy5mbGFncy5lbW9qaSwgdGhpcy5mbGFnc1tcIm5vbi1pbnRlcmFjdGl2ZVwiXSk7XG4gIH1cblxuICAvLyBAdHMtZXhwZWN0LWVycm9yIHdlaXJkXG4gIHB1YmxpYyBlcnJvcihcbiAgICBpbnB1dDogRXJyb3IgfCBzdHJpbmcsXG4gICAgb3B0aW9uczoge1xuICAgICAgY29kZT86IHN0cmluZztcbiAgICAgIGV4aXQ6IGZhbHNlO1xuICAgIH0gJiBQcmV0dHlQcmludGFibGVFcnJvcixcbiAgKTogdm9pZDtcbiAgcHVibGljIGVycm9yKFxuICAgIGlucHV0OiBFcnJvciB8IHN0cmluZyxcbiAgICBvcHRpb25zPzoge1xuICAgICAgY29kZT86IHN0cmluZztcbiAgICAgIGV4aXQ/OiBudW1iZXI7XG4gICAgfSAmIFByZXR0eVByaW50YWJsZUVycm9yLFxuICApOiBuZXZlcjtcbiAgcHVibGljIGVycm9yKFxuICAgIGlucHV0OiBFcnJvciB8IHN0cmluZyxcbiAgICBvcHRpb25zPzoge1xuICAgICAgY29kZT86IHN0cmluZztcbiAgICAgIGV4aXQ/OiBudW1iZXI7XG4gICAgfSAmIFByZXR0eVByaW50YWJsZUVycm9yLFxuICApIHtcbiAgICBpZiAob3B0aW9ucz8ubWVzc2FnZSAmJiBpbnB1dCBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICBpbnB1dC5tZXNzYWdlID0gYCR7b3B0aW9ucy5tZXNzYWdlfSAoJHtpbnB1dC5tZXNzYWdlfSlgO1xuICAgICAgZGVsZXRlIG9wdGlvbnMubWVzc2FnZTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLmVycm9yKGlucHV0LCBvcHRpb25zKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBjYXRjaChlcnI6IEVycm9yICYgeyBleGl0Q29kZT86IG51bWJlciB9KTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgLy8gYWRkIGFueSBjdXN0b20gbG9naWMgdG8gaGFuZGxlIGVycm9ycyBmcm9tIHRoZSBjb21tYW5kXG4gICAgLy8gb3Igc2ltcGx5IHJldHVybiB0aGUgcGFyZW50IGNsYXNzIGVycm9yIGhhbmRsaW5nXG4gICAgcmV0dXJuIHN1cGVyLmNhdGNoKGVycik7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZmluYWxseShfOiBFcnJvciB8IHVuZGVmaW5lZCk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIC8vIGNhbGxlZCBhZnRlciBydW4gYW5kIGNhdGNoIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBvciBub3QgdGhlIGNvbW1hbmQgZXJyb3JlZFxuICAgIHJldHVybiBzdXBlci5maW5hbGx5KF8pO1xuICB9XG59XG4iLCAiaW1wb3J0IG9yYSBmcm9tIFwib3JhXCI7XG5pbXBvcnQgeyBibHVlLCBjeWFuLCBkaW0sIGdyZWVuLCBtYWdlbnRhLCByZWQsIHllbGxvdywgeWVsbG93QnJpZ2h0IH0gZnJvbSBcInlvY3RvY29sb3JzLWNqc1wiO1xuXG5jb25zdCBwcmVmaXhlcyA9IHtcbiAgd2FpdDogYFx1RDgzRFx1REQ1MCR7Ymx1ZShcIndhaXRcIil9ICAtIGAsXG4gIGluZm86IGAke3Byb2Nlc3MuZW52LkdJVEhVQl9BQ1RJT05TID09PSBcInRydWVcIiA/IFwiXHUyMTM5XHVGRTBGXCIgOiBcIlx1MjEzOVx1RkUwRiBcIn0ke2N5YW4oXCJpbmZvXCIpfSAgLSBgLFxuICBzdWNjZXNzOiBgXHUyNzA1JHtncmVlbihcInJlYWR5XCIpfSAgLSBgLFxuICB3YXJuOiBgJHtwcm9jZXNzLmVudi5HSVRIVUJfQUNUSU9OUyA9PT0gXCJ0cnVlXCIgPyBcIlx1MjZBMFx1RkUwRlwiIDogXCJcdTI2QTBcdUZFMEYgXCJ9JHt5ZWxsb3coXCJ3YXJuXCIpfSAgLSBgLFxuICBlcnJvcjogYFx1RDgzRFx1RENBNSR7cmVkKFwiZXJyb3JcIil9ICAtIGAsXG4gIGV2ZW50OiBgXHUyNkExXHVGRTBGJHttYWdlbnRhKFwiZXZlbnRcIil9ICAtIGAsXG4gIHBheW1lbnRQcm9tcHQ6IGBcdUQ4M0RcdURDQjAke3llbGxvd0JyaWdodChcInBsYW5cIil9ICAtIGAsXG59O1xubGV0IGludGVyYWN0aXZlID0gdHJ1ZTtcblxuZXhwb3J0IGNvbnN0IGludGVybmFsT25seUhpbnQgPSBibHVlKGRpbShcImludGVybmFsIG9ubHlcIikpO1xuXG5leHBvcnQgZnVuY3Rpb24gbG9nKFxuICBsZXZlbDogXCJ3YWl0XCIgfCBcImluZm9cIiB8IFwic3VjY2Vzc1wiIHwgXCJ3YXJuXCIgfCBcImVycm9yXCIgfCBcImV2ZW50XCIgfCBcInBheW1lbnRQcm9tcHRcIixcbiAgbWVzc2FnZTogc3RyaW5nLFxuICBvcHRpb25zPzogeyBleGl0PzogbnVtYmVyIH0sXG4pIHtcbiAgY29uc29sZS5sb2cocHJlZml4ZXNbbGV2ZWxdICsgbWVzc2FnZSk7XG4gIGlmICh0eXBlb2Ygb3B0aW9ucz8uZXhpdCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIHByb2Nlc3MuZXhpdChvcHRpb25zLmV4aXQpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dPYmplY3Qob2JqOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gIE9iamVjdC5lbnRyaWVzKG9iaikuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgY29uc29sZS5sb2coYCR7Ymx1ZShgLSAke2tleX06IGApfSR7dmFsdWV9YCk7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2FpdChcbiAgbWVzc2FnZTogc3RyaW5nLFxuICBmbjogKCkgPT4gUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQgfCB2b2lkPixcbiAgb3B0aW9ucz86IHsgcHJpbnRFcnJvcj86IGJvb2xlYW4gfSxcbik6IFByb21pc2U8RXJyb3IgfCB1bmRlZmluZWQ+IHtcbiAgaWYgKCFpbnRlcmFjdGl2ZSkge1xuICAgIGxvZyhcIndhaXRcIiwgbWVzc2FnZSk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgZm4oKTtcbiAgICAgIGlmIChvdXRwdXQpIHtcbiAgICAgICAgY29uc29sZS5sb2cob3V0cHV0KTtcbiAgICAgIH1cbiAgICAgIGxvZyhcInN1Y2Nlc3NcIiwgbWVzc2FnZSk7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nKFwiZXJyb3JcIiwgbWVzc2FnZSk7XG4gICAgICBpZiAob3B0aW9ucz8ucHJpbnRFcnJvciAhPT0gZmFsc2UpIHtcbiAgICAgICAgY29uc29sZS5sb2cocmVkKChlcnIgYXMgRXJyb3IpLm1lc3NhZ2UpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBlcnIgYXMgRXJyb3I7XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc3Bpbm5lciA9IG9yYSh7IHNwaW5uZXI6IFwic2ltcGxlRG90c1wiLCBwcmVmaXhUZXh0OiBwcmVmaXhlcy53YWl0ICsgbWVzc2FnZSB9KS5zdGFydCgpO1xuICB0cnkge1xuICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IGZuKCk7XG4gICAgc3Bpbm5lci5zdG9wKCk7XG4gICAgbG9nKFwic3VjY2Vzc1wiLCBtZXNzYWdlKTtcbiAgICBpZiAob3V0cHV0KSB7XG4gICAgICBjb25zb2xlLmxvZyhvdXRwdXQpO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgc3Bpbm5lci5zdG9wKCk7XG4gICAgbG9nKFwiZXJyb3JcIiwgbWVzc2FnZSk7XG4gICAgaWYgKG9wdGlvbnM/LnByaW50RXJyb3IgIT09IGZhbHNlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKChlcnIgYXMgRXJyb3IpLm1lc3NhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gZXJyIGFzIEVycm9yO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0TG9nZ2VyKHByZWZpeEVtb2ppOiBib29sZWFuLCBub25JbnRlcmFjdGl2ZTogYm9vbGVhbikge1xuICBpZiAoIXByZWZpeEVtb2ppKSB7XG4gICAgcHJlZml4ZXMud2FpdCA9IGAke2JsdWUoXCJ3YWl0XCIpfSAgLSBgO1xuICAgIHByZWZpeGVzLmluZm8gPSBgJHtjeWFuKFwiaW5mb1wiKX0gIC0gYDtcbiAgICBwcmVmaXhlcy5zdWNjZXNzID0gYCR7Z3JlZW4oXCJyZWFkeVwiKX0gIC0gYDtcbiAgICBwcmVmaXhlcy53YXJuID0gYCR7eWVsbG93KFwid2FyblwiKX0gIC0gYDtcbiAgICBwcmVmaXhlcy5lcnJvciA9IGAke3JlZChcImVycm9yXCIpfSAgLSBgO1xuICAgIHByZWZpeGVzLmV2ZW50ID0gYCR7bWFnZW50YShcImV2ZW50XCIpfSAgLSBgO1xuICAgIHByZWZpeGVzLnBheW1lbnRQcm9tcHQgPSBgJHt5ZWxsb3dCcmlnaHQoXCJwbGFuXCIpfSAgLSBgO1xuICB9XG5cbiAgaWYgKG5vbkludGVyYWN0aXZlKSB7XG4gICAgaW50ZXJhY3RpdmUgPSBmYWxzZTtcbiAgfVxufVxuIiwgImV4cG9ydCBjb25zdCBSYXljYXN0VGFyZ2V0ID0ge1xuICBkZWJ1ZzogXCJkZWJ1Z1wiLFxuICBpbnRlcm5hbDogXCJpbnRlcm5hbFwiLFxuICByZWxlYXNlOiBcInJlbGVhc2VcIixcbiAgeDogXCJ4XCIsXG4gIHhEZXZlbG9wbWVudDogXCJ4LWRldmVsb3BtZW50XCIsXG4gIHhJbnRlcm5hbDogXCJ4LWludGVybmFsXCIsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBSYXljYXN0VGFyZ2V0ID0gKHR5cGVvZiBSYXljYXN0VGFyZ2V0KVtrZXlvZiB0eXBlb2YgUmF5Y2FzdFRhcmdldF07XG5leHBvcnQgY29uc3QgcmF5Y2FzdFRhcmdldHMgPSBPYmplY3QudmFsdWVzKFJheWNhc3RUYXJnZXQpIGFzIFJheWNhc3RUYXJnZXRbXTtcbmV4cG9ydCB0eXBlIFJheWNhc3RSb3V0ZSA9IHtcbiAgYnVuZGxlSUQ6IHN0cmluZztcbiAgc2NoZW1lOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcmF5Y2FzdFJvdXRlRm9yRmxhdm9yTmFtZShmbGF2b3JOYW1lOiBzdHJpbmcpOiBSYXljYXN0Um91dGUge1xuICBpZiAoZmxhdm9yTmFtZSA9PT0gXCJ4XCIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnVuZGxlSUQ6IFwiY29tLnJheWNhc3QteC5tYWNvc1wiLFxuICAgICAgc2NoZW1lOiBwcm9jZXNzLnBsYXRmb3JtID09PSBcImRhcndpblwiID8gXCJyYXljYXN0LXhcIiA6IFwicmF5Y2FzdFwiLFxuICAgIH07XG4gIH1cblxuICBpZiAoZmxhdm9yTmFtZS5zdGFydHNXaXRoKFwieC1cIikpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnVuZGxlSUQ6IGBjb20ucmF5Y2FzdC14Lm1hY29zLiR7Zmxhdm9yTmFtZS5yZXBsYWNlKFwieC1cIiwgXCJcIil9YCxcbiAgICAgIHNjaGVtZTogYHJheWNhc3QtJHtmbGF2b3JOYW1lfWAsXG4gICAgfTtcbiAgfVxuXG4gIGlmICghZmxhdm9yTmFtZSkge1xuICAgIHJldHVybiB7XG4gICAgICBidW5kbGVJRDogXCJjb20ucmF5Y2FzdC5tYWNvc1wiLFxuICAgICAgc2NoZW1lOiBcInJheWNhc3RcIixcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBidW5kbGVJRDogYGNvbS5yYXljYXN0Lm1hY29zLiR7Zmxhdm9yTmFtZX1gLFxuICAgIHNjaGVtZTogYHJheWNhc3Qke2ZsYXZvck5hbWV9YCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJheWNhc3RSb3V0ZUZvclRhcmdldChyb3V0ZVRhcmdldDogUmF5Y2FzdFRhcmdldCk6IFJheWNhc3RSb3V0ZSB7XG4gIHJldHVybiByYXljYXN0Um91dGVGb3JGbGF2b3JOYW1lKHJheWNhc3RGbGF2b3JOYW1lRm9yVGFyZ2V0KHJvdXRlVGFyZ2V0KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByYXljYXN0Rmxhdm9yTmFtZUZvclRhcmdldCh0YXJnZXQ6IFJheWNhc3RUYXJnZXQpOiBzdHJpbmcge1xuICByZXR1cm4gdGFyZ2V0ID09PSBSYXljYXN0VGFyZ2V0LnJlbGVhc2UgPyBcIlwiIDogdGFyZ2V0O1xufVxuXG5jb25zdCBwcmVmZXJyZWRYVGFyZ2V0c0J5Q2xhc3NpY1RhcmdldDogQXJyYXk8W1JheWNhc3RUYXJnZXQsIFJheWNhc3RUYXJnZXRdPiA9IFtcbiAgW1JheWNhc3RUYXJnZXQucmVsZWFzZSwgUmF5Y2FzdFRhcmdldC54XSxcbiAgW1JheWNhc3RUYXJnZXQuaW50ZXJuYWwsIFJheWNhc3RUYXJnZXQueEludGVybmFsXSxcbiAgW1JheWNhc3RUYXJnZXQuZGVidWcsIFJheWNhc3RUYXJnZXQueERldmVsb3BtZW50XSxcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlUHJlZmVycmVkUmF5Y2FzdEZsYXZvck5hbWUoXG4gIHJlcXVlc3RlZEZsYXZvck5hbWU6IHN0cmluZyxcbiAgaXNCdW5kbGVJRFJ1bm5pbmc6IChidW5kbGVJRDogc3RyaW5nKSA9PiBib29sZWFuLFxuKTogc3RyaW5nIHtcbiAgZm9yIChjb25zdCBbY2xhc3NpY1RhcmdldCwgcHJlZmVycmVkWFRhcmdldF0gb2YgcHJlZmVycmVkWFRhcmdldHNCeUNsYXNzaWNUYXJnZXQpIHtcbiAgICBjb25zdCBjbGFzc2ljRmxhdm9yTmFtZSA9IHJheWNhc3RGbGF2b3JOYW1lRm9yVGFyZ2V0KGNsYXNzaWNUYXJnZXQpO1xuICAgIGlmIChyZXF1ZXN0ZWRGbGF2b3JOYW1lICE9PSBjbGFzc2ljRmxhdm9yTmFtZSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcHJlZmVycmVkWEZsYXZvck5hbWUgPSByYXljYXN0Rmxhdm9yTmFtZUZvclRhcmdldChwcmVmZXJyZWRYVGFyZ2V0KTtcbiAgICBpZiAoaXNCdW5kbGVJRFJ1bm5pbmcocmF5Y2FzdFJvdXRlRm9yRmxhdm9yTmFtZShwcmVmZXJyZWRYRmxhdm9yTmFtZSkuYnVuZGxlSUQpKSB7XG4gICAgICByZXR1cm4gcHJlZmVycmVkWEZsYXZvck5hbWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcXVlc3RlZEZsYXZvck5hbWU7XG4gIH1cblxuICByZXR1cm4gcmVxdWVzdGVkRmxhdm9yTmFtZTtcbn1cbiIsICJpbXBvcnQgKiBhcyBmcyBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IG9zIGZyb20gXCJub2RlOm9zXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcblxuaW1wb3J0IHsgcmVhZE1hbmlmZXN0IH0gZnJvbSBcIi4vbWFuaWZlc3RcIjtcbmltcG9ydCB7IGlzTWFjT1NBcHBSdW5uaW5nIH0gZnJvbSBcIi4vdXRpbHMvbWFjb3MtYXBwXCI7XG5pbXBvcnQge1xuICB0eXBlIFJheWNhc3RSb3V0ZSxcbiAgUmF5Y2FzdFRhcmdldCxcbiAgcmF5Y2FzdEZsYXZvck5hbWVGb3JUYXJnZXQsXG4gIHJheWNhc3RSb3V0ZUZvckZsYXZvck5hbWUsXG4gIHJlc29sdmVQcmVmZXJyZWRSYXljYXN0Rmxhdm9yTmFtZSxcbn0gZnJvbSBcIi4vdXRpbHMvcmF5Y2FzdC1yb3V0ZVwiO1xuXG5leHBvcnQgY29uc3QgQVBJX0VOViA9IHtcbiAgcHJvZHVjdGlvbjoge1xuICAgIHVybDogXCJodHRwczovL3d3dy5yYXljYXN0LmNvbVwiLFxuICAgIGNsaWVudElEOiBcIktxQWRjR2hOZkJLaVVwZmpEM25VM1ZOZ2gxdDBpTVBvWDJoWUVrTjlkNElcIixcbiAgfSxcbiAgc3RhZ2luZzoge1xuICAgIHVybDogXCJodHRwczovL3d3dy5yYXljYS5zdFwiLFxuICAgIGNsaWVudElEOiBcIktxQWRjR2hOZkJLaVVwZmpEM25VM1ZOZ2gxdDBpTVBvWDJoWUVrTjlkNElcIixcbiAgfSxcbiAgZGV2ZWxvcG1lbnQ6IHtcbiAgICB1cmw6IFwiaHR0cDovL2xvY2FsaG9zdDozMDAwXCIsXG4gICAgY2xpZW50SUQ6IFwick9DRF9MaG5YRk9iU0x1OXY3Nzg4cU9HdTI1RlpEcUV6R2pldDRRNDVaWVwiLFxuICB9LFxufVtwcm9jZXNzLmVudi5BUElfRU5WIHx8IFwicHJvZHVjdGlvblwiXSBhcyB7IHVybDogc3RyaW5nOyBjbGllbnRJRDogc3RyaW5nIH07XG5cbmNvbnN0IGRlZmF1bHRHaXRodWJDbGllbnRJZCA9IFwiZTY5YmFlMGVjOTBmNWU4Mzg1NTVcIjtcblxubGV0IGNvbmZpZzoge1xuICBBUElVUkw/OiBzdHJpbmc7XG4gIFRva2VuPzogc3RyaW5nO1xuICAvLyBkZXByZWNhdGVkXG4gIEFjY2Vzc1Rva2VuPzogc3RyaW5nO1xuICBDbGllbnRJRD86IHN0cmluZztcbiAgR2l0aHViQWNjZXNzVG9rZW4/OiBzdHJpbmc7XG4gIEdpdGh1YkNsaWVudElEPzogc3RyaW5nO1xuICBUYXJnZXQ/OiBzdHJpbmc7XG59ID0ge307XG5sZXQgdGFyZ2V0OiBSYXljYXN0VGFyZ2V0IHwgdW5kZWZpbmVkO1xubGV0IHByZWZlcnJlZEZsYXZvck5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IGZ1bmN0aW9uIGV4dGVuc2lvbkJ1aWxkRGlyZWN0b3J5KCk6IHN0cmluZyB7XG4gIGNvbnN0IG1hbmlmZXN0ID0gcmVhZE1hbmlmZXN0KCk7XG5cbiAgaWYgKCFtYW5pZmVzdC5uYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiZXh0ZW5zaW9uIG5hbWUgaW4gbWFuaWZlc3QgY2Fubm90IGJlIGVtcHR5XCIpO1xuICB9XG4gIHJldHVybiBwYXRoLmpvaW4ocmF5Y2FzdEV4dGVuc2lvbkRpcmVjdG9yeSgpLCBcImV4dGVuc2lvbnNcIiwgbWFuaWZlc3QubmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByYXljYXN0QnVuZGxlSUQoKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJheWNhc3RSb3V0ZSgpLmJ1bmRsZUlEO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmF5Y2FzdEFwcFNjaGVtZSgpOiBzdHJpbmcge1xuICByZXR1cm4gcmF5Y2FzdFJvdXRlKCkuc2NoZW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdENvbmZpZyhfdGFyZ2V0OiBSYXljYXN0VGFyZ2V0IHwgdW5kZWZpbmVkKSB7XG4gIHRhcmdldCA9IF90YXJnZXQ7XG4gIHRyeSB7XG4gICAgY29uZmlnID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHJheWNhc3RDb25maWdEaXJlY3RvcnkoKSwgXCJjb25maWcuanNvblwiKSwgXCJ1dGY4XCIpKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBpZiAoIShlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB8fCAoZXJyb3IgYXMgTm9kZUpTLkVycm5vRXhjZXB0aW9uKS5jb2RlICE9PSBcIkVOT0VOVFwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byByZWFkIGNvbmZpZyBmaWxlOiAke2Vycm9yfWApO1xuICAgIH1cbiAgfVxuICBwcmVmZXJyZWRGbGF2b3JOYW1lID0gcmVzb2x2ZVByZWZlcnJlZEZsYXZvck5hbWUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZWZlcnJlZFJheWNhc3RSb3V0ZSgpOiBSYXljYXN0Um91dGUge1xuICByZXR1cm4gcmF5Y2FzdFJvdXRlRm9yRmxhdm9yTmFtZShwcmVmZXJyZWRSYXljYXN0Rmxhdm9yTmFtZSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmZpZyhcbiAgZmllbGQ6XG4gICAgfCBcInJheWNhc3RBcGlVUkxcIlxuICAgIHwgXCJyYXljYXN0QWNjZXNzVG9rZW5cIlxuICAgIHwgXCJyYXljYXN0Q2xpZW50SWRcIlxuICAgIHwgXCJnaXRodWJDbGllbnRJZFwiXG4gICAgfCBcImdpdGh1YkFjY2Vzc1Rva2VuXCJcbiAgICB8IFwiZmxhdm9yTmFtZVwiLFxuKTogc3RyaW5nIHtcbiAgc3dpdGNoIChmaWVsZCkge1xuICAgIGNhc2UgXCJyYXljYXN0QXBpVVJMXCI6XG4gICAgICByZXR1cm4gcHJvY2Vzcy5lbnYuUkFZX0FQSVVSTCB8fCBjb25maWcuQVBJVVJMIHx8IEFQSV9FTlYudXJsO1xuICAgIGNhc2UgXCJyYXljYXN0QWNjZXNzVG9rZW5cIjpcbiAgICAgIHJldHVybiBwcm9jZXNzLmVudi5SQVlfVE9LRU4gfHwgY29uZmlnLlRva2VuIHx8IGNvbmZpZy5BY2Nlc3NUb2tlbiB8fCBcIlwiO1xuICAgIGNhc2UgXCJyYXljYXN0Q2xpZW50SWRcIjpcbiAgICAgIHJldHVybiBwcm9jZXNzLmVudi5SQVlfQ0xJRU5UX0lEIHx8IGNvbmZpZy5DbGllbnRJRCB8fCBBUElfRU5WLmNsaWVudElEO1xuICAgIGNhc2UgXCJnaXRodWJDbGllbnRJZFwiOlxuICAgICAgcmV0dXJuIHByb2Nlc3MuZW52LlJBWV9HaXRodWJDbGllbnRJRCB8fCBjb25maWcuR2l0aHViQ2xpZW50SUQgfHwgZGVmYXVsdEdpdGh1YkNsaWVudElkO1xuICAgIGNhc2UgXCJnaXRodWJBY2Nlc3NUb2tlblwiOlxuICAgICAgcmV0dXJuIHByb2Nlc3MuZW52LkdJVEhVQl9BQ0NFU1NfVE9LRU4gfHwgY29uZmlnLkdpdGh1YkFjY2Vzc1Rva2VuIHx8IFwiXCI7XG4gICAgY2FzZSBcImZsYXZvck5hbWVcIjpcbiAgICAgIGlmIChwcm9jZXNzLmVudi5SQVlfVGFyZ2V0KSB7XG4gICAgICAgIHJldHVybiBwcm9jZXNzLmVudi5SQVlfVGFyZ2V0O1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBjb25maWcuVGFyZ2V0ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIHJldHVybiBjb25maWcuVGFyZ2V0O1xuICAgICAgfVxuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICByZXR1cm4gcmF5Y2FzdEZsYXZvck5hbWUocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJ3aW4zMlwiID8gUmF5Y2FzdFRhcmdldC54IDogUmF5Y2FzdFRhcmdldC5yZWxlYXNlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByYXljYXN0Rmxhdm9yTmFtZShwcm9jZXNzLnBsYXRmb3JtID09PSBcIndpbjMyXCIgPyBSYXljYXN0VGFyZ2V0LnhEZXZlbG9wbWVudCA6IFJheWNhc3RUYXJnZXQuZGVidWcpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRDb25maWcoXG4gIGZpZWxkOlxuICAgIHwgXCJyYXljYXN0QXBpVVJMXCJcbiAgICB8IFwicmF5Y2FzdEFjY2Vzc1Rva2VuXCJcbiAgICB8IFwicmF5Y2FzdENsaWVudElkXCJcbiAgICB8IFwiZ2l0aHViQ2xpZW50SWRcIlxuICAgIHwgXCJnaXRodWJBY2Nlc3NUb2tlblwiXG4gICAgfCBcImZsYXZvck5hbWVcIixcbiAgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbikge1xuICBzd2l0Y2ggKGZpZWxkKSB7XG4gICAgY2FzZSBcInJheWNhc3RBcGlVUkxcIjpcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSBjb25maWcuQVBJVVJMO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uZmlnLkFQSVVSTCA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcInJheWNhc3RBY2Nlc3NUb2tlblwiOlxuICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGVsZXRlIGNvbmZpZy5Ub2tlbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbmZpZy5Ub2tlbiA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgZGVsZXRlIGNvbmZpZy5BY2Nlc3NUb2tlbjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJyYXljYXN0Q2xpZW50SWRcIjpcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSBjb25maWcuQ2xpZW50SUQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25maWcuQ2xpZW50SUQgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJnaXRodWJBY2Nlc3NUb2tlblwiOlxuICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGVsZXRlIGNvbmZpZy5HaXRodWJBY2Nlc3NUb2tlbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbmZpZy5HaXRodWJBY2Nlc3NUb2tlbiA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcImZsYXZvck5hbWVcIjpcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSBjb25maWcuVGFyZ2V0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uZmlnLlRhcmdldCA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gIH1cbiAgY29uc3QgZGlyZWN0b3J5TmFtZSA9IHJheWNhc3RDb25maWdEaXJlY3RvcnkoKTtcbiAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oZGlyZWN0b3J5TmFtZSwgXCJjb25maWcuanNvblwiKSwgSlNPTi5zdHJpbmdpZnkoY29uZmlnLCBudWxsLCBcIiAgXCIpLCBcInV0ZjhcIik7XG59XG5cbmZ1bmN0aW9uIHJheWNhc3RGbGF2b3JOYW1lKHRhcmdldDogUmF5Y2FzdFRhcmdldCB8IHVuZGVmaW5lZCkge1xuICBpZiAodHlwZW9mIHRhcmdldCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIHJldHVybiByYXljYXN0Rmxhdm9yTmFtZUZvclRhcmdldCh0YXJnZXQpO1xuICB9XG5cbiAgcmV0dXJuIGdldENvbmZpZyhcImZsYXZvck5hbWVcIik7XG59XG5cbmZ1bmN0aW9uIHByZWZlcnJlZFJheWNhc3RGbGF2b3JOYW1lKCkge1xuICByZXR1cm4gcHJlZmVycmVkRmxhdm9yTmFtZSA/PyByZXNvbHZlUHJlZmVycmVkRmxhdm9yTmFtZSgpO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlUHJlZmVycmVkRmxhdm9yTmFtZSgpIHtcbiAgY29uc3QgZmxhdm9yTmFtZSA9IHJheWNhc3RGbGF2b3JOYW1lKHRhcmdldCk7XG4gIGlmIChwcm9jZXNzLnBsYXRmb3JtICE9PSBcImRhcndpblwiKSB7XG4gICAgcmV0dXJuIGZsYXZvck5hbWU7XG4gIH1cblxuICByZXR1cm4gcmVzb2x2ZVByZWZlcnJlZFJheWNhc3RGbGF2b3JOYW1lKGZsYXZvck5hbWUsIGlzTWFjT1NBcHBSdW5uaW5nKTtcbn1cblxuZnVuY3Rpb24gcmF5Y2FzdFJvdXRlKCk6IHsgYnVuZGxlSUQ6IHN0cmluZzsgc2NoZW1lOiBzdHJpbmcgfSB7XG4gIHJldHVybiByYXljYXN0Um91dGVGb3JGbGF2b3JOYW1lKHJheWNhc3RGbGF2b3JOYW1lKHRhcmdldCkpO1xufVxuXG5mdW5jdGlvbiByYXljYXN0RGlyZWN0b3J5TmFtZUZvckZsYXZvck5hbWUoZmxhdm9yTmFtZTogc3RyaW5nKSB7XG4gIGlmIChmbGF2b3JOYW1lID09IFwiXCIpIHtcbiAgICByZXR1cm4gXCJyYXljYXN0XCI7XG4gIH1cbiAgcmV0dXJuIGByYXljYXN0LSR7Zmxhdm9yTmFtZX1gO1xufVxuXG5mdW5jdGlvbiBjb25maWdEaXJlY3RvcnlGb3JGbGF2b3JOYW1lKGZsYXZvck5hbWU6IHN0cmluZykge1xuICBjb25zdCBjb25maWdQYXRoID0gcGF0aC5qb2luKG9zLmhvbWVkaXIoKSwgXCIuY29uZmlnXCIsIHJheWNhc3REaXJlY3RvcnlOYW1lRm9yRmxhdm9yTmFtZShmbGF2b3JOYW1lKSk7XG4gIGZzLm1rZGlyU3luYyhjb25maWdQYXRoLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgcmV0dXJuIGNvbmZpZ1BhdGg7XG59XG5cbmZ1bmN0aW9uIHJheWNhc3RFeHRlbnNpb25EaXJlY3RvcnkoKSB7XG4gIHJldHVybiBjb25maWdEaXJlY3RvcnlGb3JGbGF2b3JOYW1lKHByZWZlcnJlZFJheWNhc3RGbGF2b3JOYW1lKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmF5Y2FzdENvbmZpZ0RpcmVjdG9yeSgpIHtcbiAgcmV0dXJuIGNvbmZpZ0RpcmVjdG9yeUZvckZsYXZvck5hbWUocmF5Y2FzdEZsYXZvck5hbWUodGFyZ2V0KSk7XG59XG4iLCAiaW1wb3J0IHsgZXhlY0ZpbGVTeW5jIH0gZnJvbSBcIm5vZGU6Y2hpbGRfcHJvY2Vzc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNNYWNPU0FwcFJ1bm5pbmcoYnVuZGxlSUQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIGNvbnN0IG91dHB1dCA9IGV4ZWNGaWxlU3luYyhcIi91c3IvYmluL2xzYXBwaW5mb1wiLCBbXCJmaW5kXCIsIGBidW5kbGVpZD0ke2J1bmRsZUlEfWBdLCB7XG4gICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICBzdGRpbzogW1wiaWdub3JlXCIsIFwicGlwZVwiLCBcImlnbm9yZVwiXSxcbiAgICB9KTtcbiAgICByZXR1cm4gb3V0cHV0LnRyaW0oKS5sZW5ndGggPiAwO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUEscUdBQUFBLFVBQUFDLFNBQUE7QUFBQSxRQUFNLE1BQU0sUUFBUSxVQUFVO0FBSzlCLFFBQU0sWUFBWSxLQUFLLGFBQWEsV0FBVyxZQUFZLEtBQUs7QUFFaEUsUUFBTSxTQUFTLENBQUMsTUFBTSxVQUFVO0FBQy9CLFVBQUksQ0FBQyxXQUFXO0FBQ2YsZUFBTyxXQUFTO0FBQUEsTUFDakI7QUFFQSxZQUFNLFdBQVcsUUFBVSxJQUFJO0FBQy9CLFlBQU0sWUFBWSxRQUFVLEtB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QUFBQSxNQUNYLFNBQVM7QUFBQSxJQUNYLENBQUM7QUFBQSxJQUNELFFBQVEsa0JBQU0sT0FBTztBQUFBLE1BQ25CLE1BQU07QUFBQSxNQUNOLGFBQWE7QUFBQSxNQUNiLFdBQVc7QUFBQSxNQUNYLFVBQVU7QUFBQSxNQUNWLFNBQVMsQ0FBQyxHQUFHLGNBQWM7QUFBQSxNQUMzQixRQUFRO0FBQUEsSUFDVixDQUFDLEVBQUU7QUFBQSxFQUNMO0FBQUEsRUFFVTtBQUFBLEVBQ0E7QUFBQSxFQUVWLE1BQWEsT0FBc0I7QUFDakMsVUFBTSxNQUFNLEtBQUs7QUFFakIsWUFBUSxHQUFHLFVBQVUsTUFBTSxRQUFRLEtBQUssQ0FBQyxDQUFDO0FBRTFDLFVBQU0sRUFBRSxNQUFNLE1BQU0sSUFBSSxNQUFNLEtBQUssTUFBTTtBQUFBLE1BQ3ZDLE9BQU8sS0FBSyxLQUFLO0FBQUEsTUFDakIsV0FBWSxNQUFNLEtBQTRCO0FBQUEsTUFDOUMsZ0JBQWdCLEtBQUssS0FBSztBQUFBLE1BQzFCLE1BQU0sS0FBSyxLQUFLO0FBQUEsTUFDaEIsUUFBUSxLQUFLLEtBQUs7QUFBQSxJQUNwQixDQUFDO0FBQ0QsU0FBSyxRQUFRO0FBQ2IsU0FBSyxPQUFPO0FBQ1osZUFBVyxLQUFLLE1BQU0sTUFBTTtBQUM1QixlQUFXLEtBQUssTUFBTSxPQUFPLEtBQUssTUFBTSxpQkFBaUIsQ0FBQztBQUFBLEVBQzVEO0FBQUEsRUFpQk8sTUFDTCxPQUNBLFNBSUE7QUFDQSxRQUFJLFNBQVMsV0FBVyxpQkFBaUIsT0FBTztBQUM5QyxZQUFNLFVBQVUsR0FBRyxRQUFRLE9BQU8sS0FBSyxNQUFNLE9BQU87QUFDcEQsYUFBTyxRQUFRO0FBQUEsSUFDakI7QUFDQSxXQUFPLE1BQU0sTUFBTSxPQUFPLE9BQU87QUFBQSxFQUNuQztBQUFBLEVBRUEsTUFBZ0IsTUFBTSxLQUFzRDtBQUcxRSxXQUFPLE1BQU0sTUFBTSxHQUFHO0FBQUEsRUFDeEI7QUFBQSxFQUVBLE1BQWdCLFFBQVEsR0FBd0M7QUFFOUQsV0FBTyxNQUFNLFFBQVEsQ0FBQztBQUFBLEVBQ3hCO0FBQ0Y7OztBRDdIQSxJQUFxQixVQUFyQixNQUFxQixpQkFBZ0IsWUFBNEI7QUFBQSxFQUMvRCxPQUFjLGNBQWM7QUFBQSxFQUU1QixNQUFhLE1BQXFCO0FBQ2hDLFVBQU0sS0FBSyxNQUFNLFFBQU87QUFFeEIsU0FBSyxJQUFJLEdBQUcsa0JBQWlDLE9BQU8sRUFBRTtBQUFBLEVBQ3hEO0FBQ0Y7IiwKICAibmFtZXMiOiBbImV4cG9ydHMiLCAibW9kdWxlIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInRhcmdldCIsICJ0YXJnZXQiLCAib3MiXQp9Cg==
|
package/oclif.manifest.json
CHANGED
|
@@ -820,11 +820,18 @@
|
|
|
820
820
|
"index.js"
|
|
821
821
|
]
|
|
822
822
|
},
|
|
823
|
-
"
|
|
823
|
+
"token": {
|
|
824
824
|
"aliases": [],
|
|
825
825
|
"args": {},
|
|
826
|
-
"description": "
|
|
826
|
+
"description": "Display the access token",
|
|
827
827
|
"flags": {
|
|
828
|
+
"json": {
|
|
829
|
+
"description": "Format output as json.",
|
|
830
|
+
"helpGroup": "GLOBAL",
|
|
831
|
+
"name": "json",
|
|
832
|
+
"allowNo": false,
|
|
833
|
+
"type": "boolean"
|
|
834
|
+
},
|
|
828
835
|
"exit-on-error": {
|
|
829
836
|
"aliases": [
|
|
830
837
|
"exitOnError"
|
|
@@ -875,36 +882,36 @@
|
|
|
875
882
|
"x-internal"
|
|
876
883
|
],
|
|
877
884
|
"type": "option"
|
|
885
|
+
},
|
|
886
|
+
"clipboard": {
|
|
887
|
+
"char": "C",
|
|
888
|
+
"description": "Copy the token to the clipboard",
|
|
889
|
+
"name": "clipboard",
|
|
890
|
+
"allowNo": false,
|
|
891
|
+
"type": "boolean"
|
|
878
892
|
}
|
|
879
893
|
},
|
|
880
894
|
"hasDynamicHelp": false,
|
|
881
895
|
"hiddenAliases": [],
|
|
882
|
-
"id": "
|
|
896
|
+
"id": "token",
|
|
883
897
|
"pluginAlias": "ray",
|
|
884
898
|
"pluginName": "ray",
|
|
885
899
|
"pluginType": "core",
|
|
886
900
|
"strict": true,
|
|
887
|
-
"enableJsonFlag":
|
|
901
|
+
"enableJsonFlag": true,
|
|
888
902
|
"isESM": false,
|
|
889
903
|
"relativePath": [
|
|
890
904
|
"dist",
|
|
891
905
|
"commands",
|
|
892
|
-
"
|
|
906
|
+
"token",
|
|
893
907
|
"index.js"
|
|
894
908
|
]
|
|
895
909
|
},
|
|
896
|
-
"
|
|
910
|
+
"validate": {
|
|
897
911
|
"aliases": [],
|
|
898
912
|
"args": {},
|
|
899
|
-
"description": "
|
|
913
|
+
"description": "Validate the extension so that it can be published - \u001b[34m\u001b[2minternal only\u001b[22m\u001b[39m",
|
|
900
914
|
"flags": {
|
|
901
|
-
"json": {
|
|
902
|
-
"description": "Format output as json.",
|
|
903
|
-
"helpGroup": "GLOBAL",
|
|
904
|
-
"name": "json",
|
|
905
|
-
"allowNo": false,
|
|
906
|
-
"type": "boolean"
|
|
907
|
-
},
|
|
908
915
|
"exit-on-error": {
|
|
909
916
|
"aliases": [
|
|
910
917
|
"exitOnError"
|
|
@@ -956,34 +963,44 @@
|
|
|
956
963
|
],
|
|
957
964
|
"type": "option"
|
|
958
965
|
},
|
|
959
|
-
"
|
|
960
|
-
"char": "
|
|
961
|
-
"description": "
|
|
962
|
-
"name": "
|
|
966
|
+
"schema": {
|
|
967
|
+
"char": "s",
|
|
968
|
+
"description": "Path to JSON schema for package.json validation ",
|
|
969
|
+
"name": "schema",
|
|
970
|
+
"default": "https://www.raycast.com/schemas/extension.json",
|
|
971
|
+
"hasDynamicHelp": false,
|
|
972
|
+
"multiple": false,
|
|
973
|
+
"type": "option"
|
|
974
|
+
},
|
|
975
|
+
"skip-owner": {
|
|
976
|
+
"description": "Skip owner checks",
|
|
977
|
+
"name": "skip-owner",
|
|
963
978
|
"allowNo": false,
|
|
964
979
|
"type": "boolean"
|
|
965
980
|
}
|
|
966
981
|
},
|
|
967
982
|
"hasDynamicHelp": false,
|
|
983
|
+
"hidden": false,
|
|
968
984
|
"hiddenAliases": [],
|
|
969
|
-
"id": "
|
|
985
|
+
"id": "validate",
|
|
970
986
|
"pluginAlias": "ray",
|
|
971
987
|
"pluginName": "ray",
|
|
972
988
|
"pluginType": "core",
|
|
973
989
|
"strict": true,
|
|
974
|
-
"
|
|
990
|
+
"summary": "Validate the extension - \u001b[34m\u001b[2minternal only\u001b[22m\u001b[39m",
|
|
991
|
+
"enableJsonFlag": false,
|
|
975
992
|
"isESM": false,
|
|
976
993
|
"relativePath": [
|
|
977
994
|
"dist",
|
|
978
995
|
"commands",
|
|
979
|
-
"
|
|
996
|
+
"validate",
|
|
980
997
|
"index.js"
|
|
981
998
|
]
|
|
982
999
|
},
|
|
983
|
-
"
|
|
1000
|
+
"version": {
|
|
984
1001
|
"aliases": [],
|
|
985
1002
|
"args": {},
|
|
986
|
-
"description": "
|
|
1003
|
+
"description": "Print the version number",
|
|
987
1004
|
"flags": {
|
|
988
1005
|
"exit-on-error": {
|
|
989
1006
|
"aliases": [
|
|
@@ -1035,45 +1052,28 @@
|
|
|
1035
1052
|
"x-internal"
|
|
1036
1053
|
],
|
|
1037
1054
|
"type": "option"
|
|
1038
|
-
},
|
|
1039
|
-
"schema": {
|
|
1040
|
-
"char": "s",
|
|
1041
|
-
"description": "Path to JSON schema for package.json validation ",
|
|
1042
|
-
"name": "schema",
|
|
1043
|
-
"default": "https://www.raycast.com/schemas/extension.json",
|
|
1044
|
-
"hasDynamicHelp": false,
|
|
1045
|
-
"multiple": false,
|
|
1046
|
-
"type": "option"
|
|
1047
|
-
},
|
|
1048
|
-
"skip-owner": {
|
|
1049
|
-
"description": "Skip owner checks",
|
|
1050
|
-
"name": "skip-owner",
|
|
1051
|
-
"allowNo": false,
|
|
1052
|
-
"type": "boolean"
|
|
1053
1055
|
}
|
|
1054
1056
|
},
|
|
1055
1057
|
"hasDynamicHelp": false,
|
|
1056
|
-
"hidden": false,
|
|
1057
1058
|
"hiddenAliases": [],
|
|
1058
|
-
"id": "
|
|
1059
|
+
"id": "version",
|
|
1059
1060
|
"pluginAlias": "ray",
|
|
1060
1061
|
"pluginName": "ray",
|
|
1061
1062
|
"pluginType": "core",
|
|
1062
1063
|
"strict": true,
|
|
1063
|
-
"summary": "Validate the extension - \u001b[34m\u001b[2minternal only\u001b[22m\u001b[39m",
|
|
1064
1064
|
"enableJsonFlag": false,
|
|
1065
1065
|
"isESM": false,
|
|
1066
1066
|
"relativePath": [
|
|
1067
1067
|
"dist",
|
|
1068
1068
|
"commands",
|
|
1069
|
-
"
|
|
1069
|
+
"version",
|
|
1070
1070
|
"index.js"
|
|
1071
1071
|
]
|
|
1072
1072
|
},
|
|
1073
|
-
"
|
|
1073
|
+
"pull-contributions": {
|
|
1074
1074
|
"aliases": [],
|
|
1075
1075
|
"args": {},
|
|
1076
|
-
"description": "
|
|
1076
|
+
"description": "Pull contributions of the extension",
|
|
1077
1077
|
"flags": {
|
|
1078
1078
|
"exit-on-error": {
|
|
1079
1079
|
"aliases": [
|
|
@@ -1129,7 +1129,7 @@
|
|
|
1129
1129
|
},
|
|
1130
1130
|
"hasDynamicHelp": false,
|
|
1131
1131
|
"hiddenAliases": [],
|
|
1132
|
-
"id": "
|
|
1132
|
+
"id": "pull-contributions",
|
|
1133
1133
|
"pluginAlias": "ray",
|
|
1134
1134
|
"pluginName": "ray",
|
|
1135
1135
|
"pluginType": "core",
|
|
@@ -1139,10 +1139,10 @@
|
|
|
1139
1139
|
"relativePath": [
|
|
1140
1140
|
"dist",
|
|
1141
1141
|
"commands",
|
|
1142
|
-
"
|
|
1142
|
+
"pull-contributions",
|
|
1143
1143
|
"index.js"
|
|
1144
1144
|
]
|
|
1145
1145
|
}
|
|
1146
1146
|
},
|
|
1147
|
-
"version": "0.67.
|
|
1147
|
+
"version": "0.67.1"
|
|
1148
1148
|
}
|