experimental-agent 0.2.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/README.md +55 -254
  2. package/dist/adapter-BigchkkI.d.mts +201 -0
  3. package/dist/adapter-BigchkkI.d.ts +201 -0
  4. package/dist/chunk-BFFNCESS.mjs +302 -0
  5. package/dist/chunk-C4VSUEY2.mjs +72 -0
  6. package/dist/chunk-DOD4MC5D.mjs +196 -0
  7. package/dist/chunk-ELWIUJUK.mjs +96 -0
  8. package/dist/chunk-GKASMIBR.mjs +50 -0
  9. package/dist/chunk-JO3JDCH5.mjs +107 -0
  10. package/dist/chunk-MSWINCCM.mjs +128 -0
  11. package/dist/chunk-RT72C52I.mjs +324 -0
  12. package/dist/chunk-ZUFJJYC4.mjs +150 -0
  13. package/dist/{handler-FRUPZ4LX.mjs → docker-QPCLWLYR.mjs} +3 -4
  14. package/dist/entry-BmQ8FO-5.d.ts +36 -0
  15. package/dist/entry-CZd9aAwn.d.mts +36 -0
  16. package/dist/index.d.mts +415 -18
  17. package/dist/index.d.ts +415 -18
  18. package/dist/index.js +3036 -5494
  19. package/dist/index.mjs +3264 -1142
  20. package/dist/lifecycle-workflow-steps.d.mts +5 -0
  21. package/dist/lifecycle-workflow-steps.d.ts +5 -0
  22. package/dist/lifecycle-workflow-steps.js +263 -0
  23. package/dist/lifecycle-workflow-steps.mjs +9 -0
  24. package/dist/lifecycle-workflow.d.mts +6 -6
  25. package/dist/lifecycle-workflow.d.ts +6 -6
  26. package/dist/lifecycle-workflow.js +192 -905
  27. package/dist/lifecycle-workflow.mjs +3 -1
  28. package/dist/local-KJ3BSIFJ.mjs +8 -0
  29. package/dist/next/loader.js +27 -6
  30. package/dist/next/loader.mjs +1 -1
  31. package/dist/next.js +27 -6
  32. package/dist/next.mjs +1 -1
  33. package/dist/{process-manager-JDUJDYGU.mjs → process-manager-WQHAIVRB.mjs} +1 -1
  34. package/dist/sandbox.d.mts +6 -0
  35. package/dist/sandbox.d.ts +6 -0
  36. package/dist/sandbox.js +1070 -0
  37. package/dist/sandbox.mjs +19 -0
  38. package/dist/steps-BnkRQKlc.d.ts +173 -0
  39. package/dist/steps-u-mGDbP_.d.mts +173 -0
  40. package/dist/storage.d.mts +11 -0
  41. package/dist/storage.d.ts +11 -0
  42. package/dist/storage.js +234 -0
  43. package/dist/storage.mjs +12 -0
  44. package/dist/vercel-QZ6INPMV.mjs +11 -0
  45. package/package.json +26 -5
  46. package/dist/agent-workflow.d.mts +0 -30
  47. package/dist/agent-workflow.d.ts +0 -30
  48. package/dist/agent-workflow.js +0 -5433
  49. package/dist/agent-workflow.mjs +0 -14
  50. package/dist/chunk-7M6UPURS.mjs +0 -75
  51. package/dist/chunk-AML2VCQS.mjs +0 -1287
  52. package/dist/chunk-FQ67QZOI.mjs +0 -75
  53. package/dist/chunk-NO7RHGTH.mjs +0 -2367
  54. package/dist/chunk-NXDVNJRS.mjs +0 -106
  55. package/dist/chunk-OZZVS6L5.mjs +0 -139
  56. package/dist/chunk-SJVFFE5D.mjs +0 -402
  57. package/dist/chunk-TAXLUVIC.mjs +0 -1
  58. package/dist/chunk-TGNVXSMX.mjs +0 -399
  59. package/dist/chunk-YRYXN7W4.mjs +0 -48
  60. package/dist/chunk-ZIAHPXOJ.mjs +0 -595
  61. package/dist/client-BKA7XBGW.mjs +0 -15
  62. package/dist/client-CEeSFGva.d.mts +0 -2376
  63. package/dist/client-CEeSFGva.d.ts +0 -2376
  64. package/dist/docker-FB2MJTHJ.mjs +0 -12
  65. package/dist/local-fs-handlers-SYOCKTPN.mjs +0 -447
  66. package/dist/sandbox-UENKQV3T.mjs +0 -21
  67. package/dist/storage-LSDMRW73.mjs +0 -20
  68. package/dist/vercel-SD3JTECG.mjs +0 -20
  69. package/dist/vercel-sdk-I6A4MVAN.mjs +0 -8
@@ -1,6 +1,8 @@
1
1
  import {
2
2
  sandboxLifecycleWorkflow
3
- } from "./chunk-NXDVNJRS.mjs";
3
+ } from "./chunk-GKASMIBR.mjs";
4
+ import "./chunk-JO3JDCH5.mjs";
5
+ import "./chunk-MSWINCCM.mjs";
4
6
  import "./chunk-BJTO5JO5.mjs";
5
7
  export {
6
8
  sandboxLifecycleWorkflow
@@ -0,0 +1,8 @@
1
+ import {
2
+ localSandbox
3
+ } from "./chunk-ZUFJJYC4.mjs";
4
+ import "./chunk-BJTO5JO5.mjs";
5
+ export {
6
+ localSandbox
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFtdLAogICJzb3VyY2VzQ29udGVudCI6IFtdLAogICJtYXBwaW5ncyI6ICIiLAogICJuYW1lcyI6IFtdCn0K
@@ -54,6 +54,16 @@ var package_default = {
54
54
  import: "./dist/index.mjs",
55
55
  require: "./dist/index.js"
56
56
  },
57
+ "./storage": {
58
+ types: "./dist/storage.d.ts",
59
+ import: "./dist/storage.mjs",
60
+ require: "./dist/storage.js"
61
+ },
62
+ "./sandbox": {
63
+ types: "./dist/sandbox.d.ts",
64
+ import: "./dist/sandbox.mjs",
65
+ require: "./dist/sandbox.js"
66
+ },
57
67
  "./next": {
58
68
  types: "./dist/next.d.ts",
59
69
  import: "./dist/next.mjs",
@@ -68,6 +78,16 @@ var package_default = {
68
78
  types: "./dist/client.d.ts",
69
79
  import: "./dist/client.mjs",
70
80
  require: "./dist/client.js"
81
+ },
82
+ "./lifecycle-workflow": {
83
+ types: "./dist/lifecycle-workflow.d.ts",
84
+ import: "./dist/lifecycle-workflow.mjs",
85
+ require: "./dist/lifecycle-workflow.js"
86
+ },
87
+ "./lifecycle-workflow-steps": {
88
+ types: "./dist/lifecycle-workflow-steps.d.ts",
89
+ import: "./dist/lifecycle-workflow-steps.mjs",
90
+ require: "./dist/lifecycle-workflow-steps.js"
71
91
  }
72
92
  },
73
93
  scripts: {
@@ -82,10 +102,11 @@ var package_default = {
82
102
  dependencies: {
83
103
  "@swc/core": "^1.10.0",
84
104
  "@vercel/oidc": "^3.1.0",
105
+ "@vercel/sandbox": "1.7.1",
106
+ "@workflow/serde": "4.1.0-beta.2",
85
107
  "better-all": "^0.0.5",
86
- errore: "^0.8.2",
108
+ errore: "^0.14.0",
87
109
  "fast-deep-equal": "^3.1.3",
88
- "@vercel/sandbox": "1.7.1",
89
110
  ulid: "^3.0.2",
90
111
  zod: "^4.3.6"
91
112
  },
@@ -96,11 +117,11 @@ var package_default = {
96
117
  next: "^16.0.0",
97
118
  tsup: "^8.0.2",
98
119
  typescript: "5.5.4",
99
- vitest: "^3.0.0"
120
+ vitest: "^3.0.0",
121
+ workflow: "4.1.0-beta.60"
100
122
  },
101
123
  peerDependencies: {
102
- ai: "^6.0.0",
103
- workflow: "*"
124
+ ai: "^6.0.0"
104
125
  },
105
126
  publishConfig: {
106
127
  access: "public"
@@ -211,4 +232,4 @@ function findAgentExports(ast) {
211
232
  }
212
233
  return exports2;
213
234
  }
214
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL25leHQvbG9hZGVyLnRzIiwgIi4uLy4uL3BhY2thZ2UuanNvbiJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyB0eXBlIE1vZHVsZSwgcGFyc2VTeW5jIH0gZnJvbSBcIkBzd2MvY29yZVwiO1xuaW1wb3J0IHBrZyBmcm9tIFwiLi4vLi4vcGFja2FnZS5qc29uXCI7XG5cbnR5cGUgTG9hZGVyT3B0aW9ucyA9IHtcbiAgZGVidWc/OiBib29sZWFuO1xuICBhcHBEaXI/OiBzdHJpbmc7XG59O1xuXG50eXBlIExvYWRlckNvbnRleHQgPSB7XG4gIHJlc291cmNlUGF0aDogc3RyaW5nO1xuICBnZXRPcHRpb25zKCk6IExvYWRlck9wdGlvbnM7XG59O1xuXG5jb25zdCBQQUNLQUdFX05BTUUgPSBwa2cubmFtZTtcbmNvbnN0IEFHRU5UX1BST1RPQ09MX1ZFUlNJT04gPSBcInYxXCI7XG5jb25zdCBUWVBFU0NSSVBUX0VYVF9SRUdFWCA9IC9cXC4odHN8dHN4fG10c3xjdHMpJC87XG5cbi8qKlxuICogV2VicGFjay9UdXJib3BhY2sgbG9hZGVyIHRoYXQgd2lyZXMgdXAgYWdlbnQucnBjIGJ5IHJlcXVpcmluZyBzdGVwcy5qc1xuICogYXQgdGhlIEVORCBvZiB0aGUgZmlsZS4gVXNpbmcgcmVxdWlyZSgpIGF2b2lkcyBpbXBvcnQgaG9pc3RpbmcgaXNzdWVzLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhZ2VudFJwY0xvYWRlcihcbiAgdGhpczogTG9hZGVyQ29udGV4dCxcbiAgc291cmNlOiBzdHJpbmdcbik6IHN0cmluZyB7XG4gIGNvbnN0IHsgZGVidWcsIGFwcERpcjogYXBwRGlyT3B0aW9uIH0gPSB0aGlzLmdldE9wdGlvbnMoKTtcbiAgY29uc3QgbG9nID0gZGVidWdcbiAgICA/ICguLi5hcmdzOiB1bmtub3duW10pID0+IGNvbnNvbGUubG9nKFwiW2FnZW50LWxvYWRlcl1cIiwgLi4uYXJncylcbiAgICA6ICgpID0+IHVuZGVmaW5lZDtcblxuICBsb2coXCJwcm9jZXNzaW5nOlwiLCB0aGlzLnJlc291cmNlUGF0aCk7XG5cbiAgaWYgKCFzb3VyY2UuaW5jbHVkZXMoUEFDS0FHRV9OQU1FKSkge1xuICAgIGxvZyhcInNraXBwaW5nIC0gbm8gcGFja2FnZSBuYW1lXCIpO1xuICAgIHJldHVybiBzb3VyY2U7XG4gIH1cblxuICBjb25zdCBmaWxlbmFtZSA9IHRoaXMucmVzb3VyY2VQYXRoO1xuICBjb25zdCBpc1R5cGVTY3JpcHQgPSBUWVBFU0NSSVBUX0VYVF9SRUdFWC50ZXN0KGZpbGVuYW1lKTtcblxuICBsZXQgYXN0OiBNb2R1bGU7XG4gIHRyeSB7XG4gICAgYXN0ID0gcGFyc2VTeW5jKHNvdXJjZSwge1xuICAgICAgc3ludGF4OiBpc1R5cGVTY3JpcHQgPyBcInR5cGVzY3JpcHRcIiA6IFwiZWNtYXNjcmlwdFwiLFxuICAgICAgdHN4OiBmaWxlbmFtZS5lbmRzV2l0aChcIi50c3hcIiksXG4gICAgICBqc3g6IGZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzeFwiKSxcbiAgICB9KTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHNvdXJjZTtcbiAgfVxuXG4gIGNvbnN0IGFnZW50RXhwb3J0cyA9IGZpbmRBZ2VudEV4cG9ydHMoYXN0KTtcbiAgaWYgKGFnZW50RXhwb3J0cy5sZW5ndGggPT09IDApIHtcbiAgICBsb2coXCJza2lwcGluZyAtIG5vIGFnZW50IGV4cG9ydHNcIik7XG4gICAgcmV0dXJuIHNvdXJjZTtcbiAgfVxuXG4gIGxvZyhcImZvdW5kIGFnZW50IGV4cG9ydHM6XCIsIGFnZW50RXhwb3J0cyk7XG5cbiAgY29uc3QgZmlsZURpciA9IHBhdGguZGlybmFtZShmaWxlbmFtZSk7XG5cbiAgbGV0IGFwcERpcjogc3RyaW5nO1xuICBpZiAoYXBwRGlyT3B0aW9uKSB7XG4gICAgYXBwRGlyID0gYXBwRGlyT3B0aW9uO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHNyY0luZGV4ID0gZmlsZW5hbWUubGFzdEluZGV4T2YoYCR7cGF0aC5zZXB9c3JjJHtwYXRoLnNlcH1gKTtcbiAgICBpZiAoc3JjSW5kZXggIT09IC0xKSB7XG4gICAgICBjb25zdCBzcmNEaXIgPSBmaWxlbmFtZS5zdWJzdHJpbmcoMCwgc3JjSW5kZXggKyA0KTtcbiAgICAgIGFwcERpciA9IHBhdGguam9pbihzcmNEaXIsIFwiYXBwXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBhcHBTZXAgPSBgJHtwYXRoLnNlcH1hcHAke3BhdGguc2VwfWA7XG4gICAgICBjb25zdCBhcHBJbmRleCA9IGZpbGVuYW1lLmxhc3RJbmRleE9mKGFwcFNlcCk7XG4gICAgICBpZiAoYXBwSW5kZXggIT09IC0xKSB7XG4gICAgICAgIGFwcERpciA9IGZpbGVuYW1lLnN1YnN0cmluZygwLCBhcHBJbmRleCArIGFwcFNlcC5sZW5ndGggLSAxKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZyhcInNraXBwaW5nIC0gbm8gc3JjLyBvciBhcHAvIGRpciBmb3VuZFwiKTtcbiAgICAgICAgcmV0dXJuIHNvdXJjZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBzdGVwc1BhdGggPSBwYXRoLmpvaW4oXG4gICAgYXBwRGlyLFxuICAgIFwiLndlbGwta25vd25cIixcbiAgICBcImFnZW50XCIsXG4gICAgQUdFTlRfUFJPVE9DT0xfVkVSU0lPTixcbiAgICBcInN0ZXBzLmpzXCJcbiAgKTtcbiAgbGV0IHJlbGF0aXZlUGF0aCA9IHBhdGgucmVsYXRpdmUoZmlsZURpciwgc3RlcHNQYXRoKS5yZXBsYWNlKC9cXFxcL2csIFwiL1wiKTtcblxuICBpZiAoIShyZWxhdGl2ZVBhdGguc3RhcnRzV2l0aChcIi4vXCIpIHx8IHJlbGF0aXZlUGF0aC5zdGFydHNXaXRoKFwiLi4vXCIpKSkge1xuICAgIHJlbGF0aXZlUGF0aCA9IGAuLyR7cmVsYXRpdmVQYXRofWA7XG4gIH1cblxuICBjb25zdCBpbml0Q2FsbHMgPSBhZ2VudEV4cG9ydHNcbiAgICAubWFwKChuYW1lKSA9PiB7XG4gICAgICBjb25zdCBpbml0TmFtZSA9IGBfX2luaXQke25hbWVbMF0udG9VcHBlckNhc2UoKX0ke25hbWUuc2xpY2UoMSl9YDtcbiAgICAgIHJldHVybiBgJHtpbml0TmFtZX0oJHtuYW1lfSk7YDtcbiAgICB9KVxuICAgIC5qb2luKFwiXFxuXCIpO1xuXG4gIGNvbnN0IGluaXRJbXBvcnRzID0gYWdlbnRFeHBvcnRzXG4gICAgLm1hcCgobmFtZSkgPT4gYF9faW5pdCR7bmFtZVswXS50b1VwcGVyQ2FzZSgpfSR7bmFtZS5zbGljZSgxKX1gKVxuICAgIC5qb2luKFwiLCBcIik7XG5cbiAgbG9nKFwiaW5qZWN0aW5nIGluaXQgY2FsbHMgZm9yOlwiLCBhZ2VudEV4cG9ydHMpO1xuICByZXR1cm4gYCR7c291cmNlfVxuaW1wb3J0IHsgJHtpbml0SW1wb3J0c30gfSBmcm9tIFwiJHtyZWxhdGl2ZVBhdGh9XCI7XG4ke2luaXRDYWxsc31gO1xufVxuXG5mdW5jdGlvbiBmaW5kQWdlbnRFeHBvcnRzKGFzdDogTW9kdWxlKTogc3RyaW5nW10ge1xuICBsZXQgYWdlbnRMb2NhbE5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGZvciAoY29uc3QgaXRlbSBvZiBhc3QuYm9keSkge1xuICAgIGlmIChcbiAgICAgIGl0ZW0udHlwZSA9PT0gXCJJbXBvcnREZWNsYXJhdGlvblwiICYmXG4gICAgICBpdGVtLnNvdXJjZS52YWx1ZSA9PT0gUEFDS0FHRV9OQU1FXG4gICAgKSB7XG4gICAgICBmb3IgKGNvbnN0IHNwZWNpZmllciBvZiBpdGVtLnNwZWNpZmllcnMpIHtcbiAgICAgICAgaWYgKHNwZWNpZmllci50eXBlID09PSBcIkltcG9ydFNwZWNpZmllclwiKSB7XG4gICAgICAgICAgY29uc3QgaW1wb3J0ZWQgPVxuICAgICAgICAgICAgc3BlY2lmaWVyLmltcG9ydGVkPy50eXBlID09PSBcIklkZW50aWZpZXJcIlxuICAgICAgICAgICAgICA/IHNwZWNpZmllci5pbXBvcnRlZC52YWx1ZVxuICAgICAgICAgICAgICA6IHNwZWNpZmllci5sb2NhbC52YWx1ZTtcblxuICAgICAgICAgIGlmIChpbXBvcnRlZCA9PT0gXCJhZ2VudFwiKSB7XG4gICAgICAgICAgICBhZ2VudExvY2FsTmFtZSA9IHNwZWNpZmllci5sb2NhbC52YWx1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmICghYWdlbnRMb2NhbE5hbWUpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBleHBvcnRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgaXRlbSBvZiBhc3QuYm9keSkge1xuICAgIGlmIChpdGVtLnR5cGUgPT09IFwiRXhwb3J0RGVjbGFyYXRpb25cIiAmJiBpdGVtLmRlY2xhcmF0aW9uKSB7XG4gICAgICBjb25zdCBkZWNsID0gaXRlbS5kZWNsYXJhdGlvbjtcbiAgICAgIGlmIChkZWNsLnR5cGUgPT09IFwiVmFyaWFibGVEZWNsYXJhdGlvblwiKSB7XG4gICAgICAgIGZvciAoY29uc3QgZGVjbGFyYXRvciBvZiBkZWNsLmRlY2xhcmF0aW9ucykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGRlY2xhcmF0b3IuaWQudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICAgICAgICAgIGRlY2xhcmF0b3IuaW5pdD8udHlwZSA9PT0gXCJDYWxsRXhwcmVzc2lvblwiICYmXG4gICAgICAgICAgICBkZWNsYXJhdG9yLmluaXQuY2FsbGVlLnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmXG4gICAgICAgICAgICBkZWNsYXJhdG9yLmluaXQuY2FsbGVlLnZhbHVlID09PSBhZ2VudExvY2FsTmFtZVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZXhwb3J0cy5wdXNoKGRlY2xhcmF0b3IuaWQudmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBleHBvcnRzO1xufVxuIiwgIntcbiAgXCJuYW1lXCI6IFwiZXhwZXJpbWVudGFsLWFnZW50XCIsXG4gIFwidmVyc2lvblwiOiBcIjAuMi4zXCIsXG4gIFwibWFpblwiOiBcIi4vZGlzdC9pbmRleC5qc1wiLFxuICBcIm1vZHVsZVwiOiBcIi4vZGlzdC9pbmRleC5tanNcIixcbiAgXCJ0eXBlc1wiOiBcIi4vZGlzdC9pbmRleC5kLnRzXCIsXG4gIFwic2lkZUVmZmVjdHNcIjogdHJ1ZSxcbiAgXCJsaWNlbnNlXCI6IFwiTUlUXCIsXG4gIFwiZmlsZXNcIjogW1xuICAgIFwiZGlzdC8qKlwiXG4gIF0sXG4gIFwiZXhwb3J0c1wiOiB7XG4gICAgXCIuXCI6IHtcbiAgICAgIFwidHlwZXNcIjogXCIuL2Rpc3QvaW5kZXguZC50c1wiLFxuICAgICAgXCJpbXBvcnRcIjogXCIuL2Rpc3QvaW5kZXgubWpzXCIsXG4gICAgICBcInJlcXVpcmVcIjogXCIuL2Rpc3QvaW5kZXguanNcIlxuICAgIH0sXG4gICAgXCIuL25leHRcIjoge1xuICAgICAgXCJ0eXBlc1wiOiBcIi4vZGlzdC9uZXh0LmQudHNcIixcbiAgICAgIFwiaW1wb3J0XCI6IFwiLi9kaXN0L25leHQubWpzXCIsXG4gICAgICBcInJlcXVpcmVcIjogXCIuL2Rpc3QvbmV4dC5qc1wiXG4gICAgfSxcbiAgICBcIi4vbmV4dC9sb2FkZXJcIjoge1xuICAgICAgXCJ0eXBlc1wiOiBcIi4vZGlzdC9uZXh0L2xvYWRlci5kLnRzXCIsXG4gICAgICBcImltcG9ydFwiOiBcIi4vZGlzdC9uZXh0L2xvYWRlci5tanNcIixcbiAgICAgIFwicmVxdWlyZVwiOiBcIi4vZGlzdC9uZXh0L2xvYWRlci5qc1wiXG4gICAgfSxcbiAgICBcIi4vY2xpZW50XCI6IHtcbiAgICAgIFwidHlwZXNcIjogXCIuL2Rpc3QvY2xpZW50LmQudHNcIixcbiAgICAgIFwiaW1wb3J0XCI6IFwiLi9kaXN0L2NsaWVudC5tanNcIixcbiAgICAgIFwicmVxdWlyZVwiOiBcIi4vZGlzdC9jbGllbnQuanNcIlxuICAgIH1cbiAgfSxcbiAgXCJzY3JpcHRzXCI6IHtcbiAgICBcImJ1aWxkXCI6IFwidHN1cFwiLFxuICAgIFwiZGV2XCI6IFwidHN1cCAtLXdhdGNoXCIsXG4gICAgXCJjbGVhblwiOiBcInJtIC1yZiAudHVyYm8gJiYgcm0gLXJmIG5vZGVfbW9kdWxlcyAmJiBybSAtcmYgZGlzdFwiLFxuICAgIFwicmVsZWFzZVwiOiBcInBucG0gYnVpbGQgJiYgbnBtIHB1Ymxpc2hcIixcbiAgICBcInR5cGVjaGVja1wiOiBcInRzYyAtLW5vRW1pdFwiLFxuICAgIFwidGVzdFwiOiBcInZpdGVzdCBydW5cIixcbiAgICBcInRlc3Q6d2F0Y2hcIjogXCJ2aXRlc3RcIlxuICB9LFxuICBcImRlcGVuZGVuY2llc1wiOiB7XG4gICAgXCJAc3djL2NvcmVcIjogXCJeMS4xMC4wXCIsXG4gICAgXCJAdmVyY2VsL29pZGNcIjogXCJeMy4xLjBcIixcbiAgICBcImJldHRlci1hbGxcIjogXCJeMC4wLjVcIixcbiAgICBcImVycm9yZVwiOiBcIl4wLjguMlwiLFxuICAgIFwiZmFzdC1kZWVwLWVxdWFsXCI6IFwiXjMuMS4zXCIsXG4gICAgXCJAdmVyY2VsL3NhbmRib3hcIjogXCIxLjcuMVwiLFxuICAgIFwidWxpZFwiOiBcIl4zLjAuMlwiLFxuICAgIFwiem9kXCI6IFwiXjQuMy42XCJcbiAgfSxcbiAgXCJkZXZEZXBlbmRlbmNpZXNcIjoge1xuICAgIFwiQGFnZW50L3RzY29uZmlnXCI6IFwid29ya3NwYWNlOipcIixcbiAgICBcIkB0eXBlcy9ub2RlXCI6IFwiXjIwLjExLjI0XCIsXG4gICAgXCJkb3RlbnZcIjogXCJeMTcuMi4zXCIsXG4gICAgXCJuZXh0XCI6IFwiXjE2LjAuMFwiLFxuICAgIFwidHN1cFwiOiBcIl44LjAuMlwiLFxuICAgIFwidHlwZXNjcmlwdFwiOiBcIjUuNS40XCIsXG4gICAgXCJ2aXRlc3RcIjogXCJeMy4wLjBcIlxuICB9LFxuICBcInBlZXJEZXBlbmRlbmNpZXNcIjoge1xuICAgIFwiYWlcIjogXCJeNi4wLjBcIixcbiAgICBcIndvcmtmbG93XCI6IFwiKlwiXG4gIH0sXG4gIFwicHVibGlzaENvbmZpZ1wiOiB7XG4gICAgXCJhY2Nlc3NcIjogXCJwdWJsaWNcIlxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsV0FBc0I7QUFDdEIsa0JBQXVDOzs7QUNEdkM7QUFBQSxFQUNFLE1BQVE7QUFBQSxFQUNSLFNBQVc7QUFBQSxFQUNYLE1BQVE7QUFBQSxFQUNSLFFBQVU7QUFBQSxFQUNWLE9BQVM7QUFBQSxFQUNULGFBQWU7QUFBQSxFQUNmLFNBQVc7QUFBQSxFQUNYLE9BQVM7QUFBQSxJQUNQO0FBQUEsRUFDRjtBQUFBLEVBQ0EsU0FBVztBQUFBLElBQ1QsS0FBSztBQUFBLE1BQ0gsT0FBUztBQUFBLE1BQ1QsUUFBVTtBQUFBLE1BQ1YsU0FBVztBQUFBLElBQ2I7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLE9BQVM7QUFBQSxNQUNULFFBQVU7QUFBQSxNQUNWLFNBQVc7QUFBQSxJQUNiO0FBQUEsSUFDQSxpQkFBaUI7QUFBQSxNQUNmLE9BQVM7QUFBQSxNQUNULFFBQVU7QUFBQSxNQUNWLFNBQVc7QUFBQSxJQUNiO0FBQUEsSUFDQSxZQUFZO0FBQUEsTUFDVixPQUFTO0FBQUEsTUFDVCxRQUFVO0FBQUEsTUFDVixTQUFXO0FBQUEsSUFDYjtBQUFBLEVBQ0Y7QUFBQSxFQUNBLFNBQVc7QUFBQSxJQUNULE9BQVM7QUFBQSxJQUNULEtBQU87QUFBQSxJQUNQLE9BQVM7QUFBQSxJQUNULFNBQVc7QUFBQSxJQUNYLFdBQWE7QUFBQSxJQUNiLE1BQVE7QUFBQSxJQUNSLGNBQWM7QUFBQSxFQUNoQjtBQUFBLEVBQ0EsY0FBZ0I7QUFBQSxJQUNkLGFBQWE7QUFBQSxJQUNiLGdCQUFn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
235
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL25leHQvbG9hZGVyLnRzIiwgIi4uLy4uL3BhY2thZ2UuanNvbiJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyB0eXBlIE1vZHVsZSwgcGFyc2VTeW5jIH0gZnJvbSBcIkBzd2MvY29yZVwiO1xuaW1wb3J0IHBrZyBmcm9tIFwiLi4vLi4vcGFja2FnZS5qc29uXCI7XG5cbnR5cGUgTG9hZGVyT3B0aW9ucyA9IHtcbiAgZGVidWc/OiBib29sZWFuO1xuICBhcHBEaXI/OiBzdHJpbmc7XG59O1xuXG50eXBlIExvYWRlckNvbnRleHQgPSB7XG4gIHJlc291cmNlUGF0aDogc3RyaW5nO1xuICBnZXRPcHRpb25zKCk6IExvYWRlck9wdGlvbnM7XG59O1xuXG5jb25zdCBQQUNLQUdFX05BTUUgPSBwa2cubmFtZTtcbmNvbnN0IEFHRU5UX1BST1RPQ09MX1ZFUlNJT04gPSBcInYxXCI7XG5jb25zdCBUWVBFU0NSSVBUX0VYVF9SRUdFWCA9IC9cXC4odHN8dHN4fG10c3xjdHMpJC87XG5cbi8qKlxuICogV2VicGFjay9UdXJib3BhY2sgbG9hZGVyIHRoYXQgd2lyZXMgdXAgYWdlbnQucnBjIGJ5IHJlcXVpcmluZyBzdGVwcy5qc1xuICogYXQgdGhlIEVORCBvZiB0aGUgZmlsZS4gVXNpbmcgcmVxdWlyZSgpIGF2b2lkcyBpbXBvcnQgaG9pc3RpbmcgaXNzdWVzLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhZ2VudFJwY0xvYWRlcihcbiAgdGhpczogTG9hZGVyQ29udGV4dCxcbiAgc291cmNlOiBzdHJpbmdcbik6IHN0cmluZyB7XG4gIGNvbnN0IHsgZGVidWcsIGFwcERpcjogYXBwRGlyT3B0aW9uIH0gPSB0aGlzLmdldE9wdGlvbnMoKTtcbiAgY29uc3QgbG9nID0gZGVidWdcbiAgICA/ICguLi5hcmdzOiB1bmtub3duW10pID0+IGNvbnNvbGUubG9nKFwiW2FnZW50LWxvYWRlcl1cIiwgLi4uYXJncylcbiAgICA6ICgpID0+IHVuZGVmaW5lZDtcblxuICBsb2coXCJwcm9jZXNzaW5nOlwiLCB0aGlzLnJlc291cmNlUGF0aCk7XG5cbiAgaWYgKCFzb3VyY2UuaW5jbHVkZXMoUEFDS0FHRV9OQU1FKSkge1xuICAgIGxvZyhcInNraXBwaW5nIC0gbm8gcGFja2FnZSBuYW1lXCIpO1xuICAgIHJldHVybiBzb3VyY2U7XG4gIH1cblxuICBjb25zdCBmaWxlbmFtZSA9IHRoaXMucmVzb3VyY2VQYXRoO1xuICBjb25zdCBpc1R5cGVTY3JpcHQgPSBUWVBFU0NSSVBUX0VYVF9SRUdFWC50ZXN0KGZpbGVuYW1lKTtcblxuICBsZXQgYXN0OiBNb2R1bGU7XG4gIHRyeSB7XG4gICAgYXN0ID0gcGFyc2VTeW5jKHNvdXJjZSwge1xuICAgICAgc3ludGF4OiBpc1R5cGVTY3JpcHQgPyBcInR5cGVzY3JpcHRcIiA6IFwiZWNtYXNjcmlwdFwiLFxuICAgICAgdHN4OiBmaWxlbmFtZS5lbmRzV2l0aChcIi50c3hcIiksXG4gICAgICBqc3g6IGZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzeFwiKSxcbiAgICB9KTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHNvdXJjZTtcbiAgfVxuXG4gIGNvbnN0IGFnZW50RXhwb3J0cyA9IGZpbmRBZ2VudEV4cG9ydHMoYXN0KTtcbiAgaWYgKGFnZW50RXhwb3J0cy5sZW5ndGggPT09IDApIHtcbiAgICBsb2coXCJza2lwcGluZyAtIG5vIGFnZW50IGV4cG9ydHNcIik7XG4gICAgcmV0dXJuIHNvdXJjZTtcbiAgfVxuXG4gIGxvZyhcImZvdW5kIGFnZW50IGV4cG9ydHM6XCIsIGFnZW50RXhwb3J0cyk7XG5cbiAgY29uc3QgZmlsZURpciA9IHBhdGguZGlybmFtZShmaWxlbmFtZSk7XG5cbiAgbGV0IGFwcERpcjogc3RyaW5nO1xuICBpZiAoYXBwRGlyT3B0aW9uKSB7XG4gICAgYXBwRGlyID0gYXBwRGlyT3B0aW9uO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHNyY0luZGV4ID0gZmlsZW5hbWUubGFzdEluZGV4T2YoYCR7cGF0aC5zZXB9c3JjJHtwYXRoLnNlcH1gKTtcbiAgICBpZiAoc3JjSW5kZXggIT09IC0xKSB7XG4gICAgICBjb25zdCBzcmNEaXIgPSBmaWxlbmFtZS5zdWJzdHJpbmcoMCwgc3JjSW5kZXggKyA0KTtcbiAgICAgIGFwcERpciA9IHBhdGguam9pbihzcmNEaXIsIFwiYXBwXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBhcHBTZXAgPSBgJHtwYXRoLnNlcH1hcHAke3BhdGguc2VwfWA7XG4gICAgICBjb25zdCBhcHBJbmRleCA9IGZpbGVuYW1lLmxhc3RJbmRleE9mKGFwcFNlcCk7XG4gICAgICBpZiAoYXBwSW5kZXggIT09IC0xKSB7XG4gICAgICAgIGFwcERpciA9IGZpbGVuYW1lLnN1YnN0cmluZygwLCBhcHBJbmRleCArIGFwcFNlcC5sZW5ndGggLSAxKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZyhcInNraXBwaW5nIC0gbm8gc3JjLyBvciBhcHAvIGRpciBmb3VuZFwiKTtcbiAgICAgICAgcmV0dXJuIHNvdXJjZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBzdGVwc1BhdGggPSBwYXRoLmpvaW4oXG4gICAgYXBwRGlyLFxuICAgIFwiLndlbGwta25vd25cIixcbiAgICBcImFnZW50XCIsXG4gICAgQUdFTlRfUFJPVE9DT0xfVkVSU0lPTixcbiAgICBcInN0ZXBzLmpzXCJcbiAgKTtcbiAgbGV0IHJlbGF0aXZlUGF0aCA9IHBhdGgucmVsYXRpdmUoZmlsZURpciwgc3RlcHNQYXRoKS5yZXBsYWNlKC9cXFxcL2csIFwiL1wiKTtcblxuICBpZiAoIShyZWxhdGl2ZVBhdGguc3RhcnRzV2l0aChcIi4vXCIpIHx8IHJlbGF0aXZlUGF0aC5zdGFydHNXaXRoKFwiLi4vXCIpKSkge1xuICAgIHJlbGF0aXZlUGF0aCA9IGAuLyR7cmVsYXRpdmVQYXRofWA7XG4gIH1cblxuICBjb25zdCBpbml0Q2FsbHMgPSBhZ2VudEV4cG9ydHNcbiAgICAubWFwKChuYW1lKSA9PiB7XG4gICAgICBjb25zdCBpbml0TmFtZSA9IGBfX2luaXQke25hbWVbMF0udG9VcHBlckNhc2UoKX0ke25hbWUuc2xpY2UoMSl9YDtcbiAgICAgIHJldHVybiBgJHtpbml0TmFtZX0oJHtuYW1lfSk7YDtcbiAgICB9KVxuICAgIC5qb2luKFwiXFxuXCIpO1xuXG4gIGNvbnN0IGluaXRJbXBvcnRzID0gYWdlbnRFeHBvcnRzXG4gICAgLm1hcCgobmFtZSkgPT4gYF9faW5pdCR7bmFtZVswXS50b1VwcGVyQ2FzZSgpfSR7bmFtZS5zbGljZSgxKX1gKVxuICAgIC5qb2luKFwiLCBcIik7XG5cbiAgbG9nKFwiaW5qZWN0aW5nIGluaXQgY2FsbHMgZm9yOlwiLCBhZ2VudEV4cG9ydHMpO1xuICByZXR1cm4gYCR7c291cmNlfVxuaW1wb3J0IHsgJHtpbml0SW1wb3J0c30gfSBmcm9tIFwiJHtyZWxhdGl2ZVBhdGh9XCI7XG4ke2luaXRDYWxsc31gO1xufVxuXG5mdW5jdGlvbiBmaW5kQWdlbnRFeHBvcnRzKGFzdDogTW9kdWxlKTogc3RyaW5nW10ge1xuICBsZXQgYWdlbnRMb2NhbE5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGZvciAoY29uc3QgaXRlbSBvZiBhc3QuYm9keSkge1xuICAgIGlmIChcbiAgICAgIGl0ZW0udHlwZSA9PT0gXCJJbXBvcnREZWNsYXJhdGlvblwiICYmXG4gICAgICBpdGVtLnNvdXJjZS52YWx1ZSA9PT0gUEFDS0FHRV9OQU1FXG4gICAgKSB7XG4gICAgICBmb3IgKGNvbnN0IHNwZWNpZmllciBvZiBpdGVtLnNwZWNpZmllcnMpIHtcbiAgICAgICAgaWYgKHNwZWNpZmllci50eXBlID09PSBcIkltcG9ydFNwZWNpZmllclwiKSB7XG4gICAgICAgICAgY29uc3QgaW1wb3J0ZWQgPVxuICAgICAgICAgICAgc3BlY2lmaWVyLmltcG9ydGVkPy50eXBlID09PSBcIklkZW50aWZpZXJcIlxuICAgICAgICAgICAgICA/IHNwZWNpZmllci5pbXBvcnRlZC52YWx1ZVxuICAgICAgICAgICAgICA6IHNwZWNpZmllci5sb2NhbC52YWx1ZTtcblxuICAgICAgICAgIGlmIChpbXBvcnRlZCA9PT0gXCJhZ2VudFwiKSB7XG4gICAgICAgICAgICBhZ2VudExvY2FsTmFtZSA9IHNwZWNpZmllci5sb2NhbC52YWx1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmICghYWdlbnRMb2NhbE5hbWUpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBleHBvcnRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgaXRlbSBvZiBhc3QuYm9keSkge1xuICAgIGlmIChpdGVtLnR5cGUgPT09IFwiRXhwb3J0RGVjbGFyYXRpb25cIiAmJiBpdGVtLmRlY2xhcmF0aW9uKSB7XG4gICAgICBjb25zdCBkZWNsID0gaXRlbS5kZWNsYXJhdGlvbjtcbiAgICAgIGlmIChkZWNsLnR5cGUgPT09IFwiVmFyaWFibGVEZWNsYXJhdGlvblwiKSB7XG4gICAgICAgIGZvciAoY29uc3QgZGVjbGFyYXRvciBvZiBkZWNsLmRlY2xhcmF0aW9ucykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGRlY2xhcmF0b3IuaWQudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICAgICAgICAgIGRlY2xhcmF0b3IuaW5pdD8udHlwZSA9PT0gXCJDYWxsRXhwcmVzc2lvblwiICYmXG4gICAgICAgICAgICBkZWNsYXJhdG9yLmluaXQuY2FsbGVlLnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmXG4gICAgICAgICAgICBkZWNsYXJhdG9yLmluaXQuY2FsbGVlLnZhbHVlID09PSBhZ2VudExvY2FsTmFtZVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZXhwb3J0cy5wdXNoKGRlY2xhcmF0b3IuaWQudmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBleHBvcnRzO1xufVxuIiwgIntcbiAgXCJuYW1lXCI6IFwiZXhwZXJpbWVudGFsLWFnZW50XCIsXG4gIFwidmVyc2lvblwiOiBcIjAuMi4zXCIsXG4gIFwibWFpblwiOiBcIi4vZGlzdC9pbmRleC5qc1wiLFxuICBcIm1vZHVsZVwiOiBcIi4vZGlzdC9pbmRleC5tanNcIixcbiAgXCJ0eXBlc1wiOiBcIi4vZGlzdC9pbmRleC5kLnRzXCIsXG4gIFwic2lkZUVmZmVjdHNcIjogdHJ1ZSxcbiAgXCJsaWNlbnNlXCI6IFwiTUlUXCIsXG4gIFwiZmlsZXNcIjogW1xuICAgIFwiZGlzdC8qKlwiXG4gIF0sXG4gIFwiZXhwb3J0c1wiOiB7XG4gICAgXCIuXCI6IHtcbiAgICAgIFwidHlwZXNcIjogXCIuL2Rpc3QvaW5kZXguZC50c1wiLFxuICAgICAgXCJpbXBvcnRcIjogXCIuL2Rpc3QvaW5kZXgubWpzXCIsXG4gICAgICBcInJlcXVpcmVcIjogXCIuL2Rpc3QvaW5kZXguanNcIlxuICAgIH0sXG4gICAgXCIuL3N0b3JhZ2VcIjoge1xuICAgICAgXCJ0eXBlc1wiOiBcIi4vZGlzdC9zdG9yYWdlLmQudHNcIixcbiAgICAgIFwiaW1wb3J0XCI6IFwiLi9kaXN0L3N0b3JhZ2UubWpzXCIsXG4gICAgICBcInJlcXVpcmVcIjogXCIuL2Rpc3Qvc3RvcmFnZS5qc1wiXG4gICAgfSxcbiAgICBcIi4vc2FuZGJveFwiOiB7XG4gICAgICBcInR5cGVzXCI6IFwiLi9kaXN0L3NhbmRib3guZC50c1wiLFxuICAgICAgXCJpbXBvcnRcIjogXCIuL2Rpc3Qvc2FuZGJveC5tanNcIixcbiAgICAgIFwicmVxdWlyZVwiOiBcIi4vZGlzdC9zYW5kYm94LmpzXCJcbiAgICB9LFxuICAgIFwiLi9uZXh0XCI6IHtcbiAgICAgIFwidHlwZXNcIjogXCIuL2Rpc3QvbmV4dC5kLnRzXCIsXG4gICAgICBcImltcG9ydFwiOiBcIi4vZGlzdC9uZXh0Lm1qc1wiLFxuICAgICAgXCJyZXF1aXJlXCI6IFwiLi9kaXN0L25leHQuanNcIlxuICAgIH0sXG4gICAgXCIuL25leHQvbG9hZGVyXCI6IHtcbiAgICAgIFwidHlwZXNcIjogXCIuL2Rpc3QvbmV4dC9sb2FkZXIuZC50c1wiLFxuICAgICAgXCJpbXBvcnRcIjogXCIuL2Rpc3QvbmV4dC9sb2FkZXIubWpzXCIsXG4gICAgICBcInJlcXVpcmVcIjogXCIuL2Rpc3QvbmV4dC9sb2FkZXIuanNcIlxuICAgIH0sXG4gICAgXCIuL2NsaWVudFwiOiB7XG4gICAgICBcInR5cGVzXCI6IFwiLi9kaXN0L2NsaWVudC5kLnRzXCIsXG4gICAgICBcImltcG9ydFwiOiBcIi4vZGlzdC9jbGllbnQubWpzXCIsXG4gICAgICBcInJlcXVpcmVcIjogXCIuL2Rpc3QvY2xpZW50LmpzXCJcbiAgICB9LFxuICAgIFwiLi9saWZlY3ljbGUtd29ya2Zsb3dcIjoge1xuICAgICAgXCJ0eXBlc1wiOiBcIi4vZGlzdC9saWZlY3ljbGUtd29ya2Zsb3cuZC50c1wiLFxuICAgICAgXCJpbXBvcnRcIjogXCIuL2Rpc3QvbGlmZWN5Y2xlLXdvcmtmbG93Lm1qc1wiLFxuICAgICAgXCJyZXF1aXJlXCI6IFwiLi9kaXN0L2xpZmVjeWNsZS13b3JrZmxvdy5qc1wiXG4gICAgfSxcbiAgICBcIi4vbGlmZWN5Y2xlLXdvcmtmbG93LXN0ZXBzXCI6IHtcbiAgICAgIFwidHlwZXNcIjogXCIuL2Rpc3QvbGlmZWN5Y2xlLXdvcmtmbG93LXN0ZXBzLmQudHNcIixcbiAgICAgIFwiaW1wb3J0XCI6IFwiLi9kaXN0L2xpZmVjeWNsZS13b3JrZmxvdy1zdGVwcy5tanNcIixcbiAgICAgIFwicmVxdWlyZVwiOiBcIi4vZGlzdC9saWZlY3ljbGUtd29ya2Zsb3ctc3RlcHMuanNcIlxuICAgIH1cbiAgfSxcbiAgXCJzY3JpcHRzXCI6IHtcbiAgICBcImJ1aWxkXCI6IFwidHN1cFwiLFxuICAgIFwiZGV2XCI6IFwidHN1cCAtLXdhdGNoXCIsXG4gICAgXCJjbGVhblwiOiBcInJtIC1yZiAudHVyYm8gJiYgcm0gLXJmIG5vZGVfbW9kdWxlcyAmJiBybSAtcmYgZGlzdFwiLFxuICAgIFwicmVsZWFzZVwiOiBcInBucG0gYnVpbGQgJiYgbnBtIHB1Ymxpc2hcIixcbiAgICBcInR5cGVjaGVja1wiOiBcInRzYyAtLW5vRW1pdFwiLFxuICAgIFwidGVzdFwiOiBcInZpdGVzdCBydW5cIixcbiAgICBcInRlc3Q6d2F0Y2hcIjogXCJ2aXRlc3RcIlxuICB9LFxuICBcImRlcGVuZGVuY2llc1wiOiB7XG4gICAgXCJAc3djL2NvcmVcIjogXCJeMS4xMC4wXCIsXG4gICAgXCJAdmVyY2VsL29pZGNcIjogXCJeMy4xLjBcIixcbiAgICBcIkB2ZXJjZWwvc2FuZGJveFwiOiBcIjEuNy4xXCIsXG4gICAgXCJAd29ya2Zsb3cvc2VyZGVcIjogXCI0LjEuMC1iZXRhLjJcIixcbiAgICBcImJldHRlci1hbGxcIjogXCJeMC4wLjVcIixcbiAgICBcImVycm9yZVwiOiBcIl4wLjE0LjBcIixcbiAgICBcImZhc3QtZGVlcC1lcXVhbFwiOiBcIl4zLjEuM1wiLFxuICAgIFwidWxpZFwiOiBcIl4zLjAuMlwiLFxuICAgIFwiem9kXCI6IFwiXjQuMy42XCJcbiAgfSxcbiAgXCJkZXZEZXBlbmRlbmNpZXNcIjoge1xuICAgIFwiQGFnZW50L3RzY29uZmlnXCI6IFwid29ya3NwYWNlOipcIixcbiAgICBcIkB0eXBlcy9ub2RlXCI6IFwiXjIwLjExLjI0XCIsXG4gICAgXCJkb3RlbnZcIjogXCJeMTcuMi4zXCIsXG4gICAgXCJuZXh0XCI6IFwiXjE2LjAuMFwiLFxuICAgIFwidHN1cFwiOiBcIl44LjAuMlwiLFxuICAgIFwidHlwZXNjcmlwdFwiOiBcIjUuNS40XCIsXG4gICAgXCJ2aXRlc3RcIjogXCJeMy4wLjBcIixcbiAgICBcIndvcmtmbG93XCI6IFwiNC4xLjAtYmV0YS42MFwiXG4gIH0sXG4gIFwicGVlckRlcGVuZGVuY2llc1wiOiB7XG4gICAgXCJhaVwiOiBcIl42LjAuMFwiXG4gIH0sXG4gIFwicHVibGlzaENvbmZpZ1wiOiB7XG4gICAgXCJhY2Nlc3NcIjogXCJwdWJsaWNcIlxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsV0FBc0I7QUFDdEIsa0JBQXVDOzs7QUNEdkM7QUFBQSxFQUNFLE1BQVE7QUFBQSxFQUNSLFNBQVc7QUFBQSxFQUNYLE1BQVE7QUFBQSxFQUNSLFFBQVU7QUFBQSxFQUNWLE9BQVM7QUFBQSxFQUNULGFBQWU7QUFBQSxFQUNmLFNBQVc7QUFBQSxFQUNYLE9BQVM7QUFBQSxJQUNQO0FBQUEsRUFDRjtBQUFBLEVBQ0EsU0FBVztBQUFBLElBQ1QsS0FBSztBQUFBLE1BQ0gsT0FBUztBQUFBLE1BQ1QsUUFBVTtBQUFBLE1BQ1YsU0FBVztBQUFBLElBQ2I7QUFBQSxJQUNBLGFBQWE7QUFBQSxNQUNYLE9BQVM7QUFBQSxNQUNULFFBQVU7QUFBQSxNQUNWLFNBQVc7QUFBQSxJQUNiO0FBQUEsSUFDQSxhQUFhO0FBQUEsTUFDWCxPQUFTO0FBQUEsTUFDVCxRQUFVO0FBQUEsTUFDVixTQUFXO0FBQUEsSUFDYjtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1IsT0FBUztBQUFBLE1BQ1QsUUFBVTtBQUFBLE1BQ1YsU0FBVztBQUFBLElBQ2I7QUFBQSxJQUNBLGlCQUFpQjtBQUFBLE1BQ2YsT0FBUztBQUFBLE1BQ1QsUUFBVTtBQUFBLE1BQ1YsU0FBVztBQUFBLElBQ2I7QUFBQSxJQUNBLFlBQVk7QUFBQSxNQUNWLE9BQVM7QUFBQSxNQUNULFFBQVU7QUFBQSxNQUNWLFNBQVc7QUFBQSxJQUNiO0FBQUEsSUFDQSx3QkFBd0I7QUFBQSxNQUN0QixPQUFTO0FBQUEsTUFDVCxRQUFVO0FBQUEsTUFDVixTQUFXO0FBQUEsSUFDYjtBQUFBLElBQ0EsOEJBQThCO0FBQUEsTUFDNUIsT0FBUztBQUFBLE1BQ1QsUUFBVTtBQUFBLE1BQ1YsU0FBVztBQUFBLElBQ2I7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LGFBQWEsV0FBVyxLQUFLLElBQUk7QUFDdEUsbUJBQWUsS0FBSyxZQUFZO0FBQUEsRUFDbEM7QUFFQSxRQUFNLFlBQVksYUFDZixJQUFJLENBQUMsU0FBUztBQUNiLFVBQU0sV0FBVyxTQUFTLEtBQUssQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLEtBQUssTUFBTSxDQUFDLENBQUM7QUFDL0QsV0FBTyxHQUFHLFFBQVEsSUFBSSxJQUFJO0FBQUEsRUFDNUIsQ0FBQyxFQUNBLEtBQUssSUFBSTtBQUVaLFFBQU0sY0FBYyxhQUNqQixJQUFJLENBQUMsU0FBUyxTQUFTLEtBQUssQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxFQUM5RCxLQUFLLElBQUk7QUFFWixNQUFJLDZCQUE2QixZQUFZO0FBQzdDLFNBQU8sR0FBRyxNQUFNO0FBQUEsV0FDUCxXQUFXLFlBQVksWUFBWTtBQUFBLEVBQzVDLFNBQVM7QUFDWDtBQUVBLFNBQVMsaUJBQWlCLEtBQXVCO0FBQy9DLE1BQUksaUJBQWdDO0FBRXBDLGFBQVcsUUFBUSxJQUFJLE1BQU07QUFDM0IsUUFDRSxLQUFLLFNBQVMsdUJBQ2QsS0FBSyxPQUFPLFVBQVUsY0FDdEI7QUFDQSxpQkFBVyxhQUFhLEtBQUssWUFBWTtBQUN2QyxZQUFJLFVBQVUsU0FBUyxtQkFBbUI7QUFDeEMsZ0JBQU0sV0FDSixVQUFVLFVBQVUsU0FBUyxlQUN6QixVQUFVLFNBQVMsUUFDbkIsVUFBVSxNQUFNO0FBRXRCLGNBQUksYUFBYSxTQUFTO0FBQ3hCLDZCQUFpQixVQUFVLE1BQU07QUFDakM7QUFBQSxVQUNGO0FBQUEsUUFDRjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUVBLE1BQUksQ0FBQyxnQkFBZ0I7QUFDbkIsV0FBTyxDQUFDO0FBQUEsRUFDVjtBQUVBLFFBQU1BLFdBQW9CLENBQUM7QUFFM0IsYUFBVyxRQUFRLElBQUksTUFBTTtBQUMzQixRQUFJLEtBQUssU0FBUyx1QkFBdUIsS0FBSyxhQUFhO0FBQ3pELFlBQU0sT0FBTyxLQUFLO0FBQ2xCLFVBQUksS0FBSyxTQUFTLHVCQUF1QjtBQUN2QyxtQkFBVyxjQUFjLEtBQUssY0FBYztBQUMxQyxjQUNFLFdBQVcsR0FBRyxTQUFTLGdCQUN2QixXQUFXLE1BQU0sU0FBUyxvQkFDMUIsV0FBVyxLQUFLLE9BQU8sU0FBUyxnQkFDaEMsV0FBVyxLQUFLLE9BQU8sVUFBVSxnQkFDakM7QUFDQSxZQUFBQSxTQUFRLEtBQUssV0FBVyxHQUFHLEtBQUs7QUFBQSxVQUNsQztBQUFBLFFBQ0Y7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFFQSxTQUFPQTtBQUNUOyIsCiAgIm5hbWVzIjogWyJleHBvcnRzIl0KfQo=
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  package_default
3
- } from "../chunk-7M6UPURS.mjs";
3
+ } from "../chunk-ELWIUJUK.mjs";
4
4
  import "../chunk-BJTO5JO5.mjs";
5
5
 
6
6
  // src/next/loader.ts
package/dist/next.js CHANGED
@@ -55,6 +55,16 @@ var package_default = {
55
55
  import: "./dist/index.mjs",
56
56
  require: "./dist/index.js"
57
57
  },
58
+ "./storage": {
59
+ types: "./dist/storage.d.ts",
60
+ import: "./dist/storage.mjs",
61
+ require: "./dist/storage.js"
62
+ },
63
+ "./sandbox": {
64
+ types: "./dist/sandbox.d.ts",
65
+ import: "./dist/sandbox.mjs",
66
+ require: "./dist/sandbox.js"
67
+ },
58
68
  "./next": {
59
69
  types: "./dist/next.d.ts",
60
70
  import: "./dist/next.mjs",
@@ -69,6 +79,16 @@ var package_default = {
69
79
  types: "./dist/client.d.ts",
70
80
  import: "./dist/client.mjs",
71
81
  require: "./dist/client.js"
82
+ },
83
+ "./lifecycle-workflow": {
84
+ types: "./dist/lifecycle-workflow.d.ts",
85
+ import: "./dist/lifecycle-workflow.mjs",
86
+ require: "./dist/lifecycle-workflow.js"
87
+ },
88
+ "./lifecycle-workflow-steps": {
89
+ types: "./dist/lifecycle-workflow-steps.d.ts",
90
+ import: "./dist/lifecycle-workflow-steps.mjs",
91
+ require: "./dist/lifecycle-workflow-steps.js"
72
92
  }
73
93
  },
74
94
  scripts: {
@@ -83,10 +103,11 @@ var package_default = {
83
103
  dependencies: {
84
104
  "@swc/core": "^1.10.0",
85
105
  "@vercel/oidc": "^3.1.0",
106
+ "@vercel/sandbox": "1.7.1",
107
+ "@workflow/serde": "4.1.0-beta.2",
86
108
  "better-all": "^0.0.5",
87
- errore: "^0.8.2",
109
+ errore: "^0.14.0",
88
110
  "fast-deep-equal": "^3.1.3",
89
- "@vercel/sandbox": "1.7.1",
90
111
  ulid: "^3.0.2",
91
112
  zod: "^4.3.6"
92
113
  },
@@ -97,11 +118,11 @@ var package_default = {
97
118
  next: "^16.0.0",
98
119
  tsup: "^8.0.2",
99
120
  typescript: "5.5.4",
100
- vitest: "^3.0.0"
121
+ vitest: "^3.0.0",
122
+ workflow: "4.1.0-beta.60"
101
123
  },
102
124
  peerDependencies: {
103
- ai: "^6.0.0",
104
- workflow: "*"
125
+ ai: "^6.0.0"
105
126
  },
106
127
  publishConfig: {
107
128
  access: "public"
@@ -342,4 +363,4 @@ function withAgent(configOrFn, agentConfig) {
342
363
  0 && (module.exports = {
343
364
  withAgent
344
365
  });
345
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25leHQvaW5kZXgudHMiLCAiLi4vcGFja2FnZS5qc29uIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSBcIm5vZGU6Y3J5cHRvXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgdHlwZSB7IE5leHRDb25maWcgfSBmcm9tIFwibmV4dFwiO1xuaW1wb3J0IHBrZyBmcm9tIFwiLi4vLi4vcGFja2FnZS5qc29uXCI7XG5cbmV4cG9ydCB0eXBlIFdpdGhBZ2VudENvbmZpZyA9IHtcbiAgLyoqIEVuYWJsZSBkZWJ1ZyBsb2dnaW5nIGZvciB0aGUgTmV4dC5qcyBsb2FkZXIgKGFnZW50IGRldGVjdGlvbiwgZmlsZSBnZW5lcmF0aW9uKS4gKi9cbiAgZGVidWc/OiBib29sZWFuO1xufTtcblxuY29uc3QgUEFDS0FHRV9OQU1FID0gcGtnLm5hbWU7XG5jb25zdCBBR0VOVF9QUk9UT0NPTF9WRVJTSU9OID0gXCJ2MVwiO1xuY29uc3QgRklMRV9FWFRfUkVHRVggPSAvXFwuKHRzfHRzeHxqc3xqc3gpJC87XG5jb25zdCBBR0VOVF9FWFBPUlRfUkVHRVggPSAvZXhwb3J0XFxzK2NvbnN0XFxzKyhcXHcrKVxccyo9XFxzKmFnZW50XFxzKlxcKC9nO1xuY29uc3QgREVGQVVMVF9XT1JLRkxPV19ESVJTID0gW1wicGFnZXNcIiwgXCJhcHBcIiwgXCJzcmMvcGFnZXNcIiwgXCJzcmMvYXBwXCJdO1xuXG50eXBlIERldGVjdGVkQWdlbnQgPSB7XG4gIGV4cG9ydE5hbWU6IHN0cmluZztcbiAgZmlsZVBhdGg6IHN0cmluZztcbiAgLyoqIFVuaXF1ZSBpZGVudGlmaWVyOiBleHBvcnROYW1lIG9yIGV4cG9ydE5hbWVfaGFzaCBpZiBkdXBsaWNhdGVzIGV4aXN0ICovXG4gIHVuaXF1ZUlkOiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBzaG9ydEhhc2goc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgaGFzaCA9IDA7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgY2hhciA9IHN0ci5jaGFyQ29kZUF0KGkpO1xuICAgIC8vIGJpb21lLWlnbm9yZSBsaW50L3N1c3BpY2lvdXMvbm9CaXR3aXNlT3BlcmF0b3JzOiBpbnRlbnRpb25hbCBoYXNoIGNvbXB1dGF0aW9uXG4gICAgaGFzaCA9IChoYXNoIDw8IDUpIC0gaGFzaCArIGNoYXI7XG4gICAgLy8gYmlvbWUtaWdub3JlIGxpbnQvc3VzcGljaW91cy9ub0JpdHdpc2VPcGVyYXRvcnM6IGNvbnZlcnQgdG8gMzItYml0IGludGVnZXJcbiAgICBoYXNoICY9IGhhc2g7XG4gIH1cbiAgcmV0dXJuIE1hdGguYWJzKGhhc2gpLnRvU3RyaW5nKDM2KS5zbGljZSgwLCA2KTtcbn1cblxuZnVuY3Rpb24gaGFzTmV4dEFwcExheW91dChkaXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gW1wibGF5b3V0LnRzeFwiLCBcImxheW91dC50c1wiLCBcImxheW91dC5qc1wiLCBcImxheW91dC5qc3hcIl0uc29tZSgoZikgPT5cbiAgICBmcy5leGlzdHNTeW5jKHBhdGguam9pbihkaXIsIGYpKVxuICApO1xufVxuXG4vKipcbiAqIERldGVjdHMgd2hldGhlciB0aGUgcHJvamVjdCB1c2VzIHNyYy9hcHAgb3IgYXBwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVcbiAqIGJ5IGNoZWNraW5nIHdoaWNoIGRpcmVjdG9yeSBjb250YWlucyBhIE5leHQuanMgbGF5b3V0IGZpbGUuXG4gKiBSZXR1cm5zIHRoZSBhcHAgZGlyZWN0b3J5IHBhdGggcmVsYXRpdmUgdG8gY3dkLlxuICovXG5mdW5jdGlvbiBnZXRBcHBEaXIoY3dkOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBzcmNBcHBEaXIgPSBwYXRoLmpvaW4oY3dkLCBcInNyY1wiLCBcImFwcFwiKTtcbiAgY29uc3Qgcm9vdEFwcERpciA9IHBhdGguam9pbihjd2QsIFwiYXBwXCIpO1xuXG4gIGlmIChoYXNOZXh0QXBwTGF5b3V0KHNyY0FwcERpcikpIHtcbiAgICByZXR1cm4gXCJzcmMvYXBwXCI7XG4gIH1cbiAgaWYgKGhhc05leHRBcHBMYXlvdXQocm9vdEFwcERpcikpIHtcbiAgICByZXR1cm4gXCJhcHBcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBGYWxsYmFjayB3aGVuIG5laXRoZXIgZGlyZWN0b3J5IGhhcyBhIGxheW91dCBmaWxlIHlldFxuICAgKiAoZS5nLiBmcmVzaCBwcm9qZWN0KS4gUHJlZmVyIHNyYy9hcHAgaWYgdGhlIGRpcmVjdG9yeSBleGlzdHMuXG4gICAqL1xuICBpZiAoZnMuZXhpc3RzU3luYyhzcmNBcHBEaXIpKSB7XG4gICAgcmV0dXJuIFwic3JjL2FwcFwiO1xuICB9XG4gIHJldHVybiBcImFwcFwiO1xufVxuXG4vKipcbiAqIFNjYW5zIGZvciBhZ2VudCBleHBvcnRzIGluIHRoZSBwcm9qZWN0LlxuICovXG5mdW5jdGlvbiBkZXRlY3RBZ2VudHMoY3dkOiBzdHJpbmcsIGRlYnVnOiBib29sZWFuKTogRGV0ZWN0ZWRBZ2VudFtdIHtcbiAgY29uc3QgYWdlbnRzOiBEZXRlY3RlZEFnZW50W10gPSBbXTtcblxuICBjb25zdCBkaXJzVG9TY2FuID0gW3BhdGguam9pbihjd2QsIFwic3JjXCIpLCBjd2RdO1xuXG4gIGZ1bmN0aW9uIHNjYW5EaXIoZGlyOiBzdHJpbmcpIHtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoZGlyKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVudHJpZXMgPSBmcy5yZWFkZGlyU3luYyhkaXIsIHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KTtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGNvbnN0IGZ1bGxQYXRoID0gcGF0aC5qb2luKGRpciwgZW50cnkubmFtZSk7XG4gICAgICBpZiAoXG4gICAgICAgIGVudHJ5LmlzRGlyZWN0b3J5KCkgJiZcbiAgICAgICAgIWVudHJ5Lm5hbWUuc3RhcnRzV2l0aChcIi5cIikgJiZcbiAgICAgICAgZW50cnkubmFtZSAhPT0gXCJub2RlX21vZHVsZXNcIiAmJlxuICAgICAgICBlbnRyeS5uYW1lICE9PSBcInNyY1wiXG4gICAgICApIHtcbiAgICAgICAgc2NhbkRpcihmdWxsUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKGVudHJ5LmlzRmlsZSgpICYmIEZJTEVfRVhUX1JFR0VYLnRlc3QoZW50cnkubmFtZSkpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZ1bGxQYXRoLCBcInV0Zi04XCIpO1xuICAgICAgICAgIGlmIChjb250ZW50LmluY2x1ZGVzKFBBQ0tBR0VfTkFNRSkgJiYgY29udGVudC5pbmNsdWRlcyhcImFnZW50KFwiKSkge1xuICAgICAgICAgICAgLy8gU3RyaXAgc2luZ2xlLWxpbmUgY29tbWVudHMgYW5kIGJsb2NrIGNvbW1lbnRzIHRvIGF2b2lkXG4gICAgICAgICAgICAvLyBtYXRjaGluZyBjb21tZW50ZWQtb3V0IGFnZW50IGV4cG9ydHNcbiAgICAgICAgICAgIGNvbnN0IHN0cmlwcGVkID0gY29udGVudFxuICAgICAgICAgICAgICAucmVwbGFjZSgvXFwvXFwvLiokL2dtLCBcIlwiKVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXFwvXFwqW1xcc1xcU10qP1xcKlxcLy9nLCBcIlwiKTtcbiAgICAgICAgICAgIGNvbnN0IGV4cG9ydE1hdGNoZXMgPSBzdHJpcHBlZC5tYXRjaEFsbChBR0VOVF9FWFBPUlRfUkVHRVgpO1xuICAgICAgICAgICAgY29uc3Qgc2VlbiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBtYXRjaCBvZiBleHBvcnRNYXRjaGVzKSB7XG4gICAgICAgICAgICAgIGlmIChzZWVuLmhhcyhtYXRjaFsxXSkpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBzZWVuLmFkZChtYXRjaFsxXSk7XG4gICAgICAgICAgICAgIGFnZW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgICBleHBvcnROYW1lOiBtYXRjaFsxXSxcbiAgICAgICAgICAgICAgICBmaWxlUGF0aDogZnVsbFBhdGgsXG4gICAgICAgICAgICAgICAgdW5pcXVlSWQ6IFwiXCIsIC8vIFdpbGwgYmUgc2V0IGFmdGVyIGFsbCBhZ2VudHMgYXJlIGZvdW5kXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBpZiAoZGVidWcpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICAgICAgIGBbd2l0aEFnZW50XSBGb3VuZCBhZ2VudDogJHttYXRjaFsxXX0gaW4gJHtmdWxsUGF0aH1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgLy8gSWdub3JlIHJlYWQgZXJyb3JzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmb3IgKGNvbnN0IGRpciBvZiBkaXJzVG9TY2FuKSB7XG4gICAgc2NhbkRpcihkaXIpO1xuICB9XG5cbiAgLy8gQXNzaWduIHVuaXF1ZSBJRHMgLSBhZGQgaGFzaCBzdWZmaXggaWYgZHVwbGljYXRlIGV4cG9ydCBuYW1lcyBleGlzdFxuICBjb25zdCBuYW1lQ291bnRzID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcbiAgZm9yIChjb25zdCBhZ2VudCBvZiBhZ2VudHMpIHtcbiAgICBuYW1lQ291bnRzLnNldChcbiAgICAgIGFnZW50LmV4cG9ydE5hbWUsXG4gICAgICAobmFtZUNvdW50cy5nZXQoYWdlbnQuZXhwb3J0TmFtZSkgfHwgMCkgKyAxXG4gICAgKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgYWdlbnQgb2YgYWdlbnRzKSB7XG4gICAgY29uc3QgY291bnQgPSBuYW1lQ291bnRzLmdldChhZ2VudC5leHBvcnROYW1lKSA/PyAwO1xuICAgIGlmIChjb3VudCA+IDEpIHtcbiAgICAgIGFnZW50LnVuaXF1ZUlkID0gYCR7YWdlbnQuZXhwb3J0TmFtZX1fJHtzaG9ydEhhc2goYWdlbnQuZmlsZVBhdGgpfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFnZW50LnVuaXF1ZUlkID0gYWdlbnQuZXhwb3J0TmFtZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYWdlbnRzO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhbGwgYWdlbnQgZmlsZXMgaW4gLndlbGwta25vd24vYWdlbnQvdjEvOlxuICogLSBzdGVwcy5qczogUlBDIHN0ZXAgZnVuY3Rpb25zIHdpdGggXCJ1c2Ugc3RlcFwiXG4gKiAtIHJvdXRlLmpzOiB0cmlnZ2VycyB3b3JrZmxvdyBkaXNjb3ZlcnlcbiAqL1xuZnVuY3Rpb24gZ2VuZXJhdGVBZ2VudEZpbGVzKFxuICBhZ2VudHM6IERldGVjdGVkQWdlbnRbXSxcbiAgb3V0cHV0RGlyOiBzdHJpbmcsXG4gIF9jd2Q6IHN0cmluZyxcbiAgZGVidWc6IGJvb2xlYW5cbik6IHZvaWQge1xuICBpZiAoYWdlbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgIGlmIChkZWJ1Zykge1xuICAgICAgY29uc29sZS5sb2coXCJbd2l0aEFnZW50XSBObyBhZ2VudHMgZm91bmQsIHNraXBwaW5nIGdlbmVyYXRpb25cIik7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghZnMuZXhpc3RzU3luYyhvdXRwdXREaXIpKSB7XG4gICAgZnMubWtkaXJTeW5jKG91dHB1dERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgc3RlcCBmdW5jdGlvbnMgdGhhdCB1c2UgZHluYW1pYyBpbXBvcnQuXG4gICAqIER5bmFtaWMgaW1wb3J0IGVuc3VyZXMgdGhlIGFnZW50IG1vZHVsZSBsb2FkcyAoaW5jbHVkaW5nIGxvYWRlci1pbmplY3RlZCBpbml0KVxuICAgKiB3aGVuIHRoZSBzdGVwIHJ1bnMgaW4gd29ya2Zsb3cgY29udGV4dCwgYXZvaWRpbmcgdGhlIFwibm90IGluaXRpYWxpemVkXCIgZXJyb3IuXG4gICAqXG4gICAqIFVzZXMgdW5pcXVlSWQgZm9yIGZ1bmN0aW9uIG5hbWVzIHRvIGhhbmRsZSBkdXBsaWNhdGUgZXhwb3J0IG5hbWVzIGFjcm9zcyBmaWxlcy5cbiAgICovXG4gIGNvbnN0IHJwY0Z1bmN0aW9ucyA9IGFnZW50c1xuICAgIC5tYXAoKGEpID0+IHtcbiAgICAgIC8vIENhbGN1bGF0ZSByZWxhdGl2ZSBwYXRoIGZyb20gc3RlcHMuanMgdG8gdGhlIGFnZW50IGZpbGVcbiAgICAgIGxldCBhZ2VudFJlbFBhdGggPSBwYXRoXG4gICAgICAgIC5yZWxhdGl2ZShvdXRwdXREaXIsIGEuZmlsZVBhdGgpXG4gICAgICAgIC5yZXBsYWNlKC9cXFxcL2csIFwiL1wiKTtcblxuICAgICAgaWYgKCFhZ2VudFJlbFBhdGguc3RhcnRzV2l0aChcIi5cIikpIHtcbiAgICAgICAgYWdlbnRSZWxQYXRoID0gYC4vJHthZ2VudFJlbFBhdGh9YDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGBcbmV4cG9ydCBjb25zdCAke2EudW5pcXVlSWR9UnBjID0gYXN5bmMgKHBhcmFtcykgPT4ge1xuICBcInVzZSBzdGVwXCI7XG4gIGNvbnN0IHsgJHthLmV4cG9ydE5hbWV9IH0gPSBhd2FpdCBpbXBvcnQoXCIke2FnZW50UmVsUGF0aH1cIik7XG4gIGNvbnN0IHJlcyA9IGF3YWl0ICR7YS5leHBvcnROYW1lfS5oYW5kbGVyKHBhcmFtcyk7XG4gIGlmIChyZXMgaW5zdGFuY2VvZiBSZXNwb25zZSkge1xuICAgIHJldHVybiByZXMuanNvbigpO1xuICB9XG4gIHJldHVybiByZXM7XG59O2A7XG4gICAgfSlcbiAgICAuam9pbihcIlxcblwiKTtcblxuICAvKipcbiAgICogSW5pdCBmdW5jdGlvbnMgd2lyZSB1cCBhZ2VudC5ycGMgaW4gdGhlIG1haW4gYXBwIGNvbnRleHQuXG4gICAqIFVzZXMgZXhwb3J0TmFtZSBmb3IgdGhlIGZ1bmN0aW9uIG5hbWUgKGxvYWRlciBtYXRjaGVzIGJ5IGV4cG9ydCBuYW1lKSxcbiAgICogYnV0IHJlZmVyZW5jZXMgdW5pcXVlSWQgZm9yIHRoZSBScGMgZnVuY3Rpb24uXG4gICAqL1xuICBjb25zdCBpbml0RnVuY3Rpb25zID0gYWdlbnRzXG4gICAgLm1hcChcbiAgICAgIChhKSA9PiBgXG5leHBvcnQgZnVuY3Rpb24gX19pbml0JHthLmV4cG9ydE5hbWVbMF0udG9VcHBlckNhc2UoKX0ke2EuZXhwb3J0TmFtZS5zbGljZShcbiAgICAgICAgMVxuICAgICAgKX0oYWdlbnQpIHtcbiAgYWdlbnQucnBjID0gJHthLnVuaXF1ZUlkfVJwYztcbn1gXG4gICAgKVxuICAgIC5qb2luKFwiXFxuXCIpO1xuXG4gIGNvbnN0IHN0ZXBzQ29udGVudCA9IGAvLyBBdXRvLWdlbmVyYXRlZCBieSB3aXRoQWdlbnQgLSBkbyBub3QgZWRpdFxuJHtycGNGdW5jdGlvbnN9XG4ke2luaXRGdW5jdGlvbnN9XG5gO1xuXG4gIGNvbnN0IHN0ZXBzUGF0aCA9IHBhdGguam9pbihvdXRwdXREaXIsIFwic3RlcHMuanNcIik7XG4gIGZzLndyaXRlRmlsZVN5bmMoc3RlcHNQYXRoLCBzdGVwc0NvbnRlbnQpO1xuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSByb3V0ZS5qcyB0aGF0IGltcG9ydHMgc3RlcHMuanMuXG4gICAqIFRoaXMgZW5zdXJlcyB3b3JrZmxvdyBkaXNjb3ZlcnMgdGhlIFwidXNlIHN0ZXBcIiBmdW5jdGlvbnMuXG4gICAqIE5vIGFjdHVhbCBoYW5kbGVyIG5lZWRlZCAtIHN0b3JhZ2UgUlBDIHVzZXMgdGhlIHN0ZXAgZnVuY3Rpb24gZGlyZWN0bHkuXG4gICAqL1xuICBjb25zdCByb3V0ZUNvbnRlbnQgPSBgLy8gQXV0by1nZW5lcmF0ZWQgYnkgd2l0aEFnZW50IC0gdHJpZ2dlcnMgd29ya2Zsb3cgZGlzY292ZXJ5XG5pbXBvcnQgXCIuL3N0ZXBzLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gR0VUKCkge1xuICByZXR1cm4gbmV3IFJlc3BvbnNlKFwib2tcIik7XG59XG5gO1xuXG4gIGNvbnN0IHJvdXRlUGF0aCA9IHBhdGguam9pbihvdXRwdXREaXIsIFwicm91dGUuanNcIik7XG4gIGZzLndyaXRlRmlsZVN5bmMocm91dGVQYXRoLCByb3V0ZUNvbnRlbnQpO1xuXG4gIC8vIEFkZCAuZ2l0aWdub3JlXG4gIGNvbnN0IGdpdGlnbm9yZVBhdGggPSBwYXRoLmpvaW4ob3V0cHV0RGlyLCBcIi5naXRpZ25vcmVcIik7XG4gIGlmICghZnMuZXhpc3RzU3luYyhnaXRpZ25vcmVQYXRoKSkge1xuICAgIGZzLndyaXRlRmlsZVN5bmMoZ2l0aWdub3JlUGF0aCwgXCIqXFxuXCIpO1xuICB9XG5cbiAgaWYgKGRlYnVnKSB7XG4gICAgY29uc29sZS5sb2coYFt3aXRoQWdlbnRdIEdlbmVyYXRlZCBhZ2VudCBmaWxlcyBhdCAke291dHB1dERpcn1gKTtcbiAgfVxufVxuXG50eXBlIFR1cmJvcGFja0xvYWRlciA9IHN0cmluZyB8IHsgbG9hZGVyOiBzdHJpbmc7IG9wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB9O1xuXG50eXBlIFR1cmJvcGFja1J1bGUgPSB7XG4gIGxvYWRlcnM/OiBUdXJib3BhY2tMb2FkZXJbXTtcbiAgY29uZGl0aW9uPzoge1xuICAgIGFsbD86IHVua25vd25bXTtcbiAgICBhbnk/OiB1bmtub3duW107XG4gICAgcGF0aD86IFJlZ0V4cDtcbiAgICBjb250ZW50PzogUmVnRXhwO1xuICAgIG5vdD86IHVua25vd247XG4gIH07XG59O1xuXG50eXBlIFdvcmtmbG93Q29uZmlnRm4gPSAoXG4gIHBoYXNlOiBzdHJpbmcsXG4gIGN0eDogeyBkZWZhdWx0Q29uZmlnOiBOZXh0Q29uZmlnIH1cbikgPT4gUHJvbWlzZTxOZXh0Q29uZmlnPjtcblxudHlwZSBOZXh0Q29uZmlnSW5wdXQgPVxuICB8IE5leHRDb25maWdcbiAgfCAoKFxuICAgICAgcGhhc2U6IHN0cmluZyxcbiAgICAgIGN0eDogeyBkZWZhdWx0Q29uZmlnOiBOZXh0Q29uZmlnIH1cbiAgICApID0+IFByb21pc2U8TmV4dENvbmZpZz4pO1xuXG4vKipcbiAqIE5leHQuanMgcGx1Z2luIHRoYXQgY29uZmlndXJlcyBhZ2VudCBzdXBwb3J0LlxuICpcbiAqIC0gRGV0ZWN0cyBhZ2VudHMgYW5kIGdlbmVyYXRlcyBSUEMgc3RlcHMgd2l0aCBcInVzZSBzdGVwXCIgaW4gLndlbGwta25vd24vYWdlbnQvdjEvXG4gKiAtIEdlbmVyYXRlcyBBR0VOVF9TRUNSRVQgZm9yIHNlY3VyZSBSUEMgY2FsbHNcbiAqIC0gV3JhcHMgd2l0aFdvcmtmbG93IGZvciB3b3JrZmxvdyBzdXBwb3J0XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBuZXh0LmNvbmZpZy50c1xuICogaW1wb3J0IHsgd2l0aEFnZW50IH0gZnJvbSBcImV4cGVyaW1lbnRhbC1hZ2VudC9uZXh0XCI7XG4gKlxuICogLy8gT3B0aW9uIDE6IHdpdGhBZ2VudCBoYW5kbGVzIGV2ZXJ5dGhpbmcgKHJlY29tbWVuZGVkKVxuICogZXhwb3J0IGRlZmF1bHQgd2l0aEFnZW50KHt9KTtcbiAqXG4gKiAvLyBPcHRpb24gMjogQ29tcG9zZSB3aXRoIG90aGVyIHBsdWdpbnNcbiAqIGV4cG9ydCBkZWZhdWx0IHdpdGhBZ2VudCh3aXRoU29tZU90aGVyUGx1Z2luKHt9KSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhBZ2VudChcbiAgY29uZmlnT3JGbjogTmV4dENvbmZpZ0lucHV0LFxuICBhZ2VudENvbmZpZz86IFdpdGhBZ2VudENvbmZpZ1xuKTogV29ya2Zsb3dDb25maWdGbiB7XG4gIGNvbnN0IGRlYnVnID0gYWdlbnRDb25maWc/LmRlYnVnID8/IGZhbHNlO1xuICBjb25zdCBjd2QgPSBwcm9jZXNzLmN3ZCgpO1xuXG4gIC8vIERldGVjdCBhcHAgZGlyZWN0b3J5IHN0cnVjdHVyZSAoc3JjL2FwcCB2cyBhcHApXG4gIGNvbnN0IGFwcERpciA9IGdldEFwcERpcihjd2QpO1xuICBjb25zdCBhZ2VudERpciA9IGAke2FwcERpcn0vLndlbGwta25vd24vYWdlbnQvJHtBR0VOVF9QUk9UT0NPTF9WRVJTSU9OfWA7XG5cbiAgLy8gRGV0ZWN0IGFnZW50cyBhbmQgZ2VuZXJhdGUgZmlsZXMgRklSU1QgKGJlZm9yZSB3b3JrZmxvdyBkaXNjb3ZlcnMgdGhlbSlcbiAgY29uc3QgYWdlbnRzID0gZGV0ZWN0QWdlbnRzKGN3ZCwgZGVidWcpO1xuICBjb25zdCBvdXRwdXREaXIgPSBwYXRoLmpvaW4oY3dkLCBhZ2VudERpcik7XG4gIGdlbmVyYXRlQWdlbnRGaWxlcyhhZ2VudHMsIG91dHB1dERpciwgY3dkLCBkZWJ1Zyk7XG5cbiAgY29uc3QgYWdlbnRGaWxlUGF0aHMgPSBhZ2VudHMubWFwKChhKSA9PiBhLmZpbGVQYXRoKTtcbiAgY29uc3QgbG9hZGVyUGF0aCA9IHJlcXVpcmUucmVzb2x2ZShcIi4vbmV4dC9sb2FkZXJcIik7XG4gIGNvbnN0IGFic29sdXRlQXBwRGlyID0gcGF0aC5qb2luKGN3ZCwgYXBwRGlyKTtcbiAgY29uc3QgbG9hZGVyT3B0aW9ucyA9IHsgYXBwRGlyOiBhYnNvbHV0ZUFwcERpciwgZGVidWcgfTtcblxuICBpZiAoZGVidWcpIHtcbiAgICBjb25zb2xlLmxvZyhcIlt3aXRoQWdlbnRdIGxvYWRlciBwYXRoOlwiLCBsb2FkZXJQYXRoKTtcbiAgICBjb25zb2xlLmxvZyhcIlt3aXRoQWdlbnRdIGFnZW50IGZpbGVzOlwiLCBhZ2VudEZpbGVQYXRocyk7XG4gICAgY29uc29sZS5sb2coXCJbd2l0aEFnZW50XSBhZ2VudCBkaXI6XCIsIGFnZW50RGlyKTtcbiAgfVxuXG4gIC8vIEJ1aWxkIHJlZ2V4IHRvIG1hdGNoIGFnZW50IGZpbGUgcGF0aHNcbiAgY29uc3QgYWdlbnRQYXRoUmVnZXggPVxuICAgIGFnZW50RmlsZVBhdGhzLmxlbmd0aCA+IDBcbiAgICAgID8gbmV3IFJlZ0V4cChcbiAgICAgICAgICBgJHthZ2VudEZpbGVQYXRoc1xuICAgICAgICAgICAgLm1hcCgocCkgPT5cbiAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgIC5yZWxhdGl2ZShjd2QsIHApXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcXFwvZywgXCIvXCIpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCBcIlxcXFwkJlwiKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmpvaW4oXCJ8XCIpfSRgXG4gICAgICAgIClcbiAgICAgIDogbnVsbDtcblxuICAvKipcbiAgICogQWx3YXlzIHBhc3MgdGhyb3VnaCB3aXRoV29ya2Zsb3cgLSBpdCBoYW5kbGVzIGJvdGggTmV4dENvbmZpZyBhbmQgYXN5bmMgZnVuY3Rpb25zLlxuICAgKiBUaGlzIGVuc3VyZXMgd29ya2Zsb3cgaXMgYWx3YXlzIGNvbmZpZ3VyZWQsIHJlZ2FyZGxlc3Mgb2Ygd2hhdCB0aGUgdXNlciBwYXNzZWQuXG4gICAqL1xuICBsZXQgd2l0aFdvcmtmbG93OiAoXG4gICAgY29uZmlnOiBOZXh0Q29uZmlnSW5wdXQsXG4gICAgb3B0aW9ucz86IHsgd29ya2Zsb3dzPzogeyBkaXJzPzogc3RyaW5nW10gfSB9XG4gICkgPT4gV29ya2Zsb3dDb25maWdGbjtcbiAgdHJ5IHtcbiAgICB3aXRoV29ya2Zsb3cgPSByZXF1aXJlKFwid29ya2Zsb3cvbmV4dFwiKS53aXRoV29ya2Zsb3c7XG4gIH0gY2F0Y2gge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgIFwiW3dpdGhBZ2VudF0gd29ya2Zsb3cvbmV4dCBub3QgZm91bmQuIE1ha2Ugc3VyZSB3b3JrZmxvdyBpcyBpbnN0YWxsZWQuXCJcbiAgICApO1xuICAgIHJldHVybiB0eXBlb2YgY29uZmlnT3JGbiA9PT0gXCJmdW5jdGlvblwiXG4gICAgICA/IGNvbmZpZ09yRm5cbiAgICAgIDogYXN5bmMgKCkgPT4gY29uZmlnT3JGbjtcbiAgfVxuXG4gIGNvbnN0IGJhc2VDb25maWdGbiA9IHdpdGhXb3JrZmxvdyhjb25maWdPckZuLCB7XG4gICAgd29ya2Zsb3dzOiB7XG4gICAgICBkaXJzOiBbLi4uREVGQVVMVF9XT1JLRkxPV19ESVJTLCBhZ2VudERpcl0sXG4gICAgfSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHdyYXBwZXIgdGhhdCBydW5zIEFGVEVSIHdvcmtmbG93IHByb2Nlc3NlcywgdGhlbiBhZGRzIG91ciBsb2FkZXIuXG4gICAqIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugd29ya2Zsb3cgb3ZlcndyaXRlcyB0dXJib3BhY2sgcnVsZXMgLSB3ZSBuZWVkIHRvXG4gICAqIG1vZGlmeSB0aGVtIGFmdGVyIHdvcmtmbG93IGlzIGRvbmUuXG4gICAqL1xuICByZXR1cm4gYXN5bmMgKHBoYXNlLCBjdHgpID0+IHtcbiAgICBjb25zdCBuZXh0Q29uZmlnID0gYXdhaXQgYmFzZUNvbmZpZ0ZuKHBoYXNlLCBjdHgpO1xuXG4gICAgLy8gU2V0IHVwIEFHRU5UX1NFQ1JFVCBpZiBub3QgYWxyZWFkeSBzZXRcbiAgICBpZiAoIXByb2Nlc3MuZW52LkFHRU5UX1NFQ1JFVCkge1xuICAgICAgbmV4dENvbmZpZy5lbnYgPSB7XG4gICAgICAgIC4uLm5leHRDb25maWcuZW52LFxuICAgICAgICBBR0VOVF9TRUNSRVQ6IGNyeXB0by5yYW5kb21VVUlEKCksXG4gICAgICB9O1xuICAgICAgaWYgKGRlYnVnKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiW3dpdGhBZ2VudF0gR2VuZXJhdGVkIEFHRU5UX1NFQ1JFVFwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWFnZW50UGF0aFJlZ2V4IHx8IGFnZW50RmlsZVBhdGhzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG5leHRDb25maWc7XG4gICAgfVxuXG4gICAgLy8gTW9kaWZ5IHR1cmJvcGFjayBydWxlcyB0byBpbmNsdWRlIG91ciBsb2FkZXIgZm9yIGFnZW50IGZpbGVzXG4gICAgY29uc3QgcnVsZXMgPSAobmV4dENvbmZpZy50dXJib3BhY2s/LnJ1bGVzIHx8IHt9KSBhcyBSZWNvcmQ8XG4gICAgICBzdHJpbmcsXG4gICAgICBUdXJib3BhY2tSdWxlXG4gICAgPjtcblxuICAgIGZvciAoY29uc3Qga2V5IG9mIFtcIioudHNcIiwgXCIqLnRzeFwiLCBcIiouanNcIiwgXCIqLmpzeFwiXSkge1xuICAgICAgY29uc3QgZXhpc3RpbmdSdWxlID0gcnVsZXNba2V5XTtcbiAgICAgIGlmICghZXhpc3RpbmdSdWxlKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFdvcmtmbG93J3MgcnVsZSBoYXM6IGNvbmRpdGlvbi5hbGwgPSBbeyBub3Q6IHBhdGggfSwgeyBjb250ZW50OiAvdXNlIHN0ZXB8Li4uLyB9XVxuICAgICAgICogV2Ugd2FudDogcnVuIGxvYWRlciBpZiB3b3JrZmxvdydzIGNvbmRpdGlvbnMgbWF0Y2ggT1IgaXQncyBhbiBhZ2VudCBmaWxlLlxuICAgICAgICogU28gd2Ugd3JhcCBpbjogY29uZGl0aW9uLmFueSA9IFtleGlzdGluZ0NvbmRpdGlvbiwgeyBwYXRoOiBhZ2VudFBhdGhSZWdleCB9XVxuICAgICAgICovXG4gICAgICBydWxlc1trZXldID0ge1xuICAgICAgICAuLi5leGlzdGluZ1J1bGUsXG4gICAgICAgIGxvYWRlcnM6IFt7IGxvYWRlcjogbG9hZGVyUGF0aCwgb3B0aW9uczogbG9hZGVyT3B0aW9ucyB9LCAuLi4oZXhpc3RpbmdSdWxlLmxvYWRlcnMgfHwgW10pXSxcbiAgICAgICAgY29uZGl0aW9uOiB7XG4gICAgICAgICAgYW55OiBbZXhpc3RpbmdSdWxlLmNvbmRpdGlvbiwgeyBwYXRoOiBhZ2VudFBhdGhSZWdleCB9XSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gQWxzbyBjb25maWd1cmUgd2VicGFjayBmb3Igbm9uLXR1cmJvcGFjayBidWlsZHNcbiAgICBjb25zdCBleGlzdGluZ1dlYnBhY2sgPSBuZXh0Q29uZmlnLndlYnBhY2s7XG4gICAgbmV4dENvbmZpZy53ZWJwYWNrID0gKHdlYnBhY2tDb25maWcsIGNvbnRleHQpID0+IHtcbiAgICAgIHdlYnBhY2tDb25maWcubW9kdWxlLnJ1bGVzLnB1c2goe1xuICAgICAgICB0ZXN0OiAocmVzb3VyY2VQYXRoOiBzdHJpbmcpID0+IGFnZW50RmlsZVBhdGhzLmluY2x1ZGVzKHJlc291cmNlUGF0aCksXG4gICAgICAgIHVzZTogW3sgbG9hZGVyOiBsb2FkZXJQYXRoLCBvcHRpb25zOiBsb2FkZXJPcHRpb25zIH1dLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZXhpc3RpbmdXZWJwYWNrPy4od2VicGFja0NvbmZpZywgY29udGV4dCkgPz8gd2VicGFja0NvbmZpZztcbiAgICB9O1xuXG4gICAgaWYgKGRlYnVnKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIlt3aXRoQWdlbnRdIEFkZGVkIGFnZW50IGxvYWRlciB0byB0dXJib3BhY2sgcnVsZXNcIik7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHRDb25maWc7XG4gIH07XG59XG4iLCAie1xuICBcIm5hbWVcIjogXCJleHBlcmltZW50YWwtYWdlbnRcIixcbiAgXCJ2ZXJzaW9uXCI6IFwiMC4yLjNcIixcbiAgXCJtYWluXCI6IFwiLi9kaXN0L2luZGV4LmpzXCIsXG4gIFwibW9kdWxlXCI6IFwiLi9kaXN0L2luZGV4Lm1qc1wiLFxuICBcInR5cGVzXCI6IFwiLi9kaXN0L2luZGV4LmQudHNcIixcbiAgXCJzaWRlRWZmZWN0c1wiOiB0cnVlLFxuICBcImxpY2Vuc2VcIjogXCJNSVRcIixcbiAgXCJmaWxlc1wiOiBbXG4gICAgXCJkaXN0LyoqXCJcbiAgXSxcbiAgXCJleHBvcnRzXCI6IHtcbiAgICBcIi5cIjoge1xuICAgICAgXCJ0eXBlc1wiOiBcIi4vZGlzdC9pbmRleC5kLnRzXCIsXG4gICAgICBcImltcG9ydFwiOiBcIi4vZGlzdC9pbmRleC5tanNcIixcbiAgICAgIFwicmVxdWlyZVwiOiBcIi4vZGlzdC9pbmRleC5qc1wiXG4gICAgfSxcbiAgICBcIi4vbmV4dFwiOiB7XG4gICAgICBcInR5cGVzXCI6IFwiLi9kaXN0L25leHQuZC50c1wiLFxuICAgICAgXCJpbXBvcnRcIjogXCIuL2Rpc3QvbmV4dC5tanNcIixcbiAgICAgIFwicmVxdWlyZVwiOiBcIi4vZGlzdC9uZXh0LmpzXCJcbiAgICB9LFxuICAgIFwiLi9uZXh0L2xvYWRlclwiOiB7XG4gICAgICBcInR5cGVzXCI6IFwiLi9kaXN0L25leHQvbG9hZGVyLmQudHNcIixcbiAgICAgIFwiaW1wb3J0XCI6IFwiLi9kaXN0L25leHQvbG9hZGVyLm1qc1wiLFxuICAgICAgXCJyZXF1aXJlXCI6IFwiLi9kaXN0L25leHQvbG9hZGVyLmpzXCJcbiAgICB9LFxuICAgIFwiLi9jbGllbnRcIjoge1xuICAgICAgXCJ0eXBlc1wiOiBcIi4vZGlzdC9jbGllbnQuZC50c1wiLFxuICAgICAgXCJpbXBvcnRcIjogXCIuL2Rpc3QvY2xpZW50Lm1qc1wiLFxuICAgICAgXCJyZXF1aXJlXCI6IFwiLi9kaXN0L2NsaWVudC5qc1wiXG4gICAgfVxuICB9LFxuICBcInNjcmlwdHNcIjoge1xuICAgIFwiYnVpbGRcIjogXCJ0c3VwXCIsXG4gICAgXCJkZXZcIjogXCJ0c3VwIC0td2F0Y2hcIixcbiAgICBcImNsZWFuXCI6IFwicm0gLXJmIC50dXJibyAmJiBybSAtcmYgbm9kZV9tb2R1bGVzICYmIHJtIC1yZiBkaXN0XCIsXG4gICAgXCJyZWxlYXNlXCI6IFwicG5wbSBidWlsZCAmJiBucG0gcHVibGlzaFwiLFxuICAgIFwidHlwZWNoZWNrXCI6IFwidHNjIC0tbm9FbWl0XCIsXG4gICAgXCJ0ZXN0XCI6IFwidml0ZXN0IHJ1blwiLFxuICAgIFwidGVzdDp3YXRjaFwiOiBcInZpdGVzdFwiXG4gIH0sXG4gIFwiZGVwZW5kZW5jaWVzXCI6IHtcbiAgICBcIkBzd2MvY29yZVwiOiBcIl4xLjEwLjBcIixcbiAgICBcIkB2ZXJjZWwvb2lkY1wiOiBcIl4zLjEuMFwiLFxuICAgIFwiYmV0dGVyLWFsbFwiOiBcIl4wLjAuNVwiLFxuICAgIFwiZXJyb3JlXCI6IFwiXjAuOC4yXCIsXG4gICAgXCJmYXN0LWRlZXAtZXF1YWxcIjogXCJeMy4xLjNcIixcbiAgICBcIkB2ZXJjZWwvc2FuZGJveFwiOiBcIjEuNy4xXCIsXG4gICAgXCJ1bGlkXCI6IFwiXjMuMC4yXCIsXG4gICAgXCJ6b2RcIjogXCJeNC4zLjZcIlxuICB9LFxuICBcImRldkRlcGVuZGVuY2llc1wiOiB7XG4gICAgXCJAYWdlbnQvdHNjb25maWdcIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiQHR5cGVzL25vZGVcIjogXCJeMjAuMTEuMjRcIixcbiAgICBcImRvdGVudlwiOiBcIl4xNy4yLjNcIixcbiAgICBcIm5leHRcIjogXCJeMTYuMC4wXCIsXG4gICAgXCJ0c3VwXCI6IFwiXjguMC4yXCIsXG4gICAgXCJ0eXBlc2NyaXB0XCI6IFwiNS41LjRcIixcbiAgICBcInZpdGVzdFwiOiBcIl4zLjAuMFwiXG4gIH0sXG4gIFwicGVlckRlcGVuZGVuY2llc1wiOiB7XG4gICAgXCJhaVwiOiBcIl42LjAuMFwiLFxuICAgIFwid29ya2Zsb3dcIjogXCIqXCJcbiAgfSxcbiAgXCJwdWJsaXNoQ29uZmlnXCI6IHtcbiAgICBcImFjY2Vzc1wiOiBcInB1YmxpY1wiXG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxhQUF3QjtBQUN4QixTQUFvQjtBQUNwQixXQUFzQjs7O0FDRnRCO0FBQUEsRUFDRSxNQUFRO0FBQUEsRUFDUixTQUFXO0FBQUEsRUFDWCxNQUFRO0FBQUEsRUFDUixRQUFVO0FBQUEsRUFDVixPQUFTO0FBQUEsRUFDVCxhQUFlO0FBQUEsRUFDZixTQUFXO0FBQUEsRUFDWCxPQUFT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
366
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25leHQvaW5kZXgudHMiLCAiLi4vcGFja2FnZS5qc29uIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSBcIm5vZGU6Y3J5cHRvXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgdHlwZSB7IE5leHRDb25maWcgfSBmcm9tIFwibmV4dFwiO1xuaW1wb3J0IHBrZyBmcm9tIFwiLi4vLi4vcGFja2FnZS5qc29uXCI7XG5cbmV4cG9ydCB0eXBlIFdpdGhBZ2VudENvbmZpZyA9IHtcbiAgLyoqIEVuYWJsZSBkZWJ1ZyBsb2dnaW5nIGZvciB0aGUgTmV4dC5qcyBsb2FkZXIgKGFnZW50IGRldGVjdGlvbiwgZmlsZSBnZW5lcmF0aW9uKS4gKi9cbiAgZGVidWc/OiBib29sZWFuO1xufTtcblxuY29uc3QgUEFDS0FHRV9OQU1FID0gcGtnLm5hbWU7XG5jb25zdCBBR0VOVF9QUk9UT0NPTF9WRVJTSU9OID0gXCJ2MVwiO1xuY29uc3QgRklMRV9FWFRfUkVHRVggPSAvXFwuKHRzfHRzeHxqc3xqc3gpJC87XG5jb25zdCBBR0VOVF9FWFBPUlRfUkVHRVggPSAvZXhwb3J0XFxzK2NvbnN0XFxzKyhcXHcrKVxccyo9XFxzKmFnZW50XFxzKlxcKC9nO1xuY29uc3QgREVGQVVMVF9XT1JLRkxPV19ESVJTID0gW1wicGFnZXNcIiwgXCJhcHBcIiwgXCJzcmMvcGFnZXNcIiwgXCJzcmMvYXBwXCJdO1xuXG50eXBlIERldGVjdGVkQWdlbnQgPSB7XG4gIGV4cG9ydE5hbWU6IHN0cmluZztcbiAgZmlsZVBhdGg6IHN0cmluZztcbiAgLyoqIFVuaXF1ZSBpZGVudGlmaWVyOiBleHBvcnROYW1lIG9yIGV4cG9ydE5hbWVfaGFzaCBpZiBkdXBsaWNhdGVzIGV4aXN0ICovXG4gIHVuaXF1ZUlkOiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBzaG9ydEhhc2goc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgaGFzaCA9IDA7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgY2hhciA9IHN0ci5jaGFyQ29kZUF0KGkpO1xuICAgIC8vIGJpb21lLWlnbm9yZSBsaW50L3N1c3BpY2lvdXMvbm9CaXR3aXNlT3BlcmF0b3JzOiBpbnRlbnRpb25hbCBoYXNoIGNvbXB1dGF0aW9uXG4gICAgaGFzaCA9IChoYXNoIDw8IDUpIC0gaGFzaCArIGNoYXI7XG4gICAgLy8gYmlvbWUtaWdub3JlIGxpbnQvc3VzcGljaW91cy9ub0JpdHdpc2VPcGVyYXRvcnM6IGNvbnZlcnQgdG8gMzItYml0IGludGVnZXJcbiAgICBoYXNoICY9IGhhc2g7XG4gIH1cbiAgcmV0dXJuIE1hdGguYWJzKGhhc2gpLnRvU3RyaW5nKDM2KS5zbGljZSgwLCA2KTtcbn1cblxuZnVuY3Rpb24gaGFzTmV4dEFwcExheW91dChkaXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gW1wibGF5b3V0LnRzeFwiLCBcImxheW91dC50c1wiLCBcImxheW91dC5qc1wiLCBcImxheW91dC5qc3hcIl0uc29tZSgoZikgPT5cbiAgICBmcy5leGlzdHNTeW5jKHBhdGguam9pbihkaXIsIGYpKVxuICApO1xufVxuXG4vKipcbiAqIERldGVjdHMgd2hldGhlciB0aGUgcHJvamVjdCB1c2VzIHNyYy9hcHAgb3IgYXBwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVcbiAqIGJ5IGNoZWNraW5nIHdoaWNoIGRpcmVjdG9yeSBjb250YWlucyBhIE5leHQuanMgbGF5b3V0IGZpbGUuXG4gKiBSZXR1cm5zIHRoZSBhcHAgZGlyZWN0b3J5IHBhdGggcmVsYXRpdmUgdG8gY3dkLlxuICovXG5mdW5jdGlvbiBnZXRBcHBEaXIoY3dkOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBzcmNBcHBEaXIgPSBwYXRoLmpvaW4oY3dkLCBcInNyY1wiLCBcImFwcFwiKTtcbiAgY29uc3Qgcm9vdEFwcERpciA9IHBhdGguam9pbihjd2QsIFwiYXBwXCIpO1xuXG4gIGlmIChoYXNOZXh0QXBwTGF5b3V0KHNyY0FwcERpcikpIHtcbiAgICByZXR1cm4gXCJzcmMvYXBwXCI7XG4gIH1cbiAgaWYgKGhhc05leHRBcHBMYXlvdXQocm9vdEFwcERpcikpIHtcbiAgICByZXR1cm4gXCJhcHBcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBGYWxsYmFjayB3aGVuIG5laXRoZXIgZGlyZWN0b3J5IGhhcyBhIGxheW91dCBmaWxlIHlldFxuICAgKiAoZS5nLiBmcmVzaCBwcm9qZWN0KS4gUHJlZmVyIHNyYy9hcHAgaWYgdGhlIGRpcmVjdG9yeSBleGlzdHMuXG4gICAqL1xuICBpZiAoZnMuZXhpc3RzU3luYyhzcmNBcHBEaXIpKSB7XG4gICAgcmV0dXJuIFwic3JjL2FwcFwiO1xuICB9XG4gIHJldHVybiBcImFwcFwiO1xufVxuXG4vKipcbiAqIFNjYW5zIGZvciBhZ2VudCBleHBvcnRzIGluIHRoZSBwcm9qZWN0LlxuICovXG5mdW5jdGlvbiBkZXRlY3RBZ2VudHMoY3dkOiBzdHJpbmcsIGRlYnVnOiBib29sZWFuKTogRGV0ZWN0ZWRBZ2VudFtdIHtcbiAgY29uc3QgYWdlbnRzOiBEZXRlY3RlZEFnZW50W10gPSBbXTtcblxuICBjb25zdCBkaXJzVG9TY2FuID0gW3BhdGguam9pbihjd2QsIFwic3JjXCIpLCBjd2RdO1xuXG4gIGZ1bmN0aW9uIHNjYW5EaXIoZGlyOiBzdHJpbmcpIHtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoZGlyKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVudHJpZXMgPSBmcy5yZWFkZGlyU3luYyhkaXIsIHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KTtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGNvbnN0IGZ1bGxQYXRoID0gcGF0aC5qb2luKGRpciwgZW50cnkubmFtZSk7XG4gICAgICBpZiAoXG4gICAgICAgIGVudHJ5LmlzRGlyZWN0b3J5KCkgJiZcbiAgICAgICAgIWVudHJ5Lm5hbWUuc3RhcnRzV2l0aChcIi5cIikgJiZcbiAgICAgICAgZW50cnkubmFtZSAhPT0gXCJub2RlX21vZHVsZXNcIiAmJlxuICAgICAgICBlbnRyeS5uYW1lICE9PSBcInNyY1wiXG4gICAgICApIHtcbiAgICAgICAgc2NhbkRpcihmdWxsUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKGVudHJ5LmlzRmlsZSgpICYmIEZJTEVfRVhUX1JFR0VYLnRlc3QoZW50cnkubmFtZSkpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZ1bGxQYXRoLCBcInV0Zi04XCIpO1xuICAgICAgICAgIGlmIChjb250ZW50LmluY2x1ZGVzKFBBQ0tBR0VfTkFNRSkgJiYgY29udGVudC5pbmNsdWRlcyhcImFnZW50KFwiKSkge1xuICAgICAgICAgICAgLy8gU3RyaXAgc2luZ2xlLWxpbmUgY29tbWVudHMgYW5kIGJsb2NrIGNvbW1lbnRzIHRvIGF2b2lkXG4gICAgICAgICAgICAvLyBtYXRjaGluZyBjb21tZW50ZWQtb3V0IGFnZW50IGV4cG9ydHNcbiAgICAgICAgICAgIGNvbnN0IHN0cmlwcGVkID0gY29udGVudFxuICAgICAgICAgICAgICAucmVwbGFjZSgvXFwvXFwvLiokL2dtLCBcIlwiKVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXFwvXFwqW1xcc1xcU10qP1xcKlxcLy9nLCBcIlwiKTtcbiAgICAgICAgICAgIGNvbnN0IGV4cG9ydE1hdGNoZXMgPSBzdHJpcHBlZC5tYXRjaEFsbChBR0VOVF9FWFBPUlRfUkVHRVgpO1xuICAgICAgICAgICAgY29uc3Qgc2VlbiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBtYXRjaCBvZiBleHBvcnRNYXRjaGVzKSB7XG4gICAgICAgICAgICAgIGlmIChzZWVuLmhhcyhtYXRjaFsxXSkpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBzZWVuLmFkZChtYXRjaFsxXSk7XG4gICAgICAgICAgICAgIGFnZW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgICBleHBvcnROYW1lOiBtYXRjaFsxXSxcbiAgICAgICAgICAgICAgICBmaWxlUGF0aDogZnVsbFBhdGgsXG4gICAgICAgICAgICAgICAgdW5pcXVlSWQ6IFwiXCIsIC8vIFdpbGwgYmUgc2V0IGFmdGVyIGFsbCBhZ2VudHMgYXJlIGZvdW5kXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBpZiAoZGVidWcpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICAgICAgIGBbd2l0aEFnZW50XSBGb3VuZCBhZ2VudDogJHttYXRjaFsxXX0gaW4gJHtmdWxsUGF0aH1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgLy8gSWdub3JlIHJlYWQgZXJyb3JzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmb3IgKGNvbnN0IGRpciBvZiBkaXJzVG9TY2FuKSB7XG4gICAgc2NhbkRpcihkaXIpO1xuICB9XG5cbiAgLy8gQXNzaWduIHVuaXF1ZSBJRHMgLSBhZGQgaGFzaCBzdWZmaXggaWYgZHVwbGljYXRlIGV4cG9ydCBuYW1lcyBleGlzdFxuICBjb25zdCBuYW1lQ291bnRzID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcbiAgZm9yIChjb25zdCBhZ2VudCBvZiBhZ2VudHMpIHtcbiAgICBuYW1lQ291bnRzLnNldChcbiAgICAgIGFnZW50LmV4cG9ydE5hbWUsXG4gICAgICAobmFtZUNvdW50cy5nZXQoYWdlbnQuZXhwb3J0TmFtZSkgfHwgMCkgKyAxXG4gICAgKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgYWdlbnQgb2YgYWdlbnRzKSB7XG4gICAgY29uc3QgY291bnQgPSBuYW1lQ291bnRzLmdldChhZ2VudC5leHBvcnROYW1lKSA/PyAwO1xuICAgIGlmIChjb3VudCA+IDEpIHtcbiAgICAgIGFnZW50LnVuaXF1ZUlkID0gYCR7YWdlbnQuZXhwb3J0TmFtZX1fJHtzaG9ydEhhc2goYWdlbnQuZmlsZVBhdGgpfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFnZW50LnVuaXF1ZUlkID0gYWdlbnQuZXhwb3J0TmFtZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYWdlbnRzO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhbGwgYWdlbnQgZmlsZXMgaW4gLndlbGwta25vd24vYWdlbnQvdjEvOlxuICogLSBzdGVwcy5qczogUlBDIHN0ZXAgZnVuY3Rpb25zIHdpdGggXCJ1c2Ugc3RlcFwiXG4gKiAtIHJvdXRlLmpzOiB0cmlnZ2VycyB3b3JrZmxvdyBkaXNjb3ZlcnlcbiAqL1xuZnVuY3Rpb24gZ2VuZXJhdGVBZ2VudEZpbGVzKFxuICBhZ2VudHM6IERldGVjdGVkQWdlbnRbXSxcbiAgb3V0cHV0RGlyOiBzdHJpbmcsXG4gIF9jd2Q6IHN0cmluZyxcbiAgZGVidWc6IGJvb2xlYW5cbik6IHZvaWQge1xuICBpZiAoYWdlbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgIGlmIChkZWJ1Zykge1xuICAgICAgY29uc29sZS5sb2coXCJbd2l0aEFnZW50XSBObyBhZ2VudHMgZm91bmQsIHNraXBwaW5nIGdlbmVyYXRpb25cIik7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghZnMuZXhpc3RzU3luYyhvdXRwdXREaXIpKSB7XG4gICAgZnMubWtkaXJTeW5jKG91dHB1dERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgc3RlcCBmdW5jdGlvbnMgdGhhdCB1c2UgZHluYW1pYyBpbXBvcnQuXG4gICAqIER5bmFtaWMgaW1wb3J0IGVuc3VyZXMgdGhlIGFnZW50IG1vZHVsZSBsb2FkcyAoaW5jbHVkaW5nIGxvYWRlci1pbmplY3RlZCBpbml0KVxuICAgKiB3aGVuIHRoZSBzdGVwIHJ1bnMgaW4gd29ya2Zsb3cgY29udGV4dCwgYXZvaWRpbmcgdGhlIFwibm90IGluaXRpYWxpemVkXCIgZXJyb3IuXG4gICAqXG4gICAqIFVzZXMgdW5pcXVlSWQgZm9yIGZ1bmN0aW9uIG5hbWVzIHRvIGhhbmRsZSBkdXBsaWNhdGUgZXhwb3J0IG5hbWVzIGFjcm9zcyBmaWxlcy5cbiAgICovXG4gIGNvbnN0IHJwY0Z1bmN0aW9ucyA9IGFnZW50c1xuICAgIC5tYXAoKGEpID0+IHtcbiAgICAgIC8vIENhbGN1bGF0ZSByZWxhdGl2ZSBwYXRoIGZyb20gc3RlcHMuanMgdG8gdGhlIGFnZW50IGZpbGVcbiAgICAgIGxldCBhZ2VudFJlbFBhdGggPSBwYXRoXG4gICAgICAgIC5yZWxhdGl2ZShvdXRwdXREaXIsIGEuZmlsZVBhdGgpXG4gICAgICAgIC5yZXBsYWNlKC9cXFxcL2csIFwiL1wiKTtcblxuICAgICAgaWYgKCFhZ2VudFJlbFBhdGguc3RhcnRzV2l0aChcIi5cIikpIHtcbiAgICAgICAgYWdlbnRSZWxQYXRoID0gYC4vJHthZ2VudFJlbFBhdGh9YDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGBcbmV4cG9ydCBjb25zdCAke2EudW5pcXVlSWR9UnBjID0gYXN5bmMgKHBhcmFtcykgPT4ge1xuICBcInVzZSBzdGVwXCI7XG4gIGNvbnN0IHsgJHthLmV4cG9ydE5hbWV9IH0gPSBhd2FpdCBpbXBvcnQoXCIke2FnZW50UmVsUGF0aH1cIik7XG4gIGNvbnN0IHJlcyA9IGF3YWl0ICR7YS5leHBvcnROYW1lfS5oYW5kbGVyKHBhcmFtcyk7XG4gIGlmIChyZXMgaW5zdGFuY2VvZiBSZXNwb25zZSkge1xuICAgIHJldHVybiByZXMuanNvbigpO1xuICB9XG4gIHJldHVybiByZXM7XG59O2A7XG4gICAgfSlcbiAgICAuam9pbihcIlxcblwiKTtcblxuICAvKipcbiAgICogSW5pdCBmdW5jdGlvbnMgd2lyZSB1cCBhZ2VudC5ycGMgaW4gdGhlIG1haW4gYXBwIGNvbnRleHQuXG4gICAqIFVzZXMgZXhwb3J0TmFtZSBmb3IgdGhlIGZ1bmN0aW9uIG5hbWUgKGxvYWRlciBtYXRjaGVzIGJ5IGV4cG9ydCBuYW1lKSxcbiAgICogYnV0IHJlZmVyZW5jZXMgdW5pcXVlSWQgZm9yIHRoZSBScGMgZnVuY3Rpb24uXG4gICAqL1xuICBjb25zdCBpbml0RnVuY3Rpb25zID0gYWdlbnRzXG4gICAgLm1hcChcbiAgICAgIChhKSA9PiBgXG5leHBvcnQgZnVuY3Rpb24gX19pbml0JHthLmV4cG9ydE5hbWVbMF0udG9VcHBlckNhc2UoKX0ke2EuZXhwb3J0TmFtZS5zbGljZShcbiAgICAgICAgMVxuICAgICAgKX0oYWdlbnQpIHtcbiAgYWdlbnQucnBjID0gJHthLnVuaXF1ZUlkfVJwYztcbn1gXG4gICAgKVxuICAgIC5qb2luKFwiXFxuXCIpO1xuXG4gIGNvbnN0IHN0ZXBzQ29udGVudCA9IGAvLyBBdXRvLWdlbmVyYXRlZCBieSB3aXRoQWdlbnQgLSBkbyBub3QgZWRpdFxuJHtycGNGdW5jdGlvbnN9XG4ke2luaXRGdW5jdGlvbnN9XG5gO1xuXG4gIGNvbnN0IHN0ZXBzUGF0aCA9IHBhdGguam9pbihvdXRwdXREaXIsIFwic3RlcHMuanNcIik7XG4gIGZzLndyaXRlRmlsZVN5bmMoc3RlcHNQYXRoLCBzdGVwc0NvbnRlbnQpO1xuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSByb3V0ZS5qcyB0aGF0IGltcG9ydHMgc3RlcHMuanMuXG4gICAqIFRoaXMgZW5zdXJlcyB3b3JrZmxvdyBkaXNjb3ZlcnMgdGhlIFwidXNlIHN0ZXBcIiBmdW5jdGlvbnMuXG4gICAqIE5vIGFjdHVhbCBoYW5kbGVyIG5lZWRlZCAtIHN0b3JhZ2UgUlBDIHVzZXMgdGhlIHN0ZXAgZnVuY3Rpb24gZGlyZWN0bHkuXG4gICAqL1xuICBjb25zdCByb3V0ZUNvbnRlbnQgPSBgLy8gQXV0by1nZW5lcmF0ZWQgYnkgd2l0aEFnZW50IC0gdHJpZ2dlcnMgd29ya2Zsb3cgZGlzY292ZXJ5XG5pbXBvcnQgXCIuL3N0ZXBzLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gR0VUKCkge1xuICByZXR1cm4gbmV3IFJlc3BvbnNlKFwib2tcIik7XG59XG5gO1xuXG4gIGNvbnN0IHJvdXRlUGF0aCA9IHBhdGguam9pbihvdXRwdXREaXIsIFwicm91dGUuanNcIik7XG4gIGZzLndyaXRlRmlsZVN5bmMocm91dGVQYXRoLCByb3V0ZUNvbnRlbnQpO1xuXG4gIC8vIEFkZCAuZ2l0aWdub3JlXG4gIGNvbnN0IGdpdGlnbm9yZVBhdGggPSBwYXRoLmpvaW4ob3V0cHV0RGlyLCBcIi5naXRpZ25vcmVcIik7XG4gIGlmICghZnMuZXhpc3RzU3luYyhnaXRpZ25vcmVQYXRoKSkge1xuICAgIGZzLndyaXRlRmlsZVN5bmMoZ2l0aWdub3JlUGF0aCwgXCIqXFxuXCIpO1xuICB9XG5cbiAgaWYgKGRlYnVnKSB7XG4gICAgY29uc29sZS5sb2coYFt3aXRoQWdlbnRdIEdlbmVyYXRlZCBhZ2VudCBmaWxlcyBhdCAke291dHB1dERpcn1gKTtcbiAgfVxufVxuXG50eXBlIFR1cmJvcGFja0xvYWRlciA9IHN0cmluZyB8IHsgbG9hZGVyOiBzdHJpbmc7IG9wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB9O1xuXG50eXBlIFR1cmJvcGFja1J1bGUgPSB7XG4gIGxvYWRlcnM/OiBUdXJib3BhY2tMb2FkZXJbXTtcbiAgY29uZGl0aW9uPzoge1xuICAgIGFsbD86IHVua25vd25bXTtcbiAgICBhbnk/OiB1bmtub3duW107XG4gICAgcGF0aD86IFJlZ0V4cDtcbiAgICBjb250ZW50PzogUmVnRXhwO1xuICAgIG5vdD86IHVua25vd247XG4gIH07XG59O1xuXG50eXBlIFdvcmtmbG93Q29uZmlnRm4gPSAoXG4gIHBoYXNlOiBzdHJpbmcsXG4gIGN0eDogeyBkZWZhdWx0Q29uZmlnOiBOZXh0Q29uZmlnIH1cbikgPT4gUHJvbWlzZTxOZXh0Q29uZmlnPjtcblxudHlwZSBOZXh0Q29uZmlnSW5wdXQgPVxuICB8IE5leHRDb25maWdcbiAgfCAoKFxuICAgICAgcGhhc2U6IHN0cmluZyxcbiAgICAgIGN0eDogeyBkZWZhdWx0Q29uZmlnOiBOZXh0Q29uZmlnIH1cbiAgICApID0+IFByb21pc2U8TmV4dENvbmZpZz4pO1xuXG4vKipcbiAqIE5leHQuanMgcGx1Z2luIHRoYXQgY29uZmlndXJlcyBhZ2VudCBzdXBwb3J0LlxuICpcbiAqIC0gRGV0ZWN0cyBhZ2VudHMgYW5kIGdlbmVyYXRlcyBSUEMgc3RlcHMgd2l0aCBcInVzZSBzdGVwXCIgaW4gLndlbGwta25vd24vYWdlbnQvdjEvXG4gKiAtIEdlbmVyYXRlcyBBR0VOVF9TRUNSRVQgZm9yIHNlY3VyZSBSUEMgY2FsbHNcbiAqIC0gV3JhcHMgd2l0aFdvcmtmbG93IGZvciB3b3JrZmxvdyBzdXBwb3J0XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBuZXh0LmNvbmZpZy50c1xuICogaW1wb3J0IHsgd2l0aEFnZW50IH0gZnJvbSBcImV4cGVyaW1lbnRhbC1hZ2VudC9uZXh0XCI7XG4gKlxuICogLy8gT3B0aW9uIDE6IHdpdGhBZ2VudCBoYW5kbGVzIGV2ZXJ5dGhpbmcgKHJlY29tbWVuZGVkKVxuICogZXhwb3J0IGRlZmF1bHQgd2l0aEFnZW50KHt9KTtcbiAqXG4gKiAvLyBPcHRpb24gMjogQ29tcG9zZSB3aXRoIG90aGVyIHBsdWdpbnNcbiAqIGV4cG9ydCBkZWZhdWx0IHdpdGhBZ2VudCh3aXRoU29tZU90aGVyUGx1Z2luKHt9KSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhBZ2VudChcbiAgY29uZmlnT3JGbjogTmV4dENvbmZpZ0lucHV0LFxuICBhZ2VudENvbmZpZz86IFdpdGhBZ2VudENvbmZpZ1xuKTogV29ya2Zsb3dDb25maWdGbiB7XG4gIGNvbnN0IGRlYnVnID0gYWdlbnRDb25maWc/LmRlYnVnID8/IGZhbHNlO1xuICBjb25zdCBjd2QgPSBwcm9jZXNzLmN3ZCgpO1xuXG4gIC8vIERldGVjdCBhcHAgZGlyZWN0b3J5IHN0cnVjdHVyZSAoc3JjL2FwcCB2cyBhcHApXG4gIGNvbnN0IGFwcERpciA9IGdldEFwcERpcihjd2QpO1xuICBjb25zdCBhZ2VudERpciA9IGAke2FwcERpcn0vLndlbGwta25vd24vYWdlbnQvJHtBR0VOVF9QUk9UT0NPTF9WRVJTSU9OfWA7XG5cbiAgLy8gRGV0ZWN0IGFnZW50cyBhbmQgZ2VuZXJhdGUgZmlsZXMgRklSU1QgKGJlZm9yZSB3b3JrZmxvdyBkaXNjb3ZlcnMgdGhlbSlcbiAgY29uc3QgYWdlbnRzID0gZGV0ZWN0QWdlbnRzKGN3ZCwgZGVidWcpO1xuICBjb25zdCBvdXRwdXREaXIgPSBwYXRoLmpvaW4oY3dkLCBhZ2VudERpcik7XG4gIGdlbmVyYXRlQWdlbnRGaWxlcyhhZ2VudHMsIG91dHB1dERpciwgY3dkLCBkZWJ1Zyk7XG5cbiAgY29uc3QgYWdlbnRGaWxlUGF0aHMgPSBhZ2VudHMubWFwKChhKSA9PiBhLmZpbGVQYXRoKTtcbiAgY29uc3QgbG9hZGVyUGF0aCA9IHJlcXVpcmUucmVzb2x2ZShcIi4vbmV4dC9sb2FkZXJcIik7XG4gIGNvbnN0IGFic29sdXRlQXBwRGlyID0gcGF0aC5qb2luKGN3ZCwgYXBwRGlyKTtcbiAgY29uc3QgbG9hZGVyT3B0aW9ucyA9IHsgYXBwRGlyOiBhYnNvbHV0ZUFwcERpciwgZGVidWcgfTtcblxuICBpZiAoZGVidWcpIHtcbiAgICBjb25zb2xlLmxvZyhcIlt3aXRoQWdlbnRdIGxvYWRlciBwYXRoOlwiLCBsb2FkZXJQYXRoKTtcbiAgICBjb25zb2xlLmxvZyhcIlt3aXRoQWdlbnRdIGFnZW50IGZpbGVzOlwiLCBhZ2VudEZpbGVQYXRocyk7XG4gICAgY29uc29sZS5sb2coXCJbd2l0aEFnZW50XSBhZ2VudCBkaXI6XCIsIGFnZW50RGlyKTtcbiAgfVxuXG4gIC8vIEJ1aWxkIHJlZ2V4IHRvIG1hdGNoIGFnZW50IGZpbGUgcGF0aHNcbiAgY29uc3QgYWdlbnRQYXRoUmVnZXggPVxuICAgIGFnZW50RmlsZVBhdGhzLmxlbmd0aCA+IDBcbiAgICAgID8gbmV3IFJlZ0V4cChcbiAgICAgICAgICBgJHthZ2VudEZpbGVQYXRoc1xuICAgICAgICAgICAgLm1hcCgocCkgPT5cbiAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgIC5yZWxhdGl2ZShjd2QsIHApXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcXFwvZywgXCIvXCIpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCBcIlxcXFwkJlwiKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmpvaW4oXCJ8XCIpfSRgXG4gICAgICAgIClcbiAgICAgIDogbnVsbDtcblxuICAvKipcbiAgICogQWx3YXlzIHBhc3MgdGhyb3VnaCB3aXRoV29ya2Zsb3cgLSBpdCBoYW5kbGVzIGJvdGggTmV4dENvbmZpZyBhbmQgYXN5bmMgZnVuY3Rpb25zLlxuICAgKiBUaGlzIGVuc3VyZXMgd29ya2Zsb3cgaXMgYWx3YXlzIGNvbmZpZ3VyZWQsIHJlZ2FyZGxlc3Mgb2Ygd2hhdCB0aGUgdXNlciBwYXNzZWQuXG4gICAqL1xuICBsZXQgd2l0aFdvcmtmbG93OiAoXG4gICAgY29uZmlnOiBOZXh0Q29uZmlnSW5wdXQsXG4gICAgb3B0aW9ucz86IHsgd29ya2Zsb3dzPzogeyBkaXJzPzogc3RyaW5nW10gfSB9XG4gICkgPT4gV29ya2Zsb3dDb25maWdGbjtcbiAgdHJ5IHtcbiAgICB3aXRoV29ya2Zsb3cgPSByZXF1aXJlKFwid29ya2Zsb3cvbmV4dFwiKS53aXRoV29ya2Zsb3c7XG4gIH0gY2F0Y2gge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgIFwiW3dpdGhBZ2VudF0gd29ya2Zsb3cvbmV4dCBub3QgZm91bmQuIE1ha2Ugc3VyZSB3b3JrZmxvdyBpcyBpbnN0YWxsZWQuXCJcbiAgICApO1xuICAgIHJldHVybiB0eXBlb2YgY29uZmlnT3JGbiA9PT0gXCJmdW5jdGlvblwiXG4gICAgICA/IGNvbmZpZ09yRm5cbiAgICAgIDogYXN5bmMgKCkgPT4gY29uZmlnT3JGbjtcbiAgfVxuXG4gIGNvbnN0IGJhc2VDb25maWdGbiA9IHdpdGhXb3JrZmxvdyhjb25maWdPckZuLCB7XG4gICAgd29ya2Zsb3dzOiB7XG4gICAgICBkaXJzOiBbLi4uREVGQVVMVF9XT1JLRkxPV19ESVJTLCBhZ2VudERpcl0sXG4gICAgfSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHdyYXBwZXIgdGhhdCBydW5zIEFGVEVSIHdvcmtmbG93IHByb2Nlc3NlcywgdGhlbiBhZGRzIG91ciBsb2FkZXIuXG4gICAqIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugd29ya2Zsb3cgb3ZlcndyaXRlcyB0dXJib3BhY2sgcnVsZXMgLSB3ZSBuZWVkIHRvXG4gICAqIG1vZGlmeSB0aGVtIGFmdGVyIHdvcmtmbG93IGlzIGRvbmUuXG4gICAqL1xuICByZXR1cm4gYXN5bmMgKHBoYXNlLCBjdHgpID0+IHtcbiAgICBjb25zdCBuZXh0Q29uZmlnID0gYXdhaXQgYmFzZUNvbmZpZ0ZuKHBoYXNlLCBjdHgpO1xuXG4gICAgLy8gU2V0IHVwIEFHRU5UX1NFQ1JFVCBpZiBub3QgYWxyZWFkeSBzZXRcbiAgICBpZiAoIXByb2Nlc3MuZW52LkFHRU5UX1NFQ1JFVCkge1xuICAgICAgbmV4dENvbmZpZy5lbnYgPSB7XG4gICAgICAgIC4uLm5leHRDb25maWcuZW52LFxuICAgICAgICBBR0VOVF9TRUNSRVQ6IGNyeXB0by5yYW5kb21VVUlEKCksXG4gICAgICB9O1xuICAgICAgaWYgKGRlYnVnKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiW3dpdGhBZ2VudF0gR2VuZXJhdGVkIEFHRU5UX1NFQ1JFVFwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWFnZW50UGF0aFJlZ2V4IHx8IGFnZW50RmlsZVBhdGhzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG5leHRDb25maWc7XG4gICAgfVxuXG4gICAgLy8gTW9kaWZ5IHR1cmJvcGFjayBydWxlcyB0byBpbmNsdWRlIG91ciBsb2FkZXIgZm9yIGFnZW50IGZpbGVzXG4gICAgY29uc3QgcnVsZXMgPSAobmV4dENvbmZpZy50dXJib3BhY2s/LnJ1bGVzIHx8IHt9KSBhcyBSZWNvcmQ8XG4gICAgICBzdHJpbmcsXG4gICAgICBUdXJib3BhY2tSdWxlXG4gICAgPjtcblxuICAgIGZvciAoY29uc3Qga2V5IG9mIFtcIioudHNcIiwgXCIqLnRzeFwiLCBcIiouanNcIiwgXCIqLmpzeFwiXSkge1xuICAgICAgY29uc3QgZXhpc3RpbmdSdWxlID0gcnVsZXNba2V5XTtcbiAgICAgIGlmICghZXhpc3RpbmdSdWxlKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFdvcmtmbG93J3MgcnVsZSBoYXM6IGNvbmRpdGlvbi5hbGwgPSBbeyBub3Q6IHBhdGggfSwgeyBjb250ZW50OiAvdXNlIHN0ZXB8Li4uLyB9XVxuICAgICAgICogV2Ugd2FudDogcnVuIGxvYWRlciBpZiB3b3JrZmxvdydzIGNvbmRpdGlvbnMgbWF0Y2ggT1IgaXQncyBhbiBhZ2VudCBmaWxlLlxuICAgICAgICogU28gd2Ugd3JhcCBpbjogY29uZGl0aW9uLmFueSA9IFtleGlzdGluZ0NvbmRpdGlvbiwgeyBwYXRoOiBhZ2VudFBhdGhSZWdleCB9XVxuICAgICAgICovXG4gICAgICBydWxlc1trZXldID0ge1xuICAgICAgICAuLi5leGlzdGluZ1J1bGUsXG4gICAgICAgIGxvYWRlcnM6IFt7IGxvYWRlcjogbG9hZGVyUGF0aCwgb3B0aW9uczogbG9hZGVyT3B0aW9ucyB9LCAuLi4oZXhpc3RpbmdSdWxlLmxvYWRlcnMgfHwgW10pXSxcbiAgICAgICAgY29uZGl0aW9uOiB7XG4gICAgICAgICAgYW55OiBbZXhpc3RpbmdSdWxlLmNvbmRpdGlvbiwgeyBwYXRoOiBhZ2VudFBhdGhSZWdleCB9XSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gQWxzbyBjb25maWd1cmUgd2VicGFjayBmb3Igbm9uLXR1cmJvcGFjayBidWlsZHNcbiAgICBjb25zdCBleGlzdGluZ1dlYnBhY2sgPSBuZXh0Q29uZmlnLndlYnBhY2s7XG4gICAgbmV4dENvbmZpZy53ZWJwYWNrID0gKHdlYnBhY2tDb25maWcsIGNvbnRleHQpID0+IHtcbiAgICAgIHdlYnBhY2tDb25maWcubW9kdWxlLnJ1bGVzLnB1c2goe1xuICAgICAgICB0ZXN0OiAocmVzb3VyY2VQYXRoOiBzdHJpbmcpID0+IGFnZW50RmlsZVBhdGhzLmluY2x1ZGVzKHJlc291cmNlUGF0aCksXG4gICAgICAgIHVzZTogW3sgbG9hZGVyOiBsb2FkZXJQYXRoLCBvcHRpb25zOiBsb2FkZXJPcHRpb25zIH1dLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZXhpc3RpbmdXZWJwYWNrPy4od2VicGFja0NvbmZpZywgY29udGV4dCkgPz8gd2VicGFja0NvbmZpZztcbiAgICB9O1xuXG4gICAgaWYgKGRlYnVnKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIlt3aXRoQWdlbnRdIEFkZGVkIGFnZW50IGxvYWRlciB0byB0dXJib3BhY2sgcnVsZXNcIik7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHRDb25maWc7XG4gIH07XG59XG4iLCAie1xuICBcIm5hbWVcIjogXCJleHBlcmltZW50YWwtYWdlbnRcIixcbiAgXCJ2ZXJzaW9uXCI6IFwiMC4yLjNcIixcbiAgXCJtYWluXCI6IFwiLi9kaXN0L2luZGV4LmpzXCIsXG4gIFwibW9kdWxlXCI6IFwiLi9kaXN0L2luZGV4Lm1qc1wiLFxuICBcInR5cGVzXCI6IFwiLi9kaXN0L2luZGV4LmQudHNcIixcbiAgXCJzaWRlRWZmZWN0c1wiOiB0cnVlLFxuICBcImxpY2Vuc2VcIjogXCJNSVRcIixcbiAgXCJmaWxlc1wiOiBbXG4gICAgXCJkaXN0LyoqXCJcbiAgXSxcbiAgXCJleHBvcnRzXCI6IHtcbiAgICBcIi5cIjoge1xuICAgICAgXCJ0eXBlc1wiOiBcIi4vZGlzdC9pbmRleC5kLnRzXCIsXG4gICAgICBcImltcG9ydFwiOiBcIi4vZGlzdC9pbmRleC5tanNcIixcbiAgICAgIFwicmVxdWlyZVwiOiBcIi4vZGlzdC9pbmRleC5qc1wiXG4gICAgfSxcbiAgICBcIi4vc3RvcmFnZVwiOiB7XG4gICAgICBcInR5cGVzXCI6IFwiLi9kaXN0L3N0b3JhZ2UuZC50c1wiLFxuICAgICAgXCJpbXBvcnRcIjogXCIuL2Rpc3Qvc3RvcmFnZS5tanNcIixcbiAgICAgIFwicmVxdWlyZVwiOiBcIi4vZGlzdC9zdG9yYWdlLmpzXCJcbiAgICB9LFxuICAgIFwiLi9zYW5kYm94XCI6IHtcbiAgICAgIFwidHlwZXNcIjogXCIuL2Rpc3Qvc2FuZGJveC5kLnRzXCIsXG4gICAgICBcImltcG9ydFwiOiBcIi4vZGlzdC9zYW5kYm94Lm1qc1wiLFxuICAgICAgXCJyZXF1aXJlXCI6IFwiLi9kaXN0L3NhbmRib3guanNcIlxuICAgIH0sXG4gICAgXCIuL25leHRcIjoge1xuICAgICAgXCJ0eXBlc1wiOiBcIi4vZGlzdC9uZXh0LmQudHNcIixcbiAgICAgIFwiaW1wb3J0XCI6IFwiLi9kaXN0L25leHQubWpzXCIsXG4gICAgICBcInJlcXVpcmVcIjogXCIuL2Rpc3QvbmV4dC5qc1wiXG4gICAgfSxcbiAgICBcIi4vbmV4dC9sb2FkZXJcIjoge1xuICAgICAgXCJ0eXBlc1wiOiBcIi4vZGlzdC9uZXh0L2xvYWRlci5kLnRzXCIsXG4gICAgICBcImltcG9ydFwiOiBcIi4vZGlzdC9uZXh0L2xvYWRlci5tanNcIixcbiAgICAgIFwicmVxdWlyZVwiOiBcIi4vZGlzdC9uZXh0L2xvYWRlci5qc1wiXG4gICAgfSxcbiAgICBcIi4vY2xpZW50XCI6IHtcbiAgICAgIFwidHlwZXNcIjogXCIuL2Rpc3QvY2xpZW50LmQudHNcIixcbiAgICAgIFwiaW1wb3J0XCI6IFwiLi9kaXN0L2NsaWVudC5tanNcIixcbiAgICAgIFwicmVxdWlyZVwiOiBcIi4vZGlzdC9jbGllbnQuanNcIlxuICAgIH0sXG4gICAgXCIuL2xpZmVjeWNsZS13b3JrZmxvd1wiOiB7XG4gICAgICBcInR5cGVzXCI6IFwiLi9kaXN0L2xpZmVjeWNsZS13b3JrZmxvdy5kLnRzXCIsXG4gICAgICBcImltcG9ydFwiOiBcIi4vZGlzdC9saWZlY3ljbGUtd29ya2Zsb3cubWpzXCIsXG4gICAgICBcInJlcXVpcmVcIjogXCIuL2Rpc3QvbGlmZWN5Y2xlLXdvcmtmbG93LmpzXCJcbiAgICB9LFxuICAgIFwiLi9saWZlY3ljbGUtd29ya2Zsb3ctc3RlcHNcIjoge1xuICAgICAgXCJ0eXBlc1wiOiBcIi4vZGlzdC9saWZlY3ljbGUtd29ya2Zsb3ctc3RlcHMuZC50c1wiLFxuICAgICAgXCJpbXBvcnRcIjogXCIuL2Rpc3QvbGlmZWN5Y2xlLXdvcmtmbG93LXN0ZXBzLm1qc1wiLFxuICAgICAgXCJyZXF1aXJlXCI6IFwiLi9kaXN0L2xpZmVjeWNsZS13b3JrZmxvdy1zdGVwcy5qc1wiXG4gICAgfVxuICB9LFxuICBcInNjcmlwdHNcIjoge1xuICAgIFwiYnVpbGRcIjogXCJ0c3VwXCIsXG4gICAgXCJkZXZcIjogXCJ0c3VwIC0td2F0Y2hcIixcbiAgICBcImNsZWFuXCI6IFwicm0gLXJmIC50dXJibyAmJiBybSAtcmYgbm9kZV9tb2R1bGVzICYmIHJtIC1yZiBkaXN0XCIsXG4gICAgXCJyZWxlYXNlXCI6IFwicG5wbSBidWlsZCAmJiBucG0gcHVibGlzaFwiLFxuICAgIFwidHlwZWNoZWNrXCI6IFwidHNjIC0tbm9FbWl0XCIsXG4gICAgXCJ0ZXN0XCI6IFwidml0ZXN0IHJ1blwiLFxuICAgIFwidGVzdDp3YXRjaFwiOiBcInZpdGVzdFwiXG4gIH0sXG4gIFwiZGVwZW5kZW5jaWVzXCI6IHtcbiAgICBcIkBzd2MvY29yZVwiOiBcIl4xLjEwLjBcIixcbiAgICBcIkB2ZXJjZWwvb2lkY1wiOiBcIl4zLjEuMFwiLFxuICAgIFwiQHZlcmNlbC9zYW5kYm94XCI6IFwiMS43LjFcIixcbiAgICBcIkB3b3JrZmxvdy9zZXJkZVwiOiBcIjQuMS4wLWJldGEuMlwiLFxuICAgIFwiYmV0dGVyLWFsbFwiOiBcIl4wLjAuNVwiLFxuICAgIFwiZXJyb3JlXCI6IFwiXjAuMTQuMFwiLFxuICAgIFwiZmFzdC1kZWVwLWVxdWFsXCI6IFwiXjMuMS4zXCIsXG4gICAgXCJ1bGlkXCI6IFwiXjMuMC4yXCIsXG4gICAgXCJ6b2RcIjogXCJeNC4zLjZcIlxuICB9LFxuICBcImRldkRlcGVuZGVuY2llc1wiOiB7XG4gICAgXCJAYWdlbnQvdHNjb25maWdcIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiQHR5cGVzL25vZGVcIjogXCJeMjAuMTEuMjRcIixcbiAgICBcImRvdGVudlwiOiBcIl4xNy4yLjNcIixcbiAgICBcIm5leHRcIjogXCJeMTYuMC4wXCIsXG4gICAgXCJ0c3VwXCI6IFwiXjguMC4yXCIsXG4gICAgXCJ0eXBlc2NyaXB0XCI6IFwiNS41LjRcIixcbiAgICBcInZpdGVzdFwiOiBcIl4zLjAuMFwiLFxuICAgIFwid29ya2Zsb3dcIjogXCI0LjEuMC1iZXRhLjYwXCJcbiAgfSxcbiAgXCJwZWVyRGVwZW5kZW5jaWVzXCI6IHtcbiAgICBcImFpXCI6IFwiXjYuMC4wXCJcbiAgfSxcbiAgXCJwdWJsaXNoQ29uZmlnXCI6IHtcbiAgICBcImFjY2Vzc1wiOiBcInB1YmxpY1wiXG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxhQUF3QjtBQUN4QixTQUFvQjtBQUNwQixXQUFzQjs7O0FDRnRCO0FBQUEsRUFDRSxNQUFRO0FBQUEsRUFDUixTQUFXO0FBQUEsRUFDWCxNQUFRO0FBQUEsRUFDUixRQUFVO0FBQUEsRUFDVixPQUFTO0FBQUEsRUFDVCxhQUFlO0FBQUEsRUFDZixTQUFXO0FBQUEsRUFDWCxPQUFTO0FBQUEsSUFDUDtBQUFBLEVBQ0Y7QUFBQSxFQUNBLFNBQVc7QUFBQSxJQUNULEtBQUs7QUFBQSxNQUNILE9BQVM7QUFBQSxNQUNULFFBQVU7QUFBQSxNQUNWLFNBQVc7QUFB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
package/dist/next.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  package_default
3
- } from "./chunk-7M6UPURS.mjs";
3
+ } from "./chunk-ELWIUJUK.mjs";
4
4
  import {
5
5
  __require
6
6
  } from "./chunk-BJTO5JO5.mjs";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_WAIT_UNTIL,
3
3
  createProcessManager
4
- } from "./chunk-FQ67QZOI.mjs";
4
+ } from "./chunk-C4VSUEY2.mjs";
5
5
  import "./chunk-BJTO5JO5.mjs";
6
6
  export {
7
7
  DEFAULT_WAIT_UNTIL,
@@ -0,0 +1,6 @@
1
+ export { E as ExecResult, d as SandboxAgentRef, S as SandboxBinding, b as SandboxInstance, a as SandboxSetupFields, U as UploadableFile } from './steps-u-mGDbP_.mjs';
2
+ export { d as dockerSandbox, l as localSandbox, v as vercelSandbox } from './entry-CZd9aAwn.mjs';
3
+ import '@vercel/sandbox';
4
+ import './adapter-BigchkkI.mjs';
5
+ import '@workflow/serde';
6
+ import 'ai';
@@ -0,0 +1,6 @@
1
+ export { E as ExecResult, d as SandboxAgentRef, S as SandboxBinding, b as SandboxInstance, a as SandboxSetupFields, U as UploadableFile } from './steps-BnkRQKlc.js';
2
+ export { d as dockerSandbox, l as localSandbox, v as vercelSandbox } from './entry-BmQ8FO-5.js';
3
+ import '@vercel/sandbox';
4
+ import './adapter-BigchkkI.js';
5
+ import '@workflow/serde';
6
+ import 'ai';