@bkm016/basalt 0.1.7 → 0.1.9

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 (290) hide show
  1. package/README.md +1 -1
  2. package/{chunk-0039s4jt.js → chunk-02d3x4mj.js} +3 -3
  3. package/{chunk-sjjtxpg2.js → chunk-0xd9mnc2.js} +394 -341
  4. package/{chunk-npez1492.js → chunk-13gvs0ax.js} +2 -2
  5. package/{chunk-n981vx1t.js → chunk-1n7dat03.js} +6 -6
  6. package/{chunk-6ptv4g5e.js → chunk-1zj3zvw5.js} +3 -3
  7. package/{chunk-zxkq9m8e.js → chunk-29qrxygd.js} +2 -2
  8. package/{chunk-y8dkfpmj.js → chunk-30rjf7my.js} +4 -4
  9. package/{chunk-39vwrg8n.js → chunk-38g3gctw.js} +2 -2
  10. package/{chunk-benrzwea.js → chunk-4dw43syb.js} +1 -1
  11. package/{chunk-w67dvqtb.js → chunk-4gtgqcct.js} +2 -2
  12. package/chunk-66h5qpc6.js +479 -0
  13. package/{chunk-8wj32837.js → chunk-755sy11p.js} +1 -1
  14. package/chunk-7zkswxvk.js +2 -0
  15. package/{chunk-ebpyvs1d.js → chunk-82v8jh1h.js} +2 -2
  16. package/chunk-95964592.js +25 -0
  17. package/{chunk-gv7wqkey.js → chunk-9as0p561.js} +2 -2
  18. package/{chunk-fx7f4m3c.js → chunk-a1352w87.js} +1 -1
  19. package/{chunk-8wv5t0w6.js → chunk-a1rb1a48.js} +6 -6
  20. package/{chunk-bdy4jksd.js → chunk-a98wma9j.js} +1 -1
  21. package/{chunk-peja51xv.js → chunk-asyr3gnq.js} +2 -2
  22. package/{chunk-7hr6zw2m.js → chunk-ax04trym.js} +1 -1
  23. package/chunk-b2bxqeb4.js +2 -0
  24. package/{chunk-6kdgk70p.js → chunk-bdjr0kfr.js} +4 -4
  25. package/{chunk-dnx91jrd.js → chunk-bk4rpnm8.js} +2 -2
  26. package/{chunk-8x21n7y9.js → chunk-c0zfefq8.js} +1 -1
  27. package/{chunk-pg5nkf1y.js → chunk-c6q04xrd.js} +2 -2
  28. package/chunk-c71173py.js +25 -0
  29. package/{chunk-c7rcw9fb.js → chunk-cmwdjes8.js} +5 -5
  30. package/{chunk-j7yvh0ae.js → chunk-d0a1jxk5.js} +1 -1
  31. package/{chunk-0javrjcm.js → chunk-d5j74pcp.js} +22 -22
  32. package/{chunk-ca982n62.js → chunk-dfh9m9n7.js} +1 -1
  33. package/{chunk-s6dejhfj.js → chunk-dq01v5eq.js} +1 -1
  34. package/{chunk-ecf896fz.js → chunk-e1x629v0.js} +2 -2
  35. package/{chunk-053vb71h.js → chunk-en218k4y.js} +1 -1
  36. package/{chunk-ey15ye2h.js → chunk-fgwda4m0.js} +1 -1
  37. package/chunk-gbjn6d81.js +2 -0
  38. package/{chunk-n85qs7cs.js → chunk-gkf5jwvj.js} +1 -1
  39. package/{chunk-d48bfd2e.js → chunk-h1kb8b49.js} +2 -2
  40. package/{chunk-whj87h4r.js → chunk-hb4f2v34.js} +3 -3
  41. package/{chunk-10p3mb40.js → chunk-hbnmymaq.js} +1 -1
  42. package/{chunk-818nd6s1.js → chunk-jj4hqbrx.js} +2 -2
  43. package/{chunk-r8vvcp6c.js → chunk-jn5pqy5v.js} +1 -1
  44. package/{chunk-f544p9rh.js → chunk-jtsve11b.js} +10 -10
  45. package/chunk-m1eam0s5.js +2 -0
  46. package/{chunk-g0t9c3gv.js → chunk-mbpb5c7w.js} +1 -1
  47. package/{chunk-prgm07j4.js → chunk-msm9hmk9.js} +2 -2
  48. package/{chunk-dpz4hwqb.js → chunk-n0ybj4h9.js} +2 -2
  49. package/{chunk-z02sj1je.js → chunk-n2jcx65v.js} +2 -2
  50. package/{chunk-x4874m8e.js → chunk-nrsd810j.js} +2 -2
  51. package/chunk-pnspvnyd.js +2 -0
  52. package/chunk-pz2afna8.js +2 -0
  53. package/{chunk-f156y565.js → chunk-q9f4xb0w.js} +3 -3
  54. package/{chunk-arcqjt91.js → chunk-qaeyhe65.js} +1 -1
  55. package/chunk-qnkrrwmg.js +2 -0
  56. package/{chunk-063vbmtp.js → chunk-r4ttdkrz.js} +2 -2
  57. package/{chunk-r9aatvwm.js → chunk-stj493dn.js} +2 -2
  58. package/{chunk-q9dd6fhj.js → chunk-tevejprz.js} +4 -4
  59. package/{chunk-75434aay.js → chunk-v3ee9z3f.js} +1 -1
  60. package/chunk-vtqr7dm8.js +3 -0
  61. package/chunk-xh444pfn.js +16 -0
  62. package/{chunk-y69ewdn2.js → chunk-ypqjfv3a.js} +2 -2
  63. package/{chunk-d6p2hgxh.js → chunk-zc9ar0r4.js} +1 -1
  64. package/{chunk-s7skpgm2.js → chunk-zyyzk5ha.js} +1 -1
  65. package/compiled.js +9 -9
  66. package/package.json +1 -1
  67. package/ui-test-worker.js +19 -19
  68. package/web/chunk-08sq3cwm.js +1 -0
  69. package/web/chunk-0pghpg4y.js +2 -0
  70. package/web/{chunk-z1geewdf.js → chunk-0zwc2rvh.js} +2 -2
  71. package/web/chunk-12qf1r6m.js +1 -0
  72. package/web/chunk-24fjnnee.js +1 -0
  73. package/web/chunk-24jhbz82.js +24 -0
  74. package/web/{chunk-5wbnjjhg.js → chunk-2dvbeqt0.js} +1 -1
  75. package/web/chunk-2hrswh3d.js +2 -0
  76. package/web/chunk-2j2atyjw.js +1 -0
  77. package/web/{chunk-n754s8xd.js → chunk-2x4g9t37.js} +8 -8
  78. package/web/{chunk-tfn0rqg9.js → chunk-3ak5dg10.js} +25 -25
  79. package/web/chunk-3ecrkvr3.js +106 -0
  80. package/web/chunk-3h3g3ca3.js +1 -0
  81. package/web/chunk-3hr3ew9w.js +1 -0
  82. package/web/chunk-3pcrxg6m.js +1 -0
  83. package/web/{chunk-xckxtfp8.js → chunk-3pd0qt83.js} +72 -72
  84. package/web/chunk-3txxt0a7.js +1 -0
  85. package/web/chunk-43g4wd7a.js +1 -0
  86. package/web/chunk-4a6gdrbs.js +1 -0
  87. package/web/{chunk-twdy2f67.js → chunk-5a4mj3qz.js} +1 -1
  88. package/web/{chunk-q97hn4j5.js → chunk-5baeh8q7.js} +38 -38
  89. package/web/{chunk-4fm55fgb.js → chunk-5dr4tkem.js} +7 -7
  90. package/web/{chunk-wqsczy57.js → chunk-5jdrev9p.js} +9 -9
  91. package/web/{chunk-dg3p8db5.js → chunk-5v2c0aqk.js} +1 -1
  92. package/web/chunk-5z2n4z9x.css +1 -0
  93. package/web/{chunk-pjz30xcp.js → chunk-601k823s.js} +23 -23
  94. package/web/{chunk-2cem4sv7.js → chunk-60axh4sa.js} +25 -25
  95. package/web/chunk-66wb0p6e.js +62 -0
  96. package/web/{chunk-qcge7d6s.js → chunk-6e87m0nm.js} +2 -2
  97. package/web/chunk-6y55gk1n.js +1 -0
  98. package/web/chunk-79e08rk1.js +2 -0
  99. package/web/chunk-7qkav30b.js +2 -0
  100. package/web/chunk-7qq1ypvj.js +1 -0
  101. package/web/{chunk-h6k1x096.js → chunk-7tkgbbf9.js} +2 -2
  102. package/web/chunk-814kkkmq.js +8 -0
  103. package/web/chunk-8jcvdd5d.js +2 -0
  104. package/web/{chunk-gksf7cek.js → chunk-8w7fyb3v.js} +7 -7
  105. package/web/chunk-8w8atrdh.js +1 -0
  106. package/web/{chunk-czjk218p.js → chunk-8z0r0wtk.js} +62 -62
  107. package/web/chunk-935mjq1c.js +39 -0
  108. package/web/chunk-942g3eqn.js +1 -0
  109. package/web/{chunk-ht4mx2dt.js → chunk-98y92vmh.js} +9 -9
  110. package/web/chunk-9ctg0f30.js +3 -0
  111. package/web/chunk-9fnr00kv.js +4 -0
  112. package/web/{chunk-5nda24gv.js → chunk-9yfftz38.js} +1 -1
  113. package/web/chunk-a0ryzdnp.js +7 -0
  114. package/web/chunk-a61zrp66.js +1 -0
  115. package/web/{chunk-nfvqjzz5.js → chunk-af9evdza.js} +1 -1
  116. package/web/chunk-arnzrqnm.js +1 -0
  117. package/web/chunk-avxk6jpc.js +2 -0
  118. package/web/{chunk-c01176kn.js → chunk-awkdw9rw.js} +2 -2
  119. package/web/{chunk-sy7e4dmq.js → chunk-b5h52neg.js} +1 -1
  120. package/web/chunk-bwy3e58v.js +1 -0
  121. package/web/{chunk-ja7w629n.js → chunk-c57f714b.js} +2 -2
  122. package/web/chunk-c6yacwbc.js +30 -0
  123. package/web/chunk-ctzkqx2g.js +169 -0
  124. package/web/chunk-db3twjvk.js +21 -0
  125. package/web/{chunk-femhej5w.js → chunk-ddyyc20r.js} +57 -57
  126. package/web/chunk-dnv8dx72.js +1 -0
  127. package/web/chunk-dwjmr0zj.js +2 -0
  128. package/web/chunk-dz7g1gnv.js +2 -0
  129. package/web/chunk-eadfxfkw.js +1 -0
  130. package/web/{chunk-d9wdsjkk.js → chunk-eqndhs21.js} +2 -2
  131. package/web/chunk-ewx42c11.js +55 -0
  132. package/web/chunk-f7jpakwh.js +1 -0
  133. package/web/{chunk-4sve9xrj.js → chunk-ff1pmd3g.js} +1 -1
  134. package/web/chunk-fjb3ksfd.js +78 -0
  135. package/web/chunk-fpb2dd2d.js +2 -0
  136. package/web/{chunk-fv6vm14n.js → chunk-frnh4zqf.js} +2 -2
  137. package/web/chunk-gn8kyz76.js +7 -0
  138. package/web/chunk-gv99c8zv.js +1 -0
  139. package/web/chunk-h0767tjv.js +1 -0
  140. package/web/chunk-hqynf99g.js +1 -0
  141. package/web/{chunk-jam45rqg.js → chunk-jccz14ye.js} +2 -2
  142. package/web/chunk-kcjz03h5.js +2 -0
  143. package/web/chunk-ket6g0yd.js +1 -0
  144. package/web/chunk-m9q5nr8f.js +1 -0
  145. package/web/chunk-mbwwj216.js +1 -0
  146. package/web/chunk-mdfksj61.js +1 -0
  147. package/web/chunk-me7dza1c.js +1 -0
  148. package/web/{chunk-gyp6v7jd.js → chunk-myd6sc76.js} +2 -2
  149. package/web/{chunk-sf101c23.js → chunk-mykrm8ba.js} +2 -2
  150. package/web/chunk-mzzaet63.js +1 -0
  151. package/web/chunk-n0wazxgz.js +1 -0
  152. package/web/chunk-nnyc889n.js +292 -0
  153. package/web/{chunk-e8yj05t1.js → chunk-nvpp0ghj.js} +6 -6
  154. package/web/chunk-nvt9tkt4.js +1139 -0
  155. package/web/{chunk-sn3tkwme.js → chunk-p9hfcamx.js} +37 -37
  156. package/web/chunk-ph1dgffm.js +1 -0
  157. package/web/chunk-q34as3v6.js +1 -0
  158. package/web/{chunk-sd3cdqcm.js → chunk-qh62nkem.js} +2 -2
  159. package/web/{chunk-j1bw5v1g.js → chunk-qq6m2my8.js} +2 -2
  160. package/web/{chunk-tmndcktk.js → chunk-qsqtwf34.js} +15 -15
  161. package/web/chunk-qz6r9v1z.js +1 -0
  162. package/web/chunk-rad2s9ha.js +1 -0
  163. package/web/{chunk-y99ed8rd.js → chunk-rasjtvsb.js} +16 -16
  164. package/web/chunk-rayf24gy.js +370 -0
  165. package/web/chunk-rrpn5r5w.js +2 -0
  166. package/web/chunk-s37beysw.js +1 -0
  167. package/web/chunk-s60s09mb.js +1 -0
  168. package/web/chunk-sk1wkgjw.js +4 -0
  169. package/web/chunk-spbs56wz.js +34 -0
  170. package/web/chunk-t893141g.js +2 -0
  171. package/web/chunk-tftc5v89.js +24 -0
  172. package/web/chunk-tfvcs2xx.js +1 -0
  173. package/web/chunk-tj1fn8v2.js +1 -0
  174. package/web/chunk-ts6jsfdk.js +41 -0
  175. package/web/chunk-v1exk5wd.js +324 -0
  176. package/web/chunk-veam6vk4.js +303 -0
  177. package/web/chunk-vqmj6peg.js +1 -0
  178. package/web/{chunk-t6sq85s6.js → chunk-vsjpnwsr.js} +2 -2
  179. package/web/{chunk-0whceqes.js → chunk-vvvd3grf.js} +2 -2
  180. package/web/{chunk-svh4n157.js → chunk-w3w18stt.js} +5 -5
  181. package/web/chunk-wdq2tp9e.js +1 -0
  182. package/web/chunk-wkf5xfyr.js +1 -0
  183. package/web/{chunk-4q7wf0wd.js → chunk-wzd2a4k5.js} +9 -9
  184. package/web/chunk-xa43ndfj.js +2 -0
  185. package/web/chunk-xh4xn1az.js +1 -0
  186. package/web/chunk-xx11yv61.js +89 -0
  187. package/web/chunk-xzwxcxb4.js +1 -0
  188. package/web/chunk-y1qty77a.js +1 -0
  189. package/web/{chunk-da7m1kva.js → chunk-y2rzeb4v.js} +2 -2
  190. package/web/chunk-ys2tns0p.js +1 -0
  191. package/web/chunk-z05x9cbm.js +1 -0
  192. package/web/chunk-zb2bkr7f.js +2 -0
  193. package/web/{chunk-aangfjqc.js → chunk-zdyys4ar.js} +38 -38
  194. package/web/chunk-zgavhnt8.js +1 -0
  195. package/web/index.html +1 -1
  196. package/worker.js +1 -1
  197. package/chunk-654cny9a.js +0 -480
  198. package/chunk-8gw5bvh3.js +0 -25
  199. package/chunk-8saewt61.js +0 -3
  200. package/chunk-a0c989ky.js +0 -2
  201. package/chunk-a5apjjcn.js +0 -16
  202. package/chunk-a81p46j7.js +0 -2
  203. package/chunk-agsfy9w7.js +0 -2
  204. package/chunk-d20p02ny.js +0 -2
  205. package/chunk-ejsneb6f.js +0 -2
  206. package/chunk-fmq3zwzk.js +0 -2
  207. package/chunk-rfb85nj7.js +0 -2
  208. package/chunk-rfdt992v.js +0 -25
  209. package/web/chunk-079091ar.js +0 -39
  210. package/web/chunk-083r4f80.js +0 -1
  211. package/web/chunk-0cng7r2x.js +0 -2
  212. package/web/chunk-0k0ande6.js +0 -1
  213. package/web/chunk-14deqqhr.js +0 -2
  214. package/web/chunk-1s53190z.js +0 -303
  215. package/web/chunk-2b63adsj.js +0 -89
  216. package/web/chunk-3baypnwn.js +0 -4
  217. package/web/chunk-4067nwjp.js +0 -19
  218. package/web/chunk-4vjnrz87.js +0 -34
  219. package/web/chunk-59678wmg.js +0 -1
  220. package/web/chunk-5k8sv4f5.js +0 -1
  221. package/web/chunk-5vjhvw1m.js +0 -2
  222. package/web/chunk-6bwgdvf6.js +0 -1
  223. package/web/chunk-6ft5pz3c.js +0 -1
  224. package/web/chunk-7c8rwqtx.js +0 -1
  225. package/web/chunk-7qzz025k.js +0 -1
  226. package/web/chunk-7xbaqqd7.css +0 -1
  227. package/web/chunk-80eyv2mk.js +0 -1
  228. package/web/chunk-89paytbk.js +0 -4
  229. package/web/chunk-8ceej2g7.js +0 -1
  230. package/web/chunk-8nyhy122.js +0 -1
  231. package/web/chunk-8r0s8tx7.js +0 -1
  232. package/web/chunk-989jq2h8.js +0 -2
  233. package/web/chunk-9w5tf22s.js +0 -1
  234. package/web/chunk-ahztazsg.js +0 -1
  235. package/web/chunk-bdydzbqk.js +0 -324
  236. package/web/chunk-c3nn0vvc.js +0 -1
  237. package/web/chunk-cpwtt6ny.js +0 -1
  238. package/web/chunk-d22wq71s.js +0 -1
  239. package/web/chunk-dsw5t58p.js +0 -1
  240. package/web/chunk-dv72fat3.js +0 -1
  241. package/web/chunk-dvvs1jjq.js +0 -3
  242. package/web/chunk-e131rg6p.js +0 -2
  243. package/web/chunk-ekw54h1q.js +0 -1
  244. package/web/chunk-geh05ghh.js +0 -55
  245. package/web/chunk-hwsvhst3.js +0 -1
  246. package/web/chunk-jfvxxp5c.js +0 -1
  247. package/web/chunk-k02b36g1.js +0 -62
  248. package/web/chunk-kjacapzd.js +0 -7
  249. package/web/chunk-kkfrs7d1.js +0 -41
  250. package/web/chunk-kkyn8yhj.js +0 -106
  251. package/web/chunk-mh4rx5cf.js +0 -1
  252. package/web/chunk-mz9b5bsa.js +0 -1
  253. package/web/chunk-n448vaba.js +0 -1
  254. package/web/chunk-n8j88qxy.js +0 -1
  255. package/web/chunk-nmpbsvwb.js +0 -2
  256. package/web/chunk-nws1s56b.js +0 -1
  257. package/web/chunk-p7126wwy.js +0 -7
  258. package/web/chunk-phnqnhj9.js +0 -1
  259. package/web/chunk-q3jevm51.js +0 -292
  260. package/web/chunk-qg31p6cn.js +0 -1
  261. package/web/chunk-qhm3cfq9.js +0 -1
  262. package/web/chunk-qsd595b9.js +0 -1
  263. package/web/chunk-r7frwjqx.js +0 -2
  264. package/web/chunk-rddft5ce.js +0 -1139
  265. package/web/chunk-rgbdf2m9.js +0 -370
  266. package/web/chunk-rsbkbg6x.js +0 -78
  267. package/web/chunk-s2bs5vxh.js +0 -2
  268. package/web/chunk-sgwccs54.js +0 -1
  269. package/web/chunk-sjh8gtm9.js +0 -30
  270. package/web/chunk-t3658ehb.js +0 -2
  271. package/web/chunk-t81p4wqc.js +0 -24
  272. package/web/chunk-tewmsd7t.js +0 -1
  273. package/web/chunk-tf57s7ry.js +0 -1
  274. package/web/chunk-thbqwq6b.js +0 -1
  275. package/web/chunk-tqr80b5w.js +0 -2
  276. package/web/chunk-tz4twwmw.js +0 -2
  277. package/web/chunk-v282r683.js +0 -24
  278. package/web/chunk-v4vjjtn7.js +0 -1
  279. package/web/chunk-vbwdwcdp.js +0 -1
  280. package/web/chunk-vjngfh0q.js +0 -1
  281. package/web/chunk-vnt34mkb.js +0 -1
  282. package/web/chunk-wbgkwxrc.js +0 -1
  283. package/web/chunk-wjbk50hn.js +0 -2
  284. package/web/chunk-wjy848e2.js +0 -1
  285. package/web/chunk-wvfmmw1v.js +0 -8
  286. package/web/chunk-x1jm4zsg.js +0 -1
  287. package/web/chunk-xbpc6x9m.js +0 -169
  288. package/web/chunk-xce8n339.js +0 -1
  289. package/web/chunk-xmsb2g71.js +0 -1
  290. package/web/chunk-xtss82z2.js +0 -1
@@ -1,84 +1,84 @@
1
- import{e,Qt,a,b,C,S,E,T,A,R,L,l,M,ue,oe,se,gt,ge,ye}from"./chunk-1s53190z.js";import{he}from"./chunk-r7frwjqx.js";import{le}from"./chunk-989jq2h8.js";var He=function(){var t=e(function(X,n,o,h){for(o=o||{},h=X.length;h--;o[X[h]]=n);return o},"o"),d=[1,3],f=[1,4],m=[1,5],r=[1,6],u=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],N=[1,22],x=[2,7],k=[1,26],q=[1,27],V=[1,28],F=[1,29],P=[1,33],U=[1,34],Y=[1,35],B=[1,36],Q=[1,37],H=[1,38],K=[1,24],W=[1,31],j=[1,32],G=[1,30],y=[1,39],_=[1,40],g=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],J=[1,61],de=[89,90],Ke=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],xe=[27,29],We=[1,70],je=[1,71],Ge=[1,72],ze=[1,73],Xe=[1,74],Je=[1,75],Ze=[1,76],Ee=[1,83],Z=[1,80],be=[1,84],Re=[1,85],ke=[1,86],_e=[1,87],Se=[1,88],Ie=[1,89],Te=[1,90],Ne=[1,91],qe=[1,92],we=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],ee=[63,64],et=[1,101],tt=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],w=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],te=[1,110],ie=[1,106],re=[1,107],ne=[1,108],ae=[1,109],ce=[1,111],Ce=[1,116],Ae=[1,117],Ve=[1,114],ve=[1,115],$e={trace:e(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:e(function(n,o,h,i,p,s,Le){var c=s.length-1;switch(p){case 4:this.$=s[c].trim(),i.setAccTitle(this.$);break;case 5:case 6:this.$=s[c].trim(),i.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:i.setDirection("TB");break;case 18:i.setDirection("BT");break;case 19:i.setDirection("RL");break;case 20:i.setDirection("LR");break;case 21:i.addRequirement(s[c-3],s[c-4]);break;case 22:i.addRequirement(s[c-5],s[c-6]),i.setClass([s[c-5]],s[c-3]);break;case 23:i.setNewReqId(s[c-2]);break;case 24:i.setNewReqText(s[c-2]);break;case 25:i.setNewReqRisk(s[c-2]);break;case 26:i.setNewReqVerifyMethod(s[c-2]);break;case 29:this.$=i.RequirementType.REQUIREMENT;break;case 30:this.$=i.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=i.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=i.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=i.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=i.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=i.RiskLevel.LOW_RISK;break;case 36:this.$=i.RiskLevel.MED_RISK;break;case 37:this.$=i.RiskLevel.HIGH_RISK;break;case 38:this.$=i.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=i.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=i.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=i.VerifyType.VERIFY_TEST;break;case 42:i.addElement(s[c-3]);break;case 43:i.addElement(s[c-5]),i.setClass([s[c-5]],s[c-3]);break;case 44:i.setNewElementType(s[c-2]);break;case 45:i.setNewElementDocRef(s[c-2]);break;case 48:i.addRelationship(s[c-2],s[c],s[c-4]);break;case 49:i.addRelationship(s[c-2],s[c-4],s[c]);break;case 50:this.$=i.Relationships.CONTAINS;break;case 51:this.$=i.Relationships.COPIES;break;case 52:this.$=i.Relationships.DERIVES;break;case 53:this.$=i.Relationships.SATISFIES;break;case 54:this.$=i.Relationships.VERIFIES;break;case 55:this.$=i.Relationships.REFINES;break;case 56:this.$=i.Relationships.TRACES;break;case 57:this.$=s[c-2],i.defineClass(s[c-1],s[c]);break;case 58:i.setClass(s[c-1],s[c]);break;case 59:i.setClass([s[c-2]],s[c]);break;case 60:case 62:this.$=[s[c]];break;case 61:case 63:this.$=s[c-2].concat([s[c]]);break;case 64:this.$=s[c-2],i.setCssStyle(s[c-1],s[c]);break;case 65:this.$=[s[c]];break;case 66:s[c-2].push(s[c]),this.$=s[c-2];break;case 68:this.$=s[c-1]+s[c];break}},"anonymous"),table:[{3:1,4:2,6:d,9:f,11:m,13:r},{1:[3]},{3:8,4:2,5:[1,7],6:d,9:f,11:m,13:r},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(u,[2,6]),{3:12,4:2,6:d,9:f,11:m,13:r},{1:[2,2]},{4:17,5:N,7:13,8:x,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:k,22:q,23:V,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:y,90:_},t(u,[2,4]),t(u,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:N,7:42,8:x,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:k,22:q,23:V,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:y,90:_},{4:17,5:N,7:43,8:x,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:k,22:q,23:V,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:y,90:_},{4:17,5:N,7:44,8:x,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:k,22:q,23:V,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:y,90:_},{4:17,5:N,7:45,8:x,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:k,22:q,23:V,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:y,90:_},{4:17,5:N,7:46,8:x,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:k,22:q,23:V,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:y,90:_},{4:17,5:N,7:47,8:x,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:k,22:q,23:V,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:y,90:_},{4:17,5:N,7:48,8:x,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:k,22:q,23:V,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:y,90:_},{4:17,5:N,7:49,8:x,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:k,22:q,23:V,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:y,90:_},{4:17,5:N,7:50,8:x,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:k,22:q,23:V,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:y,90:_},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(g,[2,17]),t(g,[2,18]),t(g,[2,19]),t(g,[2,20]),{30:60,33:62,75:J,89:y,90:_},{30:63,33:62,75:J,89:y,90:_},{30:64,33:62,75:J,89:y,90:_},t(de,[2,29]),t(de,[2,30]),t(de,[2,31]),t(de,[2,32]),t(de,[2,33]),t(de,[2,34]),t(Ke,[2,81]),t(Ke,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(xe,[2,79]),t(xe,[2,80]),{27:[1,67],29:[1,68]},t(xe,[2,85]),t(xe,[2,86]),{62:69,65:We,66:je,67:Ge,68:ze,69:Xe,70:Je,71:Ze},{62:77,65:We,66:je,67:Ge,68:ze,69:Xe,70:Je,71:Ze},{30:78,33:62,75:J,89:y,90:_},{73:79,75:Ee,76:Z,78:81,79:82,80:be,81:Re,82:ke,83:_e,84:Se,85:Ie,86:Te,87:Ne,88:qe},t(we,[2,60]),t(we,[2,62]),{73:93,75:Ee,76:Z,78:81,79:82,80:be,81:Re,82:ke,83:_e,84:Se,85:Ie,86:Te,87:Ne,88:qe},{30:94,33:62,75:J,76:Z,89:y,90:_},{5:[1,95]},{30:96,33:62,75:J,89:y,90:_},{5:[1,97]},{30:98,33:62,75:J,89:y,90:_},{63:[1,99]},t(ee,[2,50]),t(ee,[2,51]),t(ee,[2,52]),t(ee,[2,53]),t(ee,[2,54]),t(ee,[2,55]),t(ee,[2,56]),{64:[1,100]},t(g,[2,59],{76:Z}),t(g,[2,64],{76:et}),{33:103,75:[1,102],89:y,90:_},t(tt,[2,65],{79:104,75:Ee,80:be,81:Re,82:ke,83:_e,84:Se,85:Ie,86:Te,87:Ne,88:qe}),t(w,[2,67]),t(w,[2,69]),t(w,[2,70]),t(w,[2,71]),t(w,[2,72]),t(w,[2,73]),t(w,[2,74]),t(w,[2,75]),t(w,[2,76]),t(w,[2,77]),t(w,[2,78]),t(g,[2,57],{76:et}),t(g,[2,58],{76:Z}),{5:te,28:105,31:ie,34:re,36:ne,38:ae,40:ce},{27:[1,112],76:Z},{5:Ce,40:Ae,56:113,57:Ve,59:ve},{27:[1,118],76:Z},{33:119,89:y,90:_},{33:120,89:y,90:_},{75:Ee,78:121,79:82,80:be,81:Re,82:ke,83:_e,84:Se,85:Ie,86:Te,87:Ne,88:qe},t(we,[2,61]),t(we,[2,63]),t(w,[2,68]),t(g,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:te,28:126,31:ie,34:re,36:ne,38:ae,40:ce},t(g,[2,28]),{5:[1,127]},t(g,[2,42]),{32:[1,128]},{32:[1,129]},{5:Ce,40:Ae,56:130,57:Ve,59:ve},t(g,[2,47]),{5:[1,131]},t(g,[2,48]),t(g,[2,49]),t(tt,[2,66],{79:104,75:Ee,80:be,81:Re,82:ke,83:_e,84:Se,85:Ie,86:Te,87:Ne,88:qe}),{33:132,89:y,90:_},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(g,[2,27]),{5:te,28:145,31:ie,34:re,36:ne,38:ae,40:ce},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(g,[2,46]),{5:Ce,40:Ae,56:152,57:Ve,59:ve},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(g,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(g,[2,43]),{5:te,28:159,31:ie,34:re,36:ne,38:ae,40:ce},{5:te,28:160,31:ie,34:re,36:ne,38:ae,40:ce},{5:te,28:161,31:ie,34:re,36:ne,38:ae,40:ce},{5:te,28:162,31:ie,34:re,36:ne,38:ae,40:ce},{5:Ce,40:Ae,56:163,57:Ve,59:ve},{5:Ce,40:Ae,56:164,57:Ve,59:ve},t(g,[2,23]),t(g,[2,24]),t(g,[2,25]),t(g,[2,26]),t(g,[2,44]),t(g,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:e(function(n,o){if(o.recoverable)this.trace(n);else{var h=Error(n);throw h.hash=o,h}},"parseError"),parse:e(function(n){var o=this,h=[0],i=[],p=[null],s=[],Le=this.table,c="",Oe=0,st=0,it=0,ct=2,rt=1,ht=s.slice.call(arguments,1),I=Object.create(this.lexer),me={yy:{}};for(var Pe in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,Pe))me.yy[Pe]=this.yy[Pe];if(I.setInput(n,me.yy),me.yy.lexer=I,me.yy.parser=this,typeof I.yylloc>"u")I.yylloc={};var Ue=I.yylloc;s.push(Ue);var ut=I.options&&I.options.ranges;if(typeof me.yy.parseError==="function")this.parseError=me.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function mt(O){h.length=h.length-2*O,p.length=p.length-O,s.length=s.length-O}e(mt,"popStack");function nt(){var O=i.pop()||I.lex()||rt;if(typeof O!=="number"){if(O instanceof Array)i=O,O=i.pop();O=o.symbols_[O]||O}return O}e(nt,"lex");var v,Ye,fe,D,kt,Be,pe={},Me,z,at,Fe;while(!0){if(fe=h[h.length-1],this.defaultActions[fe])D=this.defaultActions[fe];else{if(v===null||typeof v>"u")v=nt();D=Le[fe]&&Le[fe][v]}if(typeof D>"u"||!D.length||!D[0]){var Qe="";Fe=[];for(Me in Le[fe])if(this.terminals_[Me]&&Me>ct)Fe.push("'"+this.terminals_[Me]+"'");if(I.showPosition)Qe="Parse error on line "+(Oe+1)+`:
2
- `+I.showPosition()+`
3
- Expecting `+Fe.join(", ")+", got '"+(this.terminals_[v]||v)+"'";else Qe="Parse error on line "+(Oe+1)+": Unexpected "+(v==rt?"end of input":"'"+(this.terminals_[v]||v)+"'");this.parseError(Qe,{text:I.match,token:this.terminals_[v]||v,line:I.yylineno,loc:Ue,expected:Fe})}if(D[0]instanceof Array&&D.length>1)throw Error("Parse Error: multiple actions possible at state: "+fe+", token: "+v);switch(D[0]){case 1:if(h.push(v),p.push(I.yytext),s.push(I.yylloc),h.push(D[1]),v=null,!Ye){if(st=I.yyleng,c=I.yytext,Oe=I.yylineno,Ue=I.yylloc,it>0)it--}else v=Ye,Ye=null;break;case 2:if(z=this.productions_[D[1]][1],pe.$=p[p.length-z],pe._$={first_line:s[s.length-(z||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(z||1)].first_column,last_column:s[s.length-1].last_column},ut)pe._$.range=[s[s.length-(z||1)].range[0],s[s.length-1].range[1]];if(Be=this.performAction.apply(pe,[c,st,Oe,me.yy,D[1],p,s].concat(ht)),typeof Be<"u")return Be;if(z)h=h.slice(0,-1*z*2),p=p.slice(0,-1*z),s=s.slice(0,-1*z);h.push(this.productions_[D[1]][0]),p.push(pe.$),s.push(pe._$),at=Le[h[h.length-2]][h[h.length-1]],h.push(at);break;case 3:return!0}}return!0},"parse")},ot=function(){var X={EOF:1,parseError:e(function(o,h){if(this.yy.parser)this.yy.parser.parseError(o,h);else throw Error(o)},"parseError"),setInput:e(function(n,o){if(this.yy=o||this.yy||{},this._input=n,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:e(function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var o=n.match(/(?:\r\n?|\n).*/g);if(o)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),n},"input"),unput:e(function(n){var o=n.length,h=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var i=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1)this.yylineno-=h.length-1;var p=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===i.length?this.yylloc.first_column:0)+i[i.length-h.length].length-h[0].length:this.yylloc.first_column-o},this.options.ranges)this.yylloc.range=[p[0],p[0]+this.yyleng-o];return this.yyleng=this.yytext.length,this},"unput"),more:e(function(){return this._more=!0,this},"more"),reject:e(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
- `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:e(function(n){this.unput(this.match.slice(n))},"less"),pastInput:e(function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:e(function(){var n=this.match;if(n.length<20)n+=this._input.substr(0,20-n.length);return(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:e(function(){var n=this.pastInput(),o=Array(n.length+1).join("-");return n+this.upcomingInput()+`
5
- `+o+"^"},"showPosition"),test_match:e(function(n,o){var h,i,p;if(this.options.backtrack_lexer){if(p={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)p.yylloc.range=this.yylloc.range.slice(0)}if(i=n[0].match(/(?:\r\n?|\n).*/g),i)this.yylineno+=i.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+n[0].length},this.yytext+=n[0],this.match+=n[0],this.matches=n,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(n[0].length),this.matched+=n[0],h=this.performAction.call(this,this.yy,this,o,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(h)return h;else if(this._backtrack){for(var s in p)this[s]=p[s];return!1}return!1},"test_match"),next:e(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var n,o,h,i;if(!this._more)this.yytext="",this.match="";var p=this._currentRules();for(var s=0;s<p.length;s++)if(h=this._input.match(this.rules[p[s]]),h&&(!o||h[0].length>o[0].length)){if(o=h,i=s,this.options.backtrack_lexer)if(n=this.test_match(h,p[s]),n!==!1)return n;else if(this._backtrack){o=!1;continue}else return!1;else if(!this.options.flex)break}if(o){if(n=this.test_match(o,p[i]),n!==!1)return n;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
- `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:e(function(){var o=this.next();if(o)return o;else return this.lex()},"lex"),begin:e(function(o){this.conditionStack.push(o)},"begin"),popState:e(function(){var o=this.conditionStack.length-1;if(o>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:e(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:e(function(o){if(o=this.conditionStack.length-1-Math.abs(o||0),o>=0)return this.conditionStack[o];else return"INITIAL"},"topState"),pushState:e(function(o){this.begin(o)},"pushState"),stateStackSize:e(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:e(function(o,h,i,p){var s=p;switch(i){case 0:return"title";case 1:return this.begin("acc_title"),9;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),11;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;break;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;break;case 60:return this.begin("style"),74;break;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return h.yytext=h.yytext.trim(),89;break;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return X}();$e.lexer=ot;function De(){this.yy={}}return e(De,"Parser"),De.prototype=$e,$e.Parser=De,new De}();He.parser=He;var ft=He,dt=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=S,this.getAccTitle=E,this.setAccDescription=T,this.getAccDescription=A,this.setDiagramTitle=R,this.getDiagramTitle=L,this.getConfig=e(()=>l().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{e(this,"RequirementDB")}getDirection(){return this.direction}setDirection(t){this.direction=t}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(t,d){if(!this.requirements.has(t))this.requirements.set(t,{name:t,type:d,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]});return this.resetLatestRequirement(),this.requirements.get(t)}getRequirements(){return this.requirements}setNewReqId(t){if(this.latestRequirement!==void 0)this.latestRequirement.requirementId=t}setNewReqText(t){if(this.latestRequirement!==void 0)this.latestRequirement.text=t}setNewReqRisk(t){if(this.latestRequirement!==void 0)this.latestRequirement.risk=t}setNewReqVerifyMethod(t){if(this.latestRequirement!==void 0)this.latestRequirement.verifyMethod=t}addElement(t){if(!this.elements.has(t))this.elements.set(t,{name:t,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),a.info("Added new element: ",t);return this.resetLatestElement(),this.elements.get(t)}getElements(){return this.elements}setNewElementType(t){if(this.latestElement!==void 0)this.latestElement.type=t}setNewElementDocRef(t){if(this.latestElement!==void 0)this.latestElement.docRef=t}addRelationship(t,d,f){this.relations.push({type:t,src:d,dst:f})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,C()}setCssStyle(t,d){for(let f of t){let m=this.requirements.get(f)??this.elements.get(f);if(!d||!m)return;for(let r of d)if(r.includes(","))m.cssStyles.push(...r.split(","));else m.cssStyles.push(r)}}setClass(t,d){for(let f of t){let m=this.requirements.get(f)??this.elements.get(f);if(m)for(let r of d){m.classes.push(r);let u=this.classes.get(r)?.styles;if(u)m.cssStyles.push(...u)}}}defineClass(t,d){for(let f of t){let m=this.classes.get(f);if(m===void 0)m={id:f,styles:[],textStyles:[]},this.classes.set(f,m);if(d)d.forEach(function(r){if(/color/.exec(r)){let u=r.replace("fill","bgFill");m.textStyles.push(u)}m.styles.push(r)});this.requirements.forEach((r)=>{if(r.classes.includes(f))r.cssStyles.push(...d.flatMap((u)=>u.split(",")))}),this.elements.forEach((r)=>{if(r.classes.includes(f))r.cssStyles.push(...d.flatMap((u)=>u.split(",")))})}}getClasses(){return this.classes}getData(){let t=l(),d=[],f=[];for(let r of this.requirements.values()){let u=r;u.id=r.name,u.cssStyles=r.cssStyles,u.cssClasses=r.classes.join(" "),u.shape="requirementBox",u.look=t.look,u.colorIndex=d.length,d.push(u)}for(let r of this.elements.values()){let u=r;u.shape="requirementBox",u.look=t.look,u.id=r.name,u.cssStyles=r.cssStyles,u.cssClasses=r.classes.join(" "),u.colorIndex=d.length,d.push(u)}let m=0;for(let r of this.relations){let u=r.type===this.Relationships.CONTAINS,N={id:`${r.src}-${r.dst}-${m++}`,start:this.requirements.get(r.src)?.name??this.elements.get(r.src)?.name,end:this.requirements.get(r.dst)?.name??this.elements.get(r.dst)?.name,label:`&lt;&lt;${r.type}&gt;&gt;`,classes:"relationshipLine",style:["fill:none",u?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:u?"normal":"dashed",arrowTypeStart:u?"requirement_contains":"",arrowTypeEnd:u?"":"requirement_arrow",look:t.look,labelType:"markdown"};f.push(N)}return{nodes:d,edges:f,other:{},config:t,direction:this.getDirection()}}},pt=e(()=>{let t=b(),{theme:d,themeVariables:f}=t,{bkgColorArray:m,borderColorArray:r}=f;if(!oe(d,r))return"";let u=se(t.look),N="",x=ue(m);for(let k=0;k<gt(r);k++){let q=r[k],V=x?`fill: ${m[k%m.length]};`:"";N+=`
1
+ import{t,Kt,a,x,C,S,E,T,A,L,R,l,M,pe,se,le,gt,ge,ye}from"./chunk-veam6vk4.js";import{he}from"./chunk-rrpn5r5w.js";import{ue}from"./chunk-7qkav30b.js";var He=function(){var e=t(function(X,n,o,h){for(o=o||{},h=X.length;h--;o[X[h]]=n);return o},"o"),d=[1,3],f=[1,4],m=[1,5],r=[1,6],u=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],I=[1,22],v=[2,7],b=[1,26],N=[1,27],q=[1,28],F=[1,29],P=[1,33],U=[1,34],Y=[1,35],B=[1,36],Q=[1,37],H=[1,38],K=[1,24],W=[1,31],j=[1,32],G=[1,30],g=[1,39],y=[1,40],k=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],J=[1,61],fe=[89,90],Ke=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],xe=[27,29],We=[1,70],je=[1,71],Ge=[1,72],ze=[1,73],Xe=[1,74],Je=[1,75],Ze=[1,76],Ee=[1,83],Z=[1,80],be=[1,84],Re=[1,85],ke=[1,86],_e=[1,87],Se=[1,88],Ie=[1,89],Te=[1,90],Ne=[1,91],qe=[1,92],we=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],ee=[63,64],et=[1,101],tt=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],w=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],te=[1,110],ie=[1,106],re=[1,107],ne=[1,108],ae=[1,109],oe=[1,111],Ce=[1,116],Ae=[1,117],Ve=[1,114],ve=[1,115],$e={trace:t(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:t(function(n,o,h,i,p,s,Le){var c=s.length-1;switch(p){case 4:this.$=s[c].trim(),i.setAccTitle(this.$);break;case 5:case 6:this.$=s[c].trim(),i.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:i.setDirection("TB");break;case 18:i.setDirection("BT");break;case 19:i.setDirection("RL");break;case 20:i.setDirection("LR");break;case 21:i.addRequirement(s[c-3],s[c-4]);break;case 22:i.addRequirement(s[c-5],s[c-6]),i.setClass([s[c-5]],s[c-3]);break;case 23:i.setNewReqId(s[c-2]);break;case 24:i.setNewReqText(s[c-2]);break;case 25:i.setNewReqRisk(s[c-2]);break;case 26:i.setNewReqVerifyMethod(s[c-2]);break;case 29:this.$=i.RequirementType.REQUIREMENT;break;case 30:this.$=i.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=i.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=i.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=i.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=i.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=i.RiskLevel.LOW_RISK;break;case 36:this.$=i.RiskLevel.MED_RISK;break;case 37:this.$=i.RiskLevel.HIGH_RISK;break;case 38:this.$=i.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=i.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=i.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=i.VerifyType.VERIFY_TEST;break;case 42:i.addElement(s[c-3]);break;case 43:i.addElement(s[c-5]),i.setClass([s[c-5]],s[c-3]);break;case 44:i.setNewElementType(s[c-2]);break;case 45:i.setNewElementDocRef(s[c-2]);break;case 48:i.addRelationship(s[c-2],s[c],s[c-4]);break;case 49:i.addRelationship(s[c-2],s[c-4],s[c]);break;case 50:this.$=i.Relationships.CONTAINS;break;case 51:this.$=i.Relationships.COPIES;break;case 52:this.$=i.Relationships.DERIVES;break;case 53:this.$=i.Relationships.SATISFIES;break;case 54:this.$=i.Relationships.VERIFIES;break;case 55:this.$=i.Relationships.REFINES;break;case 56:this.$=i.Relationships.TRACES;break;case 57:this.$=s[c-2],i.defineClass(s[c-1],s[c]);break;case 58:i.setClass(s[c-1],s[c]);break;case 59:i.setClass([s[c-2]],s[c]);break;case 60:case 62:this.$=[s[c]];break;case 61:case 63:this.$=s[c-2].concat([s[c]]);break;case 64:this.$=s[c-2],i.setCssStyle(s[c-1],s[c]);break;case 65:this.$=[s[c]];break;case 66:s[c-2].push(s[c]),this.$=s[c-2];break;case 68:this.$=s[c-1]+s[c];break}},"anonymous"),table:[{3:1,4:2,6:d,9:f,11:m,13:r},{1:[3]},{3:8,4:2,5:[1,7],6:d,9:f,11:m,13:r},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(u,[2,6]),{3:12,4:2,6:d,9:f,11:m,13:r},{1:[2,2]},{4:17,5:I,7:13,8:v,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:b,22:N,23:q,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:g,90:y},e(u,[2,4]),e(u,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:I,7:42,8:v,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:b,22:N,23:q,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:g,90:y},{4:17,5:I,7:43,8:v,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:b,22:N,23:q,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:g,90:y},{4:17,5:I,7:44,8:v,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:b,22:N,23:q,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:g,90:y},{4:17,5:I,7:45,8:v,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:b,22:N,23:q,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:g,90:y},{4:17,5:I,7:46,8:v,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:b,22:N,23:q,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:g,90:y},{4:17,5:I,7:47,8:v,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:b,22:N,23:q,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:g,90:y},{4:17,5:I,7:48,8:v,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:b,22:N,23:q,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:g,90:y},{4:17,5:I,7:49,8:v,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:b,22:N,23:q,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:g,90:y},{4:17,5:I,7:50,8:v,9:f,11:m,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:b,22:N,23:q,24:F,25:23,33:25,41:P,42:U,43:Y,44:B,45:Q,46:H,54:K,72:W,74:j,77:G,89:g,90:y},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},e(k,[2,17]),e(k,[2,18]),e(k,[2,19]),e(k,[2,20]),{30:60,33:62,75:J,89:g,90:y},{30:63,33:62,75:J,89:g,90:y},{30:64,33:62,75:J,89:g,90:y},e(fe,[2,29]),e(fe,[2,30]),e(fe,[2,31]),e(fe,[2,32]),e(fe,[2,33]),e(fe,[2,34]),e(Ke,[2,81]),e(Ke,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},e(xe,[2,79]),e(xe,[2,80]),{27:[1,67],29:[1,68]},e(xe,[2,85]),e(xe,[2,86]),{62:69,65:We,66:je,67:Ge,68:ze,69:Xe,70:Je,71:Ze},{62:77,65:We,66:je,67:Ge,68:ze,69:Xe,70:Je,71:Ze},{30:78,33:62,75:J,89:g,90:y},{73:79,75:Ee,76:Z,78:81,79:82,80:be,81:Re,82:ke,83:_e,84:Se,85:Ie,86:Te,87:Ne,88:qe},e(we,[2,60]),e(we,[2,62]),{73:93,75:Ee,76:Z,78:81,79:82,80:be,81:Re,82:ke,83:_e,84:Se,85:Ie,86:Te,87:Ne,88:qe},{30:94,33:62,75:J,76:Z,89:g,90:y},{5:[1,95]},{30:96,33:62,75:J,89:g,90:y},{5:[1,97]},{30:98,33:62,75:J,89:g,90:y},{63:[1,99]},e(ee,[2,50]),e(ee,[2,51]),e(ee,[2,52]),e(ee,[2,53]),e(ee,[2,54]),e(ee,[2,55]),e(ee,[2,56]),{64:[1,100]},e(k,[2,59],{76:Z}),e(k,[2,64],{76:et}),{33:103,75:[1,102],89:g,90:y},e(tt,[2,65],{79:104,75:Ee,80:be,81:Re,82:ke,83:_e,84:Se,85:Ie,86:Te,87:Ne,88:qe}),e(w,[2,67]),e(w,[2,69]),e(w,[2,70]),e(w,[2,71]),e(w,[2,72]),e(w,[2,73]),e(w,[2,74]),e(w,[2,75]),e(w,[2,76]),e(w,[2,77]),e(w,[2,78]),e(k,[2,57],{76:et}),e(k,[2,58],{76:Z}),{5:te,28:105,31:ie,34:re,36:ne,38:ae,40:oe},{27:[1,112],76:Z},{5:Ce,40:Ae,56:113,57:Ve,59:ve},{27:[1,118],76:Z},{33:119,89:g,90:y},{33:120,89:g,90:y},{75:Ee,78:121,79:82,80:be,81:Re,82:ke,83:_e,84:Se,85:Ie,86:Te,87:Ne,88:qe},e(we,[2,61]),e(we,[2,63]),e(w,[2,68]),e(k,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:te,28:126,31:ie,34:re,36:ne,38:ae,40:oe},e(k,[2,28]),{5:[1,127]},e(k,[2,42]),{32:[1,128]},{32:[1,129]},{5:Ce,40:Ae,56:130,57:Ve,59:ve},e(k,[2,47]),{5:[1,131]},e(k,[2,48]),e(k,[2,49]),e(tt,[2,66],{79:104,75:Ee,80:be,81:Re,82:ke,83:_e,84:Se,85:Ie,86:Te,87:Ne,88:qe}),{33:132,89:g,90:y},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},e(k,[2,27]),{5:te,28:145,31:ie,34:re,36:ne,38:ae,40:oe},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},e(k,[2,46]),{5:Ce,40:Ae,56:152,57:Ve,59:ve},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},e(k,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},e(k,[2,43]),{5:te,28:159,31:ie,34:re,36:ne,38:ae,40:oe},{5:te,28:160,31:ie,34:re,36:ne,38:ae,40:oe},{5:te,28:161,31:ie,34:re,36:ne,38:ae,40:oe},{5:te,28:162,31:ie,34:re,36:ne,38:ae,40:oe},{5:Ce,40:Ae,56:163,57:Ve,59:ve},{5:Ce,40:Ae,56:164,57:Ve,59:ve},e(k,[2,23]),e(k,[2,24]),e(k,[2,25]),e(k,[2,26]),e(k,[2,44]),e(k,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:t(function(n,o){if(o.recoverable)this.trace(n);else{var h=Error(n);throw h.hash=o,h}},"parseError"),parse:t(function(n){var o=this,h=[0],i=[],p=[null],s=[],Le=this.table,c="",Oe=0,st=0,it=0,ct=2,rt=1,ht=s.slice.call(arguments,1),_=Object.create(this.lexer),ce={yy:{}};for(var Pe in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,Pe))ce.yy[Pe]=this.yy[Pe];if(_.setInput(n,ce.yy),ce.yy.lexer=_,ce.yy.parser=this,typeof _.yylloc>"u")_.yylloc={};var Ue=_.yylloc;s.push(Ue);var ut=_.options&&_.options.ranges;if(typeof ce.yy.parseError==="function")this.parseError=ce.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function mt(O){h.length=h.length-2*O,p.length=p.length-O,s.length=s.length-O}t(mt,"popStack");function nt(){var O=i.pop()||_.lex()||rt;if(typeof O!=="number"){if(O instanceof Array)i=O,O=i.pop();O=o.symbols_[O]||O}return O}t(nt,"lex");var V,Ye,me,D,kt,Be,de={},Me,z,at,Fe;while(!0){if(me=h[h.length-1],this.defaultActions[me])D=this.defaultActions[me];else{if(V===null||typeof V>"u")V=nt();D=Le[me]&&Le[me][V]}if(typeof D>"u"||!D.length||!D[0]){var Qe="";Fe=[];for(Me in Le[me])if(this.terminals_[Me]&&Me>ct)Fe.push("'"+this.terminals_[Me]+"'");if(_.showPosition)Qe="Parse error on line "+(Oe+1)+`:
2
+ `+_.showPosition()+`
3
+ Expecting `+Fe.join(", ")+", got '"+(this.terminals_[V]||V)+"'";else Qe="Parse error on line "+(Oe+1)+": Unexpected "+(V==rt?"end of input":"'"+(this.terminals_[V]||V)+"'");this.parseError(Qe,{text:_.match,token:this.terminals_[V]||V,line:_.yylineno,loc:Ue,expected:Fe})}if(D[0]instanceof Array&&D.length>1)throw Error("Parse Error: multiple actions possible at state: "+me+", token: "+V);switch(D[0]){case 1:if(h.push(V),p.push(_.yytext),s.push(_.yylloc),h.push(D[1]),V=null,!Ye){if(st=_.yyleng,c=_.yytext,Oe=_.yylineno,Ue=_.yylloc,it>0)it--}else V=Ye,Ye=null;break;case 2:if(z=this.productions_[D[1]][1],de.$=p[p.length-z],de._$={first_line:s[s.length-(z||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(z||1)].first_column,last_column:s[s.length-1].last_column},ut)de._$.range=[s[s.length-(z||1)].range[0],s[s.length-1].range[1]];if(Be=this.performAction.apply(de,[c,st,Oe,ce.yy,D[1],p,s].concat(ht)),typeof Be<"u")return Be;if(z)h=h.slice(0,-1*z*2),p=p.slice(0,-1*z),s=s.slice(0,-1*z);h.push(this.productions_[D[1]][0]),p.push(de.$),s.push(de._$),at=Le[h[h.length-2]][h[h.length-1]],h.push(at);break;case 3:return!0}}return!0},"parse")},ot=function(){var X={EOF:1,parseError:t(function(o,h){if(this.yy.parser)this.yy.parser.parseError(o,h);else throw Error(o)},"parseError"),setInput:t(function(n,o){if(this.yy=o||this.yy||{},this._input=n,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:t(function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var o=n.match(/(?:\r\n?|\n).*/g);if(o)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),n},"input"),unput:t(function(n){var o=n.length,h=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var i=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1)this.yylineno-=h.length-1;var p=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===i.length?this.yylloc.first_column:0)+i[i.length-h.length].length-h[0].length:this.yylloc.first_column-o},this.options.ranges)this.yylloc.range=[p[0],p[0]+this.yyleng-o];return this.yyleng=this.yytext.length,this},"unput"),more:t(function(){return this._more=!0,this},"more"),reject:t(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:t(function(n){this.unput(this.match.slice(n))},"less"),pastInput:t(function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:t(function(){var n=this.match;if(n.length<20)n+=this._input.substr(0,20-n.length);return(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:t(function(){var n=this.pastInput(),o=Array(n.length+1).join("-");return n+this.upcomingInput()+`
5
+ `+o+"^"},"showPosition"),test_match:t(function(n,o){var h,i,p;if(this.options.backtrack_lexer){if(p={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)p.yylloc.range=this.yylloc.range.slice(0)}if(i=n[0].match(/(?:\r\n?|\n).*/g),i)this.yylineno+=i.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+n[0].length},this.yytext+=n[0],this.match+=n[0],this.matches=n,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(n[0].length),this.matched+=n[0],h=this.performAction.call(this,this.yy,this,o,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(h)return h;else if(this._backtrack){for(var s in p)this[s]=p[s];return!1}return!1},"test_match"),next:t(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var n,o,h,i;if(!this._more)this.yytext="",this.match="";var p=this._currentRules();for(var s=0;s<p.length;s++)if(h=this._input.match(this.rules[p[s]]),h&&(!o||h[0].length>o[0].length)){if(o=h,i=s,this.options.backtrack_lexer)if(n=this.test_match(h,p[s]),n!==!1)return n;else if(this._backtrack){o=!1;continue}else return!1;else if(!this.options.flex)break}if(o){if(n=this.test_match(o,p[i]),n!==!1)return n;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:t(function(){var o=this.next();if(o)return o;else return this.lex()},"lex"),begin:t(function(o){this.conditionStack.push(o)},"begin"),popState:t(function(){var o=this.conditionStack.length-1;if(o>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:t(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:t(function(o){if(o=this.conditionStack.length-1-Math.abs(o||0),o>=0)return this.conditionStack[o];else return"INITIAL"},"topState"),pushState:t(function(o){this.begin(o)},"pushState"),stateStackSize:t(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:t(function(o,h,i,p){var s=p;switch(i){case 0:return"title";case 1:return this.begin("acc_title"),9;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),11;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;break;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;break;case 60:return this.begin("style"),74;break;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return h.yytext=h.yytext.trim(),89;break;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return X}();$e.lexer=ot;function De(){this.yy={}}return t(De,"Parser"),De.prototype=$e,$e.Parser=De,new De}();He.parser=He;var ft=He,dt=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=S,this.getAccTitle=E,this.setAccDescription=T,this.getAccDescription=A,this.setDiagramTitle=L,this.getDiagramTitle=R,this.getConfig=t(()=>l().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{t(this,"RequirementDB")}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,d){if(!this.requirements.has(e))this.requirements.set(e,{name:e,type:d,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]});return this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){if(this.latestRequirement!==void 0)this.latestRequirement.requirementId=e}setNewReqText(e){if(this.latestRequirement!==void 0)this.latestRequirement.text=e}setNewReqRisk(e){if(this.latestRequirement!==void 0)this.latestRequirement.risk=e}setNewReqVerifyMethod(e){if(this.latestRequirement!==void 0)this.latestRequirement.verifyMethod=e}addElement(e){if(!this.elements.has(e))this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),a.info("Added new element: ",e);return this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){if(this.latestElement!==void 0)this.latestElement.type=e}setNewElementDocRef(e){if(this.latestElement!==void 0)this.latestElement.docRef=e}addRelationship(e,d,f){this.relations.push({type:e,src:d,dst:f})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,C()}setCssStyle(e,d){for(let f of e){let m=this.requirements.get(f)??this.elements.get(f);if(!d||!m)return;for(let r of d)if(r.includes(","))m.cssStyles.push(...r.split(","));else m.cssStyles.push(r)}}setClass(e,d){for(let f of e){let m=this.requirements.get(f)??this.elements.get(f);if(m)for(let r of d){m.classes.push(r);let u=this.classes.get(r)?.styles;if(u)m.cssStyles.push(...u)}}}defineClass(e,d){for(let f of e){let m=this.classes.get(f);if(m===void 0)m={id:f,styles:[],textStyles:[]},this.classes.set(f,m);if(d)d.forEach(function(r){if(/color/.exec(r)){let u=r.replace("fill","bgFill");m.textStyles.push(u)}m.styles.push(r)});this.requirements.forEach((r)=>{if(r.classes.includes(f))r.cssStyles.push(...d.flatMap((u)=>u.split(",")))}),this.elements.forEach((r)=>{if(r.classes.includes(f))r.cssStyles.push(...d.flatMap((u)=>u.split(",")))})}}getClasses(){return this.classes}getData(){let e=l(),d=[],f=[];for(let r of this.requirements.values()){let u=r;u.id=r.name,u.cssStyles=r.cssStyles,u.cssClasses=r.classes.join(" "),u.shape="requirementBox",u.look=e.look,u.colorIndex=d.length,d.push(u)}for(let r of this.elements.values()){let u=r;u.shape="requirementBox",u.look=e.look,u.id=r.name,u.cssStyles=r.cssStyles,u.cssClasses=r.classes.join(" "),u.colorIndex=d.length,d.push(u)}let m=0;for(let r of this.relations){let u=r.type===this.Relationships.CONTAINS,I={id:`${r.src}-${r.dst}-${m++}`,start:this.requirements.get(r.src)?.name??this.elements.get(r.src)?.name,end:this.requirements.get(r.dst)?.name??this.elements.get(r.dst)?.name,label:`&lt;&lt;${r.type}&gt;&gt;`,classes:"relationshipLine",style:["fill:none",u?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:u?"normal":"dashed",arrowTypeStart:u?"requirement_contains":"",arrowTypeEnd:u?"":"requirement_arrow",look:e.look,labelType:"markdown"};f.push(I)}return{nodes:d,edges:f,other:{},config:e,direction:this.getDirection()}}},pt=t(()=>{let e=x(),{theme:d,themeVariables:f}=e,{bkgColorArray:m,borderColorArray:r}=f;if(!se(d,r))return"";let u=le(e.look),I="",v=pe(m);for(let b=0;b<gt(r);b++){let N=r[b],q=v?`fill: ${m[b%m.length]};`:"";I+=`
7
7
 
8
- [data-look="${u}"][data-color-id="color-${k}"].node path {
9
- stroke: ${q};
10
- ${V}
8
+ [data-look="${u}"][data-color-id="color-${b}"].node path {
9
+ stroke: ${N};
10
+ ${q}
11
11
  }
12
12
 
13
- [data-look="${u}"][data-color-id="color-${k}"].node rect {
14
- stroke: ${q};
15
- ${V}
13
+ [data-look="${u}"][data-color-id="color-${b}"].node rect {
14
+ stroke: ${N};
15
+ ${q}
16
16
  }
17
- `}return N},"genColor"),Et=e((t)=>{let d=b(),{look:f,themeVariables:m}=d,{requirementEdgeLabelBackground:r}=m;return`
17
+ `}return I},"genColor"),Et=t((e)=>{let d=x(),{look:f,themeVariables:m}=d,{requirementEdgeLabelBackground:r}=m;return`
18
18
  ${pt()}
19
19
  marker {
20
- fill: ${t.relationColor};
21
- stroke: ${t.relationColor};
20
+ fill: ${e.relationColor};
21
+ stroke: ${e.relationColor};
22
22
  }
23
23
 
24
24
  marker.cross {
25
- stroke: ${t.lineColor};
25
+ stroke: ${e.lineColor};
26
26
  }
27
27
 
28
28
  svg {
29
- font-family: ${t.fontFamily};
30
- font-size: ${t.fontSize};
29
+ font-family: ${e.fontFamily};
30
+ font-size: ${e.fontSize};
31
31
  }
32
32
 
33
33
  .reqBox {
34
- fill: ${t.requirementBackground};
34
+ fill: ${e.requirementBackground};
35
35
  fill-opacity: 1.0;
36
- stroke: ${t.requirementBorderColor};
37
- stroke-width: ${t.requirementBorderSize};
36
+ stroke: ${e.requirementBorderColor};
37
+ stroke-width: ${e.requirementBorderSize};
38
38
  }
39
39
 
40
40
  .reqTitle, .reqLabel{
41
- fill: ${t.requirementTextColor};
41
+ fill: ${e.requirementTextColor};
42
42
  }
43
43
  .reqLabelBox {
44
- fill: ${t.relationLabelBackground};
44
+ fill: ${e.relationLabelBackground};
45
45
  fill-opacity: 1.0;
46
46
  }
47
47
 
48
48
  .req-title-line {
49
- stroke: ${t.requirementBorderColor};
50
- stroke-width: ${t.requirementBorderSize};
49
+ stroke: ${e.requirementBorderColor};
50
+ stroke-width: ${e.requirementBorderSize};
51
51
  }
52
52
  .relationshipLine {
53
- stroke: ${t.relationColor};
54
- stroke-width: ${f==="neo"?t.strokeWidth:"1px"};
53
+ stroke: ${e.relationColor};
54
+ stroke-width: ${f==="neo"?e.strokeWidth:"1px"};
55
55
  }
56
56
  .relationshipLabel {
57
- fill: ${t.relationLabelColor};
57
+ fill: ${e.relationLabelColor};
58
58
  }
59
59
  .edgeLabel {
60
- background-color: ${t.edgeLabelBackground};
60
+ background-color: ${e.edgeLabelBackground};
61
61
  }
62
62
  .edgeLabel .label rect {
63
- fill: ${t.edgeLabelBackground};
63
+ fill: ${e.edgeLabelBackground};
64
64
  }
65
65
  .edgeLabel .label text {
66
- fill: ${t.relationLabelColor};
66
+ fill: ${e.relationLabelColor};
67
67
  }
68
68
  .divider {
69
- stroke: ${t.nodeBorder};
69
+ stroke: ${e.nodeBorder};
70
70
  stroke-width: 1;
71
71
  }
72
72
  .label {
73
- font-family: ${t.fontFamily};
74
- color: ${t.nodeTextColor||t.textColor};
73
+ font-family: ${e.fontFamily};
74
+ color: ${e.nodeTextColor||e.textColor};
75
75
  }
76
76
  .label text,span {
77
- fill: ${t.nodeTextColor||t.textColor};
78
- color: ${t.nodeTextColor||t.textColor};
77
+ fill: ${e.nodeTextColor||e.textColor};
78
+ color: ${e.nodeTextColor||e.textColor};
79
79
  }
80
80
  .labelBkg {
81
- background-color: ${r??t.edgeLabelBackground};
81
+ background-color: ${r??e.edgeLabelBackground};
82
82
  }
83
83
 
84
- `},"getStyles"),bt=Et,lt={};Qt(lt,{draw:()=>Rt});var Rt=e(async function(t,d,f,m){a.info("REF0:"),a.info("Drawing requirement diagram (unified)",d);let{securityLevel:r,state:u,layout:N,look:x}=l(),k=m.db.getData(),q=he(d,r);k.type=m.type,k.layoutAlgorithm=ye(N),k.nodeSpacing=u?.nodeSpacing??50,k.rankSpacing=u?.rankSpacing??50,k.markers=x==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],k.diagramId=d,await ge(k,q);let V=8;M.insertTitle(q,"requirementDiagramTitleText",u?.titleTopMargin??25,m.db.getDiagramTitle()),le(q,V,"requirementDiagram",u?.useMaxWidth??!0)},"draw"),Mt={parser:ft,get db(){return new dt},renderer:lt,styles:bt};export{Mt as diagram};
84
+ `},"getStyles"),bt=Et,lt={};Kt(lt,{draw:()=>Rt});var Rt=t(async function(e,d,f,m){a.info("REF0:"),a.info("Drawing requirement diagram (unified)",d);let{securityLevel:r,state:u,layout:I,look:v}=l(),b=m.db.getData(),N=he(d,r);b.type=m.type,b.layoutAlgorithm=ye(I),b.nodeSpacing=u?.nodeSpacing??50,b.rankSpacing=u?.rankSpacing??50,b.markers=v==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],b.diagramId=d,await ge(b,N);let q=8;M.insertTitle(N,"requirementDiagramTitleText",u?.titleTopMargin??25,m.db.getDiagramTitle()),ue(N,q,"requirementDiagram",u?.useMaxWidth??!0)},"draw"),Mt={parser:ft,get db(){return new dt},renderer:lt,styles:bt};export{Mt as diagram};
@@ -0,0 +1 @@
1
+ import{Ai}from"./chunk-60axh4sa.js";export{Ai as createGitGraphServices};
package/web/index.html CHANGED
@@ -15,7 +15,7 @@
15
15
  <link rel="icon" href="./icon-1wgy7kzy.svg" type="image/svg+xml" />
16
16
  <link rel="apple-touch-icon" href="./apple-touch-icon-7dkm33qp.png" />
17
17
 
18
- <link rel="stylesheet" crossorigin href="./chunk-7xbaqqd7.css"><script type="module" crossorigin src="./chunk-rddft5ce.js"></script></head>
18
+ <link rel="stylesheet" crossorigin href="./chunk-5z2n4z9x.css"><script type="module" crossorigin src="./chunk-nvt9tkt4.js"></script></head>
19
19
  <body>
20
20
  <div id="root"></div>
21
21
 
package/worker.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{He,Tt,Xr,qt,_i,jo,Vo}from"./chunk-8gw5bvh3.js";var S="backfill";function c(t){return t.query("SELECT sum((SELECT max(seq) FROM store.entries WHERE session_id = sessions.id)) AS n FROM store.sessions").get()?.n??0}function k(t){let e=Xr(t,S);return e?JSON.parse(e):void 0}function y(t,e){qt(t,S,JSON.stringify(e))}class b{db;indexer;batch;todo;page;state;constructor(t,e,s=500){this.db=t;this.indexer=e;this.batch=s;this.todo=t.query("SELECT session_id FROM main.backfill_todo WHERE ord = ?"),this.page=t.query("SELECT seq, time, body FROM store.entries WHERE session_id = ? AND seq > ? ORDER BY seq LIMIT ?"),this.state=k(t)}get running(){return this.state?.state==="running"}begin(t){this.db.transaction(()=>{let e=this.db.query("SELECT max(id) AS id FROM store.search_queue").get()?.id??0;qt(this.db,"queue_done",e),this.db.run("DELETE FROM main.backfill_todo"),this.db.run("INSERT INTO main.backfill_todo (ord, session_id) SELECT row_number() OVER (ORDER BY updated DESC, id), id FROM store.sessions");let s=this.db.query("SELECT count(*) AS n FROM main.backfill_todo").get()?.n??0,r=c(this.db);this.state={state:s?"running":"done",reason:t,ord:1,seq:-1,total:r,sessionsTotal:s,done:0,sessionsDone:0,startedAt:Date.now()},y(this.db,this.state)})()}step(t){let e=this.state;if(e?.state!=="running")return!1;let s={...e};return this.db.transaction(()=>{let r=this.batch;while(r>0&&s.state==="running"){let n=this.todo.get(s.ord)?.session_id;if(n===void 0){s.state="done",this.db.run("DELETE FROM main.backfill_todo");break}if(s.seq<0)this.indexer.reindex(n,0),s.seq=0;let a=this.page.all(n,s.seq,r);for(let i of a)if(this.indexer.indexRow(n,i.seq,i.time,i.body),s.seq=i.seq,s.done++,r--,performance.now()>t){r=0;break}if(r>0)s.ord++,s.seq=-1,s.sessionsDone++;if(performance.now()>t)break}y(this.db,s)})(),this.state=s,!0}}var T=2000,M=30000;class E{options;db;layout;reset;indexer;backfill;terms;queueRows;queueMax;sliceMs;backfillSliceMs;queueBatch;termRefreshMs;queueDone;termCursor;termStale;lastTermRefresh=Number.NEGATIVE_INFINITY;rateStart;estimate;closed=!1;constructor(t){this.options=t;let e=_i(t.indexPath,t.storePath,t.features);if(this.db=e.db,this.layout=e.layout,this.reset=e.reset,this.sliceMs=t.sliceMs??20,this.backfillSliceMs=t.backfillSliceMs??200,this.queueBatch=t.queueBatch??200,this.termRefreshMs=t.termRefreshMs??60000,this.indexer=new jo(this.db,this.layout),this.terms=new Vo(this.db),this.backfill=new b(this.db,this.indexer,t.batch??500),this.queueRows=this.db.query("SELECT id, session_id, seq FROM store.search_queue WHERE id > ? ORDER BY id LIMIT ?"),this.queueMax=this.db.query("SELECT max(id) AS id FROM store.search_queue"),!this.backfill.state)this.backfill.begin(this.reset?"rebuild":"initial");this.queueDone=Number(Xr(this.db,"queue_done")??0),this.termStale=Number(Xr(this.db,"term_stale")??0)===1}step(t){if(this.closed)return!1;if(this.drainQueue(t??performance.now()+this.sliceMs))return!0;if(this.backfill.running){this.rateStart??={time:performance.now(),done:this.backfill.state?.done??0};let e=this.indexer.outChanges;if(this.backfill.step(t??performance.now()+this.backfillSliceMs),this.markTerms(e),!this.backfill.running)this.lastTermRefresh=Number.NEGATIVE_INFINITY;return!0}return this.refreshTerms(t??performance.now()+this.sliceMs)}drain(){while(this.step());}drainQueue(t){let e=!1;return this.db.transaction(()=>{let s=this.queueRows.all(this.queueDone,this.queueBatch);if(!s.length)return;e=!0;let r=this.indexer.outChanges,n=new Set,a=this.queueDone;for(let i of s){let h=`${i.seq}\x00${i.session_id}`;if(!n.has(h))n.add(h),this.indexer.reindex(i.session_id,i.seq);if(a=i.id,performance.now()>t)break}qt(this.db,"queue_done",a),this.markTerms(r),this.queueDone=a})(),e}markTerms(t){if(this.indexer.outChanges===t||this.termStale)return;this.termStale=!0,qt(this.db,"term_stale",1)}refreshTerms(t){if(this.termCursor===void 0){if(!this.termStale||performance.now()-this.lastTermRefresh<this.termRefreshMs)return!1;this.termCursor="",this.termStale=!1,this.indexer.outChanges=0,qt(this.db,"term_stale",0)}while(this.termCursor!==void 0&&performance.now()<=t){let e=this.termCursor;this.db.transaction(()=>{this.termCursor=this.terms.step(e,T)})()}if(this.termCursor===void 0)this.lastTermRefresh=performance.now();return!0}status(){let t=this.queueMax.get()?.id??this.queueDone,e=this.backfill.state,s;if(e?.state==="running"&&this.rateStart){let n=(performance.now()-this.rateStart.time)/1000,a=(e.done-this.rateStart.done)/n;if(n>0.5&&a>0)s=Math.max(0,Math.round(Math.max(0,e.total-e.done)/a))}let r=e?{state:e.state,reason:e.reason,total:e.total,done:e.done,sessionsTotal:e.sessionsTotal,sessionsDone:e.sessionsDone,startedAt:e.startedAt}:void 0;if(!this.estimate||performance.now()-this.estimate.time>M)this.estimate={time:performance.now(),entries:c(this.db)};return{queueDone:this.queueDone,lag:Math.max(0,t-this.queueDone),entries:this.estimate.entries,...r?{backfill:r}:{},...s!==void 0?{etaSec:s}:{},layout:this.layout,reset:this.reset}}withIndex(t){return t(this.db)}close(){if(this.closed)return;this.closed=!0,this.db.close()}}var g=1000,x=100;function R(t){let e,s,r,n=!1,a=!1,i=0,h=[],l=(u)=>t.postMessage(u),d=(u)=>{if(a)return;if(r)clearTimeout(r);r=setTimeout(q,u)},p=()=>{if(!s||Atomics.load(s,He)!==1)return;Atomics.store(s,Tt,1),Atomics.notify(s,Tt);while(Atomics.load(s,He)===1)Atomics.wait(s,He,1,1e4);Atomics.store(s,Tt,0)};function q(){if(r=void 0,a||!e)return;p();let u=!1;try{u=e.step()}catch(f){l({type:"error",message:f instanceof Error?f.message:String(f),fatal:!1}),n=!1,d(g);return}let o=performance.now();if(u){if(n=!0,o-i>=x)i=o,l({type:"status",status:e.status()});d(0);return}n=!1,i=o;let m=e.status();l({type:"status",status:m});for(let f of h.splice(0))l({type:"flushed",id:f,status:m});d(g)}t.onmessage=(u)=>{let o=u.data;if(o.type==="init"){s=new Int32Array(o.flags);try{e=new E(o.options)}catch(m){l({type:"error",message:m instanceof Error?m.message:String(m),fatal:!0});return}l({type:"status",status:e.status()}),d(0)}else if(o.type==="dirty"){if(!n)d(0)}else if(o.type==="pause")p();else if(o.type==="flush"){if(h.push(o.id),!n)d(0)}else if(o.type==="stop"){if(a=!0,r)clearTimeout(r);e?.close(),l({type:"stopped"})}}}if(!Bun.isMainThread)R(globalThis);export{E as SearchEngine};
2
+ import{He,Et,Yr,qt,xi,Ei,Zn,Pi,Ne,ki,Ke,Ri}from"./chunk-c71173py.js";var S="backfill";function c(e){return e.query("SELECT sum((SELECT max(seq) FROM store.entries WHERE session_id = sessions.id)) AS n FROM store.sessions").get()?.n??0}function q(e){let t=Yr(e,S);return t?JSON.parse(t):void 0}function g(e,t){qt(e,S,JSON.stringify(t))}class b{db;indexer;batch;todo;page;state;constructor(e,t,s=500){this.db=e;this.indexer=t;this.batch=s;this.todo=e.query("SELECT session_id FROM main.backfill_todo WHERE ord = ?"),this.page=e.query("SELECT seq, time, body FROM store.entries WHERE session_id = ? AND seq > ? ORDER BY seq LIMIT ?"),this.state=q(e)}get running(){return this.state?.state==="running"}begin(e){this.db.transaction(()=>{let t=this.db.query("SELECT max(id) AS id FROM store.search_queue").get()?.id??0;qt(this.db,"queue_done",t),this.db.run("DELETE FROM main.backfill_todo"),this.db.run("INSERT INTO main.backfill_todo (ord, session_id) SELECT row_number() OVER (ORDER BY updated DESC, id), id FROM store.sessions");let s=this.db.query("SELECT count(*) AS n FROM main.backfill_todo").get()?.n??0,r=c(this.db);this.state={state:s?"running":"done",reason:e,ord:1,seq:-1,total:r,sessionsTotal:s,done:0,sessionsDone:0,startedAt:Date.now()},g(this.db,this.state)})()}step(e){let t=this.state;if(t?.state!=="running")return!1;let s={...t};return this.db.transaction(()=>{let r=this.batch;while(r>0&&s.state==="running"){let n=this.todo.get(s.ord)?.session_id;if(n===void 0){s.state="done",this.db.run("DELETE FROM main.backfill_todo");break}if(s.seq<0)this.indexer.reindex(n,0),s.seq=0;let i=this.page.all(n,s.seq,r);for(let a of i)if(this.indexer.indexRow(n,a.seq,a.time,a.body),s.seq=a.seq,s.done++,r--,performance.now()>e){r=0;break}if(r>0)s.ord++,s.seq=-1,s.sessionsDone++;if(performance.now()>e)break}g(this.db,s)})(),this.state=s,!0}}function M(e,t){return BigInt.asIntN(64,Bun.hash.wyhash(`${e?"B":"M"}${t}`))}class p{db;layout;readEntry;readTitle;previousModel;selectRefs;deleteRefs;insertRef;findDoc;insertDoc;increment;decrement;docRefs;deleteDoc;insertMsg;insertOut;deleteMsg;deleteOut;stats={entries:0,fields:0,bytes:0,newDocs:0,newBytes:0};outChanges=0;constructor(e,t){this.db=e;this.layout=t;this.readEntry=e.query("SELECT time, body FROM store.entries WHERE session_id = ? AND seq = ?"),this.readTitle=e.query("SELECT title, created FROM store.sessions WHERE id = ?"),this.previousModel=e.query("SELECT json_extract(body, '$.model') AS model FROM store.entries WHERE session_id = ? AND seq < ? AND json_extract(body, '$.type') = 'assistant' ORDER BY seq DESC LIMIT 1"),this.selectRefs=e.query("SELECT doc FROM main.ref WHERE session_id = ? AND seq = ?"),this.deleteRefs=e.query("DELETE FROM main.ref WHERE session_id = ? AND seq = ?"),this.insertRef=e.query("INSERT INTO main.ref (session_id, seq, part, doc, kind, tool, err, model, time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"),this.findDoc=e.query("SELECT id FROM main.doc WHERE hash = ?"),this.insertDoc=e.query("INSERT INTO main.doc (hash, refs, len, bulk) VALUES (?, 1, ?, ?)"),this.increment=e.query("UPDATE main.doc SET refs = refs + 1 WHERE id = ?"),this.decrement=e.query("UPDATE main.doc SET refs = refs - 1 WHERE id = ?"),this.docRefs=e.query("SELECT refs, bulk FROM main.doc WHERE id = ?"),this.deleteDoc=e.query("DELETE FROM main.doc WHERE id = ?"),this.insertMsg=e.query("INSERT INTO main.fts (rowid, text) VALUES (?, ?)"),this.insertOut=e.query("INSERT INTO main.fts_out (rowid, text) VALUES (?, ?)"),this.deleteMsg=e.query("DELETE FROM main.fts WHERE rowid = ?"),this.deleteOut=e.query("DELETE FROM main.fts_out WHERE rowid = ?")}reindex(e,t){let s=0,r=[];if(t===0){let n=this.readTitle.get(e);if(n)s=n.created,r=Ri(n.title)}else{let n=this.readEntry.get(e,t);if(n)s=n.time,r=this.fields(e,t,n.body)}this.apply(e,t,s,r)}indexRow(e,t,s,r){this.apply(e,t,s,this.fields(e,t,r))}fields(e,t,s){let r;try{r=JSON.parse(s)}catch{return[]}if(!r||typeof r!=="object")return[];let n=Ke(r);if(r.type==="tool_result"&&n.length){let i=this.previousModel.get(e,t)?.model??void 0;if(i)for(let a of n)a.model=i}return n}apply(e,t,s,r){let n=this.selectRefs.all(e,t);if(n.length)this.deleteRefs.run(e,t);this.stats.entries++;for(let i of r){let a=ki(i.kind),l=M(a,i.text);this.stats.fields++,this.stats.bytes+=i.text.length;let o=this.findDoc.get(l)?.id;if(o===void 0){if(o=Number(this.insertDoc.run(l,i.text.length,a?1:0).lastInsertRowid),a)this.insertOut.run(o,Zn(i.text)),this.outChanges++;else this.insertMsg.run(o,this.layout.msg==="trigram"?Pi(i.text):Zn(i.text));this.stats.newDocs++,this.stats.newBytes+=i.text.length}else this.increment.run(o);this.insertRef.run(e,t,i.part,o,Ne[i.kind],i.tool??null,i.err?1:0,i.model??null,s)}for(let{doc:i}of n)this.release(i)}release(e){this.decrement.run(e);let t=this.docRefs.get(e);if(!t||t.refs>0)return;if(this.deleteDoc.run(e),t.bulk)this.deleteOut.run(e),this.outChanges++;else this.deleteMsg.run(e)}}class y{db;page;clearRange;clearTail;upsert;constructor(e){this.db=e;this.page=e.query("SELECT term, doc FROM main.fts_out_vocab WHERE term > ? ORDER BY term LIMIT ?"),this.clearRange=e.query("DELETE FROM main.term WHERE t > ? AND t <= ?"),this.clearTail=e.query("DELETE FROM main.term WHERE t > ?"),this.upsert=e.query("INSERT OR REPLACE INTO main.term (t, n) VALUES (?, ?)")}step(e,t){let s=this.page.all(e,t),r=s.at(-1)?.term;if(s.length<t||r===void 0)this.clearTail.run(e);else this.clearRange.run(e,r);for(let{term:n,doc:i}of s)if(n.length<=Ei)this.upsert.run(n,i);return s.length<t?void 0:r}}var w=2000,x=30000;class T{options;db;layout;reset;indexer;backfill;terms;queueRows;queueMax;sliceMs;backfillSliceMs;queueBatch;termRefreshMs;queueDone;termCursor;termStale;lastTermRefresh=Number.NEGATIVE_INFINITY;rateStart;estimate;closed=!1;constructor(e){this.options=e;let t=xi(e.indexPath,e.storePath,e.features);if(this.db=t.db,this.layout=t.layout,this.reset=t.reset,this.sliceMs=e.sliceMs??20,this.backfillSliceMs=e.backfillSliceMs??200,this.queueBatch=e.queueBatch??200,this.termRefreshMs=e.termRefreshMs??60000,this.indexer=new p(this.db,this.layout),this.terms=new y(this.db),this.backfill=new b(this.db,this.indexer,e.batch??500),this.queueRows=this.db.query("SELECT id, session_id, seq FROM store.search_queue WHERE id > ? ORDER BY id LIMIT ?"),this.queueMax=this.db.query("SELECT max(id) AS id FROM store.search_queue"),!this.backfill.state)this.backfill.begin(this.reset?"rebuild":"initial");this.queueDone=Number(Yr(this.db,"queue_done")??0),this.termStale=Number(Yr(this.db,"term_stale")??0)===1}step(e){if(this.closed)return!1;if(this.drainQueue(e??performance.now()+this.sliceMs))return!0;if(this.backfill.running){this.rateStart??={time:performance.now(),done:this.backfill.state?.done??0};let t=this.indexer.outChanges;if(this.backfill.step(e??performance.now()+this.backfillSliceMs),this.markTerms(t),!this.backfill.running)this.lastTermRefresh=Number.NEGATIVE_INFINITY;return!0}return this.refreshTerms(e??performance.now()+this.sliceMs)}drain(){while(this.step());}drainQueue(e){let t=!1;return this.db.transaction(()=>{let s=this.queueRows.all(this.queueDone,this.queueBatch);if(!s.length)return;t=!0;let r=this.indexer.outChanges,n=new Set,i=this.queueDone;for(let a of s){let l=`${a.seq}\x00${a.session_id}`;if(!n.has(l))n.add(l),this.indexer.reindex(a.session_id,a.seq);if(i=a.id,performance.now()>e)break}qt(this.db,"queue_done",i),this.markTerms(r),this.queueDone=i})(),t}markTerms(e){if(this.indexer.outChanges===e||this.termStale)return;this.termStale=!0,qt(this.db,"term_stale",1)}refreshTerms(e){if(this.termCursor===void 0){if(!this.termStale||performance.now()-this.lastTermRefresh<this.termRefreshMs)return!1;this.termCursor="",this.termStale=!1,this.indexer.outChanges=0,qt(this.db,"term_stale",0)}while(this.termCursor!==void 0&&performance.now()<=e){let t=this.termCursor;this.db.transaction(()=>{this.termCursor=this.terms.step(t,w)})()}if(this.termCursor===void 0)this.lastTermRefresh=performance.now();return!0}status(){let e=this.queueMax.get()?.id??this.queueDone,t=this.backfill.state,s;if(t?.state==="running"&&this.rateStart){let n=(performance.now()-this.rateStart.time)/1000,i=(t.done-this.rateStart.done)/n;if(n>0.5&&i>0)s=Math.max(0,Math.round(Math.max(0,t.total-t.done)/i))}let r=t?{state:t.state,reason:t.reason,total:t.total,done:t.done,sessionsTotal:t.sessionsTotal,sessionsDone:t.sessionsDone,startedAt:t.startedAt}:void 0;if(!this.estimate||performance.now()-this.estimate.time>x)this.estimate={time:performance.now(),entries:c(this.db)};return{queueDone:this.queueDone,lag:Math.max(0,e-this.queueDone),entries:this.estimate.entries,...r?{backfill:r}:{},...s!==void 0?{etaSec:s}:{},layout:this.layout,reset:this.reset}}withIndex(e){return e(this.db)}close(){if(this.closed)return;this.closed=!0,this.db.close()}}var R=1000,v=100;function D(e){let t,s,r,n=!1,i=!1,a=0,l=[],o=(d)=>e.postMessage(d),m=(d)=>{if(i)return;if(r)clearTimeout(r);r=setTimeout(k,d)},E=()=>{if(!s||Atomics.load(s,He)!==1)return;Atomics.store(s,Et,1),Atomics.notify(s,Et);while(Atomics.load(s,He)===1)Atomics.wait(s,He,1,1e4);Atomics.store(s,Et,0)};function k(){if(r=void 0,i||!t)return;E();let d=!1;try{d=t.step()}catch(f){o({type:"error",message:f instanceof Error?f.message:String(f),fatal:!1}),n=!1,m(R);return}let u=performance.now();if(d){if(n=!0,u-a>=v)a=u,o({type:"status",status:t.status()});m(0);return}n=!1,a=u;let h=t.status();o({type:"status",status:h});for(let f of l.splice(0))o({type:"flushed",id:f,status:h});m(R)}e.onmessage=(d)=>{let u=d.data;if(u.type==="init"){s=new Int32Array(u.flags);try{t=new T(u.options)}catch(h){o({type:"error",message:h instanceof Error?h.message:String(h),fatal:!0});return}o({type:"status",status:t.status()}),m(0)}else if(u.type==="dirty"){if(!n)m(0)}else if(u.type==="pause")E();else if(u.type==="flush"){if(l.push(u.id),!n)m(0)}else if(u.type==="stop"){if(i=!0,r)clearTimeout(r);t?.close(),o({type:"stopped"})}}}if(!Bun.isMainThread)D(globalThis);export{T as SearchEngine};