@lukaskj/ts-utils 1.0.3 → 1.2.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.
@@ -54,6 +54,7 @@ var COLORS_MAP;
54
54
  COLORS_MAP2["yellow"] = "\x1B[0;33m";
55
55
  COLORS_MAP2["blue"] = "\x1B[0;34m";
56
56
  COLORS_MAP2["purple"] = "\x1B[0;35m";
57
+ COLORS_MAP2["magenta"] = "\x1B[0;35m";
57
58
  COLORS_MAP2["cyan"] = "\x1B[0;36m";
58
59
  COLORS_MAP2["white"] = "\x1B[0;37m";
59
60
  COLORS_MAP2["blackBright"] = "\x1B[0;90m";
@@ -62,6 +63,7 @@ var COLORS_MAP;
62
63
  COLORS_MAP2["yellowBright"] = "\x1B[0;93m";
63
64
  COLORS_MAP2["blueBright"] = "\x1B[0;94m";
64
65
  COLORS_MAP2["purpleBright"] = "\x1B[0;95m";
66
+ COLORS_MAP2["magentaBright"] = "\x1B[0;95m";
65
67
  COLORS_MAP2["cyanBright"] = "\x1B[0;96m";
66
68
  COLORS_MAP2["whiteBright"] = "\x1B[0;97m";
67
69
  COLORS_MAP2["redBold"] = "\x1B[1;31m";
@@ -69,6 +71,7 @@ var COLORS_MAP;
69
71
  COLORS_MAP2["yellowBold"] = "\x1B[1;33m";
70
72
  COLORS_MAP2["blueBold"] = "\x1B[1;34m";
71
73
  COLORS_MAP2["purpleBold"] = "\x1B[1;35m";
74
+ COLORS_MAP2["magentaBold"] = "\x1B[1;35m";
72
75
  COLORS_MAP2["cyanBold"] = "\x1B[1;36m";
73
76
  COLORS_MAP2["whiteBold"] = "\x1B[1;37m";
74
77
  COLORS_MAP2["blackUnderline"] = "\x1B[4;30m";
@@ -77,6 +80,7 @@ var COLORS_MAP;
77
80
  COLORS_MAP2["yellowUnderline"] = "\x1B[4;33m";
78
81
  COLORS_MAP2["blueUnderline"] = "\x1B[4;34m";
79
82
  COLORS_MAP2["purpleUnderline"] = "\x1B[4;35m";
83
+ COLORS_MAP2["magentaUnderline"] = "\x1B[4;35m";
80
84
  COLORS_MAP2["cyanUnderline"] = "\x1B[4;36m";
81
85
  COLORS_MAP2["whiteUnderline"] = "\x1B[4;37m";
82
86
  COLORS_MAP2["bgBlack"] = "\x1B[40m";
@@ -85,6 +89,7 @@ var COLORS_MAP;
85
89
  COLORS_MAP2["bgYellow"] = "\x1B[43m";
86
90
  COLORS_MAP2["bgBlue"] = "\x1B[44m";
87
91
  COLORS_MAP2["bgPurple"] = "\x1B[45m";
92
+ COLORS_MAP2["bgMagenta"] = "\x1B[45m";
88
93
  COLORS_MAP2["bgCyan"] = "\x1B[46m";
89
94
  COLORS_MAP2["bgWhite"] = "\x1B[47m";
90
95
  COLORS_MAP2["bgBlackBright"] = "\x1B[100m";
@@ -93,6 +98,7 @@ var COLORS_MAP;
93
98
  COLORS_MAP2["bgYellowBright"] = "\x1B[103m";
94
99
  COLORS_MAP2["bgBlueBright"] = "\x1B[104m";
95
100
  COLORS_MAP2["bgPurpleBright"] = "\x1B[105m";
101
+ COLORS_MAP2["bgMagentaBright"] = "\x1B[105m";
96
102
  COLORS_MAP2["bgCyanBright"] = "\x1B[106m";
97
103
  COLORS_MAP2["bgWhiteBright"] = "\x1B[107m";
98
104
  })(COLORS_MAP ||= {});
@@ -105,5 +111,5 @@ for (const [colorName, colorValue] of Object.entries(COLORS_MAP)) {
105
111
  }
106
112
  var colors_default = colors;
107
113
 
108
- //# debugId=F8C6D3ADE772C14164756E2164756E21
109
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2NvbG9ycy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsKICAgICIvLyBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9KQmxvbmQvMmZlYTQzYTMwNDliMzgyODdlNWU5Y2VmYzg3YjIxMjRcblxuY29uc3QgX19yZXNldCA9IFwiXFx4MWJbMG1cIjtcblxuZW51bSBDT0xPUlNfTUFQIHtcbiAgYmxhY2sgPSBcIlxceDFiWzA7MzBtXCIsXG4gIHJlZCA9IFwiXFx4MWJbMDszMW1cIixcbiAgZ3JlZW4gPSBcIlxceDFiWzA7MzJtXCIsXG4gIHllbGxvdyA9IFwiXFx4MWJbMDszM21cIixcbiAgYmx1ZSA9IFwiXFx4MWJbMDszNG1cIixcbiAgcHVycGxlID0gXCJcXHgxYlswOzM1bVwiLFxuICBjeWFuID0gXCJcXHgxYlswOzM2bVwiLFxuICB3aGl0ZSA9IFwiXFx4MWJbMDszN21cIixcblxuICBibGFja0JyaWdodCA9IFwiXFx4MWJbMDs5MG1cIixcbiAgcmVkQnJpZ2h0ID0gXCJcXHgxYlswOzkxbVwiLFxuICBncmVlbkJyaWdodCA9IFwiXFx4MWJbMDs5Mm1cIixcbiAgeWVsbG93QnJpZ2h0ID0gXCJcXHgxYlswOzkzbVwiLFxuICBibHVlQnJpZ2h0ID0gXCJcXHgxYlswOzk0bVwiLFxuICBwdXJwbGVCcmlnaHQgPSBcIlxceDFiWzA7OTVtXCIsXG4gIGN5YW5CcmlnaHQgPSBcIlxceDFiWzA7OTZtXCIsXG4gIHdoaXRlQnJpZ2h0ID0gXCJcXHgxYlswOzk3bVwiLFxuXG4gIHJlZEJvbGQgPSBcIlxceDFiWzE7MzFtXCIsXG4gIGdyZWVuQm9sZCA9IFwiXFx4MWJbMTszMm1cIixcbiAgeWVsbG93Qm9sZCA9IFwiXFx4MWJbMTszM21cIixcbiAgYmx1ZUJvbGQgPSBcIlxceDFiWzE7MzRtXCIsXG4gIHB1cnBsZUJvbGQgPSBcIlxceDFiWzE7MzVtXCIsXG4gIGN5YW5Cb2xkID0gXCJcXHgxYlsxOzM2bVwiLFxuICB3aGl0ZUJvbGQgPSBcIlxceDFiWzE7MzdtXCIsXG5cbiAgYmxhY2tVbmRlcmxpbmUgPSBcIlxceDFiWzQ7MzBtXCIsXG4gIHJlZFVuZGVybGluZSA9IFwiXFx4MWJbNDszMW1cIixcbiAgZ3JlZW5VbmRlcmxpbmUgPSBcIlxceDFiWzQ7MzJtXCIsXG4gIHllbGxvd1VuZGVybGluZSA9IFwiXFx4MWJbNDszM21cIixcbiAgYmx1ZVVuZGVybGluZSA9IFwiXFx4MWJbNDszNG1cIixcbiAgcHVycGxlVW5kZXJsaW5lID0gXCJcXHgxYls0OzM1bVwiLFxuICBjeWFuVW5kZXJsaW5lID0gXCJcXHgxYls0OzM2bVwiLFxuICB3aGl0ZVVuZGVybGluZSA9IFwiXFx4MWJbNDszN21cIixcblxuICBiZ0JsYWNrID0gXCJcXHgxYls0MG1cIixcbiAgYmdSZWQgPSBcIlxceDFiWzQxbVwiLFxuICBiZ0dyZWVuID0gXCJcXHgxYls0Mm1cIixcbiAgYmdZZWxsb3cgPSBcIlxceDFiWzQzbVwiLFxuICBiZ0JsdWUgPSBcIlxceDFiWzQ0bVwiLFxuICBiZ1B1cnBsZSA9IFwiXFx4MWJbNDVtXCIsXG4gIGJnQ3lhbiA9IFwiXFx4MWJbNDZtXCIsXG4gIGJnV2hpdGUgPSBcIlxceDFiWzQ3bVwiLFxuXG4gIGJnQmxhY2tCcmlnaHQgPSBcIlxceDFiWzEwMG1cIixcbiAgYmdSZWRCcmlnaHQgPSBcIlxceDFiWzEwMW1cIixcbiAgYmdHcmVlbkJyaWdodCA9IFwiXFx4MWJbMTAybVwiLFxuICBiZ1llbGxvd0JyaWdodCA9IFwiXFx4MWJbMTAzbVwiLFxuICBiZ0JsdWVCcmlnaHQgPSBcIlxceDFiWzEwNG1cIixcbiAgYmdQdXJwbGVCcmlnaHQgPSBcIlxceDFiWzEwNW1cIixcbiAgYmdDeWFuQnJpZ2h0ID0gXCJcXHgxYlsxMDZtXCIsXG4gIGJnV2hpdGVCcmlnaHQgPSBcIlxceDFiWzEwN21cIixcbn1cblxuZnVuY3Rpb24gd3JhcChjb2xvcjogc3RyaW5nKSB7XG4gIHJldHVybiAoZGF0YTogdW5rbm93bikgPT4gYCR7Y29sb3J9JHtkYXRhfSR7X19yZXNldH1gO1xufVxuXG5jb25zdCBjb2xvcnM6IFJlY29yZDxrZXlvZiB0eXBlb2YgQ09MT1JTX01BUCwgUmV0dXJuVHlwZTx0eXBlb2Ygd3JhcD4+ID0ge30gYXMgYW55O1xuXG5mb3IgKGNvbnN0IFtjb2xvck5hbWUsIGNvbG9yVmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKENPTE9SU19NQVApKSB7XG4gIGNvbG9yc1tjb2xvck5hbWUgYXMga2V5b2YgdHlwZW9mIENPTE9SU19NQVBdID0gd3JhcChjb2xvclZhbHVlKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY29sb3JzO1xuIgogIF0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFNLFVBQVU7QUFFaEIsSUFBSztBQUFBLENBQUwsQ0FBSyxnQkFBTDtBQUFBLEVBQ0UsdUJBQVE7QUFBQSxFQUNSLHFCQUFNO0FBQUEsRUFDTix1QkFBUTtBQUFBLEVBQ1Isd0JBQVM7QUFBQSxFQUNULHNCQUFPO0FBQUEsRUFDUCx3QkFBUztBQUFBLEVBQ1Qsc0JBQU87QUFBQSxFQUNQLHVCQUFRO0FBQUEsRUFFUiw2QkFBYztBQUFBLEVBQ2QsMkJBQVk7QUFBQSxFQUNaLDZCQUFjO0FBQUEsRUFDZCw4QkFBZTtBQUFBLEVBQ2YsNEJBQWE7QUFBQSxFQUNiLDhCQUFlO0FBQUEsRUFDZiw0QkFBYTtBQUFBLEVBQ2IsNkJBQWM7QUFBQSxFQUVkLHlCQUFVO0FBQUEsRUFDViwyQkFBWTtBQUFBLEVBQ1osNEJBQWE7QUFBQSxFQUNiLDBCQUFXO0FBQUEsRUFDWCw0QkFBYTtBQUFBLEVBQ2IsMEJBQVc7QUFBQSxFQUNYLDJCQUFZO0FBQUEsRUFFWixnQ0FBaUI7QUFBQSxFQUNqQiw4QkFBZTtBQUFBLEVBQ2YsZ0NBQWlCO0FBQUEsRUFDakIsaUNBQWtCO0FBQUEsRUFDbEIsK0JBQWdCO0FBQUEsRUFDaEIsaUNBQWtCO0FBQUEsRUFDbEIsK0JBQWdCO0FBQUEsRUFDaEIsZ0NBQWlCO0FBQUEsRUFFakIseUJBQVU7QUFBQSxFQUNWLHVCQUFRO0FBQUEsRUFDUix5QkFBVTtBQUFBLEVBQ1YsMEJBQVc7QUFBQSxFQUNYLHdCQUFTO0FBQUEsRUFDVCwwQkFBVztBQUFBLEVBQ1gsd0JBQVM7QUFBQSxFQUNULHlCQUFVO0FBQUEsRUFFViwrQkFBZ0I7QUFBQSxFQUNoQiw2QkFBYztBQUFBLEVBQ2QsK0JBQWdCO0FBQUEsRUFDaEIsZ0NBQWlCO0FBQUEsRUFDakIsOEJBQWU7QUFBQSxFQUNmLGdDQUFpQjtBQUFBLEVBQ2pCLDhCQUFlO0FBQUEsRUFDZiwrQkFBZ0I7QUFBQSxHQXBEYjtBQXVETCxTQUFTLElBQUksQ0FBQyxPQUFlO0FBQUEsRUFDM0IsT0FBTyxDQUFDLFNBQWtCLEdBQUcsUUFBUSxPQUFPO0FBQUE7QUFHOUMsSUFBTSxTQUFtRSxDQUFDO0FBRTFFLFlBQVksV0FBVyxlQUFlLE9BQU8sUUFBUSxVQUFVLEdBQUc7QUFBQSxFQUNoRSxPQUFPLGFBQXdDLEtBQUssVUFBVTtBQUNoRTtBQUVBLElBQWU7IiwKICAiZGVidWdJZCI6ICJGOEM2RDNBREU3NzJDMTQxNjQ3NTZFMjE2NDc1NkUyMSIsCiAgIm5hbWVzIjogW10KfQ==
114
+ //# debugId=34FC3A7A08D5655564756E2164756E21
115
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2NvbG9ycy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsKICAgICIvLyBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9KQmxvbmQvMmZlYTQzYTMwNDliMzgyODdlNWU5Y2VmYzg3YjIxMjRcblxuY29uc3QgX19yZXNldCA9IFwiXFx4MWJbMG1cIjtcblxuZW51bSBDT0xPUlNfTUFQIHtcbiAgYmxhY2sgPSBcIlxceDFiWzA7MzBtXCIsXG4gIHJlZCA9IFwiXFx4MWJbMDszMW1cIixcbiAgZ3JlZW4gPSBcIlxceDFiWzA7MzJtXCIsXG4gIHllbGxvdyA9IFwiXFx4MWJbMDszM21cIixcbiAgYmx1ZSA9IFwiXFx4MWJbMDszNG1cIixcbiAgcHVycGxlID0gXCJcXHgxYlswOzM1bVwiLFxuICBtYWdlbnRhID0gXCJcXHgxYlswOzM1bVwiLFxuICBjeWFuID0gXCJcXHgxYlswOzM2bVwiLFxuICB3aGl0ZSA9IFwiXFx4MWJbMDszN21cIixcblxuICBibGFja0JyaWdodCA9IFwiXFx4MWJbMDs5MG1cIixcbiAgcmVkQnJpZ2h0ID0gXCJcXHgxYlswOzkxbVwiLFxuICBncmVlbkJyaWdodCA9IFwiXFx4MWJbMDs5Mm1cIixcbiAgeWVsbG93QnJpZ2h0ID0gXCJcXHgxYlswOzkzbVwiLFxuICBibHVlQnJpZ2h0ID0gXCJcXHgxYlswOzk0bVwiLFxuICBwdXJwbGVCcmlnaHQgPSBcIlxceDFiWzA7OTVtXCIsXG4gIG1hZ2VudGFCcmlnaHQgPSBcIlxceDFiWzA7OTVtXCIsXG4gIGN5YW5CcmlnaHQgPSBcIlxceDFiWzA7OTZtXCIsXG4gIHdoaXRlQnJpZ2h0ID0gXCJcXHgxYlswOzk3bVwiLFxuXG4gIHJlZEJvbGQgPSBcIlxceDFiWzE7MzFtXCIsXG4gIGdyZWVuQm9sZCA9IFwiXFx4MWJbMTszMm1cIixcbiAgeWVsbG93Qm9sZCA9IFwiXFx4MWJbMTszM21cIixcbiAgYmx1ZUJvbGQgPSBcIlxceDFiWzE7MzRtXCIsXG4gIHB1cnBsZUJvbGQgPSBcIlxceDFiWzE7MzVtXCIsXG4gIG1hZ2VudGFCb2xkID0gXCJcXHgxYlsxOzM1bVwiLFxuICBjeWFuQm9sZCA9IFwiXFx4MWJbMTszNm1cIixcbiAgd2hpdGVCb2xkID0gXCJcXHgxYlsxOzM3bVwiLFxuXG4gIGJsYWNrVW5kZXJsaW5lID0gXCJcXHgxYls0OzMwbVwiLFxuICByZWRVbmRlcmxpbmUgPSBcIlxceDFiWzQ7MzFtXCIsXG4gIGdyZWVuVW5kZXJsaW5lID0gXCJcXHgxYls0OzMybVwiLFxuICB5ZWxsb3dVbmRlcmxpbmUgPSBcIlxceDFiWzQ7MzNtXCIsXG4gIGJsdWVVbmRlcmxpbmUgPSBcIlxceDFiWzQ7MzRtXCIsXG4gIHB1cnBsZVVuZGVybGluZSA9IFwiXFx4MWJbNDszNW1cIixcbiAgbWFnZW50YVVuZGVybGluZSA9IFwiXFx4MWJbNDszNW1cIixcbiAgY3lhblVuZGVybGluZSA9IFwiXFx4MWJbNDszNm1cIixcbiAgd2hpdGVVbmRlcmxpbmUgPSBcIlxceDFiWzQ7MzdtXCIsXG5cbiAgYmdCbGFjayA9IFwiXFx4MWJbNDBtXCIsXG4gIGJnUmVkID0gXCJcXHgxYls0MW1cIixcbiAgYmdHcmVlbiA9IFwiXFx4MWJbNDJtXCIsXG4gIGJnWWVsbG93ID0gXCJcXHgxYls0M21cIixcbiAgYmdCbHVlID0gXCJcXHgxYls0NG1cIixcbiAgYmdQdXJwbGUgPSBcIlxceDFiWzQ1bVwiLFxuICBiZ01hZ2VudGEgPSBcIlxceDFiWzQ1bVwiLFxuICBiZ0N5YW4gPSBcIlxceDFiWzQ2bVwiLFxuICBiZ1doaXRlID0gXCJcXHgxYls0N21cIixcblxuICBiZ0JsYWNrQnJpZ2h0ID0gXCJcXHgxYlsxMDBtXCIsXG4gIGJnUmVkQnJpZ2h0ID0gXCJcXHgxYlsxMDFtXCIsXG4gIGJnR3JlZW5CcmlnaHQgPSBcIlxceDFiWzEwMm1cIixcbiAgYmdZZWxsb3dCcmlnaHQgPSBcIlxceDFiWzEwM21cIixcbiAgYmdCbHVlQnJpZ2h0ID0gXCJcXHgxYlsxMDRtXCIsXG4gIGJnUHVycGxlQnJpZ2h0ID0gXCJcXHgxYlsxMDVtXCIsXG4gIGJnTWFnZW50YUJyaWdodCA9IFwiXFx4MWJbMTA1bVwiLFxuICBiZ0N5YW5CcmlnaHQgPSBcIlxceDFiWzEwNm1cIixcbiAgYmdXaGl0ZUJyaWdodCA9IFwiXFx4MWJbMTA3bVwiLFxufVxuXG5mdW5jdGlvbiB3cmFwKGNvbG9yOiBzdHJpbmcpIHtcbiAgcmV0dXJuIChkYXRhOiB1bmtub3duKSA9PiBgJHtjb2xvcn0ke2RhdGF9JHtfX3Jlc2V0fWA7XG59XG5cbmNvbnN0IGNvbG9yczogUmVjb3JkPGtleW9mIHR5cGVvZiBDT0xPUlNfTUFQLCBSZXR1cm5UeXBlPHR5cGVvZiB3cmFwPj4gPSB7fSBhcyBhbnk7XG5cbmZvciAoY29uc3QgW2NvbG9yTmFtZSwgY29sb3JWYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoQ09MT1JTX01BUCkpIHtcbiAgY29sb3JzW2NvbG9yTmFtZSBhcyBrZXlvZiB0eXBlb2YgQ09MT1JTX01BUF0gPSB3cmFwKGNvbG9yVmFsdWUpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjb2xvcnM7XG4iCiAgXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQU0sVUFBVTtBQUVoQixJQUFLO0FBQUEsQ0FBTCxDQUFLLGdCQUFMO0FBQUEsRUFDRSx1QkFBUTtBQUFBLEVBQ1IscUJBQU07QUFBQSxFQUNOLHVCQUFRO0FBQUEsRUFDUix3QkFBUztBQUFBLEVBQ1Qsc0JBQU87QUFBQSxFQUNQLHdCQUFTO0FBQUEsRUFDVCx5QkFBVTtBQUFBLEVBQ1Ysc0JBQU87QUFBQSxFQUNQLHVCQUFRO0FBQUEsRUFFUiw2QkFBYztBQUFBLEVBQ2QsMkJBQVk7QUFBQSxFQUNaLDZCQUFjO0FBQUEsRUFDZCw4QkFBZTtBQUFBLEVBQ2YsNEJBQWE7QUFBQSxFQUNiLDhCQUFlO0FBQUEsRUFDZiwrQkFBZ0I7QUFBQSxFQUNoQiw0QkFBYTtBQUFBLEVBQ2IsNkJBQWM7QUFBQSxFQUVkLHlCQUFVO0FBQUEsRUFDViwyQkFBWTtBQUFBLEVBQ1osNEJBQWE7QUFBQSxFQUNiLDBCQUFXO0FBQUEsRUFDWCw0QkFBYTtBQUFBLEVBQ2IsNkJBQWM7QUFBQSxFQUNkLDBCQUFXO0FBQUEsRUFDWCwyQkFBWTtBQUFBLEVBRVosZ0NBQWlCO0FBQUEsRUFDakIsOEJBQWU7QUFBQSxFQUNmLGdDQUFpQjtBQUFBLEVBQ2pCLGlDQUFrQjtBQUFBLEVBQ2xCLCtCQUFnQjtBQUFBLEVBQ2hCLGlDQUFrQjtBQUFBLEVBQ2xCLGtDQUFtQjtBQUFBLEVBQ25CLCtCQUFnQjtBQUFBLEVBQ2hCLGdDQUFpQjtBQUFBLEVBRWpCLHlCQUFVO0FBQUEsRUFDVix1QkFBUTtBQUFBLEVBQ1IseUJBQVU7QUFBQSxFQUNWLDBCQUFXO0FBQUEsRUFDWCx3QkFBUztBQUFBLEVBQ1QsMEJBQVc7QUFBQSxFQUNYLDJCQUFZO0FBQUEsRUFDWix3QkFBUztBQUFBLEVBQ1QseUJBQVU7QUFBQSxFQUVWLCtCQUFnQjtBQUFBLEVBQ2hCLDZCQUFjO0FBQUEsRUFDZCwrQkFBZ0I7QUFBQSxFQUNoQixnQ0FBaUI7QUFBQSxFQUNqQiw4QkFBZTtBQUFBLEVBQ2YsZ0NBQWlCO0FBQUEsRUFDakIsaUNBQWtCO0FBQUEsRUFDbEIsOEJBQWU7QUFBQSxFQUNmLCtCQUFnQjtBQUFBLEdBMURiO0FBNkRMLFNBQVMsSUFBSSxDQUFDLE9BQWU7QUFBQSxFQUMzQixPQUFPLENBQUMsU0FBa0IsR0FBRyxRQUFRLE9BQU87QUFBQTtBQUc5QyxJQUFNLFNBQW1FLENBQUM7QUFFMUUsWUFBWSxXQUFXLGVBQWUsT0FBTyxRQUFRLFVBQVUsR0FBRztBQUFBLEVBQ2hFLE9BQU8sYUFBd0MsS0FBSyxVQUFVO0FBQ2hFO0FBRUEsSUFBZTsiLAogICJkZWJ1Z0lkIjogIjM0RkMzQTdBMDhENTY1NTU2NDc1NkUyMTY0NzU2RTIxIiwKICAibmFtZXMiOiBbXQp9
@@ -5,6 +5,7 @@ declare enum COLORS_MAP {
5
5
  yellow = "\u001B[0;33m",
6
6
  blue = "\u001B[0;34m",
7
7
  purple = "\u001B[0;35m",
8
+ magenta = "\u001B[0;35m",
8
9
  cyan = "\u001B[0;36m",
9
10
  white = "\u001B[0;37m",
10
11
  blackBright = "\u001B[0;90m",
@@ -13,6 +14,7 @@ declare enum COLORS_MAP {
13
14
  yellowBright = "\u001B[0;93m",
14
15
  blueBright = "\u001B[0;94m",
15
16
  purpleBright = "\u001B[0;95m",
17
+ magentaBright = "\u001B[0;95m",
16
18
  cyanBright = "\u001B[0;96m",
17
19
  whiteBright = "\u001B[0;97m",
18
20
  redBold = "\u001B[1;31m",
@@ -20,6 +22,7 @@ declare enum COLORS_MAP {
20
22
  yellowBold = "\u001B[1;33m",
21
23
  blueBold = "\u001B[1;34m",
22
24
  purpleBold = "\u001B[1;35m",
25
+ magentaBold = "\u001B[1;35m",
23
26
  cyanBold = "\u001B[1;36m",
24
27
  whiteBold = "\u001B[1;37m",
25
28
  blackUnderline = "\u001B[4;30m",
@@ -28,6 +31,7 @@ declare enum COLORS_MAP {
28
31
  yellowUnderline = "\u001B[4;33m",
29
32
  blueUnderline = "\u001B[4;34m",
30
33
  purpleUnderline = "\u001B[4;35m",
34
+ magentaUnderline = "\u001B[4;35m",
31
35
  cyanUnderline = "\u001B[4;36m",
32
36
  whiteUnderline = "\u001B[4;37m",
33
37
  bgBlack = "\u001B[40m",
@@ -36,6 +40,7 @@ declare enum COLORS_MAP {
36
40
  bgYellow = "\u001B[43m",
37
41
  bgBlue = "\u001B[44m",
38
42
  bgPurple = "\u001B[45m",
43
+ bgMagenta = "\u001B[45m",
39
44
  bgCyan = "\u001B[46m",
40
45
  bgWhite = "\u001B[47m",
41
46
  bgBlackBright = "\u001B[100m",
@@ -44,6 +49,7 @@ declare enum COLORS_MAP {
44
49
  bgYellowBright = "\u001B[103m",
45
50
  bgBlueBright = "\u001B[104m",
46
51
  bgPurpleBright = "\u001B[105m",
52
+ bgMagentaBright = "\u001B[105m",
47
53
  bgCyanBright = "\u001B[106m",
48
54
  bgWhiteBright = "\u001B[107m"
49
55
  }
@@ -8,6 +8,7 @@ var COLORS_MAP;
8
8
  COLORS_MAP2["yellow"] = "\x1B[0;33m";
9
9
  COLORS_MAP2["blue"] = "\x1B[0;34m";
10
10
  COLORS_MAP2["purple"] = "\x1B[0;35m";
11
+ COLORS_MAP2["magenta"] = "\x1B[0;35m";
11
12
  COLORS_MAP2["cyan"] = "\x1B[0;36m";
12
13
  COLORS_MAP2["white"] = "\x1B[0;37m";
13
14
  COLORS_MAP2["blackBright"] = "\x1B[0;90m";
@@ -16,6 +17,7 @@ var COLORS_MAP;
16
17
  COLORS_MAP2["yellowBright"] = "\x1B[0;93m";
17
18
  COLORS_MAP2["blueBright"] = "\x1B[0;94m";
18
19
  COLORS_MAP2["purpleBright"] = "\x1B[0;95m";
20
+ COLORS_MAP2["magentaBright"] = "\x1B[0;95m";
19
21
  COLORS_MAP2["cyanBright"] = "\x1B[0;96m";
20
22
  COLORS_MAP2["whiteBright"] = "\x1B[0;97m";
21
23
  COLORS_MAP2["redBold"] = "\x1B[1;31m";
@@ -23,6 +25,7 @@ var COLORS_MAP;
23
25
  COLORS_MAP2["yellowBold"] = "\x1B[1;33m";
24
26
  COLORS_MAP2["blueBold"] = "\x1B[1;34m";
25
27
  COLORS_MAP2["purpleBold"] = "\x1B[1;35m";
28
+ COLORS_MAP2["magentaBold"] = "\x1B[1;35m";
26
29
  COLORS_MAP2["cyanBold"] = "\x1B[1;36m";
27
30
  COLORS_MAP2["whiteBold"] = "\x1B[1;37m";
28
31
  COLORS_MAP2["blackUnderline"] = "\x1B[4;30m";
@@ -31,6 +34,7 @@ var COLORS_MAP;
31
34
  COLORS_MAP2["yellowUnderline"] = "\x1B[4;33m";
32
35
  COLORS_MAP2["blueUnderline"] = "\x1B[4;34m";
33
36
  COLORS_MAP2["purpleUnderline"] = "\x1B[4;35m";
37
+ COLORS_MAP2["magentaUnderline"] = "\x1B[4;35m";
34
38
  COLORS_MAP2["cyanUnderline"] = "\x1B[4;36m";
35
39
  COLORS_MAP2["whiteUnderline"] = "\x1B[4;37m";
36
40
  COLORS_MAP2["bgBlack"] = "\x1B[40m";
@@ -39,6 +43,7 @@ var COLORS_MAP;
39
43
  COLORS_MAP2["bgYellow"] = "\x1B[43m";
40
44
  COLORS_MAP2["bgBlue"] = "\x1B[44m";
41
45
  COLORS_MAP2["bgPurple"] = "\x1B[45m";
46
+ COLORS_MAP2["bgMagenta"] = "\x1B[45m";
42
47
  COLORS_MAP2["bgCyan"] = "\x1B[46m";
43
48
  COLORS_MAP2["bgWhite"] = "\x1B[47m";
44
49
  COLORS_MAP2["bgBlackBright"] = "\x1B[100m";
@@ -47,6 +52,7 @@ var COLORS_MAP;
47
52
  COLORS_MAP2["bgYellowBright"] = "\x1B[103m";
48
53
  COLORS_MAP2["bgBlueBright"] = "\x1B[104m";
49
54
  COLORS_MAP2["bgPurpleBright"] = "\x1B[105m";
55
+ COLORS_MAP2["bgMagentaBright"] = "\x1B[105m";
50
56
  COLORS_MAP2["bgCyanBright"] = "\x1B[106m";
51
57
  COLORS_MAP2["bgWhiteBright"] = "\x1B[107m";
52
58
  })(COLORS_MAP ||= {});
@@ -62,5 +68,5 @@ export {
62
68
  colors_default as default
63
69
  };
64
70
 
65
- //# debugId=2E2399BDD412E4AB64756E2164756E21
66
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2NvbG9ycy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsKICAgICIvLyBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9KQmxvbmQvMmZlYTQzYTMwNDliMzgyODdlNWU5Y2VmYzg3YjIxMjRcblxuY29uc3QgX19yZXNldCA9IFwiXFx4MWJbMG1cIjtcblxuZW51bSBDT0xPUlNfTUFQIHtcbiAgYmxhY2sgPSBcIlxceDFiWzA7MzBtXCIsXG4gIHJlZCA9IFwiXFx4MWJbMDszMW1cIixcbiAgZ3JlZW4gPSBcIlxceDFiWzA7MzJtXCIsXG4gIHllbGxvdyA9IFwiXFx4MWJbMDszM21cIixcbiAgYmx1ZSA9IFwiXFx4MWJbMDszNG1cIixcbiAgcHVycGxlID0gXCJcXHgxYlswOzM1bVwiLFxuICBjeWFuID0gXCJcXHgxYlswOzM2bVwiLFxuICB3aGl0ZSA9IFwiXFx4MWJbMDszN21cIixcblxuICBibGFja0JyaWdodCA9IFwiXFx4MWJbMDs5MG1cIixcbiAgcmVkQnJpZ2h0ID0gXCJcXHgxYlswOzkxbVwiLFxuICBncmVlbkJyaWdodCA9IFwiXFx4MWJbMDs5Mm1cIixcbiAgeWVsbG93QnJpZ2h0ID0gXCJcXHgxYlswOzkzbVwiLFxuICBibHVlQnJpZ2h0ID0gXCJcXHgxYlswOzk0bVwiLFxuICBwdXJwbGVCcmlnaHQgPSBcIlxceDFiWzA7OTVtXCIsXG4gIGN5YW5CcmlnaHQgPSBcIlxceDFiWzA7OTZtXCIsXG4gIHdoaXRlQnJpZ2h0ID0gXCJcXHgxYlswOzk3bVwiLFxuXG4gIHJlZEJvbGQgPSBcIlxceDFiWzE7MzFtXCIsXG4gIGdyZWVuQm9sZCA9IFwiXFx4MWJbMTszMm1cIixcbiAgeWVsbG93Qm9sZCA9IFwiXFx4MWJbMTszM21cIixcbiAgYmx1ZUJvbGQgPSBcIlxceDFiWzE7MzRtXCIsXG4gIHB1cnBsZUJvbGQgPSBcIlxceDFiWzE7MzVtXCIsXG4gIGN5YW5Cb2xkID0gXCJcXHgxYlsxOzM2bVwiLFxuICB3aGl0ZUJvbGQgPSBcIlxceDFiWzE7MzdtXCIsXG5cbiAgYmxhY2tVbmRlcmxpbmUgPSBcIlxceDFiWzQ7MzBtXCIsXG4gIHJlZFVuZGVybGluZSA9IFwiXFx4MWJbNDszMW1cIixcbiAgZ3JlZW5VbmRlcmxpbmUgPSBcIlxceDFiWzQ7MzJtXCIsXG4gIHllbGxvd1VuZGVybGluZSA9IFwiXFx4MWJbNDszM21cIixcbiAgYmx1ZVVuZGVybGluZSA9IFwiXFx4MWJbNDszNG1cIixcbiAgcHVycGxlVW5kZXJsaW5lID0gXCJcXHgxYls0OzM1bVwiLFxuICBjeWFuVW5kZXJsaW5lID0gXCJcXHgxYls0OzM2bVwiLFxuICB3aGl0ZVVuZGVybGluZSA9IFwiXFx4MWJbNDszN21cIixcblxuICBiZ0JsYWNrID0gXCJcXHgxYls0MG1cIixcbiAgYmdSZWQgPSBcIlxceDFiWzQxbVwiLFxuICBiZ0dyZWVuID0gXCJcXHgxYls0Mm1cIixcbiAgYmdZZWxsb3cgPSBcIlxceDFiWzQzbVwiLFxuICBiZ0JsdWUgPSBcIlxceDFiWzQ0bVwiLFxuICBiZ1B1cnBsZSA9IFwiXFx4MWJbNDVtXCIsXG4gIGJnQ3lhbiA9IFwiXFx4MWJbNDZtXCIsXG4gIGJnV2hpdGUgPSBcIlxceDFiWzQ3bVwiLFxuXG4gIGJnQmxhY2tCcmlnaHQgPSBcIlxceDFiWzEwMG1cIixcbiAgYmdSZWRCcmlnaHQgPSBcIlxceDFiWzEwMW1cIixcbiAgYmdHcmVlbkJyaWdodCA9IFwiXFx4MWJbMTAybVwiLFxuICBiZ1llbGxvd0JyaWdodCA9IFwiXFx4MWJbMTAzbVwiLFxuICBiZ0JsdWVCcmlnaHQgPSBcIlxceDFiWzEwNG1cIixcbiAgYmdQdXJwbGVCcmlnaHQgPSBcIlxceDFiWzEwNW1cIixcbiAgYmdDeWFuQnJpZ2h0ID0gXCJcXHgxYlsxMDZtXCIsXG4gIGJnV2hpdGVCcmlnaHQgPSBcIlxceDFiWzEwN21cIixcbn1cblxuZnVuY3Rpb24gd3JhcChjb2xvcjogc3RyaW5nKSB7XG4gIHJldHVybiAoZGF0YTogdW5rbm93bikgPT4gYCR7Y29sb3J9JHtkYXRhfSR7X19yZXNldH1gO1xufVxuXG5jb25zdCBjb2xvcnM6IFJlY29yZDxrZXlvZiB0eXBlb2YgQ09MT1JTX01BUCwgUmV0dXJuVHlwZTx0eXBlb2Ygd3JhcD4+ID0ge30gYXMgYW55O1xuXG5mb3IgKGNvbnN0IFtjb2xvck5hbWUsIGNvbG9yVmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKENPTE9SU19NQVApKSB7XG4gIGNvbG9yc1tjb2xvck5hbWUgYXMga2V5b2YgdHlwZW9mIENPTE9SU19NQVBdID0gd3JhcChjb2xvclZhbHVlKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY29sb3JzO1xuIgogIF0sCiAgIm1hcHBpbmdzIjogIjtBQUVBLElBQU0sVUFBVTtBQUVoQixJQUFLO0FBQUEsQ0FBTCxDQUFLLGdCQUFMO0FBQUEsRUFDRSx1QkFBUTtBQUFBLEVBQ1IscUJBQU07QUFBQSxFQUNOLHVCQUFRO0FBQUEsRUFDUix3QkFBUztBQUFBLEVBQ1Qsc0JBQU87QUFBQSxFQUNQLHdCQUFTO0FBQUEsRUFDVCxzQkFBTztBQUFBLEVBQ1AsdUJBQVE7QUFBQSxFQUVSLDZCQUFjO0FBQUEsRUFDZCwyQkFBWTtBQUFBLEVBQ1osNkJBQWM7QUFBQSxFQUNkLDhCQUFlO0FBQUEsRUFDZiw0QkFBYTtBQUFBLEVBQ2IsOEJBQWU7QUFBQSxFQUNmLDRCQUFhO0FBQUEsRUFDYiw2QkFBYztBQUFBLEVBRWQseUJBQVU7QUFBQSxFQUNWLDJCQUFZO0FBQUEsRUFDWiw0QkFBYTtBQUFBLEVBQ2IsMEJBQVc7QUFBQSxFQUNYLDRCQUFhO0FBQUEsRUFDYiwwQkFBVztBQUFBLEVBQ1gsMkJBQVk7QUFBQSxFQUVaLGdDQUFpQjtBQUFBLEVBQ2pCLDhCQUFlO0FBQUEsRUFDZixnQ0FBaUI7QUFBQSxFQUNqQixpQ0FBa0I7QUFBQSxFQUNsQiwrQkFBZ0I7QUFBQSxFQUNoQixpQ0FBa0I7QUFBQSxFQUNsQiwrQkFBZ0I7QUFBQSxFQUNoQixnQ0FBaUI7QUFBQSxFQUVqQix5QkFBVTtBQUFBLEVBQ1YsdUJBQVE7QUFBQSxFQUNSLHlCQUFVO0FBQUEsRUFDViwwQkFBVztBQUFBLEVBQ1gsd0JBQVM7QUFBQSxFQUNULDBCQUFXO0FBQUEsRUFDWCx3QkFBUztBQUFBLEVBQ1QseUJBQVU7QUFBQSxFQUVWLCtCQUFnQjtBQUFBLEVBQ2hCLDZCQUFjO0FBQUEsRUFDZCwrQkFBZ0I7QUFBQSxFQUNoQixnQ0FBaUI7QUFBQSxFQUNqQiw4QkFBZTtBQUFBLEVBQ2YsZ0NBQWlCO0FBQUEsRUFDakIsOEJBQWU7QUFBQSxFQUNmLCtCQUFnQjtBQUFBLEdBcERiO0FBdURMLFNBQVMsSUFBSSxDQUFDLE9BQWU7QUFBQSxFQUMzQixPQUFPLENBQUMsU0FBa0IsR0FBRyxRQUFRLE9BQU87QUFBQTtBQUc5QyxJQUFNLFNBQW1FLENBQUM7QUFFMUUsWUFBWSxXQUFXLGVBQWUsT0FBTyxRQUFRLFVBQVUsR0FBRztBQUFBLEVBQ2hFLE9BQU8sYUFBd0MsS0FBSyxVQUFVO0FBQ2hFO0FBRUEsSUFBZTsiLAogICJkZWJ1Z0lkIjogIjJFMjM5OUJERDQxMkU0QUI2NDc1NkUyMTY0NzU2RTIxIiwKICAibmFtZXMiOiBbXQp9
71
+ //# debugId=ECCF349194B3F84564756E2164756E21
72
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2NvbG9ycy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsKICAgICIvLyBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9KQmxvbmQvMmZlYTQzYTMwNDliMzgyODdlNWU5Y2VmYzg3YjIxMjRcblxuY29uc3QgX19yZXNldCA9IFwiXFx4MWJbMG1cIjtcblxuZW51bSBDT0xPUlNfTUFQIHtcbiAgYmxhY2sgPSBcIlxceDFiWzA7MzBtXCIsXG4gIHJlZCA9IFwiXFx4MWJbMDszMW1cIixcbiAgZ3JlZW4gPSBcIlxceDFiWzA7MzJtXCIsXG4gIHllbGxvdyA9IFwiXFx4MWJbMDszM21cIixcbiAgYmx1ZSA9IFwiXFx4MWJbMDszNG1cIixcbiAgcHVycGxlID0gXCJcXHgxYlswOzM1bVwiLFxuICBtYWdlbnRhID0gXCJcXHgxYlswOzM1bVwiLFxuICBjeWFuID0gXCJcXHgxYlswOzM2bVwiLFxuICB3aGl0ZSA9IFwiXFx4MWJbMDszN21cIixcblxuICBibGFja0JyaWdodCA9IFwiXFx4MWJbMDs5MG1cIixcbiAgcmVkQnJpZ2h0ID0gXCJcXHgxYlswOzkxbVwiLFxuICBncmVlbkJyaWdodCA9IFwiXFx4MWJbMDs5Mm1cIixcbiAgeWVsbG93QnJpZ2h0ID0gXCJcXHgxYlswOzkzbVwiLFxuICBibHVlQnJpZ2h0ID0gXCJcXHgxYlswOzk0bVwiLFxuICBwdXJwbGVCcmlnaHQgPSBcIlxceDFiWzA7OTVtXCIsXG4gIG1hZ2VudGFCcmlnaHQgPSBcIlxceDFiWzA7OTVtXCIsXG4gIGN5YW5CcmlnaHQgPSBcIlxceDFiWzA7OTZtXCIsXG4gIHdoaXRlQnJpZ2h0ID0gXCJcXHgxYlswOzk3bVwiLFxuXG4gIHJlZEJvbGQgPSBcIlxceDFiWzE7MzFtXCIsXG4gIGdyZWVuQm9sZCA9IFwiXFx4MWJbMTszMm1cIixcbiAgeWVsbG93Qm9sZCA9IFwiXFx4MWJbMTszM21cIixcbiAgYmx1ZUJvbGQgPSBcIlxceDFiWzE7MzRtXCIsXG4gIHB1cnBsZUJvbGQgPSBcIlxceDFiWzE7MzVtXCIsXG4gIG1hZ2VudGFCb2xkID0gXCJcXHgxYlsxOzM1bVwiLFxuICBjeWFuQm9sZCA9IFwiXFx4MWJbMTszNm1cIixcbiAgd2hpdGVCb2xkID0gXCJcXHgxYlsxOzM3bVwiLFxuXG4gIGJsYWNrVW5kZXJsaW5lID0gXCJcXHgxYls0OzMwbVwiLFxuICByZWRVbmRlcmxpbmUgPSBcIlxceDFiWzQ7MzFtXCIsXG4gIGdyZWVuVW5kZXJsaW5lID0gXCJcXHgxYls0OzMybVwiLFxuICB5ZWxsb3dVbmRlcmxpbmUgPSBcIlxceDFiWzQ7MzNtXCIsXG4gIGJsdWVVbmRlcmxpbmUgPSBcIlxceDFiWzQ7MzRtXCIsXG4gIHB1cnBsZVVuZGVybGluZSA9IFwiXFx4MWJbNDszNW1cIixcbiAgbWFnZW50YVVuZGVybGluZSA9IFwiXFx4MWJbNDszNW1cIixcbiAgY3lhblVuZGVybGluZSA9IFwiXFx4MWJbNDszNm1cIixcbiAgd2hpdGVVbmRlcmxpbmUgPSBcIlxceDFiWzQ7MzdtXCIsXG5cbiAgYmdCbGFjayA9IFwiXFx4MWJbNDBtXCIsXG4gIGJnUmVkID0gXCJcXHgxYls0MW1cIixcbiAgYmdHcmVlbiA9IFwiXFx4MWJbNDJtXCIsXG4gIGJnWWVsbG93ID0gXCJcXHgxYls0M21cIixcbiAgYmdCbHVlID0gXCJcXHgxYls0NG1cIixcbiAgYmdQdXJwbGUgPSBcIlxceDFiWzQ1bVwiLFxuICBiZ01hZ2VudGEgPSBcIlxceDFiWzQ1bVwiLFxuICBiZ0N5YW4gPSBcIlxceDFiWzQ2bVwiLFxuICBiZ1doaXRlID0gXCJcXHgxYls0N21cIixcblxuICBiZ0JsYWNrQnJpZ2h0ID0gXCJcXHgxYlsxMDBtXCIsXG4gIGJnUmVkQnJpZ2h0ID0gXCJcXHgxYlsxMDFtXCIsXG4gIGJnR3JlZW5CcmlnaHQgPSBcIlxceDFiWzEwMm1cIixcbiAgYmdZZWxsb3dCcmlnaHQgPSBcIlxceDFiWzEwM21cIixcbiAgYmdCbHVlQnJpZ2h0ID0gXCJcXHgxYlsxMDRtXCIsXG4gIGJnUHVycGxlQnJpZ2h0ID0gXCJcXHgxYlsxMDVtXCIsXG4gIGJnTWFnZW50YUJyaWdodCA9IFwiXFx4MWJbMTA1bVwiLFxuICBiZ0N5YW5CcmlnaHQgPSBcIlxceDFiWzEwNm1cIixcbiAgYmdXaGl0ZUJyaWdodCA9IFwiXFx4MWJbMTA3bVwiLFxufVxuXG5mdW5jdGlvbiB3cmFwKGNvbG9yOiBzdHJpbmcpIHtcbiAgcmV0dXJuIChkYXRhOiB1bmtub3duKSA9PiBgJHtjb2xvcn0ke2RhdGF9JHtfX3Jlc2V0fWA7XG59XG5cbmNvbnN0IGNvbG9yczogUmVjb3JkPGtleW9mIHR5cGVvZiBDT0xPUlNfTUFQLCBSZXR1cm5UeXBlPHR5cGVvZiB3cmFwPj4gPSB7fSBhcyBhbnk7XG5cbmZvciAoY29uc3QgW2NvbG9yTmFtZSwgY29sb3JWYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoQ09MT1JTX01BUCkpIHtcbiAgY29sb3JzW2NvbG9yTmFtZSBhcyBrZXlvZiB0eXBlb2YgQ09MT1JTX01BUF0gPSB3cmFwKGNvbG9yVmFsdWUpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjb2xvcnM7XG4iCiAgXSwKICAibWFwcGluZ3MiOiAiO0FBRUEsSUFBTSxVQUFVO0FBRWhCLElBQUs7QUFBQSxDQUFMLENBQUssZ0JBQUw7QUFBQSxFQUNFLHVCQUFRO0FBQUEsRUFDUixxQkFBTTtBQUFBLEVBQ04sdUJBQVE7QUFBQSxFQUNSLHdCQUFTO0FBQUEsRUFDVCxzQkFBTztBQUFBLEVBQ1Asd0JBQVM7QUFBQSxFQUNULHlCQUFVO0FBQUEsRUFDVixzQkFBTztBQUFBLEVBQ1AsdUJBQVE7QUFBQSxFQUVSLDZCQUFjO0FBQUEsRUFDZCwyQkFBWTtBQUFBLEVBQ1osNkJBQWM7QUFBQSxFQUNkLDhCQUFlO0FBQUEsRUFDZiw0QkFBYTtBQUFBLEVBQ2IsOEJBQWU7QUFBQSxFQUNmLCtCQUFnQjtBQUFBLEVBQ2hCLDRCQUFhO0FBQUEsRUFDYiw2QkFBYztBQUFBLEVBRWQseUJBQVU7QUFBQSxFQUNWLDJCQUFZO0FBQUEsRUFDWiw0QkFBYTtBQUFBLEVBQ2IsMEJBQVc7QUFBQSxFQUNYLDRCQUFhO0FBQUEsRUFDYiw2QkFBYztBQUFBLEVBQ2QsMEJBQVc7QUFBQSxFQUNYLDJCQUFZO0FBQUEsRUFFWixnQ0FBaUI7QUFBQSxFQUNqQiw4QkFBZTtBQUFBLEVBQ2YsZ0NBQWlCO0FBQUEsRUFDakIsaUNBQWtCO0FBQUEsRUFDbEIsK0JBQWdCO0FBQUEsRUFDaEIsaUNBQWtCO0FBQUEsRUFDbEIsa0NBQW1CO0FBQUEsRUFDbkIsK0JBQWdCO0FBQUEsRUFDaEIsZ0NBQWlCO0FBQUEsRUFFakIseUJBQVU7QUFBQSxFQUNWLHVCQUFRO0FBQUEsRUFDUix5QkFBVTtBQUFBLEVBQ1YsMEJBQVc7QUFBQSxFQUNYLHdCQUFTO0FBQUEsRUFDVCwwQkFBVztBQUFBLEVBQ1gsMkJBQVk7QUFBQSxFQUNaLHdCQUFTO0FBQUEsRUFDVCx5QkFBVTtBQUFBLEVBRVYsK0JBQWdCO0FBQUEsRUFDaEIsNkJBQWM7QUFBQSxFQUNkLCtCQUFnQjtBQUFBLEVBQ2hCLGdDQUFpQjtBQUFBLEVBQ2pCLDhCQUFlO0FBQUEsRUFDZixnQ0FBaUI7QUFBQSxFQUNqQixpQ0FBa0I7QUFBQSxFQUNsQiw4QkFBZTtBQUFBLEVBQ2YsK0JBQWdCO0FBQUEsR0ExRGI7QUE2REwsU0FBUyxJQUFJLENBQUMsT0FBZTtBQUFBLEVBQzNCLE9BQU8sQ0FBQyxTQUFrQixHQUFHLFFBQVEsT0FBTztBQUFBO0FBRzlDLElBQU0sU0FBbUUsQ0FBQztBQUUxRSxZQUFZLFdBQVcsZUFBZSxPQUFPLFFBQVEsVUFBVSxHQUFHO0FBQUEsRUFDaEUsT0FBTyxhQUF3QyxLQUFLLFVBQVU7QUFDaEU7QUFFQSxJQUFlOyIsCiAgImRlYnVnSWQiOiAiRUNDRjM0OTE5NEIzRjg0NTY0NzU2RTIxNjQ3NTZFMjEiLAogICJuYW1lcyI6IFtdCn0=
package/dist/index.cjs CHANGED
@@ -182,6 +182,7 @@ var exports_src = {};
182
182
  __export(exports_src, {
183
183
  tryCatchAsync: () => tryCatchAsync,
184
184
  tryCatch: () => tryCatch,
185
+ streamToLines: () => streamToLines,
185
186
  sleep: () => sleep,
186
187
  randomString: () => randomString,
187
188
  jsonParser: () => jsonParser,
@@ -196,7 +197,7 @@ __export(exports_src, {
196
197
  module.exports = __toCommonJS(exports_src);
197
198
 
198
199
  // src/utils/chunksToLines.ts
199
- async function* chunksToLines(chunks) {
200
+ async function* streamToLines(chunks) {
200
201
  let previous = "";
201
202
  for await (const chunk of chunks) {
202
203
  previous += chunk;
@@ -212,6 +213,7 @@ async function* chunksToLines(chunks) {
212
213
  yield previous;
213
214
  }
214
215
  }
216
+ var chunksToLines = streamToLines;
215
217
  // src/utils/isNullOrUndefined.ts
216
218
  var isNullOrUndefined = (value) => value === null || value === undefined;
217
219
  function isNullOrEmptyOrUndefined(value) {
@@ -264,5 +266,5 @@ async function tryCatchAsync(promise) {
264
266
  }
265
267
  }
266
268
 
267
- //# debugId=095D83D51A0E4FF764756E2164756E21
268
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2NhY2hlL2NhY2hlU2VydmljZS50cyIsICIuLi9zcmMvdXRpbHMvaXNDYWxsYWJsZS50cyIsICIuLi9zcmMvY2FjaGUvY29uc3RhbnRzLnRzIiwgIi4uL3NyYy91dGlscy9jaHVua3NUb0xpbmVzLnRzIiwgIi4uL3NyYy91dGlscy9pc051bGxPclVuZGVmaW5lZC50cyIsICIuLi9zcmMvdXRpbHMvaXNPYmplY3QudHMiLCAiLi4vc3JjL3V0aWxzL2lzUHJpbWl0aXZlLnRzIiwgIi4uL3NyYy91dGlscy9qc29uUGFyc2VyLnRzIiwgIi4uL3NyYy91dGlscy9yYW5kb21TdHJpbmcudHMiLCAiLi4vc3JjL3V0aWxzL3NsZWVwLnRzIiwgIi4uL3NyYy9uZXZlcnRocm93L3RyeUNhdGNoLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWwogICAgImltcG9ydCB7IGlzUHJvbWlzZSB9IGZyb20gXCJub2RlOnV0aWwvdHlwZXNcIjtcbmltcG9ydCB7IGlzQ2FsbGFibGUgfSBmcm9tIFwiLi4vdXRpbHMvaXNDYWxsYWJsZS50c1wiO1xuaW1wb3J0IHR5cGUgeyBDYWNoZU1ldGFkYXRhT3B0aW9ucywgQ2FjaGVPcHRpb25zLCBDYWNoZVdpdGhNZXRhZGF0YSwgVmFsdWVMb2FkZXIgfSBmcm9tIFwiLi9pbnRlcm5hbC90eXBlcy50c1wiO1xuaW1wb3J0IHR5cGUgeyBDYWNoZU1ldGFkYXRhLCBJQ2FjaGVBZGFwdGVyIH0gZnJvbSBcIi4vdHlwZXMudHNcIjtcblxuY29uc3QgZGVmYXVsdENhY2hlT3B0aW9uczogQ2FjaGVPcHRpb25zID0ge1xuICBleHBpcmF0aW9uVGhyZXNob2xkTXM6IDAsXG4gIHR0bE1zOiA2MCAqIDYwICogMTAwMCxcbn07XG5cbmV4cG9ydCBjbGFzcyBDYWNoZTxUQWRhcHRlciBleHRlbmRzIElDYWNoZUFkYXB0ZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+IHtcbiAgcHJpdmF0ZSBpbk1lbW9yeUNhY2hlOiBNYXA8c3RyaW5nLCBDYWNoZVdpdGhNZXRhZGF0YT4gPSBuZXcgTWFwKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQ2FjaGVPcHRpb25zO1xuICBwcml2YXRlIHJlYWRvbmx5IGFkYXB0ZXI/OiBUQWRhcHRlcjtcblxuICBjb25zdHJ1Y3RvcihkZWZhdWx0T3B0aW9ucz86IFBhcnRpYWw8Q2FjaGVPcHRpb25zPik7XG4gIGNvbnN0cnVjdG9yKGFkYXB0ZXI/OiBUQWRhcHRlciwgZGVmYXVsdE9wdGlvbnM/OiBQYXJ0aWFsPENhY2hlT3B0aW9ucz4pO1xuICBjb25zdHJ1Y3RvcihhZGFwdGVyPzogVEFkYXB0ZXIgfCBQYXJ0aWFsPENhY2hlT3B0aW9ucz4sIGRlZmF1bHRPcHRpb25zPzogUGFydGlhbDxDYWNoZU9wdGlvbnM+KSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGFkYXB0ZXIgJiYgIShcImdldFZhbHVlXCIgaW4gYWRhcHRlcikgPyAoYWRhcHRlciBhcyBQYXJ0aWFsPENhY2hlT3B0aW9ucz4pIDogZGVmYXVsdE9wdGlvbnM7XG4gICAgaWYgKGFkYXB0ZXIgJiYgXCJnZXRWYWx1ZVwiIGluIGFkYXB0ZXIgJiYgXCJzZXRWYWx1ZVwiIGluIGFkYXB0ZXIpIHtcbiAgICAgIHRoaXMuYWRhcHRlciA9IGFkYXB0ZXIgYXMgVEFkYXB0ZXI7XG4gICAgfVxuXG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgLi4uZGVmYXVsdENhY2hlT3B0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0RnJvbUFkYXB0ZXI8VD4oY2FjaGVLZXk6IHN0cmluZyk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5hZGFwdGVyKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuZ2V0VmFsdWUoY2FjaGVLZXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzYXZlVG9BZGFwdGVyPFQ+KGNhY2hlS2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmFkYXB0ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyLnNldFZhbHVlPFQ+KGNhY2hlS2V5LCB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0PFQ+KFxuICAgIGNhY2hlS2V5OiBzdHJpbmcsXG4gICAgdmFsdWVMb2FkZXI/OiBWYWx1ZUxvYWRlcjxUPixcbiAgICBvcHRpb25zOiBQYXJ0aWFsPENhY2hlTWV0YWRhdGFPcHRpb25zPiA9IHt9LFxuICApOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBtZXJnZWRPcHRpb25zID0gdGhpcy5tZXJnZU9wdGlvbnMob3B0aW9ucyk7XG5cbiAgICAvLyBUcnkgaW4tbWVtb3J5IGNhY2hlIGZpcnN0XG4gICAgY29uc3QgY2FjaGVkVmFsdWUgPSB0aGlzLnRyeUdldEZyb21NZW1vcnk8VD4oY2FjaGVLZXkpO1xuICAgIGlmIChjYWNoZWRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gY2FjaGVkVmFsdWU7XG4gICAgfVxuXG4gICAgLy8gTG9hZCBmcmVzaCB2YWx1ZSBmcm9tIGxvYWRlciBmdW5jdGlvbiBmaXJzdFxuICAgIGNvbnN0IGZyZXNoVmFsdWUgPSBhd2FpdCB0aGlzLnRyeUdldEZyb21WYWx1ZUxvYWRlcih2YWx1ZUxvYWRlcik7XG4gICAgaWYgKGZyZXNoVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgYXdhaXQgdGhpcy5jYWNoZVZhbHVlKGNhY2hlS2V5LCBmcmVzaFZhbHVlLCBtZXJnZWRPcHRpb25zKTtcblxuICAgICAgcmV0dXJuIGZyZXNoVmFsdWU7XG4gICAgfVxuXG4gICAgLy8gVHJ5IGFkYXB0ZXIgY2FjaGUgc2Vjb25kXG4gICAgY29uc3QgYWRhcHRlclZhbHVlID0gYXdhaXQgdGhpcy50cnlHZXRGcm9tQWRhcHRlcjxUPihjYWNoZUtleSk7XG4gICAgaWYgKGFkYXB0ZXJWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhd2FpdCB0aGlzLmNhY2hlVmFsdWUoY2FjaGVLZXksIGFkYXB0ZXJWYWx1ZSwgbWVyZ2VkT3B0aW9ucyk7XG5cbiAgICAgIHJldHVybiBhZGFwdGVyVmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtZXJnZU9wdGlvbnMob3B0aW9uczogUGFydGlhbDxDYWNoZU1ldGFkYXRhT3B0aW9ucz4pOiBDYWNoZU1ldGFkYXRhT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR0bE1zOiB0aGlzLm9wdGlvbnMudHRsTXMsXG4gICAgICBleHBpcmF0aW9uVGhyZXNob2xkTXM6IHRoaXMub3B0aW9ucy5leHBpcmF0aW9uVGhyZXNob2xkTXMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHRyeUdldEZyb21NZW1vcnk8VD4oY2FjaGVLZXk6IHN0cmluZyk6IFQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMuaW5NZW1vcnlDYWNoZS5nZXQoY2FjaGVLZXkpO1xuXG4gICAgaWYgKGNhY2hlZCAmJiAhdGhpcy5pc0V4cGlyZWQoY2FjaGVkLm1ldGFkYXRhKSkge1xuICAgICAgcmV0dXJuIGNhY2hlZC5kYXRhIGFzIFQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdHJ5R2V0RnJvbUFkYXB0ZXI8VD4oY2FjaGVLZXk6IHN0cmluZyk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGNhY2hlZCA9IGF3YWl0IHRoaXMuZ2V0RnJvbUFkYXB0ZXI8Q2FjaGVXaXRoTWV0YWRhdGE8VD4+KGNhY2hlS2V5KTtcblxuICAgIGlmIChjYWNoZWQgJiYgIXRoaXMuaXNFeHBpcmVkKGNhY2hlZC5tZXRhZGF0YSkpIHtcbiAgICAgIHRoaXMuaW5NZW1vcnlDYWNoZS5zZXQoY2FjaGVLZXksIGNhY2hlZCk7XG4gICAgICByZXR1cm4gY2FjaGVkLmRhdGE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdHJ5R2V0RnJvbVZhbHVlTG9hZGVyPFQ+KHZhbHVlTG9hZGVyPzogVmFsdWVMb2FkZXI8VD4pOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAodmFsdWVMb2FkZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoaXNDYWxsYWJsZSh2YWx1ZUxvYWRlcikpIHtcbiAgICAgIHJldHVybiBhd2FpdCB2YWx1ZUxvYWRlcigpO1xuICAgIH1cblxuICAgIGlmIChpc1Byb21pc2UodmFsdWVMb2FkZXIpKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdmFsdWVMb2FkZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlTG9hZGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjYWNoZVZhbHVlPFQ+KGNhY2hlS2V5OiBzdHJpbmcsIHZhbHVlOiBULCBvcHRpb25zOiBDYWNoZU1ldGFkYXRhT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNhY2hlRGF0YSA9IHRoaXMuY3JlYXRlQ2FjaGVFbnRyeSh2YWx1ZSwgb3B0aW9ucyk7XG5cbiAgICBhd2FpdCB0aGlzLnNhdmVUb0FkYXB0ZXIoY2FjaGVLZXksIGNhY2hlRGF0YSk7XG4gICAgdGhpcy5pbk1lbW9yeUNhY2hlLnNldChjYWNoZUtleSwgY2FjaGVEYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ2FjaGVFbnRyeTxUPih2YWx1ZTogVCwgb3B0aW9uczogQ2FjaGVNZXRhZGF0YU9wdGlvbnMpOiBDYWNoZVdpdGhNZXRhZGF0YTxUPiB7XG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgICBsZXQgZXhwaXJlc0F0OiBudW1iZXI7XG4gICAgaWYgKG9wdGlvbnMudHRsTXMgPCAwKSB7XG4gICAgICBleHBpcmVzQXQgPSAtMTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXhwaXJlc0F0ID0gbm93ICsgb3B0aW9ucy50dGxNcyAtIG9wdGlvbnMuZXhwaXJhdGlvblRocmVzaG9sZE1zO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiB2YWx1ZSxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIGNyZWF0ZWRBdDogbm93LFxuICAgICAgICB0dGxNczogb3B0aW9ucy50dGxNcyxcbiAgICAgICAgZXhwaXJhdGlvblRocmVzaG9sZE1zOiBvcHRpb25zLmV4cGlyYXRpb25UaHJlc2hvbGRNcyxcbiAgICAgICAgZXhwaXJlc0F0LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBpc0V4cGlyZWQobWV0YWRhdGE/OiBDYWNoZU1ldGFkYXRhKTogYm9vbGVhbiB7XG4gICAgaWYgKCFtZXRhZGF0YSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKG1ldGFkYXRhLmV4cGlyZXNBdCA8IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBleHBpcmF0aW9uVGltZSA9XG4gICAgICBtZXRhZGF0YS5leHBpcmVzQXQgPz8gKG1ldGFkYXRhLmNyZWF0ZWRBdCAmJiBtZXRhZGF0YS50dGxNcyA/IG1ldGFkYXRhLmNyZWF0ZWRBdCArIG1ldGFkYXRhLnR0bE1zIDogdW5kZWZpbmVkKTtcblxuICAgIGlmIChleHBpcmF0aW9uVGltZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gRGF0ZS5ub3coKSA+IGV4cGlyYXRpb25UaW1lO1xuICB9XG59XG4iLAogICAgImV4cG9ydCBmdW5jdGlvbiBpc0NhbGxhYmxlKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBDYWxsYWJsZUZ1bmN0aW9uIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiO1xufVxuIiwKICAgICJleHBvcnQgY29uc3QgQ0FDSEVfVFRMX05FVkVSX0VYUElSRSA9IC0xO1xuIiwKICAgICIvKipcbiAqIENvbnZlcnRzIGFuIGFzeW5jIGl0ZXJhYmxlIG9mIHN0cmluZyBvciBVaW50OEFycmF5IGNodW5rcyBpbnRvIGFuIGFzeW5jIGl0ZXJhYmxlIG9mIGxpbmVzLlxuICogSGFuZGxlcyBjYXNlcyB3aGVyZSBsaW5lcyBtYXkgYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIGNodW5rcy5cbiAqIFVzYWdlOlxuICogYGBgdHNcbiAqIGltcG9ydCB7IHBpcGVsaW5lIH0gZnJvbSBcIm5vZGU6c3RyZWFtL3Byb21pc2VzXCI7XG4gKiBpbXBvcnQgeyBjcmVhdGVSZWFkU3RyZWFtIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbiAqIGltcG9ydCB7IGNodW5rc1RvTGluZXMgfSBmcm9tIFwiQGx1a2Fza2ovdHMtdXRpbHNcIjtcbiAqXG4gKiBjb25zdCByZWFkU3RyZWFtID0gY3JlYXRlUmVhZFN0cmVhbShcInBhdGgvdG8vZmlsZS50eHRcIiwgeyBlbmNvZGluZzogXCJ1dGYtOFwiIH0pO1xuICogYXdhaXQgcGlwZWxpbmUocmVhZFN0cmVhbSwgY2h1bmtzVG9MaW5lcywgcHJvY2Vzcy5zdGRvdXQpLmNhdGNoKChlcnIpID0+IHtcbiAqICAgY29uc29sZS5lcnJvcihlcnIpO1xuICogICBwcm9jZXNzLmV4aXQoMSk7XG4gKiB9KTtcbiAqIGBgYFxuICogQHBhcmFtIGNodW5rc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24qIGNodW5rc1RvTGluZXMoY2h1bmtzOiBBc3luY0l0ZXJhYmxlPHN0cmluZyB8IFVpbnQ4QXJyYXk+KSB7XG4gIGxldCBwcmV2aW91cyA9IFwiXCI7XG5cbiAgZm9yIGF3YWl0IChjb25zdCBjaHVuayBvZiBjaHVua3MpIHtcbiAgICBwcmV2aW91cyArPSBjaHVuaztcbiAgICBsZXQgZW9sSW5kZXg6IG51bWJlcjtcblxuICAgIC8vIGJpb21lLWlnbm9yZSBsaW50L3N1c3BpY2lvdXMvbm9Bc3NpZ25JbkV4cHJlc3Npb25zOiBcImV4cGxhbmF0aW9uXCJcbiAgICB3aGlsZSAoKGVvbEluZGV4ID0gcHJldmlvdXMuaW5kZXhPZihcIlxcblwiKSkgPj0gMCkge1xuICAgICAgLy8gdGhpcyBsaW5lIGluY2x1ZGVzIHRoZSBFT0xcbiAgICAgIGNvbnN0IGxpbmUgPSBwcmV2aW91cy5zbGljZSgwLCBlb2xJbmRleCArIDEpO1xuICAgICAgeWllbGQgbGluZT8udHJpbSgpID8/IFwiXCI7XG4gICAgICBwcmV2aW91cyA9IHByZXZpb3VzLnNsaWNlKGVvbEluZGV4ICsgMSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHByZXZpb3VzLmxlbmd0aCA+IDApIHtcbiAgICB5aWVsZCBwcmV2aW91cztcbiAgfVxufVxuIiwKICAgICJleHBvcnQgY29uc3QgaXNOdWxsT3JVbmRlZmluZWQgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIG51bGwgfCB1bmRlZmluZWQgPT4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZDtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVsbE9yRW1wdHlPclVuZGVmaW5lZCh2YWx1ZT86IGFueSB8IG51bGwpOiB2YWx1ZSBpcyBudWxsIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IFwiXCIgfHwgdmFsdWUudG9TdHJpbmcoKS50cmltKCkgPT09IFwiXCI7XG59XG4iLAogICAgIi8qKlxuICogVHlwZSBndWFyZCB0aGF0IGNoZWNrcyBpZiB0aGUgaW5wdXQgaXMgYSBwbGFpbiBKYXZhU2NyaXB0IG9iamVjdC5cbiAqIEBwYXJhbSB7YW55fSBpbnB1dCAtIFRoZSB2YWx1ZSB0byBjaGVja1xuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGlucHV0IGlzIGEgcGxhaW4gb2JqZWN0LCBmYWxzZSBvdGhlcndpc2VcbiAqIEB0eXBlUGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFR5cGUgZ3VhcmQgbmFycm93cyB0aGUgaW5wdXQgdHlwZSB0byBhIHN0cmluZy1rZXllZCBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KGlucHV0OiBhbnkpOiBpbnB1dCBpcyBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuYXBwbHkoaW5wdXQpID09PSBcIltvYmplY3QgT2JqZWN0XVwiO1xufVxuIiwKICAgICJleHBvcnQgZnVuY3Rpb24gaXNQcmltaXRpdmUodmFsdWU6IHVua25vd24pOiBib29sZWFuIHtcbiAgcmV0dXJuICh0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIHZhbHVlICE9PSBcImZ1bmN0aW9uXCIpIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlIGluc3RhbmNlb2YgRGF0ZTtcbn1cbiIsCiAgICAiaW1wb3J0IHNqcyBmcm9tIFwic2VjdXJlLWpzb24tcGFyc2VcIjtcblxuLyoqXG4gKiBTYWZlbHkgcGFyc2VzIEpTT04gaW5wdXQgdXNpbmcgc2VjdXJlLWpzb24tcGFyc2Ugd2l0aCBwcm90b3R5cGUgcG9sbHV0aW9uIHByb3RlY3Rpb24uXG4gKiBAcGFyYW0ge2FueX0gaW5wdXQgLSBUaGUgaW5wdXQgdG8gYmUgcGFyc2VkIGFzIEpTT05cbiAqIEByZXR1cm5zIHt7IHZhbHVlPzogYW55LCBlcnI/OiBFcnJvciB9fSBBbiBvYmplY3QgY29udGFpbmluZyBlaXRoZXIgdGhlIHBhcnNlZCB2YWx1ZSBvciBhbiBlcnJvciBpZiBwYXJzaW5nIGZhaWxlZFxuICovXG5leHBvcnQgZnVuY3Rpb24ganNvblBhcnNlcihpbnB1dDogYW55KSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHsgdmFsdWU6IHNqcy5wYXJzZShpbnB1dCwgeyBwcm90b0FjdGlvbjogXCJyZW1vdmVcIiB9KSB9O1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICByZXR1cm4geyBlcnIgfTtcbiAgfVxufVxuIiwKICAgICJleHBvcnQgZnVuY3Rpb24gcmFuZG9tU3RyaW5nKGxlbmd0aDogbnVtYmVyID0gNik6IHN0cmluZyB7XG4gIGxldCByZXN1bHQgPSBcIlwiO1xuICBjb25zdCBjaGFyYWN0ZXJzID0gXCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OVwiO1xuICBjb25zdCBjaGFyYWN0ZXJzTGVuZ3RoID0gY2hhcmFjdGVycy5sZW5ndGg7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICByZXN1bHQgKz0gY2hhcmFjdGVycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcmFjdGVyc0xlbmd0aCkpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG4iLAogICAgImV4cG9ydCBjb25zdCBzbGVlcCA9IChtczogbnVtYmVyKSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xuIiwKICAgICIvLyBodHRwczovL2dpc3QuZ2l0aHViLmNvbS90M2RvdGdnL2E0ODZjNGFlNjZkMzJiZjE3YzA5YzczNjA5ZGFjYzViXG4vLyBUeXBlcyBmb3IgdGhlIHJlc3VsdCBvYmplY3Qgd2l0aCBkaXNjcmltaW5hdGVkIHVuaW9uXG4vLyB0eXBlIFN1Y2Nlc3M8VD4gPSB7XG4vLyAgIGRhdGE6IFQ7XG4vLyAgIGVycm9yOiBudWxsO1xuLy8gfTtcblxuLy8gdHlwZSBGYWlsdXJlPEU+ID0ge1xuLy8gICBkYXRhOiBudWxsO1xuLy8gICBlcnJvcjogRTtcbi8vIH07XG5cbi8vIGV4cG9ydCB0eXBlIFJlc3VsdDxULCBFID0gRXJyb3I+ID0gU3VjY2VzczxUPiB8IEZhaWx1cmU8RT47XG5cbmV4cG9ydCB0eXBlIFJlc3VsdDxULCBFPiA9IFt1bmRlZmluZWQsIEVdIHwgW1QsIHVuZGVmaW5lZF07XG5leHBvcnQgdHlwZSBQcm9taXNlUmVzdWx0PFQsIEU+ID0gUHJvbWlzZTxSZXN1bHQ8VCwgRT4+O1xuXG4vKipcbiAqIFdyYXBzIGEgc3luY2hyb25vdXMgZnVuY3Rpb24gaW4gYSB0cnktY2F0Y2ggYmxvY2sgYW5kIHJldHVybnMgYSBSZXN1bHQgdHVwbGUgY29udGFpbmluZyBlaXRoZXIgdGhlIHJldHVybmVkIHZhbHVlIG9yIHRoZSBjYXVnaHQgZXJyb3JcbiAqXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSB0eXBlIG9mIHRoZSBzdWNjZXNzZnVsIHJlc3VsdCB2YWx1ZVxuICogQHRlbXBsYXRlIEUgLSBUaGUgdHlwZSBvZiB0aGUgZXJyb3IgdmFsdWUsIG11c3QgZXh0ZW5kIEVycm9yXG4gKiBAcGFyYW0geygpID0+IFR9IGZuIC0gVGhlIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkXG4gKiBAcmV0dXJucyB7UmVzdWx0PFQsIEU+fSBBIHR1cGxlIGNvbnRhaW5pbmcgZWl0aGVyIFtkYXRhLCB1bmRlZmluZWRdIG9yIFt1bmRlZmluZWQsIGVycm9yXVxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBbZGF0YSwgZXJyb3JdID0gdHJ5Q2F0Y2goKCkgPT4gc29tZVJpc2t5T3BlcmF0aW9uKCkpO1xuICogaWYgKGVycm9yKSB7XG4gKiAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICogfSBlbHNlIHtcbiAqICAgY29uc29sZS5sb2coZGF0YSk7XG4gKiB9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cnlDYXRjaDxULCBFIGV4dGVuZHMgRXJyb3I+KGZuOiAoKSA9PiBUKTogUmVzdWx0PFQsIEU+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBkYXRhID0gZm4oKTtcbiAgICByZXR1cm4gW2RhdGEgYXMgVCwgdW5kZWZpbmVkXTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4gW3VuZGVmaW5lZCwgZXJyb3IgYXMgRV07XG4gIH1cbn1cblxuLyoqXG4gKiBXcmFwcyBhIFByb21pc2UgaW4gYSB0cnktY2F0Y2ggYmxvY2sgYW5kIHJldHVybnMgYSBSZXN1bHQgb2JqZWN0IGNvbnRhaW5pbmcgZWl0aGVyIHRoZSByZXNvbHZlZCBkYXRhIG9yIHRoZSBjYXVnaHQgZXJyb3JcbiAqXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSB0eXBlIG9mIHRoZSBzdWNjZXNzZnVsIHJlc3VsdCB2YWx1ZVxuICogQHRlbXBsYXRlIEUgLSBUaGUgdHlwZSBvZiB0aGUgZXJyb3IgdmFsdWUsIGRlZmF1bHRzIHRvIEVycm9yXG4gKiBAcGFyYW0ge1Byb21pc2U8VD59IHByb21pc2UgLSBUaGUgcHJvbWlzZSB0byBiZSBleGVjdXRlZFxuICogQHJldHVybnMge1Byb21pc2U8UmVzdWx0PFQsIEU+Pn0gQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBSZXN1bHQgb2JqZWN0IGNvbnRhaW5pbmcgZWl0aGVyIHRoZSBkYXRhIG9yIGVycm9yXG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHtkYXRhLCBlcnJvcn0gPSBhd2FpdCB0cnlDYXRjaEFzeW5jKHNvbWVQcm9taXNlKTtcbiAqIGlmIChlcnJvcikge1xuICogICBjb25zb2xlLmVycm9yKHJlc3VsdC5lcnJvcik7XG4gKiB9IGVsc2Uge1xuICogICBjb25zb2xlLmxvZyhkYXRhKTtcbiAqIH1cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRyeUNhdGNoQXN5bmM8VCwgRSBleHRlbmRzIEVycm9yPihwcm9taXNlOiBQcm9taXNlPFQ+KTogUHJvbWlzZVJlc3VsdDxULCBFPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHByb21pc2U7XG4gICAgcmV0dXJuIFtkYXRhIGFzIFQsIHVuZGVmaW5lZF07XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIFt1bmRlZmluZWQsIGVycm9yIGFzIEVdO1xuICB9XG59XG4iCiAgXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEwQixJQUExQjs7O0FDQU8sU0FBUyxVQUFV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QUksRUFBRyxJQUFJLFFBQVEsS0FBSztBQUFBLElBQy9CLFVBQVUsV0FBVyxPQUFPLEtBQUssTUFBTSxLQUFLLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQztBQUFBLEVBQzFFO0FBQUEsRUFDQSxPQUFPO0FBQUE7O0FDUEYsSUFBTSxRQUFRLENBQUMsT0FBZSxJQUFJLFFBQVEsQ0FBQyxZQUFZLFdBQVcsU0FBUyxFQUFFLENBQUM7O0FDaUM5RSxTQUFTLFFBQTRCLENBQUMsSUFBMkI7QUFBQSxFQUN0RSxJQUFJO0FBQUEsSUFDRixNQUFNLE9BQU8sR0FBRztBQUFBLElBQ2hCLE9BQU8sQ0FBQyxNQUFXLFNBQVM7QUFBQSxJQUM1QixPQUFPLE9BQU87QUFBQSxJQUNkLE9BQU8sQ0FBQyxXQUFXLEtBQVU7QUFBQTtBQUFBO0FBb0JqQyxlQUFzQixhQUFpQyxDQUFDLFNBQTBDO0FBQUEsRUFDaEcsSUFBSTtBQUFBLElBQ0YsTUFBTSxPQUFPLE1BQU07QUFBQSxJQUNuQixPQUFPLENBQUMsTUFBVyxTQUFTO0FBQUEsSUFDNUIsT0FBTyxPQUFPO0FBQUEsSUFDZCxPQUFPLENBQUMsV0FBVyxLQUFVO0FBQUE7QUFBQTsiLAogICJkZWJ1Z0lkIjogIjA5NUQ4M0Q1MUEwRTRGRjc2NDc1NkUyMTY0NzU2RTIxIiwKICAibmFtZXMiOiBbXQp9
269
+ //# debugId=455FB2E697529B5064756E2164756E21
270
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2NhY2hlL2NhY2hlU2VydmljZS50cyIsICIuLi9zcmMvdXRpbHMvaXNDYWxsYWJsZS50cyIsICIuLi9zcmMvY2FjaGUvY29uc3RhbnRzLnRzIiwgIi4uL3NyYy91dGlscy9jaHVua3NUb0xpbmVzLnRzIiwgIi4uL3NyYy91dGlscy9pc051bGxPclVuZGVmaW5lZC50cyIsICIuLi9zcmMvdXRpbHMvaXNPYmplY3QudHMiLCAiLi4vc3JjL3V0aWxzL2lzUHJpbWl0aXZlLnRzIiwgIi4uL3NyYy91dGlscy9qc29uUGFyc2VyLnRzIiwgIi4uL3NyYy91dGlscy9yYW5kb21TdHJpbmcudHMiLCAiLi4vc3JjL3V0aWxzL3NsZWVwLnRzIiwgIi4uL3NyYy9uZXZlcnRocm93L3RyeUNhdGNoLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWwogICAgImltcG9ydCB7IGlzUHJvbWlzZSB9IGZyb20gXCJub2RlOnV0aWwvdHlwZXNcIjtcbmltcG9ydCB7IGlzQ2FsbGFibGUgfSBmcm9tIFwiLi4vdXRpbHMvaXNDYWxsYWJsZS50c1wiO1xuaW1wb3J0IHR5cGUgeyBDYWNoZU1ldGFkYXRhT3B0aW9ucywgQ2FjaGVPcHRpb25zLCBDYWNoZVdpdGhNZXRhZGF0YSwgVmFsdWVMb2FkZXIgfSBmcm9tIFwiLi9pbnRlcm5hbC90eXBlcy50c1wiO1xuaW1wb3J0IHR5cGUgeyBDYWNoZU1ldGFkYXRhLCBJQ2FjaGVBZGFwdGVyIH0gZnJvbSBcIi4vdHlwZXMudHNcIjtcblxuY29uc3QgZGVmYXVsdENhY2hlT3B0aW9uczogQ2FjaGVPcHRpb25zID0ge1xuICBleHBpcmF0aW9uVGhyZXNob2xkTXM6IDAsXG4gIHR0bE1zOiA2MCAqIDYwICogMTAwMCxcbn07XG5cbmV4cG9ydCBjbGFzcyBDYWNoZTxUQWRhcHRlciBleHRlbmRzIElDYWNoZUFkYXB0ZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+IHtcbiAgcHJpdmF0ZSBpbk1lbW9yeUNhY2hlOiBNYXA8c3RyaW5nLCBDYWNoZVdpdGhNZXRhZGF0YT4gPSBuZXcgTWFwKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQ2FjaGVPcHRpb25zO1xuICBwcml2YXRlIHJlYWRvbmx5IGFkYXB0ZXI/OiBUQWRhcHRlcjtcblxuICBjb25zdHJ1Y3RvcihkZWZhdWx0T3B0aW9ucz86IFBhcnRpYWw8Q2FjaGVPcHRpb25zPik7XG4gIGNvbnN0cnVjdG9yKGFkYXB0ZXI/OiBUQWRhcHRlciwgZGVmYXVsdE9wdGlvbnM/OiBQYXJ0aWFsPENhY2hlT3B0aW9ucz4pO1xuICBjb25zdHJ1Y3RvcihhZGFwdGVyPzogVEFkYXB0ZXIgfCBQYXJ0aWFsPENhY2hlT3B0aW9ucz4sIGRlZmF1bHRPcHRpb25zPzogUGFydGlhbDxDYWNoZU9wdGlvbnM+KSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGFkYXB0ZXIgJiYgIShcImdldFZhbHVlXCIgaW4gYWRhcHRlcikgPyAoYWRhcHRlciBhcyBQYXJ0aWFsPENhY2hlT3B0aW9ucz4pIDogZGVmYXVsdE9wdGlvbnM7XG4gICAgaWYgKGFkYXB0ZXIgJiYgXCJnZXRWYWx1ZVwiIGluIGFkYXB0ZXIgJiYgXCJzZXRWYWx1ZVwiIGluIGFkYXB0ZXIpIHtcbiAgICAgIHRoaXMuYWRhcHRlciA9IGFkYXB0ZXIgYXMgVEFkYXB0ZXI7XG4gICAgfVxuXG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgLi4uZGVmYXVsdENhY2hlT3B0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0RnJvbUFkYXB0ZXI8VD4oY2FjaGVLZXk6IHN0cmluZyk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5hZGFwdGVyKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuZ2V0VmFsdWUoY2FjaGVLZXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzYXZlVG9BZGFwdGVyPFQ+KGNhY2hlS2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmFkYXB0ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyLnNldFZhbHVlPFQ+KGNhY2hlS2V5LCB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0PFQ+KFxuICAgIGNhY2hlS2V5OiBzdHJpbmcsXG4gICAgdmFsdWVMb2FkZXI/OiBWYWx1ZUxvYWRlcjxUPixcbiAgICBvcHRpb25zOiBQYXJ0aWFsPENhY2hlTWV0YWRhdGFPcHRpb25zPiA9IHt9LFxuICApOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBtZXJnZWRPcHRpb25zID0gdGhpcy5tZXJnZU9wdGlvbnMob3B0aW9ucyk7XG5cbiAgICAvLyBUcnkgaW4tbWVtb3J5IGNhY2hlIGZpcnN0XG4gICAgY29uc3QgY2FjaGVkVmFsdWUgPSB0aGlzLnRyeUdldEZyb21NZW1vcnk8VD4oY2FjaGVLZXkpO1xuICAgIGlmIChjYWNoZWRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gY2FjaGVkVmFsdWU7XG4gICAgfVxuXG4gICAgLy8gTG9hZCBmcmVzaCB2YWx1ZSBmcm9tIGxvYWRlciBmdW5jdGlvbiBmaXJzdFxuICAgIGNvbnN0IGZyZXNoVmFsdWUgPSBhd2FpdCB0aGlzLnRyeUdldEZyb21WYWx1ZUxvYWRlcih2YWx1ZUxvYWRlcik7XG4gICAgaWYgKGZyZXNoVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgYXdhaXQgdGhpcy5jYWNoZVZhbHVlKGNhY2hlS2V5LCBmcmVzaFZhbHVlLCBtZXJnZWRPcHRpb25zKTtcblxuICAgICAgcmV0dXJuIGZyZXNoVmFsdWU7XG4gICAgfVxuXG4gICAgLy8gVHJ5IGFkYXB0ZXIgY2FjaGUgc2Vjb25kXG4gICAgY29uc3QgYWRhcHRlclZhbHVlID0gYXdhaXQgdGhpcy50cnlHZXRGcm9tQWRhcHRlcjxUPihjYWNoZUtleSk7XG4gICAgaWYgKGFkYXB0ZXJWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhd2FpdCB0aGlzLmNhY2hlVmFsdWUoY2FjaGVLZXksIGFkYXB0ZXJWYWx1ZSwgbWVyZ2VkT3B0aW9ucyk7XG5cbiAgICAgIHJldHVybiBhZGFwdGVyVmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtZXJnZU9wdGlvbnMob3B0aW9uczogUGFydGlhbDxDYWNoZU1ldGFkYXRhT3B0aW9ucz4pOiBDYWNoZU1ldGFkYXRhT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR0bE1zOiB0aGlzLm9wdGlvbnMudHRsTXMsXG4gICAgICBleHBpcmF0aW9uVGhyZXNob2xkTXM6IHRoaXMub3B0aW9ucy5leHBpcmF0aW9uVGhyZXNob2xkTXMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHRyeUdldEZyb21NZW1vcnk8VD4oY2FjaGVLZXk6IHN0cmluZyk6IFQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMuaW5NZW1vcnlDYWNoZS5nZXQoY2FjaGVLZXkpO1xuXG4gICAgaWYgKGNhY2hlZCAmJiAhdGhpcy5pc0V4cGlyZWQoY2FjaGVkLm1ldGFkYXRhKSkge1xuICAgICAgcmV0dXJuIGNhY2hlZC5kYXRhIGFzIFQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdHJ5R2V0RnJvbUFkYXB0ZXI8VD4oY2FjaGVLZXk6IHN0cmluZyk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGNhY2hlZCA9IGF3YWl0IHRoaXMuZ2V0RnJvbUFkYXB0ZXI8Q2FjaGVXaXRoTWV0YWRhdGE8VD4+KGNhY2hlS2V5KTtcblxuICAgIGlmIChjYWNoZWQgJiYgIXRoaXMuaXNFeHBpcmVkKGNhY2hlZC5tZXRhZGF0YSkpIHtcbiAgICAgIHRoaXMuaW5NZW1vcnlDYWNoZS5zZXQoY2FjaGVLZXksIGNhY2hlZCk7XG4gICAgICByZXR1cm4gY2FjaGVkLmRhdGE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdHJ5R2V0RnJvbVZhbHVlTG9hZGVyPFQ+KHZhbHVlTG9hZGVyPzogVmFsdWVMb2FkZXI8VD4pOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAodmFsdWVMb2FkZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoaXNDYWxsYWJsZSh2YWx1ZUxvYWRlcikpIHtcbiAgICAgIHJldHVybiBhd2FpdCB2YWx1ZUxvYWRlcigpO1xuICAgIH1cblxuICAgIGlmIChpc1Byb21pc2UodmFsdWVMb2FkZXIpKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdmFsdWVMb2FkZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlTG9hZGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjYWNoZVZhbHVlPFQ+KGNhY2hlS2V5OiBzdHJpbmcsIHZhbHVlOiBULCBvcHRpb25zOiBDYWNoZU1ldGFkYXRhT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNhY2hlRGF0YSA9IHRoaXMuY3JlYXRlQ2FjaGVFbnRyeSh2YWx1ZSwgb3B0aW9ucyk7XG5cbiAgICBhd2FpdCB0aGlzLnNhdmVUb0FkYXB0ZXIoY2FjaGVLZXksIGNhY2hlRGF0YSk7XG4gICAgdGhpcy5pbk1lbW9yeUNhY2hlLnNldChjYWNoZUtleSwgY2FjaGVEYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ2FjaGVFbnRyeTxUPih2YWx1ZTogVCwgb3B0aW9uczogQ2FjaGVNZXRhZGF0YU9wdGlvbnMpOiBDYWNoZVdpdGhNZXRhZGF0YTxUPiB7XG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgICBsZXQgZXhwaXJlc0F0OiBudW1iZXI7XG4gICAgaWYgKG9wdGlvbnMudHRsTXMgPCAwKSB7XG4gICAgICBleHBpcmVzQXQgPSAtMTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXhwaXJlc0F0ID0gbm93ICsgb3B0aW9ucy50dGxNcyAtIG9wdGlvbnMuZXhwaXJhdGlvblRocmVzaG9sZE1zO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiB2YWx1ZSxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIGNyZWF0ZWRBdDogbm93LFxuICAgICAgICB0dGxNczogb3B0aW9ucy50dGxNcyxcbiAgICAgICAgZXhwaXJhdGlvblRocmVzaG9sZE1zOiBvcHRpb25zLmV4cGlyYXRpb25UaHJlc2hvbGRNcyxcbiAgICAgICAgZXhwaXJlc0F0LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBpc0V4cGlyZWQobWV0YWRhdGE/OiBDYWNoZU1ldGFkYXRhKTogYm9vbGVhbiB7XG4gICAgaWYgKCFtZXRhZGF0YSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKG1ldGFkYXRhLmV4cGlyZXNBdCA8IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBleHBpcmF0aW9uVGltZSA9XG4gICAgICBtZXRhZGF0YS5leHBpcmVzQXQgPz8gKG1ldGFkYXRhLmNyZWF0ZWRBdCAmJiBtZXRhZGF0YS50dGxNcyA/IG1ldGFkYXRhLmNyZWF0ZWRBdCArIG1ldGFkYXRhLnR0bE1zIDogdW5kZWZpbmVkKTtcblxuICAgIGlmIChleHBpcmF0aW9uVGltZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gRGF0ZS5ub3coKSA+IGV4cGlyYXRpb25UaW1lO1xuICB9XG59XG4iLAogICAgImV4cG9ydCBmdW5jdGlvbiBpc0NhbGxhYmxlKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBDYWxsYWJsZUZ1bmN0aW9uIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiO1xufVxuIiwKICAgICJleHBvcnQgY29uc3QgQ0FDSEVfVFRMX05FVkVSX0VYUElSRSA9IC0xO1xuIiwKICAgICIvKipcbiAqIENvbnZlcnRzIGFuIGFzeW5jIGl0ZXJhYmxlIG9mIHN0cmluZyBvciBVaW50OEFycmF5IGNodW5rcyBpbnRvIGFuIGFzeW5jIGl0ZXJhYmxlIG9mIGxpbmVzLlxuICogSGFuZGxlcyBjYXNlcyB3aGVyZSBsaW5lcyBtYXkgYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIGNodW5rcy5cbiAqIFVzYWdlOlxuICogYGBgdHNcbiAqIGltcG9ydCB7IHBpcGVsaW5lIH0gZnJvbSBcIm5vZGU6c3RyZWFtL3Byb21pc2VzXCI7XG4gKiBpbXBvcnQgeyBjcmVhdGVSZWFkU3RyZWFtIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbiAqIGltcG9ydCB7IHN0cmVhbVRvTGluZXMgfSBmcm9tIFwiQGx1a2Fza2ovdHMtdXRpbHNcIjtcbiAqXG4gKiBhc3luYyBmdW5jdGlvbiBwcm9jZXNzTGluZShjaHVuazogQXN5bmNJdGVyYWJsZTxzdHJpbmc+KSB7XG4gKiAgIGZvciBhd2FpdCAoY29uc3QgbGluZSBvZiBjaHVuaykge1xuICogICAgIGNvbnNvbGUubG9nKGxpbmUpO1xuICogICAgIHlpZWxkIGxpbmU7XG4gKiAgIH1cbiAqIH1cbiAqIGNvbnN0IHJlYWRTdHJlYW0gPSBjcmVhdGVSZWFkU3RyZWFtKFwicGF0aC90by9maWxlLnR4dFwiLCB7IGVuY29kaW5nOiBcInV0Zi04XCIgfSk7XG4gKiBhd2FpdCBwaXBlbGluZShyZWFkU3RyZWFtLCBzdHJlYW1Ub0xpbmVzLCBwcm9jZXNzLnN0ZG91dCkuY2F0Y2goKGVycikgPT4ge1xuICogICBjb25zb2xlLmVycm9yKGVycik7XG4gKiAgIHByb2Nlc3MuZXhpdCgxKTtcbiAqIH0pO1xuICogYGBgXG4gKiBAcGFyYW0gY2h1bmtzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiogc3RyZWFtVG9MaW5lcyhjaHVua3M6IEFzeW5jSXRlcmFibGU8c3RyaW5nIHwgVWludDhBcnJheT4pIHtcbiAgbGV0IHByZXZpb3VzID0gXCJcIjtcblxuICBmb3IgYXdhaXQgKGNvbnN0IGNodW5rIG9mIGNodW5rcykge1xuICAgIHByZXZpb3VzICs9IGNodW5rO1xuICAgIGxldCBlb2xJbmRleDogbnVtYmVyO1xuXG4gICAgLy8gYmlvbWUtaWdub3JlIGxpbnQvc3VzcGljaW91cy9ub0Fzc2lnbkluRXhwcmVzc2lvbnM6IFwiZXhwbGFuYXRpb25cIlxuICAgIHdoaWxlICgoZW9sSW5kZXggPSBwcmV2aW91cy5pbmRleE9mKFwiXFxuXCIpKSA+PSAwKSB7XG4gICAgICAvLyB0aGlzIGxpbmUgaW5jbHVkZXMgdGhlIEVPTFxuICAgICAgY29uc3QgbGluZSA9IHByZXZpb3VzLnNsaWNlKDAsIGVvbEluZGV4ICsgMSk7XG4gICAgICB5aWVsZCBsaW5lPy50cmltKCkgPz8gXCJcIjtcbiAgICAgIHByZXZpb3VzID0gcHJldmlvdXMuc2xpY2UoZW9sSW5kZXggKyAxKTtcbiAgICB9XG4gIH1cblxuICBpZiAocHJldmlvdXMubGVuZ3RoID4gMCkge1xuICAgIHlpZWxkIHByZXZpb3VzO1xuICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIHN0cmVhbVRvTGluZXNcbiAqL1xuZXhwb3J0IGNvbnN0IGNodW5rc1RvTGluZXMgPSBzdHJlYW1Ub0xpbmVzO1xuIiwKICAgICJleHBvcnQgY29uc3QgaXNOdWxsT3JVbmRlZmluZWQgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIG51bGwgfCB1bmRlZmluZWQgPT4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZDtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVsbE9yRW1wdHlPclVuZGVmaW5lZCh2YWx1ZT86IGFueSB8IG51bGwpOiB2YWx1ZSBpcyBudWxsIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IFwiXCIgfHwgdmFsdWUudG9TdHJpbmcoKS50cmltKCkgPT09IFwiXCI7XG59XG4iLAogICAgIi8qKlxuICogVHlwZSBndWFyZCB0aGF0IGNoZWNrcyBpZiB0aGUgaW5wdXQgaXMgYSBwbGFpbiBKYXZhU2NyaXB0IG9iamVjdC5cbiAqIEBwYXJhbSB7YW55fSBpbnB1dCAtIFRoZSB2YWx1ZSB0byBjaGVja1xuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGlucHV0IGlzIGEgcGxhaW4gb2JqZWN0LCBmYWxzZSBvdGhlcndpc2VcbiAqIEB0eXBlUGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFR5cGUgZ3VhcmQgbmFycm93cyB0aGUgaW5wdXQgdHlwZSB0byBhIHN0cmluZy1rZXllZCBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KGlucHV0OiBhbnkpOiBpbnB1dCBpcyBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuYXBwbHkoaW5wdXQpID09PSBcIltvYmplY3QgT2JqZWN0XVwiO1xufVxuIiwKICAgICJleHBvcnQgZnVuY3Rpb24gaXNQcmltaXRpdmUodmFsdWU6IHVua25vd24pOiBib29sZWFuIHtcbiAgcmV0dXJuICh0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIHZhbHVlICE9PSBcImZ1bmN0aW9uXCIpIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlIGluc3RhbmNlb2YgRGF0ZTtcbn1cbiIsCiAgICAiaW1wb3J0IHNqcyBmcm9tIFwic2VjdXJlLWpzb24tcGFyc2VcIjtcblxuLyoqXG4gKiBTYWZlbHkgcGFyc2VzIEpTT04gaW5wdXQgdXNpbmcgc2VjdXJlLWpzb24tcGFyc2Ugd2l0aCBwcm90b3R5cGUgcG9sbHV0aW9uIHByb3RlY3Rpb24uXG4gKiBAcGFyYW0ge2FueX0gaW5wdXQgLSBUaGUgaW5wdXQgdG8gYmUgcGFyc2VkIGFzIEpTT05cbiAqIEByZXR1cm5zIHt7IHZhbHVlPzogYW55LCBlcnI/OiBFcnJvciB9fSBBbiBvYmplY3QgY29udGFpbmluZyBlaXRoZXIgdGhlIHBhcnNlZCB2YWx1ZSBvciBhbiBlcnJvciBpZiBwYXJzaW5nIGZhaWxlZFxuICovXG5leHBvcnQgZnVuY3Rpb24ganNvblBhcnNlcihpbnB1dDogYW55KSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHsgdmFsdWU6IHNqcy5wYXJzZShpbnB1dCwgeyBwcm90b0FjdGlvbjogXCJyZW1vdmVcIiB9KSB9O1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICByZXR1cm4geyBlcnIgfTtcbiAgfVxufVxuIiwKICAgICJleHBvcnQgZnVuY3Rpb24gcmFuZG9tU3RyaW5nKGxlbmd0aDogbnVtYmVyID0gNik6IHN0cmluZyB7XG4gIGxldCByZXN1bHQgPSBcIlwiO1xuICBjb25zdCBjaGFyYWN0ZXJzID0gXCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OVwiO1xuICBjb25zdCBjaGFyYWN0ZXJzTGVuZ3RoID0gY2hhcmFjdGVycy5sZW5ndGg7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICByZXN1bHQgKz0gY2hhcmFjdGVycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcmFjdGVyc0xlbmd0aCkpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG4iLAogICAgImV4cG9ydCBjb25zdCBzbGVlcCA9IChtczogbnVtYmVyKSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xuIiwKICAgICIvLyBodHRwczovL2dpc3QuZ2l0aHViLmNvbS90M2RvdGdnL2E0ODZjNGFlNjZkMzJiZjE3YzA5YzczNjA5ZGFjYzViXG4vLyBUeXBlcyBmb3IgdGhlIHJlc3VsdCBvYmplY3Qgd2l0aCBkaXNjcmltaW5hdGVkIHVuaW9uXG4vLyB0eXBlIFN1Y2Nlc3M8VD4gPSB7XG4vLyAgIGRhdGE6IFQ7XG4vLyAgIGVycm9yOiBudWxsO1xuLy8gfTtcblxuLy8gdHlwZSBGYWlsdXJlPEU+ID0ge1xuLy8gICBkYXRhOiBudWxsO1xuLy8gICBlcnJvcjogRTtcbi8vIH07XG5cbi8vIGV4cG9ydCB0eXBlIFJlc3VsdDxULCBFID0gRXJyb3I+ID0gU3VjY2VzczxUPiB8IEZhaWx1cmU8RT47XG5cbmV4cG9ydCB0eXBlIFJlc3VsdDxULCBFPiA9IFt1bmRlZmluZWQsIEVdIHwgW1QsIHVuZGVmaW5lZF07XG5leHBvcnQgdHlwZSBQcm9taXNlUmVzdWx0PFQsIEU+ID0gUHJvbWlzZTxSZXN1bHQ8VCwgRT4+O1xuXG4vKipcbiAqIFdyYXBzIGEgc3luY2hyb25vdXMgZnVuY3Rpb24gaW4gYSB0cnktY2F0Y2ggYmxvY2sgYW5kIHJldHVybnMgYSBSZXN1bHQgdHVwbGUgY29udGFpbmluZyBlaXRoZXIgdGhlIHJldHVybmVkIHZhbHVlIG9yIHRoZSBjYXVnaHQgZXJyb3JcbiAqXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSB0eXBlIG9mIHRoZSBzdWNjZXNzZnVsIHJlc3VsdCB2YWx1ZVxuICogQHRlbXBsYXRlIEUgLSBUaGUgdHlwZSBvZiB0aGUgZXJyb3IgdmFsdWUsIG11c3QgZXh0ZW5kIEVycm9yXG4gKiBAcGFyYW0geygpID0+IFR9IGZuIC0gVGhlIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkXG4gKiBAcmV0dXJucyB7UmVzdWx0PFQsIEU+fSBBIHR1cGxlIGNvbnRhaW5pbmcgZWl0aGVyIFtkYXRhLCB1bmRlZmluZWRdIG9yIFt1bmRlZmluZWQsIGVycm9yXVxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBbZGF0YSwgZXJyb3JdID0gdHJ5Q2F0Y2goKCkgPT4gc29tZVJpc2t5T3BlcmF0aW9uKCkpO1xuICogaWYgKGVycm9yKSB7XG4gKiAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICogfSBlbHNlIHtcbiAqICAgY29uc29sZS5sb2coZGF0YSk7XG4gKiB9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cnlDYXRjaDxULCBFIGV4dGVuZHMgRXJyb3I+KGZuOiAoKSA9PiBUKTogUmVzdWx0PFQsIEU+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBkYXRhID0gZm4oKTtcbiAgICByZXR1cm4gW2RhdGEgYXMgVCwgdW5kZWZpbmVkXTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4gW3VuZGVmaW5lZCwgZXJyb3IgYXMgRV07XG4gIH1cbn1cblxuLyoqXG4gKiBXcmFwcyBhIFByb21pc2UgaW4gYSB0cnktY2F0Y2ggYmxvY2sgYW5kIHJldHVybnMgYSBSZXN1bHQgb2JqZWN0IGNvbnRhaW5pbmcgZWl0aGVyIHRoZSByZXNvbHZlZCBkYXRhIG9yIHRoZSBjYXVnaHQgZXJyb3JcbiAqXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSB0eXBlIG9mIHRoZSBzdWNjZXNzZnVsIHJlc3VsdCB2YWx1ZVxuICogQHRlbXBsYXRlIEUgLSBUaGUgdHlwZSBvZiB0aGUgZXJyb3IgdmFsdWUsIGRlZmF1bHRzIHRvIEVycm9yXG4gKiBAcGFyYW0ge1Byb21pc2U8VD59IHByb21pc2UgLSBUaGUgcHJvbWlzZSB0byBiZSBleGVjdXRlZFxuICogQHJldHVybnMge1Byb21pc2U8UmVzdWx0PFQsIEU+Pn0gQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBSZXN1bHQgb2JqZWN0IGNvbnRhaW5pbmcgZWl0aGVyIHRoZSBkYXRhIG9yIGVycm9yXG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHtkYXRhLCBlcnJvcn0gPSBhd2FpdCB0cnlDYXRjaEFzeW5jKHNvbWVQcm9taXNlKTtcbiAqIGlmIChlcnJvcikge1xuICogICBjb25zb2xlLmVycm9yKHJlc3VsdC5lcnJvcik7XG4gKiB9IGVsc2Uge1xuICogICBjb25zb2xlLmxvZyhkYXRhKTtcbiAqIH1cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRyeUNhdGNoQXN5bmM8VCwgRSBleHRlbmRzIEVycm9yPihwcm9taXNlOiBQcm9taXNlPFQ+KTogUHJvbWlzZVJlc3VsdDxULCBFPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHByb21pc2U7XG4gICAgcmV0dXJuIFtkYXRhIGFzIFQsIHVuZGVmaW5lZF07XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIFt1bmRlZmluZWQsIGVycm9yIGFzIEVdO1xuICB9XG59XG4iCiAgXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEwQixJQUExQjs7O0FDQU8sU0FBUyxVQUFVLENBQUMsT0FBdUM7QUFBQSxFQUNoRSxPQUFPLE9BQU8sVUFBVTtBQUFBOzs7QURJMUIsSUFBTSxzQkFBb0M7QUFBQSxFQUN4Qyx1QkFBdUI7QUFBQSxFQUN2QixPQUFPLEtBQUssS0FBSztBQUNuQjtBQUFBO0FBRU8sTUFBTSxNQUE4RDtBQUFBLEVBQ2pFLGdCQUFnRCxJQUFJO0FBQUEsRUFDM0M7QUFBQSxFQUNBO0FBQUEsRUFJakIsV0FBVyxDQUFDLFNBQTRDLGdCQUF3QztBQUFBLElBQzlGLE1BQU0sVUFBVSxXQUFXLEVBQUUsY0FBYyxXQUFZLFVBQW9DO0FBQUEsSUFDM0YsSUFBSSxXQUFXLGNBQWMsV0FBVyxjQUFjLFNBQVM7QUFBQSxNQUM3RCxLQUFLLFVBQVU7QUFBQSxJQUNqQjtBQUFBLElBRUEsS0FBSyxVQUFVO0FBQUEsU0FDVjtBQUFBLFNBQ0E7QUFBQSxJQUNMO0FBQUE7QUFBQSxPQUdZLGVBQWlCLENBQUMsVUFBMEM7QUFBQSxJQUN4RSxJQUFJLENBQUMsS0FBSyxTQUFTO0FBQUEsTUFDakI7QUFBQSxJQUNGO0FBQUEsSUFFQSxPQUFPLEtBQUssUUFBUSxTQUFTLFFBQVE7QUFBQTtBQUFBLE9BR3pCLGNBQWdCLENBQUMsVUFBa0IsT0FBeUI7QUFBQSxJQUN4RSxJQUFJLENBQUMsS0FBSyxTQUFTO0FBQUEsTUFDakI7QUFBQSxJQUNGO0FBQUEsSUFFQSxPQUFPLEtBQUssUUFBUSxTQUFZLFVBQVUsS0FBSztBQUFBO0FBQUEsT0FH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
package/dist/index.mjs CHANGED
@@ -129,7 +129,7 @@ class Cache {
129
129
  // src/cache/constants.ts
130
130
  var CACHE_TTL_NEVER_EXPIRE = -1;
131
131
  // src/utils/chunksToLines.ts
132
- async function* chunksToLines(chunks) {
132
+ async function* streamToLines(chunks) {
133
133
  let previous = "";
134
134
  for await (const chunk of chunks) {
135
135
  previous += chunk;
@@ -145,6 +145,7 @@ async function* chunksToLines(chunks) {
145
145
  yield previous;
146
146
  }
147
147
  }
148
+ var chunksToLines = streamToLines;
148
149
  // src/utils/isNullOrUndefined.ts
149
150
  var isNullOrUndefined = (value) => value === null || value === undefined;
150
151
  function isNullOrEmptyOrUndefined(value) {
@@ -199,6 +200,7 @@ async function tryCatchAsync(promise) {
199
200
  export {
200
201
  tryCatchAsync,
201
202
  tryCatch,
203
+ streamToLines,
202
204
  sleep,
203
205
  randomString,
204
206
  jsonParser,
@@ -211,5 +213,5 @@ export {
211
213
  CACHE_TTL_NEVER_EXPIRE
212
214
  };
213
215
 
214
- //# debugId=2329ACCD00D0C99964756E2164756E21
215
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2NhY2hlL2NhY2hlU2VydmljZS50cyIsICIuLi9zcmMvdXRpbHMvaXNDYWxsYWJsZS50cyIsICIuLi9zcmMvY2FjaGUvY29uc3RhbnRzLnRzIiwgIi4uL3NyYy91dGlscy9jaHVua3NUb0xpbmVzLnRzIiwgIi4uL3NyYy91dGlscy9pc051bGxPclVuZGVmaW5lZC50cyIsICIuLi9zcmMvdXRpbHMvaXNPYmplY3QudHMiLCAiLi4vc3JjL3V0aWxzL2lzUHJpbWl0aXZlLnRzIiwgIi4uL3NyYy91dGlscy9qc29uUGFyc2VyLnRzIiwgIi4uL3NyYy91dGlscy9yYW5kb21TdHJpbmcudHMiLCAiLi4vc3JjL3V0aWxzL3NsZWVwLnRzIiwgIi4uL3NyYy9uZXZlcnRocm93L3RyeUNhdGNoLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWwogICAgImltcG9ydCB7IGlzUHJvbWlzZSB9IGZyb20gXCJub2RlOnV0aWwvdHlwZXNcIjtcbmltcG9ydCB7IGlzQ2FsbGFibGUgfSBmcm9tIFwiLi4vdXRpbHMvaXNDYWxsYWJsZS50c1wiO1xuaW1wb3J0IHR5cGUgeyBDYWNoZU1ldGFkYXRhT3B0aW9ucywgQ2FjaGVPcHRpb25zLCBDYWNoZVdpdGhNZXRhZGF0YSwgVmFsdWVMb2FkZXIgfSBmcm9tIFwiLi9pbnRlcm5hbC90eXBlcy50c1wiO1xuaW1wb3J0IHR5cGUgeyBDYWNoZU1ldGFkYXRhLCBJQ2FjaGVBZGFwdGVyIH0gZnJvbSBcIi4vdHlwZXMudHNcIjtcblxuY29uc3QgZGVmYXVsdENhY2hlT3B0aW9uczogQ2FjaGVPcHRpb25zID0ge1xuICBleHBpcmF0aW9uVGhyZXNob2xkTXM6IDAsXG4gIHR0bE1zOiA2MCAqIDYwICogMTAwMCxcbn07XG5cbmV4cG9ydCBjbGFzcyBDYWNoZTxUQWRhcHRlciBleHRlbmRzIElDYWNoZUFkYXB0ZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+IHtcbiAgcHJpdmF0ZSBpbk1lbW9yeUNhY2hlOiBNYXA8c3RyaW5nLCBDYWNoZVdpdGhNZXRhZGF0YT4gPSBuZXcgTWFwKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQ2FjaGVPcHRpb25zO1xuICBwcml2YXRlIHJlYWRvbmx5IGFkYXB0ZXI/OiBUQWRhcHRlcjtcblxuICBjb25zdHJ1Y3RvcihkZWZhdWx0T3B0aW9ucz86IFBhcnRpYWw8Q2FjaGVPcHRpb25zPik7XG4gIGNvbnN0cnVjdG9yKGFkYXB0ZXI/OiBUQWRhcHRlciwgZGVmYXVsdE9wdGlvbnM/OiBQYXJ0aWFsPENhY2hlT3B0aW9ucz4pO1xuICBjb25zdHJ1Y3RvcihhZGFwdGVyPzogVEFkYXB0ZXIgfCBQYXJ0aWFsPENhY2hlT3B0aW9ucz4sIGRlZmF1bHRPcHRpb25zPzogUGFydGlhbDxDYWNoZU9wdGlvbnM+KSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGFkYXB0ZXIgJiYgIShcImdldFZhbHVlXCIgaW4gYWRhcHRlcikgPyAoYWRhcHRlciBhcyBQYXJ0aWFsPENhY2hlT3B0aW9ucz4pIDogZGVmYXVsdE9wdGlvbnM7XG4gICAgaWYgKGFkYXB0ZXIgJiYgXCJnZXRWYWx1ZVwiIGluIGFkYXB0ZXIgJiYgXCJzZXRWYWx1ZVwiIGluIGFkYXB0ZXIpIHtcbiAgICAgIHRoaXMuYWRhcHRlciA9IGFkYXB0ZXIgYXMgVEFkYXB0ZXI7XG4gICAgfVxuXG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgLi4uZGVmYXVsdENhY2hlT3B0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0RnJvbUFkYXB0ZXI8VD4oY2FjaGVLZXk6IHN0cmluZyk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5hZGFwdGVyKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuZ2V0VmFsdWUoY2FjaGVLZXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzYXZlVG9BZGFwdGVyPFQ+KGNhY2hlS2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmFkYXB0ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyLnNldFZhbHVlPFQ+KGNhY2hlS2V5LCB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0PFQ+KFxuICAgIGNhY2hlS2V5OiBzdHJpbmcsXG4gICAgdmFsdWVMb2FkZXI/OiBWYWx1ZUxvYWRlcjxUPixcbiAgICBvcHRpb25zOiBQYXJ0aWFsPENhY2hlTWV0YWRhdGFPcHRpb25zPiA9IHt9LFxuICApOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBtZXJnZWRPcHRpb25zID0gdGhpcy5tZXJnZU9wdGlvbnMob3B0aW9ucyk7XG5cbiAgICAvLyBUcnkgaW4tbWVtb3J5IGNhY2hlIGZpcnN0XG4gICAgY29uc3QgY2FjaGVkVmFsdWUgPSB0aGlzLnRyeUdldEZyb21NZW1vcnk8VD4oY2FjaGVLZXkpO1xuICAgIGlmIChjYWNoZWRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gY2FjaGVkVmFsdWU7XG4gICAgfVxuXG4gICAgLy8gTG9hZCBmcmVzaCB2YWx1ZSBmcm9tIGxvYWRlciBmdW5jdGlvbiBmaXJzdFxuICAgIGNvbnN0IGZyZXNoVmFsdWUgPSBhd2FpdCB0aGlzLnRyeUdldEZyb21WYWx1ZUxvYWRlcih2YWx1ZUxvYWRlcik7XG4gICAgaWYgKGZyZXNoVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgYXdhaXQgdGhpcy5jYWNoZVZhbHVlKGNhY2hlS2V5LCBmcmVzaFZhbHVlLCBtZXJnZWRPcHRpb25zKTtcblxuICAgICAgcmV0dXJuIGZyZXNoVmFsdWU7XG4gICAgfVxuXG4gICAgLy8gVHJ5IGFkYXB0ZXIgY2FjaGUgc2Vjb25kXG4gICAgY29uc3QgYWRhcHRlclZhbHVlID0gYXdhaXQgdGhpcy50cnlHZXRGcm9tQWRhcHRlcjxUPihjYWNoZUtleSk7XG4gICAgaWYgKGFkYXB0ZXJWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhd2FpdCB0aGlzLmNhY2hlVmFsdWUoY2FjaGVLZXksIGFkYXB0ZXJWYWx1ZSwgbWVyZ2VkT3B0aW9ucyk7XG5cbiAgICAgIHJldHVybiBhZGFwdGVyVmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtZXJnZU9wdGlvbnMob3B0aW9uczogUGFydGlhbDxDYWNoZU1ldGFkYXRhT3B0aW9ucz4pOiBDYWNoZU1ldGFkYXRhT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR0bE1zOiB0aGlzLm9wdGlvbnMudHRsTXMsXG4gICAgICBleHBpcmF0aW9uVGhyZXNob2xkTXM6IHRoaXMub3B0aW9ucy5leHBpcmF0aW9uVGhyZXNob2xkTXMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHRyeUdldEZyb21NZW1vcnk8VD4oY2FjaGVLZXk6IHN0cmluZyk6IFQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMuaW5NZW1vcnlDYWNoZS5nZXQoY2FjaGVLZXkpO1xuXG4gICAgaWYgKGNhY2hlZCAmJiAhdGhpcy5pc0V4cGlyZWQoY2FjaGVkLm1ldGFkYXRhKSkge1xuICAgICAgcmV0dXJuIGNhY2hlZC5kYXRhIGFzIFQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdHJ5R2V0RnJvbUFkYXB0ZXI8VD4oY2FjaGVLZXk6IHN0cmluZyk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGNhY2hlZCA9IGF3YWl0IHRoaXMuZ2V0RnJvbUFkYXB0ZXI8Q2FjaGVXaXRoTWV0YWRhdGE8VD4+KGNhY2hlS2V5KTtcblxuICAgIGlmIChjYWNoZWQgJiYgIXRoaXMuaXNFeHBpcmVkKGNhY2hlZC5tZXRhZGF0YSkpIHtcbiAgICAgIHRoaXMuaW5NZW1vcnlDYWNoZS5zZXQoY2FjaGVLZXksIGNhY2hlZCk7XG4gICAgICByZXR1cm4gY2FjaGVkLmRhdGE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdHJ5R2V0RnJvbVZhbHVlTG9hZGVyPFQ+KHZhbHVlTG9hZGVyPzogVmFsdWVMb2FkZXI8VD4pOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAodmFsdWVMb2FkZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoaXNDYWxsYWJsZSh2YWx1ZUxvYWRlcikpIHtcbiAgICAgIHJldHVybiBhd2FpdCB2YWx1ZUxvYWRlcigpO1xuICAgIH1cblxuICAgIGlmIChpc1Byb21pc2UodmFsdWVMb2FkZXIpKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdmFsdWVMb2FkZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlTG9hZGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjYWNoZVZhbHVlPFQ+KGNhY2hlS2V5OiBzdHJpbmcsIHZhbHVlOiBULCBvcHRpb25zOiBDYWNoZU1ldGFkYXRhT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNhY2hlRGF0YSA9IHRoaXMuY3JlYXRlQ2FjaGVFbnRyeSh2YWx1ZSwgb3B0aW9ucyk7XG5cbiAgICBhd2FpdCB0aGlzLnNhdmVUb0FkYXB0ZXIoY2FjaGVLZXksIGNhY2hlRGF0YSk7XG4gICAgdGhpcy5pbk1lbW9yeUNhY2hlLnNldChjYWNoZUtleSwgY2FjaGVEYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ2FjaGVFbnRyeTxUPih2YWx1ZTogVCwgb3B0aW9uczogQ2FjaGVNZXRhZGF0YU9wdGlvbnMpOiBDYWNoZVdpdGhNZXRhZGF0YTxUPiB7XG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgICBsZXQgZXhwaXJlc0F0OiBudW1iZXI7XG4gICAgaWYgKG9wdGlvbnMudHRsTXMgPCAwKSB7XG4gICAgICBleHBpcmVzQXQgPSAtMTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXhwaXJlc0F0ID0gbm93ICsgb3B0aW9ucy50dGxNcyAtIG9wdGlvbnMuZXhwaXJhdGlvblRocmVzaG9sZE1zO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiB2YWx1ZSxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIGNyZWF0ZWRBdDogbm93LFxuICAgICAgICB0dGxNczogb3B0aW9ucy50dGxNcyxcbiAgICAgICAgZXhwaXJhdGlvblRocmVzaG9sZE1zOiBvcHRpb25zLmV4cGlyYXRpb25UaHJlc2hvbGRNcyxcbiAgICAgICAgZXhwaXJlc0F0LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBpc0V4cGlyZWQobWV0YWRhdGE/OiBDYWNoZU1ldGFkYXRhKTogYm9vbGVhbiB7XG4gICAgaWYgKCFtZXRhZGF0YSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKG1ldGFkYXRhLmV4cGlyZXNBdCA8IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBleHBpcmF0aW9uVGltZSA9XG4gICAgICBtZXRhZGF0YS5leHBpcmVzQXQgPz8gKG1ldGFkYXRhLmNyZWF0ZWRBdCAmJiBtZXRhZGF0YS50dGxNcyA/IG1ldGFkYXRhLmNyZWF0ZWRBdCArIG1ldGFkYXRhLnR0bE1zIDogdW5kZWZpbmVkKTtcblxuICAgIGlmIChleHBpcmF0aW9uVGltZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gRGF0ZS5ub3coKSA+IGV4cGlyYXRpb25UaW1lO1xuICB9XG59XG4iLAogICAgImV4cG9ydCBmdW5jdGlvbiBpc0NhbGxhYmxlKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBDYWxsYWJsZUZ1bmN0aW9uIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiO1xufVxuIiwKICAgICJleHBvcnQgY29uc3QgQ0FDSEVfVFRMX05FVkVSX0VYUElSRSA9IC0xO1xuIiwKICAgICIvKipcbiAqIENvbnZlcnRzIGFuIGFzeW5jIGl0ZXJhYmxlIG9mIHN0cmluZyBvciBVaW50OEFycmF5IGNodW5rcyBpbnRvIGFuIGFzeW5jIGl0ZXJhYmxlIG9mIGxpbmVzLlxuICogSGFuZGxlcyBjYXNlcyB3aGVyZSBsaW5lcyBtYXkgYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIGNodW5rcy5cbiAqIFVzYWdlOlxuICogYGBgdHNcbiAqIGltcG9ydCB7IHBpcGVsaW5lIH0gZnJvbSBcIm5vZGU6c3RyZWFtL3Byb21pc2VzXCI7XG4gKiBpbXBvcnQgeyBjcmVhdGVSZWFkU3RyZWFtIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbiAqIGltcG9ydCB7IGNodW5rc1RvTGluZXMgfSBmcm9tIFwiQGx1a2Fza2ovdHMtdXRpbHNcIjtcbiAqXG4gKiBjb25zdCByZWFkU3RyZWFtID0gY3JlYXRlUmVhZFN0cmVhbShcInBhdGgvdG8vZmlsZS50eHRcIiwgeyBlbmNvZGluZzogXCJ1dGYtOFwiIH0pO1xuICogYXdhaXQgcGlwZWxpbmUocmVhZFN0cmVhbSwgY2h1bmtzVG9MaW5lcywgcHJvY2Vzcy5zdGRvdXQpLmNhdGNoKChlcnIpID0+IHtcbiAqICAgY29uc29sZS5lcnJvcihlcnIpO1xuICogICBwcm9jZXNzLmV4aXQoMSk7XG4gKiB9KTtcbiAqIGBgYFxuICogQHBhcmFtIGNodW5rc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24qIGNodW5rc1RvTGluZXMoY2h1bmtzOiBBc3luY0l0ZXJhYmxlPHN0cmluZyB8IFVpbnQ4QXJyYXk+KSB7XG4gIGxldCBwcmV2aW91cyA9IFwiXCI7XG5cbiAgZm9yIGF3YWl0IChjb25zdCBjaHVuayBvZiBjaHVua3MpIHtcbiAgICBwcmV2aW91cyArPSBjaHVuaztcbiAgICBsZXQgZW9sSW5kZXg6IG51bWJlcjtcblxuICAgIC8vIGJpb21lLWlnbm9yZSBsaW50L3N1c3BpY2lvdXMvbm9Bc3NpZ25JbkV4cHJlc3Npb25zOiBcImV4cGxhbmF0aW9uXCJcbiAgICB3aGlsZSAoKGVvbEluZGV4ID0gcHJldmlvdXMuaW5kZXhPZihcIlxcblwiKSkgPj0gMCkge1xuICAgICAgLy8gdGhpcyBsaW5lIGluY2x1ZGVzIHRoZSBFT0xcbiAgICAgIGNvbnN0IGxpbmUgPSBwcmV2aW91cy5zbGljZSgwLCBlb2xJbmRleCArIDEpO1xuICAgICAgeWllbGQgbGluZT8udHJpbSgpID8/IFwiXCI7XG4gICAgICBwcmV2aW91cyA9IHByZXZpb3VzLnNsaWNlKGVvbEluZGV4ICsgMSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHByZXZpb3VzLmxlbmd0aCA+IDApIHtcbiAgICB5aWVsZCBwcmV2aW91cztcbiAgfVxufVxuIiwKICAgICJleHBvcnQgY29uc3QgaXNOdWxsT3JVbmRlZmluZWQgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIG51bGwgfCB1bmRlZmluZWQgPT4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZDtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVsbE9yRW1wdHlPclVuZGVmaW5lZCh2YWx1ZT86IGFueSB8IG51bGwpOiB2YWx1ZSBpcyBudWxsIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IFwiXCIgfHwgdmFsdWUudG9TdHJpbmcoKS50cmltKCkgPT09IFwiXCI7XG59XG4iLAogICAgIi8qKlxuICogVHlwZSBndWFyZCB0aGF0IGNoZWNrcyBpZiB0aGUgaW5wdXQgaXMgYSBwbGFpbiBKYXZhU2NyaXB0IG9iamVjdC5cbiAqIEBwYXJhbSB7YW55fSBpbnB1dCAtIFRoZSB2YWx1ZSB0byBjaGVja1xuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGlucHV0IGlzIGEgcGxhaW4gb2JqZWN0LCBmYWxzZSBvdGhlcndpc2VcbiAqIEB0eXBlUGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFR5cGUgZ3VhcmQgbmFycm93cyB0aGUgaW5wdXQgdHlwZSB0byBhIHN0cmluZy1rZXllZCBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KGlucHV0OiBhbnkpOiBpbnB1dCBpcyBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuYXBwbHkoaW5wdXQpID09PSBcIltvYmplY3QgT2JqZWN0XVwiO1xufVxuIiwKICAgICJleHBvcnQgZnVuY3Rpb24gaXNQcmltaXRpdmUodmFsdWU6IHVua25vd24pOiBib29sZWFuIHtcbiAgcmV0dXJuICh0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIHZhbHVlICE9PSBcImZ1bmN0aW9uXCIpIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlIGluc3RhbmNlb2YgRGF0ZTtcbn1cbiIsCiAgICAiaW1wb3J0IHNqcyBmcm9tIFwic2VjdXJlLWpzb24tcGFyc2VcIjtcblxuLyoqXG4gKiBTYWZlbHkgcGFyc2VzIEpTT04gaW5wdXQgdXNpbmcgc2VjdXJlLWpzb24tcGFyc2Ugd2l0aCBwcm90b3R5cGUgcG9sbHV0aW9uIHByb3RlY3Rpb24uXG4gKiBAcGFyYW0ge2FueX0gaW5wdXQgLSBUaGUgaW5wdXQgdG8gYmUgcGFyc2VkIGFzIEpTT05cbiAqIEByZXR1cm5zIHt7IHZhbHVlPzogYW55LCBlcnI/OiBFcnJvciB9fSBBbiBvYmplY3QgY29udGFpbmluZyBlaXRoZXIgdGhlIHBhcnNlZCB2YWx1ZSBvciBhbiBlcnJvciBpZiBwYXJzaW5nIGZhaWxlZFxuICovXG5leHBvcnQgZnVuY3Rpb24ganNvblBhcnNlcihpbnB1dDogYW55KSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHsgdmFsdWU6IHNqcy5wYXJzZShpbnB1dCwgeyBwcm90b0FjdGlvbjogXCJyZW1vdmVcIiB9KSB9O1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICByZXR1cm4geyBlcnIgfTtcbiAgfVxufVxuIiwKICAgICJleHBvcnQgZnVuY3Rpb24gcmFuZG9tU3RyaW5nKGxlbmd0aDogbnVtYmVyID0gNik6IHN0cmluZyB7XG4gIGxldCByZXN1bHQgPSBcIlwiO1xuICBjb25zdCBjaGFyYWN0ZXJzID0gXCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OVwiO1xuICBjb25zdCBjaGFyYWN0ZXJzTGVuZ3RoID0gY2hhcmFjdGVycy5sZW5ndGg7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICByZXN1bHQgKz0gY2hhcmFjdGVycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcmFjdGVyc0xlbmd0aCkpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG4iLAogICAgImV4cG9ydCBjb25zdCBzbGVlcCA9IChtczogbnVtYmVyKSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xuIiwKICAgICIvLyBodHRwczovL2dpc3QuZ2l0aHViLmNvbS90M2RvdGdnL2E0ODZjNGFlNjZkMzJiZjE3YzA5YzczNjA5ZGFjYzViXG4vLyBUeXBlcyBmb3IgdGhlIHJlc3VsdCBvYmplY3Qgd2l0aCBkaXNjcmltaW5hdGVkIHVuaW9uXG4vLyB0eXBlIFN1Y2Nlc3M8VD4gPSB7XG4vLyAgIGRhdGE6IFQ7XG4vLyAgIGVycm9yOiBudWxsO1xuLy8gfTtcblxuLy8gdHlwZSBGYWlsdXJlPEU+ID0ge1xuLy8gICBkYXRhOiBudWxsO1xuLy8gICBlcnJvcjogRTtcbi8vIH07XG5cbi8vIGV4cG9ydCB0eXBlIFJlc3VsdDxULCBFID0gRXJyb3I+ID0gU3VjY2VzczxUPiB8IEZhaWx1cmU8RT47XG5cbmV4cG9ydCB0eXBlIFJlc3VsdDxULCBFPiA9IFt1bmRlZmluZWQsIEVdIHwgW1QsIHVuZGVmaW5lZF07XG5leHBvcnQgdHlwZSBQcm9taXNlUmVzdWx0PFQsIEU+ID0gUHJvbWlzZTxSZXN1bHQ8VCwgRT4+O1xuXG4vKipcbiAqIFdyYXBzIGEgc3luY2hyb25vdXMgZnVuY3Rpb24gaW4gYSB0cnktY2F0Y2ggYmxvY2sgYW5kIHJldHVybnMgYSBSZXN1bHQgdHVwbGUgY29udGFpbmluZyBlaXRoZXIgdGhlIHJldHVybmVkIHZhbHVlIG9yIHRoZSBjYXVnaHQgZXJyb3JcbiAqXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSB0eXBlIG9mIHRoZSBzdWNjZXNzZnVsIHJlc3VsdCB2YWx1ZVxuICogQHRlbXBsYXRlIEUgLSBUaGUgdHlwZSBvZiB0aGUgZXJyb3IgdmFsdWUsIG11c3QgZXh0ZW5kIEVycm9yXG4gKiBAcGFyYW0geygpID0+IFR9IGZuIC0gVGhlIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkXG4gKiBAcmV0dXJucyB7UmVzdWx0PFQsIEU+fSBBIHR1cGxlIGNvbnRhaW5pbmcgZWl0aGVyIFtkYXRhLCB1bmRlZmluZWRdIG9yIFt1bmRlZmluZWQsIGVycm9yXVxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBbZGF0YSwgZXJyb3JdID0gdHJ5Q2F0Y2goKCkgPT4gc29tZVJpc2t5T3BlcmF0aW9uKCkpO1xuICogaWYgKGVycm9yKSB7XG4gKiAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICogfSBlbHNlIHtcbiAqICAgY29uc29sZS5sb2coZGF0YSk7XG4gKiB9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cnlDYXRjaDxULCBFIGV4dGVuZHMgRXJyb3I+KGZuOiAoKSA9PiBUKTogUmVzdWx0PFQsIEU+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBkYXRhID0gZm4oKTtcbiAgICByZXR1cm4gW2RhdGEgYXMgVCwgdW5kZWZpbmVkXTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4gW3VuZGVmaW5lZCwgZXJyb3IgYXMgRV07XG4gIH1cbn1cblxuLyoqXG4gKiBXcmFwcyBhIFByb21pc2UgaW4gYSB0cnktY2F0Y2ggYmxvY2sgYW5kIHJldHVybnMgYSBSZXN1bHQgb2JqZWN0IGNvbnRhaW5pbmcgZWl0aGVyIHRoZSByZXNvbHZlZCBkYXRhIG9yIHRoZSBjYXVnaHQgZXJyb3JcbiAqXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSB0eXBlIG9mIHRoZSBzdWNjZXNzZnVsIHJlc3VsdCB2YWx1ZVxuICogQHRlbXBsYXRlIEUgLSBUaGUgdHlwZSBvZiB0aGUgZXJyb3IgdmFsdWUsIGRlZmF1bHRzIHRvIEVycm9yXG4gKiBAcGFyYW0ge1Byb21pc2U8VD59IHByb21pc2UgLSBUaGUgcHJvbWlzZSB0byBiZSBleGVjdXRlZFxuICogQHJldHVybnMge1Byb21pc2U8UmVzdWx0PFQsIEU+Pn0gQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBSZXN1bHQgb2JqZWN0IGNvbnRhaW5pbmcgZWl0aGVyIHRoZSBkYXRhIG9yIGVycm9yXG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHtkYXRhLCBlcnJvcn0gPSBhd2FpdCB0cnlDYXRjaEFzeW5jKHNvbWVQcm9taXNlKTtcbiAqIGlmIChlcnJvcikge1xuICogICBjb25zb2xlLmVycm9yKHJlc3VsdC5lcnJvcik7XG4gKiB9IGVsc2Uge1xuICogICBjb25zb2xlLmxvZyhkYXRhKTtcbiAqIH1cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRyeUNhdGNoQXN5bmM8VCwgRSBleHRlbmRzIEVycm9yPihwcm9taXNlOiBQcm9taXNlPFQ+KTogUHJvbWlzZVJlc3VsdDxULCBFPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHByb21pc2U7XG4gICAgcmV0dXJuIFtkYXRhIGFzIFQsIHVuZGVmaW5lZF07XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIFt1bmRlZmluZWQsIGVycm9yIGFzIEVdO1xuICB9XG59XG4iCiAgXSwKICAibWFwcGluZ3MiOiAiO0FBQUE7OztBQ0FPLFNBQVMsVUFBVSxDQUFDLE9BQXVDO0FBQUEsRUFDaEUsT0FBTyxPQUFPLFVBQVU7QUFBQTs7O0FESTFCLElBQU0sc0JBQW9DO0FBQUEsRUFDeEMsdUJBQXVCO0FBQUEsRUFDdkIsT0FBTyxLQUFLLEtBQUs7QUFDbkI7QUFBQTtBQUVPLE1BQU0sTUFBOEQ7QUFBQSxFQUNqRSxnQkFBZ0QsSUFBSTtBQUFBLEVBQzNDO0FBQUEsRUFDQTtBQUFBLEVBSWpCLFdBQVcsQ0FBQyxTQUE0QyxnQkFBd0M7QUFBQSxJQUM5RixNQUFNLFVBQVUsV0FBVyxFQUFFLGNBQWMsV0FBWSxVQUFvQztBQUFBLElBQzNGLElBQUksV0FBVyxjQUFjLFdBQVcsY0FBYyxTQUFTO0FBQUEsTUFDN0QsS0FBSyxVQUFVO0FBQUEsSUFDakI7QUFBQSxJQUVBLEtBQUssVUFBVTtBQUFBLFNBQ1Y7QUFBQSxTQUNBO0FBQUEsSUFDTDtBQUFBO0FBQUEsT0FHWSxlQUFpQixDQUFDLFVBQTBDO0FBQUEsSUFDeEUsSUFBSSxDQUFDLEtBQUssU0FBUztBQUFBLE1BQ2pCO0FBQUEsSUFDRjtBQUFBLElBRUEsT0FBTyxLQUFLLFFBQVEsU0FBUyxRQUFRO0FBQUE7QUFBQSxPQUd6QixjQUFnQixDQUFDLFVBQWtCLE9BQXlCO0FBQUEsSUFDeEUsSUFBSSxDQUFDLEtBQUssU0FBUztBQUFBLE1BQ2pCO0FBQUEsSUFDRjtBQUFBLElBRUEsT0FBTyxLQUFLLFFBQVEsU0FBWSxVQUFVLEtBQUs7QUFBQTtBQUFBLE9BR3BDLElBQU0sQ0FDakIsVUFDQSxhQUNBLFVBQXlDLENBQUMsR0FDbEI7QUFBQSxJQUN4QixNQUFNLGdCQUFnQixLQUFLLGFBQWEsT0FBTztBQUFBLElBRy9DLE1BQU0sY0FBYyxLQUFLLGlCQUFvQixRQUFRO0FBQUEsSUFDckQsSUFBSSxnQkFBZ0IsV0FBVztBQUFBLE1BQzdCLE9BQU87QUFBQSxJQUNUO0FBQUEsSUFHQSxNQUFNLGFBQWEsTUFBTSxLQUFLLHNCQUFzQixXQUFXO0FBQUEsSUFDL0QsSUFBSSxlQUFlLFdBQVc7QUFBQSxNQUM1QixNQUFNLEtBQUssV0FBVyxVQUFVLFlBQVksYUFBYTtBQUFBLE1BRXpELE9BQU87QUFBQSxJQUNUO0FBQUEsSUFHQSxNQUFNLGVBQWUsTUFBTSxLQUFLLGtCQUFxQixRQUFRO0FBQUEsSUFDN0QsSUFBSSxpQkFBaUIsV0FBVztBQUFBLE1BQzlCLE1BQU0sS0FBSyxXQUFXLFVBQVUsY0FBYyxhQUFhO0FBQUEsTUFFM0QsT0FBTztBQUFBLElBQ1Q7QUFBQTtBQUFBLEVBR00sWUFBWSxDQUFDLFNBQThEO0FBQUEsSUFDakYsT0FBTztBQUFBLE1BQ0wsT0FBTyxLQUFLLFFBQVE7QUFBQSxNQUNwQix1QkFBdUIsS0FBSyxRQUFRO0FBQUEsU0FDakM7QUFBQSxJQUNMO0FBQUE7QUFBQSxFQUdNLGdCQUFtQixDQUFDLFVBQWlDO0FBQUEsSUFDM0QsTUFBTSxTQUFTLEtBQUssY0FBYyxJQUFJLFFBQVE7QUFBQSxJQUU5QyxJQUFJLFVBQVUsQ0FBQyxLQUFLLFVBQVUsT0FBTyxRQUFRLEdBQUc7QUFBQSxNQUM5QyxPQUFPLE9BQU87QUFBQSxJQUNoQjtBQUFBLElBRUE7QUFBQTtBQUFBLE9BR1ksa0JBQW9CLENBQUMsVUFBMEM7QUFBQSxJQUMzRSxNQUFNLFNBQVMsTUFBTSxLQUFLLGVBQXFDLFFBQVE7QUFBQSxJQUV2RSxJQUFJLFVBQVUsQ0FBQyxLQUFLLFVBQVUsT0FBTyxRQUFRLEdBQUc7QUFBQSxNQUM5QyxLQUFLLGNBQWMsSUFBSSxVQUFVLE1BQU07QUFBQSxNQUN2QyxPQUFPLE9BQU87QUFBQSxJQUNoQjtBQUFBLElBRUE7QUFBQTtBQUFBLE9BR1ksc0JBQXdCLENBQUMsYUFBc0Q7QUFBQSxJQUMzRixJQUFJLGdCQUFnQixXQUFXO0FBQUEsTUFDN0I7QUFBQSxJQUNGO0FBQUEsSUFFQSxJQUFJLFdBQVcsV0FBVyxHQUFHO0FBQUEsTUFDM0IsT0FBTyxNQUFNLFlBQVk7QUFBQSxJQUMzQjtBQUFBLElBRUEsSUFBSSxVQUFVLFdBQVcsR0FBRztBQUFBLE1BQzFCLE9BQU8sTUFBTTtBQUFBLElBQ2Y7QUFBQSxJQUVBLE9BQU87QUFBQTtBQUFBLE9BR0ssV0FBYSxDQUFDLFVBQWtCLE9BQVUsU0FBOEM7QUFBQSxJQUNwRyxNQUFNLFlBQVksS0FBSyxpQkFBaUIsT0FBTyxPQUFPO0FBQUEsSUFFdEQsTUFBTSxLQUFLLGNBQWMsVUFBVSxTQUFTO0FBQUEsSUFDNUMsS0FBSyxjQUFjLElBQUksVUFBVSxTQUFTO0FBQUE7QUFBQSxFQUdwQyxnQkFBbUIsQ0FBQyxPQUFVLFNBQXFEO0FBQUEsSUFDekYsTUFBTSxNQUFNLEtBQUssSUFBSTtBQUFBLElBQ3JCLElBQUk7QUFBQSxJQUNKLElBQUksUUFBUSxRQUFRLEdBQUc7QUFBQSxNQUNyQixZQUFZO0FBQUEsSUFDZCxFQUFPO0FBQUEsTUFDTCxZQUFZLE1BQU0sUUFBUSxRQUFRLFFBQVE7QUFBQTtBQUFBLElBRzVDLE9BQU87QUFBQSxNQUNMLE1BQU07QUFBQSxNQUNOLFVBQVU7QUFBQSxRQUNSLFdBQVc7QUFBQSxRQUNYLE9BQU8sUUFBUTtBQUFBLFFBQ2YsdUJBQXVCLFFBQVE7QUFBQSxRQUMvQjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUE7QUFBQSxFQUdNLFNBQVMsQ0FBQyxVQUFtQztBQUFBLElBQ25ELElBQUksQ0FBQyxVQUFVO0FBQUEsTUFDYixPQUFPO0FBQUEsSUFDVDtBQUFBLElBRUEsSUFBSSxTQUFTLFlBQVksR0FBRztBQUFBLE1BQzFCLE9BQU87QUFBQSxJQUNUO0FBQUEsSUFFQSxNQUFNLGlCQUNKLFNBQVMsY0FBYyxTQUFTLGFBQWEsU0FBUyxRQUFRLFNBQVMsWUFBWSxTQUFTLFFBQVE7QUFBQSxJQUV0RyxJQUFJLG1CQUFtQixXQUFXO0FBQUEsTUFDaEMsT0FBTztBQUFBLElBQ1Q7QUFBQSxJQUVBLE9BQU8sS0FBSyxJQUFJLElBQUk7QUFBQTtBQUV4Qjs7QUVyS08sSUFBTSx5QkFBeUI7O0FDaUJ0QyxnQkFBdUIsYUFBYSxDQUFDLFFBQTRDO0FBQUEsRUFDL0UsSUFBSSxXQUFXO0FBQUEsRUFFZixpQkFBaUIsU0FBUyxRQUFRO0FBQUEsSUFDaEMsWUFBWTtBQUFBLElBQ1osSUFBSTtBQUFBLElBR0osUUFBUSxXQUFXLFNBQVMsUUFBUTtBQUFBLENBQUksTUFBTSxHQUFHO0FBQUEsTUFFL0MsTUFBTSxPQUFPLFNBQVMsTUFBTSxHQUFHLFdBQVcsQ0FBQztBQUFBLE1BQzNDLE1BQU0sTUFBTSxLQUFLLEtBQUs7QUFBQSxNQUN0QixXQUFXLFNBQVMsTUFBTSxXQUFXLENBQUM7QUFBQSxJQUN4QztBQUFBLEVBQ0Y7QUFBQSxFQUVBLElBQUksU0FBUyxTQUFTLEdBQUc7QUFBQSxJQUN2QixNQUFNO0FBQUEsRUFDUjtBQUFBOztBQ25DSyxJQUFNLG9CQUFvQixDQUFDLFVBQTBDLFVBQVUsUUFBUSxVQUFVO0FBRWpHLFNBQVMsd0JBQXdCLENBQUMsT0FBK0M7QUFBQSxFQUN0RixPQUFPLFVBQVUsYUFBYSxVQUFVLFFBQVEsVUFBVSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUssTUFBTTtBQUFBOztBQ0d2RixTQUFTLFFBQVEsQ0FBQyxPQUEwQztBQUFBLEVBQ2pFLE9BQU8sT0FBTyxVQUFVLFNBQVMsTUFBTSxLQUFLLE1BQU07QUFBQTs7QUNQN0MsU0FBUyxXQUFXLENBQUMsT0FBeUI7QUFBQSxFQUNuRCxPQUFRLE9BQU8sVUFBVSxZQUFZLE9BQU8sVUFBVSxjQUFlLFVBQVUsUUFBUSxpQkFBaUI7QUFBQTs7QUNEMUc7QUFPTyxTQUFTLFVBQVUsQ0FBQyxPQUFZO0FBQUEsRUFDckMsSUFBSTtBQUFBLElBQ0YsT0FBTyxFQUFFLE9BQU8sSUFBSSxNQUFNLE9BQU8sRUFBRSxhQUFhLFNBQVMsQ0FBQyxFQUFFO0FBQUEsSUFDNUQsT0FBTyxLQUFLO0FBQUEsSUFDWixPQUFPLEVBQUUsSUFBSTtBQUFBO0FBQUE7O0FDWFYsU0FBUyxZQUFZLENBQUMsU0FBaUIsR0FBVztBQUFBLEVBQ3ZELElBQUksU0FBUztBQUFBLEVBQ2IsTUFBTSxhQUFhO0FBQUEsRUFDbkIsTUFBTSxtQkFBbUIsV0FBVztBQUFBLEVBQ3BDLFNBQVMsSUFBSSxFQUFHLElBQUksUUFBUSxLQUFLO0FBQUEsSUFDL0IsVUFBVSxXQUFXLE9BQU8sS0FBSyxNQUFNLEtBQUssT0FBTyxJQUFJLGdCQUFnQixDQUFDO0FBQUEsRUFDMUU7QUFBQSxFQUNBLE9BQU87QUFBQTs7QUNQRixJQUFNLFFBQVEsQ0FBQyxPQUFlLElBQUksUUFBUSxDQUFDLFlBQVksV0FBVyxTQUFTLEVBQUUsQ0FBQzs7QUNpQzlFLFNBQVMsUUFBNEIsQ0FBQyxJQUEyQjtBQUFBLEVBQ3RFLElBQUk7QUFBQSxJQUNGLE1BQU0sT0FBTyxHQUFHO0FBQUEsSUFDaEIsT0FBTyxDQUFDLE1BQVcsU0FBUztBQUFBLElBQzVCLE9BQU8sT0FBTztBQUFBLElBQ2QsT0FBTyxDQUFDLFdBQVcsS0FBVTtBQUFBO0FBQUE7QUFvQmpDLGVBQXNCLGFBQWlDLENBQUMsU0FBMEM7QUFBQSxFQUNoRyxJQUFJO0FBQUEsSUFDRixNQUFNLE9BQU8sTUFBTTtBQUFBLElBQ25CLE9BQU8sQ0FBQyxNQUFXLFNBQVM7QUFBQSxJQUM1QixPQUFPLE9BQU87QUFBQSxJQUNkLE9BQU8sQ0FBQyxXQUFXLEtBQVU7QUFBQTtBQUFBOyIsCiAgImRlYnVnSWQiOiAiMjMyOUFDQ0QwMEQwQzk5OTY0NzU2RTIxNjQ3NTZFMjEiLAogICJuYW1lcyI6IFtdCn0=
216
+ //# debugId=8E80E79AD07BAD6A64756E2164756E21
217
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2NhY2hlL2NhY2hlU2VydmljZS50cyIsICIuLi9zcmMvdXRpbHMvaXNDYWxsYWJsZS50cyIsICIuLi9zcmMvY2FjaGUvY29uc3RhbnRzLnRzIiwgIi4uL3NyYy91dGlscy9jaHVua3NUb0xpbmVzLnRzIiwgIi4uL3NyYy91dGlscy9pc051bGxPclVuZGVmaW5lZC50cyIsICIuLi9zcmMvdXRpbHMvaXNPYmplY3QudHMiLCAiLi4vc3JjL3V0aWxzL2lzUHJpbWl0aXZlLnRzIiwgIi4uL3NyYy91dGlscy9qc29uUGFyc2VyLnRzIiwgIi4uL3NyYy91dGlscy9yYW5kb21TdHJpbmcudHMiLCAiLi4vc3JjL3V0aWxzL3NsZWVwLnRzIiwgIi4uL3NyYy9uZXZlcnRocm93L3RyeUNhdGNoLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWwogICAgImltcG9ydCB7IGlzUHJvbWlzZSB9IGZyb20gXCJub2RlOnV0aWwvdHlwZXNcIjtcbmltcG9ydCB7IGlzQ2FsbGFibGUgfSBmcm9tIFwiLi4vdXRpbHMvaXNDYWxsYWJsZS50c1wiO1xuaW1wb3J0IHR5cGUgeyBDYWNoZU1ldGFkYXRhT3B0aW9ucywgQ2FjaGVPcHRpb25zLCBDYWNoZVdpdGhNZXRhZGF0YSwgVmFsdWVMb2FkZXIgfSBmcm9tIFwiLi9pbnRlcm5hbC90eXBlcy50c1wiO1xuaW1wb3J0IHR5cGUgeyBDYWNoZU1ldGFkYXRhLCBJQ2FjaGVBZGFwdGVyIH0gZnJvbSBcIi4vdHlwZXMudHNcIjtcblxuY29uc3QgZGVmYXVsdENhY2hlT3B0aW9uczogQ2FjaGVPcHRpb25zID0ge1xuICBleHBpcmF0aW9uVGhyZXNob2xkTXM6IDAsXG4gIHR0bE1zOiA2MCAqIDYwICogMTAwMCxcbn07XG5cbmV4cG9ydCBjbGFzcyBDYWNoZTxUQWRhcHRlciBleHRlbmRzIElDYWNoZUFkYXB0ZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+IHtcbiAgcHJpdmF0ZSBpbk1lbW9yeUNhY2hlOiBNYXA8c3RyaW5nLCBDYWNoZVdpdGhNZXRhZGF0YT4gPSBuZXcgTWFwKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQ2FjaGVPcHRpb25zO1xuICBwcml2YXRlIHJlYWRvbmx5IGFkYXB0ZXI/OiBUQWRhcHRlcjtcblxuICBjb25zdHJ1Y3RvcihkZWZhdWx0T3B0aW9ucz86IFBhcnRpYWw8Q2FjaGVPcHRpb25zPik7XG4gIGNvbnN0cnVjdG9yKGFkYXB0ZXI/OiBUQWRhcHRlciwgZGVmYXVsdE9wdGlvbnM/OiBQYXJ0aWFsPENhY2hlT3B0aW9ucz4pO1xuICBjb25zdHJ1Y3RvcihhZGFwdGVyPzogVEFkYXB0ZXIgfCBQYXJ0aWFsPENhY2hlT3B0aW9ucz4sIGRlZmF1bHRPcHRpb25zPzogUGFydGlhbDxDYWNoZU9wdGlvbnM+KSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGFkYXB0ZXIgJiYgIShcImdldFZhbHVlXCIgaW4gYWRhcHRlcikgPyAoYWRhcHRlciBhcyBQYXJ0aWFsPENhY2hlT3B0aW9ucz4pIDogZGVmYXVsdE9wdGlvbnM7XG4gICAgaWYgKGFkYXB0ZXIgJiYgXCJnZXRWYWx1ZVwiIGluIGFkYXB0ZXIgJiYgXCJzZXRWYWx1ZVwiIGluIGFkYXB0ZXIpIHtcbiAgICAgIHRoaXMuYWRhcHRlciA9IGFkYXB0ZXIgYXMgVEFkYXB0ZXI7XG4gICAgfVxuXG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgLi4uZGVmYXVsdENhY2hlT3B0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0RnJvbUFkYXB0ZXI8VD4oY2FjaGVLZXk6IHN0cmluZyk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5hZGFwdGVyKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuZ2V0VmFsdWUoY2FjaGVLZXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzYXZlVG9BZGFwdGVyPFQ+KGNhY2hlS2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmFkYXB0ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyLnNldFZhbHVlPFQ+KGNhY2hlS2V5LCB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0PFQ+KFxuICAgIGNhY2hlS2V5OiBzdHJpbmcsXG4gICAgdmFsdWVMb2FkZXI/OiBWYWx1ZUxvYWRlcjxUPixcbiAgICBvcHRpb25zOiBQYXJ0aWFsPENhY2hlTWV0YWRhdGFPcHRpb25zPiA9IHt9LFxuICApOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBtZXJnZWRPcHRpb25zID0gdGhpcy5tZXJnZU9wdGlvbnMob3B0aW9ucyk7XG5cbiAgICAvLyBUcnkgaW4tbWVtb3J5IGNhY2hlIGZpcnN0XG4gICAgY29uc3QgY2FjaGVkVmFsdWUgPSB0aGlzLnRyeUdldEZyb21NZW1vcnk8VD4oY2FjaGVLZXkpO1xuICAgIGlmIChjYWNoZWRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gY2FjaGVkVmFsdWU7XG4gICAgfVxuXG4gICAgLy8gTG9hZCBmcmVzaCB2YWx1ZSBmcm9tIGxvYWRlciBmdW5jdGlvbiBmaXJzdFxuICAgIGNvbnN0IGZyZXNoVmFsdWUgPSBhd2FpdCB0aGlzLnRyeUdldEZyb21WYWx1ZUxvYWRlcih2YWx1ZUxvYWRlcik7XG4gICAgaWYgKGZyZXNoVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgYXdhaXQgdGhpcy5jYWNoZVZhbHVlKGNhY2hlS2V5LCBmcmVzaFZhbHVlLCBtZXJnZWRPcHRpb25zKTtcblxuICAgICAgcmV0dXJuIGZyZXNoVmFsdWU7XG4gICAgfVxuXG4gICAgLy8gVHJ5IGFkYXB0ZXIgY2FjaGUgc2Vjb25kXG4gICAgY29uc3QgYWRhcHRlclZhbHVlID0gYXdhaXQgdGhpcy50cnlHZXRGcm9tQWRhcHRlcjxUPihjYWNoZUtleSk7XG4gICAgaWYgKGFkYXB0ZXJWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhd2FpdCB0aGlzLmNhY2hlVmFsdWUoY2FjaGVLZXksIGFkYXB0ZXJWYWx1ZSwgbWVyZ2VkT3B0aW9ucyk7XG5cbiAgICAgIHJldHVybiBhZGFwdGVyVmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtZXJnZU9wdGlvbnMob3B0aW9uczogUGFydGlhbDxDYWNoZU1ldGFkYXRhT3B0aW9ucz4pOiBDYWNoZU1ldGFkYXRhT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR0bE1zOiB0aGlzLm9wdGlvbnMudHRsTXMsXG4gICAgICBleHBpcmF0aW9uVGhyZXNob2xkTXM6IHRoaXMub3B0aW9ucy5leHBpcmF0aW9uVGhyZXNob2xkTXMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHRyeUdldEZyb21NZW1vcnk8VD4oY2FjaGVLZXk6IHN0cmluZyk6IFQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMuaW5NZW1vcnlDYWNoZS5nZXQoY2FjaGVLZXkpO1xuXG4gICAgaWYgKGNhY2hlZCAmJiAhdGhpcy5pc0V4cGlyZWQoY2FjaGVkLm1ldGFkYXRhKSkge1xuICAgICAgcmV0dXJuIGNhY2hlZC5kYXRhIGFzIFQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdHJ5R2V0RnJvbUFkYXB0ZXI8VD4oY2FjaGVLZXk6IHN0cmluZyk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGNhY2hlZCA9IGF3YWl0IHRoaXMuZ2V0RnJvbUFkYXB0ZXI8Q2FjaGVXaXRoTWV0YWRhdGE8VD4+KGNhY2hlS2V5KTtcblxuICAgIGlmIChjYWNoZWQgJiYgIXRoaXMuaXNFeHBpcmVkKGNhY2hlZC5tZXRhZGF0YSkpIHtcbiAgICAgIHRoaXMuaW5NZW1vcnlDYWNoZS5zZXQoY2FjaGVLZXksIGNhY2hlZCk7XG4gICAgICByZXR1cm4gY2FjaGVkLmRhdGE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdHJ5R2V0RnJvbVZhbHVlTG9hZGVyPFQ+KHZhbHVlTG9hZGVyPzogVmFsdWVMb2FkZXI8VD4pOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAodmFsdWVMb2FkZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoaXNDYWxsYWJsZSh2YWx1ZUxvYWRlcikpIHtcbiAgICAgIHJldHVybiBhd2FpdCB2YWx1ZUxvYWRlcigpO1xuICAgIH1cblxuICAgIGlmIChpc1Byb21pc2UodmFsdWVMb2FkZXIpKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdmFsdWVMb2FkZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlTG9hZGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjYWNoZVZhbHVlPFQ+KGNhY2hlS2V5OiBzdHJpbmcsIHZhbHVlOiBULCBvcHRpb25zOiBDYWNoZU1ldGFkYXRhT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNhY2hlRGF0YSA9IHRoaXMuY3JlYXRlQ2FjaGVFbnRyeSh2YWx1ZSwgb3B0aW9ucyk7XG5cbiAgICBhd2FpdCB0aGlzLnNhdmVUb0FkYXB0ZXIoY2FjaGVLZXksIGNhY2hlRGF0YSk7XG4gICAgdGhpcy5pbk1lbW9yeUNhY2hlLnNldChjYWNoZUtleSwgY2FjaGVEYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ2FjaGVFbnRyeTxUPih2YWx1ZTogVCwgb3B0aW9uczogQ2FjaGVNZXRhZGF0YU9wdGlvbnMpOiBDYWNoZVdpdGhNZXRhZGF0YTxUPiB7XG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgICBsZXQgZXhwaXJlc0F0OiBudW1iZXI7XG4gICAgaWYgKG9wdGlvbnMudHRsTXMgPCAwKSB7XG4gICAgICBleHBpcmVzQXQgPSAtMTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXhwaXJlc0F0ID0gbm93ICsgb3B0aW9ucy50dGxNcyAtIG9wdGlvbnMuZXhwaXJhdGlvblRocmVzaG9sZE1zO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiB2YWx1ZSxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIGNyZWF0ZWRBdDogbm93LFxuICAgICAgICB0dGxNczogb3B0aW9ucy50dGxNcyxcbiAgICAgICAgZXhwaXJhdGlvblRocmVzaG9sZE1zOiBvcHRpb25zLmV4cGlyYXRpb25UaHJlc2hvbGRNcyxcbiAgICAgICAgZXhwaXJlc0F0LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBpc0V4cGlyZWQobWV0YWRhdGE/OiBDYWNoZU1ldGFkYXRhKTogYm9vbGVhbiB7XG4gICAgaWYgKCFtZXRhZGF0YSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKG1ldGFkYXRhLmV4cGlyZXNBdCA8IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBleHBpcmF0aW9uVGltZSA9XG4gICAgICBtZXRhZGF0YS5leHBpcmVzQXQgPz8gKG1ldGFkYXRhLmNyZWF0ZWRBdCAmJiBtZXRhZGF0YS50dGxNcyA/IG1ldGFkYXRhLmNyZWF0ZWRBdCArIG1ldGFkYXRhLnR0bE1zIDogdW5kZWZpbmVkKTtcblxuICAgIGlmIChleHBpcmF0aW9uVGltZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gRGF0ZS5ub3coKSA+IGV4cGlyYXRpb25UaW1lO1xuICB9XG59XG4iLAogICAgImV4cG9ydCBmdW5jdGlvbiBpc0NhbGxhYmxlKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBDYWxsYWJsZUZ1bmN0aW9uIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiO1xufVxuIiwKICAgICJleHBvcnQgY29uc3QgQ0FDSEVfVFRMX05FVkVSX0VYUElSRSA9IC0xO1xuIiwKICAgICIvKipcbiAqIENvbnZlcnRzIGFuIGFzeW5jIGl0ZXJhYmxlIG9mIHN0cmluZyBvciBVaW50OEFycmF5IGNodW5rcyBpbnRvIGFuIGFzeW5jIGl0ZXJhYmxlIG9mIGxpbmVzLlxuICogSGFuZGxlcyBjYXNlcyB3aGVyZSBsaW5lcyBtYXkgYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIGNodW5rcy5cbiAqIFVzYWdlOlxuICogYGBgdHNcbiAqIGltcG9ydCB7IHBpcGVsaW5lIH0gZnJvbSBcIm5vZGU6c3RyZWFtL3Byb21pc2VzXCI7XG4gKiBpbXBvcnQgeyBjcmVhdGVSZWFkU3RyZWFtIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbiAqIGltcG9ydCB7IHN0cmVhbVRvTGluZXMgfSBmcm9tIFwiQGx1a2Fza2ovdHMtdXRpbHNcIjtcbiAqXG4gKiBhc3luYyBmdW5jdGlvbiBwcm9jZXNzTGluZShjaHVuazogQXN5bmNJdGVyYWJsZTxzdHJpbmc+KSB7XG4gKiAgIGZvciBhd2FpdCAoY29uc3QgbGluZSBvZiBjaHVuaykge1xuICogICAgIGNvbnNvbGUubG9nKGxpbmUpO1xuICogICAgIHlpZWxkIGxpbmU7XG4gKiAgIH1cbiAqIH1cbiAqIGNvbnN0IHJlYWRTdHJlYW0gPSBjcmVhdGVSZWFkU3RyZWFtKFwicGF0aC90by9maWxlLnR4dFwiLCB7IGVuY29kaW5nOiBcInV0Zi04XCIgfSk7XG4gKiBhd2FpdCBwaXBlbGluZShyZWFkU3RyZWFtLCBzdHJlYW1Ub0xpbmVzLCBwcm9jZXNzLnN0ZG91dCkuY2F0Y2goKGVycikgPT4ge1xuICogICBjb25zb2xlLmVycm9yKGVycik7XG4gKiAgIHByb2Nlc3MuZXhpdCgxKTtcbiAqIH0pO1xuICogYGBgXG4gKiBAcGFyYW0gY2h1bmtzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiogc3RyZWFtVG9MaW5lcyhjaHVua3M6IEFzeW5jSXRlcmFibGU8c3RyaW5nIHwgVWludDhBcnJheT4pIHtcbiAgbGV0IHByZXZpb3VzID0gXCJcIjtcblxuICBmb3IgYXdhaXQgKGNvbnN0IGNodW5rIG9mIGNodW5rcykge1xuICAgIHByZXZpb3VzICs9IGNodW5rO1xuICAgIGxldCBlb2xJbmRleDogbnVtYmVyO1xuXG4gICAgLy8gYmlvbWUtaWdub3JlIGxpbnQvc3VzcGljaW91cy9ub0Fzc2lnbkluRXhwcmVzc2lvbnM6IFwiZXhwbGFuYXRpb25cIlxuICAgIHdoaWxlICgoZW9sSW5kZXggPSBwcmV2aW91cy5pbmRleE9mKFwiXFxuXCIpKSA+PSAwKSB7XG4gICAgICAvLyB0aGlzIGxpbmUgaW5jbHVkZXMgdGhlIEVPTFxuICAgICAgY29uc3QgbGluZSA9IHByZXZpb3VzLnNsaWNlKDAsIGVvbEluZGV4ICsgMSk7XG4gICAgICB5aWVsZCBsaW5lPy50cmltKCkgPz8gXCJcIjtcbiAgICAgIHByZXZpb3VzID0gcHJldmlvdXMuc2xpY2UoZW9sSW5kZXggKyAxKTtcbiAgICB9XG4gIH1cblxuICBpZiAocHJldmlvdXMubGVuZ3RoID4gMCkge1xuICAgIHlpZWxkIHByZXZpb3VzO1xuICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIHN0cmVhbVRvTGluZXNcbiAqL1xuZXhwb3J0IGNvbnN0IGNodW5rc1RvTGluZXMgPSBzdHJlYW1Ub0xpbmVzO1xuIiwKICAgICJleHBvcnQgY29uc3QgaXNOdWxsT3JVbmRlZmluZWQgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIG51bGwgfCB1bmRlZmluZWQgPT4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZDtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVsbE9yRW1wdHlPclVuZGVmaW5lZCh2YWx1ZT86IGFueSB8IG51bGwpOiB2YWx1ZSBpcyBudWxsIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IFwiXCIgfHwgdmFsdWUudG9TdHJpbmcoKS50cmltKCkgPT09IFwiXCI7XG59XG4iLAogICAgIi8qKlxuICogVHlwZSBndWFyZCB0aGF0IGNoZWNrcyBpZiB0aGUgaW5wdXQgaXMgYSBwbGFpbiBKYXZhU2NyaXB0IG9iamVjdC5cbiAqIEBwYXJhbSB7YW55fSBpbnB1dCAtIFRoZSB2YWx1ZSB0byBjaGVja1xuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGlucHV0IGlzIGEgcGxhaW4gb2JqZWN0LCBmYWxzZSBvdGhlcndpc2VcbiAqIEB0eXBlUGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFR5cGUgZ3VhcmQgbmFycm93cyB0aGUgaW5wdXQgdHlwZSB0byBhIHN0cmluZy1rZXllZCBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KGlucHV0OiBhbnkpOiBpbnB1dCBpcyBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuYXBwbHkoaW5wdXQpID09PSBcIltvYmplY3QgT2JqZWN0XVwiO1xufVxuIiwKICAgICJleHBvcnQgZnVuY3Rpb24gaXNQcmltaXRpdmUodmFsdWU6IHVua25vd24pOiBib29sZWFuIHtcbiAgcmV0dXJuICh0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIHZhbHVlICE9PSBcImZ1bmN0aW9uXCIpIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlIGluc3RhbmNlb2YgRGF0ZTtcbn1cbiIsCiAgICAiaW1wb3J0IHNqcyBmcm9tIFwic2VjdXJlLWpzb24tcGFyc2VcIjtcblxuLyoqXG4gKiBTYWZlbHkgcGFyc2VzIEpTT04gaW5wdXQgdXNpbmcgc2VjdXJlLWpzb24tcGFyc2Ugd2l0aCBwcm90b3R5cGUgcG9sbHV0aW9uIHByb3RlY3Rpb24uXG4gKiBAcGFyYW0ge2FueX0gaW5wdXQgLSBUaGUgaW5wdXQgdG8gYmUgcGFyc2VkIGFzIEpTT05cbiAqIEByZXR1cm5zIHt7IHZhbHVlPzogYW55LCBlcnI/OiBFcnJvciB9fSBBbiBvYmplY3QgY29udGFpbmluZyBlaXRoZXIgdGhlIHBhcnNlZCB2YWx1ZSBvciBhbiBlcnJvciBpZiBwYXJzaW5nIGZhaWxlZFxuICovXG5leHBvcnQgZnVuY3Rpb24ganNvblBhcnNlcihpbnB1dDogYW55KSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHsgdmFsdWU6IHNqcy5wYXJzZShpbnB1dCwgeyBwcm90b0FjdGlvbjogXCJyZW1vdmVcIiB9KSB9O1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICByZXR1cm4geyBlcnIgfTtcbiAgfVxufVxuIiwKICAgICJleHBvcnQgZnVuY3Rpb24gcmFuZG9tU3RyaW5nKGxlbmd0aDogbnVtYmVyID0gNik6IHN0cmluZyB7XG4gIGxldCByZXN1bHQgPSBcIlwiO1xuICBjb25zdCBjaGFyYWN0ZXJzID0gXCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OVwiO1xuICBjb25zdCBjaGFyYWN0ZXJzTGVuZ3RoID0gY2hhcmFjdGVycy5sZW5ndGg7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICByZXN1bHQgKz0gY2hhcmFjdGVycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcmFjdGVyc0xlbmd0aCkpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG4iLAogICAgImV4cG9ydCBjb25zdCBzbGVlcCA9IChtczogbnVtYmVyKSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xuIiwKICAgICIvLyBodHRwczovL2dpc3QuZ2l0aHViLmNvbS90M2RvdGdnL2E0ODZjNGFlNjZkMzJiZjE3YzA5YzczNjA5ZGFjYzViXG4vLyBUeXBlcyBmb3IgdGhlIHJlc3VsdCBvYmplY3Qgd2l0aCBkaXNjcmltaW5hdGVkIHVuaW9uXG4vLyB0eXBlIFN1Y2Nlc3M8VD4gPSB7XG4vLyAgIGRhdGE6IFQ7XG4vLyAgIGVycm9yOiBudWxsO1xuLy8gfTtcblxuLy8gdHlwZSBGYWlsdXJlPEU+ID0ge1xuLy8gICBkYXRhOiBudWxsO1xuLy8gICBlcnJvcjogRTtcbi8vIH07XG5cbi8vIGV4cG9ydCB0eXBlIFJlc3VsdDxULCBFID0gRXJyb3I+ID0gU3VjY2VzczxUPiB8IEZhaWx1cmU8RT47XG5cbmV4cG9ydCB0eXBlIFJlc3VsdDxULCBFPiA9IFt1bmRlZmluZWQsIEVdIHwgW1QsIHVuZGVmaW5lZF07XG5leHBvcnQgdHlwZSBQcm9taXNlUmVzdWx0PFQsIEU+ID0gUHJvbWlzZTxSZXN1bHQ8VCwgRT4+O1xuXG4vKipcbiAqIFdyYXBzIGEgc3luY2hyb25vdXMgZnVuY3Rpb24gaW4gYSB0cnktY2F0Y2ggYmxvY2sgYW5kIHJldHVybnMgYSBSZXN1bHQgdHVwbGUgY29udGFpbmluZyBlaXRoZXIgdGhlIHJldHVybmVkIHZhbHVlIG9yIHRoZSBjYXVnaHQgZXJyb3JcbiAqXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSB0eXBlIG9mIHRoZSBzdWNjZXNzZnVsIHJlc3VsdCB2YWx1ZVxuICogQHRlbXBsYXRlIEUgLSBUaGUgdHlwZSBvZiB0aGUgZXJyb3IgdmFsdWUsIG11c3QgZXh0ZW5kIEVycm9yXG4gKiBAcGFyYW0geygpID0+IFR9IGZuIC0gVGhlIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkXG4gKiBAcmV0dXJucyB7UmVzdWx0PFQsIEU+fSBBIHR1cGxlIGNvbnRhaW5pbmcgZWl0aGVyIFtkYXRhLCB1bmRlZmluZWRdIG9yIFt1bmRlZmluZWQsIGVycm9yXVxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBbZGF0YSwgZXJyb3JdID0gdHJ5Q2F0Y2goKCkgPT4gc29tZVJpc2t5T3BlcmF0aW9uKCkpO1xuICogaWYgKGVycm9yKSB7XG4gKiAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICogfSBlbHNlIHtcbiAqICAgY29uc29sZS5sb2coZGF0YSk7XG4gKiB9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cnlDYXRjaDxULCBFIGV4dGVuZHMgRXJyb3I+KGZuOiAoKSA9PiBUKTogUmVzdWx0PFQsIEU+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBkYXRhID0gZm4oKTtcbiAgICByZXR1cm4gW2RhdGEgYXMgVCwgdW5kZWZpbmVkXTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4gW3VuZGVmaW5lZCwgZXJyb3IgYXMgRV07XG4gIH1cbn1cblxuLyoqXG4gKiBXcmFwcyBhIFByb21pc2UgaW4gYSB0cnktY2F0Y2ggYmxvY2sgYW5kIHJldHVybnMgYSBSZXN1bHQgb2JqZWN0IGNvbnRhaW5pbmcgZWl0aGVyIHRoZSByZXNvbHZlZCBkYXRhIG9yIHRoZSBjYXVnaHQgZXJyb3JcbiAqXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSB0eXBlIG9mIHRoZSBzdWNjZXNzZnVsIHJlc3VsdCB2YWx1ZVxuICogQHRlbXBsYXRlIEUgLSBUaGUgdHlwZSBvZiB0aGUgZXJyb3IgdmFsdWUsIGRlZmF1bHRzIHRvIEVycm9yXG4gKiBAcGFyYW0ge1Byb21pc2U8VD59IHByb21pc2UgLSBUaGUgcHJvbWlzZSB0byBiZSBleGVjdXRlZFxuICogQHJldHVybnMge1Byb21pc2U8UmVzdWx0PFQsIEU+Pn0gQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBSZXN1bHQgb2JqZWN0IGNvbnRhaW5pbmcgZWl0aGVyIHRoZSBkYXRhIG9yIGVycm9yXG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHtkYXRhLCBlcnJvcn0gPSBhd2FpdCB0cnlDYXRjaEFzeW5jKHNvbWVQcm9taXNlKTtcbiAqIGlmIChlcnJvcikge1xuICogICBjb25zb2xlLmVycm9yKHJlc3VsdC5lcnJvcik7XG4gKiB9IGVsc2Uge1xuICogICBjb25zb2xlLmxvZyhkYXRhKTtcbiAqIH1cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRyeUNhdGNoQXN5bmM8VCwgRSBleHRlbmRzIEVycm9yPihwcm9taXNlOiBQcm9taXNlPFQ+KTogUHJvbWlzZVJlc3VsdDxULCBFPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHByb21pc2U7XG4gICAgcmV0dXJuIFtkYXRhIGFzIFQsIHVuZGVmaW5lZF07XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIFt1bmRlZmluZWQsIGVycm9yIGFzIEVdO1xuICB9XG59XG4iCiAgXSwKICAibWFwcGluZ3MiOiAiO0FBQUE7OztBQ0FPLFNBQVMsVUFBVSxDQUFDLE9BQXVDO0FBQUEsRUFDaEUsT0FBTyxPQUFPLFVBQVU7QUFBQTs7O0FESTFCLElBQU0sc0JBQW9DO0FBQUEsRUFDeEMsdUJBQXVCO0FBQUEsRUFDdkIsT0FBTyxLQUFLLEtBQUs7QUFDbkI7QUFBQTtBQUVPLE1BQU0sTUFBOEQ7QUFBQSxFQUNqRSxnQkFBZ0QsSUFBSTtBQUFBLEVBQzNDO0FBQUEsRUFDQTtBQUFBLEVBSWpCLFdBQVcsQ0FBQyxTQUE0QyxnQkFBd0M7QUFBQSxJQUM5RixNQUFNLFVBQVUsV0FBVyxFQUFFLGNBQWMsV0FBWSxVQUFvQztBQUFBLElBQzNGLElBQUksV0FBVyxjQUFjLFdBQVcsY0FBYyxTQUFTO0FBQUEsTUFDN0QsS0FBSyxVQUFVO0FBQUEsSUFDakI7QUFBQSxJQUVBLEtBQUssVUFBVTtBQUFBLFNBQ1Y7QUFBQSxTQUNBO0FBQUEsSUFDTDtBQUFBO0FBQUEsT0FHWSxlQUFpQixDQUFDLFVBQTBDO0FBQUEsSUFDeEUsSUFBSSxDQUFDLEtBQUssU0FBUztBQUFBLE1BQ2pCO0FBQUEsSUFDRjtBQUFBLElBRUEsT0FBTyxLQUFLLFFBQVEsU0FBUyxRQUFRO0FBQUE7QUFBQSxPQUd6QixjQUFnQixDQUFDLFVBQWtCLE9BQXlCO0FBQUEsSUFDeEUsSUFBSSxDQUFDLEtBQUssU0FBUztBQUFBLE1BQ2pCO0FBQUEsSUFDRjtBQUFBLElBRUEsT0FBTyxLQUFLLFFBQVEsU0FBWSxVQUFVLEtBQUs7QUFBQTtBQUFBLE9BR3BDLElBQU0sQ0FDakIsVUFDQSxhQUNBLFVBQXlDLENBQUMsR0FDbEI7QUFBQSxJQUN4QixNQUFN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LFNBQVMsQ0FBQyxFQUFFO0FBQUEsSUFDNUQsT0FBTyxLQUFLO0FBQUEsSUFDWixPQUFPLEVBQUUsSUFBSTtBQUFBO0FBQUE7O0FDWFYsU0FBUyxZQUFZLENBQUMsU0FBaUIsR0FBVztBQUFBLEVBQ3ZELElBQUksU0FBUztBQUFBLEVBQ2IsTUFBTSxhQUFhO0FBQUEsRUFDbkIsTUFBTSxtQkFBbUIsV0FBVztBQUFBLEVBQ3BDLFNBQVMsSUFBSSxFQUFHLElBQUksUUFBUSxLQUFLO0FBQUEsSUFDL0IsVUFBVSxXQUFXLE9BQU8sS0FBSyxNQUFNLEtBQUssT0FBTyxJQUFJLGdCQUFnQixDQUFDO0FBQUEsRUFDMUU7QUFBQSxFQUNBLE9BQU87QUFBQTs7QUNQRixJQUFNLFFBQVEsQ0FBQyxPQUFlLElBQUksUUFBUSxDQUFDLFlBQVksV0FBVyxTQUFTLEVBQUUsQ0FBQzs7QUNpQzlFLFNBQVMsUUFBNEIsQ0FBQyxJQUEyQjtBQUFBLEVBQ3RFLElBQUk7QUFBQSxJQUNGLE1BQU0sT0FBTyxHQUFHO0FBQUEsSUFDaEIsT0FBTyxDQUFDLE1BQVcsU0FBUztBQUFBLElBQzVCLE9BQU8sT0FBTztBQUFBLElBQ2QsT0FBTyxDQUFDLFdBQVcsS0FBVTtBQUFBO0FBQUE7QUFvQmpDLGVBQXNCLGFBQWlDLENBQUMsU0FBMEM7QUFBQSxFQUNoRyxJQUFJO0FBQUEsSUFDRixNQUFNLE9BQU8sTUFBTTtBQUFBLElBQ25CLE9BQU8sQ0FBQyxNQUFXLFNBQVM7QUFBQSxJQUM1QixPQUFPLE9BQU87QUFBQSxJQUNkLE9BQU8sQ0FBQyxXQUFXLEtBQVU7QUFBQTtBQUFBOyIsCiAgImRlYnVnSWQiOiAiOEU4MEU3OUFEMDdCQUQ2QTY0NzU2RTIxNjQ3NTZFMjEiLAogICJuYW1lcyI6IFtdCn0=
@@ -5,14 +5,24 @@
5
5
  * ```ts
6
6
  * import { pipeline } from "node:stream/promises";
7
7
  * import { createReadStream } from "node:fs";
8
- * import { chunksToLines } from "@lukaskj/ts-utils";
8
+ * import { streamToLines } from "@lukaskj/ts-utils";
9
9
  *
10
+ * async function processLine(chunk: AsyncIterable<string>) {
11
+ * for await (const line of chunk) {
12
+ * console.log(line);
13
+ * yield line;
14
+ * }
15
+ * }
10
16
  * const readStream = createReadStream("path/to/file.txt", { encoding: "utf-8" });
11
- * await pipeline(readStream, chunksToLines, process.stdout).catch((err) => {
17
+ * await pipeline(readStream, streamToLines, process.stdout).catch((err) => {
12
18
  * console.error(err);
13
19
  * process.exit(1);
14
20
  * });
15
21
  * ```
16
22
  * @param chunks
17
23
  */
18
- export declare function chunksToLines(chunks: AsyncIterable<string | Uint8Array>): AsyncGenerator<string, void, unknown>;
24
+ export declare function streamToLines(chunks: AsyncIterable<string | Uint8Array>): AsyncGenerator<string, void, unknown>;
25
+ /**
26
+ * @deprecated use streamToLines
27
+ */
28
+ export declare const chunksToLines: typeof streamToLines;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lukaskj/ts-utils",
3
- "version": "1.0.3",
3
+ "version": "1.2.0",
4
4
  "module": "src/index.ts",
5
5
  "type": "module",
6
6
  "scripts": {