@enbox/dwn-sdk-js 0.0.7 → 0.1.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 (368) hide show
  1. package/dist/browser.mjs +8 -8
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/generated/precompiled-validators.js +817 -911
  4. package/dist/esm/generated/precompiled-validators.js.map +1 -1
  5. package/dist/esm/src/core/constants.js +11 -0
  6. package/dist/esm/src/core/constants.js.map +1 -0
  7. package/dist/esm/src/core/core-protocol.js +44 -0
  8. package/dist/esm/src/core/core-protocol.js.map +1 -0
  9. package/dist/esm/src/core/dwn-error.js +12 -12
  10. package/dist/esm/src/core/dwn-error.js.map +1 -1
  11. package/dist/esm/src/core/grant-authorization.js +16 -3
  12. package/dist/esm/src/core/grant-authorization.js.map +1 -1
  13. package/dist/esm/src/core/protocol-authorization-action.js +5 -0
  14. package/dist/esm/src/core/protocol-authorization-action.js.map +1 -1
  15. package/dist/esm/src/core/protocol-authorization-validation.js +91 -0
  16. package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -1
  17. package/dist/esm/src/core/protocol-authorization.js +53 -30
  18. package/dist/esm/src/core/protocol-authorization.js.map +1 -1
  19. package/dist/esm/src/core/records-grant-authorization.js +6 -8
  20. package/dist/esm/src/core/records-grant-authorization.js.map +1 -1
  21. package/dist/esm/src/core/resumable-task-manager.js +2 -0
  22. package/dist/esm/src/core/resumable-task-manager.js.map +1 -1
  23. package/dist/esm/src/dwn.js +42 -18
  24. package/dist/esm/src/dwn.js.map +1 -1
  25. package/dist/esm/src/event-stream/event-emitter-event-log.js +204 -0
  26. package/dist/esm/src/event-stream/event-emitter-event-log.js.map +1 -0
  27. package/dist/esm/src/handlers/messages-read.js +7 -11
  28. package/dist/esm/src/handlers/messages-read.js.map +1 -1
  29. package/dist/esm/src/handlers/messages-subscribe.js +22 -24
  30. package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
  31. package/dist/esm/src/handlers/messages-sync.js +11 -15
  32. package/dist/esm/src/handlers/messages-sync.js.map +1 -1
  33. package/dist/esm/src/handlers/protocols-configure.js +37 -27
  34. package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
  35. package/dist/esm/src/handlers/protocols-query.js +7 -11
  36. package/dist/esm/src/handlers/protocols-query.js.map +1 -1
  37. package/dist/esm/src/handlers/records-count.js +10 -12
  38. package/dist/esm/src/handlers/records-count.js.map +1 -1
  39. package/dist/esm/src/handlers/records-delete.js +10 -18
  40. package/dist/esm/src/handlers/records-delete.js.map +1 -1
  41. package/dist/esm/src/handlers/records-query.js +11 -15
  42. package/dist/esm/src/handlers/records-query.js.map +1 -1
  43. package/dist/esm/src/handlers/records-read.js +31 -26
  44. package/dist/esm/src/handlers/records-read.js.map +1 -1
  45. package/dist/esm/src/handlers/records-subscribe.js +39 -26
  46. package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
  47. package/dist/esm/src/handlers/records-write.js +128 -105
  48. package/dist/esm/src/handlers/records-write.js.map +1 -1
  49. package/dist/esm/src/index.js +5 -2
  50. package/dist/esm/src/index.js.map +1 -1
  51. package/dist/esm/src/interfaces/messages-subscribe.js +1 -0
  52. package/dist/esm/src/interfaces/messages-subscribe.js.map +1 -1
  53. package/dist/esm/src/interfaces/protocols-configure.js +33 -3
  54. package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
  55. package/dist/esm/src/interfaces/records-count.js +1 -1
  56. package/dist/esm/src/interfaces/records-count.js.map +1 -1
  57. package/dist/esm/src/interfaces/records-delete.js +1 -1
  58. package/dist/esm/src/interfaces/records-delete.js.map +1 -1
  59. package/dist/esm/src/interfaces/records-query.js +1 -1
  60. package/dist/esm/src/interfaces/records-query.js.map +1 -1
  61. package/dist/esm/src/interfaces/records-read.js +1 -1
  62. package/dist/esm/src/interfaces/records-read.js.map +1 -1
  63. package/dist/esm/src/interfaces/records-subscribe.js +2 -1
  64. package/dist/esm/src/interfaces/records-subscribe.js.map +1 -1
  65. package/dist/esm/src/interfaces/records-write-signing.js +1 -12
  66. package/dist/esm/src/interfaces/records-write-signing.js.map +1 -1
  67. package/dist/esm/src/interfaces/records-write.js +25 -41
  68. package/dist/esm/src/interfaces/records-write.js.map +1 -1
  69. package/dist/esm/src/protocols/permission-grant.js +1 -1
  70. package/dist/esm/src/protocols/permission-grant.js.map +1 -1
  71. package/dist/esm/src/protocols/permission-request.js +1 -1
  72. package/dist/esm/src/protocols/permission-request.js.map +1 -1
  73. package/dist/esm/src/protocols/permissions.js +113 -5
  74. package/dist/esm/src/protocols/permissions.js.map +1 -1
  75. package/dist/esm/src/state-index/state-index-level.js +5 -7
  76. package/dist/esm/src/state-index/state-index-level.js.map +1 -1
  77. package/dist/esm/src/store/data-store-level.js +110 -33
  78. package/dist/esm/src/store/data-store-level.js.map +1 -1
  79. package/dist/esm/src/store/index-level.js +42 -32
  80. package/dist/esm/src/store/index-level.js.map +1 -1
  81. package/dist/esm/src/store/storage-controller.js +70 -6
  82. package/dist/esm/src/store/storage-controller.js.map +1 -1
  83. package/dist/esm/src/types/permission-types.js.map +1 -1
  84. package/dist/esm/src/types/protocols-types.js +11 -0
  85. package/dist/esm/src/types/protocols-types.js.map +1 -1
  86. package/dist/esm/src/types/records-types.js.map +1 -1
  87. package/dist/esm/src/utils/hd-key.js +0 -8
  88. package/dist/esm/src/utils/hd-key.js.map +1 -1
  89. package/dist/esm/src/utils/messages.js +16 -34
  90. package/dist/esm/src/utils/messages.js.map +1 -1
  91. package/dist/esm/src/utils/records.js +5 -43
  92. package/dist/esm/src/utils/records.js.map +1 -1
  93. package/dist/esm/tests/core/protocol-authorization.spec.js +2 -1
  94. package/dist/esm/tests/core/protocol-authorization.spec.js.map +1 -1
  95. package/dist/esm/tests/dwn.spec.js +32 -43
  96. package/dist/esm/tests/dwn.spec.js.map +1 -1
  97. package/dist/esm/tests/event-emitter-event-log.spec.js +305 -0
  98. package/dist/esm/tests/event-emitter-event-log.spec.js.map +1 -0
  99. package/dist/esm/tests/features/author-delegated-grant.spec.js +14 -7
  100. package/dist/esm/tests/features/author-delegated-grant.spec.js.map +1 -1
  101. package/dist/esm/tests/features/owner-delegated-grant.spec.js +9 -5
  102. package/dist/esm/tests/features/owner-delegated-grant.spec.js.map +1 -1
  103. package/dist/esm/tests/features/owner-signature.spec.js +14 -7
  104. package/dist/esm/tests/features/owner-signature.spec.js.map +1 -1
  105. package/dist/esm/tests/features/permissions.spec.js +12 -12
  106. package/dist/esm/tests/features/permissions.spec.js.map +1 -1
  107. package/dist/esm/tests/features/protocol-composition.spec.js +636 -5
  108. package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
  109. package/dist/esm/tests/features/protocol-create-action.spec.js +4 -4
  110. package/dist/esm/tests/features/protocol-create-action.spec.js.map +1 -1
  111. package/dist/esm/tests/features/protocol-delete-action.spec.js +7 -7
  112. package/dist/esm/tests/features/protocol-delete-action.spec.js.map +1 -1
  113. package/dist/esm/tests/features/protocol-update-action.spec.js +4 -4
  114. package/dist/esm/tests/features/protocol-update-action.spec.js.map +1 -1
  115. package/dist/esm/tests/features/records-delivery.spec.js +236 -0
  116. package/dist/esm/tests/features/records-delivery.spec.js.map +1 -0
  117. package/dist/esm/tests/features/records-immutable.spec.js +315 -0
  118. package/dist/esm/tests/features/records-immutable.spec.js.map +1 -0
  119. package/dist/esm/tests/features/records-prune.spec.js +4 -4
  120. package/dist/esm/tests/features/records-prune.spec.js.map +1 -1
  121. package/dist/esm/tests/features/records-record-limit.spec.js +542 -0
  122. package/dist/esm/tests/features/records-record-limit.spec.js.map +1 -0
  123. package/dist/esm/tests/features/records-squash.spec.js +1055 -0
  124. package/dist/esm/tests/features/records-squash.spec.js.map +1 -0
  125. package/dist/esm/tests/features/records-tags.spec.js +16 -4
  126. package/dist/esm/tests/features/records-tags.spec.js.map +1 -1
  127. package/dist/esm/tests/features/resumable-tasks.spec.js +7 -8
  128. package/dist/esm/tests/features/resumable-tasks.spec.js.map +1 -1
  129. package/dist/esm/tests/handlers/messages-read.spec.js +11 -5
  130. package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
  131. package/dist/esm/tests/handlers/messages-subscribe.spec.js +169 -22
  132. package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
  133. package/dist/esm/tests/handlers/messages-sync.spec.js +103 -21
  134. package/dist/esm/tests/handlers/messages-sync.spec.js.map +1 -1
  135. package/dist/esm/tests/handlers/protocols-configure.spec.js +5 -5
  136. package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
  137. package/dist/esm/tests/handlers/protocols-query.spec.js +5 -5
  138. package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -1
  139. package/dist/esm/tests/handlers/records-count.spec.js +9 -4
  140. package/dist/esm/tests/handlers/records-count.spec.js.map +1 -1
  141. package/dist/esm/tests/handlers/records-delete.spec.js +24 -25
  142. package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
  143. package/dist/esm/tests/handlers/records-query.spec.js +68 -9
  144. package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
  145. package/dist/esm/tests/handlers/records-read.spec.js +24 -138
  146. package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
  147. package/dist/esm/tests/handlers/records-subscribe.spec.js +175 -35
  148. package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
  149. package/dist/esm/tests/handlers/records-write.spec.js +176 -72
  150. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  151. package/dist/esm/tests/interfaces/records-write.spec.js +52 -68
  152. package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
  153. package/dist/esm/tests/protocols/permission-grant.spec.js +6 -6
  154. package/dist/esm/tests/protocols/permission-grant.spec.js.map +1 -1
  155. package/dist/esm/tests/protocols/permission-request.spec.js +4 -4
  156. package/dist/esm/tests/protocols/permission-request.spec.js.map +1 -1
  157. package/dist/esm/tests/protocols/permissions.spec.js +4 -4
  158. package/dist/esm/tests/protocols/permissions.spec.js.map +1 -1
  159. package/dist/esm/tests/scenarios/aggregator.spec.js +4 -4
  160. package/dist/esm/tests/scenarios/aggregator.spec.js.map +1 -1
  161. package/dist/esm/tests/scenarios/deleted-record.spec.js +350 -5
  162. package/dist/esm/tests/scenarios/deleted-record.spec.js.map +1 -1
  163. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +4 -4
  164. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
  165. package/dist/esm/tests/scenarios/nested-roles.spec.js +4 -4
  166. package/dist/esm/tests/scenarios/nested-roles.spec.js.map +1 -1
  167. package/dist/esm/tests/scenarios/subscriptions.spec.js +93 -40
  168. package/dist/esm/tests/scenarios/subscriptions.spec.js.map +1 -1
  169. package/dist/esm/tests/store/data-store-level.spec.js +102 -41
  170. package/dist/esm/tests/store/data-store-level.spec.js.map +1 -1
  171. package/dist/esm/tests/test-event-stream.js +12 -13
  172. package/dist/esm/tests/test-event-stream.js.map +1 -1
  173. package/dist/esm/tests/test-suite.js +10 -4
  174. package/dist/esm/tests/test-suite.js.map +1 -1
  175. package/dist/esm/tests/utils/messages.spec.js +12 -5
  176. package/dist/esm/tests/utils/messages.spec.js.map +1 -1
  177. package/dist/esm/tests/utils/records.spec.js +8 -12
  178. package/dist/esm/tests/utils/records.spec.js.map +1 -1
  179. package/dist/esm/tests/utils/test-data-generator.js +36 -2
  180. package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
  181. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +37 -8
  182. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
  183. package/dist/types/generated/precompiled-validators.d.ts +49 -40
  184. package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
  185. package/dist/types/src/core/constants.d.ts +11 -0
  186. package/dist/types/src/core/constants.d.ts.map +1 -0
  187. package/dist/types/src/core/core-protocol.d.ts +89 -0
  188. package/dist/types/src/core/core-protocol.d.ts.map +1 -0
  189. package/dist/types/src/core/dwn-error.d.ts +12 -12
  190. package/dist/types/src/core/dwn-error.d.ts.map +1 -1
  191. package/dist/types/src/core/grant-authorization.d.ts +6 -2
  192. package/dist/types/src/core/grant-authorization.d.ts.map +1 -1
  193. package/dist/types/src/core/protocol-authorization-action.d.ts.map +1 -1
  194. package/dist/types/src/core/protocol-authorization-validation.d.ts +30 -0
  195. package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -1
  196. package/dist/types/src/core/protocol-authorization.d.ts +19 -11
  197. package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
  198. package/dist/types/src/core/records-grant-authorization.d.ts.map +1 -1
  199. package/dist/types/src/core/resumable-task-manager.d.ts +2 -1
  200. package/dist/types/src/core/resumable-task-manager.d.ts.map +1 -1
  201. package/dist/types/src/dwn.d.ts +19 -7
  202. package/dist/types/src/dwn.d.ts.map +1 -1
  203. package/dist/types/src/event-stream/event-emitter-event-log.d.ts +50 -0
  204. package/dist/types/src/event-stream/event-emitter-event-log.d.ts.map +1 -0
  205. package/dist/types/src/handlers/messages-read.d.ts +3 -8
  206. package/dist/types/src/handlers/messages-read.d.ts.map +1 -1
  207. package/dist/types/src/handlers/messages-subscribe.d.ts +6 -10
  208. package/dist/types/src/handlers/messages-subscribe.d.ts.map +1 -1
  209. package/dist/types/src/handlers/messages-sync.d.ts +3 -8
  210. package/dist/types/src/handlers/messages-sync.d.ts.map +1 -1
  211. package/dist/types/src/handlers/protocols-configure.d.ts +3 -10
  212. package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
  213. package/dist/types/src/handlers/protocols-query.d.ts +3 -8
  214. package/dist/types/src/handlers/protocols-query.d.ts.map +1 -1
  215. package/dist/types/src/handlers/records-count.d.ts +3 -6
  216. package/dist/types/src/handlers/records-count.d.ts.map +1 -1
  217. package/dist/types/src/handlers/records-delete.d.ts +3 -8
  218. package/dist/types/src/handlers/records-delete.d.ts.map +1 -1
  219. package/dist/types/src/handlers/records-query.d.ts +3 -8
  220. package/dist/types/src/handlers/records-query.d.ts.map +1 -1
  221. package/dist/types/src/handlers/records-read.d.ts +3 -8
  222. package/dist/types/src/handlers/records-read.d.ts.map +1 -1
  223. package/dist/types/src/handlers/records-subscribe.d.ts +8 -10
  224. package/dist/types/src/handlers/records-subscribe.d.ts.map +1 -1
  225. package/dist/types/src/handlers/records-write.d.ts +12 -25
  226. package/dist/types/src/handlers/records-write.d.ts.map +1 -1
  227. package/dist/types/src/index.d.ts +8 -4
  228. package/dist/types/src/index.d.ts.map +1 -1
  229. package/dist/types/src/interfaces/messages-subscribe.d.ts +5 -0
  230. package/dist/types/src/interfaces/messages-subscribe.d.ts.map +1 -1
  231. package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
  232. package/dist/types/src/interfaces/records-subscribe.d.ts +5 -0
  233. package/dist/types/src/interfaces/records-subscribe.d.ts.map +1 -1
  234. package/dist/types/src/interfaces/records-write-signing.d.ts +3 -4
  235. package/dist/types/src/interfaces/records-write-signing.d.ts.map +1 -1
  236. package/dist/types/src/interfaces/records-write.d.ts +11 -11
  237. package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
  238. package/dist/types/src/protocols/permission-grant.d.ts +1 -1
  239. package/dist/types/src/protocols/permission-grant.d.ts.map +1 -1
  240. package/dist/types/src/protocols/permission-request.d.ts +1 -1
  241. package/dist/types/src/protocols/permission-request.d.ts.map +1 -1
  242. package/dist/types/src/protocols/permissions.d.ts +40 -3
  243. package/dist/types/src/protocols/permissions.d.ts.map +1 -1
  244. package/dist/types/src/state-index/state-index-level.d.ts.map +1 -1
  245. package/dist/types/src/store/data-store-level.d.ts +20 -4
  246. package/dist/types/src/store/data-store-level.d.ts.map +1 -1
  247. package/dist/types/src/store/index-level.d.ts +4 -0
  248. package/dist/types/src/store/index-level.d.ts.map +1 -1
  249. package/dist/types/src/store/storage-controller.d.ts +20 -6
  250. package/dist/types/src/store/storage-controller.d.ts.map +1 -1
  251. package/dist/types/src/types/message-types.d.ts +3 -3
  252. package/dist/types/src/types/message-types.d.ts.map +1 -1
  253. package/dist/types/src/types/messages-types.d.ts +12 -3
  254. package/dist/types/src/types/messages-types.d.ts.map +1 -1
  255. package/dist/types/src/types/method-handler.d.ts +24 -3
  256. package/dist/types/src/types/method-handler.d.ts.map +1 -1
  257. package/dist/types/src/types/permission-types.d.ts +7 -0
  258. package/dist/types/src/types/permission-types.d.ts.map +1 -1
  259. package/dist/types/src/types/protocols-types.d.ts +69 -2
  260. package/dist/types/src/types/protocols-types.d.ts.map +1 -1
  261. package/dist/types/src/types/records-types.d.ts +23 -6
  262. package/dist/types/src/types/records-types.d.ts.map +1 -1
  263. package/dist/types/src/types/subscriptions.d.ts +151 -13
  264. package/dist/types/src/types/subscriptions.d.ts.map +1 -1
  265. package/dist/types/src/utils/hd-key.d.ts +1 -9
  266. package/dist/types/src/utils/hd-key.d.ts.map +1 -1
  267. package/dist/types/src/utils/messages.d.ts +7 -5
  268. package/dist/types/src/utils/messages.d.ts.map +1 -1
  269. package/dist/types/src/utils/records.d.ts +1 -11
  270. package/dist/types/src/utils/records.d.ts.map +1 -1
  271. package/dist/types/tests/dwn.spec.d.ts.map +1 -1
  272. package/dist/types/tests/event-emitter-event-log.spec.d.ts +2 -0
  273. package/dist/types/tests/event-emitter-event-log.spec.d.ts.map +1 -0
  274. package/dist/types/tests/features/author-delegated-grant.spec.d.ts.map +1 -1
  275. package/dist/types/tests/features/owner-delegated-grant.spec.d.ts.map +1 -1
  276. package/dist/types/tests/features/owner-signature.spec.d.ts.map +1 -1
  277. package/dist/types/tests/features/protocol-composition.spec.d.ts.map +1 -1
  278. package/dist/types/tests/features/records-delivery.spec.d.ts +2 -0
  279. package/dist/types/tests/features/records-delivery.spec.d.ts.map +1 -0
  280. package/dist/types/tests/features/records-immutable.spec.d.ts +2 -0
  281. package/dist/types/tests/features/records-immutable.spec.d.ts.map +1 -0
  282. package/dist/types/tests/features/records-record-limit.spec.d.ts +2 -0
  283. package/dist/types/tests/features/records-record-limit.spec.d.ts.map +1 -0
  284. package/dist/types/tests/features/records-squash.spec.d.ts +2 -0
  285. package/dist/types/tests/features/records-squash.spec.d.ts.map +1 -0
  286. package/dist/types/tests/features/records-tags.spec.d.ts.map +1 -1
  287. package/dist/types/tests/features/resumable-tasks.spec.d.ts.map +1 -1
  288. package/dist/types/tests/handlers/messages-read.spec.d.ts.map +1 -1
  289. package/dist/types/tests/handlers/messages-subscribe.spec.d.ts.map +1 -1
  290. package/dist/types/tests/handlers/messages-sync.spec.d.ts.map +1 -1
  291. package/dist/types/tests/handlers/records-count.spec.d.ts.map +1 -1
  292. package/dist/types/tests/handlers/records-delete.spec.d.ts.map +1 -1
  293. package/dist/types/tests/handlers/records-query.spec.d.ts.map +1 -1
  294. package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
  295. package/dist/types/tests/handlers/records-subscribe.spec.d.ts.map +1 -1
  296. package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
  297. package/dist/types/tests/scenarios/deleted-record.spec.d.ts.map +1 -1
  298. package/dist/types/tests/scenarios/subscriptions.spec.d.ts.map +1 -1
  299. package/dist/types/tests/test-event-stream.d.ts +11 -12
  300. package/dist/types/tests/test-event-stream.d.ts.map +1 -1
  301. package/dist/types/tests/test-suite.d.ts +2 -2
  302. package/dist/types/tests/test-suite.d.ts.map +1 -1
  303. package/dist/types/tests/utils/test-data-generator.d.ts +19 -0
  304. package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
  305. package/package.json +5 -4
  306. package/src/core/constants.ts +11 -0
  307. package/src/core/core-protocol.ts +129 -0
  308. package/src/core/dwn-error.ts +18 -12
  309. package/src/core/grant-authorization.ts +20 -3
  310. package/src/core/protocol-authorization-action.ts +5 -0
  311. package/src/core/protocol-authorization-validation.ts +133 -0
  312. package/src/core/protocol-authorization.ts +71 -23
  313. package/src/core/records-grant-authorization.ts +6 -8
  314. package/src/core/resumable-task-manager.ts +3 -1
  315. package/src/dwn.ts +58 -73
  316. package/src/event-stream/event-emitter-event-log.ts +283 -0
  317. package/src/handlers/messages-read.ts +8 -9
  318. package/src/handlers/messages-subscribe.ts +24 -28
  319. package/src/handlers/messages-sync.ts +10 -16
  320. package/src/handlers/protocols-configure.ts +47 -32
  321. package/src/handlers/protocols-query.ts +6 -9
  322. package/src/handlers/records-count.ts +11 -10
  323. package/src/handlers/records-delete.ts +12 -21
  324. package/src/handlers/records-query.ts +12 -12
  325. package/src/handlers/records-read.ts +34 -22
  326. package/src/handlers/records-subscribe.ts +47 -26
  327. package/src/handlers/records-write.ts +152 -119
  328. package/src/index.ts +9 -5
  329. package/src/interfaces/messages-subscribe.ts +7 -1
  330. package/src/interfaces/protocols-configure.ts +51 -3
  331. package/src/interfaces/records-count.ts +1 -1
  332. package/src/interfaces/records-delete.ts +1 -1
  333. package/src/interfaces/records-query.ts +1 -1
  334. package/src/interfaces/records-read.ts +1 -1
  335. package/src/interfaces/records-subscribe.ts +8 -1
  336. package/src/interfaces/records-write-signing.ts +2 -22
  337. package/src/interfaces/records-write.ts +35 -48
  338. package/src/protocols/permission-grant.ts +1 -1
  339. package/src/protocols/permission-request.ts +1 -1
  340. package/src/protocols/permissions.ts +148 -6
  341. package/src/state-index/state-index-level.ts +5 -7
  342. package/src/store/data-store-level.ts +124 -34
  343. package/src/store/index-level.ts +44 -35
  344. package/src/store/storage-controller.ts +89 -12
  345. package/src/types/message-types.ts +3 -3
  346. package/src/types/messages-types.ts +12 -3
  347. package/src/types/method-handler.ts +26 -4
  348. package/src/types/mitt.d.ts +28 -0
  349. package/src/types/permission-types.ts +7 -0
  350. package/src/types/protocols-types.ts +78 -1
  351. package/src/types/records-types.ts +24 -6
  352. package/src/types/subscriptions.ts +178 -14
  353. package/src/utils/hd-key.ts +0 -9
  354. package/src/utils/messages.ts +17 -37
  355. package/src/utils/records.ts +7 -58
  356. package/dist/esm/src/event-stream/event-emitter-stream.js +0 -46
  357. package/dist/esm/src/event-stream/event-emitter-stream.js.map +0 -1
  358. package/dist/esm/tests/event-stream/event-emitter-stream.spec.js +0 -68
  359. package/dist/esm/tests/event-stream/event-emitter-stream.spec.js.map +0 -1
  360. package/dist/esm/tests/event-stream/event-stream.spec.js +0 -114
  361. package/dist/esm/tests/event-stream/event-stream.spec.js.map +0 -1
  362. package/dist/types/src/event-stream/event-emitter-stream.d.ts +0 -23
  363. package/dist/types/src/event-stream/event-emitter-stream.d.ts.map +0 -1
  364. package/dist/types/tests/event-stream/event-emitter-stream.spec.d.ts +0 -2
  365. package/dist/types/tests/event-stream/event-emitter-stream.spec.d.ts.map +0 -1
  366. package/dist/types/tests/event-stream/event-stream.spec.d.ts +0 -2
  367. package/dist/types/tests/event-stream/event-stream.spec.d.ts.map +0 -1
  368. package/src/event-stream/event-emitter-stream.ts +0 -69
@@ -1 +1 @@
1
- {"version":3,"file":"messages-read.spec.js","sourceRoot":"","sources":["../../../../tests/handlers/messages-read.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages-read.spec.js","sourceRoot":"","sources":["../../../../tests/handlers/messages-read.spec.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,yBAAyB,MAAM,8CAA8C,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3G,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAClK,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,UAAU,uBAAuB;IACrC,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,IAAI,GAAQ,CAAC;QACb,IAAI,WAAwB,CAAC;QAC7B,IAAI,YAA0B,CAAC;QAC/B,IAAI,SAAoB,CAAC;QACzB,IAAI,kBAAsC,CAAC;QAC3C,IAAI,UAAsB,CAAC;QAC3B,IAAI,QAAkB,CAAC;QAEvB,mGAAmG;QACnG,6EAA6E;QAC7E,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,WAAW,GAAG,IAAI,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAEhE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;YAChC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YACnC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YAC7B,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;YAC/C,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YAC/B,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;YAE9B,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC7G,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,KAAK,IAAI,EAAE;YACtB,+GAA+G;YAC7G,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;YAEzB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,4CAA4C;QAC/D,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;YAClB,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAE9D,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAE1F,yBAAyB;YACzB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBAC/D,MAAM,EAAO,KAAK;gBAClB,UAAU,EAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE;aAC3D,CAAC,CAAC;YAEH,yCAAyC;YACzC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAEzF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBAC/D,MAAM,EAAO,KAAK;gBAClB,UAAU,EAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;aACxD,CAAC,CAAC;YAEF,OAAO,CAAC,YAAY,CAAS,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;YAEjD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAE3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAEzF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBAC/D,MAAM,EAAO,KAAK;gBAClB,UAAU,EAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;aACxD,CAAC,CAAC;YAEH,OAAO,CAAC,UAAU,CAAC,UAAU,GAAG,WAAW,CAAC;YAE5C,MAAM,KAAK,GAAsB,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAE9E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YAC5D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;YACtG,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACzF,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAE1E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBAC/D,MAAM,EAAO,KAAK;gBAClB,UAAU,EAAG,sBAAsB;aACpC,CAAC,CAAC;YAEH,wEAAwE;YACxE,MAAM,KAAK,GAAsB,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;YAC/B,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;gBAC1C,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;oBAC7D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAE7D,mDAAmD;oBACnD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5G,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACnF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE9B,kCAAkC;oBAClC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC/D,MAAM,EAAO,KAAK;wBAClB,UAAU,EAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;qBAChD,CAAC,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAEzD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,+BAA+B,CAAC,CAAC;gBACtF,CAAC,CAAC,CAAC;gBAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;oBACnD,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;wBAC3C,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;wBAE9D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBAE/D,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;4BACpG,MAAM,EAAG,KAAK;4BACd,IAAI,EAAK,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,6BAA6B,CAAC;yBAClF,CAAC,CAAC;wBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;wBAChF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAEpC,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBAClE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;4BAC/D,MAAM,EAAO,KAAK;4BAClB,UAAU,EAAG,sBAAsB;yBACpC,CAAC,CAAC;wBAEH,MAAM,iBAAiB,GAAsB,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBAC1F,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAChD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;wBAE9C,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAM,CAAC;wBAC9C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC9C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;wBAE7D,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC3C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;wBACxC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAK,CAAC,CAAC;wBACjE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;oBAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;wBAC9C,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;wBAE9D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBAE/D,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;4BACpG,MAAM,EAAG,KAAK;4BACd,IAAI,EAAK,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,6BAA6B,GAAG,EAAE,CAAC;yBACvF,CAAC,CAAC;wBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;wBAChF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAEpC,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBAClE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;4BAC/D,MAAM,EAAO,KAAK;4BAClB,UAAU,EAAG,sBAAsB;yBACpC,CAAC,CAAC;wBAEH,MAAM,iBAAiB,GAAsB,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBAC1F,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAChD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;wBAE9C,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAM,CAAC;wBAC9C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC9C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;wBAE7D,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC3C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;wBACxC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAK,CAAC,CAAC;wBACjE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;oBAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;wBACrC,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;wBAE9D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBAE/D,gBAAgB;wBAChB,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;4BAC9G,MAAM,EAAG,KAAK;4BACd,IAAI,EAAK,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,6BAA6B,GAAG,EAAE,CAAC;yBACvF,CAAC,CAAC;wBAEH,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;wBAEpE,IAAI,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;wBACrF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAEpC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,MAAM,iBAAiB,CAAC,wBAAwB,CAAC;4BACrH,MAAM,EAAU,KAAK;4BACrB,aAAa,EAAG,YAAY;4BAC5B,IAAI,EAAY,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,6BAA6B,GAAG,EAAE,CAAC;yBAC9F,CAAC,CAAC;wBAEH,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAC;wBACtG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAEpC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;4BAC/D,MAAM,EAAO,KAAK;4BAClB,UAAU,EAAG,iBAAiB;yBAC/B,CAAC,CAAC;wBAEH,MAAM,iBAAiB,GAAsB,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBAC1F,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAChD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;wBAE9C,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAM,CAAC;wBAC9C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC9C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;wBAExD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC3C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;oBAC5C,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;gBAC3C,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;oBAC7D,oGAAoG;oBACpG,0GAA0G;oBAE1G,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,qCAAqC;oBACrC,MAAM,6BAA6B,GAAG;wBACpC,GAAG,yBAAyB;wBAC5B,QAAQ,EAAI,yCAAyC;wBACrD,SAAS,EAAG,KAAK;qBAClB,CAAC;oBACF,MAAM,EAAE,OAAO,EAAE,6BAA6B,EAAE,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBACpG,MAAM,EAAe,KAAK;wBAC1B,kBAAkB,EAAG,6BAA6B;qBACnD,CAAC,CAAC;oBACH,MAAM,kCAAkC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;oBAC9G,MAAM,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEjE,mCAAmC;oBACnC,MAAM,2BAA2B,GAAG;wBAClC,GAAG,yBAAyB;wBAC5B,QAAQ,EAAI,uCAAuC;wBACnD,SAAS,EAAG,IAAI;qBACjB,CAAC;oBACF,MAAM,EAAE,OAAO,EAAE,2BAA2B,EAAE,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBAClG,MAAM,EAAe,KAAK;wBAC1B,kBAAkB,EAAG,2BAA2B;qBACjD,CAAC,CAAC;oBACH,MAAM,gCAAgC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;oBAC1G,MAAM,CAAC,gCAAgC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE/D,uBAAuB;oBACvB,MAAM,6BAA6B,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;oBAC1F,MAAM,2BAA2B,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;oBAEtF,8DAA8D;oBAC9D,MAAM,EAAE,OAAO,EAAE,+BAA+B,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAChG,MAAM,EAAO,GAAG;wBAChB,UAAU,EAAG,6BAA6B;qBAC3C,CAAC,CAAC;oBACH,MAAM,oCAAoC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;oBAClH,MAAM,CAAC,oCAAoC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnE,MAAM,CAAC,oCAAoC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,+BAA+B,CAAC,CAAC;oBACnH,MAAM,CAAC,oCAAoC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;oBAEnE,4DAA4D;oBAC5D,MAAM,EAAE,OAAO,EAAE,6BAA6B,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC9F,MAAM,EAAO,GAAG;wBAChB,UAAU,EAAG,2BAA2B;qBACzC,CAAC,CAAC;oBACH,MAAM,kCAAkC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;oBAC9G,MAAM,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACjE,MAAM,CAAC,kCAAkC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,+BAA+B,CAAC,CAAC;oBACjH,MAAM,CAAC,kCAAkC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;oBAEjE,4FAA4F;oBAC5F,MAAM,EAAE,OAAO,EAAE,oCAAoC,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACrG,MAAM,EAAO,KAAK;wBAClB,UAAU,EAAG,6BAA6B;qBAC3C,CAAC,CAAC;oBACH,MAAM,yCAAyC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,oCAAoC,CAAC,CAAC;oBAC5H,MAAM,CAAC,yCAAyC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACxE,MAAM,CAAC,yCAAyC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACtE,MAAM,CAAC,yCAAyC,CAAC,KAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBACxG,MAAM,CAAC,yCAAyC,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;oBAExG,MAAM,EAAE,OAAO,EAAE,kCAAkC,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACnG,MAAM,EAAO,KAAK;wBAClB,UAAU,EAAG,2BAA2B;qBACzC,CAAC,CAAC;oBACH,MAAM,uCAAuC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,kCAAkC,CAAC,CAAC;oBACxH,MAAM,CAAC,uCAAuC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtE,MAAM,CAAC,uCAAuC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACpE,MAAM,CAAC,uCAAuC,CAAC,KAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;oBACpG,MAAM,CAAC,uCAAuC,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;gBACtG,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;YAC5B,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;gBACxE,0GAA0G;gBAE1G,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE5D,4BAA4B;gBAC5B,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;oBACzE,MAAM,EAAe,KAAK;oBAC1B,kBAAkB,EAAG,yBAAyB;iBAC/C,CAAC,CAAC;gBACH,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC7F,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEtD,yDAAyD;gBACzD,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAChF,MAAM,EAAS,KAAK;oBACpB,QAAQ,EAAO,yBAAyB,CAAC,QAAQ;oBACjD,YAAY,EAAG,KAAK;iBACrB,CAAC,CAAC;gBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBACpG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEhD,+EAA+E;gBAC/E,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;oBAC5D,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBACrC,SAAS,EAAK,GAAG,CAAC,GAAG;oBACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,WAAW;oBAChF,KAAK,EAAS;wBACZ,SAAS,EAAG,gBAAgB,CAAC,OAAO;wBACpC,MAAM,EAAM,aAAa,CAAC,KAAK;wBAC/B,QAAQ,EAAI,yBAAyB,CAAC,QAAQ;qBAC/C;iBACF,CAAC,CAAC;gBACH,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;gBACnF,MAAM,yBAAyB,GAAG,MAAM,GAAG,CAAC,cAAc,CACxD,KAAK,CAAC,GAAG,EACT,eAAe,CAAC,YAAY,CAAC,OAAO,EACpC,EAAE,UAAU,EAAE,eAAe,EAAE,CAChC,CAAC;gBACF,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAExD,yDAAyD;gBACzD,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAChE,MAAM,EAAc,GAAG;oBACvB,UAAU,EAAU,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;oBAC9D,iBAAiB,EAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;iBAClE,CAAC,CAAC;gBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBACpF,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChD,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,mCAAmC,CAAC,CAAC;YACtG,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;gBAC/F,iFAAiF;gBACjF,sDAAsD;gBAEtD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE5D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAE/D,mCAAmC;gBACnC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAC3E,MAAM,EAAE,KAAK;iBACd,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBAChF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAEjD,6EAA6E;gBAC7E,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;oBAC5D,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBACrC,SAAS,EAAK,GAAG,CAAC,GAAG;oBACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,WAAW;oBAChF,KAAK,EAAS;wBACZ,SAAS,EAAG,gBAAgB,CAAC,QAAQ;wBACrC,MAAM,EAAM,aAAa,CAAC,IAAI;qBAC/B;iBACF,CAAC,CAAC;gBACH,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;gBACnF,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC9H,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEzC,2DAA2D;gBAC3D,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAChE,MAAM,EAAc,GAAG;oBACvB,iBAAiB,EAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;oBACjE,UAAU;iBACX,CAAC,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC5E,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;gBACtC,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;gBACxC,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;oBACxF,qIAAqI;oBACrI,kFAAkF;oBAClF,2EAA2E;oBAC3E,iFAAiF;oBAEjF,sFAAsF;oBACtF,8EAA8E;oBAC9E,yFAAyF;oBACzF,wEAAwE;oBACxE,sEAAsE;oBACtE,8CAA8C;oBAC9C,gEAAgE;oBAChE,0HAA0H;oBAE1H,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC5D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE9D,MAAM,kBAAkB,GAAG,EAAE,GAAG,yBAAyB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;oBAE9E,0CAA0C;oBAC1C,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBACzE,MAAM,EAAE,KAAK;wBACb,kBAAkB;qBACnB,CAAC,CAAC;oBACH,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;oBAC7F,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtD,MAAM,2BAA2B,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBAElF,0DAA0D;oBAC1D,MAAM,sBAAsB,GAAG,MAAM,mBAAmB,CAAC,aAAa,CAAC;wBACrE,MAAM,EAAM,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBACnC,SAAS,EAAG,KAAK;wBACjB,KAAK,EAAO;4BACV,SAAS,EAAG,gBAAgB,CAAC,OAAO;4BACpC,MAAM,EAAM,aAAa,CAAC,KAAK;4BAC/B,QAAQ,EAAI,kBAAkB,CAAC,QAAQ;yBACxC;qBACF,CAAC,CAAC;oBACH,MAAM,sBAAsB,GAAG,UAAU,CAAC,SAAS,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;oBACnG,MAAM,gCAAgC,GAAG,MAAM,GAAG,CAAC,cAAc,CAC/D,KAAK,CAAC,GAAG,EACT,sBAAsB,CAAC,YAAY,CAAC,OAAO,EAC3C,EAAE,UAAU,EAAE,sBAAsB,EAAE,CACvC,CAAC;oBACF,MAAM,CAAC,gCAAgC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE/D,6DAA6D;oBAC7D,MAAM,oBAAoB,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;wBACjE,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBACrC,SAAS,EAAK,KAAK,CAAC,GAAG;wBACvB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,WAAW;wBAChF,SAAS,EAAK,sBAAsB,CAAC,qBAAqB,CAAC,SAAS;wBACpE,KAAK,EAAS,sBAAsB,CAAC,qBAAqB,CAAC,KAAK;qBACjE,CAAC,CAAC;oBAEH,MAAM,oBAAoB,GAAG,UAAU,CAAC,SAAS,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;oBAC7F,MAAM,8BAA8B,GAAG,MAAM,GAAG,CAAC,cAAc,CAC7D,KAAK,CAAC,GAAG,EACT,oBAAoB,CAAC,YAAY,CAAC,OAAO,EACzC,EAAE,UAAU,EAAE,oBAAoB,EAAE,CACrC,CAAC;oBACF,MAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC7D,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAE7F,qDAAqD;oBACrD,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAChF,MAAM,EAAS,KAAK;wBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;wBAC1C,YAAY,EAAG,KAAK;qBACrB,CAAC,CAAC;oBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACpG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChD,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAEzE,sDAAsD;oBACtD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,CAAC;wBAClE,MAAM,EAAK,KAAK;wBAChB,QAAQ,EAAG,YAAY,CAAC,OAAO,CAAC,QAAQ;qBACzC,CAAC,CAAC;oBACH,MAAM,kBAAkB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;oBACtF,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEjD,qDAAqD;oBACrD,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACpH,MAAM,EAAc,KAAK;wBACzB,QAAQ,EAAY,kBAAkB,CAAC,QAAQ;wBAC/C,YAAY,EAAQ,KAAK;wBACzB,iBAAiB,EAAG,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;qBACvE,CAAC,CAAC;oBACH,MAAM,sBAAsB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;oBAC/H,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACrD,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBAE9E,8BAA8B;oBAC9B,MAAM,yBAAyB,GAAG,MAAM,mBAAmB,CAAC,gBAAgB,CAAC;wBAC3E,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBAChC,KAAK,EAAI,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;qBACxE,CAAC,CAAC;oBACH,MAAM,mCAAmC,GAAG,UAAU,CAAC,SAAS,CAAC,yBAAyB,CAAC,yBAAyB,CAAC,CAAC;oBACtH,MAAM,8BAA8B,GAAG,MAAM,GAAG,CAAC,cAAc,CAC7D,KAAK,CAAC,GAAG,EACT,yBAAyB,CAAC,YAAY,CAAC,OAAO,EAC9C,EAAE,UAAU,EAAE,mCAAmC,EAAE,CACpD,CAAC;oBACF,MAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE7D,6DAA6D;oBAC7D,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;wBAC5D,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBACrC,SAAS,EAAK,GAAG,CAAC,GAAG;wBACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,WAAW;wBAChF,KAAK,EAAS;4BACZ,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;4BAC9B,QAAQ,EAAI,kBAAkB,CAAC,QAAQ;yBACxC;qBACF,CAAC,CAAC;oBACH,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;oBACnF,MAAM,yBAAyB,GAAG,MAAM,GAAG,CAAC,cAAc,CACxD,KAAK,CAAC,GAAG,EACT,eAAe,CAAC,YAAY,CAAC,OAAO,EACpC,EAAE,UAAU,EAAE,eAAe,EAAE,CAChC,CAAC;oBACF,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAExD,uEAAuE;oBACvE,MAAM,wBAAwB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC5E,MAAM,EAAO,GAAG;wBAChB,UAAU,EAAG,qBAAqB;qBACnC,CAAC,CAAC;oBACH,MAAM,6BAA6B,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;oBAC5G,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5D,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,+BAA+B,CAAC,CAAC;oBAE5G,kFAAkF;oBAClF,qBAAqB;oBACrB,2BAA2B;oBAC3B,yBAAyB;oBACzB,0BAA0B;oBAC1B,+BAA+B;oBAC/B,sCAAsC;oBACtC,yBAAyB;oBACzB,wCAAwC;oBAExC,yBAAyB;oBACzB,MAAM,6BAA6B,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACjF,MAAM,EAAc,GAAG;wBACvB,UAAU,EAAU,2BAA2B;wBAC/C,iBAAiB,EAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;qBAClE,CAAC,CAAC;oBACH,MAAM,kCAAkC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,6BAA6B,CAAC,OAAO,CAAC,CAAC;oBACtH,MAAM,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACjE,MAAM,CAAC,kCAAkC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC/D,MAAM,CAAC,kCAAkC,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBAE3F,qBAAqB;oBACrB,MAAM,qBAAqB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACzE,MAAM,EAAc,GAAG;wBACvB,UAAU,EAAU,qBAAqB;wBACzC,iBAAiB,EAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;qBAClE,CAAC,CAAC;oBACH,MAAM,0BAA0B,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;oBACtG,MAAM,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACzD,MAAM,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACvD,MAAM,CAAC,0BAA0B,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAEhF,sBAAsB;oBACtB,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACtE,MAAM,EAAc,GAAG;wBACvB,UAAU,EAAU,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;wBAC/D,iBAAiB,EAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;qBAClE,CAAC,CAAC;oBACH,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAChG,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtD,MAAM,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACpD,MAAM,CAAC,uBAAuB,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBAE9E,6BAA6B;oBAC7B,MAAM,wBAAwB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC5E,MAAM,EAAc,GAAG;wBACvB,UAAU,EAAU,MAAM,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,YAAY,CAAC,OAAO,CAAC;wBACrF,iBAAiB,EAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;qBAClE,CAAC,CAAC;oBACH,MAAM,6BAA6B,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;oBAC5G,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5D,MAAM,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC1D,MAAM,CAAC,6BAA6B,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAE1G,2BAA2B;oBAC3B,MAAM,sBAAsB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC1E,MAAM,EAAc,GAAG;wBACvB,UAAU,EAAU,oBAAoB;wBACxC,iBAAiB,EAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;qBAClE,CAAC,CAAC;oBACH,MAAM,2BAA2B,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;oBACxG,MAAM,CAAC,2BAA2B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC1D,MAAM,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACxD,MAAM,CAAC,2BAA2B,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAEtG,uBAAuB;oBACvB,MAAM,uBAAuB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC3E,MAAM,EAAc,GAAG;wBACvB,UAAU,EAAU,qBAAqB;wBACzC,iBAAiB,EAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;qBAClE,CAAC,CAAC;oBACH,MAAM,4BAA4B,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;oBAC1G,MAAM,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC3D,MAAM,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACzD,MAAM,CAAC,4BAA4B,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBAEvF,2BAA2B;oBAC3B,MAAM,gCAAgC,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACpF,MAAM,EAAc,GAAG;wBACvB,UAAU,EAAU,MAAM,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAC,YAAY,CAAC,OAAO,CAAC;wBACxF,iBAAiB,EAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;qBAClE,CAAC,CAAC;oBACH,MAAM,qCAAqC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,gCAAgC,CAAC,OAAO,CAAC,CAAC;oBAC5H,MAAM,CAAC,qCAAqC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpE,MAAM,CAAC,qCAAqC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBAClE,MAAM,CAAC,qCAAqC,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAErH,kEAAkE;oBAClE,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC/D,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACxH,MAAM,EAAE,KAAK;qBACd,CAAC,CAAC;oBACH,MAAM,wBAAwB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAC;oBACrI,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEvD,4CAA4C;oBAC5C,MAAM,mBAAmB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACvE,MAAM,EAAc,GAAG;wBACvB,UAAU,EAAU,MAAM,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC;wBACrE,iBAAiB,EAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;qBAClE,CAAC,CAAC;oBACH,MAAM,wBAAwB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;oBAClG,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;oBAChG,+GAA+G;oBAC/G,4EAA4E;oBAE5E,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;oBAErD,8BAA8B;oBAC9B,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBACzE,MAAM,EAAE,KAAK;wBACb,kBAAkB;qBACnB,CAAC,CAAC;oBACH,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;oBAC7F,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEtD,yDAAyD;oBACzD,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAChF,MAAM,EAAS,KAAK;wBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;wBAC1C,YAAY,EAAG,KAAK;qBACrB,CAAC,CAAC;oBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACpG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEhD,6DAA6D;oBAC7D,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;wBAC5D,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBACrC,SAAS,EAAK,GAAG,CAAC,GAAG;wBACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,WAAW;wBAChF,KAAK,EAAS;4BACZ,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;4BAC9B,QAAQ,EAAI,sBAAsB;yBACnC;qBACF,CAAC,CAAC;oBACH,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;oBACnF,MAAM,yBAAyB,GAAG,MAAM,GAAG,CAAC,cAAc,CACxD,KAAK,CAAC,GAAG,EACT,eAAe,CAAC,YAAY,CAAC,OAAO,EACpC,EAAE,UAAU,EAAE,eAAe,EAAE,CAChC,CAAC;oBACF,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAExD,yEAAyE;oBACzE,MAAM,wBAAwB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC5E,MAAM,EAAc,GAAG;wBACvB,UAAU,EAAU,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;wBAC9D,iBAAiB,EAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;qBAClE,CAAC,CAAC;oBACH,MAAM,6BAA6B,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;oBAC5G,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5D,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAC;gBAC5G,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,8FAA8F,EAAE,KAAK,IAAI,EAAE;oBAC5G,qGAAqG;oBAErG,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;oBAErD,8BAA8B;oBAC9B,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBACzE,MAAM,EAAE,KAAK;wBACb,kBAAkB;qBACnB,CAAC,CAAC;oBACH,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;oBAC7F,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEtD,2DAA2D;oBAC3D,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC;wBAC5D,MAAM,EAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;wBACrC,SAAS,EAAK,GAAG,CAAC,GAAG;wBACrB,WAAW,EAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,WAAW;wBAChF,KAAK,EAAS;4BACZ,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;4BAC9B,QAAQ,EAAI,kBAAkB,CAAC,QAAQ;yBACxC;qBACF,CAAC,CAAC;oBACH,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;oBACnF,MAAM,yBAAyB,GAAG,MAAM,GAAG,CAAC,cAAc,CACxD,KAAK,CAAC,GAAG,EACT,eAAe,CAAC,YAAY,CAAC,OAAO,EACpC,EAAE,UAAU,EAAE,eAAe,EAAE,CAChC,CAAC;oBACF,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAExD,8DAA8D;oBAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBACpE,MAAM,EAAS,KAAK;wBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;wBAC1C,YAAY,EAAG,KAAK;qBACrB,CAAC,CAAC;oBAEH,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,CAAC;wBACtE,MAAM,EAAK,KAAK;wBAChB,QAAQ,EAAG,YAAY,CAAC,OAAO,CAAC,QAAQ;qBACzC,CAAC,CAAC;oBAEH,0EAA0E;oBAC1E,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBACrE,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACrE,MAAM,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAElE,gCAAgC;oBAChC,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAChE,MAAM,EAAc,GAAG;wBACvB,UAAU,EAAU,gBAAgB;wBACpC,iBAAiB,EAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;qBAClE,CAAC,CAAC;oBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;oBACpF,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChD,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,wCAAwC,CAAC,CAAC;gBAC3G,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,21 +1,21 @@
1
+ import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'bun:test';
2
+ import freeForAll from '../vectors/protocol-definitions/free-for-all.json' with { type: 'json' };
3
+ import sinon from 'sinon';
1
4
  import { Dwn } from '../../src/dwn.js';
2
5
  import { DwnErrorCode } from '../../src/core/dwn-error.js';
3
- import freeForAll from '../vectors/protocol-definitions/free-for-all.json' with { type: 'json' };
4
6
  import { Jws } from '../../src/utils/jws.js';
5
7
  import { Message } from '../../src/core/message.js';
6
8
  import { MessagesSubscribe } from '../../src/interfaces/messages-subscribe.js';
7
9
  import { MessagesSubscribeHandler } from '../../src/handlers/messages-subscribe.js';
8
10
  import { Poller } from '../utils/poller.js';
9
- import sinon from 'sinon';
10
11
  import { TestDataGenerator } from '../utils/test-data-generator.js';
11
- import { TestEventStream } from '../test-event-stream.js';
12
+ import { TestEventLog } from '../test-event-stream.js';
12
13
  import { TestStores } from '../test-stores.js';
13
- import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'bun:test';
14
14
  import { DidKey, UniversalResolver } from '@enbox/dids';
15
15
  import { DwnInterfaceName, DwnMethodName } from '../../src/index.js';
16
16
  export function testMessagesSubscribeHandler() {
17
17
  describe('MessagesSubscribe.handle()', () => {
18
- describe('EventStream disabled', () => {
18
+ describe('EventLog disabled', () => {
19
19
  let didResolver;
20
20
  let messageStore;
21
21
  let dataStore;
@@ -52,22 +52,22 @@ export function testMessagesSubscribeHandler() {
52
52
  });
53
53
  it('should respond with a 501 if subscriptions are not supported', async () => {
54
54
  await dwn.close(); // close the original dwn instance
55
- dwn = await Dwn.create({ didResolver, messageStore, dataStore, stateIndex, resumableTaskStore }); // leave out eventStream
55
+ dwn = await Dwn.create({ didResolver, messageStore, dataStore, stateIndex, resumableTaskStore }); // leave out eventLog
56
56
  const alice = await TestDataGenerator.generateDidKeyPersona();
57
57
  // attempt to subscribe
58
58
  const { message } = await MessagesSubscribe.create({ signer: Jws.createSigner(alice) });
59
59
  const subscriptionMessageReply = await dwn.processMessage(alice.did, message, { subscriptionHandler: (_) => { } });
60
60
  expect(subscriptionMessageReply.status.code).toBe(501);
61
- expect(subscriptionMessageReply.status.detail).toContain(DwnErrorCode.MessagesSubscribeEventStreamUnimplemented);
61
+ expect(subscriptionMessageReply.status.detail).toContain(DwnErrorCode.MessagesSubscribeEventLogUnimplemented);
62
62
  });
63
63
  });
64
- describe('EventStream enabled', () => {
64
+ describe('EventLog enabled', () => {
65
65
  let didResolver;
66
66
  let messageStore;
67
67
  let dataStore;
68
68
  let resumableTaskStore;
69
69
  let stateIndex;
70
- let eventStream;
70
+ let eventLog;
71
71
  let dwn;
72
72
  // important to follow the `before` and `after` pattern to initialize and clean the stores in tests
73
73
  // so that different test suites can reuse the same backend store for testing
@@ -78,14 +78,15 @@ export function testMessagesSubscribeHandler() {
78
78
  dataStore = stores.dataStore;
79
79
  resumableTaskStore = stores.resumableTaskStore;
80
80
  stateIndex = stores.stateIndex;
81
- eventStream = TestEventStream.get();
81
+ eventLog = TestEventLog.get();
82
+ eventLog = TestEventLog.get();
82
83
  dwn = await Dwn.create({
83
84
  didResolver,
84
85
  messageStore,
85
86
  dataStore,
86
87
  resumableTaskStore,
87
88
  stateIndex,
88
- eventStream,
89
+ eventLog,
89
90
  });
90
91
  });
91
92
  beforeEach(async () => {
@@ -104,17 +105,23 @@ export function testMessagesSubscribeHandler() {
104
105
  const { message } = await TestDataGenerator.generateMessagesSubscribe({ author: alice });
105
106
  // add an invalid property to the descriptor
106
107
  message['descriptor']['invalid'] = 'invalid';
107
- const messagesSubscribeHandler = new MessagesSubscribeHandler(didResolver, messageStore, eventStream);
108
+ const messagesSubscribeHandler = new MessagesSubscribeHandler({
109
+ didResolver, messageStore, eventLog,
110
+ });
108
111
  const reply = await messagesSubscribeHandler.handle({ tenant: alice.did, message, subscriptionHandler: (_) => { } });
109
112
  expect(reply.status.code).toBe(400);
110
113
  });
111
114
  it('should allow tenant to subscribe their own event stream', async () => {
112
115
  const alice = await TestDataGenerator.generateDidKeyPersona();
116
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
113
117
  // set up a promise to read later that captures the emitted messageCid
114
118
  let handler;
115
119
  const messageSubscriptionPromise = new Promise((resolve) => {
116
- handler = async (event) => {
117
- const { message } = event;
120
+ handler = async (msg) => {
121
+ if (msg.type !== 'event') {
122
+ return;
123
+ }
124
+ const { message } = msg.event;
118
125
  const messageCid = await Message.getCid(message);
119
126
  resolve(messageCid);
120
127
  };
@@ -132,8 +139,8 @@ export function testMessagesSubscribeHandler() {
132
139
  const messageCid = await Message.getCid(messageWrite.message);
133
140
  // control: ensure that the event exists
134
141
  const events = await stateIndex.getLeaves(alice.did, []);
135
- expect(events.length).toBe(1);
136
- expect(events[0]).toBe(messageCid);
142
+ expect(events.length).toBe(2);
143
+ expect(events).toContain(messageCid);
137
144
  // await the event
138
145
  const resolvedCid = await messageSubscriptionPromise;
139
146
  expect(resolvedCid).toBe(messageCid);
@@ -156,6 +163,81 @@ export function testMessagesSubscribeHandler() {
156
163
  expect(subscriptionReply.status.code).toBe(401);
157
164
  expect(subscriptionReply.subscription).toBeUndefined();
158
165
  });
166
+ describe('cursor-based subscriptions', () => {
167
+ it('should deliver catch-up events through the handler when cursor is provided', async () => {
168
+ const alice = await TestDataGenerator.generateDidKeyPersona();
169
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
170
+ // Read the EventLog to get a cursor before writing.
171
+ const { cursor: cursorBefore } = await eventLog.read(alice.did);
172
+ // Write a record before subscribing.
173
+ const write1 = await TestDataGenerator.generateRecordsWrite({ author: alice });
174
+ const write1Reply = await dwn.processMessage(alice.did, write1.message, { dataStream: write1.dataStream });
175
+ expect(write1Reply.status.code).toBe(202);
176
+ const write1Cid = await Message.getCid(write1.message);
177
+ // Subscribe with cursor from before the write to catch up.
178
+ const messageCids = [];
179
+ const handler = async (msg) => {
180
+ if (msg.type !== 'event') {
181
+ return;
182
+ }
183
+ const { message } = msg.event;
184
+ const cid = await Message.getCid(message);
185
+ messageCids.push(cid);
186
+ };
187
+ const { message: subMessage } = await TestDataGenerator.generateMessagesSubscribe({
188
+ author: alice,
189
+ cursor: cursorBefore,
190
+ });
191
+ const subReply = await dwn.processMessage(alice.did, subMessage, { subscriptionHandler: handler });
192
+ expect(subReply.status.code).toBe(200);
193
+ expect(subReply.subscription).toBeDefined();
194
+ // Wait for the catch-up events.
195
+ await Poller.pollUntilSuccessOrTimeout(async () => {
196
+ expect(messageCids.length).toBeGreaterThanOrEqual(1);
197
+ expect(messageCids).toContain(write1Cid);
198
+ });
199
+ });
200
+ it('should receive live events after cursor catch-up completes', async () => {
201
+ const alice = await TestDataGenerator.generateDidKeyPersona();
202
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
203
+ // Write before subscribing.
204
+ const write1 = await TestDataGenerator.generateRecordsWrite({ author: alice });
205
+ await dwn.processMessage(alice.did, write1.message, { dataStream: write1.dataStream });
206
+ // Read to get cursor after write1.
207
+ const { cursor: cursorAfterWrite1 } = await eventLog.read(alice.did);
208
+ // Write another record that we'll catch up on.
209
+ const write2 = await TestDataGenerator.generateRecordsWrite({ author: alice });
210
+ await dwn.processMessage(alice.did, write2.message, { dataStream: write2.dataStream });
211
+ const write2Cid = await Message.getCid(write2.message);
212
+ const messageCids = [];
213
+ const handler = async (msg) => {
214
+ if (msg.type !== 'event') {
215
+ return;
216
+ }
217
+ const { message } = msg.event;
218
+ const cid = await Message.getCid(message);
219
+ messageCids.push(cid);
220
+ };
221
+ const { message: subMessage } = await TestDataGenerator.generateMessagesSubscribe({
222
+ author: alice,
223
+ cursor: cursorAfterWrite1,
224
+ });
225
+ const subReply = await dwn.processMessage(alice.did, subMessage, { subscriptionHandler: handler });
226
+ expect(subReply.status.code).toBe(200);
227
+ // Wait for catch-up (write2).
228
+ await Poller.pollUntilSuccessOrTimeout(async () => {
229
+ expect(messageCids).toContain(write2Cid);
230
+ });
231
+ // Write a live record.
232
+ const write3 = await TestDataGenerator.generateRecordsWrite({ author: alice });
233
+ await dwn.processMessage(alice.did, write3.message, { dataStream: write3.dataStream });
234
+ const write3Cid = await Message.getCid(write3.message);
235
+ // Wait for the live event.
236
+ await Poller.pollUntilSuccessOrTimeout(async () => {
237
+ expect(messageCids).toContain(write3Cid);
238
+ });
239
+ });
240
+ });
159
241
  describe('grant based subscribes', () => {
160
242
  it('allows subscribe of messages with matching interface and method grant scope', async () => {
161
243
  // scenario: Alice gives Bob permission to subscribe for all of her messages
@@ -174,10 +256,15 @@ export function testMessagesSubscribeHandler() {
174
256
  });
175
257
  const grantReply = await dwn.processMessage(alice.did, grantMessage, { dataStream });
176
258
  expect(grantReply.status.code).toBe(202);
259
+ // install the default test protocol used by generateRecordsWrite
260
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
177
261
  // create a handler to capture the emitted messageCids
178
262
  const messageCids = [];
179
- const handler = async (event) => {
180
- const { message } = event;
263
+ const handler = async (msg) => {
264
+ if (msg.type !== 'event') {
265
+ return;
266
+ }
267
+ const { message } = msg.event;
181
268
  const messageCid = await Message.getCid(message);
182
269
  messageCids.push(messageCid);
183
270
  };
@@ -228,6 +315,60 @@ export function testMessagesSubscribeHandler() {
228
315
  expect(messageCids.sort()).toEqual(expectedCids.sort());
229
316
  });
230
317
  });
318
+ it('allows subscribe of messages with a unified MessagesRead grant scope', async () => {
319
+ // scenario: A Messages.Read grant should also authorize MessagesSubscribe operations
320
+ const alice = await TestDataGenerator.generateDidKeyPersona();
321
+ const bob = await TestDataGenerator.generateDidKeyPersona();
322
+ // create grant that is scoped to `MessagesRead` (unified) for bob
323
+ const { message: grantMessage, dataStream } = await TestDataGenerator.generateGrantCreate({
324
+ author: alice,
325
+ grantedTo: bob,
326
+ scope: {
327
+ interface: DwnInterfaceName.Messages,
328
+ method: DwnMethodName.Read,
329
+ }
330
+ });
331
+ const grantReply = await dwn.processMessage(alice.did, grantMessage, { dataStream });
332
+ expect(grantReply.status.code).toBe(202);
333
+ // install the default test protocol used by generateRecordsWrite
334
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
335
+ // create a handler to capture the emitted messageCids
336
+ const messageCids = [];
337
+ const handler = async (msg) => {
338
+ if (msg.type !== 'event') {
339
+ return;
340
+ }
341
+ const { message } = msg.event;
342
+ const messageCid = await Message.getCid(message);
343
+ messageCids.push(messageCid);
344
+ };
345
+ // bob subscribes to messages using the Messages.Read grant
346
+ const { message: subscribeMessage } = await TestDataGenerator.generateMessagesSubscribe({
347
+ author: bob,
348
+ permissionGrantId: grantMessage.recordId,
349
+ });
350
+ const subscribeReply = await dwn.processMessage(alice.did, subscribeMessage, { subscriptionHandler: handler });
351
+ expect(subscribeReply.status.code).toBe(200);
352
+ // install the freeForAll protocol and write a record to trigger events
353
+ const { message: freeForAllConfigure } = await TestDataGenerator.generateProtocolsConfigure({
354
+ author: alice,
355
+ protocolDefinition: freeForAll,
356
+ });
357
+ const { status: freeForAllReplyStatus } = await dwn.processMessage(alice.did, freeForAllConfigure);
358
+ expect(freeForAllReplyStatus.code).toBe(202);
359
+ const { message: recordMessage, dataStream: recordDataStream } = await TestDataGenerator.generateRecordsWrite({
360
+ protocol: freeForAll.protocol,
361
+ protocolPath: 'post',
362
+ schema: freeForAll.types.post.schema,
363
+ author: alice
364
+ });
365
+ const recordReply = await dwn.processMessage(alice.did, recordMessage, { dataStream: recordDataStream });
366
+ expect(recordReply.status.code).toBe(202);
367
+ // ensure that at least one event was received
368
+ await Poller.pollUntilSuccessOrTimeout(async () => {
369
+ expect(messageCids.length).toBeGreaterThanOrEqual(1);
370
+ });
371
+ });
231
372
  it('rejects subscribe of messages with mismatching interface grant scope', async () => {
232
373
  const alice = await TestDataGenerator.generateDidKeyPersona();
233
374
  const bob = await TestDataGenerator.generateDidKeyPersona();
@@ -309,8 +450,11 @@ export function testMessagesSubscribeHandler() {
309
450
  expect(grant1Reply.status.code).toBe(202);
310
451
  // bob uses the grant to subscribe to protocol 1 messages
311
452
  const proto1MessageCids = [];
312
- const proto1Handler = async (event) => {
313
- const { message } = event;
453
+ const proto1Handler = async (msg) => {
454
+ if (msg.type !== 'event') {
455
+ return;
456
+ }
457
+ const { message } = msg.event;
314
458
  const messageCid = await Message.getCid(message);
315
459
  proto1MessageCids.push(messageCid);
316
460
  };
@@ -322,8 +466,11 @@ export function testMessagesSubscribeHandler() {
322
466
  const bobReply1 = await dwn.processMessage(alice.did, bobSubscribe1, { subscriptionHandler: proto1Handler });
323
467
  expect(bobReply1.status.code).toBe(200);
324
468
  const allMessages = [];
325
- const allHandler = async (event) => {
326
- const { message } = event;
469
+ const allHandler = async (msg) => {
470
+ if (msg.type !== 'event') {
471
+ return;
472
+ }
473
+ const { message } = msg.event;
327
474
  const messageCid = await Message.getCid(message);
328
475
  allMessages.push(messageCid);
329
476
  };
@@ -1 +1 @@
1
- {"version":3,"file":"messages-subscribe.spec.js","sourceRoot":"","sources":["../../../../tests/handlers/messages-subscribe.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages-subscribe.spec.js","sourceRoot":"","sources":["../../../../tests/handlers/messages-subscribe.spec.ts"],"names":[],"mappings":"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"}