@ovok/native 1.6.27 → 1.6.28

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 (65) hide show
  1. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js +11 -1
  2. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  3. package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +47 -20
  4. package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
  5. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +3 -2
  6. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  7. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.advertisement.js +33 -0
  8. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.advertisement.js.map +1 -0
  9. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +10 -0
  10. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -1
  11. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +43 -12
  12. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  13. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +1 -0
  14. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js +36 -0
  16. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
  17. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +11 -1
  18. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  19. package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +46 -20
  20. package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
  21. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +4 -3
  22. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  23. package/lib/module/modules/bt-management/services/devices/lepu/lepu.advertisement.js +27 -0
  24. package/lib/module/modules/bt-management/services/devices/lepu/lepu.advertisement.js.map +1 -0
  25. package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +10 -0
  26. package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -1
  27. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +43 -12
  28. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  29. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +1 -0
  30. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  31. package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js +36 -0
  32. package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
  33. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  34. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts +3 -2
  35. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
  36. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  37. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.advertisement.d.ts +7 -0
  38. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.advertisement.d.ts.map +1 -0
  39. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +2 -0
  40. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -1
  41. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +10 -1
  42. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  43. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +0 -1
  44. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  45. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +0 -1
  46. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +4 -1
  48. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  49. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  50. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts +3 -2
  51. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
  52. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  53. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.advertisement.d.ts +7 -0
  54. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.advertisement.d.ts.map +1 -0
  55. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +2 -0
  56. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -1
  57. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +10 -1
  58. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  59. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +0 -1
  60. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  61. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +0 -1
  62. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
  63. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +4 -1
  64. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  65. package/package.json +1 -1
@@ -16,7 +16,7 @@ const assertProtocol = (id, protocol) => {
16
16
  };
17
17
  const assertStartBytes = (id, startBytes) => {
18
18
  if (!Array.isArray(startBytes) || startBytes.length === 0) {
19
- throw customDeviceError(id, "lepu.startBytes", "must list at least one frame start byte, such as [\"a5\"]");
19
+ throw customDeviceError(id, "lepu.startBytes", 'must list at least one frame start byte, such as ["a5"]');
20
20
  }
21
21
  return startBytes.map((byte, index) => {
22
22
  const normalized = String(byte).toLowerCase();
@@ -96,6 +96,10 @@ export const compileCustomLepu = (id, spec, serviceUuids) => {
96
96
  if (!serviceUuids.includes(serviceUuid)) {
97
97
  throw customDeviceError(id, "lepu.write.serviceUuid", `is "${serviceUuid}", which this device does not declare among its services`);
98
98
  }
99
+ const rejectEncryptionAtBytes = lepu.rejectEncryptionAtBytes;
100
+ if (rejectEncryptionAtBytes !== undefined && (!Array.isArray(rejectEncryptionAtBytes) || rejectEncryptionAtBytes.some(index => !Number.isInteger(index) || index < 0))) {
101
+ throw customDeviceError(id, "lepu.rejectEncryptionAtBytes", "must be a list of non-negative manufacturer-data byte indexes");
102
+ }
99
103
  return {
100
104
  ...(protocol === undefined ? {} : {
101
105
  protocol
@@ -115,6 +119,12 @@ export const compileCustomLepu = (id, spec, serviceUuids) => {
115
119
  ...(lepu.setClockBeforeInfo === undefined ? {} : {
116
120
  setClockBeforeInfo: Boolean(lepu.setClockBeforeInfo)
117
121
  }),
122
+ ...(lepu.manufacturerDataProtocol === undefined ? {} : {
123
+ manufacturerDataProtocol: lepu.manufacturerDataProtocol
124
+ }),
125
+ ...(rejectEncryptionAtBytes === undefined ? {} : {
126
+ rejectEncryptionAtBytes: [...rejectEncryptionAtBytes]
127
+ }),
118
128
  write: {
119
129
  serviceUuid,
120
130
  characteristicUuid: normalizeBleUuid(id, "lepu.write.characteristicUuid", lepu.write?.characteristicUuid)
@@ -1 +1 @@
1
- {"version":3,"names":["customDeviceError","normalizeBleUuid","HEX_BYTE","MAX_OPCODE","MAX_DEVICE_TYPE","assertProtocol","id","protocol","undefined","String","assertStartBytes","startBytes","Array","isArray","length","map","byte","index","normalized","toLowerCase","test","assertDeviceTypes","deviceTypes","deviceType","Number","isInteger","assertPollCommand","lepu","pollCommand","compileCustomLepu","spec","serviceUuids","services","some","service","write","expectedDeviceTypes","ecgFileDecoder","requestStartByte","serviceUuid","includes","writeWithoutResponse","Boolean","setClockBeforeInfo","characteristicUuid"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/compile-custom-lepu.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["customDeviceError","normalizeBleUuid","HEX_BYTE","MAX_OPCODE","MAX_DEVICE_TYPE","assertProtocol","id","protocol","undefined","String","assertStartBytes","startBytes","Array","isArray","length","map","byte","index","normalized","toLowerCase","test","assertDeviceTypes","deviceTypes","deviceType","Number","isInteger","assertPollCommand","lepu","pollCommand","compileCustomLepu","spec","serviceUuids","services","some","service","write","expectedDeviceTypes","ecgFileDecoder","requestStartByte","serviceUuid","includes","rejectEncryptionAtBytes","writeWithoutResponse","Boolean","setClockBeforeInfo","manufacturerDataProtocol","characteristicUuid"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/compile-custom-lepu.ts"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  import { sentryLogger } from "../../../../helpers/utils/sentry-logger.js";
4
+ import { viatomOxygenUsesV2 } from "../lepu/lepu.advertisement.js";
4
5
  import { LepuCommandBuilder } from "../lepu/lepu.command-builder.js";
5
6
  import { LepuIdentityGate } from "../lepu/lepu.identity-gate.js";
7
+ import { lepuTransports } from "../lepu/lepu.transports.js";
6
8
 
7
9
  /** Registration guarantees at least one start byte; this keeps the indexed read total. */
8
10
  const DEFAULT_START_BYTE = "a5";
@@ -34,24 +36,48 @@ const recordLepuIdentity = (deviceData, info) => {
34
36
  protocolMaxLength: info.protocolMaxLength
35
37
  });
36
38
  };
37
- const createLepuSequencer = (lepu, report, clockSync) => new LepuIdentityGate({
38
- write: {
39
- serviceUuid: lepu.write.serviceUuid,
40
- characteristicUuid: lepu.write.characteristicUuid
41
- },
42
- builder: new LepuCommandBuilder(lepu.requestStartByte ?? lepu.startBytes[0] ?? DEFAULT_START_BYTE, {
43
- fixedSequence: lepu.protocol === "viatom-oxygen"
44
- }),
45
- protocol: lepu.protocol,
46
- writeWithoutResponse: lepu.writeWithoutResponse,
47
- setClockBeforeInfo: lepu.setClockBeforeInfo,
48
- clockSync,
49
- expectedDeviceTypes: lepu.expectedDeviceTypes,
50
- ...(lepu.pollCommand === undefined ? {} : {
51
- pollCommand: lepu.pollCommand
52
- }),
53
- onIdentified: report.onIdentified,
54
- onRefused: report.onRefused
55
- });
56
- export { createLepuSequencer, recordLepuIdentity };
39
+ const createLepuSequencer = (lepu, report, clockSync, manufacturerData) => {
40
+ const selected = selectLepu(lepu, manufacturerData);
41
+ return new LepuIdentityGate({
42
+ write: {
43
+ serviceUuid: selected.write.serviceUuid,
44
+ characteristicUuid: selected.write.characteristicUuid
45
+ },
46
+ builder: new LepuCommandBuilder(selected.requestStartByte ?? selected.startBytes[0] ?? DEFAULT_START_BYTE, {
47
+ fixedSequence: selected.protocol === "viatom-oxygen"
48
+ }),
49
+ protocol: selected.protocol,
50
+ writeWithoutResponse: selected.writeWithoutResponse,
51
+ setClockBeforeInfo: selected.setClockBeforeInfo,
52
+ clockSync,
53
+ expectedDeviceTypes: selected.expectedDeviceTypes,
54
+ ...(selected.pollCommand === undefined ? {} : {
55
+ pollCommand: selected.pollCommand
56
+ }),
57
+ manufacturerData,
58
+ rejectEncryptionAtBytes: selected.rejectEncryptionAtBytes,
59
+ onIdentified: report.onIdentified,
60
+ onRefused: report.onRefused
61
+ });
62
+ };
63
+ const selectLepu = (lepu, manufacturerData) => {
64
+ if (lepu.manufacturerDataProtocol !== "viatom-oxygen" || !viatomOxygenUsesV2(manufacturerData)) {
65
+ return lepu;
66
+ }
67
+ const transport = lepuTransports.aw1;
68
+ return {
69
+ ...lepu,
70
+ protocol: "v2",
71
+ startBytes: ["a5"],
72
+ requestStartByte: "a5",
73
+ write: {
74
+ serviceUuid: transport.serviceUuid,
75
+ characteristicUuid: transport.writeUuid
76
+ },
77
+ pollCommand: 0x02,
78
+ writeWithoutResponse: true,
79
+ setClockBeforeInfo: false
80
+ };
81
+ };
82
+ export { createLepuSequencer, recordLepuIdentity, selectLepu };
57
83
  //# sourceMappingURL=custom-lepu-sequencer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["sentryLogger","LepuCommandBuilder","LepuIdentityGate","DEFAULT_START_BYTE","recordLepuIdentity","deviceData","info","sn","serialNumber","deviceId","id","deviceName","name","deviceType","branchCode","protocolMaxLength","createLepuSequencer","lepu","report","clockSync","write","serviceUuid","characteristicUuid","builder","requestStartByte","startBytes","fixedSequence","protocol","writeWithoutResponse","setClockBeforeInfo","expectedDeviceTypes","pollCommand","undefined","onIdentified","onRefused"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4CAAyC;AAKtE,SAASC,kBAAkB,QAAQ,iCAA8B;AAEjE,SAASC,gBAAgB,QAAQ,+BAA4B;;AAE7D;AACA,MAAMC,kBAAkB,GAAG,IAAI;AAO/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAGA,CACzBC,UAAsB,EACtBC,IAAoB,KACX;EACTD,UAAU,CAACE,EAAE,GAAGD,IAAI,CAACE,YAAY;EAEjCR,YAAY,CAAC,MAAM,EAAE,sCAAsC,EAAE;IAC3DS,QAAQ,EAAEJ,UAAU,CAACK,EAAE;IACvBC,UAAU,EAAEN,UAAU,CAACO,IAAI;IAC3BC,UAAU,EAAEP,IAAI,CAACO,UAAU;IAC3BC,UAAU,EAAER,IAAI,CAACQ,UAAU;IAC3BC,iBAAiB,EAAET,IAAI,CAACS;EAC1B,CAAC,CAAC;AACJ,CAAC;AAED,MAAMC,mBAAmB,GAAGA,CAC1BC,IAAoB,EACpBC,MAAsB,EACtBC,SAA4B,KAE5B,IAAIjB,gBAAgB,CAAC;EACnBkB,KAAK,EAAE;IACLC,WAAW,EAAEJ,IAAI,CAACG,KAAK,CAACC,WAAW;IACnCC,kBAAkB,EAAEL,IAAI,CAACG,KAAK,CAACE;EACjC,CAAC;EACDC,OAAO,EAAE,IAAItB,kBAAkB,CAACgB,IAAI,CAACO,gBAAgB,IAAIP,IAAI,CAACQ,UAAU,CAAC,CAAC,CAAC,IAAItB,kBAAkB,EAAE;IACjGuB,aAAa,EAAET,IAAI,CAACU,QAAQ,KAAK;EACnC,CAAC,CAAC;EACFA,QAAQ,EAAEV,IAAI,CAACU,QAAQ;EACvBC,oBAAoB,EAAEX,IAAI,CAACW,oBAAoB;EAC/CC,kBAAkB,EAAEZ,IAAI,CAACY,kBAAkB;EAC3CV,SAAS;EACTW,mBAAmB,EAAEb,IAAI,CAACa,mBAAmB;EAC7C,IAAIb,IAAI,CAACc,WAAW,KAAKC,SAAS,GAAG,CAAC,CAAC,GAAG;IAAED,WAAW,EAAEd,IAAI,CAACc;EAAY,CAAC,CAAC;EAC5EE,YAAY,EAAEf,MAAM,CAACe,YAAY;EACjCC,SAAS,EAAEhB,MAAM,CAACgB;AACpB,CAAC,CAAC;AAEJ,SAASlB,mBAAmB,EAAEZ,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["sentryLogger","viatomOxygenUsesV2","LepuCommandBuilder","LepuIdentityGate","lepuTransports","DEFAULT_START_BYTE","recordLepuIdentity","deviceData","info","sn","serialNumber","deviceId","id","deviceName","name","deviceType","branchCode","protocolMaxLength","createLepuSequencer","lepu","report","clockSync","manufacturerData","selected","selectLepu","write","serviceUuid","characteristicUuid","builder","requestStartByte","startBytes","fixedSequence","protocol","writeWithoutResponse","setClockBeforeInfo","expectedDeviceTypes","pollCommand","undefined","rejectEncryptionAtBytes","onIdentified","onRefused","manufacturerDataProtocol","transport","aw1","writeUuid"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4CAAyC;AAKtE,SAASC,kBAAkB,QAAQ,+BAA4B;AAC/D,SAASC,kBAAkB,QAAQ,iCAA8B;AAEjE,SAASC,gBAAgB,QAAQ,+BAA4B;AAC7D,SAASC,cAAc,QAAQ,4BAAyB;;AAExD;AACA,MAAMC,kBAAkB,GAAG,IAAI;AAO/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAGA,CACzBC,UAAsB,EACtBC,IAAoB,KACX;EACTD,UAAU,CAACE,EAAE,GAAGD,IAAI,CAACE,YAAY;EAEjCV,YAAY,CAAC,MAAM,EAAE,sCAAsC,EAAE;IAC3DW,QAAQ,EAAEJ,UAAU,CAACK,EAAE;IACvBC,UAAU,EAAEN,UAAU,CAACO,IAAI;IAC3BC,UAAU,EAAEP,IAAI,CAACO,UAAU;IAC3BC,UAAU,EAAER,IAAI,CAACQ,UAAU;IAC3BC,iBAAiB,EAAET,IAAI,CAACS;EAC1B,CAAC,CAAC;AACJ,CAAC;AAED,MAAMC,mBAAmB,GAAGA,CAC1BC,IAAoB,EACpBC,MAAsB,EACtBC,SAA4B,EAC5BC,gBAAyB,KACJ;EACrB,MAAMC,QAAQ,GAAGC,UAAU,CAACL,IAAI,EAAEG,gBAAgB,CAAC;EAEnD,OAAO,IAAInB,gBAAgB,CAAC;IAC1BsB,KAAK,EAAE;MACLC,WAAW,EAAEH,QAAQ,CAACE,KAAK,CAACC,WAAW;MACvCC,kBAAkB,EAAEJ,QAAQ,CAACE,KAAK,CAACE;IACrC,CAAC;IACDC,OAAO,EAAE,IAAI1B,kBAAkB,CAC7BqB,QAAQ,CAACM,gBAAgB,IAAIN,QAAQ,CAACO,UAAU,CAAC,CAAC,CAAC,IAAIzB,kBAAkB,EACzE;MAAE0B,aAAa,EAAER,QAAQ,CAACS,QAAQ,KAAK;IAAgB,CACzD,CAAC;IACDA,QAAQ,EAAET,QAAQ,CAACS,QAAQ;IAC3BC,oBAAoB,EAAEV,QAAQ,CAACU,oBAAoB;IACnDC,kBAAkB,EAAEX,QAAQ,CAACW,kBAAkB;IAC/Cb,SAAS;IACTc,mBAAmB,EAAEZ,QAAQ,CAACY,mBAAmB;IACjD,IAAIZ,QAAQ,CAACa,WAAW,KAAKC,SAAS,GAClC,CAAC,CAAC,GACF;MAAED,WAAW,EAAEb,QAAQ,CAACa;IAAY,CAAC,CAAC;IAC1Cd,gBAAgB;IAChBgB,uBAAuB,EAAEf,QAAQ,CAACe,uBAAuB;IACzDC,YAAY,EAAEnB,MAAM,CAACmB,YAAY;IACjCC,SAAS,EAAEpB,MAAM,CAACoB;EACpB,CAAC,CAAC;AACJ,CAAC;AAED,MAAMhB,UAAU,GAAGA,CACjBL,IAAoB,EACpBG,gBAAyB,KACN;EACnB,IACEH,IAAI,CAACsB,wBAAwB,KAAK,eAAe,IACjD,CAACxC,kBAAkB,CAACqB,gBAAgB,CAAC,EACrC;IACA,OAAOH,IAAI;EACb;EAEA,MAAMuB,SAAS,GAAGtC,cAAc,CAACuC,GAAG;EAEpC,OAAO;IACL,GAAGxB,IAAI;IACPa,QAAQ,EAAE,IAAI;IACdF,UAAU,EAAE,CAAC,IAAI,CAAC;IAClBD,gBAAgB,EAAE,IAAI;IACtBJ,KAAK,EAAE;MACLC,WAAW,EAAEgB,SAAS,CAAChB,WAAW;MAClCC,kBAAkB,EAAEe,SAAS,CAACE;IAChC,CAAC;IACDR,WAAW,EAAE,IAAI;IACjBH,oBAAoB,EAAE,IAAI;IAC1BC,kBAAkB,EAAE;EACtB,CAAC;AACH,CAAC;AAED,SAAShB,mBAAmB,EAAEZ,kBAAkB,EAAEkB,UAAU","ignoreList":[]}
@@ -11,7 +11,7 @@ import { LepuCommandBuilder } from "../lepu/lepu.command-builder.js";
11
11
  import { LepuEcgTransferSequencer } from "../lepu/lepu.ecg-transfer.js";
12
12
  import { LepuFrameReader } from "../lepu/lepu.frame-reader.js";
13
13
  import { decodeViatomEcgRecording, recordedAtFromViatomFileName } from "../viatom/viatom.ecg-files.js";
14
- import { createLepuSequencer, recordLepuIdentity } from "./custom-lepu-sequencer.js";
14
+ import { createLepuSequencer, recordLepuIdentity, selectLepu } from "./custom-lepu-sequencer.js";
15
15
  /**
16
16
  * Runs a device registered with defineCustomDevice.
17
17
  *
@@ -31,7 +31,8 @@ export class CustomDevice extends BTManagedDevice {
31
31
  this.definition = definition;
32
32
  this.deviceData.clockSync = definition.clockSync;
33
33
  this.deliveredEcgFileNames = new Set(params.deliveredEcgFileNames ?? []);
34
- this.mainServices = definition.mainServices;
34
+ const selectedLepu = definition.lepu ? selectLepu(definition.lepu, device.manufacturerData ?? undefined) : undefined;
35
+ this.mainServices = selectedLepu?.manufacturerDataProtocol === "viatom-oxygen" ? definition.mainServices.filter(service => service.uuid === selectedLepu.write.serviceUuid) : definition.mainServices;
35
36
  this.stuckDataTimeout = definition.stuckDataTimeout;
36
37
  this.reportsBondedEvent = definition.reportsBondedEvent === true;
37
38
  if (definition.preferredMtu !== undefined) {
@@ -90,7 +91,7 @@ export class CustomDevice extends BTManagedDevice {
90
91
  return createLepuSequencer(lepu, {
91
92
  onIdentified: this.onIdentified,
92
93
  onRefused: this.onIdentityRefused
93
- }, clockSync);
94
+ }, clockSync, this.device.manufacturerData ?? undefined);
94
95
  };
95
96
  }
96
97
  reportViatomEcgFile = file => {
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","BTManagedDevice","LepuCommandBuilder","LepuEcgTransferSequencer","LepuFrameReader","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","CustomDevice","validators","Map","constructor","device","params","definition","oneReadingPerConnection","deviceData","clockSync","deliveredEcgFileNames","Set","mainServices","stuckDataTimeout","reportsBondedEvent","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","lepu","frameReader","startBytes","createCommandSequencer","fileTransfer","write","serviceUuid","characteristicUuid","builder","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","skipFiles","acceptFile","name","ecgFileDecoder","test","afterTransfer","pollCommand","build","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","file","decoded","content","samples","length","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","info","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","decorateReading","reading","recordOffset","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","measurements","discard","measurement","reportMeasurement","fieldNames","rejection","map","fields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","BTManagedDevice","LepuCommandBuilder","LepuEcgTransferSequencer","LepuFrameReader","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","selectLepu","CustomDevice","validators","Map","constructor","device","params","definition","oneReadingPerConnection","deviceData","clockSync","deliveredEcgFileNames","Set","selectedLepu","lepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","stuckDataTimeout","reportsBondedEvent","preferredMtu","declareLepuProtocol","frames","forEach","frame","set","frameReader","startBytes","createCommandSequencer","fileTransfer","characteristicUuid","builder","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","skipFiles","acceptFile","name","ecgFileDecoder","test","afterTransfer","pollCommand","build","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","file","decoded","content","samples","length","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","info","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","decorateReading","reading","recordOffset","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","measurements","discard","measurement","reportMeasurement","fieldNames","rejection","map","fields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":";;AAAA;AACA,SAASA,kBAAkB,QAAQ,YAAY;AAG/C,SAASC,QAAQ,QAAQ,6BAA0B;AAUnD,SAASC,oBAAoB,QAAQ,0CAAuC;AAC5E,SAASC,gBAAgB,QAAQ,qCAAkC;AACnE,SACEC,qBAAqB,EACrBC,mBAAmB,QACd,yCAAsC;AAC7C,SAASC,eAAe,QAAQ,yBAAsB;AACtD,SAASC,kBAAkB,QAAQ,iCAA8B;AAEjE,SAASC,wBAAwB,QAAQ,8BAA2B;AAEpE,SAASC,eAAe,QAAQ,8BAA2B;AAC3D,SACEC,wBAAwB,EACxBC,4BAA4B,QACvB,+BAA4B;AAEnC,SACEC,mBAAmB,EACnBC,kBAAkB,EAClBC,UAAU,QACL,4BAAyB;AAKhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,SAAST,eAAe,CAAiB;EAO/CU,UAAU,GAAG,IAAIC,GAAG,CAAsC,CAAC;EAE5EC,WAAWA,CACTC,MAAc,EACdC,MAA0C,EAC1CC,UAAkC,EAClC;IACA,KAAK,CAACF,MAAM,EAAE;MACZ,GAAGC,MAAM;MACTE,uBAAuB,EACrBF,MAAM,CAACE,uBAAuB,IAAID,UAAU,CAACC;IACjD,CAAC,CAAC;IAEF,IAAI,CAACD,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACE,UAAU,CAACC,SAAS,GAAGH,UAAU,CAACG,SAAS;IAChD,IAAI,CAACC,qBAAqB,GAAG,IAAIC,GAAG,CAACN,MAAM,CAACK,qBAAqB,IAAI,EAAE,CAAC;IACxE,MAAME,YAAY,GAAGN,UAAU,CAACO,IAAI,GAChCd,UAAU,CAACO,UAAU,CAACO,IAAI,EAAET,MAAM,CAACU,gBAAgB,IAAIC,SAAS,CAAC,GACjEA,SAAS;IAEb,IAAI,CAACC,YAAY,GACfJ,YAAY,EAAEK,wBAAwB,KAAK,eAAe,GACtDX,UAAU,CAACU,YAAY,CAACE,MAAM,CAC3BC,OAAO,IAAKA,OAAO,CAACC,IAAI,KAAKR,YAAY,CAACS,KAAK,CAACC,WACnD,CAAC,GACDhB,UAAU,CAACU,YAAY;IAC7B,IAAI,CAACO,gBAAgB,GAAGjB,UAAU,CAACiB,gBAAgB;IACnD,IAAI,CAACC,kBAAkB,GAAGlB,UAAU,CAACkB,kBAAkB,KAAK,IAAI;IAEhE,IAAIlB,UAAU,CAACmB,YAAY,KAAKV,SAAS,EAAE;MACzC,IAAI,CAACU,YAAY,GAAGnB,UAAU,CAACmB,YAAY;IAC7C;IAEA,IAAI,CAACC,mBAAmB,CAACpB,UAAU,EAAED,MAAM,CAACI,SAAS,CAAC;IAEtDH,UAAU,CAACqB,MAAM,CAACC,OAAO,CAAC,CAACC,KAAK,EAAET,IAAI,KAAK;MACzC,IAAI,CAACnB,UAAU,CAAC6B,GAAG,CAACV,IAAI,EAAEjC,oBAAoB,CAAC0C,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACUH,mBAAmBA,CACzBpB,UAAkC,EAClCG,SAA0D,EACpD;IACN,MAAMI,IAAI,GAAGP,UAAU,CAACO,IAAI;IAE5B,IAAI,CAACA,IAAI,EAAE;MACT;IACF;IAEA,IAAI,CAACkB,WAAW,GAAG,IAAIrC,eAAe,CAACmB,IAAI,CAACmB,UAAU,CAAC;IAEvD,IAAI,CAACC,sBAAsB,GAAG,MAAM;MAClC,IAAIpB,IAAI,CAACqB,YAAY,KAAK,KAAK,EAAE;QAC/B,OAAO,IAAIzC,wBAAwB,CAAC;UAClC4B,KAAK,EAAE;YACLC,WAAW,EAAET,IAAI,CAACQ,KAAK,CAACC,WAAW;YACnCa,kBAAkB,EAAEtB,IAAI,CAACQ,KAAK,CAACc;UACjC,CAAC;UACDC,OAAO,EAAE,IAAI5C,kBAAkB,CAACqB,IAAI,CAACmB,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;UAC3DvB,SAAS;UACT4B,mBAAmB,EAAExB,IAAI,CAACwB,mBAAmB;UAC7CC,YAAY,EAAE,IAAI,CAACA,YAAY;UAC/BC,SAAS,EAAE,IAAI,CAACC,iBAAiB;UACjCC,MAAM,EAAE,IAAI,CAACC,mBAAmB;UAChCC,SAAS,EAAE,IAAI,CAACjC,qBAAqB;UACrCkC,UAAU,EAAGC,IAAI,IACfhC,IAAI,CAACiC,cAAc,KAAK,WAAW,IAAI,KAAK,CAACC,IAAI,CAACF,IAAI,CAAC;UACzDG,aAAa,EAAEnC,IAAI,CAACoC,WAAW,GAC3B,MAAM,CACJ;YACE3B,WAAW,EAAET,IAAI,CAACQ,KAAK,CAACC,WAAW;YACnCa,kBAAkB,EAAEtB,IAAI,CAACQ,KAAK,CAACc,kBAAkB;YACjDN,KAAK,EAAE,IAAIrC,kBAAkB,CAC3BqB,IAAI,CAACmB,UAAU,CAAC,CAAC,CAAC,IAAI,IACxB,CAAC,CAACkB,KAAK,CAACrC,IAAI,CAACoC,WAAY;UAC3B,CAAC,CACF,GACDlC,SAAS;UACboC,OAAO,EAAGC,MAAM,IACd,IAAI,CAACD,OAAO,GAAG,IAAIE,KAAK,CAAC,eAAeD,MAAM,EAAE,CAAC,CAAC;UACpDE,UAAU,EAAGC,QAAQ,IACnB,IAAI,CAACC,iBAAiB,GAAG;YACvBhD,UAAU,EAAE,IAAI,CAACA,UAAU;YAC3BiD,IAAI,EAAE,kBAAkB;YACxBF,QAAQ,EAAE;cACRG,OAAO,EAAEH,QAAQ,CAACI,aAAa;cAC/BC,KAAK,EAAEL,QAAQ,CAACM;YAClB;UACF,CAAC;QACL,CAAC,CAAC;MACJ;MAEA,OAAOhE,mBAAmB,CACxBgB,IAAI,EACJ;QACEyB,YAAY,EAAE,IAAI,CAACA,YAAY;QAC/BC,SAAS,EAAE,IAAI,CAACC;MAClB,CAAC,EACD/B,SAAS,EACT,IAAI,CAACL,MAAM,CAACU,gBAAgB,IAAIC,SAClC,CAAC;IACH,CAAC;EACH;EAEQ2B,mBAAmB,GAAIoB,IAAc,IAAW;IACtD,MAAMC,OAAO,GAAGpE,wBAAwB,CAACmE,IAAI,CAACE,OAAO,CAAC;IAEtD,IAAID,OAAO,CAACE,OAAO,CAACC,MAAM,KAAK,CAAC,EAAE;MAChC,IAAI,CAACf,OAAO,GACV,IAAIE,KAAK,CAAC,qBAAqBS,IAAI,CAACjB,IAAI,mBAAmB,CAC7D,CAAC;MAED;IACF;IAEA,IAAI,CAACsB,QAAQ,GAAG;MACdC,kBAAkB,EAAEnF,kBAAkB,CAACoF,GAAG;MAC1CC,QAAQ,EAAEpF,QAAQ,CAACqF,MAAM;MACzBC,aAAa,EAAET,OAAO,CAACE,OAAO;MAC9BQ,QAAQ,EAAEV,OAAO,CAACU,QAAQ;MAC1BC,UAAU,EAAE9E,4BAA4B,CAACkE,IAAI,CAACjB,IAAI,CAAC;MACnD8B,WAAW,EAAEb,IAAI,CAACjB;IACpB,CAA4B,CAAC;EAC/B,CAAC;EAEOP,YAAY,GAAIsC,IAAoB,IAC1C9E,kBAAkB,CAAC,IAAI,CAACU,UAAU,EAAEoE,IAAI,CAAC;EAEnCpC,iBAAiB,GAAIY,MAAc,IAAW;IACpD,IAAI,CAACD,OAAO,GACV,IAAIE,KAAK,CACP,kBAAkB,IAAI,CAAC/C,UAAU,CAACuE,EAAE,wBAAwBzB,MAAM,GACpE,CACF,CAAC;EACH,CAAC;EAES0B,eAAe,GAAGA,CAACC,GAAa,EAAE3D,IAAY,KAAc;IACpE,MAAM4D,QAAQ,GAAG,IAAI,CAAC/E,UAAU,CAACgF,GAAG,CAACC,MAAM,CAAC9D,IAAI,IAAI,EAAE,CAAC,CAAC+D,WAAW,CAAC,CAAC,CAAC;IAEtE,IAAI,CAACH,QAAQ,EAAE;MACb,OAAO,KAAK;IACd;IAEA,OAAOA,QAAQ,CAACD,GAAG,CAAC;EACtB,CAAC;;EAED;AACF;AACA;AACA;AACA;EACYK,qBAAqB,GAC7BC,IAAuD,IACD;IACtD,IAAI;MACF,IAAI,IAAI,CAACC,2BAA2B,CAACD,IAAI,CAAC,EAAE;QAC1C,IAAI,CAACE,WAAW,CAACF,IAAI,CAAC;MACxB;IACF,CAAC,CAAC,OAAOG,KAAK,EAAE;MACd,IAAI,CAACrC,OAAO,GAAGqC,KAAc,CAAC;IAChC;IAEA,OAAO;MACL,GAAGH,IAAI;MACPI,WAAW,EAAE;QAAE,GAAGJ,IAAI,CAACI,WAAW;QAAEnB,QAAQ,EAAEpF,QAAQ,CAACwG;MAAM;IAC/D,CAAC;EACH,CAAC;;EAED;EACUJ,2BAA2B,GACnCK,KAAwD,IAC5C,IAAI;;EAElB;AACF;AACA;AACA;EACYC,mBAAmBA,CAAA,EAAmB;IAC9C;EACF;;EAEA;EACUC,eAAe,GAAGA,CAC1BC,OAAqB,EACrBjE,KAAyB,EACzBkE,YAAqB,KAEpB,IAAI,CAACzF,UAAU,CAACuF,eAAe,GAAGC,OAAO,EAAEjE,KAAK,EAAEkE,YAAY,CAAC,IAE9CD,OAAO;;EAE3B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACUP,WAAWA,CAACF,IAAuD,EAAE;IAC3E,MAAMW,QAAQ,GAAGX,IAAI,CAACI,WAAW,CAACQ,eAAe;IAEjD,IAAI,CAACD,QAAQ,IAAI,CAACX,IAAI,CAACxD,KAAK,EAAE;MAC5B,IAAI,CAACqE,MAAM,CAACb,IAAI,CAACc,UAAU,EAAEd,IAAI,CAACI,WAAW,EAAEJ,IAAI,CAACxD,KAAK,CAAC;MAE1D;IACF;IAEA,MAAMuE,OAAO,GAAGC,IAAI,CAACC,KAAK,CACxB,CAACjB,IAAI,CAACxD,KAAK,CAACqC,MAAM,GAAG8B,QAAQ,CAACO,IAAI,IAAIP,QAAQ,CAACQ,WACjD,CAAC;IAED,KAAK,IAAIC,MAAM,GAAG,CAAC,EAAEA,MAAM,GAAGL,OAAO,EAAEK,MAAM,EAAE,EAAE;MAC/C,IAAI,CAACP,MAAM,CACT9G,gBAAgB,CACdiG,IAAI,CAACxD,KAAK,EACVwD,IAAI,CAACI,WAAW,EAChBO,QAAQ,CAACO,IAAI,GAAGE,MAAM,GAAGT,QAAQ,CAACQ,WACpC,CAAC,EACDnB,IAAI,CAACI,WAAW,EAChBJ,IAAI,CAACxD,KAAK,EACVmE,QAAQ,CAACO,IAAI,GAAGE,MAAM,GAAGT,QAAQ,CAACQ,WACpC,CAAC;IACH;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACUN,MAAMA,CACZC,UAAwB,EACxBV,WAAwB,EACxB5D,KAAyB,EACzBkE,YAAqB,EACf;IACN,MAAMW,YAAY,GAAGjB,WAAW,CAACiB,YAAY,IAAI,EAAE;IAEnD,IAAIA,YAAY,CAACxC,MAAM,KAAK,CAAC,EAAE;MAC7B,IAAI,CAACyC,OAAO,CAAC,4CAA4C,EAAER,UAAU,CAAC;MAEtE;IACF;IAEAO,YAAY,CAAC9E,OAAO,CAAEgF,WAAW,IAC/B,IAAI,CAACC,iBAAiB,CAACV,UAAU,EAAES,WAAW,EAAE/E,KAAK,EAAEkE,YAAY,CACrE,CAAC;EACH;EAEQY,OAAOA,CAACvD,MAAc,EAAE+C,UAAwB,EAAQ;IAC9D,IAAI,CAAChD,OAAO,GACV9D,qBAAqB,CAAC,IAAI,CAACiB,UAAU,CAACuE,EAAE,EAAEzB,MAAM,EAAE+C,UAAU,CAC9D,CAAC;EACH;EAEQU,iBAAiBA,CACvBV,UAAwB,EACxBS,WAA6B,EAC7B/E,KAAyB,EACzBkE,YAAqB,EACf;IACN,MAAMD,OAAO,GAAG;MACdxB,QAAQ,EAAE6B,UAAU,CAAC7B,QAAQ;MAC7BF,kBAAkB,EAAEwC,WAAW,CAACxC;IAClC,CAAiB;IAEjBwC,WAAW,CAACE,UAAU,CAAClF,OAAO,CAAEiB,IAAI,IAAK;MACvCiD,OAAO,CAACjD,IAAI,CAAC,GAAGsD,UAAU,CAACtD,IAAI,CAAC;IAClC,CAAC,CAAC;IAEF,MAAMkE,SAAS,GAAGH,WAAW,CAACE,UAAU,CACrCE,GAAG,CAAEnE,IAAI,IACRvD,mBAAmB,CACjB,IAAI,CAACgB,UAAU,CAAC2G,MAAM,EACtBL,WAAW,CAACxC,kBAAkB,EAC9BvB,IAAI,EACJiD,OAAO,CAACjD,IAAI,CACd,CACF,CAAC,CACAqE,IAAI,CAAEC,OAAO,IAAKA,OAAO,KAAKpG,SAAS,CAAC;IAE3C,IAAIgG,SAAS,EAAE;MACb,IAAI,CAACJ,OAAO,CAACI,SAAS,EAAEjB,OAAO,CAAC;MAEhC;IACF;IAEA,IAAI,CAAC3B,QAAQ,GAAG,IAAI,CAAC0B,eAAe,CAACC,OAAO,EAAEjE,KAAK,EAAEkE,YAAY,CAAC,CAAC;EACrE;AACF","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ import { base64ToHex } from "../../../utils/base-64-to-hex.js";
4
+ import { hexToByte } from "../../../utils/hex-to-byte.js";
5
+ const PROTOCOL_MASK = 0x0f;
6
+ const ENCRYPTION_MASK = 0xf0;
7
+ const ENCRYPTION_REQUIRED = 0x20;
8
+ const VIATOM_OXYGEN_V2_BYTES = [3, 4];
9
+ const manufacturerBytes = manufacturerData => {
10
+ if (!manufacturerData) {
11
+ return [];
12
+ }
13
+ try {
14
+ return base64ToHex(manufacturerData).map(hexToByte);
15
+ } catch {
16
+ return [];
17
+ }
18
+ };
19
+ const manufacturerByte = (manufacturerData, index) => manufacturerBytes(manufacturerData)[index];
20
+
21
+ /** Returns true when the advertised byte says that only encrypted traffic is accepted. */
22
+ const advertisementRequiresEncryption = (manufacturerData, byteIndexes = []) => byteIndexes.some(index => ((manufacturerByte(manufacturerData, index) ?? 0) & ENCRYPTION_MASK) === ENCRYPTION_REQUIRED);
23
+
24
+ /** The vendor uses the low nibble of byte 3 or 4 to select the OxyII service. */
25
+ const viatomOxygenUsesV2 = manufacturerData => VIATOM_OXYGEN_V2_BYTES.some(index => ((manufacturerByte(manufacturerData, index) ?? 0) & PROTOCOL_MASK) === 2);
26
+ export { advertisementRequiresEncryption, manufacturerBytes, viatomOxygenUsesV2 };
27
+ //# sourceMappingURL=lepu.advertisement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["base64ToHex","hexToByte","PROTOCOL_MASK","ENCRYPTION_MASK","ENCRYPTION_REQUIRED","VIATOM_OXYGEN_V2_BYTES","manufacturerBytes","manufacturerData","map","manufacturerByte","index","advertisementRequiresEncryption","byteIndexes","some","viatomOxygenUsesV2"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.advertisement.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,kCAA+B;AAC3D,SAASC,SAAS,QAAQ,+BAA4B;AAEtD,MAAMC,aAAa,GAAG,IAAI;AAC1B,MAAMC,eAAe,GAAG,IAAI;AAC5B,MAAMC,mBAAmB,GAAG,IAAI;AAChC,MAAMC,sBAAsB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAU;AAE9C,MAAMC,iBAAiB,GAAIC,gBAAyB,IAAe;EACjE,IAAI,CAACA,gBAAgB,EAAE;IACrB,OAAO,EAAE;EACX;EAEA,IAAI;IACF,OAAOP,WAAW,CAACO,gBAAgB,CAAC,CAACC,GAAG,CAACP,SAAS,CAAC;EACrD,CAAC,CAAC,MAAM;IACN,OAAO,EAAE;EACX;AACF,CAAC;AAED,MAAMQ,gBAAgB,GAAGA,CACvBF,gBAAoC,EACpCG,KAAa,KACUJ,iBAAiB,CAACC,gBAAgB,CAAC,CAACG,KAAK,CAAC;;AAEnE;AACA,MAAMC,+BAA+B,GAAGA,CACtCJ,gBAAoC,EACpCK,WAA8B,GAAG,EAAE,KAEnCA,WAAW,CAACC,IAAI,CACbH,KAAK,IACJ,CAAC,CAACD,gBAAgB,CAACF,gBAAgB,EAAEG,KAAK,CAAC,IAAI,CAAC,IAAIP,eAAe,MACnEC,mBACJ,CAAC;;AAEH;AACA,MAAMU,kBAAkB,GAAIP,gBAAyB,IACnDF,sBAAsB,CAACQ,IAAI,CACxBH,KAAK,IACJ,CAAC,CAACD,gBAAgB,CAACF,gBAAgB,EAAEG,KAAK,CAAC,IAAI,CAAC,IAAIR,aAAa,MAAM,CAC3E,CAAC;AAEH,SACES,+BAA+B,EAC/BL,iBAAiB,EACjBQ,kBAAkB","ignoreList":[]}
@@ -4,6 +4,7 @@
4
4
 
5
5
  import { getClockParts, isClockSyncEnabled } from "../../../types/clock-sync.js";
6
6
  import { hexToByte } from "../../../utils/hex-to-byte.js";
7
+ import { advertisementRequiresEncryption } from "./lepu.advertisement.js";
7
8
  import { LepuCommand } from "./lepu.commands.js";
8
9
  import { parseLepuDeviceInfo } from "./lepu.device-info.js";
9
10
  import { describeLepuResponseType, isLepuSuccess } from "./lepu.response-type.js";
@@ -18,6 +19,15 @@ export class LepuIdentityGate {
18
19
  this.params = params;
19
20
  }
20
21
  initialCommands = () => {
22
+ if (advertisementRequiresEncryption(this.params.manufacturerData, this.params.rejectEncryptionAtBytes)) {
23
+ return this.refuse("the advertisement requires encrypted communication, which this SDK does not support") ?? [];
24
+ }
25
+ if (this.params.protocol === "v2") {
26
+ const command = this.params.pollCommand ?? 0x02;
27
+ this.pendingCommand = command;
28
+ this.isIdentified = true;
29
+ return [this.commandFor(command)];
30
+ }
21
31
  if (this.params.protocol === "viatom-oxygen") {
22
32
  const setClock = this.params.setClockBeforeInfo && isClockSyncEnabled(this.params.clockSync);
23
33
  const command = setClock ? this.commandFor(0x16, oxyClockPayload(this.params.clockSync)) : this.commandFor(VIATOM_OXYGEN_INFO);
@@ -1 +1 @@
1
- {"version":3,"names":["getClockParts","isClockSyncEnabled","hexToByte","LepuCommand","parseLepuDeviceInfo","describeLepuResponseType","isLepuSuccess","COMMAND_INDEX","VIATOM_OXYGEN_INFO","LepuIdentityGate","isIdentified","isRefused","constructor","params","initialCommands","protocol","setClock","setClockBeforeInfo","clockSync","command","commandFor","oxyClockPayload","pendingCommand","GET_INFO","nextCommand","frame","nextViatomOxygenCommand","undefined","poll","admit","refuse","info","onIdentified","pollCommand","onAdmitted","isNarrowed","expectedDeviceTypes","length","includes","deviceType","branchCode","reason","onRefused","payload","delayBeforeWriteMs","write","builder","build","writeWithoutResponse","withoutResponse","status","toString","padStart","parseViatomOxygenDeviceInfo","parts","now","Date","timezone","pad","value","String","JSON","stringify","SetTIME","year","month","day","hours","minutes","seconds","Array","from","TextEncoder","encode","text","slice","map","byte","fromCharCode","join","replace","parse","Number","Model","isInteger","protocolMaxLength","Branch","serialNumber","SN","SerialNumber"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.identity-gate.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getClockParts","isClockSyncEnabled","hexToByte","advertisementRequiresEncryption","LepuCommand","parseLepuDeviceInfo","describeLepuResponseType","isLepuSuccess","COMMAND_INDEX","VIATOM_OXYGEN_INFO","LepuIdentityGate","isIdentified","isRefused","constructor","params","initialCommands","manufacturerData","rejectEncryptionAtBytes","refuse","protocol","command","pollCommand","pendingCommand","commandFor","setClock","setClockBeforeInfo","clockSync","oxyClockPayload","GET_INFO","nextCommand","frame","nextViatomOxygenCommand","undefined","poll","admit","info","onIdentified","onAdmitted","isNarrowed","expectedDeviceTypes","length","includes","deviceType","branchCode","reason","onRefused","payload","delayBeforeWriteMs","write","builder","build","writeWithoutResponse","withoutResponse","status","toString","padStart","parseViatomOxygenDeviceInfo","parts","now","Date","timezone","pad","value","String","JSON","stringify","SetTIME","year","month","day","hours","minutes","seconds","Array","from","TextEncoder","encode","text","slice","map","byte","fromCharCode","join","replace","parse","Number","Model","isInteger","protocolMaxLength","Branch","serialNumber","SN","SerialNumber"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.identity-gate.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ /* eslint-disable max-lines */
4
+
3
5
  import { defineCustomDevice } from "../../custom/define-custom-device.js";
4
6
 
5
7
  /**
@@ -108,6 +110,33 @@ const COMMAND_BYTE = 1;
108
110
  const lepuDevice = params => {
109
111
  const transport = lepuTransports[params.transport ?? "standard"];
110
112
  const viatomOxygen = params.protocol === "viatom-oxygen";
113
+ const monitor = each => ({
114
+ uuid: each.uuid,
115
+ frame: {
116
+ minLengthBytes: each.minLengthBytes
117
+ },
118
+ ...(each.caseSelectorBytes === undefined ? {} : {
119
+ caseSelectorBytes: each.caseSelectorBytes
120
+ }),
121
+ cases: each.cases
122
+ });
123
+ const services = [{
124
+ uuid: transport.serviceUuid,
125
+ monitor: [monitor({
126
+ uuid: transport.notifyUuid,
127
+ minLengthBytes: params.minLengthBytes,
128
+ caseSelectorBytes: params.caseSelectorBytes,
129
+ cases: params.cases
130
+ })]
131
+ }, ...(params.v2 === undefined ? [] : [{
132
+ uuid: lepuTransports.aw1.serviceUuid,
133
+ monitor: [monitor({
134
+ uuid: lepuTransports.aw1.notifyUuid,
135
+ minLengthBytes: params.v2.minLengthBytes,
136
+ caseSelectorBytes: params.v2.caseSelectorBytes,
137
+ cases: params.v2.cases
138
+ })]
139
+ }])];
111
140
  return defineCustomDevice({
112
141
  id: params.id ?? "lepu-device",
113
142
  nameMatch: params.nameMatch,
@@ -119,8 +148,14 @@ const lepuDevice = params => {
119
148
  }),
120
149
  lepu: {
121
150
  protocol: params.protocol,
122
- startBytes: [viatomOxygen ? "55" : START_BYTE],
151
+ startBytes: [...(viatomOxygen && params.manufacturerDataProtocol === "viatom-oxygen" ? ["55", "a5"] : [viatomOxygen ? "55" : START_BYTE])],
123
152
  requestStartByte: viatomOxygen ? "aa" : START_BYTE,
153
+ ...(params.manufacturerDataProtocol === undefined ? {} : {
154
+ manufacturerDataProtocol: params.manufacturerDataProtocol
155
+ }),
156
+ ...(params.rejectEncryptionAtBytes === undefined ? {} : {
157
+ rejectEncryptionAtBytes: params.rejectEncryptionAtBytes
158
+ }),
124
159
  write: {
125
160
  serviceUuid: transport.serviceUuid,
126
161
  characteristicUuid: transport.writeUuid
@@ -142,17 +177,13 @@ const lepuDevice = params => {
142
177
  setClockBeforeInfo: params.setClockBeforeInfo
143
178
  })
144
179
  },
145
- services: [{
146
- uuid: transport.serviceUuid,
147
- monitor: [{
148
- uuid: transport.notifyUuid,
149
- frame: {
150
- minLengthBytes: params.minLengthBytes
151
- },
152
- caseSelectorBytes: params.caseSelectorBytes ?? [COMMAND_BYTE],
153
- cases: params.cases
154
- }]
155
- }]
180
+ services: services.map(service => ({
181
+ ...service,
182
+ monitor: service.monitor.map(each => ({
183
+ ...each,
184
+ caseSelectorBytes: each.caseSelectorBytes ?? [COMMAND_BYTE]
185
+ }))
186
+ }))
156
187
  }, params.decorateReading === undefined ? {} : {
157
188
  decorateReading: params.decorateReading
158
189
  });
@@ -1 +1 @@
1
- {"version":3,"names":["defineCustomDevice","STANDARD_SERVICE","STANDARD_WRITE","STANDARD_NOTIFY","AW1_SERVICE","AW1_WRITE","AW1_NOTIFY","DING_SERVICE","DING_WRITE","DING_NOTIFY","AI_TELE_SERVICE","AI_TELE_WRITE","AI_TELE_NOTIFY","PREFERRED_MTU","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","id","nameMatch","matchByService","undefined","stuckDataTimeoutMs","clockSync","lepu","startBytes","requestStartByte","write","characteristicUuid","expectedDeviceTypes","fileTransfer","ecgFileDecoder","pollCommand","writeWithoutResponse","setClockBeforeInfo","services","uuid","monitor","frame","minLengthBytes","caseSelectorBytes","cases","decorateReading"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["defineCustomDevice","STANDARD_SERVICE","STANDARD_WRITE","STANDARD_NOTIFY","AW1_SERVICE","AW1_WRITE","AW1_NOTIFY","DING_SERVICE","DING_WRITE","DING_NOTIFY","AI_TELE_SERVICE","AI_TELE_WRITE","AI_TELE_NOTIFY","PREFERRED_MTU","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","monitor","each","uuid","frame","minLengthBytes","caseSelectorBytes","undefined","cases","services","v2","id","nameMatch","matchByService","stuckDataTimeoutMs","clockSync","lepu","startBytes","manufacturerDataProtocol","requestStartByte","rejectEncryptionAtBytes","write","characteristicUuid","expectedDeviceTypes","fileTransfer","ecgFileDecoder","pollCommand","writeWithoutResponse","setClockBeforeInfo","map","service","decorateReading"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":"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","ignoreList":[]}
@@ -93,6 +93,7 @@ const BP2_CASES = [...["00", "01", "02", "03", "0a", "14", "ff"].map(state => ({
93
93
  const viatomBpMonitor = (advertisedName, params) => lepuDevice({
94
94
  id: params.id ?? `viatom-${advertisedName.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
95
95
  nameMatch: params.nameMatch ?? lepuNameMatch(advertisedName),
96
+ rejectEncryptionAtBytes: [4],
96
97
  pollCommand: RT_DATA,
97
98
  minLengthBytes: MIN_LENGTH_BYTES,
98
99
  caseSelectorBytes: CASE_SELECTOR_BYTES,
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_DATA","CASE_SELECTOR_BYTES","MIN_LENGTH_BYTES","RESULT_CODE_INDEX","READING","name","byteIndexes","byteOrder","encoding","unit","result","selector","description","kind","measurementTypeKey","bloodPressure","fields","measuring","rejectFailedResult","reading","frame","resultCode","Number","parseInt","Error","toString","padStart","BP2_CASES","map","state","viatomBpMonitor","advertisedName","params","id","toLowerCase","replace","nameMatch","pollCommand","minLengthBytes","caseSelectorBytes","cases","each","decorateReading","expectedDeviceTypes","bp2aMonitor","bp2tMonitor","bp2wMonitor","BP3_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.bp-monitors.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_DATA","CASE_SELECTOR_BYTES","MIN_LENGTH_BYTES","RESULT_CODE_INDEX","READING","name","byteIndexes","byteOrder","encoding","unit","result","selector","description","kind","measurementTypeKey","bloodPressure","fields","measuring","rejectFailedResult","reading","frame","resultCode","Number","parseInt","Error","toString","padStart","BP2_CASES","map","state","viatomBpMonitor","advertisedName","params","id","toLowerCase","replace","nameMatch","rejectEncryptionAtBytes","pollCommand","minLengthBytes","caseSelectorBytes","cases","each","decorateReading","expectedDeviceTypes","bp2aMonitor","bp2tMonitor","bp2wMonitor","BP3_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.bp-monitors.ts"],"mappings":"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","ignoreList":[]}
@@ -24,6 +24,35 @@ const CASE_SELECTOR_BYTES = [1, 5, 6, 7, 8, 9, 18];
24
24
  const MIN_LENGTH_BYTES = 21;
25
25
  const PAYLOAD = 7;
26
26
  const SPOT_CHECK_TIMEOUT_MS = 60_000;
27
+
28
+ /** OxyII realtime-parameter replies carry the values after the seven-byte frame header. */
29
+ const OXYII_MIN_LENGTH_BYTES = 18;
30
+ const OXYII_CASE_SELECTOR_BYTES = [1];
31
+ const OXYII_CASES = [{
32
+ selector: "02",
33
+ kind: "result",
34
+ measurementTypeKey: MeasurementTypeKey.bloodOxygenPulseRate,
35
+ description: "OxyII realtime parameters",
36
+ fields: [{
37
+ name: "bloodOxygen",
38
+ byteIndexes: [13],
39
+ encoding: "uint",
40
+ unit: "%"
41
+ }, {
42
+ name: "perfusionIndex",
43
+ byteIndexes: [14],
44
+ encoding: "uint",
45
+ scale: 0.1,
46
+ decimals: 1,
47
+ unit: "%"
48
+ }, {
49
+ name: "pulseRate",
50
+ byteIndexes: [15, 16],
51
+ byteOrder: "little",
52
+ encoding: "uint",
53
+ unit: "bpm"
54
+ }]
55
+ }];
27
56
  /**
28
57
  * Declares one oximeter of the range.
29
58
  *
@@ -39,6 +68,13 @@ const viatomOximeter = (advertisedName, params) => {
39
68
  nameMatch: params.nameMatch ?? lepuNameMatch(advertisedName),
40
69
  stuckDataTimeoutMs: SPOT_CHECK_TIMEOUT_MS,
41
70
  protocol: "viatom-oxygen",
71
+ manufacturerDataProtocol: "viatom-oxygen",
72
+ rejectEncryptionAtBytes: [3, 4],
73
+ v2: {
74
+ minLengthBytes: OXYII_MIN_LENGTH_BYTES,
75
+ caseSelectorBytes: OXYII_CASE_SELECTOR_BYTES,
76
+ cases: OXYII_CASES
77
+ },
42
78
  setClockBeforeInfo: advertisedName === "O2Ring",
43
79
  writeWithoutResponse: true,
44
80
  pollCommand: RT_PARAM,
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_PARAM","CASE_SELECTOR_BYTES","MIN_LENGTH_BYTES","PAYLOAD","SPOT_CHECK_TIMEOUT_MS","viatomOximeter","advertisedName","params","expectedDeviceTypes","undefined","id","toLowerCase","replace","nameMatch","stuckDataTimeoutMs","protocol","setClockBeforeInfo","writeWithoutResponse","pollCommand","minLengthBytes","caseSelectorBytes","cases","selector","kind","description","measurementTypeKey","bloodOxygenPulseRate","fields","name","byteIndexes","encoding","unit","byteOrder","VIATOM_OXIMETER_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.oximeters.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_PARAM","CASE_SELECTOR_BYTES","MIN_LENGTH_BYTES","PAYLOAD","SPOT_CHECK_TIMEOUT_MS","OXYII_MIN_LENGTH_BYTES","OXYII_CASE_SELECTOR_BYTES","OXYII_CASES","selector","kind","measurementTypeKey","bloodOxygenPulseRate","description","fields","name","byteIndexes","encoding","unit","scale","decimals","byteOrder","viatomOximeter","advertisedName","params","expectedDeviceTypes","undefined","id","toLowerCase","replace","nameMatch","stuckDataTimeoutMs","protocol","manufacturerDataProtocol","rejectEncryptionAtBytes","v2","minLengthBytes","caseSelectorBytes","cases","setClockBeforeInfo","writeWithoutResponse","pollCommand","VIATOM_OXIMETER_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.oximeters.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"compile-custom-lepu.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-lepu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAqH9D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,IAAI,MAAM,EACV,MAAM,gBAAgB,EACtB,cAAc,SAAS,MAAM,EAAE,KAC9B,cAAc,GAAG,SA0EnB,CAAC"}
1
+ {"version":3,"file":"compile-custom-lepu.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-lepu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAqH9D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,IAAI,MAAM,EACV,MAAM,gBAAgB,EACtB,cAAc,SAAS,MAAM,EAAE,KAC9B,cAAc,GAAG,SAgGnB,CAAC"}
@@ -26,6 +26,7 @@ interface IdentityReport {
26
26
  * connecting once and reading this line.
27
27
  */
28
28
  declare const recordLepuIdentity: (deviceData: DeviceData, info: LepuDeviceInfo) => void;
29
- declare const createLepuSequencer: (lepu: CustomLepuSpec, report: IdentityReport, clockSync?: ClockSyncOptions) => CommandSequencer;
30
- export { createLepuSequencer, recordLepuIdentity };
29
+ declare const createLepuSequencer: (lepu: CustomLepuSpec, report: IdentityReport, clockSync?: ClockSyncOptions, manufacturerData?: string) => CommandSequencer;
30
+ declare const selectLepu: (lepu: CustomLepuSpec, manufacturerData?: string) => CustomLepuSpec;
31
+ export { createLepuSequencer, recordLepuIdentity, selectLepu };
31
32
  //# sourceMappingURL=custom-lepu-sequencer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-lepu-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAM1D,UAAU,cAAc;IACtB,YAAY,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH;;;;;;GAMG;AACH,QAAA,MAAM,kBAAkB,GACtB,YAAY,UAAU,EACtB,MAAM,cAAc,KACnB,IAUF,CAAC;AAEF,QAAA,MAAM,mBAAmB,GACvB,MAAM,cAAc,EACpB,QAAQ,cAAc,EACtB,YAAY,gBAAgB,KAC3B,gBAiBC,CAAC;AAEL,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"custom-lepu-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAO1D,UAAU,cAAc;IACtB,YAAY,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH;;;;;;GAMG;AACH,QAAA,MAAM,kBAAkB,GACtB,YAAY,UAAU,EACtB,MAAM,cAAc,KACnB,IAUF,CAAC;AAEF,QAAA,MAAM,mBAAmB,GACvB,MAAM,cAAc,EACpB,QAAQ,cAAc,EACtB,YAAY,gBAAgB,EAC5B,mBAAmB,MAAM,KACxB,gBAyBF,CAAC;AAEF,QAAA,MAAM,UAAU,GACd,MAAM,cAAc,EACpB,mBAAmB,MAAM,KACxB,cAuBF,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC"}