@mecanizou/telemetry-hub 1.3.9 → 1.3.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [1.3.10](https://github.com/mecanizou-eco/telemetry-hub/compare/v1.3.9...v1.3.10) (2026-01-22)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * remove unecessary fields ([58b0a3f](https://github.com/mecanizou-eco/telemetry-hub/commit/58b0a3f0eec21804eb0ff4beddae5b58eb38ec4e))
7
+
1
8
  ## [1.3.9](https://github.com/mecanizou-eco/telemetry-hub/compare/v1.3.8...v1.3.9) (2026-01-21)
2
9
 
3
10
 
@@ -3,4 +3,4 @@ export { IStandardLogger, StandardLogData } from './logger-types';
3
3
  export { StandardTracer } from './tracer';
4
4
  export { IStandardTracer, StandardTraceData, StandardSpanResult, } from './tracer-types';
5
5
  export { getEnvironmentStage } from './environment';
6
- export { extractHttpAttributes } from './extraction';
6
+ export { extractHttpAttributes as sstExtractHttpAttributes, extractDefaultAttributes as sstExtractDefaultAttributes, extractLoggedUser as sstExtractLoggedUser, } from './extraction';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractHttpAttributes = exports.getEnvironmentStage = exports.StandardTracer = exports.StandardLogger = void 0;
3
+ exports.sstExtractLoggedUser = exports.sstExtractDefaultAttributes = exports.sstExtractHttpAttributes = exports.getEnvironmentStage = exports.StandardTracer = exports.StandardLogger = void 0;
4
4
  var logger_1 = require("./logger");
5
5
  Object.defineProperty(exports, "StandardLogger", { enumerable: true, get: function () { return logger_1.StandardLogger; } });
6
6
  var tracer_1 = require("./tracer");
@@ -8,5 +8,7 @@ Object.defineProperty(exports, "StandardTracer", { enumerable: true, get: functi
8
8
  var environment_1 = require("./environment");
9
9
  Object.defineProperty(exports, "getEnvironmentStage", { enumerable: true, get: function () { return environment_1.getEnvironmentStage; } });
10
10
  var extraction_1 = require("./extraction");
11
- Object.defineProperty(exports, "extractHttpAttributes", { enumerable: true, get: function () { return extraction_1.extractHttpAttributes; } });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBMEM7QUFBakMsd0dBQUEsY0FBYyxPQUFBO0FBRXZCLG1DQUEwQztBQUFqQyx3R0FBQSxjQUFjLE9BQUE7QUFPdkIsNkNBQW9EO0FBQTNDLGtIQUFBLG1CQUFtQixPQUFBO0FBQzVCLDJDQUFxRDtBQUE1QyxtSEFBQSxxQkFBcUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFN0YW5kYXJkTG9nZ2VyIH0gZnJvbSAnLi9sb2dnZXInO1xuZXhwb3J0IHsgSVN0YW5kYXJkTG9nZ2VyLCBTdGFuZGFyZExvZ0RhdGEgfSBmcm9tICcuL2xvZ2dlci10eXBlcyc7XG5leHBvcnQgeyBTdGFuZGFyZFRyYWNlciB9IGZyb20gJy4vdHJhY2VyJztcbmV4cG9ydCB7XG4gIElTdGFuZGFyZFRyYWNlcixcbiAgU3RhbmRhcmRUcmFjZURhdGEsXG4gIFN0YW5kYXJkU3BhblJlc3VsdCxcbn0gZnJvbSAnLi90cmFjZXItdHlwZXMnO1xuXG5leHBvcnQgeyBnZXRFbnZpcm9ubWVudFN0YWdlIH0gZnJvbSAnLi9lbnZpcm9ubWVudCc7XG5leHBvcnQgeyBleHRyYWN0SHR0cEF0dHJpYnV0ZXMgfSBmcm9tICcuL2V4dHJhY3Rpb24nO1xuIl19
11
+ Object.defineProperty(exports, "sstExtractHttpAttributes", { enumerable: true, get: function () { return extraction_1.extractHttpAttributes; } });
12
+ Object.defineProperty(exports, "sstExtractDefaultAttributes", { enumerable: true, get: function () { return extraction_1.extractDefaultAttributes; } });
13
+ Object.defineProperty(exports, "sstExtractLoggedUser", { enumerable: true, get: function () { return extraction_1.extractLoggedUser; } });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBMEM7QUFBakMsd0dBQUEsY0FBYyxPQUFBO0FBRXZCLG1DQUEwQztBQUFqQyx3R0FBQSxjQUFjLE9BQUE7QUFPdkIsNkNBQW9EO0FBQTNDLGtIQUFBLG1CQUFtQixPQUFBO0FBQzVCLDJDQUlzQjtBQUhwQixzSEFBQSxxQkFBcUIsT0FBNEI7QUFDakQseUhBQUEsd0JBQXdCLE9BQStCO0FBQ3ZELGtIQUFBLGlCQUFpQixPQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFN0YW5kYXJkTG9nZ2VyIH0gZnJvbSAnLi9sb2dnZXInO1xuZXhwb3J0IHsgSVN0YW5kYXJkTG9nZ2VyLCBTdGFuZGFyZExvZ0RhdGEgfSBmcm9tICcuL2xvZ2dlci10eXBlcyc7XG5leHBvcnQgeyBTdGFuZGFyZFRyYWNlciB9IGZyb20gJy4vdHJhY2VyJztcbmV4cG9ydCB7XG4gIElTdGFuZGFyZFRyYWNlcixcbiAgU3RhbmRhcmRUcmFjZURhdGEsXG4gIFN0YW5kYXJkU3BhblJlc3VsdCxcbn0gZnJvbSAnLi90cmFjZXItdHlwZXMnO1xuXG5leHBvcnQgeyBnZXRFbnZpcm9ubWVudFN0YWdlIH0gZnJvbSAnLi9lbnZpcm9ubWVudCc7XG5leHBvcnQge1xuICBleHRyYWN0SHR0cEF0dHJpYnV0ZXMgYXMgc3N0RXh0cmFjdEh0dHBBdHRyaWJ1dGVzLFxuICBleHRyYWN0RGVmYXVsdEF0dHJpYnV0ZXMgYXMgc3N0RXh0cmFjdERlZmF1bHRBdHRyaWJ1dGVzLFxuICBleHRyYWN0TG9nZ2VkVXNlciBhcyBzc3RFeHRyYWN0TG9nZ2VkVXNlcixcbn0gZnJvbSAnLi9leHRyYWN0aW9uJztcbiJdfQ==
@@ -16,24 +16,15 @@ const telemetry_1 = require("../telemetry");
16
16
  const extraction_1 = require("../../core/extraction");
17
17
  const middyTelemetryMiddleware = (options) => ({
18
18
  before: (request) => __awaiter(void 0, void 0, void 0, function* () {
19
- var _a, _b, _c, _d;
20
19
  try {
21
20
  const startTime = perf_hooks_1.performance.now();
22
21
  const attributes = (0, extraction_1.extractDefaultAttributes)(request);
23
22
  const standardTracer = (0, telemetry_1.getStandardTracer)();
24
23
  const spanResult = standardTracer.startSpan(Object.assign(Object.assign({}, attributes), { spanName: attributes.functionName, environment: attributes.stage, execution: {
25
- function: {
26
- name: attributes.functionName,
27
- invocationId: attributes.invocationId,
28
- },
29
24
  awsRequestId: attributes.invocationId,
30
25
  origin: attributes.origin,
31
26
  routeKey: attributes.routeKey,
32
27
  requestId: attributes.requestId,
33
- loggedUser: {
34
- email: (_a = attributes['user']) === null || _a === void 0 ? void 0 : _a['email'],
35
- uid: (_b = attributes['user']) === null || _b === void 0 ? void 0 : _b['uid'],
36
- },
37
28
  } }));
38
29
  const meter = api_1.metrics.getMeter(attributes.origin);
39
30
  const executionTimeHistogram = meter.createHistogram('lambda_execution_duration', {
@@ -59,10 +50,6 @@ const middyTelemetryMiddleware = (options) => ({
59
50
  origin: attributes.origin,
60
51
  routeKey: attributes.routeKey,
61
52
  requestId: attributes.requestId,
62
- loggedUser: {
63
- email: (_c = attributes['user']) === null || _c === void 0 ? void 0 : _c['email'],
64
- uid: (_d = attributes['user']) === null || _d === void 0 ? void 0 : _d['uid'],
65
- },
66
53
  };
67
54
  }
68
55
  catch (error) {
@@ -70,7 +57,7 @@ const middyTelemetryMiddleware = (options) => ({
70
57
  }
71
58
  }),
72
59
  after: (request) => __awaiter(void 0, void 0, void 0, function* () {
73
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
60
+ var _a, _b, _c, _d, _e, _f;
74
61
  try {
75
62
  const otelData = request.context.otel;
76
63
  if (!otelData)
@@ -102,17 +89,9 @@ const middyTelemetryMiddleware = (options) => ({
102
89
  });
103
90
  const standardLogger = (0, telemetry_1.getStandardLogger)(spanResult.span.attributes);
104
91
  yield standardLogger.logInfo(Object.assign(Object.assign({ message: 'Request completed successfully' }, attributes), { execution: {
105
- function: {
106
- name: functionName,
107
- invocationId: (_h = (_g = spanResult.span.attributes) === null || _g === void 0 ? void 0 : _g['function']) === null || _h === void 0 ? void 0 : _h['invocationId'],
108
- },
109
92
  origin,
110
93
  routeKey: routeKey,
111
94
  requestId: requestId,
112
- loggedUser: {
113
- uid: (_k = (_j = spanResult.span.attributes) === null || _j === void 0 ? void 0 : _j['logged_user']) === null || _k === void 0 ? void 0 : _k['uid'],
114
- email: (_m = (_l = spanResult.span.attributes) === null || _l === void 0 ? void 0 : _l['logged_user']) === null || _m === void 0 ? void 0 : _m['email'],
115
- },
116
95
  }, performance: {
117
96
  durationMs,
118
97
  success: true,
@@ -125,7 +104,7 @@ const middyTelemetryMiddleware = (options) => ({
125
104
  }
126
105
  }),
127
106
  onError: (request) => __awaiter(void 0, void 0, void 0, function* () {
128
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
107
+ var _a, _b, _c, _d, _e, _f, _g;
129
108
  try {
130
109
  const otelData = request.context.otel;
131
110
  if (!otelData)
@@ -163,25 +142,17 @@ const middyTelemetryMiddleware = (options) => ({
163
142
  error: error || undefined,
164
143
  environment,
165
144
  execution: {
166
- function: {
167
- name: functionName,
168
- invocationId: (_f = (_e = spanResult.span.attributes) === null || _e === void 0 ? void 0 : _e['function']) === null || _f === void 0 ? void 0 : _f['invocationIid'],
169
- },
170
- awsRequestId: (_h = (_g = spanResult.span.attributes) === null || _g === void 0 ? void 0 : _g['function']) === null || _h === void 0 ? void 0 : _h['aws_request_id'],
145
+ awsRequestId: (_f = (_e = spanResult.span.attributes) === null || _e === void 0 ? void 0 : _e['function']) === null || _f === void 0 ? void 0 : _f['aws_request_id'],
171
146
  origin,
172
147
  routeKey: routeKey,
173
148
  requestId: requestId,
174
- loggedUser: {
175
- uid: (_k = (_j = spanResult.span.attributes) === null || _j === void 0 ? void 0 : _j['logged_user']) === null || _k === void 0 ? void 0 : _k['uid'],
176
- email: (_m = (_l = spanResult.span.attributes) === null || _l === void 0 ? void 0 : _l['logged_user']) === null || _m === void 0 ? void 0 : _m['email'],
177
- },
178
149
  },
179
150
  performance: {
180
151
  durationMs,
181
152
  success: false,
182
153
  },
183
154
  context: {
184
- errorType: (_o = error === null || error === void 0 ? void 0 : error.constructor) === null || _o === void 0 ? void 0 : _o.name,
155
+ errorType: (_g = error === null || error === void 0 ? void 0 : error.constructor) === null || _g === void 0 ? void 0 : _g.name,
185
156
  },
186
157
  });
187
158
  spanResult.end();
@@ -193,4 +164,4 @@ const middyTelemetryMiddleware = (options) => ({
193
164
  }),
194
165
  });
195
166
  exports.middyTelemetryMiddleware = middyTelemetryMiddleware;
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zc3QvbWlkZHkvbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSw0Q0FBd0Q7QUFDeEQsMkNBQXlDO0FBQ3pDLDRDQUFnRjtBQUNoRixzREFBaUU7QUFJMUQsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxPQUFnQyxFQUNYLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sRUFBRSxDQUFPLE9BQU8sRUFBRSxFQUFFOztRQUN4QixJQUFJLENBQUM7WUFDSCxNQUFNLFNBQVMsR0FBRyx3QkFBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBRXBDLE1BQU0sVUFBVSxHQUFHLElBQUEscUNBQXdCLEVBQUMsT0FBTyxDQUFRLENBQUM7WUFHNUQsTUFBTSxjQUFjLEdBQUcsSUFBQSw2QkFBaUIsR0FBRSxDQUFDO1lBQzNDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxTQUFTLGlDQUN0QyxVQUFVLEtBQ2IsUUFBUSxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQ2pDLFdBQVcsRUFBRSxVQUFVLENBQUMsS0FBSyxFQUM3QixTQUFTLEVBQUU7b0JBQ1QsUUFBUSxFQUFFO3dCQUNSLElBQUksRUFBRSxVQUFVLENBQUMsWUFBWTt3QkFDN0IsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO3FCQUN0QztvQkFDRCxZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVk7b0JBQ3JDLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtvQkFDekIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO29CQUM3QixTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVM7b0JBQy9CLFVBQVUsRUFBRTt3QkFDVixLQUFLLEVBQUUsTUFBQSxVQUFVLENBQUMsTUFBTSxDQUFDLDBDQUFHLE9BQU8sQ0FBQzt3QkFDcEMsR0FBRyxFQUFFLE1BQUEsVUFBVSxDQUFDLE1BQU0sQ0FBQywwQ0FBRyxL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SSxDQUFDLFVBQVUsMENBQUcsYUFBYSxDQUFDLDBDQUFHLEtBQUssQ0FBQzt3QkFDekQsS0FBSyxFQUFFLE1BQUEsTUFBQSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsMENBQUcsYUFBYSxDQUFDLDBDQUFHLE9BQU8sQ0FBQztxQkFDOUQ7aUJBQ0Y7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYLFVBQVU7b0JBQ1YsT0FBTyxFQUFFLEtBQUs7aUJBQ2Y7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFNBQVMsRUFBRSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxXQUFXLDBDQUFFLElBQUk7aUJBQ3BDO2FBQ0YsQ0FBQyxDQUFDO1lBR0gsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBQSxzQkFBVSxHQUFFLENBQUM7UUFDckIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLGlEQUFpRCxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUM7QUEvT1UsUUFBQSx3QkFBd0IsNEJBK09sQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtaWRkeSBmcm9tICdAbWlkZHkvY29yZSc7XG5pbXBvcnQgeyBtZXRyaWNzLCBWYWx1ZVR5cGUgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9hcGknO1xuaW1wb3J0IHsgcGVyZm9ybWFuY2UgfSBmcm9tICdwZXJmX2hvb2tzJztcbmltcG9ydCB7IGZvcmNlRmx1c2gsIGdldFN0YW5kYXJkTG9nZ2VyLCBnZXRTdGFuZGFyZFRyYWNlciB9IGZyb20gJy4uL3RlbGVtZXRyeSc7XG5pbXBvcnQgeyBleHRyYWN0RGVmYXVsdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2V4dHJhY3Rpb24nO1xuXG5pbnRlcmZhY2UgTWlkZHlNaWRkbGV3YXJlT3B0aW9ucyB7fVxuXG5leHBvcnQgY29uc3QgbWlkZHlUZWxlbWV0cnlNaWRkbGV3YXJlID0gKFxuICBvcHRpb25zPzogTWlkZHlNaWRkbGV3YXJlT3B0aW9uc1xuKTogbWlkZHkuTWlkZGxld2FyZU9iaiA9PiAoe1xuICBiZWZvcmU6IGFzeW5jIChyZXF1ZXN0KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gZXh0cmFjdERlZmF1bHRBdHRyaWJ1dGVzKHJlcXVlc3QpIGFzIGFueTtcblxuICAgICAgLy8gVXNhciBTdGFuZGFyZFRyYWNlciBwYXJhIGNyaWFyIHNwYW4gY29tIGF0cmlidXRvcyBwYWRyb25pemFkb3NcbiAgICAgIGNvbnN0IHN0YW5kYXJkVHJhY2VyID0gZ2V0U3RhbmRhcmRUcmFjZXIoKTtcbiAgICAgIGNvbnN0IHNwYW5SZXN1bHQgPSBzdGFuZGFyZFRyYWNlci5zdGFydFNwYW4oe1xuICAgICAgICAuLi5hdHRyaWJ1dGVzLFxuICAgICAgICBzcGFuTmFtZTogYXR0cmlidXRlcy5mdW5jdGlvbk5hbWUsXG4gICAgICAgIGVudmlyb25tZW50OiBhdHRyaWJ1dGVzLnN0YWdlLFxuICAgICAgICBleGVjdXRpb246IHtcbiAgICAgICAgICBmdW5jdGlvbjoge1xuICAgICAgICAgICAgbmFtZTogYXR0cmlidXRlcy5mdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICBpbnZvY2F0aW9uSWQ6IGF0dHJpYnV0ZXMuaW52b2NhdGlvbklkLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYXdzUmVxdWVzdElkOiBhdHRyaWJ1dGVzLmludm9jYXRpb25JZCxcbiAgICAgICAgICBvcmlnaW46IGF0dHJpYnV0ZXMub3JpZ2luLFxuICAgICAgICAgIHJvdXRlS2V5OiBhdHRyaWJ1dGVzLnJvdXRlS2V5LFxuICAgICAgICAgIHJlcXVlc3RJZDogYXR0cmlidXRlcy5yZXF1ZXN0SWQsXG4gICAgICAgICAgbG9nZ2VkVXNlcjoge1xuICAgICAgICAgICAgZW1haWw6IGF0dHJpYnV0ZXNbJ3VzZXInXT8uWydlbWFpbCddLFxuICAgICAgICAgICAgdWlkOiBhdHRyaWJ1dGVzWyd1c2VyJ10/LlsndWlkJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBtZXRlciA9IG1ldHJpY3MuZ2V0TWV0ZXIoYXR0cmlidXRlcy5vcmlnaW4pO1xuXG4gICAgICBjb25zdCBleGVjdXRpb25UaW1lSGlzdG9ncmFtID0gbWV0ZXIuY3JlYXRlSGlzdG9ncmFtKFxuICAgICAgICAnbGFtYmRhX2V4ZWN1dGlvbl9kdXJhdGlvbicsXG4gICAgICAgIHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RlbXBvIHRvdGFsIGRlIGV4ZWN1w6fDo28gZG8gTGFtYmRhIGVtIG1zJyxcbiAgICAgICAgICB1bml0OiAnbXMnLFxuICAgICAgICAgIHZhbHVlVHlwZTogVmFsdWVUeXBlLkRPVUJMRSxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIGNvbnN0IHN1Y2Nlc3NDb3VudGVyID0gbWV0ZXIuY3JlYXRlQ291bnRlcigndG90YWxfc3VjY2Vzc2Z1bCcsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdUb3RhbCBkZSBvcGVyYcOnw7VlcyBiZW0tc3VjZWRpZGFzJyxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZmFpbHVyZUNvdW50ZXIgPSBtZXRlci5jcmVhdGVDb3VudGVyKCd0b3RhbF9mYWlsZWQnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVG90YWwgZGUgb3BlcmHDp8O1ZXMgY29tIGZhbGhhJyxcbiAgICAgIH0pO1xuXG4gICAgICAocmVxdWVzdC5jb250ZXh0IGFzIGFueSkub3RlbCA9IHtcbiAgICAgICAgc3BhblJlc3VsdCxcbiAgICAgICAgbWV0ZXIsXG4gICAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0sXG4gICAgICAgIHN1Y2Nlc3NDb3VudGVyLFxuICAgICAgICBmYWlsdXJlQ291bnRlcixcbiAgICAgICAgc3RhcnRUaW1lLFxuICAgICAgICBzZXJ2aWNlTmFtZTogYXR0cmlidXRlcy5zZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnQ6IGF0dHJpYnV0ZXMuc3RhZ2UsXG4gICAgICAgIG9yaWdpbjogYXR0cmlidXRlcy5vcmlnaW4sXG4gICAgICAgIHJvdXRlS2V5OiBhdHRyaWJ1dGVzLnJvdXRlS2V5LFxuICAgICAgICByZXF1ZXN0SWQ6IGF0dHJpYnV0ZXMucmVxdWVzdElkLFxuICAgICAgICBsb2dnZWRVc2VyOiB7XG4gICAgICAgICAgZW1haWw6IGF0dHJpYnV0ZXNbJ3VzZXInXT8uWydlbWFpbCddLFxuICAgICAgICAgIHVpZDogYXR0cmlidXRlc1sndXNlciddPy5bJ3VpZCddLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gbWlkZHlUZWxlbWV0cnlNaWRkbGV3YXJlIGJlZm9yZSBob29rOicsIGVycm9yKTtcbiAgICB9XG4gIH0sXG5cbiAgYWZ0ZXI6IGFzeW5jIChyZXF1ZXN0KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG90ZWxEYXRhID0gKHJlcXVlc3QuY29udGV4dCBhcyBhbnkpLm90ZWw7XG4gICAgICBpZiAoIW90ZWxEYXRhKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHtcbiAgICAgICAgc3BhblJlc3VsdCxcbiAgICAgICAgc3VjY2Vzc0NvdW50ZXIsXG4gICAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0sXG4gICAgICAgIHN0YXJ0VGltZSxcbiAgICAgICAgc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50LFxuICAgICAgfSA9IG90ZWxEYXRhO1xuXG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gZXh0cmFjdERlZmF1bHRBdHRyaWJ1dGVzKHJlcXVlc3QpIGFzIGFueTtcbiAgICAgIGNvbnN0IG9yaWdpbiA9IGF0dHJpYnV0ZXMub3JpZ2luIHx8ICd1bmtub3duJztcblxuICAgICAgLy8gTWFyY2FyIHNwYW4gY29tbyBzdWNlc3NvIHVzYW5kbyBTdGFuZGFyZFRyYWNlclxuICAgICAgc3BhblJlc3VsdC5zZXRTdWNjZXNzKHRydWUpO1xuXG4gICAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmdW5jdGlvbiddPy5bJ25hbWUnXTtcbiAgICAgIGNvbnN0IHJvdXRlS2V5ID0gc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnaHR0cCddPy5bJ3JvdXRlS2V5J107XG4gICAgICBjb25zdCByZXF1ZXN0SWQgPVxuICAgICAgICBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydleGVjdXRpb24nXT8uWydyZXF1ZXN0SWQnXTtcblxuICAgICAgLy8gTcOpdHJpY2FzXG4gICAgICBzdWNjZXNzQ291bnRlci5hZGQoMSwge1xuICAgICAgICBvcmlnaW4sXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25OYW1lLFxuICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgcm91dGVLZXk6IHJvdXRlS2V5LFxuICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50TmFtZTogZW52aXJvbm1lbnQsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgZHVyYXRpb25NcyA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRUaW1lO1xuXG4gICAgICBleGVjdXRpb25UaW1lSGlzdG9ncmFtLnJlY29yZChkdXJhdGlvbk1zLCB7XG4gICAgICAgIG9yaWdpbixcbiAgICAgICAgc3RhdHVzOiAnc3VjY2VzcycsXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25OYW1lLFxuICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgcm91dGVLZXk6IHJvdXRlS2V5LFxuICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50TmFtZTogZW52aXJvbm1lbnQsXG4gICAgICB9KTtcbiAgICAgIC8vIExvZyBlc3RydXR1cmFkbyBkZSBzdWNlc3NvXG4gICAgICBjb25zdCBzdGFuZGFyZExvZ2dlciA9IGdldFN0YW5kYXJkTG9nZ2VyKHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzKTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nSW5mbyh7XG4gICAgICAgIG1lc3NhZ2U6ICdSZXF1ZXN0IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHknLFxuICAgICAgICAuLi5hdHRyaWJ1dGVzLFxuICAgICAgICBleGVjdXRpb246IHtcbiAgICAgICAgICBmdW5jdGlvbjoge1xuICAgICAgICAgICAgbmFtZTogZnVuY3Rpb25OYW1lLFxuICAgICAgICAgICAgaW52b2NhdGlvbklkOlxuICAgICAgICAgICAgICBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmdW5jdGlvbiddPy5bJ2ludm9jYXRpb25JZCddLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgIHJvdXRlS2V5OiByb3V0ZUtleSxcbiAgICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgICBsb2dnZWRVc2VyOiB7XG4gICAgICAgICAgICB1aWQ6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2xvZ2dlZF91c2VyJ10/LlsndWlkJ10sXG4gICAgICAgICAgICBlbWFpbDogc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnbG9nZ2VkX3VzZXInXT8uWydlbWFpbCddLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHBlcmZvcm1hbmNlOiB7XG4gICAgICAgICAgZHVyYXRpb25NcyxcbiAgICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIC8vIEZpbmFsaXphciBzcGFuXG4gICAgICBzcGFuUmVzdWx0LmVuZCgpO1xuICAgICAgYXdhaXQgZm9yY2VGbHVzaCgpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBtaWRkeVRlbGVtZXRyeU1pZGRsZXdhcmUgYWZ0ZXIgaG9vazonLCBlcnJvcik7XG4gICAgfVxuICB9LFxuXG4gIG9uRXJyb3I6IGFzeW5jIChyZXF1ZXN0KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG90ZWxEYXRhID0gKHJlcXVlc3QuY29udGV4dCBhcyBhbnkpLm90ZWw7XG4gICAgICBpZiAoIW90ZWxEYXRhKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHtcbiAgICAgICAgc3BhblJlc3VsdCxcbiAgICAgICAgZmFpbHVyZUNvdW50ZXIsXG4gICAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0sXG4gICAgICAgIHN0YXJ0VGltZSxcbiAgICAgICAgc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50LFxuICAgICAgICBvcmlnaW4sXG4gICAgICB9ID0gb3RlbERhdGE7XG4gICAgICBjb25zdCBlcnJvciA9IHJlcXVlc3QuZXJyb3I7XG5cbiAgICAgIC8vIE1hcmNhciBzcGFuIGNvbW8gZXJybyB1c2FuZG8gU3RhbmRhcmRUcmFjZXJcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICBzcGFuUmVzdWx0LnNldEVycm9yKGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZnVuY3Rpb25OYW1lID1cbiAgICAgICAgc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnZnVuY3Rpb24nXVsnbmFtZSddIHx8ICd1bmtub3duJztcbiAgICAgIGNvbnN0IHJlcXVlc3RJZCA9IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ3JlcXVlc3RJZCddIHx8ICd1bmtub3duJztcbiAgICAgIGNvbnN0IHJvdXRlS2V5ID1cbiAgICAgICAgc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnaHR0cCddWydyb3V0ZUtleSddIHx8ICd1bmtub3duJztcblxuICAgICAgLy8gTcOpdHJpY2FzXG4gICAgICBmYWlsdXJlQ291bnRlci5hZGQoMSwge1xuICAgICAgICBvcmlnaW4sXG4gICAgICAgIGVycm9yX3R5cGU6IGVycm9yPy5jb25zdHJ1Y3Rvcj8ubmFtZSB8fCAnVW5rbm93bkVycm9yJyxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBmdW5jdGlvbk5hbWUsXG4gICAgICAgIHJlcXVlc3RJZDogcmVxdWVzdElkLFxuICAgICAgICByb3V0ZUtleTogcm91dGVLZXksXG4gICAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnROYW1lOiBlbnZpcm9ubWVudCxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBkdXJhdGlvbk1zID0gcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydFRpbWU7XG5cbiAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0ucmVjb3JkKGR1cmF0aW9uTXMsIHtcbiAgICAgICAgb3JpZ2luLFxuICAgICAgICBzdGF0dXM6ICdlcnJvcicsXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25OYW1lLFxuICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgcm91dGVLZXk6IHJvdXRlS2V5LFxuICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50TmFtZTogZW52aXJvbm1lbnQsXG4gICAgICB9KTtcblxuICAgICAgLy8gTG9nIGVzdHJ1dHVyYWRvIGRlIGVycm9cbiAgICAgIGNvbnN0IHN0YW5kYXJkTG9nZ2VyID0gZ2V0U3RhbmRhcmRMb2dnZXIoc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXMpO1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcih7XG4gICAgICAgIG1lc3NhZ2U6IGVycm9yPy5tZXNzYWdlIHx8ICdVbmtub3duIGVycm9yIG9jY3VycmVkJyxcbiAgICAgICAgZXJyb3I6IGVycm9yIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICAgIGV4ZWN1dGlvbjoge1xuICAgICAgICAgIGZ1bmN0aW9uOiB7XG4gICAgICAgICAgICBuYW1lOiBmdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICBpbnZvY2F0aW9uSWQ6XG4gICAgICAgICAgICAgIHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2Z1bmN0aW9uJ10/LlsnaW52b2NhdGlvbklpZCddLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYXdzUmVxdWVzdElkOlxuICAgICAgICAgICAgc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnZnVuY3Rpb24nXT8uWydhd3NfcmVxdWVzdF9pZCddLFxuICAgICAgICAgIG9yaWdpbixcbiAgICAgICAgICByb3V0ZUtleTogcm91dGVLZXksXG4gICAgICAgICAgcmVxdWVzdElkOiByZXF1ZXN0SWQsXG4gICAgICAgICAgbG9nZ2VkVXNlcjoge1xuICAgICAgICAgICAgdWlkOiBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydsb2dnZWRfdXNlciddPy5bJ3VpZCddLFxuICAgICAgICAgICAgZW1haWw6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2xvZ2dlZF91c2VyJ10/LlsnZW1haWwnXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwZXJmb3JtYW5jZToge1xuICAgICAgICAgIGR1cmF0aW9uTXMsXG4gICAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBlcnJvclR5cGU6IGVycm9yPy5jb25zdHJ1Y3Rvcj8ubmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBGaW5hbGl6YXIgc3BhblxuICAgICAgc3BhblJlc3VsdC5lbmQoKTtcbiAgICAgIGF3YWl0IGZvcmNlRmx1c2goKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gbWlkZHlUZWxlbWV0cnlNaWRkbGV3YXJlIG9uRXJyb3IgaG9vazonLCBlcnJvcik7XG4gICAgfVxuICB9LFxufSk7XG4iXX0=
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zc3QvbWlkZHkvbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSw0Q0FBd0Q7QUFDeEQsMkNBQXlDO0FBQ3pDLDRDQUFnRjtBQUNoRixzREFBaUU7QUFJMUQsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxPQUFnQyxFQUNYLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sRUFBRSxDQUFPLE9BQU8sRUFBRSxFQUFFO1FBQ3hCLElBQUksQ0FBQztZQUNILE1BQU0sU0FBUyxHQUFHLHdCQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7WUFFcEMsTUFBTSxVQUFVLEdBQUcsSUFBQSxxQ0FBd0IsRUFBQyxPQUFPLENBQVEsQ0FBQztZQUc1RCxNQUFNLGNBQWMsR0FBRyxJQUFBLDZCQUFpQixHQUFFLENBQUM7WUFDM0MsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLFNBQVMsaUNBQ3RDLFVBQVUsS0FDYixRQUFRLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFDakMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQzdCLFNBQVMsRUFBRTtvQkFDVCxZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVk7b0JBQ3JDLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtvQkFDekIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO29CQUM3QixTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVM7aUJBQ2hDLElBQ0QsQ0FBQztZQUVILE1BQU0sS0FBSyxHQUFHLGFBQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWxELE1BQU0sc0JBQXNCLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FDbEQsMkJBQTJCLEVBQzNCO2dCQUNFLFdBQVcsRUFBRSx5Q0FBeUM7Z0JBQ3RELElBQUksRUFBRSxJQUFJO2dCQUNWLFNBQVMsRUFBRSxlQUFTLENBQUMs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QVEsRUFBRSxRQUFRO29CQUNsQixTQUFTLEVBQUUsU0FBUztpQkFDckI7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYLFVBQVU7b0JBQ1YsT0FBTyxFQUFFLEtBQUs7aUJBQ2Y7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFNBQVMsRUFBRSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxXQUFXLDBDQUFFLElBQUk7aUJBQ3BDO2FBQ0YsQ0FBQyxDQUFDO1lBR0gsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBQSxzQkFBVSxHQUFFLENBQUM7UUFDckIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLGlEQUFpRCxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUM7QUFqTlUsUUFBQSx3QkFBd0IsNEJBaU5sQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtaWRkeSBmcm9tICdAbWlkZHkvY29yZSc7XG5pbXBvcnQgeyBtZXRyaWNzLCBWYWx1ZVR5cGUgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9hcGknO1xuaW1wb3J0IHsgcGVyZm9ybWFuY2UgfSBmcm9tICdwZXJmX2hvb2tzJztcbmltcG9ydCB7IGZvcmNlRmx1c2gsIGdldFN0YW5kYXJkTG9nZ2VyLCBnZXRTdGFuZGFyZFRyYWNlciB9IGZyb20gJy4uL3RlbGVtZXRyeSc7XG5pbXBvcnQgeyBleHRyYWN0RGVmYXVsdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2V4dHJhY3Rpb24nO1xuXG5pbnRlcmZhY2UgTWlkZHlNaWRkbGV3YXJlT3B0aW9ucyB7fVxuXG5leHBvcnQgY29uc3QgbWlkZHlUZWxlbWV0cnlNaWRkbGV3YXJlID0gKFxuICBvcHRpb25zPzogTWlkZHlNaWRkbGV3YXJlT3B0aW9uc1xuKTogbWlkZHkuTWlkZGxld2FyZU9iaiA9PiAoe1xuICBiZWZvcmU6IGFzeW5jIChyZXF1ZXN0KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gZXh0cmFjdERlZmF1bHRBdHRyaWJ1dGVzKHJlcXVlc3QpIGFzIGFueTtcblxuICAgICAgLy8gVXNhciBTdGFuZGFyZFRyYWNlciBwYXJhIGNyaWFyIHNwYW4gY29tIGF0cmlidXRvcyBwYWRyb25pemFkb3NcbiAgICAgIGNvbnN0IHN0YW5kYXJkVHJhY2VyID0gZ2V0U3RhbmRhcmRUcmFjZXIoKTtcbiAgICAgIGNvbnN0IHNwYW5SZXN1bHQgPSBzdGFuZGFyZFRyYWNlci5zdGFydFNwYW4oe1xuICAgICAgICAuLi5hdHRyaWJ1dGVzLFxuICAgICAgICBzcGFuTmFtZTogYXR0cmlidXRlcy5mdW5jdGlvbk5hbWUsXG4gICAgICAgIGVudmlyb25tZW50OiBhdHRyaWJ1dGVzLnN0YWdlLFxuICAgICAgICBleGVjdXRpb246IHtcbiAgICAgICAgICBhd3NSZXF1ZXN0SWQ6IGF0dHJpYnV0ZXMuaW52b2NhdGlvbklkLFxuICAgICAgICAgIG9yaWdpbjogYXR0cmlidXRlcy5vcmlnaW4sXG4gICAgICAgICAgcm91dGVLZXk6IGF0dHJpYnV0ZXMucm91dGVLZXksXG4gICAgICAgICAgcmVxdWVzdElkOiBhdHRyaWJ1dGVzLnJlcXVlc3RJZCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBtZXRlciA9IG1ldHJpY3MuZ2V0TWV0ZXIoYXR0cmlidXRlcy5vcmlnaW4pO1xuXG4gICAgICBjb25zdCBleGVjdXRpb25UaW1lSGlzdG9ncmFtID0gbWV0ZXIuY3JlYXRlSGlzdG9ncmFtKFxuICAgICAgICAnbGFtYmRhX2V4ZWN1dGlvbl9kdXJhdGlvbicsXG4gICAgICAgIHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RlbXBvIHRvdGFsIGRlIGV4ZWN1w6fDo28gZG8gTGFtYmRhIGVtIG1zJyxcbiAgICAgICAgICB1bml0OiAnbXMnLFxuICAgICAgICAgIHZhbHVlVHlwZTogVmFsdWVUeXBlLkRPVUJMRSxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIGNvbnN0IHN1Y2Nlc3NDb3VudGVyID0gbWV0ZXIuY3JlYXRlQ291bnRlcigndG90YWxfc3VjY2Vzc2Z1bCcsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdUb3RhbCBkZSBvcGVyYcOnw7VlcyBiZW0tc3VjZWRpZGFzJyxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZmFpbHVyZUNvdW50ZXIgPSBtZXRlci5jcmVhdGVDb3VudGVyKCd0b3RhbF9mYWlsZWQnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVG90YWwgZGUgb3BlcmHDp8O1ZXMgY29tIGZhbGhhJyxcbiAgICAgIH0pO1xuXG4gICAgICAocmVxdWVzdC5jb250ZXh0IGFzIGFueSkub3RlbCA9IHtcbiAgICAgICAgc3BhblJlc3VsdCxcbiAgICAgICAgbWV0ZXIsXG4gICAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0sXG4gICAgICAgIHN1Y2Nlc3NDb3VudGVyLFxuICAgICAgICBmYWlsdXJlQ291bnRlcixcbiAgICAgICAgc3RhcnRUaW1lLFxuICAgICAgICBzZXJ2aWNlTmFtZTogYXR0cmlidXRlcy5zZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnQ6IGF0dHJpYnV0ZXMuc3RhZ2UsXG4gICAgICAgIG9yaWdpbjogYXR0cmlidXRlcy5vcmlnaW4sXG4gICAgICAgIHJvdXRlS2V5OiBhdHRyaWJ1dGVzLnJvdXRlS2V5LFxuICAgICAgICByZXF1ZXN0SWQ6IGF0dHJpYnV0ZXMucmVxdWVzdElkLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gbWlkZHlUZWxlbWV0cnlNaWRkbGV3YXJlIGJlZm9yZSBob29rOicsIGVycm9yKTtcbiAgICB9XG4gIH0sXG5cbiAgYWZ0ZXI6IGFzeW5jIChyZXF1ZXN0KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG90ZWxEYXRhID0gKHJlcXVlc3QuY29udGV4dCBhcyBhbnkpLm90ZWw7XG4gICAgICBpZiAoIW90ZWxEYXRhKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHtcbiAgICAgICAgc3BhblJlc3VsdCxcbiAgICAgICAgc3VjY2Vzc0NvdW50ZXIsXG4gICAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0sXG4gICAgICAgIHN0YXJ0VGltZSxcbiAgICAgICAgc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50LFxuICAgICAgfSA9IG90ZWxEYXRhO1xuXG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gZXh0cmFjdERlZmF1bHRBdHRyaWJ1dGVzKHJlcXVlc3QpIGFzIGFueTtcbiAgICAgIGNvbnN0IG9yaWdpbiA9IGF0dHJpYnV0ZXMub3JpZ2luIHx8ICd1bmtub3duJztcblxuICAgICAgLy8gTWFyY2FyIHNwYW4gY29tbyBzdWNlc3NvIHVzYW5kbyBTdGFuZGFyZFRyYWNlclxuICAgICAgc3BhblJlc3VsdC5zZXRTdWNjZXNzKHRydWUpO1xuXG4gICAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmdW5jdGlvbiddPy5bJ25hbWUnXTtcbiAgICAgIGNvbnN0IHJvdXRlS2V5ID0gc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnaHR0cCddPy5bJ3JvdXRlS2V5J107XG4gICAgICBjb25zdCByZXF1ZXN0SWQgPVxuICAgICAgICBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydleGVjdXRpb24nXT8uWydyZXF1ZXN0SWQnXTtcblxuICAgICAgLy8gTcOpdHJpY2FzXG4gICAgICBzdWNjZXNzQ291bnRlci5hZGQoMSwge1xuICAgICAgICBvcmlnaW4sXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25OYW1lLFxuICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgcm91dGVLZXk6IHJvdXRlS2V5LFxuICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50TmFtZTogZW52aXJvbm1lbnQsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgZHVyYXRpb25NcyA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRUaW1lO1xuXG4gICAgICBleGVjdXRpb25UaW1lSGlzdG9ncmFtLnJlY29yZChkdXJhdGlvbk1zLCB7XG4gICAgICAgIG9yaWdpbixcbiAgICAgICAgc3RhdHVzOiAnc3VjY2VzcycsXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25OYW1lLFxuICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgcm91dGVLZXk6IHJvdXRlS2V5LFxuICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50TmFtZTogZW52aXJvbm1lbnQsXG4gICAgICB9KTtcbiAgICAgIC8vIExvZyBlc3RydXR1cmFkbyBkZSBzdWNlc3NvXG4gICAgICBjb25zdCBzdGFuZGFyZExvZ2dlciA9IGdldFN0YW5kYXJkTG9nZ2VyKHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzKTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nSW5mbyh7XG4gICAgICAgIG1lc3NhZ2U6ICdSZXF1ZXN0IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHknLFxuICAgICAgICAuLi5hdHRyaWJ1dGVzLFxuICAgICAgICBleGVjdXRpb246IHtcbiAgICAgICAgICBvcmlnaW4sXG4gICAgICAgICAgcm91dGVLZXk6IHJvdXRlS2V5LFxuICAgICAgICAgIHJlcXVlc3RJZDogcmVxdWVzdElkLFxuICAgICAgICB9LFxuICAgICAgICBwZXJmb3JtYW5jZToge1xuICAgICAgICAgIGR1cmF0aW9uTXMsXG4gICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBGaW5hbGl6YXIgc3BhblxuICAgICAgc3BhblJlc3VsdC5lbmQoKTtcbiAgICAgIGF3YWl0IGZvcmNlRmx1c2goKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gbWlkZHlUZWxlbWV0cnlNaWRkbGV3YXJlIGFmdGVyIGhvb2s6JywgZXJyb3IpO1xuICAgIH1cbiAgfSxcblxuICBvbkVycm9yOiBhc3luYyAocmVxdWVzdCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBvdGVsRGF0YSA9IChyZXF1ZXN0LmNvbnRleHQgYXMgYW55KS5vdGVsO1xuICAgICAgaWYgKCFvdGVsRGF0YSkgcmV0dXJuO1xuXG4gICAgICBjb25zdCB7XG4gICAgICAgIHNwYW5SZXN1bHQsXG4gICAgICAgIGZhaWx1cmVDb3VudGVyLFxuICAgICAgICBleGVjdXRpb25UaW1lSGlzdG9ncmFtLFxuICAgICAgICBzdGFydFRpbWUsXG4gICAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgICBlbnZpcm9ubWVudCxcbiAgICAgICAgb3JpZ2luLFxuICAgICAgfSA9IG90ZWxEYXRhO1xuICAgICAgY29uc3QgZXJyb3IgPSByZXF1ZXN0LmVycm9yO1xuXG4gICAgICAvLyBNYXJjYXIgc3BhbiBjb21vIGVycm8gdXNhbmRvIFN0YW5kYXJkVHJhY2VyXG4gICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgc3BhblJlc3VsdC5zZXRFcnJvcihlcnJvcik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9XG4gICAgICAgIHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2Z1bmN0aW9uJ11bJ25hbWUnXSB8fCAndW5rbm93bic7XG4gICAgICBjb25zdCByZXF1ZXN0SWQgPSBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydyZXF1ZXN0SWQnXSB8fCAndW5rbm93bic7XG4gICAgICBjb25zdCByb3V0ZUtleSA9XG4gICAgICAgIHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2h0dHAnXVsncm91dGVLZXknXSB8fCAndW5rbm93bic7XG5cbiAgICAgIC8vIE3DqXRyaWNhc1xuICAgICAgZmFpbHVyZUNvdW50ZXIuYWRkKDEsIHtcbiAgICAgICAgb3JpZ2luLFxuICAgICAgICBlcnJvcl90eXBlOiBlcnJvcj8uY29uc3RydWN0b3I/Lm5hbWUgfHwgJ1Vua25vd25FcnJvcicsXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25OYW1lLFxuICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgcm91dGVLZXk6IHJvdXRlS2V5LFxuICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50TmFtZTogZW52aXJvbm1lbnQsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgZHVyYXRpb25NcyA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRUaW1lO1xuXG4gICAgICBleGVjdXRpb25UaW1lSGlzdG9ncmFtLnJlY29yZChkdXJhdGlvbk1zLCB7XG4gICAgICAgIG9yaWdpbixcbiAgICAgICAgc3RhdHVzOiAnZXJyb3InLFxuICAgICAgICBmdW5jdGlvbk5hbWU6IGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgcmVxdWVzdElkOiByZXF1ZXN0SWQsXG4gICAgICAgIHJvdXRlS2V5OiByb3V0ZUtleSxcbiAgICAgICAgc2VydmljZU5hbWU6IHNlcnZpY2VOYW1lLFxuICAgICAgICBlbnZpcm9ubWVudE5hbWU6IGVudmlyb25tZW50LFxuICAgICAgfSk7XG5cbiAgICAgIC8vIExvZyBlc3RydXR1cmFkbyBkZSBlcnJvXG4gICAgICBjb25zdCBzdGFuZGFyZExvZ2dlciA9IGdldFN0YW5kYXJkTG9nZ2VyKHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzKTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3Ioe1xuICAgICAgICBtZXNzYWdlOiBlcnJvcj8ubWVzc2FnZSB8fCAnVW5rbm93biBlcnJvciBvY2N1cnJlZCcsXG4gICAgICAgIGVycm9yOiBlcnJvciB8fCB1bmRlZmluZWQsXG4gICAgICAgIGVudmlyb25tZW50LFxuICAgICAgICBleGVjdXRpb246IHtcbiAgICAgICAgICBhd3NSZXF1ZXN0SWQ6XG4gICAgICAgICAgICBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmdW5jdGlvbiddPy5bJ2F3c19yZXF1ZXN0X2lkJ10sXG4gICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgIHJvdXRlS2V5OiByb3V0ZUtleSxcbiAgICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgfSxcbiAgICAgICAgcGVyZm9ybWFuY2U6IHtcbiAgICAgICAgICBkdXJhdGlvbk1zLFxuICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgZXJyb3JUeXBlOiBlcnJvcj8uY29uc3RydWN0b3I/Lm5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgLy8gRmluYWxpemFyIHNwYW5cbiAgICAgIHNwYW5SZXN1bHQuZW5kKCk7XG4gICAgICBhd2FpdCBmb3JjZUZsdXNoKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIG1pZGR5VGVsZW1ldHJ5TWlkZGxld2FyZSBvbkVycm9yIGhvb2s6JywgZXJyb3IpO1xuICAgIH1cbiAgfSxcbn0pO1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mecanizou/telemetry-hub",
3
- "version": "1.3.9",
3
+ "version": "1.3.10",
4
4
  "description": "Mecanizou telemetry lib",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",