@agentdeck/bridge 0.2.3 → 1.0.1

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 (188) hide show
  1. package/assets/fm-helper/agentdeck-fm-helper +0 -0
  2. package/dist/apme/antigravity-transcript.d.ts.map +1 -1
  3. package/dist/apme/antigravity-transcript.js +16 -3
  4. package/dist/apme/antigravity-transcript.js.map +1 -1
  5. package/dist/apme/collector.d.ts +4 -0
  6. package/dist/apme/collector.d.ts.map +1 -1
  7. package/dist/apme/collector.js +1 -0
  8. package/dist/apme/collector.js.map +1 -1
  9. package/dist/apme/dashboard-html.d.ts.map +1 -1
  10. package/dist/apme/dashboard-html.js +30 -0
  11. package/dist/apme/dashboard-html.js.map +1 -1
  12. package/dist/apme/http.d.ts.map +1 -1
  13. package/dist/apme/http.js +9 -0
  14. package/dist/apme/http.js.map +1 -1
  15. package/dist/apme/index.d.ts.map +1 -1
  16. package/dist/apme/index.js +14 -3
  17. package/dist/apme/index.js.map +1 -1
  18. package/dist/apme/judge-detect.d.ts +26 -0
  19. package/dist/apme/judge-detect.d.ts.map +1 -0
  20. package/dist/apme/judge-detect.js +69 -0
  21. package/dist/apme/judge-detect.js.map +1 -0
  22. package/dist/apme/runner.d.ts +7 -0
  23. package/dist/apme/runner.d.ts.map +1 -1
  24. package/dist/apme/runner.js +188 -33
  25. package/dist/apme/runner.js.map +1 -1
  26. package/dist/apme/settings.d.ts +10 -8
  27. package/dist/apme/settings.d.ts.map +1 -1
  28. package/dist/apme/settings.js +11 -16
  29. package/dist/apme/settings.js.map +1 -1
  30. package/dist/awaiting-overlay.d.ts +17 -4
  31. package/dist/awaiting-overlay.d.ts.map +1 -1
  32. package/dist/awaiting-overlay.js +39 -8
  33. package/dist/awaiting-overlay.js.map +1 -1
  34. package/dist/bridge-core.d.ts +10 -0
  35. package/dist/bridge-core.d.ts.map +1 -1
  36. package/dist/bridge-core.js +50 -0
  37. package/dist/bridge-core.js.map +1 -1
  38. package/dist/claude-permission-rules.d.ts +55 -0
  39. package/dist/claude-permission-rules.d.ts.map +1 -0
  40. package/dist/claude-permission-rules.js +197 -0
  41. package/dist/claude-permission-rules.js.map +1 -0
  42. package/dist/cli.d.ts.map +1 -1
  43. package/dist/cli.js +10 -1
  44. package/dist/cli.js.map +1 -1
  45. package/dist/d200h/hid-protocol.d.ts +62 -0
  46. package/dist/d200h/hid-protocol.d.ts.map +1 -0
  47. package/dist/d200h/hid-protocol.js +124 -0
  48. package/dist/d200h/hid-protocol.js.map +1 -0
  49. package/dist/d200h/image-renderer.d.ts +24 -0
  50. package/dist/d200h/image-renderer.d.ts.map +1 -0
  51. package/dist/d200h/image-renderer.js +321 -0
  52. package/dist/d200h/image-renderer.js.map +1 -0
  53. package/dist/daemon-server.d.ts.map +1 -1
  54. package/dist/daemon-server.js +374 -26
  55. package/dist/daemon-server.js.map +1 -1
  56. package/dist/daemon.js +1 -1
  57. package/dist/esp32-serial.d.ts +40 -0
  58. package/dist/esp32-serial.d.ts.map +1 -1
  59. package/dist/esp32-serial.js +203 -11
  60. package/dist/esp32-serial.js.map +1 -1
  61. package/dist/fallback-task-timeline.d.ts.map +1 -1
  62. package/dist/fallback-task-timeline.js +9 -2
  63. package/dist/fallback-task-timeline.js.map +1 -1
  64. package/dist/hook-server.d.ts.map +1 -1
  65. package/dist/hook-server.js +6 -5
  66. package/dist/hook-server.js.map +1 -1
  67. package/dist/idotmatrix/idotmatrix-daemon-sync.js +2 -2
  68. package/dist/idotmatrix/idotmatrix-daemon-sync.js.map +1 -1
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +2 -0
  71. package/dist/index.js.map +1 -1
  72. package/dist/logger.d.ts +3 -1
  73. package/dist/logger.d.ts.map +1 -1
  74. package/dist/logger.js +6 -2
  75. package/dist/logger.js.map +1 -1
  76. package/dist/model-catalog.d.ts +1 -1
  77. package/dist/model-catalog.d.ts.map +1 -1
  78. package/dist/model-catalog.js +2 -4
  79. package/dist/model-catalog.js.map +1 -1
  80. package/dist/modules/d200h-module.d.ts +65 -0
  81. package/dist/modules/d200h-module.d.ts.map +1 -0
  82. package/dist/modules/d200h-module.js +495 -0
  83. package/dist/modules/d200h-module.js.map +1 -0
  84. package/dist/modules/d200h-renderer.d.ts +7 -0
  85. package/dist/modules/d200h-renderer.d.ts.map +1 -0
  86. package/dist/modules/d200h-renderer.js +321 -0
  87. package/dist/modules/d200h-renderer.js.map +1 -0
  88. package/dist/modules/trmnl-module.d.ts +38 -0
  89. package/dist/modules/trmnl-module.d.ts.map +1 -0
  90. package/dist/modules/trmnl-module.js +111 -0
  91. package/dist/modules/trmnl-module.js.map +1 -0
  92. package/dist/observed-steering.d.ts +93 -0
  93. package/dist/observed-steering.d.ts.map +1 -0
  94. package/dist/observed-steering.js +247 -0
  95. package/dist/observed-steering.js.map +1 -0
  96. package/dist/opencode-steering.d.ts +36 -0
  97. package/dist/opencode-steering.d.ts.map +1 -0
  98. package/dist/opencode-steering.js +84 -0
  99. package/dist/opencode-steering.js.map +1 -0
  100. package/dist/output-parser.d.ts.map +1 -1
  101. package/dist/output-parser.js +48 -10
  102. package/dist/output-parser.js.map +1 -1
  103. package/dist/passive-observer.d.ts +6 -0
  104. package/dist/passive-observer.d.ts.map +1 -1
  105. package/dist/passive-observer.js +31 -1
  106. package/dist/passive-observer.js.map +1 -1
  107. package/dist/permission-resolver.d.ts +13 -5
  108. package/dist/permission-resolver.d.ts.map +1 -1
  109. package/dist/permission-resolver.js +18 -9
  110. package/dist/permission-resolver.js.map +1 -1
  111. package/dist/pixoo/micro-glyphs.d.ts +10 -41
  112. package/dist/pixoo/micro-glyphs.d.ts.map +1 -1
  113. package/dist/pixoo/micro-glyphs.js +130 -263
  114. package/dist/pixoo/micro-glyphs.js.map +1 -1
  115. package/dist/pixoo/official-dot-glyphs.generated.d.ts +8 -0
  116. package/dist/pixoo/official-dot-glyphs.generated.d.ts.map +1 -0
  117. package/dist/pixoo/official-dot-glyphs.generated.js +247 -0
  118. package/dist/pixoo/official-dot-glyphs.generated.js.map +1 -0
  119. package/dist/pixoo/pixoo-bridge.d.ts +14 -6
  120. package/dist/pixoo/pixoo-bridge.d.ts.map +1 -1
  121. package/dist/pixoo/pixoo-bridge.js +63 -39
  122. package/dist/pixoo/pixoo-bridge.js.map +1 -1
  123. package/dist/pixoo/pixoo-renderer.d.ts +21 -2
  124. package/dist/pixoo/pixoo-renderer.d.ts.map +1 -1
  125. package/dist/pixoo/pixoo-renderer.js +401 -132
  126. package/dist/pixoo/pixoo-renderer.js.map +1 -1
  127. package/dist/pixoo/pixoo-sprites.d.ts +24 -0
  128. package/dist/pixoo/pixoo-sprites.d.ts.map +1 -1
  129. package/dist/pixoo/pixoo-sprites.js +108 -0
  130. package/dist/pixoo/pixoo-sprites.js.map +1 -1
  131. package/dist/review-runner.d.ts +113 -0
  132. package/dist/review-runner.d.ts.map +1 -0
  133. package/dist/review-runner.js +428 -0
  134. package/dist/review-runner.js.map +1 -0
  135. package/dist/session-aggregator.d.ts +8 -0
  136. package/dist/session-aggregator.d.ts.map +1 -1
  137. package/dist/session-aggregator.js.map +1 -1
  138. package/dist/session-focus-relay.d.ts.map +1 -1
  139. package/dist/session-focus-relay.js +7 -1
  140. package/dist/session-focus-relay.js.map +1 -1
  141. package/dist/session-registry.d.ts +3 -0
  142. package/dist/session-registry.d.ts.map +1 -1
  143. package/dist/session-registry.js +3 -0
  144. package/dist/session-registry.js.map +1 -1
  145. package/dist/timeline-store.d.ts +49 -0
  146. package/dist/timeline-store.d.ts.map +1 -1
  147. package/dist/timeline-store.js +175 -7
  148. package/dist/timeline-store.js.map +1 -1
  149. package/dist/trmnl/byos-server.d.ts +39 -0
  150. package/dist/trmnl/byos-server.d.ts.map +1 -0
  151. package/dist/trmnl/byos-server.js +301 -0
  152. package/dist/trmnl/byos-server.js.map +1 -0
  153. package/dist/trmnl/frame-cache.d.ts +37 -0
  154. package/dist/trmnl/frame-cache.d.ts.map +1 -0
  155. package/dist/trmnl/frame-cache.js +157 -0
  156. package/dist/trmnl/frame-cache.js.map +1 -0
  157. package/dist/trmnl/image-renderer.d.ts +27 -0
  158. package/dist/trmnl/image-renderer.d.ts.map +1 -0
  159. package/dist/trmnl/image-renderer.js +235 -0
  160. package/dist/trmnl/image-renderer.js.map +1 -0
  161. package/dist/trmnl/trmnl-settings.d.ts +96 -0
  162. package/dist/trmnl/trmnl-settings.d.ts.map +1 -0
  163. package/dist/trmnl/trmnl-settings.js +177 -0
  164. package/dist/trmnl/trmnl-settings.js.map +1 -0
  165. package/dist/trmnl/trmnl-telemetry.d.ts +47 -0
  166. package/dist/trmnl/trmnl-telemetry.d.ts.map +1 -0
  167. package/dist/trmnl/trmnl-telemetry.js +56 -0
  168. package/dist/trmnl/trmnl-telemetry.js.map +1 -0
  169. package/dist/tui/dashboard.d.ts.map +1 -1
  170. package/dist/tui/dashboard.js +14 -4
  171. package/dist/tui/dashboard.js.map +1 -1
  172. package/dist/tui/renderer.d.ts.map +1 -1
  173. package/dist/tui/renderer.js +63 -13
  174. package/dist/tui/renderer.js.map +1 -1
  175. package/dist/tui/terrarium.d.ts.map +1 -1
  176. package/dist/tui/terrarium.js +7 -2
  177. package/dist/tui/terrarium.js.map +1 -1
  178. package/dist/usage-event.d.ts.map +1 -1
  179. package/dist/usage-event.js +43 -2
  180. package/dist/usage-event.js.map +1 -1
  181. package/dist/version-check.d.ts.map +1 -1
  182. package/dist/version-check.js +1 -17
  183. package/dist/version-check.js.map +1 -1
  184. package/dist/ws-server.d.ts +0 -7
  185. package/dist/ws-server.d.ts.map +1 -1
  186. package/dist/ws-server.js +5 -20
  187. package/dist/ws-server.js.map +1 -1
  188. package/package.json +4 -4
@@ -0,0 +1,247 @@
1
+ // AUTO-GENERATED by scripts/generate-micro-glyphs.mjs — DO NOT EDIT.
2
+ // Canonical source: design/brand/*.svg. Regenerate with: pnpm generate-micro-glyphs
3
+ export const OFFICIAL_DOT_GLYPH_SIZE = 24;
4
+ export const OFFICIAL_DOT_GLYPHS = {
5
+ claudeCode: new Uint8Array([
6
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0,
12
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0,
13
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0,
14
+ 0, 0, 0, 255, 255, 255, 26, 143, 255, 255, 255, 255, 255, 255, 255, 255, 143, 26, 255, 255, 255, 0, 0, 0,
15
+ 0, 0, 0, 255, 255, 255, 0, 131, 255, 255, 255, 255, 255, 255, 255, 255, 131, 0, 255, 255, 255, 0, 0, 0,
16
+ 13, 13, 13, 255, 255, 255, 13, 137, 255, 255, 255, 255, 255, 255, 255, 255, 137, 13, 255, 255, 255, 13, 13, 13,
17
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
18
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
19
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
20
+ 13, 13, 13, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 13, 13, 13,
21
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0,
22
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0,
23
+ 0, 0, 0, 20, 140, 255, 20, 140, 255, 20, 20, 20, 20, 20, 20, 255, 140, 20, 255, 140, 20, 0, 0, 0,
24
+ 0, 0, 0, 0, 131, 255, 0, 131, 255, 0, 0, 0, 0, 0, 0, 255, 131, 0, 255, 131, 0, 0, 0, 0,
25
+ 0, 0, 0, 0, 131, 255, 0, 131, 255, 0, 0, 0, 0, 0, 0, 255, 131, 0, 255, 131, 0, 0, 0, 0,
26
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
27
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
28
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
29
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
30
+ ]),
31
+ codex: new Uint8Array([
32
+ 0, 0, 0, 0, 0, 0, 0, 55, 167, 229, 238, 224, 158, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
33
+ 0, 0, 0, 0, 0, 0, 134, 254, 255, 255, 255, 255, 255, 250, 116, 88, 102, 74, 11, 0, 0, 0, 0, 0,
34
+ 0, 0, 0, 0, 0, 120, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 126, 5, 0, 0, 0,
35
+ 0, 0, 0, 0, 27, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 4, 0, 0,
36
+ 0, 0, 0, 28, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 125, 0, 0,
37
+ 0, 1, 122, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 12, 0,
38
+ 0, 140, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 75, 0,
39
+ 61, 254, 255, 255, 255, 255, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 101, 0,
40
+ 174, 255, 255, 255, 255, 212, 3, 163, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 81, 0,
41
+ 233, 255, 255, 255, 255, 239, 19, 23, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 109, 0,
42
+ 250, 255, 255, 255, 255, 255, 148, 0, 118, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 39,
43
+ 220, 255, 255, 255, 255, 255, 251, 43, 7, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 147,
44
+ 158, 255, 255, 255, 255, 255, 255, 68, 1, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224,
45
+ 44, 250, 255, 255, 255, 255, 174, 0, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247,
46
+ 0, 118, 255, 255, 255, 246, 32, 12, 228, 255, 255, 255, 174, 136, 136, 136, 136, 148, 245, 255, 255, 255, 255, 229,
47
+ 0, 83, 255, 255, 255, 211, 1, 139, 255, 255, 255, 252, 12, 0, 0, 0, 0, 0, 185, 255, 255, 255, 255, 166,
48
+ 0, 102, 255, 255, 255, 255, 225, 255, 255, 255, 255, 255, 221, 187, 187, 187, 187, 200, 255, 255, 255, 255, 253, 57,
49
+ 0, 72, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 137, 0,
50
+ 0, 12, 242, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 113, 0, 0,
51
+ 0, 0, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 159, 19, 0, 0, 0,
52
+ 0, 0, 5, 178, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 23, 0, 0, 0, 0,
53
+ 0, 0, 0, 5, 126, 242, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 117, 0, 0, 0, 0, 0,
54
+ 0, 0, 0, 0, 0, 10, 71, 99, 90, 116, 249, 255, 255, 255, 255, 255, 253, 131, 0, 0, 0, 0, 0, 0,
55
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 157, 226, 249, 228, 164, 56, 0, 0, 0, 0, 0, 0, 0,
56
+ ]),
57
+ openCode: new Uint8Array([
58
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
59
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
60
+ 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
61
+ 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
62
+ 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
63
+ 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
64
+ 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0,
65
+ 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0,
66
+ 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0,
67
+ 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0,
68
+ 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0,
69
+ 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0,
70
+ 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0,
71
+ 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0,
72
+ 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0,
73
+ 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0,
74
+ 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0,
75
+ 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0,
76
+ 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
77
+ 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
78
+ 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
79
+ 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
80
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
81
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
82
+ ]),
83
+ openClaw: new Uint8Array([
84
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85
+ 0, 0, 0, 0, 0, 25, 61, 5, 0, 0, 0, 0, 0, 0, 0, 0, 5, 61, 25, 0, 0, 0, 0, 0,
86
+ 0, 0, 0, 0, 0, 64, 104, 182, 43, 25, 79, 100, 99, 79, 25, 43, 183, 104, 59, 0, 0, 0, 0, 0,
87
+ 0, 0, 0, 0, 0, 0, 0, 92, 248, 255, 255, 255, 255, 255, 255, 248, 92, 0, 0, 0, 0, 0, 0, 0,
88
+ 0, 0, 0, 0, 0, 14, 179, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 14, 0, 0, 0, 0, 0,
89
+ 0, 0, 0, 0, 16, 201, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 16, 0, 0, 0, 0,
90
+ 0, 0, 0, 0, 167, 255, 255, 254, 173, 206, 255, 255, 255, 255, 205, 176, 254, 255, 255, 166, 0, 0, 0, 0,
91
+ 0, 0, 0, 75, 255, 255, 255, 171, 82, 109, 245, 255, 255, 242, 23, 170, 180, 255, 255, 255, 73, 0, 0, 0,
92
+ 0, 0, 0, 189, 255, 255, 255, 204, 15, 53, 252, 255, 255, 251, 42, 26, 211, 255, 255, 255, 188, 0, 0, 0,
93
+ 2, 64, 71, 118, 182, 255, 255, 255, 245, 252, 255, 255, 255, 255, 253, 246, 255, 255, 255, 181, 117, 71, 63, 2,
94
+ 167, 255, 255, 255, 157, 195, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 157, 254, 255, 255, 164,
95
+ 249, 255, 255, 255, 193, 188, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 196, 255, 255, 255, 245,
96
+ 211, 255, 255, 255, 112, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 108, 255, 255, 255, 209,
97
+ 77, 253, 253, 131, 197, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 135, 254, 252, 83,
98
+ 0, 31, 35, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 42, 35, 0,
99
+ 0, 0, 0, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 0, 0, 0,
100
+ 0, 0, 0, 89, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 87, 0, 0, 0,
101
+ 0, 0, 0, 2, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 3, 0, 0, 0,
102
+ 0, 0, 0, 0, 33, 242, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 36, 0, 0, 0, 0,
103
+ 0, 0, 0, 0, 0, 62, 240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 68, 0, 0, 0, 0, 0,
104
+ 0, 0, 0, 0, 0, 0, 50, 221, 255, 255, 255, 255, 255, 255, 255, 255, 220, 49, 0, 0, 0, 0, 0, 0,
105
+ 0, 0, 0, 0, 0, 0, 0, 9, 122, 255, 249, 173, 172, 249, 255, 122, 9, 0, 0, 0, 0, 0, 0, 0,
106
+ 0, 0, 0, 0, 0, 0, 0, 0, 42, 255, 241, 0, 0, 241, 255, 42, 0, 0, 0, 0, 0, 0, 0, 0,
107
+ 0, 0, 0, 0, 0, 0, 0, 0, 28, 170, 161, 0, 0, 161, 170, 28, 0, 0, 0, 0, 0, 0, 0, 0,
108
+ ]),
109
+ antigravity: new Uint8Array([
110
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
111
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 174, 237, 239, 180, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,
112
+ 0, 0, 0, 0, 0, 0, 0, 0, 50, 240, 255, 255, 255, 255, 244, 61, 0, 0, 0, 0, 0, 0, 0, 0,
113
+ 0, 0, 0, 0, 0, 0, 0, 8, 219, 255, 255, 255, 255, 255, 255, 229, 14, 0, 0, 0, 0, 0, 0, 0,
114
+ 0, 0, 0, 0, 0, 0, 0, 115, 255, 255, 255, 255, 255, 255, 255, 255, 130, 0, 0, 0, 0, 0, 0, 0,
115
+ 0, 0, 0, 0, 0, 0, 3, 225, 255, 255, 255, 255, 255, 255, 255, 255, 235, 8, 0, 0, 0, 0, 0, 0,
116
+ 0, 0, 0, 0, 0, 0, 67, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0,
117
+ 0, 0, 0, 0, 0, 0, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0,
118
+ 0, 0, 0, 0, 0, 2, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 8, 0, 0, 0, 0, 0,
119
+ 0, 0, 0, 0, 0, 54, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 70, 0, 0, 0, 0, 0,
120
+ 0, 0, 0, 0, 0, 126, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 141, 0, 0, 0, 0, 0,
121
+ 0, 0, 0, 0, 0, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 0, 0, 0, 0, 0,
122
+ 0, 0, 0, 0, 20, 252, 255, 255, 255, 255, 255, 239, 237, 255, 255, 255, 255, 255, 255, 32, 0, 0, 0, 0,
123
+ 0, 0, 0, 0, 97, 255, 255, 255, 255, 186, 44, 0, 0, 38, 176, 255, 255, 255, 255, 112, 0, 0, 0, 0,
124
+ 0, 0, 0, 0, 178, 255, 255, 255, 168, 2, 0, 0, 0, 0, 0, 147, 255, 255, 255, 193, 0, 0, 0, 0,
125
+ 0, 0, 0, 13, 246, 255, 255, 219, 9, 0, 0, 0, 0, 0, 0, 4, 207, 255, 255, 252, 23, 0, 0, 0,
126
+ 0, 0, 0, 109, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 52, 252, 255, 255, 125, 0, 0, 0,
127
+ 0, 0, 2, 220, 255, 255, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 255, 255, 233, 8, 0, 0,
128
+ 0, 0, 83, 255, 255, 238, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 230, 255, 255, 99, 0, 0,
129
+ 0, 11, 223, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 255, 255, 232, 18, 0,
130
+ 1, 165, 255, 255, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 255, 255, 184, 4,
131
+ 130, 255, 255, 157, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 144, 255, 255, 146,
132
+ 232, 235, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 239, 225,
133
+ 9, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6,
134
+ ]),
135
+ };
136
+ export const OFFICIAL_TIMEBOX_GLYPH_SIZE = 9;
137
+ export const OFFICIAL_TIMEBOX_GLYPHS = {
138
+ claudeCode: new Uint8Array([
139
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,
140
+ 0, 28, 32, 32, 32, 32, 32, 28, 0,
141
+ 0, 224, 255, 255, 255, 255, 255, 224, 0,
142
+ 0, 224, 118, 255, 255, 255, 118, 224, 0,
143
+ 229, 252, 240, 255, 255, 255, 240, 252, 229,
144
+ 69, 232, 255, 255, 255, 255, 255, 232, 69,
145
+ 0, 139, 171, 161, 104, 161, 171, 139, 0,
146
+ 0, 40, 56, 48, 0, 48, 56, 40, 0,
147
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,
148
+ ]),
149
+ codex: new Uint8Array([
150
+ 0, 0, 107, 227, 226, 111, 86, 12, 0,
151
+ 0, 77, 255, 255, 255, 255, 255, 212, 10,
152
+ 114, 255, 254, 255, 255, 255, 255, 255, 86,
153
+ 235, 255, 96, 243, 255, 255, 255, 255, 114,
154
+ 226, 255, 170, 156, 255, 255, 255, 255, 224,
155
+ 110, 255, 96, 238, 192, 119, 142, 255, 231,
156
+ 82, 255, 250, 255, 249, 238, 243, 255, 113,
157
+ 14, 209, 255, 255, 255, 255, 255, 76, 0,
158
+ 0, 11, 82, 112, 224, 230, 109, 0, 0,
159
+ ]),
160
+ openCode: new Uint8Array([
161
+ 0, 32, 64, 64, 64, 64, 64, 32, 0,
162
+ 0, 128, 255, 255, 255, 255, 255, 128, 0,
163
+ 0, 128, 255, 64, 64, 64, 255, 128, 0,
164
+ 0, 128, 255, 0, 0, 0, 255, 128, 0,
165
+ 0, 128, 255, 0, 0, 0, 255, 128, 0,
166
+ 0, 128, 255, 0, 0, 0, 255, 128, 0,
167
+ 0, 128, 255, 64, 64, 64, 255, 128, 0,
168
+ 0, 128, 255, 255, 255, 255, 255, 128, 0,
169
+ 0, 32, 64, 64, 64, 64, 64, 32, 0,
170
+ ]),
171
+ openClaw: new Uint8Array([
172
+ 0, 0, 54, 0, 0, 0, 54, 0, 0,
173
+ 0, 0, 115, 232, 253, 232, 113, 0, 0,
174
+ 0, 93, 245, 176, 255, 179, 246, 91, 0,
175
+ 65, 151, 250, 194, 255, 195, 250, 152, 64,
176
+ 237, 180, 255, 255, 255, 255, 255, 177, 236,
177
+ 52, 189, 255, 255, 255, 255, 255, 188, 47,
178
+ 0, 114, 255, 255, 255, 255, 255, 112, 0,
179
+ 0, 2, 148, 253, 255, 253, 147, 2, 0,
180
+ 0, 0, 0, 154, 69, 154, 0, 0, 0,
181
+ ]),
182
+ antigravity: new Uint8Array([
183
+ 0, 0, 0, 54, 141, 56, 0, 0, 0,
184
+ 0, 0, 24, 242, 255, 243, 26, 0, 0,
185
+ 0, 0, 126, 255, 255, 255, 130, 0, 0,
186
+ 0, 0, 208, 255, 255, 255, 212, 0, 0,
187
+ 0, 30, 255, 253, 225, 252, 255, 34, 0,
188
+ 0, 106, 251, 68, 0, 64, 250, 111, 0,
189
+ 0, 205, 134, 0, 0, 0, 129, 209, 0,
190
+ 100, 209, 10, 0, 0, 0, 8, 206, 105,
191
+ 132, 20, 0, 0, 0, 0, 0, 18, 128,
192
+ ]),
193
+ };
194
+ export const OFFICIAL_TC001_GLYPH_SIZE = 8;
195
+ export const OFFICIAL_TC001_GLYPHS = {
196
+ claudeCode: new Uint8Array([
197
+ 0, 0, 0, 0, 0, 0, 0, 0,
198
+ 0, 85, 85, 85, 85, 85, 85, 0,
199
+ 0, 255, 217, 255, 255, 217, 255, 0,
200
+ 90, 255, 173, 255, 255, 173, 255, 90,
201
+ 175, 255, 255, 255, 255, 255, 255, 175,
202
+ 0, 216, 216, 177, 177, 216, 216, 0,
203
+ 0, 86, 86, 0, 0, 86, 86, 0,
204
+ 0, 0, 0, 0, 0, 0, 0, 0,
205
+ ]),
206
+ codex: new Uint8Array([
207
+ 0, 12, 171, 240, 171, 111, 40, 0,
208
+ 12, 161, 255, 255, 255, 255, 246, 39,
209
+ 179, 250, 217, 255, 255, 255, 255, 111,
210
+ 246, 253, 94, 252, 255, 255, 255, 173,
211
+ 171, 254, 95, 251, 224, 221, 254, 242,
212
+ 105, 250, 210, 255, 157, 154, 247, 176,
213
+ 43, 243, 255, 255, 255, 255, 159, 12,
214
+ 0, 38, 109, 170, 242, 171, 12, 0,
215
+ ]),
216
+ openCode: new Uint8Array([
217
+ 0, 56, 85, 85, 85, 85, 56, 0,
218
+ 0, 171, 255, 255, 255, 255, 171, 0,
219
+ 0, 171, 171, 0, 0, 171, 171, 0,
220
+ 0, 171, 171, 0, 0, 171, 171, 0,
221
+ 0, 171, 171, 0, 0, 171, 171, 0,
222
+ 0, 171, 171, 0, 0, 171, 171, 0,
223
+ 0, 171, 255, 255, 255, 255, 171, 0,
224
+ 0, 56, 85, 85, 85, 85, 56, 0,
225
+ ]),
226
+ openClaw: new Uint8Array([
227
+ 0, 9, 39, 16, 16, 39, 9, 0,
228
+ 0, 26, 201, 255, 255, 200, 26, 0,
229
+ 0, 179, 181, 204, 205, 186, 179, 0,
230
+ 168, 158, 255, 255, 255, 255, 160, 167,
231
+ 146, 182, 255, 255, 255, 255, 181, 146,
232
+ 0, 196, 255, 255, 255, 255, 194, 0,
233
+ 0, 38, 226, 255, 255, 226, 37, 0,
234
+ 0, 0, 20, 162, 161, 20, 0, 0,
235
+ ]),
236
+ antigravity: new Uint8Array([
237
+ 0, 0, 4, 127, 129, 4, 0, 0,
238
+ 0, 0, 118, 255, 255, 121, 0, 0,
239
+ 0, 0, 221, 255, 255, 226, 1, 0,
240
+ 0, 45, 255, 255, 255, 255, 49, 0,
241
+ 0, 121, 247, 111, 109, 246, 126, 0,
242
+ 0, 208, 110, 0, 0, 105, 212, 1,
243
+ 88, 190, 2, 0, 0, 2, 187, 93,
244
+ 131, 12, 0, 0, 0, 0, 10, 130,
245
+ ]),
246
+ };
247
+ //# sourceMappingURL=official-dot-glyphs.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"official-dot-glyphs.generated.js","sourceRoot":"","sources":["../../src/pixoo/official-dot-glyphs.generated.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,oFAAoF;AAGpF,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAA6C;IAC3E,UAAU,EAAE,IAAI,UAAU,CAAC;QACzB,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,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,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,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,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,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,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,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,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,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1G,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1G,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1G,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACxG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QAC9G,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACtH,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACtH,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACtH,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QAChH,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1G,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1G,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAChG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,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,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,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,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,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,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,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,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KACvE,CAAC;IACF,KAAK,EAAE,IAAI,UAAU,CAAC;QACpB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAClF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7F,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACpG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACvG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAC3G,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAC/G,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QACjH,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACnH,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QACjH,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAClH,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACnH,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACnH,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACnH,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAClH,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAClH,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACtG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACnH,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACjH,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAC/G,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3G,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACvG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACpG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5F,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KACnF,CAAC;IACF,QAAQ,EAAE,IAAI,UAAU,CAAC;QACvB,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,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,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,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtG,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,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,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,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KACvE,CAAC;IACF,QAAQ,EAAE,IAAI,UAAU,CAAC;QACvB,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,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1E,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACzF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACxF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAChG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACpG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAC9G,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACtH,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACtH,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACtH,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACpH,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAC9G,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1G,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACxG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACpG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAChG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5F,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAChF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KACjF,CAAC;IACF,WAAW,EAAE,IAAI,UAAU,CAAC;QAC1B,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,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAChF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACpF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACvF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5F,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9F,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9F,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAChG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAClG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAClG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACpG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/F,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACxF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACxF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,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,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QACtF,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,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,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACtF,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,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,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACtF,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE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"}
@@ -1,11 +1,10 @@
1
1
  /**
2
- * Pixoo64 Bridge — event listener + HTTP realtime 2FPS streamer.
2
+ * Pixoo64 Bridge — safe adaptive HTTP animation driver.
3
3
  *
4
- * Real-time continuous streaming approach:
5
- * - The device cannot handle real-time HTTP single-frame pushes faster than ~4 FPS.
6
- * - Multi-frame loops trigger an unavoidable hardware loading screen.
7
- * - Solution: Constantly push `PicNum: 1` with a **static PicId** every 333ms (3 FPS).
8
- * - The device will smoothly overwrite its buffer without stalling.
4
+ * Active states advance through moving single frames every 2.5s. Multi-frame
5
+ * GIF uploads are intentionally disabled: the supported LAN API accepts them,
6
+ * but tested Pixoo64 firmware loses both HTTP and ICMP after such requests.
7
+ * State latency is controlled separately from the motion cadence.
9
8
  */
10
9
  import type { BridgeEvent } from '../types.js';
11
10
  export interface PixooDevice {
@@ -13,6 +12,14 @@ export interface PixooDevice {
13
12
  name?: string;
14
13
  brightness?: number;
15
14
  }
15
+ export declare const PIXOO_PUSH_POLICY: {
16
+ readonly stateChangeFloorMs: 1000;
17
+ readonly idleRefreshMs: 10000;
18
+ readonly activeFrameRefreshMs: 2500;
19
+ };
20
+ export type PixooPushMode = 'single-frame' | 'idle';
21
+ export declare function resolvePixooPushMode(active: boolean): PixooPushMode;
22
+ export declare function pixooPushIntervalMs(stateChanged: boolean, mode: PixooPushMode): number;
16
23
  /** Set broadcast function for pushing Pixoo status events to WS clients. */
17
24
  export declare function setPixooBroadcast(fn: (event: BridgeEvent) => void): void;
18
25
  export declare function startPixooBridge(pixooDevices?: PixooDevice[]): void;
@@ -37,6 +44,7 @@ export declare function getPixooDeviceDetails(): Array<{
37
44
  failures: number;
38
45
  nextProbeMs: number;
39
46
  lastPushAgo: number;
47
+ animationMode: PixooPushMode;
40
48
  }>;
41
49
  /**
42
50
  * Render a fresh frame using current cached state.
@@ -1 +1 @@
1
- {"version":3,"file":"pixoo-bridge.d.ts","sourceRoot":"","sources":["../../src/pixoo/pixoo-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAgC,MAAM,aAAa,CAAC;AAW7E,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA2CD,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAExE;AAED,wBAAgB,gBAAgB,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAwCnE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAmFvD;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CA8BrD;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAG3E;AAED,+BAA+B;AAC/B,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAG5E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAO/C;AAED,uCAAuC;AACvC,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,qBAAqB,IAAI,KAAK,CAAC;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAYD;AA8ED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,GAAE,UAAU,GAAG,OAAoB,GAAG,UAAU,CAE7G;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,GAAE,UAAU,GAAG,OAAoB,GAAG,UAAU,GAAG,IAAI,CAE9G"}
1
+ {"version":3,"file":"pixoo-bridge.d.ts","sourceRoot":"","sources":["../../src/pixoo/pixoo-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAgC,MAAM,aAAa,CAAC;AAW7E,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA0BD,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,MAAM,CAAC;AAEpD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAEnE;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAItF;AAWD,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAExE;AAED,wBAAgB,gBAAgB,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAwCnE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAmFvD;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CA+BrD;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAG3E;AAED,+BAA+B;AAC/B,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAG5E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAO/C;AAED,uCAAuC;AACvC,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,qBAAqB,IAAI,KAAK,CAAC;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC,CAaD;AAuFD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,GAAE,UAAU,GAAG,OAAoB,GAAG,UAAU,CAE7G;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,GAAE,UAAU,GAAG,OAAoB,GAAG,UAAU,GAAG,IAAI,CAE9G"}
@@ -1,11 +1,10 @@
1
1
  /**
2
- * Pixoo64 Bridge — event listener + HTTP realtime 2FPS streamer.
2
+ * Pixoo64 Bridge — safe adaptive HTTP animation driver.
3
3
  *
4
- * Real-time continuous streaming approach:
5
- * - The device cannot handle real-time HTTP single-frame pushes faster than ~4 FPS.
6
- * - Multi-frame loops trigger an unavoidable hardware loading screen.
7
- * - Solution: Constantly push `PicNum: 1` with a **static PicId** every 333ms (3 FPS).
8
- * - The device will smoothly overwrite its buffer without stalling.
4
+ * Active states advance through moving single frames every 2.5s. Multi-frame
5
+ * GIF uploads are intentionally disabled: the supported LAN API accepts them,
6
+ * but tested Pixoo64 firmware loses both HTTP and ICMP after such requests.
7
+ * State latency is controlled separately from the motion cadence.
9
8
  */
10
9
  import { DISPLAY_FORWARDED_EVENTS } from '@agentdeck/shared/protocol';
11
10
  import { pushFrame, pushFrames, setBrightness, clearText, getDeviceBackoffStatus, switchToCustomChannel, onDeviceStatusChange, stopProbeTimer } from './pixoo-client.js';
@@ -18,7 +17,7 @@ let streamTimer = null;
18
17
  let lastPushTime = 0;
19
18
  let pushing = false; // guard against overlapping pushes
20
19
  let lastStateHash = '';
21
- let lastSequencePushTime = 0;
20
+ const deviceLastPushTime = new Map();
22
21
  // Cached latest events
23
22
  let lastStateEvent = null;
24
23
  let lastUsageEvent = null;
@@ -30,14 +29,22 @@ let lastDisplayDimSignature = '';
30
29
  let frameListeners = [];
31
30
  let previewTimer = null;
32
31
  let previewFps = 10; // Adjustable 1–10 FPS for /pixoo live preview
33
- // Push cadence. The Pixoo64 misbehaves (dropped/garbled frames) when pushed
34
- // near its HTTP ceiling, so we cap at 2 FPS. STATE_CHECK_INTERVAL_MS is the
35
- // stream timer period AND the effective max push rate (one frame per tick);
36
- // MIN_PUSH_INTERVAL_MS is a hard floor so event-driven pushes (connection /
37
- // display-wake) can't burst faster than 2 FPS between ticks.
38
- const STATE_CHECK_INTERVAL_MS = 500; // 2 FPS push cadence
39
- const MIN_PUSH_INTERVAL_MS = 500; // hard floor — never push faster than 2 FPS
40
- const FORCE_REFRESH_INTERVAL_MS = 1500; // force single frame push every 1.5s as a heartbeat (0.67 FPS background rate)
32
+ const STATE_CHECK_INTERVAL_MS = 500;
33
+ export const PIXOO_PUSH_POLICY = {
34
+ stateChangeFloorMs: 1_000,
35
+ idleRefreshMs: 10_000,
36
+ activeFrameRefreshMs: 2_500,
37
+ };
38
+ export function resolvePixooPushMode(active) {
39
+ return active ? 'single-frame' : 'idle';
40
+ }
41
+ export function pixooPushIntervalMs(stateChanged, mode) {
42
+ if (stateChanged)
43
+ return PIXOO_PUSH_POLICY.stateChangeFloorMs;
44
+ if (mode === 'single-frame')
45
+ return PIXOO_PUSH_POLICY.activeFrameRefreshMs;
46
+ return PIXOO_PUSH_POLICY.idleRefreshMs;
47
+ }
41
48
  const CHANNEL_REASSERT_MS = 30_000; // Re-assert custom channel every 30s (fast recovery after reboots)
42
49
  const DEFAULT_BRIGHTNESS = 100;
43
50
  const FORWARDED_EVENTS = DISPLAY_FORWARDED_EVENTS;
@@ -83,7 +90,7 @@ export function startPixooBridge(pixooDevices) {
83
90
  if (streamTimer)
84
91
  clearInterval(streamTimer);
85
92
  streamTimer = setInterval(doStateCheckAndPush, STATE_CHECK_INTERVAL_MS);
86
- debug(TAG, 'Bridge started (2 FPS stream)');
93
+ debug(TAG, 'Bridge started (safe 2.5s active single-frame motion)');
87
94
  }
88
95
  export function broadcastPixoo(event) {
89
96
  if (!FORWARDED_EVENTS.has(event.type))
@@ -195,6 +202,7 @@ export async function stopPixooBridge() {
195
202
  lastDisplayDimSignature = '';
196
203
  broadcastFn = null;
197
204
  frameListeners = [];
205
+ deviceLastPushTime.clear();
198
206
  debug(TAG, 'Bridge stopped');
199
207
  }
200
208
  /** Register a listener called whenever a new frame is rendered. */
@@ -237,6 +245,7 @@ export function getPixooDeviceDetails() {
237
245
  failures: backoff.failures,
238
246
  nextProbeMs: backoff.nextProbeMs,
239
247
  lastPushAgo: lastPushTime > 0 ? Date.now() - lastPushTime : -1,
248
+ animationMode: resolvePixooPushMode(isAnimationActive()),
240
249
  };
241
250
  });
242
251
  }
@@ -252,15 +261,25 @@ function calculateStateHash() {
252
261
  const r7 = lastUsageEvent ? formatResetDetailed(lastUsageEvent.sevenDayResetsAt) : '';
253
262
  const u5 = lastUsageEvent?.fiveHourPercent != null ? Math.floor(lastUsageEvent.fiveHourPercent) : -1;
254
263
  const u7 = lastUsageEvent?.sevenDayPercent != null ? Math.floor(lastUsageEvent.sevenDayPercent) : -1;
264
+ const cx1 = lastUsageEvent?.codexRateLimits?.primary?.usedPercent != null
265
+ ? Math.floor(lastUsageEvent.codexRateLimits.primary.usedPercent) : -1;
266
+ const cx2 = lastUsageEvent?.codexRateLimits?.secondary?.usedPercent != null
267
+ ? Math.floor(lastUsageEvent.codexRateLimits.secondary.usedPercent) : -1;
268
+ const cxStale = `${lastUsageEvent?.codexRateLimits?.primary?.stale === true}|${lastUsageEvent?.codexRateLimits?.secondary?.stale === true}`;
255
269
  const uStale = lastUsageEvent?.usageStale ?? false;
256
270
  const sessionInfo = lastSessions
257
271
  ? lastSessions.map(s => `${s.id}:${s.agentType}:${s.state}`).join(',')
258
272
  : '';
259
- return `${stateStr}|${gatewayConnected}|${gatewayHasError}|${r5}|${r7}|${u5}|${u7}|${uStale}|${sessionInfo}|${displayDimmed}`;
273
+ return `${stateStr}|${gatewayConnected}|${gatewayHasError}|${r5}|${r7}|${u5}|${u7}|${cx1}|${cx2}|${cxStale}|${uStale}|${sessionInfo}|${displayDimmed}`;
274
+ }
275
+ function isAnimationActive() {
276
+ const state = lastStateEvent?.state ?? 'disconnected';
277
+ if (state === 'processing' || state.startsWith('awaiting'))
278
+ return true;
279
+ return lastSessions?.some(s => s.alive && (s.state === 'processing' || s.state?.startsWith('awaiting'))) ?? false;
260
280
  }
261
281
  /**
262
- * State Check and Push tick: Checks for state changes, and pushes
263
- * a single frame update to all hardware devices.
282
+ * State Check and Push tick using per-device adaptive modes.
264
283
  */
265
284
  function doStateCheckAndPush() {
266
285
  if (devices.length === 0)
@@ -270,32 +289,37 @@ function doStateCheckAndPush() {
270
289
  if (displayDimmed)
271
290
  return;
272
291
  const currentHash = calculateStateHash();
273
- const timeSinceLastPush = Date.now() - lastSequencePushTime;
274
292
  const stateChanged = currentHash !== lastStateHash;
275
- // Hard 2 FPS floor — event-driven calls (connection / display-wake) must not
276
- // burst the device faster than the stream cadence, even on a state change.
277
- if (timeSinceLastPush < MIN_PUSH_INTERVAL_MS) {
293
+ const now = Date.now();
294
+ const active = isAnimationActive();
295
+ const due = devices.flatMap(dev => {
296
+ const mode = resolvePixooPushMode(active);
297
+ const elapsed = now - (deviceLastPushTime.get(dev.ip) ?? 0);
298
+ return elapsed >= pixooPushIntervalMs(stateChanged, mode) ? [{ dev, mode }] : [];
299
+ });
300
+ if (due.length === 0)
278
301
  return;
279
- }
280
- if (!stateChanged && timeSinceLastPush < FORCE_REFRESH_INTERVAL_MS) {
281
- return; // No change and no force refresh due
282
- }
283
302
  pushing = true;
284
- lastSequencePushTime = Date.now();
285
303
  lastStateHash = currentHash;
286
304
  try {
287
- const now = Date.now();
288
- const framesCount = 1;
289
- const frames = [];
290
- // Render single frame
291
- frames.push(renderFrame(lastStateEvent, lastUsageEvent, lastSessions, now));
292
305
  const ts = new Date().toISOString().slice(11, 19);
293
- debug('Pixoo', `${ts} pushing frame to ${devices.length} dev(s) (changed=${stateChanged})`);
294
- const promises = devices.map(dev => pushFrames(dev.ip, frames, 1000).then(ok => {
295
- debug('Pixoo', `${ts} → ${dev.ip}: ${ok ? 'OK' : 'FAIL'}`);
296
- }).catch((err) => {
297
- debug('Pixoo', `${ts} → ${dev.ip}: ERROR ${err?.message}`);
298
- }));
306
+ debug('Pixoo', `${ts} pushing to ${due.length} dev(s) (changed=${stateChanged}, active=${active})`);
307
+ const promises = due.map(({ dev, mode }) => {
308
+ const count = 1;
309
+ const frames = Array.from({ length: count }, (_, i) => renderFrame(lastStateEvent, lastUsageEvent, lastSessions, now + i * 180));
310
+ // Rate-limit attempts as well as successes. This prevents a failed
311
+ // endpoint from being retried on every 500 ms scheduler tick.
312
+ deviceLastPushTime.set(dev.ip, Date.now());
313
+ return pushFrames(dev.ip, frames, count > 1 ? 180 : 1000).then(ok => {
314
+ if (ok) {
315
+ deviceLastPushTime.set(dev.ip, Date.now());
316
+ lastPushTime = Date.now();
317
+ }
318
+ debug('Pixoo', `${ts} → ${dev.ip}: ${ok ? 'OK' : 'FAIL'} (${mode}, ${count} frame)`);
319
+ }).catch((err) => {
320
+ debug('Pixoo', `${ts} → ${dev.ip}: ERROR ${err?.message}`);
321
+ });
322
+ });
299
323
  Promise.all(promises).finally(() => { pushing = false; });
300
324
  }
301
325
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"pixoo-bridge.js","sourceRoot":"","sources":["../../src/pixoo/pixoo-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pixoo-bridge.js","sourceRoot":"","sources":["../../src/pixoo/pixoo-bridge.ts"],"names":[],"mappings":"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"}