docrev 0.8.1 → 0.8.5

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 (306) hide show
  1. package/.claude/settings.local.json +9 -0
  2. package/PLAN-tables-and-postprocess.md +850 -0
  3. package/README.md +33 -0
  4. package/bin/rev.js +12 -131
  5. package/bin/rev.ts +145 -0
  6. package/dist/bin/rev.d.ts +9 -0
  7. package/dist/bin/rev.d.ts.map +1 -0
  8. package/dist/bin/rev.js +118 -0
  9. package/dist/bin/rev.js.map +1 -0
  10. package/dist/lib/annotations.d.ts +91 -0
  11. package/dist/lib/annotations.d.ts.map +1 -0
  12. package/dist/lib/annotations.js +554 -0
  13. package/dist/lib/annotations.js.map +1 -0
  14. package/dist/lib/build.d.ts +171 -0
  15. package/dist/lib/build.d.ts.map +1 -0
  16. package/dist/lib/build.js +755 -0
  17. package/dist/lib/build.js.map +1 -0
  18. package/dist/lib/citations.d.ts +34 -0
  19. package/dist/lib/citations.d.ts.map +1 -0
  20. package/dist/lib/citations.js +140 -0
  21. package/dist/lib/citations.js.map +1 -0
  22. package/dist/lib/commands/build.d.ts +13 -0
  23. package/dist/lib/commands/build.d.ts.map +1 -0
  24. package/dist/lib/commands/build.js +678 -0
  25. package/dist/lib/commands/build.js.map +1 -0
  26. package/dist/lib/commands/citations.d.ts +11 -0
  27. package/dist/lib/commands/citations.d.ts.map +1 -0
  28. package/dist/lib/commands/citations.js +428 -0
  29. package/dist/lib/commands/citations.js.map +1 -0
  30. package/dist/lib/commands/comments.d.ts +11 -0
  31. package/dist/lib/commands/comments.d.ts.map +1 -0
  32. package/dist/lib/commands/comments.js +883 -0
  33. package/dist/lib/commands/comments.js.map +1 -0
  34. package/dist/lib/commands/context.d.ts +35 -0
  35. package/dist/lib/commands/context.d.ts.map +1 -0
  36. package/dist/lib/commands/context.js +59 -0
  37. package/dist/lib/commands/context.js.map +1 -0
  38. package/dist/lib/commands/core.d.ts +11 -0
  39. package/dist/lib/commands/core.d.ts.map +1 -0
  40. package/dist/lib/commands/core.js +246 -0
  41. package/dist/lib/commands/core.js.map +1 -0
  42. package/dist/lib/commands/doi.d.ts +11 -0
  43. package/dist/lib/commands/doi.d.ts.map +1 -0
  44. package/dist/lib/commands/doi.js +373 -0
  45. package/dist/lib/commands/doi.js.map +1 -0
  46. package/dist/lib/commands/history.d.ts +11 -0
  47. package/dist/lib/commands/history.d.ts.map +1 -0
  48. package/dist/lib/commands/history.js +245 -0
  49. package/dist/lib/commands/history.js.map +1 -0
  50. package/dist/lib/commands/index.d.ts +28 -0
  51. package/dist/lib/commands/index.d.ts.map +1 -0
  52. package/dist/lib/commands/index.js +35 -0
  53. package/dist/lib/commands/index.js.map +1 -0
  54. package/dist/lib/commands/init.d.ts +11 -0
  55. package/dist/lib/commands/init.d.ts.map +1 -0
  56. package/dist/lib/commands/init.js +209 -0
  57. package/dist/lib/commands/init.js.map +1 -0
  58. package/dist/lib/commands/response.d.ts +11 -0
  59. package/dist/lib/commands/response.d.ts.map +1 -0
  60. package/dist/lib/commands/response.js +317 -0
  61. package/dist/lib/commands/response.js.map +1 -0
  62. package/dist/lib/commands/sections.d.ts +11 -0
  63. package/dist/lib/commands/sections.d.ts.map +1 -0
  64. package/dist/lib/commands/sections.js +1071 -0
  65. package/dist/lib/commands/sections.js.map +1 -0
  66. package/dist/lib/commands/utilities.d.ts +19 -0
  67. package/dist/lib/commands/utilities.d.ts.map +1 -0
  68. package/dist/lib/commands/utilities.js +2009 -0
  69. package/dist/lib/commands/utilities.js.map +1 -0
  70. package/dist/lib/comment-realign.d.ts +50 -0
  71. package/dist/lib/comment-realign.d.ts.map +1 -0
  72. package/dist/lib/comment-realign.js +372 -0
  73. package/dist/lib/comment-realign.js.map +1 -0
  74. package/dist/lib/config.d.ts +41 -0
  75. package/dist/lib/config.d.ts.map +1 -0
  76. package/dist/lib/config.js +76 -0
  77. package/dist/lib/config.js.map +1 -0
  78. package/dist/lib/crossref.d.ts +108 -0
  79. package/dist/lib/crossref.d.ts.map +1 -0
  80. package/dist/lib/crossref.js +597 -0
  81. package/dist/lib/crossref.js.map +1 -0
  82. package/dist/lib/dependencies.d.ts +30 -0
  83. package/dist/lib/dependencies.d.ts.map +1 -0
  84. package/dist/lib/dependencies.js +95 -0
  85. package/dist/lib/dependencies.js.map +1 -0
  86. package/dist/lib/doi-cache.d.ts +29 -0
  87. package/dist/lib/doi-cache.d.ts.map +1 -0
  88. package/dist/lib/doi-cache.js +104 -0
  89. package/dist/lib/doi-cache.js.map +1 -0
  90. package/dist/lib/doi.d.ts +65 -0
  91. package/dist/lib/doi.d.ts.map +1 -0
  92. package/dist/lib/doi.js +710 -0
  93. package/dist/lib/doi.js.map +1 -0
  94. package/dist/lib/equations.d.ts +61 -0
  95. package/dist/lib/equations.d.ts.map +1 -0
  96. package/dist/lib/equations.js +445 -0
  97. package/dist/lib/equations.js.map +1 -0
  98. package/dist/lib/errors.d.ts +60 -0
  99. package/dist/lib/errors.d.ts.map +1 -0
  100. package/dist/lib/errors.js +303 -0
  101. package/dist/lib/errors.js.map +1 -0
  102. package/dist/lib/format.d.ts +104 -0
  103. package/dist/lib/format.d.ts.map +1 -0
  104. package/dist/lib/format.js +416 -0
  105. package/dist/lib/format.js.map +1 -0
  106. package/dist/lib/git.d.ts +88 -0
  107. package/dist/lib/git.d.ts.map +1 -0
  108. package/dist/lib/git.js +304 -0
  109. package/dist/lib/git.js.map +1 -0
  110. package/dist/lib/grammar.d.ts +62 -0
  111. package/dist/lib/grammar.d.ts.map +1 -0
  112. package/dist/lib/grammar.js +244 -0
  113. package/dist/lib/grammar.js.map +1 -0
  114. package/dist/lib/image-registry.d.ts +68 -0
  115. package/dist/lib/image-registry.d.ts.map +1 -0
  116. package/dist/lib/image-registry.js +112 -0
  117. package/dist/lib/image-registry.js.map +1 -0
  118. package/dist/lib/import.d.ts +184 -0
  119. package/dist/lib/import.d.ts.map +1 -0
  120. package/dist/lib/import.js +1581 -0
  121. package/dist/lib/import.js.map +1 -0
  122. package/dist/lib/journals.d.ts +55 -0
  123. package/dist/lib/journals.d.ts.map +1 -0
  124. package/dist/lib/journals.js +417 -0
  125. package/dist/lib/journals.js.map +1 -0
  126. package/dist/lib/merge.d.ts +138 -0
  127. package/dist/lib/merge.d.ts.map +1 -0
  128. package/dist/lib/merge.js +603 -0
  129. package/dist/lib/merge.js.map +1 -0
  130. package/dist/lib/orcid.d.ts +36 -0
  131. package/dist/lib/orcid.d.ts.map +1 -0
  132. package/dist/lib/orcid.js +117 -0
  133. package/dist/lib/orcid.js.map +1 -0
  134. package/dist/lib/pdf-comments.d.ts +95 -0
  135. package/dist/lib/pdf-comments.d.ts.map +1 -0
  136. package/dist/lib/pdf-comments.js +192 -0
  137. package/dist/lib/pdf-comments.js.map +1 -0
  138. package/dist/lib/pdf-import.d.ts +118 -0
  139. package/dist/lib/pdf-import.d.ts.map +1 -0
  140. package/dist/lib/pdf-import.js +397 -0
  141. package/dist/lib/pdf-import.js.map +1 -0
  142. package/dist/lib/plugins.d.ts +76 -0
  143. package/dist/lib/plugins.d.ts.map +1 -0
  144. package/dist/lib/plugins.js +235 -0
  145. package/dist/lib/plugins.js.map +1 -0
  146. package/dist/lib/postprocess.d.ts +42 -0
  147. package/dist/lib/postprocess.d.ts.map +1 -0
  148. package/dist/lib/postprocess.js +138 -0
  149. package/dist/lib/postprocess.js.map +1 -0
  150. package/dist/lib/pptx-template.d.ts +59 -0
  151. package/dist/lib/pptx-template.d.ts.map +1 -0
  152. package/dist/lib/pptx-template.js +613 -0
  153. package/dist/lib/pptx-template.js.map +1 -0
  154. package/dist/lib/pptx-themes.d.ts +80 -0
  155. package/dist/lib/pptx-themes.d.ts.map +1 -0
  156. package/dist/lib/pptx-themes.js +818 -0
  157. package/dist/lib/pptx-themes.js.map +1 -0
  158. package/dist/lib/protect-restore.d.ts +137 -0
  159. package/dist/lib/protect-restore.d.ts.map +1 -0
  160. package/dist/lib/protect-restore.js +394 -0
  161. package/dist/lib/protect-restore.js.map +1 -0
  162. package/dist/lib/rate-limiter.d.ts +27 -0
  163. package/dist/lib/rate-limiter.d.ts.map +1 -0
  164. package/dist/lib/rate-limiter.js +79 -0
  165. package/dist/lib/rate-limiter.js.map +1 -0
  166. package/dist/lib/response.d.ts +41 -0
  167. package/dist/lib/response.d.ts.map +1 -0
  168. package/dist/lib/response.js +150 -0
  169. package/dist/lib/response.js.map +1 -0
  170. package/dist/lib/review.d.ts +35 -0
  171. package/dist/lib/review.d.ts.map +1 -0
  172. package/dist/lib/review.js +263 -0
  173. package/dist/lib/review.js.map +1 -0
  174. package/dist/lib/schema.d.ts +66 -0
  175. package/dist/lib/schema.d.ts.map +1 -0
  176. package/dist/lib/schema.js +339 -0
  177. package/dist/lib/schema.js.map +1 -0
  178. package/dist/lib/scientific-words.d.ts +6 -0
  179. package/dist/lib/scientific-words.d.ts.map +1 -0
  180. package/dist/lib/scientific-words.js +66 -0
  181. package/dist/lib/scientific-words.js.map +1 -0
  182. package/dist/lib/sections.d.ts +40 -0
  183. package/dist/lib/sections.d.ts.map +1 -0
  184. package/dist/lib/sections.js +288 -0
  185. package/dist/lib/sections.js.map +1 -0
  186. package/dist/lib/slides.d.ts +86 -0
  187. package/dist/lib/slides.d.ts.map +1 -0
  188. package/dist/lib/slides.js +676 -0
  189. package/dist/lib/slides.js.map +1 -0
  190. package/dist/lib/spelling.d.ts +76 -0
  191. package/dist/lib/spelling.d.ts.map +1 -0
  192. package/dist/lib/spelling.js +272 -0
  193. package/dist/lib/spelling.js.map +1 -0
  194. package/dist/lib/templates.d.ts +30 -0
  195. package/dist/lib/templates.d.ts.map +1 -0
  196. package/dist/lib/templates.js +504 -0
  197. package/dist/lib/templates.js.map +1 -0
  198. package/dist/lib/themes.d.ts +85 -0
  199. package/dist/lib/themes.d.ts.map +1 -0
  200. package/dist/lib/themes.js +652 -0
  201. package/dist/lib/themes.js.map +1 -0
  202. package/dist/lib/trackchanges.d.ts +51 -0
  203. package/dist/lib/trackchanges.d.ts.map +1 -0
  204. package/dist/lib/trackchanges.js +202 -0
  205. package/dist/lib/trackchanges.js.map +1 -0
  206. package/dist/lib/tui.d.ts +76 -0
  207. package/dist/lib/tui.d.ts.map +1 -0
  208. package/dist/lib/tui.js +377 -0
  209. package/dist/lib/tui.js.map +1 -0
  210. package/dist/lib/types.d.ts +447 -0
  211. package/dist/lib/types.d.ts.map +1 -0
  212. package/dist/lib/types.js +6 -0
  213. package/dist/lib/types.js.map +1 -0
  214. package/dist/lib/undo.d.ts +57 -0
  215. package/dist/lib/undo.d.ts.map +1 -0
  216. package/dist/lib/undo.js +185 -0
  217. package/dist/lib/undo.js.map +1 -0
  218. package/dist/lib/utils.d.ts +16 -0
  219. package/dist/lib/utils.d.ts.map +1 -0
  220. package/dist/lib/utils.js +40 -0
  221. package/dist/lib/utils.js.map +1 -0
  222. package/dist/lib/variables.d.ts +42 -0
  223. package/dist/lib/variables.d.ts.map +1 -0
  224. package/dist/lib/variables.js +141 -0
  225. package/dist/lib/variables.js.map +1 -0
  226. package/dist/lib/word.d.ts +80 -0
  227. package/dist/lib/word.d.ts.map +1 -0
  228. package/dist/lib/word.js +360 -0
  229. package/dist/lib/word.js.map +1 -0
  230. package/dist/lib/wordcomments.d.ts +51 -0
  231. package/dist/lib/wordcomments.d.ts.map +1 -0
  232. package/dist/lib/wordcomments.js +587 -0
  233. package/dist/lib/wordcomments.js.map +1 -0
  234. package/eslint.config.js +27 -0
  235. package/lib/annotations.ts +622 -0
  236. package/lib/apply-buildup-colors.py +88 -0
  237. package/lib/build.ts +1013 -0
  238. package/lib/{citations.js → citations.ts} +38 -27
  239. package/lib/commands/{build.js → build.ts} +80 -27
  240. package/lib/commands/{citations.js → citations.ts} +36 -18
  241. package/lib/commands/{comments.js → comments.ts} +187 -54
  242. package/lib/commands/{context.js → context.ts} +18 -8
  243. package/lib/commands/{core.js → core.ts} +34 -20
  244. package/lib/commands/{doi.js → doi.ts} +32 -16
  245. package/lib/commands/{history.js → history.ts} +25 -12
  246. package/lib/commands/{index.js → index.ts} +9 -5
  247. package/lib/commands/{init.js → init.ts} +20 -8
  248. package/lib/commands/{response.js → response.ts} +47 -20
  249. package/lib/commands/{sections.js → sections.ts} +273 -68
  250. package/lib/commands/{utilities.js → utilities.ts} +338 -158
  251. package/lib/{comment-realign.js → comment-realign.ts} +117 -45
  252. package/lib/config.ts +84 -0
  253. package/lib/{crossref.js → crossref.ts} +213 -138
  254. package/lib/dependencies.ts +106 -0
  255. package/lib/doi-cache.ts +115 -0
  256. package/lib/{doi.js → doi.ts} +115 -281
  257. package/lib/{equations.js → equations.ts} +60 -64
  258. package/lib/{errors.js → errors.ts} +56 -48
  259. package/lib/{format.js → format.ts} +137 -63
  260. package/lib/{git.js → git.ts} +66 -63
  261. package/lib/{grammar.js → grammar.ts} +45 -32
  262. package/lib/image-registry.ts +180 -0
  263. package/lib/import.ts +2060 -0
  264. package/lib/journals.ts +505 -0
  265. package/lib/{merge.js → merge.ts} +185 -135
  266. package/lib/{orcid.js → orcid.ts} +17 -22
  267. package/lib/{pdf-comments.js → pdf-comments.ts} +76 -18
  268. package/lib/{pdf-import.js → pdf-import.ts} +148 -70
  269. package/lib/{plugins.js → plugins.ts} +82 -39
  270. package/lib/postprocess.ts +188 -0
  271. package/lib/pptx-color-filter.lua +37 -0
  272. package/lib/pptx-template.ts +625 -0
  273. package/lib/pptx-themes/academic.pptx +0 -0
  274. package/lib/pptx-themes/corporate.pptx +0 -0
  275. package/lib/pptx-themes/dark.pptx +0 -0
  276. package/lib/pptx-themes/default.pptx +0 -0
  277. package/lib/pptx-themes/minimal.pptx +0 -0
  278. package/lib/pptx-themes/plant.pptx +0 -0
  279. package/lib/pptx-themes.ts +896 -0
  280. package/lib/protect-restore.ts +516 -0
  281. package/lib/rate-limiter.ts +94 -0
  282. package/lib/{response.js → response.ts} +36 -21
  283. package/lib/{review.js → review.ts} +53 -43
  284. package/lib/{schema.js → schema.ts} +70 -25
  285. package/lib/{sections.js → sections.ts} +71 -76
  286. package/lib/slides.ts +793 -0
  287. package/lib/{spelling.js → spelling.ts} +43 -59
  288. package/lib/{templates.js → templates.ts} +20 -17
  289. package/lib/themes.ts +742 -0
  290. package/lib/{trackchanges.js → trackchanges.ts} +52 -23
  291. package/lib/types.ts +509 -0
  292. package/lib/{undo.js → undo.ts} +75 -52
  293. package/lib/utils.ts +41 -0
  294. package/lib/{variables.js → variables.ts} +60 -54
  295. package/lib/word.ts +428 -0
  296. package/lib/{wordcomments.js → wordcomments.ts} +94 -40
  297. package/package.json +15 -5
  298. package/skill/REFERENCE.md +67 -0
  299. package/tsconfig.json +26 -0
  300. package/lib/annotations.js +0 -414
  301. package/lib/build.js +0 -639
  302. package/lib/config.js +0 -79
  303. package/lib/import.js +0 -1145
  304. package/lib/journals.js +0 -629
  305. package/lib/word.js +0 -225
  306. /package/lib/{scientific-words.js → scientific-words.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doi.js","sourceRoot":"","sources":["../../lib/doi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAExD,6CAA6C;AAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,MAAM,EAAY,+CAA+C;IACjE,QAAQ,EAAU,2BAA2B;IAC7C,QAAQ,EAAU,0BAA0B;IAC5C,eAAe;IACf,WAAW;IACX,MAAM,EAAY,0BAA0B;IAC5C,aAAa,EAAK,gBAAgB;IAClC,QAAQ,EAAU,mBAAmB;IACrC,YAAY,EAAM,sBAAsB;IACxC,SAAS;CACV,CAAC,CAAC;AAEH,oCAAoC;AACpC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,SAAS,EAAS,oCAAoC;IACtD,eAAe,EAAG,+BAA+B;IACjD,aAAa;IACb,cAAc,EAAI,+BAA+B;CAClD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,sCAAsC;IACtC,MAAM,YAAY,GAAG,8BAA8B,CAAC;IAEpD,IAAI,KAA6B,CAAC;IAClC,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;QAE7B,uBAAuB;QACvB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,IAAI,EAAE,CAAC;QAClC,CAAC;QAED,sDAAsD;QACtD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,QAAQ,GAAG,QAAQ,CAAC;QACxB,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACvB,UAAU,EAAE,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC9B,UAAU,EAAE,CAAC;gBACb,IAAI,OAAO,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBAChC,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;oBACjB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEvD,oBAAoB;QACpB,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrE,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAEhD,2CAA2C;QAC3C,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,4BAA4B;QAC5B,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnE,4BAA4B;QAC5B,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5D,eAAe;QACf,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAExD,kBAAkB;QAClB,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5D,wDAAwD;QACxD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC;QAEzB,8DAA8D;QAC9D,6EAA6E;QAC7E,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QACzE,+FAA+F;QAC/F,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAC7F,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEvD,OAAO,CAAC,IAAI,CAAC;YACX,GAAG;YACH,IAAI;YACJ,GAAG,EAAE,GAAG,IAAI,IAAI;YAChB,KAAK;YACL,SAAS;YACT,IAAI;YACJ,OAAO;YACP,IAAI,EAAE,IAAI,IAAI,WAAW;YACzB,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;YACrC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAC7B,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,+BAA+B;IAC/B,0DAA0D;IAC1D,OAAO,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,GAAW;IACzC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,cAAc,CACnD,iCAAiC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAC1D;YACE,OAAO,EAAE;gBACP,QAAQ,EAAE,0BAA0B;gBACpC,YAAY,EAAE,iDAAiD;aAChE;SACF,CACF,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5D,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;QAEpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;QAC9D,CAAC;QAED,OAAO;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE;gBACR,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE;gBACrC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;gBACnG,IAAI,EAAE,KAAK,CAAC,eAAe;gBAC3B,OAAO,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;gBAC9B,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,mBAAmB,IAAI,EAAE;aAC7C;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC;IACzD,CAAC;AACH,CAAC;AAMD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,UAA2B,EAAE;IACvE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;IACvD,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAA2C,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,gBAAgB,GAAG,QAAQ,IAAI,UAAU,CAAC;IAEhD,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;YACzB,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAC9B,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,gCAAgC;QAChC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,cAAc,CACnD,kCAAkC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAC3D;YACE,OAAO,EAAE;gBACP,YAAY,EAAE,4EAA4E;aAC3F;SACF,CACF,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,kDAAkD;YAClD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACnD,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;oBACzB,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;oBAC9B,OAAO,cAAc,CAAC;gBACxB,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;YACxD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,+BAA+B;YAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5D,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAE1B,MAAM,MAAM,GAAmB;YAC7B,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE;gBACR,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC5B,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;gBACxF,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxF,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB;SACF,CAAC;QAEF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACtB,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,6BAA6B;QAC7B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW;IAC3C,YAAY;IACZ,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC;IAExD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;IACzD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,cAAc,CACjD,mBAAmB,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAC5C;YACE,OAAO,EAAE;gBACP,QAAQ,EAAE,sBAAsB;gBAChC,YAAY,EAAE,iDAAiD;aAChE;YACD,QAAQ,EAAE,QAAQ;SACnB,CACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAErC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;QAC9D,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC;AAOD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAe,EAAE,UAA+B,EAAE;IACnF,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;IAEvD,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAA8E,EAAE,CAAC;IAE9F,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,4CAA4C;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;QAE7C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACxB,iBAAiB;YACjB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;YACtE,CAAC;YAED,eAAe;YACf,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACf,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,iCAAiC;oBACjC,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,uBAAuB,EAAE,CAAC;gBACxF,CAAC;qBAAM,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;oBAC3B,8BAA8B;oBAC9B,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;gBAC1F,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;gBAClE,CAAC;YACH,CAAC;YAED,4BAA4B;YAC5B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;YACxE,CAAC;YAED,wBAAwB;YACxB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAE9B,oDAAoD;QACpD,IAAI,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAChE,CAAC;AAYD;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,KAAa,EAAE,SAAiB,EAAE,EAAE,OAAsB,IAAI;IAC1F,IAAI,CAAC;QACH,wBAAwB;QACxB,IAAI,KAAK,GAAG,gBAAgB,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;QACzD,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,IAAI,sBAAsB,MAAM,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,IAAI,wBAAwB,IAAI,EAAE,CAAC;QAC1C,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,KAAK,EAAE,KAAK;YACZ,YAAY,EAAE,GAAG;SAClB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,cAAc,CACnD,iCAAiC,MAAM,EAAE,EACzC;YACE,OAAO,EAAE;gBACP,QAAQ,EAAE,0BAA0B;gBACpC,YAAY,EAAE,iDAAiD;aAChE;SACF,CACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC;QAE5B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA+B,CAAC;QAChE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAE9B,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;YAC9B,OAAO;gBACL,GAAG,EAAE,IAAI,CAAC,EAAE;gBACZ,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;gBACvC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;gBACtF,iBAAiB,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE;gBAC9D,iBAAiB,EAAE,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;gBAC1C,KAAK,EAAE,EAAE,EAAE,kCAAkC;gBAC7C,MAAM,EAAE,UAAU;aACnB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;SAChB,WAAW,EAAE;SACb,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAE,sBAAsB;SAC9C,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAE,mCAAmC;SACjE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,GAAW,EAAE,QAAgB,EAAE,EAAE,UAAkB,EAAE;IACjF,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,YAAY,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAEnD,iCAAiC;IACjC,IAAI,mDAAmD,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oDAAoD;IACpD,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6CAA6C;IAC7C,IAAI,mDAAmD,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAaD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAAa,EACb,SAAiB,EAAE,EACnB,OAAsB,IAAI,EAC1B,UAAkB,EAAE;IAEpB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAChC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAC;IACxE,CAAC;IAED,0DAA0D;IAC1D,MAAM,YAAY,GAAG,mDAAmD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAErF,IAAI,CAAC;QACH,6EAA6E;QAC7E,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,GAAG,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC;QAC/B,CAAC;QACD,2CAA2C;QAC3C,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,GAAG,GAAG,KAAK,IAAI,OAAO,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,KAAK,GAAmB,EAAE,CAAC;QAE/B,2DAA2D;QAC3D,MAAM,gBAAgB,GAAG,IAAI,eAAe,CAAC;YAC3C,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,8EAA8E;SACvF,CAAC,CAAC;QACH,gBAAgB,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,MAAM,EAAE,CAAC;YACX,gBAAgB,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,gBAAgB,CAAC,GAAG,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,QAAQ,GAAG,MAAM,eAAe,CAAC,cAAc,CACjD,kCAAkC,gBAAgB,EAAE,EACpD;YACE,OAAO,EAAE;gBACP,YAAY,EAAE,4EAA4E;aAC3F;SACF,CACF,CAAC;QAEF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA8C,CAAC;YAC/E,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;QACpC,CAAC;QAED,+FAA+F;QAC/F,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;gBACtC,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,8EAA8E;aACvF,CAAC,CAAC;YACH,WAAW,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAEtC,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,cAAc,CACpD,kCAAkC,WAAW,EAAE,EAC/C;gBACE,OAAO,EAAE;oBACP,YAAY,EAAE,4EAA4E;iBAC3F;aACF,CACF,CAAC;YAEF,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,EAA8C,CAAC;gBAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC3C,qCAAqC;gBACrC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;gBACtC,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,8EAA8E;aACvF,CAAC,CAAC;YAEH,QAAQ,GAAG,MAAM,eAAe,CAAC,cAAc,CAC7C,kCAAkC,WAAW,EAAE,EAC/C;gBACE,OAAO,EAAE;oBACP,YAAY,EAAE,4EAA4E;iBAC3F;aACF,CACF,CAAC;YAEF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA8C,CAAC;gBAC/E,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,IAAI,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAChE,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,aAAa,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QACrD,CAAC;QAED,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAExD,oBAAoB;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAC5D,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAEhE,iDAAiD;YACjD,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC;gBAC3D,KAAK,IAAI,GAAG,CAAC,CAAE,0CAA0C;YAC3D,CAAC;YAED,4CAA4C;YAC5C,IAAI,mBAAmB,KAAK,qBAAqB,EAAE,CAAC;gBAClD,KAAK,IAAI,GAAG,CAAC,CAAE,cAAc;YAC/B,CAAC;iBAAM,IAAI,mBAAmB,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBACnD,qBAAqB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC/D,KAAK,IAAI,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,qBAAqB;gBACrB,MAAM,WAAW,GAAG,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACjF,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC7E,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACrC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CACvD,CAAC;gBACF,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACnE,CAAC;YAED,uBAAuB;YACvB,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC1B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACrC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACpD,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CACrD,CAAC;gBACF,IAAI,SAAS;oBAAE,KAAK,IAAI,EAAE,CAAC;YAC7B,CAAC;YAED,8BAA8B;YAC9B,IAAI,iBAAiB,IAAI,qBAAqB,EAAE,CAAC;gBAC/C,uDAAuD;gBACvD,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC9E,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAEtF,uBAAuB;gBACvB,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC7C,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAC9D,CAAC;gBAEF,IAAI,cAAc,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9D,KAAK,IAAI,EAAE,CAAC,CAAE,qBAAqB;gBACrC,CAAC;qBAAM,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACtC,KAAK,IAAI,EAAE,CAAC,CAAE,gBAAgB;gBAChC,CAAC;gBAED,gCAAgC;gBAChC,IAAI,qBAAqB,KAAK,iBAAiB,EAAE,CAAC;oBAChD,KAAK,IAAI,EAAE,CAAC;gBACd,CAAC;YACH,CAAC;YAED,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;gBACrB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,KAAK,IAAI,EAAE,CAAC,CAAE,6CAA6C;gBAC7D,CAAC;qBAAM,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3C,KAAK,IAAI,EAAE,CAAC,CAAE,uCAAuC;gBACvD,CAAC;qBAAM,CAAC;oBACN,KAAK,IAAI,EAAE,CAAC,CAAE,kCAAkC;gBAClD,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7B,KAAK,IAAI,EAAE,CAAC,CAAE,oBAAoB;YACpC,CAAC;YAED,0CAA0C;YAC1C,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAEvC,OAAO;gBACL,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;gBACjF,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,WAAW;gBACpB,KAAK;gBACL,aAAa,EAAE,IAAI,CAAC,KAAK;gBACzB,YAAY,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC;aACrE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAEzC,wEAAwE;QACxE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE/D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;QAC3D,CAAC;QAED,wBAAwB;QACxB,IAAI,UAAU,GAA8B,KAAK,CAAC;QAClD,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG;YAAE,UAAU,GAAG,MAAM,CAAC;aACtC,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;YAAE,UAAU,GAAG,QAAQ,CAAC;QAEjD,0DAA0D;QAC1D,IAAI,UAAU,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAChE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,yCAAyC;gBACzC,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;oBACnC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACxC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;oBACxD,IAAI,OAAO,GAAG,CAAC,CAAC;oBAEhB,cAAc;oBACd,IAAI,iBAAiB,KAAK,qBAAqB,EAAE,CAAC;wBAChD,OAAO,IAAI,GAAG,CAAC;oBACjB,CAAC;yBAAM,IAAI,iBAAiB,CAAC,QAAQ,CAAC,qBAAqB,CAAC;wBACjD,qBAAqB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;wBAC7D,OAAO,IAAI,EAAE,CAAC;oBAChB,CAAC;oBAED,aAAa;oBACb,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACnE,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;wBACtC,OAAO,IAAI,EAAE,CAAC;oBAChB,CAAC;oBAED,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;wBACzB,OAAO;4BACL,KAAK,EAAE,IAAI;4BACX,GAAG,EAAE,MAAM,CAAC,GAAG;4BACf,UAAU,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;4BACtE,KAAK,EAAE,OAAO;4BACd,QAAQ,EAAE;gCACR,KAAK,EAAE,OAAO;gCACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;gCAC1F,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;6BAC9C;4BACD,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;yBACjC,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU;YACV,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE;gBACR,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB;YACD,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACjE,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC;IACzD,CAAC;AACH,CAAC;AAeD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe,EACf,UAAoC,EAAE;IAEtC,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE7C,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACjC,CAAC,CAAC,CAAC,GAAG;QACN,CAAC,CAAC,CAAC,IAAI;QACP,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAC1B,CAAC;IAEF,MAAM,OAAO,GAA6B,EAAE,CAAC;IAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;QAE7C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACxB,kDAAkD;YAClD,qDAAqD;YACrD,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,sCAAsC;gBACtC,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACrC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAE/E,OAAO;gBACL,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM;aACP,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAE9B,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAQD;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,MAAc;IACtD,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,4CAA4C,EAAE,CAAC;IACjF,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExB,8BAA8B;IAC9B,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACpE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAG,uBAAuB,OAAO,EAAE,EAAE,CAAC;IAChF,CAAC;IAED,iBAAiB;IACjB,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5D,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAE/C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAChC,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Equation extraction and conversion utilities
3
+ * Handle LaTeX math in Markdown ↔ Word workflows
4
+ *
5
+ * Supports:
6
+ * - Extract LaTeX equations from Markdown
7
+ * - Extract equations from Word documents (OMML → LaTeX via Pandoc)
8
+ * - Convert Markdown with equations to Word (LaTeX → MathML)
9
+ */
10
+ import type { Equation, EquationStats, WordEquationResult } from './types.js';
11
+ /**
12
+ * Extract all equations from markdown text
13
+ */
14
+ export declare function extractEquations(text: string, file?: string): Equation[];
15
+ /**
16
+ * Generate a markdown document with numbered equations
17
+ * Useful for creating an equation reference sheet
18
+ */
19
+ export declare function generateEquationSheet(equations: Equation[]): string;
20
+ interface ConvertToWordOptions {
21
+ preserveLatex?: boolean;
22
+ }
23
+ /**
24
+ * Convert markdown with equations to Word using pandoc
25
+ */
26
+ export declare function convertToWord(inputPath: string, outputPath: string, options?: ConvertToWordOptions): Promise<{
27
+ success: boolean;
28
+ message: string;
29
+ }>;
30
+ /**
31
+ * Create a simple equations-only document
32
+ */
33
+ export declare function createEquationsDoc(inputPath: string, outputPath: string): Promise<{
34
+ success: boolean;
35
+ message: string;
36
+ stats: {
37
+ display: number;
38
+ inline: number;
39
+ } | null;
40
+ }>;
41
+ /**
42
+ * Get equation statistics for a file or directory
43
+ */
44
+ export declare function getEquationStats(files: string[]): EquationStats;
45
+ /**
46
+ * Extract equations from a Word document using Pandoc
47
+ * Converts OMML (Office Math Markup) to LaTeX
48
+ */
49
+ export declare function extractEquationsFromWord(docxPath: string): Promise<WordEquationResult>;
50
+ /**
51
+ * Get equation summary from Word document
52
+ */
53
+ export declare function getWordEquationStats(docxPath: string): Promise<{
54
+ count: number;
55
+ display: number;
56
+ inline: number;
57
+ converted: number;
58
+ error?: string;
59
+ }>;
60
+ export {};
61
+ //# sourceMappingURL=equations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equations.d.ts","sourceRoot":"","sources":["../../lib/equations.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAmB9E;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAW,GAAG,QAAQ,EAAE,CAgG5E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CA8CnE;AAED,UAAU,oBAAoB;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA8BhD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,CAAC,CAgCnG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa,CA2B/D;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA4B5F;AAoJD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBhG"}
@@ -0,0 +1,445 @@
1
+ /**
2
+ * Equation extraction and conversion utilities
3
+ * Handle LaTeX math in Markdown ↔ Word workflows
4
+ *
5
+ * Supports:
6
+ * - Extract LaTeX equations from Markdown
7
+ * - Extract equations from Word documents (OMML → LaTeX via Pandoc)
8
+ * - Convert Markdown with equations to Word (LaTeX → MathML)
9
+ */
10
+ import * as fs from 'fs';
11
+ import * as path from 'path';
12
+ import { exec } from 'child_process';
13
+ import { promisify } from 'util';
14
+ import AdmZip from 'adm-zip';
15
+ import { parseString } from 'xml2js';
16
+ const execAsync = promisify(exec);
17
+ const parseXml = promisify(parseString);
18
+ // Dynamic import for mathml-to-latex (ESM)
19
+ let MathMLToLaTeX = null;
20
+ async function getMathMLConverter() {
21
+ if (!MathMLToLaTeX) {
22
+ try {
23
+ const module = await import('mathml-to-latex');
24
+ MathMLToLaTeX = module.MathMLToLaTeX;
25
+ }
26
+ catch {
27
+ return null;
28
+ }
29
+ }
30
+ return MathMLToLaTeX;
31
+ }
32
+ /**
33
+ * Extract all equations from markdown text
34
+ */
35
+ export function extractEquations(text, file = '') {
36
+ const equations = [];
37
+ const lines = text.split('\n');
38
+ let inDisplayMath = false;
39
+ let displayMathStart = 0;
40
+ let displayMathContent = '';
41
+ for (let lineNum = 0; lineNum < lines.length; lineNum++) {
42
+ const line = lines[lineNum];
43
+ if (!line)
44
+ continue;
45
+ // Skip code blocks
46
+ if (line.trim().startsWith('```'))
47
+ continue;
48
+ // Handle inline math ($...$) in a segment of text
49
+ // Careful not to match $$ or escaped \$
50
+ const inlinePattern = /(?<![\$\\])\$(?!\$)([^$\n]+)\$(?!\$)/g;
51
+ const extractInline = (segment) => {
52
+ let match;
53
+ inlinePattern.lastIndex = 0;
54
+ while ((match = inlinePattern.exec(segment)) !== null) {
55
+ const content = match[1];
56
+ if (content) {
57
+ equations.push({
58
+ type: 'inline',
59
+ content: content.trim(),
60
+ line: lineNum + 1,
61
+ file,
62
+ });
63
+ }
64
+ }
65
+ };
66
+ // Handle display math blocks ($$...$$)
67
+ if (line.includes('$$')) {
68
+ const parts = line.split('$$');
69
+ if (!inDisplayMath && parts.length >= 3) {
70
+ // Single-line display math: $$content$$
71
+ // Also extract inline math from surrounding text
72
+ if (parts[0])
73
+ extractInline(parts[0]); // Text before $$
74
+ for (let i = 1; i < parts.length; i += 2) {
75
+ const part = parts[i];
76
+ if (part && part.trim()) {
77
+ equations.push({
78
+ type: 'display',
79
+ content: part.trim(),
80
+ line: lineNum + 1,
81
+ file,
82
+ });
83
+ }
84
+ }
85
+ // Extract inline from text after the last $$
86
+ const lastPart = parts[parts.length - 1];
87
+ if (parts.length % 2 === 1 && lastPart) {
88
+ extractInline(lastPart);
89
+ }
90
+ }
91
+ else if (!inDisplayMath) {
92
+ // Start of multi-line display math
93
+ if (parts[0])
94
+ extractInline(parts[0]); // Text before $$
95
+ inDisplayMath = true;
96
+ displayMathStart = lineNum + 1;
97
+ displayMathContent = parts[1] || '';
98
+ }
99
+ else {
100
+ // End of multi-line display math
101
+ inDisplayMath = false;
102
+ displayMathContent += '\n' + (parts[0] || '');
103
+ if (displayMathContent.trim()) {
104
+ equations.push({
105
+ type: 'display',
106
+ content: displayMathContent.trim(),
107
+ line: displayMathStart,
108
+ file,
109
+ });
110
+ }
111
+ displayMathContent = '';
112
+ // Text after $$ on closing line
113
+ const afterPart = parts[1];
114
+ if (afterPart) {
115
+ extractInline(afterPart);
116
+ }
117
+ }
118
+ continue;
119
+ }
120
+ if (inDisplayMath) {
121
+ displayMathContent += '\n' + line;
122
+ continue;
123
+ }
124
+ // No display math on this line - extract inline math
125
+ extractInline(line);
126
+ }
127
+ return equations;
128
+ }
129
+ /**
130
+ * Generate a markdown document with numbered equations
131
+ * Useful for creating an equation reference sheet
132
+ */
133
+ export function generateEquationSheet(equations) {
134
+ const lines = [];
135
+ lines.push('# Equations');
136
+ lines.push('');
137
+ let displayNum = 0;
138
+ let inlineNum = 0;
139
+ // Group by file
140
+ const byFile = new Map();
141
+ for (const eq of equations) {
142
+ if (!byFile.has(eq.file)) {
143
+ byFile.set(eq.file, []);
144
+ }
145
+ byFile.get(eq.file).push(eq);
146
+ }
147
+ for (const [file, fileEqs] of byFile) {
148
+ if (file) {
149
+ lines.push(`## ${file}`);
150
+ lines.push('');
151
+ }
152
+ for (const eq of fileEqs) {
153
+ if (eq.type === 'display') {
154
+ displayNum++;
155
+ lines.push(`### Equation ${displayNum} (line ${eq.line})`);
156
+ lines.push('');
157
+ lines.push('```latex');
158
+ lines.push(eq.content);
159
+ lines.push('```');
160
+ lines.push('');
161
+ lines.push('$$' + eq.content + '$$');
162
+ lines.push('');
163
+ }
164
+ else {
165
+ inlineNum++;
166
+ lines.push(`- **Inline ${inlineNum}** (line ${eq.line}): \`$${eq.content}$\` → $${eq.content}$`);
167
+ }
168
+ }
169
+ lines.push('');
170
+ }
171
+ lines.push('---');
172
+ lines.push(`Total: ${displayNum} display equations, ${inlineNum} inline equations`);
173
+ return lines.join('\n');
174
+ }
175
+ /**
176
+ * Convert markdown with equations to Word using pandoc
177
+ */
178
+ export async function convertToWord(inputPath, outputPath, options = {}) {
179
+ const { preserveLatex = false } = options;
180
+ // Check pandoc is available
181
+ try {
182
+ await execAsync('pandoc --version');
183
+ }
184
+ catch {
185
+ return { success: false, message: 'Pandoc not found. Install pandoc first.' };
186
+ }
187
+ // Build pandoc command
188
+ // Use --mathml for better equation rendering in Word
189
+ const args = [
190
+ 'pandoc',
191
+ `"${inputPath}"`,
192
+ '-o', `"${outputPath}"`,
193
+ '--mathml', // Better equation support in Word
194
+ ];
195
+ if (preserveLatex) {
196
+ // Keep raw LaTeX (less compatible but preserves source)
197
+ args.push('--wrap=preserve');
198
+ }
199
+ try {
200
+ await execAsync(args.join(' '));
201
+ return { success: true, message: `Created ${outputPath}` };
202
+ }
203
+ catch (err) {
204
+ return { success: false, message: err.message };
205
+ }
206
+ }
207
+ /**
208
+ * Create a simple equations-only document
209
+ */
210
+ export async function createEquationsDoc(inputPath, outputPath) {
211
+ if (!fs.existsSync(inputPath)) {
212
+ return { success: false, message: `File not found: ${inputPath}`, stats: null };
213
+ }
214
+ const text = fs.readFileSync(inputPath, 'utf-8');
215
+ const equations = extractEquations(text, path.basename(inputPath));
216
+ if (equations.length === 0) {
217
+ return { success: false, message: 'No equations found', stats: { display: 0, inline: 0 } };
218
+ }
219
+ const sheet = generateEquationSheet(equations);
220
+ const stats = {
221
+ display: equations.filter(e => e.type === 'display').length,
222
+ inline: equations.filter(e => e.type === 'inline').length,
223
+ };
224
+ const ext = path.extname(outputPath).toLowerCase();
225
+ if (ext === '.docx') {
226
+ // Write temp md, convert to docx
227
+ const tempMd = outputPath.replace('.docx', '.tmp.md');
228
+ fs.writeFileSync(tempMd, sheet, 'utf-8');
229
+ const result = await convertToWord(tempMd, outputPath);
230
+ fs.unlinkSync(tempMd);
231
+ return { ...result, stats };
232
+ }
233
+ else {
234
+ // Write as markdown
235
+ fs.writeFileSync(outputPath, sheet, 'utf-8');
236
+ return { success: true, message: `Created ${outputPath}`, stats };
237
+ }
238
+ }
239
+ /**
240
+ * Get equation statistics for a file or directory
241
+ */
242
+ export function getEquationStats(files) {
243
+ let totalDisplay = 0;
244
+ let totalInline = 0;
245
+ const byFile = [];
246
+ for (const file of files) {
247
+ if (!fs.existsSync(file))
248
+ continue;
249
+ const text = fs.readFileSync(file, 'utf-8');
250
+ const equations = extractEquations(text, path.basename(file));
251
+ const display = equations.filter(e => e.type === 'display').length;
252
+ const inline = equations.filter(e => e.type === 'inline').length;
253
+ totalDisplay += display;
254
+ totalInline += inline;
255
+ if (display > 0 || inline > 0) {
256
+ byFile.push({ file: path.basename(file), display, inline });
257
+ }
258
+ }
259
+ return {
260
+ total: totalDisplay + totalInline,
261
+ display: totalDisplay,
262
+ inline: totalInline,
263
+ byFile,
264
+ };
265
+ }
266
+ /**
267
+ * Extract equations from a Word document using Pandoc
268
+ * Converts OMML (Office Math Markup) to LaTeX
269
+ */
270
+ export async function extractEquationsFromWord(docxPath) {
271
+ if (!fs.existsSync(docxPath)) {
272
+ return { success: false, equations: [], error: `File not found: ${docxPath}` };
273
+ }
274
+ // Method 1: Use Pandoc to convert docx to markdown with LaTeX math
275
+ try {
276
+ const { stdout } = await execAsync(`pandoc "${docxPath}" -t markdown --wrap=none`, { maxBuffer: 50 * 1024 * 1024 });
277
+ // Extract equations from the markdown output
278
+ const equations = extractEquations(stdout, path.basename(docxPath));
279
+ return {
280
+ success: true,
281
+ equations: equations.map((eq, i) => ({
282
+ type: eq.type,
283
+ latex: eq.content,
284
+ position: i,
285
+ line: eq.line,
286
+ })),
287
+ };
288
+ }
289
+ catch (err) {
290
+ // Pandoc failed, try fallback method
291
+ return extractEquationsFromWordDirect(docxPath);
292
+ }
293
+ }
294
+ /**
295
+ * Direct OMML extraction from Word document (fallback if Pandoc fails)
296
+ * Parses document.xml for <m:oMath> elements and attempts conversion
297
+ */
298
+ async function extractEquationsFromWordDirect(docxPath) {
299
+ try {
300
+ const zip = new AdmZip(docxPath);
301
+ const documentEntry = zip.getEntry('word/document.xml');
302
+ if (!documentEntry) {
303
+ return { success: false, equations: [], error: 'Invalid docx: no document.xml' };
304
+ }
305
+ const documentXml = zip.readAsText(documentEntry);
306
+ // Find all OMML equations (<m:oMath> or <m:oMathPara>)
307
+ const ommlPattern = /<m:oMath[^>]*>[\s\S]*?<\/m:oMath>/gi;
308
+ const matches = documentXml.match(ommlPattern) || [];
309
+ if (matches.length === 0) {
310
+ return { success: true, equations: [] };
311
+ }
312
+ // Try to convert OMML to LaTeX via MathML intermediate
313
+ const Converter = await getMathMLConverter();
314
+ const equations = [];
315
+ for (let i = 0; i < matches.length; i++) {
316
+ const omml = matches[i];
317
+ if (!omml)
318
+ continue;
319
+ // Attempt OMML → MathML → LaTeX conversion
320
+ // Note: This is a simplified approach; full OMML→MathML requires XSLT
321
+ try {
322
+ const latex = await ommlToLatex(omml, Converter);
323
+ if (latex) {
324
+ equations.push({
325
+ type: isDisplayMath(omml) ? 'display' : 'inline',
326
+ latex,
327
+ position: i,
328
+ raw: omml.substring(0, 100) + '...',
329
+ });
330
+ }
331
+ }
332
+ catch {
333
+ // Keep raw OMML reference if conversion fails
334
+ equations.push({
335
+ type: 'unknown',
336
+ latex: null,
337
+ position: i,
338
+ raw: omml.substring(0, 100) + '...',
339
+ error: 'Conversion failed',
340
+ });
341
+ }
342
+ }
343
+ return { success: true, equations };
344
+ }
345
+ catch (err) {
346
+ return { success: false, equations: [], error: err.message };
347
+ }
348
+ }
349
+ /**
350
+ * Check if OMML represents display math (equation on its own line)
351
+ */
352
+ function isDisplayMath(omml) {
353
+ return omml.includes('<m:oMathPara') || omml.includes('m:jc');
354
+ }
355
+ /**
356
+ * Convert OMML to LaTeX (simplified approach)
357
+ * For complex equations, Pandoc method is more reliable
358
+ */
359
+ async function ommlToLatex(omml, Converter) {
360
+ if (!Converter)
361
+ return null;
362
+ // Extract key elements from OMML and build approximate MathML
363
+ // This is a simplified conversion - not all OMML features are supported
364
+ try {
365
+ // Build basic MathML from OMML structure
366
+ const mathml = ommlToMathML(omml);
367
+ if (!mathml)
368
+ return null;
369
+ // Convert MathML to LaTeX
370
+ const latex = Converter.convert(mathml);
371
+ return latex;
372
+ }
373
+ catch {
374
+ return null;
375
+ }
376
+ }
377
+ /**
378
+ * Convert OMML to MathML (simplified)
379
+ * Maps common OMML elements to MathML equivalents
380
+ */
381
+ function ommlToMathML(omml) {
382
+ // Remove namespace prefixes for easier parsing
383
+ let xml = omml
384
+ .replace(/<m:/g, '<')
385
+ .replace(/<\/m:/g, '</')
386
+ .replace(/<w:/g, '<w_')
387
+ .replace(/<\/w:/g, '</w_');
388
+ // Map OMML elements to MathML
389
+ const mappings = [
390
+ [/<oMath[^>]*>/gi, '<math xmlns="http://www.w3.org/1998/Math/MathML">'],
391
+ [/<\/oMath>/gi, '</math>'],
392
+ [/<r>/gi, '<mi>'],
393
+ [/<\/r>/gi, '</mi>'],
394
+ [/<t>/gi, ''],
395
+ [/<\/t>/gi, ''],
396
+ [/<f>/gi, '<mfrac>'],
397
+ [/<\/f>/gi, '</mfrac>'],
398
+ [/<num>/gi, '<mrow>'],
399
+ [/<\/num>/gi, '</mrow>'],
400
+ [/<den>/gi, '<mrow>'],
401
+ [/<\/den>/gi, '</mrow>'],
402
+ [/<sup>/gi, '<msup><mrow>'],
403
+ [/<\/sup>/gi, '</mrow></msup>'],
404
+ [/<sub>/gi, '<msub><mrow>'],
405
+ [/<\/sub>/gi, '</mrow></msub>'],
406
+ [/<rad>/gi, '<msqrt>'],
407
+ [/<\/rad>/gi, '</msqrt>'],
408
+ [/<e>/gi, '<mrow>'],
409
+ [/<\/e>/gi, '</mrow>'],
410
+ // Remove elements we don't map
411
+ [/<rPr>[\s\S]*?<\/rPr>/gi, ''],
412
+ [/<ctrlPr>[\s\S]*?<\/ctrlPr>/gi, ''],
413
+ [/<w_[^>]*>[\s\S]*?<\/w_[^>]*>/gi, ''],
414
+ [/<[^>]*\/>/gi, ''], // Self-closing tags
415
+ ];
416
+ for (const [pattern, replacement] of mappings) {
417
+ xml = xml.replace(pattern, replacement);
418
+ }
419
+ // Clean up any remaining unrecognized tags
420
+ xml = xml.replace(/<[a-zA-Z][^>]*>/g, '').replace(/<\/[a-zA-Z]+>/g, '');
421
+ // Wrap in math if not already
422
+ if (!xml.includes('<math')) {
423
+ xml = `<math xmlns="http://www.w3.org/1998/Math/MathML">${xml}</math>`;
424
+ }
425
+ return xml;
426
+ }
427
+ /**
428
+ * Get equation summary from Word document
429
+ */
430
+ export async function getWordEquationStats(docxPath) {
431
+ const result = await extractEquationsFromWord(docxPath);
432
+ if (!result.success) {
433
+ return { count: 0, display: 0, inline: 0, converted: 0, error: result.error };
434
+ }
435
+ const display = result.equations.filter(e => e.type === 'display').length;
436
+ const inline = result.equations.filter(e => e.type === 'inline').length;
437
+ const converted = result.equations.filter(e => e.latex).length;
438
+ return {
439
+ count: result.equations.length,
440
+ display,
441
+ inline,
442
+ converted,
443
+ };
444
+ }
445
+ //# sourceMappingURL=equations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equations.js","sourceRoot":"","sources":["../../lib/equations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Error handling utilities with actionable suggestions
3
+ */
4
+ interface BuildContext {
5
+ bibPath?: string;
6
+ format?: string;
7
+ }
8
+ /**
9
+ * Format an error message with optional suggestions
10
+ * @param message - Main error message
11
+ * @param suggestions - Actionable suggestions
12
+ * @returns Formatted error string
13
+ */
14
+ export declare function formatError(message: string, suggestions?: string[]): string;
15
+ /**
16
+ * Get actionable suggestions for file not found errors
17
+ * @param filePath - The file path that wasn't found
18
+ * @returns Array of suggestions
19
+ */
20
+ export declare function getFileNotFoundSuggestions(filePath: string): string[];
21
+ /**
22
+ * Get actionable suggestions for dependency errors
23
+ * @param dependency - The missing dependency
24
+ * @returns Array of suggestions
25
+ */
26
+ export declare function getDependencySuggestions(dependency: string): string[];
27
+ /**
28
+ * Get actionable suggestions for configuration errors
29
+ * @param field - The problematic config field
30
+ * @param issue - What's wrong with it
31
+ * @returns Array of suggestions
32
+ */
33
+ export declare function getConfigSuggestions(field: string, issue: string): string[];
34
+ /**
35
+ * Get suggestions for comment/annotation errors
36
+ * @param issue - The issue type
37
+ * @returns Array of suggestions
38
+ */
39
+ export declare function getAnnotationSuggestions(issue: string): string[];
40
+ /**
41
+ * Get suggestions for build errors
42
+ * @param issue - The build issue
43
+ * @param context - Additional context
44
+ * @returns Array of suggestions
45
+ */
46
+ export declare function getBuildSuggestions(issue: string, context?: BuildContext): string[];
47
+ /**
48
+ * Print error and exit
49
+ * @param message - Error message
50
+ * @param suggestions - Suggestions
51
+ */
52
+ export declare function exitWithError(message: string, suggestions?: string[]): never;
53
+ /**
54
+ * Validate file exists with helpful error
55
+ * @param filePath - File to check
56
+ * @param fileType - Type description for error message
57
+ */
58
+ export declare function requireFile(filePath: string, fileType?: string): void;
59
+ export {};
60
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../lib/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,MAAM,EAAO,GAAG,MAAM,CAW/E;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAyCrE;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAmDrE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAuC3E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CA+BhE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,EAAE,CAuCvF;AAuDD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,MAAM,EAAO,GAAG,KAAK,CAGhF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAe,GAAG,IAAI,CAO7E"}