@robotical/raftjs 2.1.2 → 2.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/devdocs/decode-overrun-investigation.md +167 -0
  2. package/devdocs/message-panel-design.md +320 -0
  3. package/dist/react-native/RaftAttributeHandler.d.ts +10 -1
  4. package/dist/react-native/RaftAttributeHandler.js +60 -8
  5. package/dist/react-native/RaftAttributeHandler.js.map +1 -1
  6. package/dist/react-native/RaftChannelSimulated.d.ts +1 -0
  7. package/dist/react-native/RaftChannelSimulated.js +67 -0
  8. package/dist/react-native/RaftChannelSimulated.js.map +1 -1
  9. package/dist/react-native/RaftConnector.d.ts +19 -1
  10. package/dist/react-native/RaftConnector.js +102 -2
  11. package/dist/react-native/RaftConnector.js.map +1 -1
  12. package/dist/react-native/RaftDeviceInfo.d.ts +5 -1
  13. package/dist/react-native/RaftDeviceManager.js +75 -32
  14. package/dist/react-native/RaftDeviceManager.js.map +1 -1
  15. package/dist/react-native/RaftFileHandler.d.ts +1 -0
  16. package/dist/react-native/RaftFileHandler.js +40 -11
  17. package/dist/react-native/RaftFileHandler.js.map +1 -1
  18. package/dist/react-native/RaftMicroPythonConsoleClient.d.ts +38 -0
  19. package/dist/react-native/RaftMicroPythonConsoleClient.js +45 -0
  20. package/dist/react-native/RaftMicroPythonConsoleClient.js.map +1 -0
  21. package/dist/react-native/RaftMsgHandler.d.ts +1 -1
  22. package/dist/react-native/RaftMsgHandler.js +6 -3
  23. package/dist/react-native/RaftMsgHandler.js.map +1 -1
  24. package/dist/react-native/RaftTypes.d.ts +19 -0
  25. package/dist/react-native/RaftTypes.js.map +1 -1
  26. package/dist/react-native/main.d.ts +1 -0
  27. package/dist/react-native/main.js +3 -1
  28. package/dist/react-native/main.js.map +1 -1
  29. package/dist/web/RaftAttributeHandler.d.ts +10 -1
  30. package/dist/web/RaftAttributeHandler.js +60 -8
  31. package/dist/web/RaftAttributeHandler.js.map +1 -1
  32. package/dist/web/RaftChannelSimulated.d.ts +1 -0
  33. package/dist/web/RaftChannelSimulated.js +67 -0
  34. package/dist/web/RaftChannelSimulated.js.map +1 -1
  35. package/dist/web/RaftConnector.d.ts +19 -1
  36. package/dist/web/RaftConnector.js +102 -2
  37. package/dist/web/RaftConnector.js.map +1 -1
  38. package/dist/web/RaftDeviceInfo.d.ts +5 -1
  39. package/dist/web/RaftDeviceManager.js +75 -32
  40. package/dist/web/RaftDeviceManager.js.map +1 -1
  41. package/dist/web/RaftFileHandler.d.ts +1 -0
  42. package/dist/web/RaftFileHandler.js +40 -11
  43. package/dist/web/RaftFileHandler.js.map +1 -1
  44. package/dist/web/RaftMicroPythonConsoleClient.d.ts +38 -0
  45. package/dist/web/RaftMicroPythonConsoleClient.js +45 -0
  46. package/dist/web/RaftMicroPythonConsoleClient.js.map +1 -0
  47. package/dist/web/RaftMsgHandler.d.ts +1 -1
  48. package/dist/web/RaftMsgHandler.js +6 -3
  49. package/dist/web/RaftMsgHandler.js.map +1 -1
  50. package/dist/web/RaftTypes.d.ts +19 -0
  51. package/dist/web/RaftTypes.js.map +1 -1
  52. package/dist/web/main.d.ts +1 -0
  53. package/dist/web/main.js +3 -1
  54. package/dist/web/main.js.map +1 -1
  55. package/examples/dashboard/src/DeviceActionsForm.tsx +24 -11
  56. package/examples/dashboard/src/DeviceLineChart.tsx +5 -4
  57. package/examples/dashboard/src/DevicePanel.tsx +3 -0
  58. package/package.json +1 -1
  59. package/src/RaftAttributeHandler.ts +89 -9
  60. package/src/RaftChannelSimulated.test.ts +62 -0
  61. package/src/RaftChannelSimulated.ts +91 -0
  62. package/src/RaftConnector.ts +112 -3
  63. package/src/RaftDeviceInfo.ts +5 -1
  64. package/src/RaftDeviceManager.test.ts +35 -1
  65. package/src/RaftDeviceManager.ts +86 -33
  66. package/src/RaftFileHandler.ts +43 -11
  67. package/src/RaftMicroPythonConsoleClient.ts +78 -0
  68. package/src/RaftMsgHandler.ts +8 -4
  69. package/src/RaftTypes.ts +23 -0
  70. package/src/main.ts +1 -0
@@ -12,6 +12,7 @@ const tslib_1 = require("tslib");
12
12
  const RaftCustomAttrHandler_1 = tslib_1.__importDefault(require("./RaftCustomAttrHandler"));
13
13
  const RaftDeviceInfo_1 = require("./RaftDeviceInfo");
14
14
  const RaftStruct_1 = require("./RaftStruct");
15
+ const RaftUtils_1 = tslib_1.__importDefault(require("./RaftUtils"));
15
16
  class AttributeHandler {
16
17
  constructor() {
17
18
  // Custom attribute handler
@@ -20,8 +21,21 @@ class AttributeHandler {
20
21
  this.POLL_RESULT_TIMESTAMP_SIZE = 2;
21
22
  this.POLL_RESULT_WRAP_VALUE = this.POLL_RESULT_TIMESTAMP_SIZE === 2 ? 65536 : 4294967296;
22
23
  this.POLL_RESULT_RESOLUTION_US = 100;
24
+ // One-shot detailed warning when an attribute decode would overrun the
25
+ // sample/message bounds. Includes the exact bytes and schema so the
26
+ // firmware vs. registered device-type schema can be reconciled.
27
+ this._overrunWarnSeen = new Set();
23
28
  }
24
- processMsgAttrGroup(msgBuffer, msgBufIdx, deviceTimeline, pollRespMetadata, devAttrsState, maxDataPoints, msgEndIdx = msgBuffer.length) {
29
+ processMsgAttrGroup(msgBuffer, msgBufIdx, deviceTimeline, pollRespMetadata, devAttrsState, maxDataPoints, msgEndIdxOrDiagCtx = msgBuffer.length, diagCtx) {
30
+ var _a;
31
+ // Merge rationale: Robotical's devbin compatibility parser needs an
32
+ // explicit sample boundary; upstream's diagnostics need per-sample
33
+ // context. Accept both call styles so malformed samples are skipped
34
+ // without losing useful overrun warnings.
35
+ const msgEndIdx = typeof msgEndIdxOrDiagCtx === "number"
36
+ ? msgEndIdxOrDiagCtx
37
+ : (_a = msgEndIdxOrDiagCtx.sampleEndIdx) !== null && _a !== void 0 ? _a : msgBuffer.length;
38
+ const effectiveDiagCtx = typeof msgEndIdxOrDiagCtx === "number" ? diagCtx : msgEndIdxOrDiagCtx;
25
39
  // console.log(`processMsgAttrGroup msg ${msgHexStr} timestamp ${timestamp} origTimestamp ${origTimestamp} msgBufIdx ${msgBufIdx}`)
26
40
  const boundedMsgEndIdx = Math.min(Math.max(msgEndIdx, msgBufIdx), msgBuffer.length);
27
41
  // Extract msg timestamp
@@ -33,6 +47,11 @@ class AttributeHandler {
33
47
  const msgDataStartIdx = msgBufIdx;
34
48
  // New attribute values (in order as they appear in the attributes JSON)
35
49
  let newAttrValues = [];
50
+ // Tracks whether any individual attribute decode failed in the non-custom path.
51
+ // When true, the detailed per-attribute overrun warning has already been emitted
52
+ // by processMsgAttribute, so we suppress the redundant downstream length/empty
53
+ // warnings that would otherwise fire every poll.
54
+ let attrDecodeFailed = false;
36
55
  if ("c" in pollRespMetadata) {
37
56
  // Extract attribute values using custom handler
38
57
  newAttrValues = this._customAttrHandler.handleAttr(pollRespMetadata, msgBuffer, msgBufIdx, boundedMsgEndIdx);
@@ -71,11 +90,12 @@ class AttributeHandler {
71
90
  if (!("t" in attrDef)) {
72
91
  console.warn(`DeviceManager msg unknown msgBuffer ${msgBuffer} tsUs ${timestampUs} attrDef ${JSON.stringify(attrDef)}`);
73
92
  newAttrValues.push([]);
93
+ attrDecodeFailed = true;
74
94
  continue;
75
95
  }
76
96
  // console.log(`RaftAttrHdlr.processMsgAttrGroup attr ${attrDef.n} msgBufIdx ${msgBufIdx} timestampUs ${timestampUs} attrDef ${JSON.stringify(attrDef)}`);
77
97
  // Process the attribute
78
- const { values, newMsgBufIdx } = this.processMsgAttribute(attrDef, msgBuffer, msgBufIdx, msgDataStartIdx, boundedMsgEndIdx);
98
+ const { values, newMsgBufIdx } = this.processMsgAttribute(attrDef, msgBuffer, msgBufIdx, msgDataStartIdx, boundedMsgEndIdx, pollRespMetadata, effectiveDiagCtx);
79
99
  if (newMsgBufIdx < 0) {
80
100
  return -1;
81
101
  }
@@ -97,13 +117,17 @@ class AttributeHandler {
97
117
  const numNewDataPoints = newAttrValues[0].length;
98
118
  for (let i = 1; i < newAttrValues.length; i++) {
99
119
  if (newAttrValues[i].length !== numNewDataPoints) {
100
- console.warn(`DeviceManager msg attrGroup ${pollRespMetadata} attrName ${pollRespMetadata.a[i].n} newAttrValues ${newAttrValues} do not have the same length`);
120
+ if (!attrDecodeFailed) {
121
+ console.warn(`DeviceManager msg attrGroup ${JSON.stringify(pollRespMetadata)} attrName ${pollRespMetadata.a[i].n} newAttrValues lengths ${newAttrValues.map(v => v.length).join(",")} do not match`);
122
+ }
101
123
  return msgDataStartIdx + pollRespSizeBytes;
102
124
  }
103
125
  }
104
126
  // All attributes in the schema should have values
105
127
  if (newAttrValues.length !== pollRespMetadata.a.length) {
106
- console.warn(`DeviceManager msg attrGroup ${pollRespMetadata} newAttrValues ${newAttrValues} length does not match attrGroup.a length`);
128
+ if (!attrDecodeFailed) {
129
+ console.warn(`DeviceManager msg attrGroup ${JSON.stringify(pollRespMetadata)} newAttrValues length ${newAttrValues.length} does not match attrGroup.a length ${pollRespMetadata.a.length}`);
130
+ }
107
131
  return msgDataStartIdx + pollRespSizeBytes;
108
132
  }
109
133
  // Add the new attribute values to the device state
@@ -238,7 +262,7 @@ class AttributeHandler {
238
262
  }
239
263
  }
240
264
  }
241
- processMsgAttribute(attrDef, msgBuffer, msgBufIdx, msgDataStartIdx, msgEndIdx) {
265
+ processMsgAttribute(attrDef, msgBuffer, msgBufIdx, msgDataStartIdx, msgEndIdx, pollRespMetadata, diagCtx) {
242
266
  // Current field message string index
243
267
  let curFieldBufIdx = msgBufIdx;
244
268
  let attrUsesAbsPos = false;
@@ -257,7 +281,8 @@ class AttributeHandler {
257
281
  // Copy bytes from the specified positions
258
282
  for (let i = 0; i < attrDef.at.length && i < elemSize; i++) {
259
283
  const sourceIdx = msgDataStartIdx + attrDef.at[i];
260
- if (sourceIdx >= boundedMsgEndIdx) {
284
+ if (sourceIdx < msgDataStartIdx || sourceIdx >= boundedMsgEndIdx) {
285
+ this.warnAttrOverrun(attrDef, msgBuffer, sourceIdx, elemSize, msgDataStartIdx, true, pollRespMetadata, diagCtx, sourceIdx >= msgBuffer.length ? "msgBuffer" : "sample");
261
286
  return { values: [], newMsgBufIdx: -1 };
262
287
  }
263
288
  bytesForType[i] = msgBuffer[sourceIdx];
@@ -273,11 +298,13 @@ class AttributeHandler {
273
298
  }
274
299
  attrUsesAbsPos = true;
275
300
  }
276
- // Check if outside bounds of message
301
+ // Merge rationale: keep Robotical's hard sample bounds as the source of
302
+ // truth, but emit upstream's one-shot diagnostic when a schema tries to
303
+ // read beyond the sample or buffer.
277
304
  const attrEndIdx = curFieldBufIdx + numBytesConsumed;
278
305
  const effectiveMsgEndIdx = Math.min(Math.max(msgEndIdx, curFieldBufIdx), msgBuffer.length);
279
306
  if (curFieldBufIdx >= effectiveMsgEndIdx || attrEndIdx > effectiveMsgEndIdx) {
280
- // console.warn(`DeviceManager msg outside bounds msgBuffer ${msgBuffer} attrName ${attrDef.n}`);
307
+ this.warnAttrOverrun(attrDef, msgBuffer, curFieldBufIdx, numBytesConsumed, msgDataStartIdx, attrUsesAbsPos, pollRespMetadata, diagCtx, attrEndIdx > msgBuffer.length ? "msgBuffer" : "sample");
281
308
  return { values: [], newMsgBufIdx: -1 };
282
309
  }
283
310
  // Slice into buffer
@@ -379,6 +406,31 @@ class AttributeHandler {
379
406
  // Return the value
380
407
  return { values: attrValues, newMsgBufIdx: msgBufIdx };
381
408
  }
409
+ warnAttrOverrun(attrDef, msgBuffer, curFieldBufIdx, attrTypeSize, msgDataStartIdx, attrUsesAbsPos, pollRespMetadata, diagCtx, overrunOf) {
410
+ var _a, _b, _c, _d, _e, _f;
411
+ const sampleStart = (_a = diagCtx === null || diagCtx === void 0 ? void 0 : diagCtx.sampleStartIdx) !== null && _a !== void 0 ? _a : msgDataStartIdx;
412
+ const sampleEnd = diagCtx === null || diagCtx === void 0 ? void 0 : diagCtx.sampleEndIdx;
413
+ const dedupeKey = `${(_b = diagCtx === null || diagCtx === void 0 ? void 0 : diagCtx.deviceKey) !== null && _b !== void 0 ? _b : "?"}|${(_c = diagCtx === null || diagCtx === void 0 ? void 0 : diagCtx.deviceType) !== null && _c !== void 0 ? _c : "?"}|${attrDef.n}|${attrDef.t}|${attrUsesAbsPos ? attrDef.at : "rel"}`;
414
+ if (this._overrunWarnSeen.has(dedupeKey)) {
415
+ return;
416
+ }
417
+ this._overrunWarnSeen.add(dedupeKey);
418
+ const sampleHex = sampleEnd !== undefined
419
+ ? RaftUtils_1.default.bufferToHex(msgBuffer.slice(sampleStart, sampleEnd))
420
+ : "<unknown sample bounds>";
421
+ const availableInSample = sampleEnd !== undefined ? Math.max(0, sampleEnd - curFieldBufIdx) : -1;
422
+ const availableInBuffer = Math.max(0, msgBuffer.length - curFieldBufIdx);
423
+ console.warn(`AttributeHandler decode overrun (${overrunOf}): ` +
424
+ `deviceKey=${(_d = diagCtx === null || diagCtx === void 0 ? void 0 : diagCtx.deviceKey) !== null && _d !== void 0 ? _d : "?"} deviceType=${(_e = diagCtx === null || diagCtx === void 0 ? void 0 : diagCtx.deviceType) !== null && _e !== void 0 ? _e : "?"} ` +
425
+ `debugMsgIndex=${(_f = diagCtx === null || diagCtx === void 0 ? void 0 : diagCtx.debugMsgIndex) !== null && _f !== void 0 ? _f : "?"} attr.n=${attrDef.n} attr.t=${attrDef.t} ` +
426
+ `attrTypeSize=${attrTypeSize} attrUsesAbsPos=${attrUsesAbsPos} attr.at=${JSON.stringify(attrDef.at)} ` +
427
+ `curFieldBufIdx=${curFieldBufIdx} msgBuffer.length=${msgBuffer.length} ` +
428
+ `sampleStartIdx=${sampleStart} sampleEndIdx=${sampleEnd !== null && sampleEnd !== void 0 ? sampleEnd : "?"} ` +
429
+ `availableInSample=${availableInSample} availableInBuffer=${availableInBuffer} ` +
430
+ `sampleHex=${sampleHex} ` +
431
+ `pollRespMetadata.b=${pollRespMetadata === null || pollRespMetadata === void 0 ? void 0 : pollRespMetadata.b} ` +
432
+ `schema=${JSON.stringify(pollRespMetadata === null || pollRespMetadata === void 0 ? void 0 : pollRespMetadata.a)}`);
433
+ }
382
434
  signExtend(value, mask) {
383
435
  const signBitMask = (mask + 1) >> 1;
384
436
  const signBit = value & signBitMask;
@@ -1 +1 @@
1
- {"version":3,"file":"RaftAttributeHandler.js","sourceRoot":"","sources":["../../src/RaftAttributeHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RaftAttributeHandler.js","sourceRoot":"","sources":["../../src/RaftAttributeHandler.ts"],"names":[],"mappings":";AAAA,iHAAiH;AACjH,EAAE;AACF,uBAAuB;AACvB,qCAAqC;AACrC,EAAE;AACF,sBAAsB;AACtB,EAAE;AACF,iHAAiH;;;AAEjH,4FAAwD;AACxD,qDAA8H;AAE9H,6CAA0D;AAC1D,oEAAoC;AAkBpC,MAAqB,gBAAgB;IAArC;QAEI,2BAA2B;QACnB,uBAAkB,GAAG,IAAI,+BAAiB,EAAE,CAAC;QAErD,yBAAyB;QACjB,+BAA0B,GAAG,CAAC,CAAC;QAC/B,2BAAsB,GAAG,IAAI,CAAC,0BAA0B,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;QACpF,8BAAyB,GAAG,GAAG,CAAC;QAgcxC,uEAAuE;QACvE,oEAAoE;QACpE,gEAAgE;QACxD,qBAAgB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAmHtD,CAAC;IApjBU,mBAAmB,CAAC,SAAqB,EAAE,SAAiB,EAAE,cAA8B,EAAE,gBAA4C,EAC7H,aAAoC,EAAE,aAAqB,EAC3D,qBAAqD,SAAS,CAAC,MAAM,EACrE,OAA+B;;QAE/C,oEAAoE;QACpE,mEAAmE;QACnE,oEAAoE;QACpE,0CAA0C;QAC1C,MAAM,SAAS,GAAG,OAAO,kBAAkB,KAAK,QAAQ;YACpD,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,MAAA,kBAAkB,CAAC,YAAY,mCAAI,SAAS,CAAC,MAAM,CAAC;QAC1D,MAAM,gBAAgB,GAAG,OAAO,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC/F,mIAAmI;QACnI,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAEpF,wBAAwB;QACxB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,6BAA6B,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAC9H,IAAI,SAAS,GAAG,CAAC;YACb,OAAO,CAAC,CAAC,CAAC;QACd,SAAS,GAAG,SAAS,CAAC;QAEtB,wBAAwB;QACxB,MAAM,eAAe,GAAG,SAAS,CAAC;QAElC,wEAAwE;QACxE,IAAI,aAAa,GAA0B,EAAE,CAAC;QAC9C,gFAAgF;QAChF,iFAAiF;QACjF,+EAA+E;QAC/E,iDAAiD;QACjD,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAE1B,gDAAgD;YAChD,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAE7G,wEAAwE;YACxE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;gBACrG,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC5C,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAElD,yEAAyE;gBACzE,6EAA6E;gBAC7E,IAAI,OAAO,CAAC,CAAC,IAAI,IAAA,iCAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,MAAM,SAAS,GAAG,IAAA,yBAAY,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC1C,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBACzC,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC;oBAC1B,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACpD,MAAM,CAAC,GAAG,CAAW,CAAC;wBACtB,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;gBACP,CAAC;gBAED,IAAI,GAAG,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;oBAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,CAAW,CAAC;oBACpC,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAY,GAAG,OAAO,CAAC,CAAC;gBACtF,CAAC;gBACD,IAAI,GAAG,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAW,CAAC;oBACnC,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAY,GAAG,MAAM,CAAC,CAAC;gBACrF,CAAC;YACL,CAAC;QAEL,CAAC;aAAM,CAAC;YAEJ,yIAAyI;YAEzI,0BAA0B;YAC1B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;gBAEnE,+BAA+B;gBAC/B,MAAM,OAAO,GAAwB,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACjE,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC;oBACpB,OAAO,CAAC,IAAI,CAAC,uCAAuC,SAAS,SAAS,WAAW,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACxH,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACvB,gBAAgB,GAAG,IAAI,CAAC;oBACxB,SAAS;gBACb,CAAC;gBAED,0JAA0J;gBAE1J,wBAAwB;gBACxB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EACpG,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBAC1D,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;oBACnB,OAAO,CAAC,CAAC,CAAC;gBACd,CAAC;gBACD,SAAS,GAAG,YAAY,CAAC;gBACzB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC;QAED,2BAA2B;QAC3B,IAAI,iBAAiB,GAAG,SAAS,GAAG,eAAe,CAAC;QACpD,IAAI,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC;YACzC,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,gEAAgE;QAChE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,kBAAkB,aAAa,WAAW,CAAC,CAAC;YACxH,OAAO,CAAC,CAAC,CAAC;QACd,CAAC;QAED,yDAAyD;QACzD,MAAM,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;gBAC/C,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACpB,OAAO,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBACzM,CAAC;gBACD,OAAO,eAAe,GAAC,iBAAiB,CAAC;YAC7C,CAAC;QACL,CAAC;QAED,kDAAkD;QAClD,IAAI,aAAa,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,yBAAyB,aAAa,CAAC,MAAM,sCAAsC,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAChM,CAAC;YACD,OAAO,eAAe,GAAC,iBAAiB,CAAC;QAC7C,CAAC;QAED,mDAAmD;QACnD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;YACnE,wDAAwD;YACxD,MAAM,OAAO,GAAwB,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACjE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC;gBAChC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;oBACvB,IAAI,EAAE,OAAO,CAAC,CAAC;oBACf,YAAY,EAAE,IAAI;oBAClB,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,CAAC;oBACf,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,IAAA,wCAAuB,EAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC/C,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC1B,MAAM,EAAE,CAAC,GAAG,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;oBACzE,aAAa,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACrK,WAAW,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;iBACtK,CAAC;YACN,CAAC;YAED,gDAAgD;YAChD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;YACzH,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACnB,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAC5D,CAAC;YAED,qBAAqB;YACrB,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YAChE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACrE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC1E,CAAC;QAED,iDAAiD;QACjD,6EAA6E;QAC7E,4EAA4E;QAC5E,MAAM,SAAS,GAAW,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3E,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;YAChC,8DAA8D;YAC9D,cAAc,CAAC,aAAa,GAAG,SAAS,CAAC;YACzC,cAAc,CAAC,mBAAmB,GAAG,WAAW,GAAG,cAAc,CAAC,aAAa,CAAC;YAChF,cAAc,CAAC,iBAAiB,GAAG,WAAW,CAAC;YAC/C,cAAc,CAAC,aAAa,GAAG,IAAI,CAAC;YACpC,cAAc,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACJ,4CAA4C;YAC5C,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,iBAAiB,GAAG,CAAC,WAAW,GAAG,cAAc,CAAC,iBAAiB,CAAC,GAAG,gBAAgB,CAAC;gBAC9F,MAAM,KAAK,GAAG,cAAc,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnE,cAAc,CAAC,aAAa,GAAG,KAAK,GAAG,iBAAiB;sBACxB,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC;YACjF,CAAC;iBAAM,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,iBAAiB,GAAG,WAAW,GAAG,cAAc,CAAC,iBAAiB,CAAC;gBACzE,IAAI,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;oBAC9D,cAAc,CAAC,aAAa,GAAG,iBAAiB,CAAC;gBACrD,CAAC;YACL,CAAC;YACD,cAAc,CAAC,iBAAiB,GAAG,WAAW,CAAC;YAC/C,cAAc,CAAC,mBAAmB,EAAE,CAAC;QACzC,CAAC;QAED,gEAAgE;QAChE,MAAM,YAAY,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,cAAc,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YACrD,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,KAAK,CAAC;gBACpC,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,cAAc,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC;YAClF,6CAA6C;YAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3C,YAAY,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;YACrC,CAAC;iBAAM,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACzD,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC;QACD,oEAAoE;QACpE,IAAI,cAAc,CAAC,aAAa,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACvD,cAAc,CAAC,mBAAmB,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/E,CAAC;QAED,gDAAgD;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;QAC3G,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACnB,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QACxD,CAAC;QAED,yBAAyB;QACzB,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAClD,cAAc,CAAC,iBAAiB,IAAI,gBAAgB,CAAC;QAErD,6CAA6C;QAC7C,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAE3E,uCAAuC;QACvC,OAAO,eAAe,GAAC,iBAAiB,CAAC;IAC7C,CAAC;IAEO,kBAAkB,CAAC,gBAA4C,EAAE,aAAoC,EAAE,gBAAwB;QACnI,gEAAgE;QAChE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;YACnE,MAAM,OAAO,GAAwB,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAEjE,0CAA0C;YAC1C,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACtC,SAAS;YACb,CAAC;YAED,2CAA2C;YAC3C,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;YAEvC,wDAAwD;YACxD,IAAI,CAAC,CAAC,kBAAkB,IAAI,aAAa,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,KAAK,CAAC,6BAA6B,OAAO,CAAC,CAAC,4BAA4B,kBAAkB,gBAAgB,CAAC,CAAC;gBACpH,SAAS;YACb,CAAC;YAED,kCAAkC;YAClC,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC;YAEzD,uCAAuC;YACvC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC9D,SAAS;YACb,CAAC;YAED,kDAAkD;YAClD,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;YAC5C,MAAM,QAAQ,GAAG,SAAS,GAAG,gBAAgB,CAAC;YAE9C,iCAAiC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC;gBAC9B,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,SAAS,EAAE,CAAC;oBACxC,yEAAyE;oBACzE,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,gBAAgB,GAAG,CAAC,CAAC;oBAC/E,IAAI,kBAAkB,IAAI,CAAC,IAAI,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;wBAC/E,uFAAuF;wBACvF,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;4BAC7C,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,wCAAwC;wBAChF,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAEO,mBAAmB,CAAC,OAA4B,EAAE,SAAqB,EAAE,SAAiB,EAAE,eAAuB,EAC/F,SAAiB,EAAE,gBAA6C,EAChE,OAA+B;QAEvD,qCAAqC;QACrC,IAAI,cAAc,GAAG,SAAS,CAAC;QAC/B,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1F,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;QAChC,MAAM,gBAAgB,GAAG,IAAA,yBAAY,EAAC,aAAa,CAAC,CAAC;QAErD,mEAAmE;QACnE,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC3B,uDAAuD;YACvD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5B,yDAAyD;gBACzD,MAAM,QAAQ,GAAG,gBAAgB,CAAC;gBAClC,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAE9C,sBAAsB;gBACtB,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAErB,0CAA0C;gBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzD,MAAM,SAAS,GAAG,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAClD,IAAI,SAAS,GAAG,eAAe,IAAI,SAAS,IAAI,gBAAgB,EAAE,CAAC;wBAC/D,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EACzE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;wBAC7F,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC5C,CAAC;oBACD,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC3C,CAAC;gBAED,2CAA2C;gBAC3C,SAAS,GAAG,YAAY,CAAC;gBACzB,cAAc,GAAG,CAAC,CAAC;gBACnB,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,2CAA2C;gBAC3C,cAAc,GAAG,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC;YAClD,CAAC;YACD,cAAc,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,wEAAwE;QACxE,wEAAwE;QACxE,oCAAoC;QACpC,MAAM,UAAU,GAAG,cAAc,GAAG,gBAAgB,CAAC;QACrD,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3F,IAAI,cAAc,IAAI,kBAAkB,IAAI,UAAU,GAAG,kBAAkB,EAAE,CAAC;YAC1E,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EACrE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EACzC,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7E,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC;QAC5C,CAAC;QAED,oBAAoB;QACpB,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAEpE,kDAAkD;QAClD,MAAM,iBAAiB,GAAG,GAAG,IAAI,OAAO,IAAI,IAAA,iCAAgB,EAAC,aAAa,CAAC,CAAC;QAE5E,wCAAwC;QACxC,MAAM,YAAY,GAAG,IAAA,yBAAY,EAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC5G,IAAI,UAAU,GAAG,YAAmC,CAAC;QAErD,wFAAwF;QACxF,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;QAEpE,6DAA6D;QAC7D,kCAAkC;QAClC,gEAAgE;QAChE,6CAA6C;QAC7C,iCAAiC;QACjC,yDAAyD;QACzD,eAAe;QACf,yCAAyC;QACzC,QAAQ;QACR,IAAI;QAEJ,qBAAqB;QACrB,IAAI,CAAC,eAAe,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAW,CAAC;YAC3F,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAE,KAAgB,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7E,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,eAAe,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAW,CAAC;YAC3F,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,KAAgB,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC5I,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,eAAe,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,OAAO,CAAC,EAAY,CAAC;YACxC,MAAM,WAAW,GAAG,CAAC,IAAI,UAAU,CAAC;YACpC,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;gBAClB,MAAM,eAAe,GAAG,OAAO,CAAC,EAAY,CAAC;gBAC7C,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAE,KAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,GAAI,KAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5H,CAAC;iBAAM,CAAC;gBACJ,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAE,KAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAE,KAAgB,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC/H,CAAC;QACL,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,eAAe,IAAI,GAAG,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAW,CAAC;YACrC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACf,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAE,KAAgB,KAAK,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;YACnF,CAAC;iBAAM,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACtB,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAE,KAAgB,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnF,CAAC;QACL,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,eAAe,IAAI,GAAG,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAW,CAAC;YACpC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAE,KAAgB,GAAG,OAAO,CAAC,CAAC;QACxE,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,eAAe,IAAI,GAAG,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAW,CAAC;YACrC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAE,KAAgB,GAAG,QAAQ,CAAC,CAAC;QACzE,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,eAAe,IAAI,KAAK,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACpE,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAU,EAAE;gBAC1C,kBAAkB;gBAClB,IAAI,KAAK,CAAC,KAAe,CAAC,EAAE,CAAC;oBACzB,OAAO,KAAe,CAAC;gBAC3B,CAAC;gBAED,mDAAmD;gBACnD,IAAI,YAAY,GAAkB,IAAI,CAAC;gBAEvC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC;oBAClC,kDAAkD;oBAClD,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;wBACf,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;wBACrB,SAAS;oBACb,CAAC;oBAED,yBAAyB;oBACzB,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAe,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpD,OAAO,GAAG,CAAC,CAAC,CAAC;oBACjB,CAAC;gBACL,CAAC;gBAED,kDAAkD;gBAClD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;oBACxB,OAAO,YAAY,CAAC;gBACxB,CAAC;gBAED,oCAAoC;gBACpC,OAAO,KAAe,CAAC;YAC3B,CAAC,CAAC,CAAC;QACP,CAAC;QAED,iCAAiC;QAEjC,qDAAqD;QACrD,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAEnD,+MAA+M;QAE/M,8BAA8B;QAC9B,6EAA6E;QAC7E,IAAI;QAEJ,mBAAmB;QACnB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;IAC3D,CAAC;IAMO,eAAe,CAAC,OAA4B,EAAE,SAAqB,EAAE,cAAsB,EAC3E,YAAoB,EAAE,eAAuB,EAAE,cAAuB,EACtE,gBAAwD,EACxD,OAA0C,EAAE,SAAiC;;QACjG,MAAM,WAAW,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,eAAe,CAAC;QAC/D,MAAM,SAAS,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC;QACxC,MAAM,SAAS,GAAG,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,GAAG,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,GAAG,IAAI,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAChJ,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,OAAO;QACX,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,SAAS,KAAK,SAAS;YACrC,CAAC,CAAC,mBAAS,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAChE,CAAC,CAAC,yBAAyB,CAAC;QAChC,MAAM,iBAAiB,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjG,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CACR,oCAAoC,SAAS,KAAK;YAClD,aAAa,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,GAAG,eAAe,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,GAAG,GAAG;YAClF,iBAAiB,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,mCAAI,GAAG,WAAW,OAAO,CAAC,CAAC,WAAW,OAAO,CAAC,CAAC,GAAG;YACzF,gBAAgB,YAAY,mBAAmB,cAAc,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG;YACtG,kBAAkB,cAAc,qBAAqB,SAAS,CAAC,MAAM,GAAG;YACxE,kBAAkB,WAAW,iBAAiB,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,GAAG,GAAG;YACjE,qBAAqB,iBAAiB,sBAAsB,iBAAiB,GAAG;YAChF,aAAa,SAAS,GAAG;YACzB,sBAAsB,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,CAAC,GAAG;YAC5C,UAAU,IAAI,CAAC,SAAS,CAAC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,CAAC,CAAC,EAAE,CAClD,CAAC;IACN,CAAC;IAEO,UAAU,CAAC,KAAa,EAAE,IAAY;QAC1C,MAAM,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC;QAEpC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC,CAAE,qBAAqB;YACvC,MAAM,YAAY,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,KAAK,IAAI,YAAY,CAAC,CAAE,2BAA2B;QACvD,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,6BAA6B,CAAC,SAAqB,EAAE,SAAiB,EAAE,oBAAoC,EAAE,SAAS,GAAG,SAAS,CAAC,MAAM;QAE9I,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAEpF,iDAAiD;QACjD,IAAI,SAAS,GAAG,IAAI,CAAC,0BAA0B,GAAG,gBAAgB,EAAE,CAAC;YACjE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC7C,CAAC;QAED,sCAAsC;QACtC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzF,IAAI,WAAmB,CAAC;QACxB,IAAI,IAAI,CAAC,0BAA0B,KAAK,CAAC,EAAE,CAAC;YACxC,WAAW,GAAG,IAAA,yBAAY,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAW,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAC7F,CAAC;aAAM,CAAC;YACJ,WAAW,GAAG,IAAA,yBAAY,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAW,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAC7F,CAAC;QAED,6HAA6H;QAC7H,IAAI,WAAW,GAAG,KAAK,GAAG,oBAAoB,CAAC,qBAAqB,EAAG,CAAC;YACpE,oBAAoB,CAAC,uBAAuB,IAAI,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,yBAAyB,CAAC;QACjH,CAAC;QACD,oBAAoB,CAAC,qBAAqB,GAAG,WAAW,CAAC;QAEzD,mBAAmB;QACnB,WAAW,IAAI,oBAAoB,CAAC,uBAAuB,CAAC;QAE5D,oBAAoB;QACpB,SAAS,IAAI,IAAI,CAAC,0BAA0B,CAAC;QAE7C,uBAAuB;QACvB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IAC9D,CAAC;IAED,+EAA+E;IACvE,oBAAoB,CAAC,KAAa,EAAE,QAAgB;QACxD,kCAAkC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEvC,mCAAmC;QACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,4CAA4C;YAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAE3C,oBAAoB;gBACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;oBACnD,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACpD,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC/C,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAEhD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,YAAY,IAAI,KAAK,IAAI,YAAY,IAAI,GAAG,EAAE,CAAC;oBAC/E,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YACD,+BAA+B;iBAC1B,CAAC;gBACF,oBAAoB;gBACpB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;oBACnD,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAE5C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAClD,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CAEJ;AA9jBD,mCA8jBC"}
@@ -32,6 +32,7 @@ export default class RaftChannelSimulated implements RaftChannel {
32
32
  private _generateAttributeScaledValues;
33
33
  private _generateThermalGridValues;
34
34
  private _fillCustomRawData;
35
+ private _writeFloat32BytesAtOffsets;
35
36
  private _getGridDimensions;
36
37
  private _prepareRawValue;
37
38
  private _writeRawValueToBuffer;
@@ -220,6 +220,45 @@ class RaftChannelSimulated {
220
220
  "us": 100000
221
221
  }
222
222
  },
223
+ "SCD30": {
224
+ "name": "CO2 Sensor",
225
+ "desc": "",
226
+ "manu": "Sensirion",
227
+ "type": "SCD30",
228
+ "clas": ["CO2", "TEMP", "RH"],
229
+ "resp": {
230
+ "b": 24,
231
+ "a": [
232
+ {
233
+ "n": "CO2",
234
+ "t": ">f",
235
+ "at": [6, 7, 9, 10],
236
+ "u": "ppm",
237
+ "r": [0, 40000],
238
+ "f": ".1f",
239
+ "o": "float"
240
+ },
241
+ {
242
+ "n": "temperature",
243
+ "t": ">f",
244
+ "at": [12, 13, 15, 16],
245
+ "u": "C",
246
+ "r": [-40, 125],
247
+ "f": ".2f",
248
+ "o": "float"
249
+ },
250
+ {
251
+ "n": "humidity",
252
+ "t": ">f",
253
+ "at": [18, 19, 21, 22],
254
+ "u": "%RH",
255
+ "r": [0, 100],
256
+ "f": ".2f",
257
+ "o": "float"
258
+ }
259
+ ]
260
+ }
261
+ },
223
262
  "RoboticalServo": {
224
263
  "name": "Robotical Servo",
225
264
  "desc": "Servo",
@@ -795,6 +834,18 @@ class RaftChannelSimulated {
795
834
  dataView.setUint16(bytePos + 1, distanceMm, false);
796
835
  return true;
797
836
  }
837
+ case "SCD30": {
838
+ if (dataBlockSizeBytes < 24) {
839
+ return false;
840
+ }
841
+ const clamp = (value, min, max) => Math.max(min, Math.min(max, value));
842
+ const co2Ppm = clamp(850 + 320 * Math.sin(deviceTimeMs / 6500) + 45 * Math.sin(deviceTimeMs / 1400), 400, 2000);
843
+ const temperatureC = clamp(22 + 2.2 * Math.sin(deviceTimeMs / 11000 + Math.PI / 5), -40, 125);
844
+ const humidityPercent = clamp(48 + 14 * Math.sin(deviceTimeMs / 9000 + Math.PI / 2), 0, 100);
845
+ return (this._writeFloat32BytesAtOffsets(dataView, bytePos, [6, 7, 9, 10], co2Ppm) &&
846
+ this._writeFloat32BytesAtOffsets(dataView, bytePos, [12, 13, 15, 16], temperatureC) &&
847
+ this._writeFloat32BytesAtOffsets(dataView, bytePos, [18, 19, 21, 22], humidityPercent));
848
+ }
798
849
  case "RoboticalLEDRing": {
799
850
  if (dataBlockSizeBytes < 1) {
800
851
  return false;
@@ -858,6 +909,22 @@ class RaftChannelSimulated {
858
909
  return false;
859
910
  }
860
911
  }
912
+ _writeFloat32BytesAtOffsets(dataView, baseBytePos, offsets, value) {
913
+ if (offsets.length < 4) {
914
+ return false;
915
+ }
916
+ const maxOffset = Math.max(...offsets);
917
+ if (baseBytePos + maxOffset >= dataView.byteLength) {
918
+ return false;
919
+ }
920
+ const scratchBuffer = new ArrayBuffer(4);
921
+ new DataView(scratchBuffer).setFloat32(0, value, false);
922
+ const bytes = new Uint8Array(scratchBuffer);
923
+ for (let idx = 0; idx < 4; idx++) {
924
+ dataView.setUint8(baseBytePos + offsets[idx], bytes[idx]);
925
+ }
926
+ return true;
927
+ }
861
928
  _getGridDimensions(attr, repeatCount) {
862
929
  if (attr && typeof attr.resolution === "string") {
863
930
  const match = attr.resolution.match(/(\d+)\s*x\s*(\d+)/i);
@@ -1 +1 @@
1
- {"version":3,"file":"RaftChannelSimulated.js","sourceRoot":"","sources":["../../src/RaftChannelSimulated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RaftChannelSimulated.js","sourceRoot":"","sources":["../../src/RaftChannelSimulated.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import RaftChannel from "./RaftChannel";
2
2
  import RaftMsgHandler, { RaftMsgResultCode } from "./RaftMsgHandler";
3
3
  import RaftCommsStats from "./RaftCommsStats";
4
- import { RaftEventFn, RaftOKFail, RaftFileDownloadResult, RaftProgressCBType, RaftStreamDataProgressCBType, RaftBridgeSetupResp, RaftFileDownloadFn, RaftReportMsg } from "./RaftTypes";
4
+ import { RaftEventFn, RaftOKFail, RaftFileDownloadResult, RaftProgressCBType, RaftStreamDataProgressCBType, RaftBridgeSetupResp, RaftFileDownloadFn, RaftReportMsg, RaftRtStreamHandle, RaftRtStreamOptions } from "./RaftTypes";
5
5
  import RaftSystemUtils from "./RaftSystemUtils";
6
6
  import RaftStreamHandler from "./RaftStreamHandler";
7
7
  import { RaftConnEvent } from "./RaftConnEvents";
@@ -29,6 +29,8 @@ export default class RaftConnector {
29
29
  getStreamHandler(): RaftStreamHandler;
30
30
  private _onEventFn;
31
31
  private _raftUpdateManager;
32
+ private _rtStreamCallbacks;
33
+ private _fallbackRtStreamCallback;
32
34
  /**
33
35
  * RaftConnector constructor
34
36
  * @param getSystemTypeCB - callback to get system type
@@ -89,6 +91,16 @@ export default class RaftConnector {
89
91
  * @returns RaftCommsStats - communication stats
90
92
  * */
91
93
  getCommsStats(): RaftCommsStats;
94
+ /**
95
+ * getOperationQueueDepth
96
+ * @returns number of high-level device operations queued or running
97
+ */
98
+ getOperationQueueDepth(): number;
99
+ /**
100
+ * isOperationBusy
101
+ * @returns true when a high-level device operation is queued or running
102
+ */
103
+ isOperationBusy(): boolean;
92
104
  /**
93
105
  * Get Raft message handler (to allow message sending and receiving)
94
106
  * @returns RaftMsgHandler - Raft message handler
@@ -122,6 +134,7 @@ export default class RaftConnector {
122
134
  *
123
135
  */
124
136
  sendRICRESTMsg(commandName: string, params: object, bridgeID?: number | undefined): Promise<RaftOKFail>;
137
+ private _sendRICRESTMsg;
125
138
  /**
126
139
  * onRxReply - handle a reply message
127
140
  * @param msgHandle number indicating the message that is being replied to (from the original message)
@@ -165,6 +178,11 @@ export default class RaftConnector {
165
178
  * @returns Promise<boolean> true on success
166
179
  */
167
180
  streamData(streamContents: Uint8Array, fileName: string, targetEndpoint: string, progressCallback?: RaftStreamDataProgressCBType): Promise<boolean>;
181
+ /**
182
+ * openRtStream - open an indefinite bidirectional RT stream.
183
+ * The returned handle can send byte blocks and closes with ufEnd.
184
+ */
185
+ openRtStream(options: RaftRtStreamOptions): Promise<RaftRtStreamHandle>;
168
186
  /**
169
187
  * streamAudio - stream audio
170
188
  * @param streamContents audio data