zigbee-herdsman 0.29.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +19 -0
  3. package/dist/adapter/adapter.js +39 -11
  4. package/dist/adapter/adapter.js.map +1 -1
  5. package/dist/adapter/deconz/adapter/deconzAdapter.js +94 -66
  6. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  7. package/dist/adapter/deconz/adapter/index.js +8 -2
  8. package/dist/adapter/deconz/adapter/index.js.map +1 -1
  9. package/dist/adapter/deconz/driver/constants.js +3 -1
  10. package/dist/adapter/deconz/driver/constants.js.map +1 -1
  11. package/dist/adapter/deconz/driver/driver.js +68 -57
  12. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  13. package/dist/adapter/deconz/driver/frame.js +3 -1
  14. package/dist/adapter/deconz/driver/frame.js.map +1 -1
  15. package/dist/adapter/deconz/driver/frameParser.js +41 -36
  16. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  17. package/dist/adapter/deconz/driver/parser.js +34 -6
  18. package/dist/adapter/deconz/driver/parser.js.map +1 -1
  19. package/dist/adapter/deconz/driver/writer.js +34 -6
  20. package/dist/adapter/deconz/driver/writer.js.map +1 -1
  21. package/dist/adapter/events.js +4 -2
  22. package/dist/adapter/events.js.map +1 -1
  23. package/dist/adapter/ezsp/adapter/backup.js +15 -8
  24. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  25. package/dist/adapter/ezsp/adapter/ezspAdapter.js +81 -53
  26. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  27. package/dist/adapter/ezsp/adapter/index.js +8 -2
  28. package/dist/adapter/ezsp/adapter/index.js.map +1 -1
  29. package/dist/adapter/ezsp/driver/commands.js +628 -629
  30. package/dist/adapter/ezsp/driver/commands.js.map +1 -1
  31. package/dist/adapter/ezsp/driver/consts.js +13 -10
  32. package/dist/adapter/ezsp/driver/consts.js.map +1 -1
  33. package/dist/adapter/ezsp/driver/driver.js +93 -86
  34. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  35. package/dist/adapter/ezsp/driver/ezsp.js +100 -67
  36. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  37. package/dist/adapter/ezsp/driver/index.js +7 -3
  38. package/dist/adapter/ezsp/driver/index.js.map +1 -1
  39. package/dist/adapter/ezsp/driver/multicast.js +18 -11
  40. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  41. package/dist/adapter/ezsp/driver/parser.js +35 -5
  42. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  43. package/dist/adapter/ezsp/driver/types/basic.js +41 -19
  44. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  45. package/dist/adapter/ezsp/driver/types/index.js +119 -12
  46. package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
  47. package/dist/adapter/ezsp/driver/types/named.js +135 -55
  48. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  49. package/dist/adapter/ezsp/driver/types/struct.js +118 -47
  50. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  51. package/dist/adapter/ezsp/driver/uart.js +54 -24
  52. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  53. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +3 -1
  54. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
  55. package/dist/adapter/ezsp/driver/utils/index.js +25 -16
  56. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
  57. package/dist/adapter/ezsp/driver/writer.js +37 -7
  58. package/dist/adapter/ezsp/driver/writer.js.map +1 -1
  59. package/dist/adapter/index.js +35 -4
  60. package/dist/adapter/index.js.map +1 -1
  61. package/dist/adapter/serialPort.js +8 -4
  62. package/dist/adapter/serialPort.js.map +1 -1
  63. package/dist/adapter/serialPortUtils.js +9 -7
  64. package/dist/adapter/serialPortUtils.js.map +1 -1
  65. package/dist/adapter/socketPortUtils.js +3 -1
  66. package/dist/adapter/socketPortUtils.js.map +1 -1
  67. package/dist/adapter/tstype.js +2 -1
  68. package/dist/adapter/z-stack/adapter/adapter-backup.js +95 -65
  69. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  70. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +23 -19
  71. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  72. package/dist/adapter/z-stack/adapter/endpoints.js +29 -3
  73. package/dist/adapter/z-stack/adapter/endpoints.js.map +1 -1
  74. package/dist/adapter/z-stack/adapter/index.js +8 -2
  75. package/dist/adapter/z-stack/adapter/index.js.map +1 -1
  76. package/dist/adapter/z-stack/adapter/manager.js +99 -69
  77. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  78. package/dist/adapter/z-stack/adapter/tstype.js +4 -2
  79. package/dist/adapter/z-stack/adapter/tstype.js.map +1 -1
  80. package/dist/adapter/z-stack/adapter/zStackAdapter.js +76 -48
  81. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  82. package/dist/adapter/z-stack/constants/af.js +3 -1
  83. package/dist/adapter/z-stack/constants/af.js.map +1 -1
  84. package/dist/adapter/z-stack/constants/common.js +19 -16
  85. package/dist/adapter/z-stack/constants/common.js.map +1 -1
  86. package/dist/adapter/z-stack/constants/dbg.js +3 -1
  87. package/dist/adapter/z-stack/constants/dbg.js.map +1 -1
  88. package/dist/adapter/z-stack/constants/index.js +47 -10
  89. package/dist/adapter/z-stack/constants/index.js.map +1 -1
  90. package/dist/adapter/z-stack/constants/mac.js +3 -1
  91. package/dist/adapter/z-stack/constants/mac.js.map +1 -1
  92. package/dist/adapter/z-stack/constants/sapi.js +3 -1
  93. package/dist/adapter/z-stack/constants/sapi.js.map +1 -1
  94. package/dist/adapter/z-stack/constants/sys.js +3 -1
  95. package/dist/adapter/z-stack/constants/sys.js.map +1 -1
  96. package/dist/adapter/z-stack/constants/util.js +3 -1
  97. package/dist/adapter/z-stack/constants/util.js.map +1 -1
  98. package/dist/adapter/z-stack/constants/utils.js +7 -3
  99. package/dist/adapter/z-stack/constants/utils.js.map +1 -1
  100. package/dist/adapter/z-stack/constants/zdo.js +3 -1
  101. package/dist/adapter/z-stack/constants/zdo.js.map +1 -1
  102. package/dist/adapter/z-stack/models/index.js +17 -1
  103. package/dist/adapter/z-stack/models/index.js.map +1 -1
  104. package/dist/adapter/z-stack/models/startup-options.js +2 -1
  105. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +9 -5
  106. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
  107. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +9 -5
  108. package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +1 -1
  109. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +7 -3
  110. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +1 -1
  111. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +9 -5
  112. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +1 -1
  113. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +7 -3
  114. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +1 -1
  115. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +9 -5
  116. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +1 -1
  117. package/dist/adapter/z-stack/structs/entries/channel-list.js +6 -2
  118. package/dist/adapter/z-stack/structs/entries/channel-list.js.map +1 -1
  119. package/dist/adapter/z-stack/structs/entries/has-configured.js +6 -2
  120. package/dist/adapter/z-stack/structs/entries/has-configured.js.map +1 -1
  121. package/dist/adapter/z-stack/structs/entries/index.js +32 -16
  122. package/dist/adapter/z-stack/structs/entries/index.js.map +1 -1
  123. package/dist/adapter/z-stack/structs/entries/nib.js +10 -6
  124. package/dist/adapter/z-stack/structs/entries/nib.js.map +1 -1
  125. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +6 -2
  126. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +1 -1
  127. package/dist/adapter/z-stack/structs/entries/nwk-key.js +6 -2
  128. package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +1 -1
  129. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +6 -2
  130. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +1 -1
  131. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +6 -2
  132. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +1 -1
  133. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +9 -5
  134. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +1 -1
  135. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +9 -5
  136. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -1
  137. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +10 -6
  138. package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +1 -1
  139. package/dist/adapter/z-stack/structs/index.js +20 -4
  140. package/dist/adapter/z-stack/structs/index.js.map +1 -1
  141. package/dist/adapter/z-stack/structs/serializable-memory-object.js +2 -1
  142. package/dist/adapter/z-stack/structs/struct.js +5 -1
  143. package/dist/adapter/z-stack/structs/struct.js.map +1 -1
  144. package/dist/adapter/z-stack/structs/table.js +5 -1
  145. package/dist/adapter/z-stack/structs/table.js.map +1 -1
  146. package/dist/adapter/z-stack/unpi/constants.js +12 -3
  147. package/dist/adapter/z-stack/unpi/constants.js.map +1 -1
  148. package/dist/adapter/z-stack/unpi/frame.js +9 -7
  149. package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
  150. package/dist/adapter/z-stack/unpi/index.js +37 -5
  151. package/dist/adapter/z-stack/unpi/index.js.map +1 -1
  152. package/dist/adapter/z-stack/unpi/parser.js +40 -12
  153. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  154. package/dist/adapter/z-stack/unpi/writer.js +32 -4
  155. package/dist/adapter/z-stack/unpi/writer.js.map +1 -1
  156. package/dist/adapter/z-stack/utils/channel-list.js +11 -5
  157. package/dist/adapter/z-stack/utils/channel-list.js.map +1 -1
  158. package/dist/adapter/z-stack/utils/index.js +18 -2
  159. package/dist/adapter/z-stack/utils/index.js.map +1 -1
  160. package/dist/adapter/z-stack/utils/network-options.js +7 -3
  161. package/dist/adapter/z-stack/utils/network-options.js.map +1 -1
  162. package/dist/adapter/z-stack/znp/buffaloZnp.js +5 -3
  163. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
  164. package/dist/adapter/z-stack/znp/definition.js +1285 -1280
  165. package/dist/adapter/z-stack/znp/definition.js.map +1 -1
  166. package/dist/adapter/z-stack/znp/index.js +10 -3
  167. package/dist/adapter/z-stack/znp/index.js.map +1 -1
  168. package/dist/adapter/z-stack/znp/parameterType.js +3 -1
  169. package/dist/adapter/z-stack/znp/parameterType.js.map +1 -1
  170. package/dist/adapter/z-stack/znp/tstype.js +2 -1
  171. package/dist/adapter/z-stack/znp/znp.js +81 -53
  172. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  173. package/dist/adapter/z-stack/znp/zpiObject.js +29 -24
  174. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  175. package/dist/adapter/zigate/adapter/index.js +8 -2
  176. package/dist/adapter/zigate/adapter/index.js.map +1 -1
  177. package/dist/adapter/zigate/adapter/zigateAdapter.js +87 -59
  178. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  179. package/dist/adapter/zigate/debug.js +9 -3
  180. package/dist/adapter/zigate/debug.js.map +1 -1
  181. package/dist/adapter/zigate/driver/buffaloZiGate.js +9 -7
  182. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  183. package/dist/adapter/zigate/driver/commandType.js +50 -45
  184. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  185. package/dist/adapter/zigate/driver/constants.js +34 -31
  186. package/dist/adapter/zigate/driver/constants.js.map +1 -1
  187. package/dist/adapter/zigate/driver/frame.js +6 -3
  188. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  189. package/dist/adapter/zigate/driver/messageType.js +30 -27
  190. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  191. package/dist/adapter/zigate/driver/parameterType.js +3 -1
  192. package/dist/adapter/zigate/driver/parameterType.js.map +1 -1
  193. package/dist/adapter/zigate/driver/ziGateObject.js +18 -13
  194. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  195. package/dist/adapter/zigate/driver/zigate.js +47 -41
  196. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  197. package/dist/buffalo/buffalo.js +5 -3
  198. package/dist/buffalo/buffalo.js.map +1 -1
  199. package/dist/buffalo/index.js +33 -3
  200. package/dist/buffalo/index.js.map +1 -1
  201. package/dist/buffalo/tstype.js +2 -1
  202. package/dist/controller/controller.js +108 -80
  203. package/dist/controller/controller.js.map +1 -1
  204. package/dist/controller/database.js +16 -11
  205. package/dist/controller/database.js.map +1 -1
  206. package/dist/controller/events.js +5 -2
  207. package/dist/controller/events.js.map +1 -1
  208. package/dist/controller/greenPower.js +44 -16
  209. package/dist/controller/greenPower.js.map +1 -1
  210. package/dist/controller/helpers/index.js +28 -2
  211. package/dist/controller/helpers/index.js.map +1 -1
  212. package/dist/controller/helpers/request.js +3 -1
  213. package/dist/controller/helpers/request.js.map +1 -1
  214. package/dist/controller/helpers/requestQueue.js +9 -4
  215. package/dist/controller/helpers/requestQueue.js.map +1 -1
  216. package/dist/controller/helpers/zclFrameConverter.js +12 -5
  217. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  218. package/dist/controller/helpers/zclTransactionSequenceNumber.js +3 -1
  219. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +1 -1
  220. package/dist/controller/index.js +8 -5
  221. package/dist/controller/index.js.map +1 -1
  222. package/dist/controller/logger-stub.js +2 -1
  223. package/dist/controller/model/device.js +67 -39
  224. package/dist/controller/model/device.js.map +1 -1
  225. package/dist/controller/model/endpoint.js +73 -45
  226. package/dist/controller/model/endpoint.js.map +1 -1
  227. package/dist/controller/model/entity.js +8 -3
  228. package/dist/controller/model/entity.js.map +1 -1
  229. package/dist/controller/model/group.js +52 -24
  230. package/dist/controller/model/group.js.map +1 -1
  231. package/dist/controller/model/index.js +14 -5
  232. package/dist/controller/model/index.js.map +1 -1
  233. package/dist/controller/touchlink.js +37 -9
  234. package/dist/controller/touchlink.js.map +1 -1
  235. package/dist/controller/tstype.js +4 -2
  236. package/dist/controller/tstype.js.map +1 -1
  237. package/dist/index.js +33 -3
  238. package/dist/index.js.map +1 -1
  239. package/dist/models/backup-storage-legacy.js +2 -1
  240. package/dist/models/backup-storage-unified.js +2 -1
  241. package/dist/models/backup.js +2 -1
  242. package/dist/models/index.js +20 -4
  243. package/dist/models/index.js.map +1 -1
  244. package/dist/models/network-options.js +2 -1
  245. package/dist/utils/assertString.js +3 -1
  246. package/dist/utils/assertString.js.map +1 -1
  247. package/dist/utils/backup.js +37 -8
  248. package/dist/utils/backup.js.map +1 -1
  249. package/dist/utils/equalsPartial.js +8 -3
  250. package/dist/utils/equalsPartial.js.map +1 -1
  251. package/dist/utils/index.js +45 -9
  252. package/dist/utils/index.js.map +1 -1
  253. package/dist/utils/isNumberArray.js +3 -1
  254. package/dist/utils/isNumberArray.js.map +1 -1
  255. package/dist/utils/queue.js +3 -1
  256. package/dist/utils/queue.js.map +1 -1
  257. package/dist/utils/realpathSync.js +8 -3
  258. package/dist/utils/realpathSync.js.map +1 -1
  259. package/dist/utils/wait.js +3 -1
  260. package/dist/utils/wait.js.map +1 -1
  261. package/dist/utils/waitress.js +3 -1
  262. package/dist/utils/waitress.js.map +1 -1
  263. package/dist/zcl/buffaloZcl.js +44 -16
  264. package/dist/zcl/buffaloZcl.js.map +1 -1
  265. package/dist/zcl/definition/buffaloZclDataType.js +3 -1
  266. package/dist/zcl/definition/buffaloZclDataType.js.map +1 -1
  267. package/dist/zcl/definition/cluster.d.ts.map +1 -1
  268. package/dist/zcl/definition/cluster.js +2371 -2352
  269. package/dist/zcl/definition/cluster.js.map +1 -1
  270. package/dist/zcl/definition/dataType.js +3 -1
  271. package/dist/zcl/definition/dataType.js.map +1 -1
  272. package/dist/zcl/definition/direction.js +3 -1
  273. package/dist/zcl/definition/direction.js.map +1 -1
  274. package/dist/zcl/definition/endpointDeviceType.js +3 -1
  275. package/dist/zcl/definition/endpointDeviceType.js.map +1 -1
  276. package/dist/zcl/definition/foundation.js +58 -53
  277. package/dist/zcl/definition/foundation.js.map +1 -1
  278. package/dist/zcl/definition/frameControl.js +2 -1
  279. package/dist/zcl/definition/frameType.js +3 -1
  280. package/dist/zcl/definition/frameType.js.map +1 -1
  281. package/dist/zcl/definition/index.js +51 -12
  282. package/dist/zcl/definition/index.js.map +1 -1
  283. package/dist/zcl/definition/manufacturerCode.js +3 -1
  284. package/dist/zcl/definition/manufacturerCode.js.map +1 -1
  285. package/dist/zcl/definition/powerSource.js +3 -1
  286. package/dist/zcl/definition/powerSource.js.map +1 -1
  287. package/dist/zcl/definition/status.js +3 -1
  288. package/dist/zcl/definition/status.js.map +1 -1
  289. package/dist/zcl/definition/tstype.js +2 -1
  290. package/dist/zcl/index.js +55 -14
  291. package/dist/zcl/index.js.map +1 -1
  292. package/dist/zcl/tstype.js +4 -2
  293. package/dist/zcl/tstype.js.map +1 -1
  294. package/dist/zcl/utils.js +27 -22
  295. package/dist/zcl/utils.js.map +1 -1
  296. package/dist/zcl/zclFrame.js +70 -42
  297. package/dist/zcl/zclFrame.js.map +1 -1
  298. package/dist/zcl/zclHeader.js +2 -1
  299. package/dist/zcl/zclStatusError.js +8 -3
  300. package/dist/zcl/zclStatusError.js.map +1 -1
  301. package/package.json +1 -1
  302. package/tsconfig.json +1 -1
@@ -1,24 +1,30 @@
1
- import { Ezsp } from './ezsp';
2
- import { EmberStatus, EmberNodeType, uint16_t, uint8_t, uint32_t, EmberZDOCmd, EmberApsOption, EmberKeyData, EmberJoinDecision } from './types';
3
- import { EventEmitter } from "events";
4
- import { EmberApsFrame, EmberNetworkParameters, EmberRawFrame, EmberIeeeRawFrame, EmberAesMmoHashContext } from './types/struct';
5
- import { ember_security } from './utils';
6
- import { EmberOutgoingMessageType, EmberEUI64, EmberJoinMethod, EmberDeviceUpdate, EzspValueId, EzspPolicyId, EzspDecisionBitmask, EmberNetworkStatus, EmberKeyType } from './types/named';
7
- import { Multicast } from './multicast';
8
- import { Waitress, Wait } from '../../../utils';
9
- import Debug from "debug";
10
- import equals from 'fast-deep-equal/es6';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Driver = void 0;
7
+ const ezsp_1 = require("./ezsp");
8
+ const types_1 = require("./types");
9
+ const events_1 = require("events");
10
+ const struct_1 = require("./types/struct");
11
+ const utils_1 = require("./utils");
12
+ const named_1 = require("./types/named");
13
+ const multicast_1 = require("./multicast");
14
+ const utils_2 = require("../../../utils");
15
+ const debug_1 = __importDefault(require("debug"));
16
+ const es6_1 = __importDefault(require("fast-deep-equal/es6"));
11
17
  const debug = {
12
- error: Debug('zigbee-herdsman:adapter:ezsp:erro'),
13
- log: Debug('zigbee-herdsman:adapter:ezsp:driv'),
18
+ error: (0, debug_1.default)('zigbee-herdsman:adapter:ezsp:erro'),
19
+ log: (0, debug_1.default)('zigbee-herdsman:adapter:ezsp:driv'),
14
20
  };
15
21
  const IEEE_PREFIX_MFG_ID = [
16
22
  { mfgId: 0x115F, prefix: [0x04, 0xcf, 0xfc] },
17
23
  { mfgId: 0x115F, prefix: [0x54, 0xef, 0x44] },
18
24
  ];
19
25
  const DEFAULT_MFG_ID = 0x1049;
20
- export class Driver extends EventEmitter {
21
- direct = EmberOutgoingMessageType.OUTGOING_DIRECT;
26
+ class Driver extends events_1.EventEmitter {
27
+ direct = named_1.EmberOutgoingMessageType.OUTGOING_DIRECT;
22
28
  ezsp;
23
29
  nwkOpt;
24
30
  greenPowerGroup;
@@ -35,7 +41,7 @@ export class Driver extends EventEmitter {
35
41
  serialOpt;
36
42
  constructor() {
37
43
  super();
38
- this.waitress = new Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
44
+ this.waitress = new utils_2.Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
39
45
  }
40
46
  async onReset() {
41
47
  let attempts = 0;
@@ -45,7 +51,7 @@ export class Driver extends EventEmitter {
45
51
  debug.log(`Reset connection. Try ${attempts}`);
46
52
  try {
47
53
  await this.stop();
48
- await Wait(1000);
54
+ await (0, utils_2.Wait)(1000);
49
55
  await this.startup(this.port, this.serialOpt, this.nwkOpt, this.greenPowerGroup);
50
56
  break;
51
57
  }
@@ -56,7 +62,7 @@ export class Driver extends EventEmitter {
56
62
  pause = pauses.shift();
57
63
  }
58
64
  debug.log(`Pause ${pause}sec before try ${attempts}`);
59
- await Wait(pause * 1000);
65
+ await (0, utils_2.Wait)(pause * 1000);
60
66
  }
61
67
  }
62
68
  }
@@ -69,7 +75,7 @@ export class Driver extends EventEmitter {
69
75
  this.greenPowerGroup = greenPowerGroup;
70
76
  this.transactionID = 1;
71
77
  this.ezsp = undefined;
72
- this.ezsp = new Ezsp();
78
+ this.ezsp = new ezsp_1.Ezsp();
73
79
  this.ezsp.on('reset', this.onReset.bind(this));
74
80
  this.ezsp.on('close', this.onClose.bind(this));
75
81
  await this.ezsp.connect(port, serialOpt);
@@ -78,8 +84,8 @@ export class Driver extends EventEmitter {
78
84
  await this.ezsp.updatePolicies();
79
85
  //await this.ezsp.setValue(EzspValueId.VALUE_MAXIMUM_OUTGOING_TRANSFER_SIZE, 82);
80
86
  //await this.ezsp.setValue(EzspValueId.VALUE_MAXIMUM_INCOMING_TRANSFER_SIZE, 82);
81
- await this.ezsp.setValue(EzspValueId.VALUE_END_DEVICE_KEEP_ALIVE_SUPPORT_MODE, 3);
82
- await this.ezsp.setValue(EzspValueId.VALUE_CCA_THRESHOLD, 0);
87
+ await this.ezsp.setValue(named_1.EzspValueId.VALUE_END_DEVICE_KEEP_ALIVE_SUPPORT_MODE, 3);
88
+ await this.ezsp.setValue(named_1.EzspValueId.VALUE_CCA_THRESHOLD, 0);
83
89
  await this.ezsp.setSourceRouting();
84
90
  //const count = await ezsp.getConfigurationValue(EzspConfigId.CONFIG_APS_UNICAST_MESSAGE_COUNT);
85
91
  //debug.log("APS_UNICAST_MESSAGE_COUNT is set to %s", count);
@@ -98,13 +104,13 @@ export class Driver extends EventEmitter {
98
104
  // getting MFG_BOARD_NAME token
99
105
  //const boardName = await ezsp.execCommand('getMfgToken', EzspMfgTokenId.MFG_BOARD_NAME);
100
106
  /* eslint-disable prefer-const */
101
- let verInfo = await this.ezsp.getValue(EzspValueId.VALUE_VERSION_INFO);
107
+ let verInfo = await this.ezsp.getValue(named_1.EzspValueId.VALUE_VERSION_INFO);
102
108
  let build, major, minor, patch, special;
103
- [build, verInfo] = uint16_t.deserialize(uint16_t, verInfo);
104
- [major, verInfo] = uint8_t.deserialize(uint8_t, verInfo);
105
- [minor, verInfo] = uint8_t.deserialize(uint8_t, verInfo);
106
- [patch, verInfo] = uint8_t.deserialize(uint8_t, verInfo);
107
- [special, verInfo] = uint8_t.deserialize(uint8_t, verInfo);
109
+ [build, verInfo] = types_1.uint16_t.deserialize(types_1.uint16_t, verInfo);
110
+ [major, verInfo] = types_1.uint8_t.deserialize(types_1.uint8_t, verInfo);
111
+ [minor, verInfo] = types_1.uint8_t.deserialize(types_1.uint8_t, verInfo);
112
+ [patch, verInfo] = types_1.uint8_t.deserialize(types_1.uint8_t, verInfo);
113
+ [special, verInfo] = types_1.uint8_t.deserialize(types_1.uint8_t, verInfo);
108
114
  /* eslint-enable prefer-const */
109
115
  const vers = `${major}.${minor}.${patch}.${special} build ${build}`;
110
116
  debug.log(`EmberZNet version: ${vers}`);
@@ -118,10 +124,10 @@ export class Driver extends EventEmitter {
118
124
  if (await this.needsToBeInitialised(nwkOpt)) {
119
125
  const res = await this.ezsp.execCommand('networkState');
120
126
  debug.log(`Network state ${res.status}`);
121
- if (res.status == EmberNetworkStatus.JOINED_NETWORK) {
127
+ if (res.status == named_1.EmberNetworkStatus.JOINED_NETWORK) {
122
128
  debug.log(`Leaving current network and forming new network`);
123
129
  const st = await this.ezsp.leaveNetwork();
124
- console.assert(st == EmberStatus.NETWORK_DOWN, `leaveNetwork returned unexpected status: ${st}`);
130
+ console.assert(st == types_1.EmberStatus.NETWORK_DOWN, `leaveNetwork returned unexpected status: ${st}`);
125
131
  }
126
132
  await this.form_network();
127
133
  result = 'reset';
@@ -129,23 +135,23 @@ export class Driver extends EventEmitter {
129
135
  const state = (await this.ezsp.execCommand('networkState')).status;
130
136
  debug.log(`Network state ${state}`);
131
137
  const netParams = await this.ezsp.execCommand('getNetworkParameters');
132
- console.assert(netParams.status == EmberStatus.SUCCESS, `Command (getNetworkParameters) returned unexpected state: ${netParams.status}`);
138
+ console.assert(netParams.status == types_1.EmberStatus.SUCCESS, `Command (getNetworkParameters) returned unexpected state: ${netParams.status}`);
133
139
  this.networkParams = netParams.parameters;
134
140
  debug.log("Node type: %s, Network parameters: %s", netParams.nodeType, this.networkParams);
135
141
  const nwk = (await this.ezsp.execCommand('getNodeId')).nodeId;
136
142
  const ieee = (await this.ezsp.execCommand('getEui64')).eui64;
137
- this.ieee = new EmberEUI64(ieee);
143
+ this.ieee = new named_1.EmberEUI64(ieee);
138
144
  debug.log('Network ready');
139
145
  this.ezsp.on('frame', this.handleFrame.bind(this));
140
146
  this.handleNodeJoined(nwk, this.ieee);
141
147
  debug.log(`EZSP nwk=${nwk}, IEEE=0x${this.ieee}`);
142
- const linkResult = await this.ezsp.execCommand('getKey', { keyType: EmberKeyType.TRUST_CENTER_LINK_KEY });
148
+ const linkResult = await this.ezsp.execCommand('getKey', { keyType: named_1.EmberKeyType.TRUST_CENTER_LINK_KEY });
143
149
  debug.log(`TRUST_CENTER_LINK_KEY: ${JSON.stringify(linkResult)}`);
144
- const netResult = await this.ezsp.execCommand('getKey', { keyType: EmberKeyType.CURRENT_NETWORK_KEY });
150
+ const netResult = await this.ezsp.execCommand('getKey', { keyType: named_1.EmberKeyType.CURRENT_NETWORK_KEY });
145
151
  debug.log(`CURRENT_NETWORK_KEY: ${JSON.stringify(netResult)}`);
146
- await Wait(1000);
152
+ await (0, utils_2.Wait)(1000);
147
153
  await this.ezsp.execCommand('setManufacturerCode', { code: DEFAULT_MFG_ID });
148
- this.multicast = new Multicast(this);
154
+ this.multicast = new multicast_1.Multicast(this);
149
155
  await this.multicast.startup([]);
150
156
  await this.multicast.subscribe(greenPowerGroup, 242);
151
157
  // await this.multicast.subscribe(1, 901);
@@ -157,33 +163,33 @@ export class Driver extends EventEmitter {
157
163
  const netParams = await this.ezsp.execCommand('getNetworkParameters');
158
164
  const networkParams = netParams.parameters;
159
165
  debug.log("Current Node type: %s, Network parameters: %s", netParams.nodeType, networkParams);
160
- valid = valid && (netParams.status == EmberStatus.SUCCESS);
161
- valid = valid && (netParams.nodeType == EmberNodeType.COORDINATOR);
166
+ valid = valid && (netParams.status == types_1.EmberStatus.SUCCESS);
167
+ valid = valid && (netParams.nodeType == types_1.EmberNodeType.COORDINATOR);
162
168
  valid = valid && (options.panID == networkParams.panId);
163
169
  valid = valid && (options.channelList.includes(networkParams.radioChannel));
164
- valid = valid && (equals(options.extendedPanID, networkParams.extendedPanId));
170
+ valid = valid && ((0, es6_1.default)(options.extendedPanID, networkParams.extendedPanId));
165
171
  return !valid;
166
172
  }
167
173
  async form_network() {
168
174
  let status;
169
175
  status = (await this.ezsp.execCommand('clearKeyTable')).status;
170
- console.assert(status == EmberStatus.SUCCESS, `Command clearKeyTable returned unexpected state: ${status}`);
176
+ console.assert(status == types_1.EmberStatus.SUCCESS, `Command clearKeyTable returned unexpected state: ${status}`);
171
177
  await this.ezsp.execCommand('clearTransientLinkKeys');
172
178
  const panID = this.nwkOpt.panID;
173
179
  const extendedPanID = this.nwkOpt.extendedPanID;
174
- const initial_security_state = ember_security(this.nwkOpt);
180
+ const initial_security_state = (0, utils_1.ember_security)(this.nwkOpt);
175
181
  status = await this.ezsp.setInitialSecurityState(initial_security_state);
176
- const parameters = new EmberNetworkParameters();
182
+ const parameters = new struct_1.EmberNetworkParameters();
177
183
  parameters.panId = panID;
178
184
  parameters.extendedPanId = extendedPanID;
179
185
  parameters.radioTxPower = 5;
180
186
  parameters.radioChannel = this.nwkOpt.channelList[0];
181
- parameters.joinMethod = EmberJoinMethod.USE_MAC_ASSOCIATION;
187
+ parameters.joinMethod = named_1.EmberJoinMethod.USE_MAC_ASSOCIATION;
182
188
  parameters.nwkManagerId = 0;
183
189
  parameters.nwkUpdateId = 0;
184
190
  parameters.channels = 0x07FFF800; // all channels
185
191
  await this.ezsp.formNetwork(parameters);
186
- await this.ezsp.setValue(EzspValueId.VALUE_STACK_TOKEN_WRITING, 1);
192
+ await this.ezsp.setValue(named_1.EzspValueId.VALUE_STACK_TOKEN_WRITING, 1);
187
193
  }
188
194
  handleFrame(frameName, frame) {
189
195
  switch (true) {
@@ -207,14 +213,14 @@ export class Driver extends EventEmitter {
207
213
  break;
208
214
  }
209
215
  case (frameName === 'trustCenterJoinHandler'): {
210
- if (frame.status === EmberDeviceUpdate.DEVICE_LEFT) {
216
+ if (frame.status === named_1.EmberDeviceUpdate.DEVICE_LEFT) {
211
217
  this.handleNodeLeft(frame.newNodeId, frame.newNodeEui64);
212
218
  }
213
219
  else {
214
- if (frame.status === EmberDeviceUpdate.STANDARD_SECURITY_UNSECURED_JOIN) {
220
+ if (frame.status === named_1.EmberDeviceUpdate.STANDARD_SECURITY_UNSECURED_JOIN) {
215
221
  this.cleanupTClinkKey(frame.newNodeEui64);
216
222
  }
217
- if (frame.policyDecision !== EmberJoinDecision.DENY_JOIN) {
223
+ if (frame.policyDecision !== types_1.EmberJoinDecision.DENY_JOIN) {
218
224
  this.handleNodeJoined(frame.newNodeId, frame.newNodeEui64);
219
225
  }
220
226
  }
@@ -240,7 +246,7 @@ export class Driver extends EventEmitter {
240
246
  // then we will register the coordinator in this group
241
247
  // Applicable for IKEA remotes
242
248
  const msgType = frame.type;
243
- if (msgType == EmberOutgoingMessageType.OUTGOING_MULTICAST) {
249
+ if (msgType == named_1.EmberOutgoingMessageType.OUTGOING_MULTICAST) {
244
250
  const apsFrame = frame.apsFrame;
245
251
  if (apsFrame.destinationEndpoint == 255) {
246
252
  this.multicast.subscribe(apsFrame.groupId, 1);
@@ -250,7 +256,7 @@ export class Driver extends EventEmitter {
250
256
  break;
251
257
  }
252
258
  case (frameName === 'macFilterMatchMessageHandler'): {
253
- const [rawFrame, data] = EmberIeeeRawFrame.deserialize(EmberIeeeRawFrame, frame.message);
259
+ const [rawFrame, data] = struct_1.EmberIeeeRawFrame.deserialize(struct_1.EmberIeeeRawFrame, frame.message);
254
260
  debug.log(`macFilterMatchMessageHandler frame message: ${rawFrame}`);
255
261
  this.emit('incomingMessage', {
256
262
  messageType: null,
@@ -261,12 +267,12 @@ export class Driver extends EventEmitter {
261
267
  bindingIndex: null,
262
268
  addressIndex: null,
263
269
  message: data,
264
- senderEui64: new EmberEUI64(rawFrame.sourceAddress)
270
+ senderEui64: new named_1.EmberEUI64(rawFrame.sourceAddress)
265
271
  });
266
272
  break;
267
273
  }
268
274
  case (frameName === 'stackStatusHandler'): {
269
- debug.log(`stackStatusHandler: ${EmberStatus.valueToName(EmberStatus, frame.status)}`);
275
+ debug.log(`stackStatusHandler: ${types_1.EmberStatus.valueToName(types_1.EmberStatus, frame.status)}`);
270
276
  break;
271
277
  }
272
278
  // case (frameName === 'childJoinHandler'): {
@@ -318,8 +324,8 @@ export class Driver extends EventEmitter {
318
324
  // this.eui64ToRelays.set(ieee.toString(), null);
319
325
  }
320
326
  handleNodeLeft(nwk, ieee) {
321
- if (ieee && !(ieee instanceof EmberEUI64)) {
322
- ieee = new EmberEUI64(ieee);
327
+ if (ieee && !(ieee instanceof named_1.EmberEUI64)) {
328
+ ieee = new named_1.EmberEUI64(ieee);
323
329
  }
324
330
  this.eui64ToNodeId.delete(ieee.toString());
325
331
  this.emit('deviceLeft', [nwk, ieee]);
@@ -327,12 +333,12 @@ export class Driver extends EventEmitter {
327
333
  async resetMfgId(mfgId) {
328
334
  await this.ezsp.execCommand('setManufacturerCode', { code: mfgId });
329
335
  // 60 sec for waiting
330
- await Wait(60000);
336
+ await (0, utils_2.Wait)(60000);
331
337
  await this.ezsp.execCommand('setManufacturerCode', { code: DEFAULT_MFG_ID });
332
338
  }
333
339
  handleNodeJoined(nwk, ieee) {
334
- if (ieee && !(ieee instanceof EmberEUI64)) {
335
- ieee = new EmberEUI64(ieee);
340
+ if (ieee && !(ieee instanceof named_1.EmberEUI64)) {
341
+ ieee = new named_1.EmberEUI64(ieee);
336
342
  }
337
343
  for (const rec of IEEE_PREFIX_MFG_ID) {
338
344
  if ((Buffer.from(ieee.value)).indexOf(Buffer.from(rec.prefix)) == 0) {
@@ -346,8 +352,8 @@ export class Driver extends EventEmitter {
346
352
  this.emit('deviceJoined', [nwk, ieee]);
347
353
  }
348
354
  setNode(nwk, ieee) {
349
- if (ieee && !(ieee instanceof EmberEUI64)) {
350
- ieee = new EmberEUI64(ieee);
355
+ if (ieee && !(ieee instanceof named_1.EmberEUI64)) {
356
+ ieee = new named_1.EmberEUI64(ieee);
351
357
  }
352
358
  this.eui64ToNodeId.set(ieee.toString(), nwk);
353
359
  }
@@ -383,7 +389,7 @@ export class Driver extends EventEmitter {
383
389
  }
384
390
  await this.ezsp.execCommand('setExtendedTimeout', { remoteEui64: eui64, extendedTimeout: true });
385
391
  const result = await this.ezsp.sendUnicast(this.direct, nwk, apsFrame, seq, data);
386
- return result.status == EmberStatus.SUCCESS;
392
+ return result.status == types_1.EmberStatus.SUCCESS;
387
393
  }
388
394
  catch (e) {
389
395
  debug.error(`Request error ${e}: ${e.stack}`);
@@ -404,7 +410,7 @@ export class Driver extends EventEmitter {
404
410
  /* eslint-disable-next-line @typescript-eslint/no-unused-vars */
405
411
  async rawrequest(rawFrame, data, timeout = 10000) {
406
412
  try {
407
- const msgData = Buffer.concat([EmberRawFrame.serialize(EmberRawFrame, rawFrame), data]);
413
+ const msgData = Buffer.concat([struct_1.EmberRawFrame.serialize(struct_1.EmberRawFrame, rawFrame), data]);
408
414
  await this.ezsp.execCommand('sendRawMessage', { message: msgData });
409
415
  return true;
410
416
  }
@@ -416,7 +422,7 @@ export class Driver extends EventEmitter {
416
422
  /* eslint-disable-next-line @typescript-eslint/no-unused-vars */
417
423
  async ieeerawrequest(rawFrame, data, timeout = 10000) {
418
424
  try {
419
- const msgData = Buffer.concat([EmberIeeeRawFrame.serialize(EmberIeeeRawFrame, rawFrame), data]);
425
+ const msgData = Buffer.concat([struct_1.EmberIeeeRawFrame.serialize(struct_1.EmberIeeeRawFrame, rawFrame), data]);
420
426
  await this.ezsp.execCommand('sendRawMessage', { message: msgData });
421
427
  return true;
422
428
  }
@@ -441,33 +447,33 @@ export class Driver extends EventEmitter {
441
447
  return this.transactionID;
442
448
  }
443
449
  makeApsFrame(clusterId, disableResponse) {
444
- const frame = new EmberApsFrame();
450
+ const frame = new struct_1.EmberApsFrame();
445
451
  frame.clusterId = clusterId;
446
452
  frame.profileId = 0;
447
453
  frame.sequence = this.nextTransactionID();
448
454
  frame.sourceEndpoint = 0;
449
455
  frame.destinationEndpoint = 0;
450
456
  frame.groupId = 0;
451
- frame.options = (EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY ||
452
- EmberApsOption.APS_OPTION_ENABLE_ADDRESS_DISCOVERY);
457
+ frame.options = (types_1.EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY ||
458
+ types_1.EmberApsOption.APS_OPTION_ENABLE_ADDRESS_DISCOVERY);
453
459
  if (!disableResponse) {
454
- frame.options ||= EmberApsOption.APS_OPTION_RETRY;
460
+ frame.options ||= types_1.EmberApsOption.APS_OPTION_RETRY;
455
461
  }
456
462
  return frame;
457
463
  }
458
464
  makeEmberRawFrame() {
459
- const frame = new EmberRawFrame();
465
+ const frame = new struct_1.EmberRawFrame();
460
466
  frame.sequence = this.nextTransactionID();
461
467
  return frame;
462
468
  }
463
469
  makeEmberIeeeRawFrame() {
464
- const frame = new EmberIeeeRawFrame();
470
+ const frame = new struct_1.EmberIeeeRawFrame();
465
471
  frame.sequence = this.nextTransactionID();
466
472
  return frame;
467
473
  }
468
474
  async zdoRequest(networkAddress, requestCmd, responseCmd, params) {
469
- const requestName = EmberZDOCmd.valueName(EmberZDOCmd, requestCmd);
470
- const responseName = EmberZDOCmd.valueName(EmberZDOCmd, responseCmd);
475
+ const requestName = types_1.EmberZDOCmd.valueName(types_1.EmberZDOCmd, requestCmd);
476
+ const responseName = types_1.EmberZDOCmd.valueName(types_1.EmberZDOCmd, responseCmd);
471
477
  debug.log(`ZDO ${requestName} params: ${JSON.stringify(params)}`);
472
478
  const frame = this.makeApsFrame(requestCmd, false);
473
479
  const payload = this.makeZDOframe(requestCmd, { transId: frame.sequence, ...params });
@@ -496,11 +502,11 @@ export class Driver extends EventEmitter {
496
502
  async networkIdToEUI64(nwk) {
497
503
  for (const [eUI64, value] of this.eui64ToNodeId) {
498
504
  if (value === nwk)
499
- return new EmberEUI64(eUI64);
505
+ return new named_1.EmberEUI64(eUI64);
500
506
  }
501
507
  const value = await this.ezsp.execCommand('lookupEui64ByNodeId', { nodeId: nwk });
502
- if (value.status === EmberStatus.SUCCESS) {
503
- const eUI64 = new EmberEUI64(value.eui64);
508
+ if (value.status === types_1.EmberStatus.SUCCESS) {
509
+ const eUI64 = new named_1.EmberEUI64(value.eui64);
504
510
  this.eui64ToNodeId.set(eUI64.toString(), nwk);
505
511
  return eUI64;
506
512
  }
@@ -509,15 +515,15 @@ export class Driver extends EventEmitter {
509
515
  }
510
516
  }
511
517
  async preJoining() {
512
- const ieee = new EmberEUI64('0xFFFFFFFFFFFFFFFF');
513
- const linkKey = new EmberKeyData();
518
+ const ieee = new named_1.EmberEUI64('0xFFFFFFFFFFFFFFFF');
519
+ const linkKey = new types_1.EmberKeyData();
514
520
  linkKey.contents = Buffer.from("ZigBeeAlliance09");
515
521
  const result = await this.addTransientLinkKey(ieee, linkKey);
516
- if (result.status !== EmberStatus.SUCCESS) {
522
+ if (result.status !== types_1.EmberStatus.SUCCESS) {
517
523
  throw new Error(`Add Transient Link Key for '${ieee}' failed`);
518
524
  }
519
525
  if (this.ezsp.ezspV >= 8) {
520
- await this.ezsp.setPolicy(EzspPolicyId.TRUST_CENTER_POLICY, EzspDecisionBitmask.ALLOW_UNSECURED_REJOINS | EzspDecisionBitmask.ALLOW_JOINS);
526
+ await this.ezsp.setPolicy(named_1.EzspPolicyId.TRUST_CENTER_POLICY, named_1.EzspDecisionBitmask.ALLOW_UNSECURED_REJOINS | named_1.EzspDecisionBitmask.ALLOW_JOINS);
521
527
  //| EzspDecisionBitmask.JOINS_USE_INSTALL_CODE_KEY
522
528
  }
523
529
  }
@@ -565,16 +571,16 @@ export class Driver extends EventEmitter {
565
571
  }
566
572
  async addInstallCode(ieeeAddress, key) {
567
573
  // Key need to be converted to aes hash string
568
- const hc = new EmberAesMmoHashContext();
574
+ const hc = new struct_1.EmberAesMmoHashContext();
569
575
  hc.result = Buffer.from([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
570
576
  hc.length = 0;
571
577
  const hash = await this.ezsp.execCommand('aesMmoHash', { context: hc, finalize: true, data: key });
572
- if (hash.status == EmberStatus.SUCCESS) {
573
- const ieee = new EmberEUI64(ieeeAddress);
574
- const linkKey = new EmberKeyData();
578
+ if (hash.status == types_1.EmberStatus.SUCCESS) {
579
+ const ieee = new named_1.EmberEUI64(ieeeAddress);
580
+ const linkKey = new types_1.EmberKeyData();
575
581
  linkKey.contents = hash.returnContext.result;
576
582
  const result = await this.addTransientLinkKey(ieee, linkKey);
577
- if (result.status !== EmberStatus.SUCCESS) {
583
+ if (result.status !== types_1.EmberStatus.SUCCESS) {
578
584
  throw new Error(`Add install code for '${ieeeAddress}' failed`);
579
585
  }
580
586
  }
@@ -588,13 +594,13 @@ export class Driver extends EventEmitter {
588
594
  let data = frame.payload.subarray(5);
589
595
  /* eslint-disable */
590
596
  let st, deviceId, options, extOptions, key, mic, counter;
591
- [st, data] = uint8_t.deserialize(uint8_t, data);
592
- [deviceId, data] = uint8_t.deserialize(uint8_t, data);
593
- [options, data] = uint8_t.deserialize(uint8_t, data);
594
- [extOptions, data] = uint8_t.deserialize(uint8_t, data);
595
- [key, data] = EmberKeyData.deserialize(EmberKeyData, data);
596
- [mic, data] = uint32_t.deserialize(uint32_t, data);
597
- [counter, data] = uint32_t.deserialize(uint32_t, data);
597
+ [st, data] = types_1.uint8_t.deserialize(types_1.uint8_t, data);
598
+ [deviceId, data] = types_1.uint8_t.deserialize(types_1.uint8_t, data);
599
+ [options, data] = types_1.uint8_t.deserialize(types_1.uint8_t, data);
600
+ [extOptions, data] = types_1.uint8_t.deserialize(types_1.uint8_t, data);
601
+ [key, data] = types_1.EmberKeyData.deserialize(types_1.EmberKeyData, data);
602
+ [mic, data] = types_1.uint32_t.deserialize(types_1.uint32_t, data);
603
+ [counter, data] = types_1.uint32_t.deserialize(types_1.uint32_t, data);
598
604
  /* eslint-enable */
599
605
  const gpdMessage = {
600
606
  messageType: frame.gpdCommandId,
@@ -640,4 +646,5 @@ export class Driver extends EventEmitter {
640
646
  }
641
647
  }
642
648
  }
649
+ exports.Driver = Driver;
643
650
  //# sourceMappingURL=driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/driver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,IAAI,EAA0C,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EACtG,iBAAiB,EAAC,MAAM,SAAS,CAAC;AACtC,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAC,aAAa,EAAE,sBAAsB,EACzC,aAAa,EAAE,iBAAiB,EAAE,sBAAsB,EAAC,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AACvC,OAAO,EACH,wBAAwB,EACxB,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAGzC,MAAM,KAAK,GAAG;IACV,KAAK,EAAE,KAAK,CAAC,mCAAmC,CAAC;IACjD,GAAG,EAAE,KAAK,CAAC,mCAAmC,CAAC;CAClD,CAAC;AAwCF,MAAM,kBAAkB,GAAc;IAClC,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAC,IAAI,EAAC,IAAI,CAAC,EAAC;IACzC,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAC,IAAI,EAAC,IAAI,CAAC,EAAC;CAC5C,CAAC;AACF,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,MAAM,OAAO,MAAO,SAAQ,YAAY;IAC5B,MAAM,GAAG,wBAAwB,CAAC,eAAe,CAAC;IACnD,IAAI,CAAO;IACV,MAAM,CAAwB;IAC9B,eAAe,CAAS;IACzB,aAAa,CAAyB;IACtC,OAAO,CAEZ;IACM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,IAAI,CAAa;IAChB,SAAS,CAAY;IACrB,QAAQ,CAA6C;IACrD,aAAa,GAAG,CAAC,CAAC;IAClB,IAAI,CAAS;IACrB,gEAAgE;IACxD,SAAS,CAAsB;IAEvC;QACI,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CACxB,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC/D,CAAC;IAEO,KAAK,CAAC,OAAO;QACjB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,EAAE,CAAC;YACV,KAAK,CAAC,GAAG,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBACjF,MAAM;YACV,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBACtC,QAAQ,IAAI,CAAC,CAAC;gBACd,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChB,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC3B,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,SAAS,KAAK,kBAAkB,QAAQ,EAAE,CAAC,CAAC;gBACtD,MAAM,IAAI,CAAC,KAAK,GAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;IACL,CAAC;IAED,gEAAgE;IACzD,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,SAA8B,EAAE,MAA6B,EAC5F,eAAuB;QACvB,IAAI,MAAM,GAAuB,SAAS,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAE1B,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAE/B,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QAEjC,iFAAiF;QACjF,iFAAiF;QACjF,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAE7D,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEnC,gGAAgG;QAChG,6DAA6D;QAE7D,MAAM,IAAI,CAAC,WAAW,CAAC;YACnB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YACvE,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;gBACnE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;gBAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAC9C,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,WAAW,CAAC;YACnB,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI;YAChD,cAAc,EAAE,CAAC,MAAM,CAAC;SAC3B,CAAC,CAAC;QAEH,2BAA2B;QAC3B,mFAAmF;QACnF,+BAA+B;QAC/B,yFAAyF;QACzF,iCAAiC;QACjC,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACvE,IAAI,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;QACxC,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3D,gCAAgC;QAChC,MAAM,IAAI,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,OAAO,UAAU,KAAK,EAAE,CAAC;QACpE,KAAK,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG;YACX,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACxB,QAAQ,EAAE,GAAG,KAAK,EAAE;YACpB,QAAQ,EAAE,GAAG,KAAK,EAAE;YACpB,QAAQ,EAAE,GAAG,KAAK,GAAG;YACrB,QAAQ,EAAE,IAAI;SACjB,CAAC;QAEF,IAAI,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACxD,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACzC,IAAI,GAAG,CAAC,MAAM,IAAI,kBAAkB,CAAC,cAAc,EAAE,CAAC;gBAClD,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBAC7D,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC1C,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,WAAW,CAAC,YAAY,EAAE,4CAA4C,EAAE,EAAE,CAAC,CAAC;YACrG,CAAC;YACD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,MAAM,GAAG,OAAO,CAAC;QACrB,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;QACnE,KAAK,CAAC,GAAG,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC;QAEpC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;QACtE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,EAClD,6DAA6D,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC;QAC1C,KAAK,CAAC,GAAG,CAAC,uCAAuC,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3F,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9D,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,CAAC,GAAG,CAAC,YAAY,GAAG,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,YAAY,CAAC,qBAAqB,EAAC,CAAC,CAAC;QACxG,KAAK,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,EAAC,CAAC,CAAC;QACrG,KAAK,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,IAAI,EAAE,cAAc,EAAC,CAAC,CAAC;QAE3E,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QACrD,0CAA0C;QAC1C,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,OAA8B;QAC7D,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,GAAG,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC;QAC3C,KAAK,CAAC,GAAG,CAAC,+CAA+C,EAAE,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC9F,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3D,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;QACnE,KAAK,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,KAAK,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5E,KAAK,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,KAAK,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,YAAY;QACtB,IAAI,MAAM,CAAC;QACX,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/D,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,EACxC,oDAAoD,MAAM,EAAE,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;QAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QAChD,MAAM,sBAAsB,GAA8B,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtF,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;QACzE,MAAM,UAAU,GAA2B,IAAI,sBAAsB,EAAE,CAAC;QACxE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,UAAU,CAAC,aAAa,GAAG,aAAa,CAAC;QACzC,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC;QAC5B,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrD,UAAU,CAAC,UAAU,GAAG,eAAe,CAAC,mBAAmB,CAAC;QAC5D,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC;QAC5B,UAAU,CAAC,WAAW,GAAG,CAAC,CAAC;QAC3B,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,eAAe;QAEjD,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAEO,WAAW,CAAC,SAAiB,EAAE,KAAoB;QACvD,QAAQ,IAAI,EAAE,CAAC;YACf,KAAK,CAAC,SAAS,KAAK,wBAAwB,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO;oBAChF,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;wBACzB,WAAW,EAAE,KAAK,CAAC,IAAI;wBACvB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,GAAG,EAAE,KAAK,CAAC,UAAU;wBACrB,IAAI,EAAE,KAAK,CAAC,WAAW;wBACvB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,WAAW,EAAE,KAAK;qBACrB,CAAC,CAAC;gBACP,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,wBAAwB,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,WAAW,EAAE,CAAC;oBACjD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACJ,IAAI,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,gCAAgC,EAAE,CAAC;wBACtE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBAC9C,CAAC;oBACD,IAAI,KAAK,CAAC,cAAc,KAAK,iBAAiB,CAAC,SAAS,EAAE,CAAC;wBACvD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;oBAC/D,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,4BAA4B,CAAC,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrG,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,2BAA2B,CAAC,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClD,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACxC,OAAO;gBACP,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5B,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;oBACd,eAAe;gBACnB,CAAC;qBAAM,CAAC;oBACJ,eAAe;oBACf,oEAAoE;oBACpE,sDAAsD;oBACtD,8BAA8B;oBAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC3B,IAAI,OAAO,IAAI,wBAAwB,CAAC,kBAAkB,EAAE,CAAC;wBACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;wBAChC,IAAI,QAAQ,CAAC,mBAAmB,IAAI,GAAG,EAAE,CAAC;4BACtC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBAClD,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,8BAA8B,CAAC,CAAC,CAAC,CAAC;gBAClD,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,iBAAiB,CAAC,WAAW,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACzF,KAAK,CAAC,GAAG,CAAC,+CAA+C,QAAQ,EAAE,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBACzB,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE,QAAQ;oBAClB,GAAG,EAAE,KAAK,CAAC,UAAU;oBACrB,IAAI,EAAE,KAAK,CAAC,WAAW;oBACvB,MAAM,EAAE,IAAI;oBACZ,YAAY,EAAE,IAAI;oBAClB,YAAY,EAAE,IAAI;oBAClB,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;iBACtD,CAAC,CAAC;gBACH,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACxC,KAAK,CAAC,GAAG,CAAC,uBAAuB,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvF,MAAM;YACV,CAAC;YACD,6CAA6C;YAC7C,4BAA4B;YAC5B,gEAAgE;YAChE,eAAe;YACf,kEAAkE;YAClE,QAAQ;YACR,aAAa;YACb,IAAI;YACJ,KAAK,CAAC,SAAS,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC5B,MAAM;YACV,CAAC;YACD;gBACI,yFAAyF;gBACzF,uGAAuG;gBACvG,uCAAuC;gBACvC,yFAAyF;gBACzF,qGAAqG;gBACrG,6CAA6C;gBAC7C,+FAA+F;gBAC/F,2GAA2G;gBAC3G,gDAAgD;gBAChD,KAAK,CAAC,GAAG,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,IAAgB;QAC3C,2CAA2C;QAC3C,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACvG,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,GAAW,EAAE,IAA2B,EAAE,GAAW,EAAE,IAAY,EACzF,MAAc;QACd,OAAO;QACP,KAAK,CAAC,GAAG,CAAC,0BAA0B,GAAG,UAAU,IAAI,SAAS,GAAG,UAAU,IAAI,YAAY,MAAM,EAAE,CAAC,CAAC;QACrG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxB,+CAA+C;QAC/C,mCAAmC;QACnC,IAAI;QACJ,mDAAmD;IACvD,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,MAAmB,EAAE,GAAW;QAC3D,OAAO;QACP,KAAK,CAAC,GAAG,CAAC,yBAAyB,GAAG,YAAY,MAAM,EAAE,CAAC,CAAC;QAC5D,kFAAkF;QAClF,iDAAiD;QACjD,iDAAiD;IACrD,CAAC;IAEO,cAAc,CAAC,GAAW,EAAE,IAA2B;QAC3D,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,KAAa;QAClC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;QAClE,qBAAqB;QACrB,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,IAAI,EAAE,cAAc,EAAC,CAAC,CAAC;IAC/E,CAAC;IAEM,gBAAgB,CAAC,GAAW,EAAE,IAA2B;QAC5D,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,KAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,IAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClF,uBAAuB;gBACvB,KAAK,CAAC,GAAG,CAAC,sDAAsD,IAAI,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM;YACV,CAAC;QACL,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO,CAAC,GAAW,EAAE,IAA2B;QACnD,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAwB,EAAE,QAAuB;IAClE,gEAAgE;IAChE,IAAY,EAAE,OAAO,GAAG,KAAK;QAC7B,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YAC3C,IAAI,KAAiB,CAAC;YACtB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC1B,KAAK,GAAG,GAAiB,CAAC;gBAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAClC,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACrF,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC;oBACjD,CAAC;gBACL,CAAC;gBACD,GAAG,GAAG,MAAM,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACJ,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACtB,0DAA0D;gBAC1D,eAAe;gBACf,sEAAsE;gBACtE,OAAO;YACX,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,EAAC,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAC,CAAC,CAAC;YAC/F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAClF,OAAO,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC;QAChD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,gEAAgE;IACzD,KAAK,CAAC,QAAQ,CAAC,QAAuB,EAAE,IAAY,EAAE,OAAO,GAAG,KAAK;QACxE,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,gEAAgE;IACzD,KAAK,CAAC,UAAU,CAAC,QAAuB,EAAE,IAAY,EAAE,OAAO,GAAG,KAAK;QAC1E,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACxF,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,gEAAgE;IACzD,KAAK,CAAC,cAAc,CAAC,QAA2B,EAAE,IAAY,EAAE,OAAO,GAAG,KAAK;QAClF,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,iBAAiB,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAChG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,gEAAgE;IACzD,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,QAAuB,EAAE,IAAY;QAC5E,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEO,iBAAiB;QACrB,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QACrD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAEM,YAAY,CAAC,SAAiB,EAAE,eAAwB;QAC3D,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;QAClC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5B,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;QACzB,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC9B,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QAClB,KAAK,CAAC,OAAO,GAAG,CAAC,cAAc,CAAC,iCAAiC;YAC7D,cAAc,CAAC,mCAAmC,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,KAAK,CAAC,OAAO,KAAK,cAAc,CAAC,gBAAgB,CAAC;QACtD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,iBAAiB;QACpB,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;QAClC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,qBAAqB;QACxB,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACtC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,cAAsB,EAAE,UAAuB,EACnE,WAAwB,EAAE,MAAkB;QAC5C,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACrE,KAAK,CAAC,GAAG,CAAC,OAAO,WAAW,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,UAAoB,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,UAAoB,EAAE,EAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,MAAM,EAAC,CAAC,CAAC;QAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,WAAqB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3F,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QACrC,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAqB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAChF,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/D,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,OAAO;QACX,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,GAAW;QACrC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,IAAI,KAAK,KAAK,GAAG;gBAAE,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;QAChF,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACjB,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC;QAClD,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,UAAU,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,mBAAmB,EACtD,mBAAmB,CAAC,uBAAuB,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACnF,kDAAkD;QACtD,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,OAAe;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC;IACvE,CAAC;IAEM,YAAY,CAAC,IAAmB,EAAE,MAAkB;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAEM,mBAAmB,CAAC,IAAmB,EAAE,GAAW;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,EACrB,QAAQ,GAAG,CAAC,EACZ,SAAS,GAAG,GAAG,EACf,QAAQ,GAAG,MAAM,EACjB,QAAQ,GAAG,CAAC,EACZ,aAAa,GAAG,EAAE,EAClB,cAAc,GAAG,EAAE,EACC;QACpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;YACnD,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,iBAAiB,EAAE,aAAa,CAAC,MAAM;YACvC,kBAAkB,EAAE,cAAc,CAAC,MAAM;YACzC,gBAAgB,EAAE,aAAa;YAC/B,iBAAiB,EAAE,cAAc;SACpC,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEM,OAAO,CAAC,OAAe,EAAE,SAAiB,EAAE,QAAgB,EAAE,OAAO,GAAG,KAAK;QAEhF,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAC,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAEO,wBAAwB,CAAC,OAA6B,EAAE,OAAe;QAC3E,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,OAAO,IAAI,CAAC;IAC3D,CAAC;IAEO,iBAAiB,CAAC,OAAmB,EAAE,OAA6B;QACxE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;YAC5D,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC;YACjE,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;IAEM,aAAa,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;IAClE,CAAC;IAEM,UAAU,CAAC,OAAe;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE,EAAC,YAAY,EAAE,OAAO,EAAC,CAAC,CAAC;IACvF,CAAC;IAEM,mBAAmB,CAAC,OAAmB,EAAE,YAA0B;QACtE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,OAAO,EAAE,YAAY,EAAC,CAAC,CAAC;IACjF,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,WAAmB,EAAE,GAAW;QACxD,+CAA+C;QAC/C,MAAM,EAAE,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACxC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1E,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,EAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC;QACjG,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;YACnC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,UAAU,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,UAAU,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,KAAoB;QAC9C,gBAAgB;QAChB,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YAC7B,IAAI,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrC,oBAAoB;YACpB,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC;YACzD,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACrD,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACxD,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC3D,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACnD,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACvD,mBAAmB;YACnB,MAAM,UAAU,GAAG;gBACf,WAAW,EAAE,KAAK,CAAC,YAAY;gBAC/B,QAAQ,EAAE;oBACN,SAAS,EAAE,MAAM;oBACjB,cAAc,EAAE,GAAG;oBACnB,SAAS,EAAE,MAAM;oBACjB,QAAQ,EAAE,KAAK,CAAC,cAAc;iBACjC;gBACD,GAAG,EAAE,KAAK,CAAC,OAAO;gBAClB,OAAO,EAAE;oBACL,SAAS,EAAE,KAAK,CAAC,YAAY;oBAC7B,YAAY,EAAE;wBACV,OAAO,EAAE,OAAO;wBAChB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;wBACtC,QAAQ,EAAE,QAAQ;wBAClB,eAAe,EAAE,OAAO;qBAC3B;oBACD,KAAK,EAAE,KAAK,CAAC,KAAK;iBACrB;gBACD,MAAM,EAAE,KAAK,CAAC,IAAI;aACrB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,MAAM,UAAU,GAAG;gBACf,WAAW,EAAE,KAAK,CAAC,YAAY;gBAC/B,QAAQ,EAAE;oBACN,SAAS,EAAE,MAAM;oBACjB,cAAc,EAAE,GAAG;oBACnB,SAAS,EAAE,MAAM;oBACjB,QAAQ,EAAE,KAAK,CAAC,cAAc;iBACjC;gBACD,GAAG,EAAE,KAAK,CAAC,OAAO;gBAClB,OAAO,EAAE;oBACL,SAAS,EAAE,KAAK,CAAC,YAAY;oBAC7B,YAAY,EAAE,KAAK,CAAC,cAAc;oBAClC,KAAK,EAAE,KAAK,CAAC,KAAK;iBACrB;gBACD,MAAM,EAAE,KAAK,CAAC,IAAI;aACrB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/driver.ts"],"names":[],"mappings":"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"}